在进行信息收集的时候,我们既要全面详细的获取目标的信息,又要尽量隐藏自己不被发现。Metasploit作为一个非常全面的渗透工具,用来收集信息也非常好用。本文会详细的介绍如何利用Metasploit进行信息收集。
信息收集分为主动和被动两种方式。
被动信息收集
被动信息收集是指在不直接接触没目标系统的情况下寻找信息。比如,通过搜索引擎等方式可以获得目标的操作系统,开放的端口,web服务器软件等信息。
主动信息收集
主动信息收集中,我们可以直接和系统交互,从而获得更多的信息。比如通过扫描目标系统开放的端口来确定对方开放的服务。每一个开放的服务都可能给我们提供了入侵的机会。需要注意的是,主动的信息收集很可能被IDS和IPS抓住踪迹。
启动msfconsole
首先启动数据库
service postgresql start
启动msfsploit服务
service metasploit start
启动msfconsole
msfconsole
使用db_status确认数据库是否正确连接
将nmap的扫描结果导入到Metasploit
当一个团队同时做事的时候,会有针对不同目标,不同时间的扫描结果。这时候知道如何把xml格式的nmap结果导入到metasploit框架里有助于高效的工作。
首先,使用-oX参数扫描我们的windows虚拟机,生成扫描结果的xml格式文件。
#nmap -Pn -sS -A -oX Target 192.168.20.0/24
使用db_import命令导入扫描结果到数据库中。使用hosts命令查看刚刚 导入的数据。
msf > db_import Subnet1.xml
msf> hosts
从MSFconsole中启动nmap
在msfconsole中使用db_nmap命令启动扫描,可以将结果自动存储在数据库中。
#msf > db_nmap -sS -A 172.16.32.131
使用db_services命令查看存储在数据库中的扫描结果。
#msf > db_services
使用metasploit自带的端口扫描器
metasploit自带了多个端口扫描器,我们也可以利用这些端口扫描器来寻找目标。查看端口扫描器列表可以使用search命令。
#msf > search portscan
我们来使用SYN端口扫描器进行一次简单的扫描练习一下,使用 scanner/portscan/syn,设置RHOSTS为192.168.20.0/24,设置线程THREADS为100,然后使用run命令开始扫描。
#msf > use scanner/portscan/syn
Server Message Block Scanning
metasploit可以通过smb_version模块来尝试识别windows的版本。
#msf > use scanner/smb/smb_version
扫描结果会存储在metasploit的数据库中,使用hosts命令可以查看。
#msf auxiliary(smb_version) > hosts
收集MS SQL server信息
很多系统管理员自己都没有意识到自己的服务器上可能已经安装了MS SQLserver。因为安装一些软件需要预装数据库,比如Miscrosoft Visual Studio。默认MS SQL server会监听1433端口或者一个随机的TCP端口。如果监听的是随机端口的话,可以通过UDP在1434端口查询具体监听的是哪个端口。
metasploit有一个模块可以自动实现这些事情。叫做mssql_ping。
#msf > use scanner/mssql/mssql_ping
msf auxiliary(mssql_ping) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(mssql_ping) > set THREADS 255
THREADS => 255
msf auxiliary(mssql_ping) > run
如上图所示,metasploit除了可以获得监听的端口,还可以获得实例的名字,服务器版本。
获取SSH版本信息
ssh是一种安全协议,有很多ssh的实现都被发现过漏洞。所以我们需要先识别ssh使用的软件版本。采用ssh_version模块。
msf > use scanner/ssh/ssh_version
扫描FTP版本
FTP服务器通常都是一个网络中最薄弱的地方,一定要仔细的扫描目标网络中的FTP服务器。可以使用ftp_version模块来寻找目标网络中的FTP server。
我们幸运的找到了一台FTP服务器,现在试试能不能匿名登陆。使用scanner/ftp/anonymous模块。扫描器结果显示,可以匿名登陆,但是只有读的权限。
使用metasploit进行信息收集主要的方法就是上文所述了,接下来可以开始开始利用metasploit进行漏洞扫描和利用。