Skip to content
Security
Skill

/ad-methodology

The order of operations for an Active Directory penetration test: setup, collection, exploitation, post-processing. Use this whenever you are planning or driving an AD assessment and need to know what to run before what and why (map before you exploit; harvest easy credentials

BOOST
From plugin
claude-ad
2128 skills3 agents3 commands
Install
$ npx -y skills add ADScanPro/Claude-AD --skill ad-methodology --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ad-methodology

Context preview

The summary Claude sees to decide when to auto-load this skill.

The order of operations for an Active Directory penetration test: setup, collection, exploitation, post-processing. Use this whenever you are planning or driving an AD assessment and need to know what to run before what and why (map before you exploit; harvest easy credentials

SKILL.md

ad-methodology.SKILL.md
name: ad-methodology
description: >
  The order of operations for an Active Directory penetration test: setup, collection,
  exploitation, post-processing. Use this whenever you are planning or driving an AD
  assessment and need to know what to run before what and why (map before you exploit;
  harvest easy credentials before spraying to avoid lockouts; collect the graph before
  you reason about paths). Covers phase sequencing with standard tooling: netexec/nxc,
  impacket, certipy, bloodyAD, kerbrute, BloodHound CE. Invoke it at the start of an
  engagement, when deciding the next phase, or when a step feels out of order.

AD Pentest Methodology: Phase Order

A domain assessment is not a bag of tricks you run in random order. The order is the craft. Enumeration feeds exploitation; a credential harvested cheaply saves you a spray that locks accounts; a graph collected once tells you which of a hundred possible attacks actually reaches Domain Admin. Run the phases in order and each one narrows the next.

Four phases, in sequence:

1. **Setup**: reachability, name resolution, environment posture, first credentials. 2. **Collection**: topology, trusts, directory objects, hosts, shares. Read, do not touch. 3. **Exploitation**: attack-path discovery, then cheap wins, then spraying, then hunting. 4. **Post-processing**: consolidate loot, re-collect as the owned set grows, report.

The rest of this skill is what happens inside each phase and why that order holds.

---

Phase 1: Setup

You cannot attack a DC you cannot reach, resolve, or authenticate against. Get these four things straight before anything else.

1.1 Reachability and DNS

The DC is the DNS server for the domain. If your resolver does not point at it, `corp.local`, `dc01.corp.local` and SRV records will not resolve, and half your tools fail with confusing errors that look like auth problems.

# Point resolution at the DC, confirm the domain answers
nslookup -type=SRV _ldap._tcp.dc._msdcs.corp.local <dc_ip>
nxc smb <dc_ip>                      # confirms host up + prints domain/hostname/OS

Kerberos also needs FQDNs. Add the DC to `/etc/hosts` (`<dc_ip> dc01.corp.local dc01`) so short names and IPs both resolve to the canonical FQDN. This one step prevents a whole class of Kerberos SPN failures later (see `ad-environment-constraints`).

1.2 Clock sync

Kerberos rejects tickets when client and DC differ by more than five minutes (`KRB_AP_ERR_SKEW`). Sync before you touch Kerberos.

sudo ntpdate <dc_ip>        # or: sudo rdate -n <dc_ip>

1.3 Environment posture: detect before you authenticate

Fingerprint the environment's hardening before you pick an auth path. Whether NTLM is disabled, whether the KDC is AES-only, whether LDAP signing / channel binding is required, whether LDAPS is even listening. Every one of these changes which command will work and which will silently fail. Probe it first, then choose Kerberos vs NTLM, LDAPS vs LDAP, RC4 vs AES accordingly. The full catalogue of constraints and how to read them lives in `ad-environment-constraints`; the point here is that posture detection belongs in setup, not as an afterthought when a bind fails.

# Cheap unauthenticated fingerprint of the target surface
nxc smb <dc_ip> --gen-relay-list relaytargets.txt   # SMB signing posture across hosts
nxc ldap <dc_ip>                                     # LDAP/LDAPS reachability + null bind behaviour

1.4 First credentials

Everything downstream is gated on having *a* foothold identity. Before you assume you have none, try the credential-free vectors that frequently yield one:

  • **Anonymous / null-session enumeration** of users (RID cycling) to build a username list.
  • **AS-REP roasting** against accounts with pre-auth disabled: no password needed.
  • **Responder / LLMNR-NBNS poisoning** to capture a NetNTLM hash.
# RID-cycle a user list from a null session, then feed AS-REP roasting
nxc smb <dc_ip> -u '' -p '' --rid-brute > rids.txt
GetNPUsers.py corp.local/ -usersfile users.txt -dc-ip <dc_ip> -no-pass -format hashcat

You leave setup with: reachable DC, working resolution, clock in sync, a read on the posture, and ideally one credential or hash to work with.

---

Phase 2: Collection

Map before you exploit. This is the rule that separates a professional assessment from flailing. You collect the entire directory and network picture *first*, reason over it, and only then act, because the graph tells you which attacks are worth attempting and which lead nowhere. Collection is read-only: LDAP queries, SAMR lookups, share listings. Nothing here changes state on the target.

2.1 Topology and trusts

Before enumerating one domain, learn the shape of the forest. A trust can make a credential from domain A the key to domain B, and a path that looks blocked inside one domain is trivial across a trust.

nxc ldap <dc_ip> -u user -p pass -M enum_trusts
nxc ldap <dc_ip> -u user -p pass --dc-list      # enumerate DCs in the domain

2.2 Directory collection: the BloodHound graph

Collect the object graph once, in full. Users, groups, computers, ACLs, sessions, GPOs, delegation: this is the single most valuable artifact of the engagement, because attack paths are computed *from* it. BloodHound CE (Apache-2.0, genuinely open source) ingests the collector output and lets you query low-priv → Domain Admin routes.

# Python collector (bloodhound-ce-py): LDAP + SMB collection into JSON for BloodHound CE
bloodhound-ce-python -u user -p pass -d corp.local -ns <dc_ip> -c All --zip

# or netexec's built-in BloodHound module
nxc ldap <dc_ip> -u user -p pass --bloodhound --collection All --dns-server <dc_ip>

Request only the attributes you need and spread queries over time. BloodHound-style collection has a well-known LDAP signature that MDI and ATA detect (see `ad-opsec-telemetry`).

2.3 LDAP / SAMR / shares

Fill in the detail the graph does

Read more
Ships withclaude-ad

Active Directory pentest methodology for Claude Code. Skills, agents and commands that give Claude the playbook for an internal Active Directory assessment: the phase order, the environment constraints that break your tooling, the telemetry each technique

Get the whole plugin

Other skills on claude-ad.