1. Sweep the subnet
On an authorized engagement, crackmapexec sweeps the SMB hosts to map the domain's reachable machines and shares.
crackmapexec smb 10.0.0.0/24Typorithm · hard
Step 1 of 8 · intro card
Active Directory
Most corporate tests center on Active Directory. With authorization, enumerate users, groups, shares, and trusts using crackmapexec and ldapsearch; BloodHound collects the data and graphs the shortest path to Domain Admin. The defensive control is tiering — segmenting admin access reduces the attack surface BloodHound can graph.
Active Directory is the backbone of most corporate networks, so authorized engagements almost always begin by mapping it. crackmapexec sweeps SMB hosts across a subnet, and ldapsearch reads the directory tree from the domain controller to enumerate users, groups, shares, and trusts.
BloodHound's ingestor (bloodhound-python -c all) collects relationships — group memberships, sessions, and ACLs — then graphs them. The graph reveals the shortest path from a low-privilege foothold to Domain Admin, which is exactly what a defender wants to see and close first.
The defensive control is a tiered administration model: separating Tier 0 (domain controllers, identity) from workstations and limiting where privileged accounts log in shrinks the attack surface. Fewer dangerous edges means BloodHound finds no easy path to Domain Admin.
crackmapexec + ldapsearch enumerate the domain.
BloodHound graphs the path to Domain Admin.
Defense: tiered admin shrinks the attack surface.
crackmapexec smb 10.0.0.0/24
bloodhound-python -d corp.local -u user -p pass -c all
ldapsearch -x -H ldap://dc -b "dc=corp,dc=local"
# BloodHound graphs the path to Domain AdminConnect each part of the code to the concept before you type.
On an authorized engagement, crackmapexec sweeps the SMB hosts to map the domain's reachable machines and shares.
crackmapexec smb 10.0.0.0/24The BloodHound ingestor (-c all) collects users, groups, sessions, and ACLs so the data can be graphed.
bloodhound-python -d corp.local -u user -p pass -c allldapsearch reads the directory tree directly from the domain controller to enumerate objects.
ldapsearch -x -H ldap://dc -b "dc=corp,dc=local"BloodHound turns collected relationships into a graph and finds the shortest path to Domain Admin.
# BloodHound graphs the path to Domain AdminRead the concept map and follow the code breakdown.
Type the implementation, repair mistakes and work through every recall exercise.
Use the final check without hints; revisit weak concepts in short practice sessions.