This MetaSploit tutorial for beginners is to be a starting guide for how to use MetaSploit. It assumes that you already have MetaSploit installed, or that you are running Kali / backtrack Linux.
Kali Metasploit Guide
The basic concept of how to use MetaSploit:
– Run msfconsole
– Identify a remote host
– Pick a vulnerability and use an exploit
– Configure the exploit
– Execute the payload against the remote host
Once you have mastered this pattern, you can do most things within Metasploit. As this is a MetaSploit tutorial for beginners, I’ll walk you through the steps.
In Kali Linux Terminal:
service postgreqsl start # if this is the first time you are running metasploit, run the following: msfdb init # start metasploit msfconsole
or using the menus:
Exploitation tools > Metasploit
You will meet with the following:
This is msfconsole. Msfconsole is the main interface to MetaSploit. There are GUI interfaces (armitage), and a web interface too (websploit). With msfconsole, you can launch exploits, create listeners, configure payloads etc.
MetaSploit has lots of great documentation built in. Type help to get a basic list of commands.
Will give you the help section for the show command.
Will give you the help section for the search command.
If you get the error ‘Database not connected or cache not built’ use ‘db_status’ to see if the database connected. if not, start the postgresql database (instructions above) and re-start msfconsole. If ‘db_status’ reports ‘connected’ then run the ‘db_rebuild_cache’ command to rebuild your database cache.
#rebuild the caches db_rebuild_cache
You can run nmap inside msfconsole and save its output into the MetaSploit database.
db_nmap -v -sV host_or_network_to_scan[eg 192.168.0.0/24]
This is a handy way to get an initial list of hosts on your network. I have some other tips in this linux commands for networking article
To show a list of all available port scanners:
More examples of port-scanning into the MetaSploit database are here:
To list all the hosts found by nmap:
To add these hosts to your list of remote targets
Once you know what your remote hosts system is (nmap, lynix, maltego, wp-scan, etc) you can pick an exploit to test. rapid7 have an easy way to find exploits. There is also a way to search within msfconsole for various exploits:
search type:exploit search CVE-XXXX-XXXX search cve:2014 search name:wordpress
See metasploit unleashed for more examples of the search command
Once you have decided on an exploit to use, issue the following command into msfconsole:
eg: use exploit/unix/webapp/php_wordpress_total_cache
From this point on, the available options change based on the exploit you are using, but you can get a list of the available options with:
For a list of the available targets:
In MetaSploit each exploit has a set of options to configure for your remote host:
This gives a list. You need to set the options with ‘yes’ next to them.
set RHOST 192.168.0.15
If you issues the ‘hosts -R’ command then you will see that the remote hosts parameters are already filled in for you.
If successful, you’ll know. If not, then try again with a different exploit ;)