01.Metasploit数据库配置及扫描模块介绍
信息收集
信息收集是渗透测试中首先要做的重要事项之一,目的是尽可能多的查找关于目标的信息,我们掌握的信息越多,渗透成功的机会越大。在信息收集阶段,我们主要任务是收集关于目标机器的一切信息,比如IP地址,开放的服务,开放的端口。
收集信息的三种方式:
- 被动信息收集:指在不物理连接或访问目标的时候,需要使用其他信息来源获得目标信息。比如查询whois信息。
- 主动信息收集(最常用):指与目标建立逻辑连接获取信息。探测目标开放的端口和服务。在端口扫描中,使用最常用的主动扫描技术,探测目标开放的端口和服务。
- 社会工程学:类似于被动信息收集,主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露。
Metasploit数据库的使用
Metasploit终端下PostgresQL数据库的使用
Metasploit内置了对PostgresQL数据库系统的支持。该系统可以快速方便地访问扫描信息,并使我们能够导入和导出各种第三方工具的扫描结果。我们也可以使用这些信息来快速配置模块选项。
1.启动数据库service postgresql start
2.初始化数据库msfdb init(默认创建的数据库名:msfmsf_test;用户名:msf,默认口令为空)
3.打开msf终端,确认是否成功连接数据库db_status
4.创建工作区Workspace –h
5.扫描主机db_nmap –A 10.1.1.101 -A参数,综合扫描。比较慢,不推荐
6.查看所有扫描的主机Hosts
7以xml格式导出扫描信息db export -f xml /root/Exported.xml
02 .Metasploit扫描模块
使用Nmap方式进行端口扫描
db_nmap与nmap的比较
db_nmap命令是msfconsole中一部分,只需启动msfconsole就可使用。扫描结果直接存储到Metasploit数据库中,不再需要db_import进行导入。
Nmap: -ox参数扫描主机以xml格式导出报告文件。再用db_import导入到metasploit数据库中。
1、db_nmap -O或-A 识别操作系统类型
2、db_nmap –Sv 开放端口的服务版本检测
3、db_nmap -sT/-sS/-sU 目标地址-p端口范围(TCP连接扫描、SYN半开放扫描和UDP扫描)
注:当未指定端口范围的时候,nmap默认扫描常见的1000个端口。
-sT:最基本的描技术,会与目标建立完整的TCP连接。它使用操作系统网络功能建立连接,扫描程序向目标发送SYN数据包,如果端口开放,目标会返回ACK消息。然后扫描程序向目标发送ACK报文,成功建立连接,这就是所谓的三次握手过程。
缺点:容易被防火墙和IDS检测到。效率低,速度慢。
sS:又称为半开放扫描,它不会建立一次完整的TCP三次握手过程,执行效率高。
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行
-Su:这种技术是针对UDP端口的,它不需要发送任何的SYN包。UDP扫描发送UDP数据包到目标主机,并等待响应,如果目标端口关闭,则扫描程序会收到ICMP端口不可达的消息。如果没有消息,扫描器会认为端口是开放的。由于防火墙会阻止数据包,此方法会返回错误结果,因此不会生成响应消息,扫描器会报告端口为打开状态。
缺点:速度慢
使用Metasploit自带的端口扫描器
请遵守当地法律法规,请勿直接扫描互联网设备
查看各种端口扫描模块
msf>search portscan
auxiliary/scanner/protscan/ack auxiliary/scanner/protscan/ftpbounce auxiliary/scanner/protscan/synauxiliary/scanner/protscan/tcp
auxiliary/scanner/protscan/xmas
示范:tcp扫描器的使用
>use auxiliary/scanner/protscan/tcp
>set RHOSTS 10.1.1.101
>set THREADS20
> >Run
很多情况下,我们为了下一步高效的攻击,必须要明确靶机的操作系统,这通常会用到SMB的版本扫描,metasploit中就有相应的扫描器。
smb服务扫描
>msf> use auxiliary/scanner/smb/smb_version
>show options
>set RHOSTS 10.1.1.101A
>run
SSH服务扫描
>use auxiliary/scanner/ssh/ssh_version
Telnet服务扫描
>use auxiliary/scanner/telnet/telnet_version Oracle
数据库服务查点
>use auxiliary/scanner/oracle/tnslsnr_version
FTP主机扫描
>use auxiliary/scanner/ftp/ftp_version
Metasploit中的一个扫描神器-WMAP
WMAP是一款多功能web漏洞扫描器.它可以一次运用多个模块进行网站扫描,并将结果保存在数据库中,十分方便。
初始化wmap插件
msf>load wmap
msf>help
命令描述
wmap_modules 管理wmap模块
wmap_nodes 管理结点
wmap_run 执行扫描
wmap_sites 管理站点
wmap_targets 管理目标
wmap_vulns 显示扫描到的漏洞
使用wmap扫描
msf>wmap_sites -a http://10.1.1.101 添加扫描站点
msf>wmap_sites -l 列出所有已添加站点
msf>wmap_targets -t http://10.1.1.101/dvwa/index.php添加目标url
msf>wmap_targets -l 列出所有目标
msf>wmap_run -t 列出扫描中要用的模块
msf>wmap_run -e 对所有匹配的目标启用配置中的模块进行扫描
msf>wmap_vulns -l 列出扫描结果
msf>vulns 查看找到的漏洞详细信息