目录
一,什么是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_enumusersSMB登录auxiliary/scanner/smb/smb_login扫描组的用户auxiliary/scanner/smb/smb_lookupsid扫描系统版本auxiliary/scanner/smb/smb_version
模块利用
use auxiliary/scanner/smb/smb_versionshow optionsset RHOSTS 192.168.1.111rundb_hosts –c address,os_flavor
6.MSSQL服务扫描
MSSQL登陆工具scanner/mssql/mssql_login测试MSSQL的存在和信息scanner/mssql/mssql_ping
模块利用
msf> use auxiliary/scanner/mssql/mssql_pingshow optionsset RHOSTS 192.168.1.0/24set THREADS 255run
7.FTP扫描
ftp版本扫描scanner/ftp/ftp_versionftp匿名登录扫描scanner/ftp/anonymous
模块利用use auxiliary/scanner/ftp/ftp_versionshow optionsset RHOSTS 192.168.1.0/24set THREADS 255run
8.SMTP扫描
smtp 枚举auxiliary/scanner/smtp/smtp_enum扫描 smtp 版本auxiliary/scanner/smtp/smtp_version
9.SNMP扫描
模块利用msf> use auxiliary/scanner/snmp/snmp_loginset RHOSTS 192.168.1.0/24set THREADS 50run
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/synset RHOSTS 10.10.10.10set THREADS 20run
11.wmap
msf > wmap_sites -a http://202.112.50.74 // 添加要扫描的网站msf > wmap_sites -lmsf > wmap_targets -t http://202.112.20.74 // 把添加的网站作为扫描目标msf > wmap_run -t // 查看那些模块将在扫描中使用msf > wmap_run -e // 开始扫描msf > vulns // 查看漏洞信息