Skip to content

xploitnik/certipy-acl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

184 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Certipy-ACL

LDAP-first ACL enumeration for identifying actionable privilege escalation paths in Active Directory.

Certipy-ACL is a focused enumeration tool that queries and parses nTSecurityDescriptor over LDAP to resolve effective ACL abuse rights without relying on broad object collection.

It identifies privilege escalation primitives such as:

Privilege Meaning
WriteOwner Take ownership
WriteDACL Modify permissions
GenericAll Full control
GenericWrite Modify attributes
AddSelf Add to group
DCSync Replicate domain secrets
ForceChangePassword Reset user password

image

PoC

Certipy-ACL operates on SIDs (Security Identifiers).
You are expected to obtain valid SIDs during enumeration.

Common methods:

🔹 Impacket-lookup.sid

lookupsid.py $domain.htb/$user:$psswd@$target
image

SID Example

image

Example Syntax

certipy-acl --auth ntlm  -u $user@$domain.htb -p $psswd -d $domain.htb --dc-ip $target --filter-sid $taget_sid --resolve-sid
image

BloodHound Data

image

michael → can reset password of → Benjamin Brown

Why use this?

  • Attack-focused output — shows what you can actually abuse
  • Quiet enumeration — minimal LDAP noise
  • Targeted scanning — filter by SID or DN
  • BloodHound-aligned — same privilege concepts, live from LDAP

Quick Start

git clone https://github.com/xploitnik/certipy-acl.git
cd certipy-acl

python3 -m venv .venv
source .venv/bin/activate

pip install -e .

Usage

Basic enumeration

certipy-acl -u $user@$domain -p $psswd -dc-ip $target

Filter by SID (Recommended - scope ACL by Domain SID and RID)

certipy-acl --auth ntlm  -u $user@$domain.htb -p $psswd -d $domain.htb --dc-ip $target --filter-sid $target_sid --resolve-sid

Limit scope to a DN

certipy-acl -u $user@$domain -p $psswd -dc-ip $target \
  --target-dn "CN=Users,DC=domain,DC=local"

Show only escalation paths

certipy-acl ... --only-escalation


Auth Options

  • NTLM (user + password)
  • Kerberos (recommended for OPSEC)

OPSEC Tip

Use Kerberos whenever possible:

export KRB5CCNAME=...
certipy-acl -k ...

Goal

Certipy-ACL is built to answer one question:

"What can I abuse right now?"


Author

Built for red teamers, CTF players, and operators who want signal over noise.

About

Custom Certipy ACL module with real LDAP ACE parsing

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages