主动信息收集
1.1 使用nmap进行端口扫描
namp -sS -Pn -A 192.168.118.134
得到目标信息
TCP空闲扫描,可以冒充网络上另一台主机的IP地址,对目标进行更为隐秘的扫描
#使用模块寻找能够满足TCP空闲扫描要求的空闲主机 msf > use auxiliary/scanner/ip/ipidseq msf > show options msf > set RHOSTS 192.168.118.0/24 msf > set THREADS 50 msf > run #对扫描结果进行分析,在nmap中使用-sI选项指定获取的空闲主机192.168.118.136对目标主机进行扫描 msf > nmap -PN -sI 192.168.118.136 192.168.118.134
1.2 在Metasploit 中使用数据库
以Metasploit默认的数据库PostgreSQL作为例子
# 使用集成在kali中的init.d脚本启动数据库子系统 /etc/init.d/postgresql start # 启动成功后让Metasploit框架连接到数据库上,其默认用户名是postgres,口令是toor,我们使用msf作为数据库名 msf > db_connect pstgres:toor@127.0.0.1/msf # 检查连接状态 msf > db_status
将nmap输出的结果导入Metasploit
#使用nmap生成XML报告文件 /home/output# nmap -sS -Pn -A -oX Subnet1.xml 192.168.118.0/24 #使用db_import命令将XML文件导入到数据库中 msf > db_import /home/output/Subnet1.xml #使用hosts命令核实导入的结果,返回了一个主机的IP地址列表,就证明我们已经成功的将nmap输出导入到了Metesploit中 msf > hosts -c address
1.3 在MSF终端中运行nmap
#连接到msf数据库 msf > db_connect postgres:toor@127.0.0.1/msf #输入db_nmap命令,在msf终端中运行nmap,并自动将结果存储在数据库中 msf > db_nmap -sS -A 192.168.118.134
#可以使用services命令来查看数据库中关于系统上运行服务的扫描结果 msf > services =u
1.4 使用metasploit进行端口扫描
# 查看端口扫描工具 msf > search portscan #使用SYN端口扫描器对单个主机进行一次简单的扫描 msf > use auxiliary/scannet/portscan/sys msf > set RHOSTS 192.168.118.134 msf > set THREADS 50 msf > run
1.5针对性扫描
#服务器消息块协议扫描 #可以用smb_version模块来遍历一个网络,并获取windows系统的版本号 msf > use auxiliary/scanner/smb/smb_version #可以用hosts命令查看数据库中保存的结果 msf > hosts -u -c address,os_name,svcs,vulns.workspace #搜索配置不当的MS SQL #使用mssql_ping模块扫描,可以定位mssql服务器地址,实例名,服务器的版本号以及服务器监听的TCP端口 msf > use auxiliary/scanner/mssql/mssql_ping #SSH服务扫描 msf > use auxiliary/scanner/ssh/ssh_version #FTP扫描 msf > use auxiliary/scanner/ftp/ftp_version #若扫描出FTP服务器,可以用模块检查是否允许匿名用户登录 msf > use auxiliary/scanner/ftp/anonymous #简单网管协议(SNMP)扫描 msf > use auxiliary/scanner/snmp/snmp_login