1. 介绍
Metasploit为渗透测试人员提供了大量友好、容易使用的工具。Metasploit最初有HD Moore创建,后来被Nexpose漏洞扫描器的Radid7公司收购。在渗透测试过程中,可以手工完成的一些工作都可以通过Metasploit来做。
Metasploit需要经常地更新,已维护最新的攻击库。可以每周运行以下命令更新Metasploit。
# msfupdate
2. Metasploit与数据库postgresql
2.1 postgresql数据库
Metasploit可以将执行的结果导入的数据库中,默认使用postgresql数据库。使用service postgresql start
启动postgresql服务,然后通过命令su postgres -c psql
可以做一些配置。如果要更改默认的用户名的密码,可以使用以下语句:
ALTER USER postgres WITH PASSWORD 'myPassword';
这里会将默认用户postgres的密码改为myPassword。使用\q退出控制台。
没有返回ALTER ROLE,并没有存在postgres用户,这是我们可以自己穿件一个用户,并创建我们需要的数据库。
CREATE USER msfuser WITH PASSWORD 'msfpass';
CREATE DATABASE pentester;
2.2 确认数据库的连接状态
启动Metasploit控制端,终端下输入msfconsole
,启动后的界面如下:
在msf>提示符下输入:
“`msf> db_connect msfuser:msfpass@127.0.0.1/pentester
msf> db_status
通过输入host命令,查看连接信息。第一次连接msf会自动创建一些表。
2.3 在Metasploit里调用nmap扫描
在执行hosts命令时,为了获得输出信息,可以使用Nmap进行快速扫描收集数据。在msfconsole启动,并且和数据库已经连接的情况下,我们可以在Metasploit中直接进行Nmap扫描。扫描到的结果会自动被添加到数据库中,一边以后检索。
db_nmap -nO -sTU -pT:22,80,443,139,111,U:111,137 222.31.76.240
现在可以运行hosts命令,就可以看到目标系统已经添加到postgresql数据库中了。还可以使用各种检索的技巧获得需要的信息以节约时间,比如要查找哪些系统开放了22端口,可以使用services -p 22
。