ADPulse: BEYOND THE PERIMETER AD SECURITY AUDIT
BEYOND
THE PERIMETER
ACTIVE DIRECTORY
SECURITY AUDIT
How ADPulse’s 35-point automated scan turns hours of manual AD auditing into minutes — and what those checks actually find inside your domain.
WHAT IS ADPULSE?
An open-source Python tool that connects to your domain controller via LDAP(S), runs a comprehensive battery of security checks, and delivers actionable findings — all without touching a single AD object.
Active Directory is the crown jewel of virtually every enterprise Windows environment. It controls authentication, authorization, group policies, DNS, and certificate services. Yet AD is also one of the most historically misconfigured components in corporate infrastructure — making it the #1 lateral movement target in modern ransomware and APT campaigns.
ADPulse was created to close the gap between “we have AD” and “we know our AD is secure.” Designed by security researcher Joe Helle (dievus), it is a read-only, open-source Python tool that binds to a domain controller over LDAP/LDAPS, executes 35 carefully designed security checks, scores the overall posture, and produces Console, JSON, and HTML reports.
The tool is targeted at IT administrators, penetration testers, and blue teams who need a fast point-in-time snapshot of their AD attack surface without running a full pentest.
ADPulse never modifies any AD object, group membership, GPO, or ACL. Every operation is purely observational — ideal for scheduled audits or pre-pentest reconnaissance.
HOW IT WORKS
ADPulse follows a clean four-stage pipeline from connection to final report.
→ fallback LDAP :389
NTLM + SIMPLE bind
+ SMB probes :445
+ SYSVOL traversal
point deductions
score = max(0, 100−Σ)
JSON export
HTML dark report
ADPulse checks for weak points at every stage of this attack chain.
ALL 35 SECURITY CHECKS
Each check targets a specific attack vector or misconfiguration. Cards are color-coded by potential impact.
cpassword attributes and decrypts them using Microsoft’s publicly known AES key.THE SCORING SYSTEM
ADPulse starts every scan at 100. Each finding deducts points based on severity. The final score categorizes your domain’s overall security posture.
COVERAGE BY ATTACK CATEGORY
INSTALLATION & USAGE
ADPulse requires Python 3.8+, network access to a Domain Controller, and a standard read-only domain account.
| Argument | Required | Default | Description |
|---|---|---|---|
| –domain | Yes | — | Target AD domain (e.g. corp.local) |
| –user | Yes | — | Domain username (no admin rights needed) |
| –password | Yes* | — | Domain password |
| –hash | Alt. to –password | — | NTLM hash for pass-the-hash auth |
| –dc-ip | No | Auto-resolved | Domain Controller IP address |
| –report | No | all | console | json | html | all |
| –output-dir | No | . (current dir) | Parent directory for Reports/ folder |
| –no-color | No | false | Disable colored console output |
THREE REPORT FORMATS
Every scan produces all three formats by default, giving you flexibility for human review, automation, and management reporting.
Colour-coded terminal output with at-a-glance critical findings, key metrics, and real-time progress as each check completes. Perfect for interactive scans and quick triage.
Machine-readable export of all findings, severities, and metadata. Ideal for integration with SIEMs, ticketing systems (Jira, ServiceNow), or custom dashboards like Grafana.
Self-contained dark-themed report with collapsible sections, severity badges, stat cards, scoring legend, and a full ADCS template inventory. Share with management or the security team without installing anything.
HTML and JSON reports may contain account names, group memberships, SPN details, and decrypted GPP passwords. Treat all report formats as confidential, store securely, and share only over encrypted channels.
LIMITATIONS & BEST PRACTICES
Known Limitations
Best Practices
THE BOTTOM LINE
Active Directory is where most modern attacks end up — whether through Kerberoasting, ADCS exploitation, delegation abuse, or ACL misconfigurations. ADPulse gives you a fast, automated, read-only snapshot of exactly how exposed your domain is across 35 of the most exploited attack vectors.
It won’t replace a full red team engagement, but it’s the ideal first step — run it before every internal pentest, after major AD changes, and on a scheduled basis as part of your security hygiene program. A score above 80 means you’ve done the basics right. Anything below 60 means there are paths to your Domain Controller that need closing today.
ADPulse is provided for authorized security assessments only. Always obtain written permission before scanning any Active Directory environment you do not own. This post is for educational purposes only.





