opencode-skills-collection 4.0.43 → 4.0.44
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.
- package/bundled-skills/.antigravity-install-manifest.json +47 -1
- package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
- package/bundled-skills/api-security/SKILL.md +205 -0
- package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
- package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
- package/bundled-skills/apk-reverse/SKILL.md +438 -0
- package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
- package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
- package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
- package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
- package/bundled-skills/attack-chain/SKILL.md +185 -0
- package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
- package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
- package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
- package/bundled-skills/attack-chain/references/phases.md +490 -0
- package/bundled-skills/binary-diff/SKILL.md +320 -0
- package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
- package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
- package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
- package/bundled-skills/case-review/SKILL.md +167 -0
- package/bundled-skills/cloud-k8s/SKILL.md +124 -0
- package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
- package/bundled-skills/code-audit/SKILL.md +92 -0
- package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
- package/bundled-skills/database-security/SKILL.md +81 -0
- package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
- package/bundled-skills/diagram-generator/SKILL.md +199 -0
- package/bundled-skills/diagram-generator/references/README.md +3 -0
- package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
- package/bundled-skills/digital-forensics/SKILL.md +93 -0
- package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/sources/sources.md +9 -0
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/docs-generator/SKILL.md +197 -0
- package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
- package/bundled-skills/docs-generator/references/templates.md +102 -0
- package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
- package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
- package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
- package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
- package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
- package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
- package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
- package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
- package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
- package/bundled-skills/email-security/SKILL.md +81 -0
- package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
- package/bundled-skills/firmware-pentest/SKILL.md +381 -0
- package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
- package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
- package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
- package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
- package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
- package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
- package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
- package/bundled-skills/hardware-security/SKILL.md +80 -0
- package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
- package/bundled-skills/ida-reverse/SKILL.md +401 -0
- package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
- package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
- package/bundled-skills/identity-federation/SKILL.md +81 -0
- package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
- package/bundled-skills/instructree/SKILL.md +94 -0
- package/bundled-skills/js-reverse/SKILL.md +239 -0
- package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
- package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
- package/bundled-skills/js-reverse/references/env-patching.md +6 -0
- package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
- package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
- package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
- package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
- package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
- package/bundled-skills/js-reverse/references/output-contract.md +9 -0
- package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
- package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
- package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
- package/bundled-skills/llm-security/SKILL.md +160 -0
- package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
- package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
- package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
- package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/macos-reverse/SKILL.md +85 -0
- package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
- package/bundled-skills/malware-analysis/SKILL.md +311 -0
- package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
- package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
- package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
- package/bundled-skills/mobile-reverse/SKILL.md +222 -0
- package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
- package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
- package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
- package/bundled-skills/muapi-media/SKILL.md +311 -0
- package/bundled-skills/ot-ics/SKILL.md +117 -0
- package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
- package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
- package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
- package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
- package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
- package/bundled-skills/pentest-tools/SKILL.md +346 -0
- package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
- package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
- package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
- package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
- package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
- package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
- package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
- package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
- package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
- package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
- package/bundled-skills/pentest-tools/references/payloads.md +32 -0
- package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
- package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
- package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
- package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
- package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
- package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
- package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
- package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
- package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//344/277/241/346/201/257/346/224/266/351/233/206.md +947 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/205/215/346/235/200/344/270/216/350/247/204/351/201/277.md +780 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/207/255/350/257/201/347/252/203/345/217/226.md +1259 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/237/237/346/270/227/351/200/217/346/224/273/345/207/273.md +753 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/346/217/220/345/215/207.md +819 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/347/273/264/346/214/201.md +577 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/250/252/345/220/221/347/247/273/345/212/250.md +838 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//351/232/247/351/201/223/344/273/243/347/220/206.md +604 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/csrf/350/267/250/347/253/231/350/257/267/346/261/202/344/274/252/351/200/240.md +952 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/lfi-rfi/346/226/207/344/273/266/345/214/205/345/220/253.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/rce/350/277/234/347/250/213/344/273/243/347/240/201/346/211/247/350/241/214.md +1329 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssrf/346/234/215/345/212/241/347/253/257/350/257/267/346/261/202/344/274/252/351/200/240.md +1256 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssti/346/250/241/346/235/277/346/263/250/345/205/245.md +1151 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xss/350/267/250/347/253/231/350/204/232/346/234/254.md +1465 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xxe/345/256/236/344/275/223/346/263/250/345/205/245.md +815 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/270/232/345/212/241/351/200/273/350/276/221/346/274/217/346/264/236.md +594 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/272/221/345/256/211/345/205/250/346/274/217/346/264/236.md +561 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/276/233/345/272/224/351/223/276/346/224/273/345/207/273.md +399 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/216/237/345/236/213/351/223/276/346/261/241/346/237/223.md +401 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/274/200/346/224/276/351/207/215/345/256/232/345/220/221.md +396 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/226/207/344/273/266/346/274/217/346/264/236.md +0 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/241/206/346/236/266/346/274/217/346/264/236.md +2304 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/202/271/345/207/273/345/212/253/346/214/201.md +339 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/274/223/345/255/230/344/270/216cdn/345/256/211/345/205/250.md +497 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/256/244/350/257/201/346/274/217/346/264/236.md +1778 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/257/267/346/261/202/350/265/260/347/247/201.md +854 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//344/277/241/346/201/257/346/224/266/351/233/206.md +852 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/206/205/347/275/221/346/270/227/351/200/217.md +873 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/207/255/350/257/201/347/252/203/345/217/226.md +186 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/257/206/347/240/201/346/224/273/345/207/273.md +462 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/235/203/351/231/220/346/217/220/345/215/207.md +168 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/274/217/346/264/236/345/210/251/347/224/250.md +445 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/263/273/347/273/237/345/221/275/344/273/244.md +410 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/272/242/351/230/237/345/267/245/345/205/267.md +64 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/274/226/347/240/201/350/247/243/347/240/201.md +226 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//351/232/247/351/201/223/344/273/243/347/220/206.md +84 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
- package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
- package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
- package/bundled-skills/protocol-reverse/SKILL.md +108 -0
- package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
- package/bundled-skills/pwn-chain/SKILL.md +209 -0
- package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
- package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
- package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
- package/bundled-skills/radare2/SKILL.md +460 -0
- package/bundled-skills/radare2/references/cheatsheet.md +129 -0
- package/bundled-skills/radio-sdr/SKILL.md +77 -0
- package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
- package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
- package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
- package/bundled-skills/reverse-engineering/SKILL.md +213 -0
- package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
- package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
- package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
- package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
- package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
- package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
- package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
- package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
- package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
- package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
- package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
- package/bundled-skills/reverse-engineering/references/languages.md +499 -0
- package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
- package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
- package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
- package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
- package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
- package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
- package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
- package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
- package/bundled-skills/reverse-engineering/references/tools.md +546 -0
- package/bundled-skills/supply-chain-security/SKILL.md +180 -0
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
- package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
- package/bundled-skills/thick-client/SKILL.md +104 -0
- package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
- package/bundled-skills/threat-hunting/SKILL.md +94 -0
- package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
- package/bundled-skills/threat-intelligence/SKILL.md +176 -0
- package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
- package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
- package/bundled-skills/wifi-wireless/SKILL.md +80 -0
- package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
- package/bundled-skills/windows-ad/SKILL.md +109 -0
- package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
- package/package.json +1 -1
- package/skills_index.json +1214 -2
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
# Frida 实战脚本速查
|
|
2
|
+
|
|
3
|
+
> 精选自 [awesome-frida](https://github.com/dweinstein/awesome-frida)、[Frida-Mobile-Scripts](https://github.com/m0bilesecurity/Frida-Mobile-Scripts)、[frida-codeshare-scripts](https://github.com/zengfr/frida-codeshare-scripts) 等开源项目。
|
|
4
|
+
> 按场景分类,直接复制使用。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 通用 Hook 模板
|
|
9
|
+
|
|
10
|
+
### Hook 任意 Java 方法
|
|
11
|
+
|
|
12
|
+
```javascript
|
|
13
|
+
Java.perform(function() {
|
|
14
|
+
var TargetClass = Java.use("com.target.ClassName");
|
|
15
|
+
|
|
16
|
+
// Hook 无参方法
|
|
17
|
+
TargetClass.methodName.implementation = function() {
|
|
18
|
+
console.log("[*] methodName called");
|
|
19
|
+
var ret = this.methodName();
|
|
20
|
+
console.log("[*] return: " + ret);
|
|
21
|
+
return ret;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Hook 有参方法
|
|
25
|
+
TargetClass.methodName.overload('java.lang.String', 'int').implementation = function(str, num) {
|
|
26
|
+
console.log("[*] methodName(" + str + ", " + num + ")");
|
|
27
|
+
var ret = this.methodName(str, num);
|
|
28
|
+
console.log("[*] return: " + ret);
|
|
29
|
+
return ret;
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Hook 构造函数
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
Java.perform(function() {
|
|
38
|
+
var TargetClass = Java.use("com.target.ClassName");
|
|
39
|
+
TargetClass.$init.overload('java.lang.String').implementation = function(arg) {
|
|
40
|
+
console.log("[*] new ClassName(" + arg + ")");
|
|
41
|
+
this.$init(arg);
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 枚举所有方法
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
Java.perform(function() {
|
|
50
|
+
var TargetClass = Java.use("com.target.ClassName");
|
|
51
|
+
var methods = TargetClass.class.getDeclaredMethods();
|
|
52
|
+
methods.forEach(function(method) {
|
|
53
|
+
console.log(method.toString());
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 加密/签名 Hook
|
|
61
|
+
|
|
62
|
+
### Hook AES 加解密
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
Java.perform(function() {
|
|
66
|
+
var Cipher = Java.use("javax.crypto.Cipher");
|
|
67
|
+
|
|
68
|
+
Cipher.doFinal.overload('[B').implementation = function(input) {
|
|
69
|
+
var mode = this.getOpmode ? this.getOpmode() : "?";
|
|
70
|
+
console.log("[Cipher.doFinal] mode=" + mode);
|
|
71
|
+
console.log(" input: " + bytesToHex(input));
|
|
72
|
+
var result = this.doFinal(input);
|
|
73
|
+
console.log(" output: " + bytesToHex(result));
|
|
74
|
+
return result;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// 捕获密钥
|
|
78
|
+
var SecretKeySpec = Java.use("javax.crypto.spec.SecretKeySpec");
|
|
79
|
+
SecretKeySpec.$init.overload('[B', 'java.lang.String').implementation = function(key, algo) {
|
|
80
|
+
console.log("[SecretKeySpec] algo=" + algo + " key=" + bytesToHex(key));
|
|
81
|
+
this.$init(key, algo);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// 捕获 IV
|
|
85
|
+
var IvParameterSpec = Java.use("javax.crypto.spec.IvParameterSpec");
|
|
86
|
+
IvParameterSpec.$init.overload('[B').implementation = function(iv) {
|
|
87
|
+
console.log("[IvParameterSpec] iv=" + bytesToHex(iv));
|
|
88
|
+
this.$init(iv);
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
function bytesToHex(bytes) {
|
|
93
|
+
var hex = [];
|
|
94
|
+
for (var i = 0; i < bytes.length; i++) {
|
|
95
|
+
hex.push(('0' + (bytes[i] & 0xFF).toString(16)).slice(-2));
|
|
96
|
+
}
|
|
97
|
+
return hex.join('');
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Hook MD5/SHA
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
Java.perform(function() {
|
|
105
|
+
var MessageDigest = Java.use("java.security.MessageDigest");
|
|
106
|
+
|
|
107
|
+
MessageDigest.digest.overload('[B').implementation = function(input) {
|
|
108
|
+
console.log("[MessageDigest.digest] algo=" + this.getAlgorithm());
|
|
109
|
+
console.log(" input: " + bytesToHex(input));
|
|
110
|
+
var result = this.digest(input);
|
|
111
|
+
console.log(" hash: " + bytesToHex(result));
|
|
112
|
+
return result;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
MessageDigest.digest.overload().implementation = function() {
|
|
116
|
+
console.log("[MessageDigest.digest] algo=" + this.getAlgorithm());
|
|
117
|
+
var result = this.digest();
|
|
118
|
+
console.log(" hash: " + bytesToHex(result));
|
|
119
|
+
return result;
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Hook HMAC
|
|
125
|
+
|
|
126
|
+
```javascript
|
|
127
|
+
Java.perform(function() {
|
|
128
|
+
var Mac = Java.use("javax.crypto.Mac");
|
|
129
|
+
|
|
130
|
+
Mac.doFinal.overload('[B').implementation = function(input) {
|
|
131
|
+
console.log("[Mac.doFinal] algo=" + this.getAlgorithm());
|
|
132
|
+
console.log(" input: " + bytesToHex(input));
|
|
133
|
+
var result = this.doFinal(input);
|
|
134
|
+
console.log(" mac: " + bytesToHex(result));
|
|
135
|
+
return result;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
Mac.init.overload('java.security.Key').implementation = function(key) {
|
|
139
|
+
var keyBytes = key.getEncoded();
|
|
140
|
+
console.log("[Mac.init] key=" + bytesToHex(keyBytes));
|
|
141
|
+
this.init(key);
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 网络请求 Hook
|
|
149
|
+
|
|
150
|
+
### Hook OkHttp3 请求/响应
|
|
151
|
+
|
|
152
|
+
```javascript
|
|
153
|
+
Java.perform(function() {
|
|
154
|
+
var OkHttpClient = Java.use("okhttp3.OkHttpClient");
|
|
155
|
+
var Interceptor = Java.use("okhttp3.Interceptor");
|
|
156
|
+
|
|
157
|
+
// Hook newCall 获取请求 URL
|
|
158
|
+
var RealCall = Java.use("okhttp3.RealCall");
|
|
159
|
+
RealCall.execute.implementation = function() {
|
|
160
|
+
var request = this.request();
|
|
161
|
+
console.log("[OkHttp] " + request.method() + " " + request.url().toString());
|
|
162
|
+
var headers = request.headers();
|
|
163
|
+
for (var i = 0; i < headers.size(); i++) {
|
|
164
|
+
console.log(" " + headers.name(i) + ": " + headers.value(i));
|
|
165
|
+
}
|
|
166
|
+
var response = this.execute();
|
|
167
|
+
console.log("[OkHttp] Response: " + response.code());
|
|
168
|
+
return response;
|
|
169
|
+
};
|
|
170
|
+
});
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Hook URL 连接
|
|
174
|
+
|
|
175
|
+
```javascript
|
|
176
|
+
Java.perform(function() {
|
|
177
|
+
var URL = Java.use("java.net.URL");
|
|
178
|
+
URL.openConnection.overload().implementation = function() {
|
|
179
|
+
console.log("[URL] " + this.toString());
|
|
180
|
+
return this.openConnection();
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Hook WebView
|
|
186
|
+
|
|
187
|
+
```javascript
|
|
188
|
+
Java.perform(function() {
|
|
189
|
+
var WebView = Java.use("android.webkit.WebView");
|
|
190
|
+
WebView.loadUrl.overload('java.lang.String').implementation = function(url) {
|
|
191
|
+
console.log("[WebView.loadUrl] " + url);
|
|
192
|
+
this.loadUrl(url);
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
WebView.evaluateJavascript.implementation = function(script, callback) {
|
|
196
|
+
console.log("[WebView.evaluateJavascript] " + script.substring(0, 200));
|
|
197
|
+
this.evaluateJavascript(script, callback);
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 绕过类 Hook
|
|
205
|
+
|
|
206
|
+
### 通用 SSL Pinning 绕过
|
|
207
|
+
|
|
208
|
+
```javascript
|
|
209
|
+
Java.perform(function() {
|
|
210
|
+
// OkHttp3 CertificatePinner
|
|
211
|
+
try {
|
|
212
|
+
var CertificatePinner = Java.use("okhttp3.CertificatePinner");
|
|
213
|
+
CertificatePinner.check.overload('java.lang.String', 'java.util.List').implementation = function() {
|
|
214
|
+
console.log("[*] SSL Pinning bypassed (OkHttp3)");
|
|
215
|
+
};
|
|
216
|
+
} catch(e) {}
|
|
217
|
+
|
|
218
|
+
// TrustManagerImpl
|
|
219
|
+
try {
|
|
220
|
+
var TrustManagerImpl = Java.use("com.android.org.conscrypt.TrustManagerImpl");
|
|
221
|
+
TrustManagerImpl.verifyChain.implementation = function(untrustedChain) {
|
|
222
|
+
console.log("[*] SSL Pinning bypassed (TrustManagerImpl)");
|
|
223
|
+
return untrustedChain;
|
|
224
|
+
};
|
|
225
|
+
} catch(e) {}
|
|
226
|
+
|
|
227
|
+
// X509TrustManager
|
|
228
|
+
try {
|
|
229
|
+
var X509TrustManager = Java.use("javax.net.ssl.X509TrustManager");
|
|
230
|
+
var TrustManager = Java.registerClass({
|
|
231
|
+
name: "com.bypass.TrustManager",
|
|
232
|
+
implements: [X509TrustManager],
|
|
233
|
+
methods: {
|
|
234
|
+
checkClientTrusted: function() {},
|
|
235
|
+
checkServerTrusted: function() {},
|
|
236
|
+
getAcceptedIssuers: function() { return []; }
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
} catch(e) {}
|
|
240
|
+
|
|
241
|
+
// Network Security Config (Android 7+)
|
|
242
|
+
try {
|
|
243
|
+
var NetworkSecurityConfig = Java.use("android.security.net.config.NetworkSecurityConfig");
|
|
244
|
+
NetworkSecurityConfig.isCleartextTrafficPermitted.implementation = function() { return true; };
|
|
245
|
+
} catch(e) {}
|
|
246
|
+
});
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 通用 Root 检测绕过
|
|
250
|
+
|
|
251
|
+
```javascript
|
|
252
|
+
Java.perform(function() {
|
|
253
|
+
// File.exists 绕过
|
|
254
|
+
var File = Java.use("java.io.File");
|
|
255
|
+
var rootPaths = ["su", "Superuser", "magisk", "busybox", "xposed",
|
|
256
|
+
"/system/xbin/su", "/system/bin/su", "/sbin/su",
|
|
257
|
+
"/data/local/xbin/su", "/data/local/bin/su"];
|
|
258
|
+
|
|
259
|
+
File.exists.implementation = function() {
|
|
260
|
+
var path = this.getAbsolutePath();
|
|
261
|
+
for (var i = 0; i < rootPaths.length; i++) {
|
|
262
|
+
if (path.toLowerCase().indexOf(rootPaths[i].toLowerCase()) !== -1) {
|
|
263
|
+
console.log("[Root] Blocked: " + path);
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return this.exists();
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
// Runtime.exec 绕过
|
|
271
|
+
var Runtime = Java.use("java.lang.Runtime");
|
|
272
|
+
Runtime.exec.overload('java.lang.String').implementation = function(cmd) {
|
|
273
|
+
if (cmd.indexOf("su") !== -1 || cmd.indexOf("which") !== -1) {
|
|
274
|
+
console.log("[Root] Blocked exec: " + cmd);
|
|
275
|
+
throw Java.use("java.io.IOException").$new("Permission denied");
|
|
276
|
+
}
|
|
277
|
+
return this.exec(cmd);
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
// Build.TAGS 绕过
|
|
281
|
+
var Build = Java.use("android.os.Build");
|
|
282
|
+
Build.TAGS.value = "release-keys";
|
|
283
|
+
});
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 反调试绕过
|
|
287
|
+
|
|
288
|
+
```javascript
|
|
289
|
+
Java.perform(function() {
|
|
290
|
+
// Debug.isDebuggerConnected
|
|
291
|
+
var Debug = Java.use("android.os.Debug");
|
|
292
|
+
Debug.isDebuggerConnected.implementation = function() {
|
|
293
|
+
console.log("[AntiDebug] isDebuggerConnected → false");
|
|
294
|
+
return false;
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
// TracerPid 检测绕过(native 层)
|
|
298
|
+
var fopen = Module.findExportByName("libc.so", "fopen");
|
|
299
|
+
Interceptor.attach(fopen, {
|
|
300
|
+
onEnter: function(args) {
|
|
301
|
+
this.path = args[0].readUtf8String();
|
|
302
|
+
},
|
|
303
|
+
onLeave: function(retval) {
|
|
304
|
+
if (this.path && this.path.indexOf("/proc/") !== -1 && this.path.indexOf("/status") !== -1) {
|
|
305
|
+
// 可以进一步 hook fgets 修改 TracerPid
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### 模拟器检测绕过
|
|
313
|
+
|
|
314
|
+
```javascript
|
|
315
|
+
Java.perform(function() {
|
|
316
|
+
var Build = Java.use("android.os.Build");
|
|
317
|
+
Build.FINGERPRINT.value = "google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys";
|
|
318
|
+
Build.MODEL.value = "Pixel 2";
|
|
319
|
+
Build.MANUFACTURER.value = "Google";
|
|
320
|
+
Build.BRAND.value = "google";
|
|
321
|
+
Build.DEVICE.value = "walleye";
|
|
322
|
+
Build.PRODUCT.value = "walleye";
|
|
323
|
+
Build.HARDWARE.value = "walleye";
|
|
324
|
+
|
|
325
|
+
// TelephonyManager
|
|
326
|
+
var TelephonyManager = Java.use("android.telephony.TelephonyManager");
|
|
327
|
+
TelephonyManager.getDeviceId.implementation = function() { return "352099001761481"; };
|
|
328
|
+
TelephonyManager.getSubscriberId.implementation = function() { return "310260000000000"; };
|
|
329
|
+
TelephonyManager.getSimSerialNumber.implementation = function() { return "89014103211118510720"; };
|
|
330
|
+
});
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## 数据存储 Hook
|
|
336
|
+
|
|
337
|
+
### Hook SharedPreferences
|
|
338
|
+
|
|
339
|
+
```javascript
|
|
340
|
+
Java.perform(function() {
|
|
341
|
+
var SharedPreferencesImpl = Java.use("android.app.SharedPreferencesImpl");
|
|
342
|
+
|
|
343
|
+
SharedPreferencesImpl.getString.implementation = function(key, defValue) {
|
|
344
|
+
var value = this.getString(key, defValue);
|
|
345
|
+
console.log("[SP.get] " + key + " = " + value);
|
|
346
|
+
return value;
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
var Editor = Java.use("android.app.SharedPreferencesImpl$EditorImpl");
|
|
350
|
+
Editor.putString.implementation = function(key, value) {
|
|
351
|
+
console.log("[SP.put] " + key + " = " + value);
|
|
352
|
+
return this.putString(key, value);
|
|
353
|
+
};
|
|
354
|
+
});
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Hook SQLite
|
|
358
|
+
|
|
359
|
+
```javascript
|
|
360
|
+
Java.perform(function() {
|
|
361
|
+
var SQLiteDatabase = Java.use("android.database.sqlite.SQLiteDatabase");
|
|
362
|
+
|
|
363
|
+
SQLiteDatabase.rawQuery.implementation = function(sql, args) {
|
|
364
|
+
console.log("[SQL] " + sql);
|
|
365
|
+
if (args) console.log(" args: " + JSON.stringify(args));
|
|
366
|
+
return this.rawQuery(sql, args);
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
SQLiteDatabase.execSQL.overload('java.lang.String').implementation = function(sql) {
|
|
370
|
+
console.log("[SQL.exec] " + sql);
|
|
371
|
+
this.execSQL(sql);
|
|
372
|
+
};
|
|
373
|
+
});
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## 脱壳 Hook
|
|
379
|
+
|
|
380
|
+
### 通用 DEX Dump
|
|
381
|
+
|
|
382
|
+
```javascript
|
|
383
|
+
Java.perform(function() {
|
|
384
|
+
Java.enumerateClassLoaders({
|
|
385
|
+
onMatch: function(loader) {
|
|
386
|
+
try {
|
|
387
|
+
var pathList = Java.cast(loader, Java.use("dalvik.system.BaseDexClassLoader")).pathList.value;
|
|
388
|
+
var dexElements = pathList.dexElements.value;
|
|
389
|
+
for (var i = 0; i < dexElements.length; i++) {
|
|
390
|
+
var dexFile = dexElements[i].dexFile.value;
|
|
391
|
+
if (dexFile) {
|
|
392
|
+
console.log("[DEX] " + dexFile.getName());
|
|
393
|
+
// 可以进一步 dump dex 内容
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
} catch(e) {}
|
|
397
|
+
},
|
|
398
|
+
onComplete: function() {}
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### Hook ClassLoader.loadClass
|
|
404
|
+
|
|
405
|
+
```javascript
|
|
406
|
+
Java.perform(function() {
|
|
407
|
+
var ClassLoader = Java.use("java.lang.ClassLoader");
|
|
408
|
+
ClassLoader.loadClass.overload('java.lang.String').implementation = function(name) {
|
|
409
|
+
if (name.indexOf("com.target") !== -1) {
|
|
410
|
+
console.log("[ClassLoader] " + name);
|
|
411
|
+
}
|
|
412
|
+
return this.loadClass(name);
|
|
413
|
+
};
|
|
414
|
+
});
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## 实用工具函数
|
|
420
|
+
|
|
421
|
+
```javascript
|
|
422
|
+
// 字节数组转十六进制
|
|
423
|
+
function bytesToHex(bytes) {
|
|
424
|
+
if (!bytes) return "null";
|
|
425
|
+
var hex = [];
|
|
426
|
+
for (var i = 0; i < bytes.length; i++) {
|
|
427
|
+
hex.push(('0' + (bytes[i] & 0xFF).toString(16)).slice(-2));
|
|
428
|
+
}
|
|
429
|
+
return hex.join('');
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
// 打印调用栈
|
|
433
|
+
function printStack() {
|
|
434
|
+
console.log(Java.use("android.util.Log").getStackTraceString(
|
|
435
|
+
Java.use("java.lang.Throwable").$new()));
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
// 打印对象所有字段
|
|
439
|
+
function printFields(obj) {
|
|
440
|
+
var fields = obj.class.getDeclaredFields();
|
|
441
|
+
fields.forEach(function(field) {
|
|
442
|
+
field.setAccessible(true);
|
|
443
|
+
try {
|
|
444
|
+
console.log(" " + field.getName() + " = " + field.get(obj));
|
|
445
|
+
} catch(e) {}
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// 搜索内存中的类实例
|
|
450
|
+
function findInstances(className) {
|
|
451
|
+
Java.choose(className, {
|
|
452
|
+
onMatch: function(instance) {
|
|
453
|
+
console.log("[Instance] " + instance);
|
|
454
|
+
printFields(instance);
|
|
455
|
+
},
|
|
456
|
+
onComplete: function() {}
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
## 参考资源
|
|
464
|
+
|
|
465
|
+
| 资源 | 说明 | 链接 |
|
|
466
|
+
|------|------|------|
|
|
467
|
+
| Frida 官方文档 | API 参考 | https://frida.re/docs/ |
|
|
468
|
+
| Frida CodeShare | 社区脚本分享 | https://codeshare.frida.re/ |
|
|
469
|
+
| awesome-frida | 资源大全 | https://github.com/dweinstein/awesome-frida |
|
|
470
|
+
| frida-codeshare-scripts | 全网最全脚本收集 | https://github.com/zengfr/frida-codeshare-scripts |
|
|
471
|
+
| Objection | Frida 封装工具 | https://github.com/sensepost/objection |
|
|
472
|
+
| r2frida | radare2 + Frida 集成 | https://github.com/nowsecure/r2frida |
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: attack-chain
|
|
3
|
+
description: "Authorized multi-stage attack-path planning and orchestration spanning reconnaissance, initial access, privilege escalation, lateral movement, and reporting. Entry point for full engagements and cross-phase operations."
|
|
4
|
+
risk: offensive
|
|
5
|
+
source: "https://github.com/zhaoxuya520/reverse-skill"
|
|
6
|
+
source_repo: "zhaoxuya520/reverse-skill"
|
|
7
|
+
source_type: community
|
|
8
|
+
date_added: "2026-08-25"
|
|
9
|
+
license: "MIT"
|
|
10
|
+
license_source: "https://github.com/zhaoxuya520/reverse-skill/blob/main/LICENSE"
|
|
11
|
+
---
|
|
12
|
+
> **⚠️ AUTHORIZED USE ONLY**
|
|
13
|
+
> This skill is for educational purposes or authorized security assessments only.
|
|
14
|
+
> You must have explicit, written permission from the system owner before using this tool.
|
|
15
|
+
> Misuse of this tool is illegal and strictly prohibited.
|
|
16
|
+
|
|
17
|
+
> **Mandatory confirmation gate**
|
|
18
|
+
> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
|
|
19
|
+
> 1. Ask the user to state the exact target URL, IP, account, or resource.
|
|
20
|
+
> 2. Ask the user to confirm written authorization and the permitted scope.
|
|
21
|
+
> 3. Show the exact command(s) and explain their expected effect.
|
|
22
|
+
> 4. Wait for explicit confirmation in the current conversation.
|
|
23
|
+
>
|
|
24
|
+
> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
|
|
25
|
+
|
|
26
|
+
# Attack Chain Orchestration Skill
|
|
27
|
+
## When to Use
|
|
28
|
+
|
|
29
|
+
- An authorized engagement spans multiple kill-chain phases.
|
|
30
|
+
- Coordinating several specialist skills into one coherent attack path.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## 何时路由到本 Skill
|
|
34
|
+
|
|
35
|
+
以下场景**必须**先经过本 Skill 做全链路规划,再分发到具体子 Skill 执行:
|
|
36
|
+
|
|
37
|
+
| 场景 | 为什么需要编排 |
|
|
38
|
+
|------|--------------|
|
|
39
|
+
| "帮我做一次完整的渗透测试" | 需要规划从信息收集到报告的全流程 |
|
|
40
|
+
| "从外网打到域控" | 跨越边界突破→提权→横向→AD 多个阶段 |
|
|
41
|
+
| "HW 攻防演练" | 需要完整攻击链 + 隐蔽性 + 痕迹清理 |
|
|
42
|
+
| "评估这个目标的攻击面" | 需要多维度信息收集 + 路径规划 |
|
|
43
|
+
| "我拿到了一个 webshell,下一步怎么办" | 需要从当前据点规划后续路径 |
|
|
44
|
+
| "帮我规划攻击路径" | 明确需要路径编排 |
|
|
45
|
+
| "从这个漏洞能打到什么程度" | 需要评估漏洞的链式利用价值 |
|
|
46
|
+
| "Bug Bounty 持续监控" | 需要自动化多阶段流程 |
|
|
47
|
+
| "内网渗透全流程" | 横向移动 + 提权 + 域攻击组合 |
|
|
48
|
+
| "近源渗透方案" | 物理接入 + 内网渗透组合 |
|
|
49
|
+
| "供应链攻击路径" | 跨组织多跳攻击 |
|
|
50
|
+
| "钓鱼 + 后渗透" | 初始访问 + 后续利用组合 |
|
|
51
|
+
|
|
52
|
+
**单阶段任务不需要经过本 Skill**:
|
|
53
|
+
- 只做端口扫描 → 直接去 `pentest-tools/`
|
|
54
|
+
- 只做 SQL 注入 → 直接去 `pentest-tools/`
|
|
55
|
+
- 只做 APK 逆向 → 直接去 `apk-reverse/`
|
|
56
|
+
- 只做域渗透 → 直接去 `windows-ad/SKILL.md`
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 编排原则
|
|
61
|
+
|
|
62
|
+
### 本 Skill 的角色
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
用户提出多阶段任务
|
|
66
|
+
↓
|
|
67
|
+
attack-chain/SKILL.md(本文件)
|
|
68
|
+
↓ 规划攻击路径、确定阶段顺序
|
|
69
|
+
↓ 评估每阶段所需工具和方法
|
|
70
|
+
↓
|
|
71
|
+
分发到具体子 Skill 执行:
|
|
72
|
+
├── pentest-tools/ → 工具调用、漏洞利用
|
|
73
|
+
├── apk-reverse/ → 移动端渗透
|
|
74
|
+
├── js-reverse/ → Web 前端突破
|
|
75
|
+
├── reverse-engineering/ → 二进制分析
|
|
76
|
+
├── ida-reverse/ → 深度逆向
|
|
77
|
+
└── browser-automation/ → 自动化操作
|
|
78
|
+
↓
|
|
79
|
+
每阶段完成后回到本 Skill 评估下一步
|
|
80
|
+
↓
|
|
81
|
+
全部完成 → docs-generator 生成报告
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 路径规划决策树
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
拿到目标后:
|
|
88
|
+
1. 目标是什么?(Web/内网/云/移动/IoT)
|
|
89
|
+
2. 当前有什么?(外部视角/已有凭据/已有据点)
|
|
90
|
+
3. 最终目标是什么?(域控/数据/特定系统/证明影响)
|
|
91
|
+
4. 约束条件?(时间/隐蔽性/不可触碰的系统)
|
|
92
|
+
↓
|
|
93
|
+
根据以上信息规划最短路径
|
|
94
|
+
↓
|
|
95
|
+
一条路走不通 → 回到本 Skill 重新规划备选路径
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 完整攻击链阶段
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
For detailed phase methodology, toolchains, and playbooks, refer to:
|
|
106
|
+
- [Attack Chain Phases & Playbooks](references/phases.md)
|
|
107
|
+
|
|
108
|
+
## 红队行动铁律
|
|
109
|
+
|
|
110
|
+
### 三条底线
|
|
111
|
+
|
|
112
|
+
1. **所有操作必须获得书面授权**
|
|
113
|
+
2. **数据渗出需进行匿名化处理**
|
|
114
|
+
3. **清理所有攻击痕迹(包括内存驻留)**
|
|
115
|
+
|
|
116
|
+
### 行动纪律
|
|
117
|
+
|
|
118
|
+
- 每个操作前评估风险等级(低/中/高/严重)
|
|
119
|
+
- 高风险操作前通知项目经理
|
|
120
|
+
- 保持操作日志(时间、动作、结果)
|
|
121
|
+
- 发现高危漏洞立即上报,不扩大利用
|
|
122
|
+
- 不影响业务可用性(禁止 DoS)
|
|
123
|
+
- 不访问/下载真实用户数据
|
|
124
|
+
|
|
125
|
+
### 典型失败案例
|
|
126
|
+
|
|
127
|
+
| 失败原因 | 后果 | 教训 |
|
|
128
|
+
|---------|------|------|
|
|
129
|
+
| 未清除 Mimikatz 内存 dump | 蓝队溯源完整攻击路径 | 操作后立即清理 |
|
|
130
|
+
| C2 域名被威胁情报标记 | 首次连接即被拦截 | 使用新注册域名 + 域前置 |
|
|
131
|
+
| 钓鱼邮件触发 DLP 告警 | 蓝队提前预警 | 测试邮件网关规则 |
|
|
132
|
+
| 横向移动触发蜜罐 | 暴露攻击意图 | 先识别蜜罐再行动 |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 工具速查表
|
|
137
|
+
|
|
138
|
+
### 信息收集
|
|
139
|
+
`subfinder` `amass` `httpx` `naabu` `katana` `gau` `dnsx` `nmap` `whatweb` `wpscan`
|
|
140
|
+
|
|
141
|
+
### 漏洞利用
|
|
142
|
+
`nuclei` `sqlmap` `sstimap` `xsstrike` `burpsuite` `metasploit`
|
|
143
|
+
|
|
144
|
+
### 权限提升
|
|
145
|
+
`winPEAS` `linpeas` `GodPotato` `PrintSpoofer` `watson`
|
|
146
|
+
|
|
147
|
+
### 横向移动
|
|
148
|
+
`mimikatz` `crackmapexec/netexec` `impacket` `bloodhound` `certipy` `coercer` `responder` `evil-winrm`
|
|
149
|
+
|
|
150
|
+
### C2 框架
|
|
151
|
+
`cobalt-strike` `sliver` `havoc` `mythic` `adaptixc2`
|
|
152
|
+
|
|
153
|
+
### 近源渗透
|
|
154
|
+
`fluxion` `aircrack-ng` `proxmark3` `rubber-ducky` `wifi-pineapple`
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 与本包其他 Skill 的关系
|
|
159
|
+
|
|
160
|
+
| 需求 | 路由到 |
|
|
161
|
+
|------|--------|
|
|
162
|
+
| Web 漏洞深度利用 | `pentest-tools/SKILL.md` |
|
|
163
|
+
| 内网 AD 攻击详细步骤 | `windows-ad/SKILL.md` |
|
|
164
|
+
| 逆向分析恶意样本 | `reverse-engineering/SKILL.md` |
|
|
165
|
+
| APK 逆向(移动端渗透) | `apk-reverse/SKILL.md` |
|
|
166
|
+
| JS 前端签名绕过 | `js-reverse/SKILL.md` |
|
|
167
|
+
| 自动化群体渗透 | Pentest Swarm AI(`pentestswarm scan --swarm`) |
|
|
168
|
+
| AI 辅助渗透 | `mcp-kali-server` / `metasploitmcp` / `hexstrike-ai` |
|
|
169
|
+
| 报告生成 | `docs-generator/SKILL.md` |
|
|
170
|
+
| 攻击路径图 | `diagram-generator/SKILL.md` |
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
## 任务完成自检(声称完成前 MUST 通过)
|
|
174
|
+
|
|
175
|
+
- [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
|
|
176
|
+
- [ ] 我是否基于 `tool-index` 使用了真实工具路径?
|
|
177
|
+
- [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
|
|
178
|
+
- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?
|
|
179
|
+
|
|
180
|
+
## Limitations
|
|
181
|
+
|
|
182
|
+
- Execution of attack stages requires written authorization per target.
|
|
183
|
+
- Assumes supporting tooling (recon/exploit kits) is installed and licensed where applicable.
|
|
184
|
+
|
|
185
|
+
> Adapted from [zhaoxuya520/reverse-skill](https://github.com/zhaoxuya520/reverse-skill) (MIT).
|