p0dalirius/Coercer
p0dalirius/Coercer has 2,347 GitHub stars and 224 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 22:37 UTC. Last push 2026-04-24.
A python script to automatically coerce a Windows server to authenticate on an arbitrary machine through 12 methods.
What you can do
- Lists open SMB pipes on the remote machine (in modes scan authenticated and fuzz authenticated)
- Tries to connect on a list of known SMB pipes on the remote machine (in modes scan unauthenticated and fuzz unauthenticated)
- Calls one by one all the vulnerable RPC functions to coerce the server to authenticate on an arbitrary machine.
- Random UNC paths generation to avoid caching failed attempts (all modes)
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
A python script to automatically coerce a Windows server to authenticate on an arbitrary machine through many methods.
Windows Support
To build a binary for Windows, download the installer.ps1 script from this repository. Run it simply with no arguments to create a binary in the working directory. Use -h or --help for the help menu with options.
Features
- Core:
- Lists open SMB pipes on the remote machine (in modes scan authenticated and fuzz authenticated)
- Tries to connect on a list of known SMB pipes on the remote machine (in modes scan unauthenticated and fuzz unauthenticated)
- Calls one by one all the vulnerable RPC functions to coerce the server to authenticate on an arbitrary machine.
- Random UNC paths generation to avoid caching failed attempts (all modes)
- Configurable delay between attempts with
--delay
- Options:
- Filter by method name with
--filter-method-name, by protocol name with--filter-protocol-nameor by pipe name with--filter-pipe-name(all modes) - Target a single machine
--targetor a list of targets from a file with--targets-file - Specify IP address OR interface to listen on for incoming authentications. (modes scan and fuzz)
- Filter by method name with
- Exporting results
Installation
You can now install it from pypi (latest version is ) with this command:
sudo python3 -m pip install coercer
Shell Completions
Coercer uses argcomplete to autogenerate tab completions for your shell (bash, zsh, fish, ...).
See the argcomplete README for how to enable tab completions.
Quick start
You want to assess the Remote Procedure Calls listening on a machine to see if they can be leveraged to coerce an authentication?
- Use scan mode, example:
You want to exploit the Remote Procedure Calls on a remote machine to coerce an authentication to ntlmrelay or responder?
- Use coerce mode, example:
You are doing research and want to fuzz Remote Procedure Calls listening on a machine with various paths?
- Use fuzz mode, example:
Contributing
Pull requests are welcome. Feel free to open an issue if you want to add other features.
Credits
- @tifkin_ and @elad_shamir for finding and implementing PrinterBug on MS-RPRN
- @topotam77 for finding and implementing PetitPotam on MS-EFSR
- @topotam77 for finding and @_nwodtuhs for implementing ShadowCoerce on MS-FSRVP
- @filip_dragovic for finding and implementing DFSCoerce on MS-DFSNM
- @evilashz for finding and implementing CheeseOunce on MS-EVEN
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,471 starspublic-apis/public-apis
A collective list of free APIs
496,782 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,352 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,084 stars