@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,480 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# CTF Forensics - Network
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
- [tcpdump Quick Reference](#tcpdump-quick-reference)
|
|
7
|
+
- [TLS/SSL Decryption via Keylog File](#tlsssl-decryption-via-keylog-file)
|
|
8
|
+
- [Wireshark Basics](#wireshark-basics)
|
|
9
|
+
- [Port Scan Analysis](#port-scan-analysis)
|
|
10
|
+
- [Gateway/Device via MAC OUI](#gatewaydevice-via-mac-oui)
|
|
11
|
+
- [WordPress Reconnaissance](#wordpress-reconnaissance)
|
|
12
|
+
- [Post-Exploitation Traffic](#post-exploitation-traffic)
|
|
13
|
+
- [Credential Extraction](#credential-extraction)
|
|
14
|
+
- [SMB3 Encrypted Traffic](#smb3-encrypted-traffic)
|
|
15
|
+
- [5G/NR Protocol Analysis](#5gnr-protocol-analysis)
|
|
16
|
+
- [Email Headers](#email-headers)
|
|
17
|
+
- [USB HID Stenography/Chord PCAP (UTCTF 2024)](#usb-hid-stenographychord-pcap-utctf-2024)
|
|
18
|
+
- [BCD Encoding in UDP (VuwCTF 2025)](#bcd-encoding-in-udp-vuwctf-2025)
|
|
19
|
+
- [HTTP File Upload Exfiltration in PCAP (MetaCTF 2026)](#http-file-upload-exfiltration-in-pcap-metactf-2026)
|
|
20
|
+
- [TLS Master Key Extraction from Coredump (PlaidCTF 2014)](#tls-master-key-extraction-from-coredump-plaidctf-2014)
|
|
21
|
+
- [Split Archive Reassembly from HTTP Transfers (ASIS CTF Finals 2013)](#split-archive-reassembly-from-http-transfers-asis-ctf-finals-2013)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## tcpdump Quick Reference
|
|
26
|
+
|
|
27
|
+
Command-line packet capture tool for quick network forensics triage.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Basic capture on interface
|
|
31
|
+
sudo tcpdump -i eth0
|
|
32
|
+
|
|
33
|
+
# Capture to file
|
|
34
|
+
sudo tcpdump -i eth0 -w capture.pcap
|
|
35
|
+
|
|
36
|
+
# Filter by source IP
|
|
37
|
+
sudo tcpdump -i eth0 src 192.168.1.100
|
|
38
|
+
|
|
39
|
+
# Filter by destination port
|
|
40
|
+
sudo tcpdump -i eth0 dst port 80
|
|
41
|
+
|
|
42
|
+
# Combined filter with file output
|
|
43
|
+
sudo tcpdump -i eth0 -w packets.pcap 'src 172.22.206.250 and port 443'
|
|
44
|
+
|
|
45
|
+
# Read from file with verbose output
|
|
46
|
+
tcpdump -r capture.pcap -v
|
|
47
|
+
|
|
48
|
+
# Show packet contents in ASCII
|
|
49
|
+
tcpdump -r capture.pcap -A
|
|
50
|
+
|
|
51
|
+
# Show hex + ASCII dump
|
|
52
|
+
tcpdump -r capture.pcap -X
|
|
53
|
+
|
|
54
|
+
# Count total packets
|
|
55
|
+
tcpdump -r capture.pcap -q | wc -l
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Common filters:**
|
|
59
|
+
| Filter | Description |
|
|
60
|
+
|--------|-------------|
|
|
61
|
+
| `host 10.0.0.1` | Traffic to/from IP |
|
|
62
|
+
| `net 192.168.1.0/24` | Entire subnet |
|
|
63
|
+
| `port 80` | HTTP traffic |
|
|
64
|
+
| `tcp` / `udp` / `icmp` | Protocol filter |
|
|
65
|
+
| `src host X and dst port Y` | Combined |
|
|
66
|
+
|
|
67
|
+
**Key insight:** Use tcpdump for quick command-line triage when Wireshark is unavailable. Pipe to `strings` or `grep` for fast flag hunting: `tcpdump -r capture.pcap -A | grep -i flag`.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## TLS/SSL Decryption via Keylog File
|
|
72
|
+
|
|
73
|
+
To decrypt TLS traffic in Wireshark, provide either the pre-master secret or a keylog file.
|
|
74
|
+
|
|
75
|
+
**Method 1 — SSLKEYLOGFILE (client-side key logging):**
|
|
76
|
+
|
|
77
|
+
If the challenge provides a keylog file (or you can set `SSLKEYLOGFILE`):
|
|
78
|
+
```bash
|
|
79
|
+
# Set environment variable before running the client
|
|
80
|
+
export SSLKEYLOGFILE=/tmp/sslkeys.log
|
|
81
|
+
curl https://target/secret
|
|
82
|
+
|
|
83
|
+
# Import into Wireshark:
|
|
84
|
+
# Edit → Preferences → Protocols → TLS → (Pre)-Master-Secret log filename → /tmp/sslkeys.log
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Keylog file format (NSS Key Log Format):**
|
|
88
|
+
```text
|
|
89
|
+
CLIENT_RANDOM <32_bytes_client_random_hex> <48_bytes_master_secret_hex>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Method 2 — RSA private key (if server key is known):**
|
|
93
|
+
|
|
94
|
+
**Note:** Only works with RSA key exchange. Sessions using forward secrecy (ECDHE/DHE cipher suites) cannot be decrypted with the server's private key — use Method 1 instead. CTF challenges with weak RSA keys typically use RSA key exchange.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Wireshark: Edit → Preferences → Protocols → TLS → RSA keys list
|
|
98
|
+
# IP: 127.0.0.1, Port: 443, Protocol: http, Key File: server.key
|
|
99
|
+
|
|
100
|
+
# Or via tshark:
|
|
101
|
+
tshark -r capture.pcap -o "tls.keys_list:127.0.0.1,443,http,server.key" -Y http
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Method 3 — Weak RSA key factoring (see also linux-forensics.md):**
|
|
105
|
+
```bash
|
|
106
|
+
# Extract certificate from PCAP
|
|
107
|
+
tshark -r capture.pcap -Y "tls.handshake.type==11" -T fields -e tls.handshake.certificate | head -1
|
|
108
|
+
|
|
109
|
+
# Factor weak modulus, generate private key with rsatool
|
|
110
|
+
python rsatool.py -p <p> -q <q> -e 65537 -o server.key
|
|
111
|
+
|
|
112
|
+
# Import key into Wireshark
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**SSL handshake components needed for decryption:**
|
|
116
|
+
1. `client_random` — sent in ClientHello
|
|
117
|
+
2. `server_random` — sent in ServerHello
|
|
118
|
+
3. Pre-master secret (PMS) — encrypted in ClientKeyExchange with server's RSA public key
|
|
119
|
+
|
|
120
|
+
**Key insight:** Look for keylog files (`.log`, `sslkeys.txt`) in challenge artifacts. If the challenge gives you a private key, use it directly. For weak RSA keys in certificates, factor the modulus to derive the private key.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Wireshark Basics
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Filters
|
|
128
|
+
http.request.method == "POST"
|
|
129
|
+
tcp.stream eq 5
|
|
130
|
+
frame contains "flag"
|
|
131
|
+
|
|
132
|
+
# Export files
|
|
133
|
+
File → Export Objects → HTTP
|
|
134
|
+
|
|
135
|
+
# tshark
|
|
136
|
+
tshark -r capture.pcap -Y "http" -T fields -e http.file_data
|
|
137
|
+
tshark -r capture.pcap --export-objects http,/tmp/http_objects
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Port Scan Analysis
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# IP conversation statistics
|
|
146
|
+
tshark -r capture.pcap -q -z conv,ip
|
|
147
|
+
|
|
148
|
+
# Find open ports (SYN-ACK responses)
|
|
149
|
+
tshark -r capture.pcap -Y "tcp.flags.syn==1 && tcp.flags.ack==1" \
|
|
150
|
+
-T fields -e ip.src -e tcp.srcport | sort -u
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Gateway/Device via MAC OUI
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Extract MAC addresses
|
|
159
|
+
tshark -r capture.pcap -Y "arp" -T fields \
|
|
160
|
+
-e arp.src.hw_mac -e arp.src.proto_ipv4 | sort -u
|
|
161
|
+
|
|
162
|
+
# Vendor lookup
|
|
163
|
+
curl -s "https://macvendors.com/query/88:bd:09"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## WordPress Reconnaissance
|
|
169
|
+
|
|
170
|
+
**Identify WPScan:**
|
|
171
|
+
```bash
|
|
172
|
+
tshark -r capture.pcap -Y "http.user_agent contains \"WPScan\"" | head -1
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**WordPress version:**
|
|
176
|
+
```bash
|
|
177
|
+
cat /tmp/http_objects/feed* | grep -i generator
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Plugins:**
|
|
181
|
+
```bash
|
|
182
|
+
tshark -r capture.pcap \
|
|
183
|
+
-Y "http.response.code == 200 && http.request.uri contains \"wp-content/plugins\"" \
|
|
184
|
+
-T fields -e http.request.uri | sort -u
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Usernames (REST API):**
|
|
188
|
+
```bash
|
|
189
|
+
cat /tmp/http_objects/*per_page* | jq '.[].name'
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Post-Exploitation Traffic
|
|
195
|
+
|
|
196
|
+
**Step 1: TCP conversations**
|
|
197
|
+
```bash
|
|
198
|
+
tshark -r capture.pcap -q -z conv,tcp
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Step 2: Established connections (SYN-ACK)**
|
|
202
|
+
```bash
|
|
203
|
+
tshark -r capture.pcap -Y "tcp.flags.syn == 1 and tcp.flags.ack == 1" \
|
|
204
|
+
-T fields -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport | sort -u
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Step 3: Follow TCP stream**
|
|
208
|
+
```bash
|
|
209
|
+
tshark -r capture.pcap -q -z "follow,tcp,ascii,<stream_number>"
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Reverse shell indicators:**
|
|
213
|
+
- `bash: cannot set terminal process group`
|
|
214
|
+
- `bash: no job control in this shell`
|
|
215
|
+
- Shell prompts like `www-data@hostname:/path$`
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Credential Extraction
|
|
220
|
+
|
|
221
|
+
**High-value files:**
|
|
222
|
+
| Application | File | Format |
|
|
223
|
+
|-------------|------|--------|
|
|
224
|
+
| WordPress | `wp-config.php` | `define('DB_PASSWORD', '...')` |
|
|
225
|
+
| Laravel | `.env` | `DB_PASSWORD=` |
|
|
226
|
+
| MySQL | `/etc/mysql/debian.cnf` | `password = ` |
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Search shell stream for credentials
|
|
230
|
+
tshark -r capture.pcap -q -z "follow,tcp,ascii,<stream>" | grep -i "password"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## SMB3 Encrypted Traffic
|
|
236
|
+
|
|
237
|
+
**Step 1: Extract NTLMv2 hash**
|
|
238
|
+
```bash
|
|
239
|
+
tshark -r capture.pcap -Y "ntlmssp.messagetype == 0x00000003" -T fields \
|
|
240
|
+
-e ntlmssp.ntlmv2_response.ntproofstr \
|
|
241
|
+
-e ntlmssp.auth.username
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Step 2: Crack with hashcat**
|
|
245
|
+
```bash
|
|
246
|
+
hashcat -m 5600 ntlmv2_hash.txt wordlist.txt
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Step 3: Derive SMB 3.1.1 session keys (Python)**
|
|
250
|
+
```python
|
|
251
|
+
from Cryptodome.Cipher import AES, ARC4
|
|
252
|
+
from Cryptodome.Hash import MD4
|
|
253
|
+
import hmac, hashlib
|
|
254
|
+
|
|
255
|
+
def SP800_108_Counter_KDF(Ki, Label, Context, L):
|
|
256
|
+
n = (L // 256) + 1
|
|
257
|
+
result = b''
|
|
258
|
+
for i in range(1, n + 1):
|
|
259
|
+
data = i.to_bytes(4, 'big') + Label + b'\x00' + Context + L.to_bytes(4, 'big')
|
|
260
|
+
result += hmac.new(Ki, data, hashlib.sha256).digest()
|
|
261
|
+
return result[:L // 8]
|
|
262
|
+
|
|
263
|
+
# Compute session key
|
|
264
|
+
nt_hash = MD4.new(password.encode('utf-16le')).digest()
|
|
265
|
+
response_key = hmac.new(nt_hash, (user.upper() + domain.upper()).encode('utf-16le'), hashlib.md5).digest()
|
|
266
|
+
key_exchange_key = hmac.new(response_key, ntproofstr, hashlib.md5).digest()
|
|
267
|
+
session_key = ARC4.new(key_exchange_key).encrypt(encrypted_session_key)
|
|
268
|
+
|
|
269
|
+
# Derive encryption keys
|
|
270
|
+
c2s_key = SP800_108_Counter_KDF(session_key, b"SMBC2SCipherKey\x00", preauth_hash, 128)
|
|
271
|
+
s2c_key = SP800_108_Counter_KDF(session_key, b"SMBS2CCipherKey\x00", preauth_hash, 128)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**Step 4: Decrypt (AES-128-GCM)**
|
|
275
|
+
```python
|
|
276
|
+
def decrypt_smb311(transform_data, key):
|
|
277
|
+
signature = transform_data[4:20]
|
|
278
|
+
nonce = transform_data[20:32]
|
|
279
|
+
aad = transform_data[20:52]
|
|
280
|
+
encrypted = transform_data[52:]
|
|
281
|
+
|
|
282
|
+
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
|
|
283
|
+
cipher.update(aad)
|
|
284
|
+
return cipher.decrypt_and_verify(encrypted, signature)
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 5G/NR Protocol Analysis
|
|
290
|
+
|
|
291
|
+
**Wireshark setup:**
|
|
292
|
+
- Enable: NAS-5GS, RLC-NR, PDCP-NR, MAC-NR
|
|
293
|
+
|
|
294
|
+
**SMS in 5G (3GPP TS 23.040):**
|
|
295
|
+
|
|
296
|
+
| IEI | Format |
|
|
297
|
+
|-----|--------|
|
|
298
|
+
| 0x0c | iMelody (ringtone) |
|
|
299
|
+
| 0x0e | Large Animation (16×16) |
|
|
300
|
+
| 0x18 | WVG (vector graphics) |
|
|
301
|
+
|
|
302
|
+
**iMelody to Morse:**
|
|
303
|
+
- Notes like `c4c4c4r2` encode dots/dashes
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Email Headers
|
|
308
|
+
|
|
309
|
+
- Check routing information
|
|
310
|
+
- Look for encoded attachments (base64)
|
|
311
|
+
- MIME boundaries may hide data
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## USB HID Stenography/Chord PCAP (UTCTF 2024)
|
|
316
|
+
|
|
317
|
+
**Pattern (Gibberish):** USB keyboard PCAP with simultaneous multi-key presses = stenography chording.
|
|
318
|
+
|
|
319
|
+
**Detection:** Multiple simultaneous USB HID keys (6+ at once) in interrupt transfers. Not regular typing.
|
|
320
|
+
|
|
321
|
+
**Decoding workflow:**
|
|
322
|
+
1. Extract HID reports from PCAP
|
|
323
|
+
2. Detect simultaneous key states (multiple keycodes in same report)
|
|
324
|
+
3. Map chords to Plover stenography dictionary
|
|
325
|
+
4. Install Plover, use its dictionary for translation
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
# Extract USB HID data
|
|
329
|
+
tshark -r capture.pcap -Y "usb.transfer_type == 1" -T fields -e usb.capdata
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## BCD Encoding in UDP (VuwCTF 2025)
|
|
335
|
+
|
|
336
|
+
**Pattern (1.5x-engineer):** "1.5x" hints at the encoding ratio.
|
|
337
|
+
|
|
338
|
+
**BCD (Binary-Coded Decimal):** Each nibble (4 bits) encodes one decimal digit (0-9). Two digits per byte vs one ASCII digit per byte → BCD is 2x denser than ASCII decimal. The "1.5x" name refers to the challenge-specific framing: 3 BCD bytes encode 6 digits which represent 2 ASCII bytes (3:2 ratio).
|
|
339
|
+
|
|
340
|
+
**Decoding:**
|
|
341
|
+
```python
|
|
342
|
+
def bcd_decode(data):
|
|
343
|
+
result = ''
|
|
344
|
+
for byte in data:
|
|
345
|
+
high = (byte >> 4) & 0x0F
|
|
346
|
+
low = byte & 0x0F
|
|
347
|
+
result += f'{high}{low}'
|
|
348
|
+
return result
|
|
349
|
+
|
|
350
|
+
# UDP sessions differentiated by first byte
|
|
351
|
+
# Session 1 = BCD-encoded ASCII metadata with flag
|
|
352
|
+
# Session 2 = encrypted DOCX
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Lesson:** Challenge name often hints at encoding ratio or technique.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## HTTP File Upload Exfiltration in PCAP (MetaCTF 2026)
|
|
360
|
+
|
|
361
|
+
**Pattern (Dead Drop):** Small PCAP with TCP streams containing HTTP traffic. Exfiltrated data uploaded as a file via multipart form POST.
|
|
362
|
+
|
|
363
|
+
**Quick triage:**
|
|
364
|
+
```bash
|
|
365
|
+
# Count packets and protocols
|
|
366
|
+
tshark -r capture.pcap -q -z io,phs
|
|
367
|
+
|
|
368
|
+
# List HTTP requests
|
|
369
|
+
tshark -r capture.pcap -Y "http.request" -T fields -e http.request.method -e http.request.uri -e http.host
|
|
370
|
+
|
|
371
|
+
# Export all HTTP objects (files transferred)
|
|
372
|
+
tshark -r capture.pcap --export-objects http,/tmp/http_objects
|
|
373
|
+
ls -la /tmp/http_objects/
|
|
374
|
+
|
|
375
|
+
# Follow specific TCP streams
|
|
376
|
+
tshark -r capture.pcap -q -z "follow,tcp,ascii,0"
|
|
377
|
+
tshark -r capture.pcap -q -z "follow,tcp,ascii,1"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
**Extraction workflow:**
|
|
381
|
+
1. Export HTTP objects — uploaded files are extracted automatically
|
|
382
|
+
2. Check for multipart form-data POST requests (file uploads)
|
|
383
|
+
3. Look for unusual User-Agent strings (e.g., `DeadDropBot/1.0`) indicating automated exfiltration
|
|
384
|
+
4. Extracted files may be images (PNG/JPEG) with flag text rendered visually — open and inspect
|
|
385
|
+
|
|
386
|
+
**Key indicators of exfiltration:**
|
|
387
|
+
- POST to `/upload` endpoints
|
|
388
|
+
- Non-standard User-Agent strings
|
|
389
|
+
- Small number of packets but containing file transfers
|
|
390
|
+
- "Dead drop" pattern: attacker uploads file to web server for later retrieval
|
|
391
|
+
|
|
392
|
+
**Lesson:** Always start with `--export-objects` to extract transferred files before deep packet analysis. The flag is often in the exfiltrated file itself.
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## TLS Master Key Extraction from Coredump (PlaidCTF 2014)
|
|
397
|
+
|
|
398
|
+
**Pattern:** Given a PCAP with HTTPS traffic and a coredump from the server/client process, extract the TLS master key from OpenSSL's in-memory session structure to decrypt the traffic.
|
|
399
|
+
|
|
400
|
+
**Extraction workflow:**
|
|
401
|
+
|
|
402
|
+
1. Find the TLS Session ID from the handshake in Wireshark (visible in plaintext in the ClientHello/ServerHello)
|
|
403
|
+
2. Search the coredump for the session ID bytes:
|
|
404
|
+
```bash
|
|
405
|
+
# Search for session ID in coredump
|
|
406
|
+
grep -c '\x19\xAB\x5E\xDC\x02\xF0\x97\xD5' corefile
|
|
407
|
+
hexdump -C corefile | grep --before=5 '19 ab 5e dc'
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
3. In OpenSSL's `ssl_session_st`, `master_key[48]` is stored immediately before `session_id[32]`. Read the 48 bytes before the session ID match.
|
|
411
|
+
|
|
412
|
+
4. Create a Wireshark pre-master-secret log file:
|
|
413
|
+
```text
|
|
414
|
+
RSA Session-ID:<hex_session_id> Master-Key:<hex_master_key>
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
5. Load in Wireshark: Edit → Preferences → Protocols → TLS → (Pre-)Master-Secret log filename
|
|
418
|
+
|
|
419
|
+
**Key insight:** OpenSSL stores `master_key[48]` directly before `session_id[32]` in `ssl_session_st`. Search the coredump for the session ID (from the TLS handshake), then read the 48 bytes before it. This works with coredumps, memory dumps, and Volatility memory extractions.
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## Split Archive Reassembly from HTTP Transfers (ASIS CTF Finals 2013)
|
|
424
|
+
|
|
425
|
+
**Pattern:** PCAP contains multiple HTTP file transfers with MD5-hash filenames, all the same size except one smaller file. Files are fragments of a split archive (e.g., 7z) that must be reassembled in order. A separate TCP stream contains a chat conversation with the archive password.
|
|
426
|
+
|
|
427
|
+
**Identification:**
|
|
428
|
+
- Multiple HTTP-transferred files with uniform size (e.g., 61440 bytes) and one smaller trailing fragment
|
|
429
|
+
- First file has an archive magic number (e.g., `7z` header `37 7A BC AF 27 1C`)
|
|
430
|
+
- Cover traffic and multiple ports used to obscure the transfers
|
|
431
|
+
- Apache directory listing in PCAP provides file modification timestamps
|
|
432
|
+
|
|
433
|
+
**Reassembly workflow:**
|
|
434
|
+
|
|
435
|
+
1. Extract all HTTP objects and identify fragments:
|
|
436
|
+
```bash
|
|
437
|
+
# Export HTTP objects
|
|
438
|
+
tshark -r capture.pcap --export-objects http,/tmp/http_objects
|
|
439
|
+
ls -la /tmp/http_objects/
|
|
440
|
+
|
|
441
|
+
# Check first file for archive magic number
|
|
442
|
+
xxd /tmp/http_objects/d33cf9e6230f3b8e5a0c91a0514ab476 | head -1
|
|
443
|
+
# 00000000: 377a bcaf 271c ... → 7z archive header
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
2. Determine fragment order from Apache directory listing timestamps in PCAP:
|
|
447
|
+
```bash
|
|
448
|
+
# Extract the directory listing page
|
|
449
|
+
tshark -r capture.pcap -Y "http.response and http.content_type contains html" \
|
|
450
|
+
-T fields -e http.file_data | head -1
|
|
451
|
+
# Parse modification timestamps from the HTML table, sort chronologically
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
3. Concatenate fragments in timestamp order:
|
|
455
|
+
```bash
|
|
456
|
+
# Order files by modification timestamp (earliest first, smallest file last)
|
|
457
|
+
cat d33cf9e6230f3b8e5a0c91a0514ab476 \
|
|
458
|
+
57f18f111f47eb9f7b5cdf5bd45144b0 \
|
|
459
|
+
1e13be50f05092e2a4e79b321c8450d4 \
|
|
460
|
+
... \
|
|
461
|
+
c68cc0718b8b85e62c8a671f7c81e80a > archive.7z
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
4. Extract password from TCP conversation stream:
|
|
465
|
+
```bash
|
|
466
|
+
# Follow TCP streams to find chat with key exchange
|
|
467
|
+
tshark -r capture.pcap -q -z "follow,tcp,ascii,0"
|
|
468
|
+
# Look for "secret key" / "part N" messages, concatenate all parts
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
5. Decompress with recovered password:
|
|
472
|
+
```bash
|
|
473
|
+
7z x archive.7z -p"M)m5s6S^[>@#Q3+10PD.KE#cyPsvqH"
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
**Key insight:** When PCAP contains many same-sized file transfers, suspect a split archive. The fragment order is not the download order — look for an Apache/nginx directory listing page in the PCAP whose modification timestamps provide the correct reassembly sequence. The smallest file is the trailing fragment.
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
See also: [network-advanced.md](network-advanced.md) for advanced network forensics techniques (packet interval timing encoding, USB HID mouse/pen drawing recovery, NTLMv2 hash cracking, TCP flag covert channels, DNS steganography, multi-layer PCAP with XOR, Brotli decompression bomb seam analysis, SMB RID recycling, Timeroasting MS-SNTP).
|