目录
一,什么是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 //
查看漏洞信息