Brute-Forcing from Nmap output - Automatically attempts default creds on found services.
Clone or download
x90skysn3k Merge pull request #26 from belane/patch-1
Suppress medusa startup banner
Latest commit 56e0b07 Sep 19, 2018


Created by: Shane Young/@x90skysn3k && Jacob Robles/@shellfail

Inspired by: Leon Johnson/@sho-luv

Credit to Medusa: JoMo-Kun / Foofus Networks -

Version - 1.6.4



BruteSpray takes nmap GNMAP/XML output and automatically brute-forces services with default credentials using Medusa. BruteSpray can even find non-standard ports by using the -sV inside Nmap.


pip install -r requirements.txt

On Kali:

apt-get install brutespray


First do an nmap scan with -oG nmap.gnmap or -oX nmap.xml.

Command: python -h

Command: python --file nmap.gnmap

Command: python --file nmap.xml

Command: python --file nmap.xml -i


Using Custom Wordlists:

python --file nmap.gnmap -U /usr/share/wordlist/user.txt -P /usr/share/wordlist/pass.txt --threads 5 --hosts 5

Brute-Forcing Specific Services:

python --file nmap.gnmap --service ftp,ssh,telnet --threads 5 --hosts 5

Specific Credentials:

python --file nmap.gnmap -u admin -p password --threads 5 --hosts 5

Continue After Success:

python --file nmap.gnmap --threads 5 --hosts 5 -c

Use Nmap XML Output

python --file nmap.xml --threads 5 --hosts 5

Interactive Mode

python --file nmap.xml -i

Supported Services

  • ssh
  • ftp
  • telnet
  • vnc
  • mssql
  • mysql
  • postgresql
  • rsh
  • imap
  • nntp
  • pcanywhere
  • pop3
  • rexec
  • rlogin
  • smbnt
  • smtp
  • svn
  • vmauthd
  • snmp


Changelog notes are available at