DNS Recon | Brute Forcer | DNS Zone Transfer | DNS Wild Card Checks | DNS Wild Card Brute Forcer | Email Enumeration | Staff Enumeration | Compromised Account Checking
Branch: master
Clone or download
darryllane Merge pull request #22 from nuschpl/master
Fix for 'UnboundLocalError: local variable 'user_names' referenced be…
Latest commit 0e11ea0 Nov 18, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Bluto.egg-info Update Oct 1, 2018
Bluto Fix for 'UnboundLocalError: local variable 'user_names' referenced be… Nov 18, 2018
.gitignore ignore python compiled bytecode Nov 18, 2018
LICENSE.txt Initial Jul 8, 2016
MANIFEST.in Modification Oct 3, 2016
README.md Changelog update Jul 20, 2018
setup.py Update Oct 1, 2018

README.md

BLUTO

DNS Recon | Brute Forcer | DNS Zone Transfer | DNS Wild Card Checks | DNS Wild Card Brute Forcer | Email Enumeration | Staff Enumeration | Compromised Account Enumeration | MetaData Harvesting

Author: Darryl Lane | Twitter: @darryllane101

https://github.com/darryllane/Bluto

Like Bluto?

Give us a vote: https://n0where.net/dns-analysis-tool-bluto/

Bluto has gone through a large code base change and various feature additions have been added since its first day on the job. Now that RandomStorm has been consumed and no longer exists, I felt it time to move the repo to a new location. So from this git push onwards Bluto will live here. I hope you enjoy the new Bluto.

The target domain is queried for MX and NS records. Sub-domains are passively gathered via NetCraft. The target domain NS records are each queried for potential Zone Transfers. If none of them gives up their spinach, Bluto will attempt to identify if SubDomain Wild Cards are being used. If they are not Bluto will brute force subdomains using parallel sub processing on the top 20000 of the 'The Alexa Top 1 Million subdomains' If Wild Cards are in place, Bluto will still Brute Force SubDomains but using a different technique which takes roughly 4 x longer. NetCraft results are then presented individually and are then compared to the brute force results, any duplications are removed and particularly interesting results are highlighted.

Bluto now does email address enumeration based on the target domain, currently using Bing and Google search engines plus gathering data from the Email Hunter service and LinkedIn. https://haveibeenpwned.com/ is then used to identify if any email addresses have been compromised. Previously Bluto produced a 'Evidence Report' on the screen, this has now been moved off screen and into an HTML report.

Search engine queries are configured in such a way to use a random User Agent: on each request and does a country look up to select the fastest Google server in relation to your egress address. Each request closes the connection in an attempt to further avoid captchas, however exsesive lookups will result in captchas (Bluto will warn you if any are identified).

Bluto requires various other dependencies. So to make things as easy as possible, pip is used for the installation. This does mean you will need to have pip installed prior to attempting the Bluto install.

Bluto now takes command line arguments at launch, the new options are as follows;

-e		This uses a very large subdomain list for bruting.
-api	You can supply your email hunter api key here to gather a considerably larger amount of email addresses.
-d		Used to specify the target domain on the commandline.
-t		Used to set a timeout value in seconds. Default is 10

Examples: (feel free to use this EmailHunter API Key until it is removed)

bluto -api 2b0ab19df982a783877a6b59b982fdba4b6c3669
bluto -e
bluto -api 2b0ab19df982a783877a6b59b982fdba4b6c3669 -e
bluto -d example.com -api 2b0ab19df982a783877a6b59b982fdba4b6c3669 -e

Pip Install Instructions

Note: To test if pip is already installed execute.

pip -V

(1) Mac and Kali users can simply use the following command to download and install pip.

curl https://bootstrap.pypa.io/get-pip.py -o - | python

Bluto Install Instructions

(1) Once pip has successfully downloaded and installed, we can install Bluto:

sudo pip install bluto

(2) You should now be able to execute 'bluto' from any working directory in any terminal.

bluto

Upgrade Instructions

(1) The upgrade process is as simple as;

sudo pip install bluto --upgrade

Install From Dev Branch

(1) To install from the latest development branch (maybe unstable);

sudo pip uninstall bluto

sudo pip install git+git://github.com/darryllane/Bluto@dev

Change/Feature Requests

  • MetaData Scraping From Document Hunt On Target Domain
  • Target Domain Parsed As Argument
  • Identification Of Web Portals
  • Active Document Hunting

Changelog

  • Version 2.4.7 (20/07/2018):

    • GeoIP lookup refactor
  • Version 2.3.10 (13/01/2017):

    • BugFixes
  • Version 2.3.6 (14/08/2016):

    • BugFixes
    • Timeout value can be parsed as argument (-t 5)
  • Version 2.3.2 (02/08/2016):

    • MetaData Scraping From Document Hunt On Target Domain
    • Target Domain Parsed As Argument
  • Version 2.0.1 (22/07/2016):

    • Compromised Account Data Prensented In Terminal And HTML Report
  • Version 2.0.0 (19/07/2016):

    • Pushed Live 2.0
  • Version 1.9.9 (09/07/2016):

    • Email Hunter API Support Added.
    • Haveibeenpwned API Support Added.
    • HTML Evidence Report Added.
    • Modulated Code Base.
    • Local Error Logging.

Help Section

This section contains helpful snippets.

Check version of openssl being used by python

python
import ssl
ssl.OPENSSL_VERSION`

Output

>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2j  26 Sep 2016'
>>>