Need help with metasploitHelper?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

204 Stars 77 Forks 229 Commits 4 Opened issues



Services available


Need anything else?

Contributors list

No Data

metasploitHelper (msfHelper)

Slides for Black Hat Asia 2017 :


metasploitHelper is meant to assist penetration testers in network penetration tests.

metasploitHelper (

) communicates with Metasploit via msrpc. It uses both port and web related exploits from Metasploit.

You can point msfHelper at an IP address/Nmap XML file/File containing list of Ip addresses.

First, it performs a Nmap scan of the target host(s) and then attempt to find compatible and possible Metasploit modules based on 1) nmap service banner and 2) service name and run them against the targets.

Please see the slides above for more information regarding the tool as well as the video demo.

It is also possible to use the

option in
along with msfconsole (load msgrpc Pass=xxx) if you would like to interact with the targets that msfHelper had compromised.

msfHelper by default only test ports which were found in metasploit modules. If you would like to scan all ports, please use the



  • The demo shows running msfHelper (exploit modules) against Metasploitable 2
    sudo python -a -t exploit


  • Building from Dockerfile
docker build -t metasploithelper .
docker run --rm -it milo2012/metasploithelper
python -a
  • Pull latest Docker image
docker pull milo2012/metasploithelper
docker run --rm -it milo2012/metasploithelper
python -a
  • To see help menu
docker pull milo2012/metasploithelper
docker run --rm -it milo2012/metasploithelper
python -h


On Kali Linux 2016.2 VM

$ apt-get install git-core -y
$ git clone
$ cd msfrpc && cd python-msfrpc && python install
$ pip install tabulate termcolor python-libnmap msgpack-python beautifulsoup4 termcolor requests
$ git clone
$ python x.x.x.x -i


[email protected]:/code# python -h
            [-m] [-a] [-n THREADS] [-u] [-q] [-gt GREATERTHAN] [--info] [-v]
            [-s] [-t CATEGORY] [-e {services,web,all,ports}]
            [target [target ...]]

            __ _   _      _

_ __ _ _ / | | | | __| |_ __ _ _ __ | '_ ` _ / __| || || |/ _ \ | '_ \ / _ \ '| | | | | | \ \ | _ | _/ | |) | __/ | || || ||_/| || ||__|| ./ \|| ||


positional arguments: target The target IP(s), range(s), CIDR(s), hostname(s), FQDN(s) or file(s) containg a list of targets

optional arguments: -h, --help show this help message and exit -P MYPASSWORD Password to connect to msfrpc -p PORTSINPUT Only scan specific TCP ports -o OUTPUTDIRECTORY Location to save portList.csv, pathList.csv, nmap scan results -i Intelligent mode (Match the Nmap service banner with the Metasploit modules -m, --manual Manually start up Msfconsole and 'load msgrpc Pass=xxxx' -a, --scanall Scan all 65535 TCP ports -n THREADS Set how many concurrent threads to use (default: 5) -u, --update Update Metasploit and metasploitHelper DB -q, --quick Performs a quick scan - Do not use modules where TARGETURI is set to / -gt GREATERTHAN Only scan TCP ports greater than x number --info Lookup information about ports online -v, --verbose Verbose mode -s, --showonly Show matching Metasploit modules but don't run -t CATEGORY Choose between 'exploit' or 'auxiliary'

Whether to run Metasploit 'services', 'ports', 'web' modules or 'exploitdb': Options for executing commands

-e {services,web,all,ports}, --exec-method {services,web,all,ports}

Sample Usage Examples

Use the intelligent mode and scan/test the target IP :

python -i

Specify the ports to be tested :

python -i -p 21,5432

Run metasploit modules that matches the port number/services/uri paths:

python -i -e ports
python -i -e services
python -i -e web

Scan and test all ports on target host :

python -i -a

Enable verbose mode (see output from Metasploit :

python -i -v

Run msfHelper and interact with the shells : ```

on the first terminal window

$ msfconsole $ load msgrpc Pass=xxxxx

on the second terminal window

python -i -m -P xxxxx ```

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.