Skip to content

Python 3.5+ DNS asynchronous brute force utility

Notifications You must be signed in to change notification settings

exploit-inters/aiodnsbrute

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Async DNS Brute

A Python 3.5+ script that uses asyncio to brute force domain names asynchronously.

aiodnsbrute screenshot

Speed

It's fast. Benchmarks on small VPS hosts put around 100k DNS resoultions at 1.5-2mins. An amazon M3 box was used to make 1 mil requests in just over 3 minutes. Your mileage may vary. It's probably best to avoid using Google's resolvers if you're purely interested in speed.

Todo

Right now the script just uses the system's DNS resolvers. I'll be adding a feature to read in a list of resolvers from a text file.

Installation

If you don't use pipsi, you're missing out. Here are installation instructions.

Easy Install

python3 -m pip install asyncio aiodns click uvloop

Debian/Kali/Ubuntu

The following should get you up and running.

$ sudo apt-get install python3-pip
$ sudo pip3 install virtualenv
$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python3

NOTE: pipsi installs each package into ~/.local/venvs/PKGNAME and then symlinks all new scripts into ~/.local/bin so add ~/.local/bin to your .bashrc and then source .bashrc

$ git clone https://github.com/blark/aiodnsbrute.git
$ cd aiodnsbrute
$ pipsi install .

Usage

Get help with:

$ aiodnsbrute --help

Usage: aiodnsbrute [OPTIONS] DOMAIN

  Brute force DNS domain names asynchronously

Options:
  -w, --wordlist TEXT      Wordlist to use for brute force.
  -t, --max-tasks INTEGER  Maximum number of tasks to run asynchronosly.
  -v, --verbosity          Turn on/increase output.
  --help                   Show this message and exit.

Run a brute force with some custom options:

$ aiodnsbrute -w wordlist.txt -vv -t 1024 domain.com

note you might want to do a ulimit -n to see how many open files are allowed. You can also increase that number using the same command, i.e. ulimit -n <2048>

About

Python 3.5+ DNS asynchronous brute force utility

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%