Skip to main content
ADscan - Active Directory Pentesting Tool for Linux

ADscan - Active Directory Pentesting Tool for Linux

PyPI version downloads GitHub stars GitHub forks License: BSL 1.1 Platform Discord

Free active directory pentesting tool for Linux. Replace your AD pentest toolchain with one CLI.

ADscan is a free Linux CLI for pentesters, red teamers, and security consultants. It covers 104 Active Directory attack techniques in a single workflow: enumeration, Kerberoasting, AS-REP roasting, ADCS/ESC exploitation, DCSync, credential harvesting, and native attack-path analysis. No Windows required.

Docs | Discord | Website


Table of Contents


Demo

asciicast

Real run, no cuts: ADscan takes HTB Forest from zero access to Domain Admin in ~3 minutes, unattended.


Quick Start

Before you start: ADscan runs inside Docker, so you need Docker Engine installed and running, and about 12 GB of free disk for the runtime image (the installer requires 15 GB free before it will pull). Host must be Linux or macOS. Native Windows and WSL are not supported.

docker version   # if this fails, install Docker first
pipx install adscan
adscan install
adscan start

Docker install steps per distribution, and everything else: adscanpro.com/docs

Once inside the shell, start an unauthenticated recon:

(ADscan) > start_unauth

This discovers domain controllers, SMB exposure, null sessions, and roastable accounts without credentials. From there, run start_auth with a domain user to enumerate LDAP, collect BloodHound data, and build the attack graph.

One command instead of the shell

adscan ci runs the whole pipeline non-interactively: preflight, recon, enumeration, exploitation, reporting, no prompts. Same engine, no shell.

# Authenticated scan of a domain
adscan ci auth --type audit --interface eth0 \
  --domain corp.local --dc-ip 10.0.0.1 -u alice -p 'S3cr3t!'

# Unauthenticated sweep
adscan ci unauth --type audit --interface eth0 --dc-ip 10.0.0.1

--type, --interface and the auth/unauth positional are required. adscan ci --help lists the rest.

adscan ci is still marked beta: it makes every decision the interactive shell would ask you about, and those defaults and its output format can change between releases. The interactive adscan start shell is the supported path for client work; ci is for pipelines, lab automation, and unattended runs.


ADscan vs Alternatives

Most AD pentesters use 5-8 separate tools. ADscan replaces the chain:

ADscan NetExec/CrackMapExec Certipy Impacket BloodHound CE
Platform Linux Linux/Win Linux Linux Linux/Win
AD enumeration Full Partial No Partial No
Kerberoasting Yes Yes No Yes No
ADCS ESC1-16 Yes (auto) No Yes (manual) No No
Attack paths Native graph No No No Yes
DCSync Yes Yes No Yes No
Single workflow Yes No No No No
Compliance reports PRO tier No No No No

ADscan is not a replacement for every tool in every scenario. It is the fastest path from credentials to a documented attack chain in a single terminal session.


Kerberoasting, ADCS and AD Attack Coverage

ADscan covers 104 Active Directory attack techniques across the kill chain — see the full technique coverage table, generated from the product catalog and mapped to MITRE ATT&CK:

LITE (Free, Source Available)

Everything a pentester could do manually, without the toolchain:

  • Three operation modes (automatic/semi-auto/manual)
  • DNS, LDAP, SMB, Kerberos enumeration
  • AS-REP Roasting and Kerberoasting
  • Password spraying
  • Native graph collection and attack-path analysis
  • Credential harvesting (SAM, LSA, DCSync)
  • ADCS detection and template enumeration
  • GPP passwords and CVE enumeration
  • Export to TXT/JSON
  • Workspace and evidence management

PRO

What takes days manually, automated:

  • Algorithmic attack graph generation
  • Auto-exploitation chains (unauthenticated to Domain Admin)
  • ADCS ESC1-16 auto-exploitation
  • MITRE-mapped PDF reports
  • Multi-domain trust spidering
  • Advanced privilege escalation chains
  • Priority enterprise support

Full comparison | Get PRO beta free


Common Pentest Workflows

  • CTF and lab auto-pwn: reproduce HTB Forest, Active, and Cicada attack chains from the docs.
  • Unauthenticated AD recon: discover domains, DNS, SMB exposure, null sessions, users, and roastable accounts.
  • Authenticated enumeration: collect LDAP, SMB, Kerberos, ADCS, attack-graph data, and credential exposure.
  • Privilege escalation: execute Kerberoasting, AS-REP Roasting, DCSync, GPP password, ADCS, and local credential workflows.
  • Evidence handling: keep workspaces isolated and export findings to TXT/JSON for reports.

Usage Examples

Unauthenticated recon:

adscan start
# Inside the ADscan shell:
start_unauth

Discovers domain controllers, DNS, SMB null sessions, and roastable accounts without credentials.

Authenticated scan with BloodHound collection:

# Inside the ADscan shell (after start_auth):
start_auth

Collects LDAP data, builds the attack graph, and identifies Kerberoasting targets, ADCS misconfigurations, and privilege escalation paths.

More walkthroughs:


Want the Full Client Report?

ADscan PRO client report: cover, AD exposure score with severity breakdown, and per-framework compliance mapping, generated as an audit-ready PDF

The PRO deliverable is an audit-ready PDF an executive and a sysadmin can both act on: a posture score, attack-path analysis, and per-framework compliance mapping. The pages above come from a sample engagement against a lab domain.

ADscan LITE gives you enumeration, attack paths, and findings in the terminal. ADscan PRO turns them into three client-ready PDFs in 90 seconds:

  • Security Assessment Report: the risk narrative, attack chains, and posture score a CISO and board can act on
  • AD Hardening Playbook: a 30-day remediation roadmap with effort and ownership per item
  • AD Control Coverage Report: your findings mapped to ENS Alto, NIS2, and ISO 27001 for the auditor

Beta access is free for security consultants. adscanpro.com/pro


Requirements

OS Linux (Debian/Ubuntu/Kali/Parrot) or macOS with Docker Desktop. Native Windows and WSL are not supported
Docker Docker Engine. Compose is no longer needed
Disk 15 GB free before install; the runtime image is roughly 12 GB unpacked
Privileges docker group or sudo
Network Internet (pull images) + target network

FAQ

Does ADscan work without a Windows machine? Yes. ADscan runs entirely on Linux inside Docker. No Windows VM, no RDP, no agent installation required. It connects to your target AD environment over the network using standard protocols (LDAP, SMB, Kerberos).

Is ADscan safe to run in production Active Directory environments? ADscan LITE is read-only by default for enumeration. Exploitation steps (Kerberoasting, credential dumping, DCSync) require explicit operator confirmation. Run it in a test window with your client's written authorization. See the security policy for responsible use guidelines.

How is ADscan different from BloodHound? BloodHound is a graph analysis tool that requires separate data collection (SharpHound or AzureHound). ADscan collects data, builds the attack graph, and executes the attack chain from one terminal. LITE includes native graph collection compatible with BloodHound CE. PRO adds algorithmic attack path auto-exploitation.


Developer Setup

uv sync --extra dev
uv run adscan --help
uv run adscan version

Quality checks:

uv run ruff check adscan_core adscan_launcher adscan_internal
uv run pytest -m unit

Contributing

Bug reports, lab reproductions, command-output samples, and focused pull requests are welcome. See CONTRIBUTING.md for the PR workflow and required checks.

Enterprise support: hello@adscanpro.com


License

Source available under the Business Source License 1.1.

  • Use freely for pentesting (personal or paid engagements)
  • Read, modify, and redistribute the source code
  • Cannot create a competing commercial product
  • Converts to Apache 2.0 on 2029-02-01

(c) 2024-2026 Yeray Martin Dominguez | adscanpro.com

Release files for adscan 11.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for adscan 11.1.0
File Size Uploaded
adscan-11.1.0.tar.gz 514.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for adscan 11.1.0
File Interpreter ABI Platform
adscan-11.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / adscan-11.1.0.tar.gz

Download URL adscan-11.1.0.tar.gz
Size 514.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f2209c2fa760ba5847b8412f2c8dd14addca80520ae7accee1688bec520e0145
BLAKE2b-256 checksum
How to use checksums
36ceb8ebd704ff70695d2c9495ee0c7381f2101fd23e5272cc53601a1dcc567a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Release files / adscan-11.1.0-py3-none-any.whl

Download URL adscan-11.1.0-py3-none-any.whl
Size 557.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60ef9074510f957704c5e2cf63c085c2d99e11d1f31ffc90e143b04639898d60
BLAKE2b-256 checksum
How to use checksums
ab4e458f52d4096dde40f167985bf50bd6d040f84a148633ff04da0809cca99e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Release history Release notifications | RSS feed

13.0.0

2 release files

11.2.0

2 release files

This release

11.1.0 This release

2 release files

10.1.0

2 release files

10.0.0

2 release files

9.2.1

2 release files

9.2.0

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.0.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.5.0

2 release files

6.4.2

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.3

2 release files

6.2.2

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.4

2 release files

5.1.3

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page