目录
一,什么是MSF
二,MSF框架机构
三,MSF配置数据库
1.开启数据库
2.初始化数据库
编辑 3.启动数据库
4.查看数据库
四,内网主机发现
五,MSF模块
auxiliary
1.模块搜索
2.模块使用
六,MSF服务扫描
1.什么是msf服务扫描
在辅助模块中
2.Telnet服务扫描
3. SSH服务扫描
模块使用
4.Oracle数据库扫描
5.SMB服务扫描
6.MSSQL服务扫描
7.FTP扫描
8.SMTP扫描
9.SNMP扫描
10.MSF端口扫描
11.wmap
一,什么是MSF
The Metasploit Framework 的简称。 MSF 高度模块化,即框架由多个 module 组 成,是全球最受欢迎的渗透测试工具之一 是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的 shellcode ,并持续保持更新。 metasploit 涵盖了渗透测试全过程,可以在这个框架下利用现有的 Payload 进行一系列的渗透测试
二,MSF框架机构
Kali-metasploit目录路径
/usr/share/metasploit-framework
三,MSF配置数据库
1.开启数据库
service postgresql start
2.初始化数据库
msfdb init
数据库配置: 用户名:msf 创建数据库:msf 创建数据库: msf_test 创建配置文件: /usr/share/metasploit-framework/config/database.yml
3.启动数据库
msfconsole
Msfconsole 是 Metasploit 框架用户接口,我们能通过 Msfconsole 接口使用 Metasploit 中所有模块 启动 msfconsole 时,MSF会使用创建的 msf 用户自动登录到 msf 数据库
备注:换msf图案输入banner例如:
4.查看数据库
msf6 > db_status
连接到其他数据库 msf5 > db_connect 用户名:口令@服务器地址:端口/数据库名称
四,内网主机发现
dp-name该命令是 Nmap 的一个封装,与 Nmap 使用方法一样,其执行结果会自动输入到数据库当中
mdf5 > db_nmap -Pn -sV 10.10.10.0/24
以将Nmap扫描结果导出为一个输出文件,而且要导入渗透测试数据库中,只要在Nmap命令中加入-oX参数
nmap -Pn -sV -oX dmz 10.10.10.0/24
生成文件命令 msf5 > db_import /root/dmz
五,MSF模块
auxiliary
1.模块搜索
search aux /scanner/discovery
2.模块使用
use auxiliary/scanner/discovery/arp_sweep 使用模块
set RHOSTS 10.10.10.0/24 选择目标主机
set THREADS 50 开启线程
run 开启扫描
六,MSF服务扫描
1.什么是msf服务扫描
确定开放端口后,对相应端口上所运行的服务信息进行挖掘
- 在辅助模块中
[service_name]_version 和 [service_name]_login 命名
[service_name]_version :可用于遍历网络中包含了某种服务的主机,并进
一步确定服务的版本
[service_name]_login :可对某种服务进行口令探测攻击
查探search _version //所有可用的服务探测模块
search _login //查看所有服务登录口令探测模块
2.Telnet服务扫描
search scanner/telnet
auxiliary/scanner/telnet/telnet_login //telent登录
use auxiliary/scanner/telnet/telnet_version
set RHOSTS xxxx/24
set THREADS 100
run/exploit
3. SSH服务扫描
- ssh登录auxiliary/scanner/ssh/ssh_login
- ssh公共密钥认证登录auxiliary/scanner/ssh/ssh_login_pubkey
3.auxiliary/scanner/ssh/ssh_version 扫描ssh版本
模块使用
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 10.10.10.1/24
set THREADS 100
run
4.Oracle数据库扫描
模块利用 方法同上 msf6 > search scanner/oracle use auxiliary/scanner/oracle/tnslsnr_version set RHOSTS xx.xx.xx.xx/24 set THREADS 50 run
5.SMB服务扫描
SMB枚举 auxiliary/scanner/smb/smb_enumusers 返回DCERPC信息 auxiliary/scanner/smb/pipe_dcerpc_auditor 扫描SMB2协议 auxiliary/scanner/smb/smb2 扫描smb共享文件 auxiliary/scanner/smb/smb_enumshares 枚举系统上的用户 auxiliary/scanner/smb/smb_enumusers SMB登录 auxiliary/scanner/smb/smb_login 扫描组的用户 auxiliary/scanner/smb/smb_lookupsid 扫描系统版本 auxiliary/scanner/smb/smb_version
模块利用 use auxiliary/scanner/smb/smb_version show options set RHOSTS 192.168.1.111 run db_hosts –c address,os_flavor
6.MSSQL服务扫描
MSSQL登陆工具 scanner/mssql/mssql_login 测试MSSQL的存在和信息 scanner/mssql/mssql_ping
模块利用 msf> use auxiliary/scanner/mssql/mssql_ping show options set RHOSTS 192.168.1.0/24 set THREADS 255 run
7.FTP扫描
ftp版本扫描 scanner/ftp/ftp_version ftp匿名登录扫描 scanner/ftp/anonymous
模块利用 use auxiliary/scanner/ftp/ftp_version show options set RHOSTS 192.168.1.0/24 set THREADS 255 run
8.SMTP扫描
smtp 枚举 auxiliary/scanner/smtp/smtp_enum 扫描 smtp 版本 auxiliary/scanner/smtp/smtp_version
9.SNMP扫描
模块利用 msf> use auxiliary/scanner/snmp/snmp_login set RHOSTS 192.168.1.0/24 set THREADS 50 run
10.MSF端口扫描
模块搜索 auxiliary/scanner/protscan/ack // 通过 ACK 扫描的方式对防火墙上未被屏蔽的端口进行探测 auxiliary/scanner/protscan/ftpbounce // 通过 FTP bounce 攻击的原理对 TCP 服务进行枚举,一些新的 FTP 服务器软件能很好的防范此攻击,但在旧的系统上仍可以被利用 auxiliary/scanner/protscan/syn //使用发送 TCP SYN 标志的方式探测开放端口 auxiliary/scanner/protscan/tcp // 通过一次完整的 TCP 连接来判断端口是否开放 最准确但是最慢 auxiliary/scanner/protscan/xmas // 一种更为隐秘的扫描方式,通过发送 FIN , PSH , URG 标志,能够躲避一些高级的TCP标记检测器的过滤
模块利用 use auxiliary/scanner/protscan/syn set RHOSTS 10.10.10.10 set THREADS 20 run
11.wmap
Web应用辅助扫描,漏洞查找等模块基本都在 modules/auxiliary/ 下, Metasploit内置了wmap WEB扫描器 要先创建一个数据库用来存放扫描数据,初始化wmap
msf > wmap_sites -a http://202.112.50.74 // 添加要扫描的网站 msf > wmap_sites -l msf > wmap_targets -t http://202.112.20.74 // 把添加的网站作为扫描 目标 msf > wmap_run -t // 查看那些模块将在扫描中使用 msf > wmap_run -e // 开始扫描 msf > vulns // 查看漏洞信息