Command Palette

Search for a command to run...

Cheatsheets
PreviousNext

Active Directory Enumeration & Attacks - Tools

Tools of the Trade

Many of the module sections require tools such as open-source scripts or precompiled binaries. Where applicable, these can be found in the C:\Tools directory on the Windows hosts provided in the sections aimed at attacking from Windows. In sections that focus on attacking AD from Linux we provide a Parrot Linux host customized for the target environment as if you were an anonymous user with an attack box within the internal network. All necessary tools and scripts will be preloaded on this host. Here is a listing of many of the tools that we will cover in this module:

ToolDescription
PowerView/SharpViewA PowerShell tool and a .NET port of the same used to gain situational awareness in AD. These tools can be used as replacements for various Windows net* commands and more. PowerView and SharpView can help us gather much of the data that BloodHound does, but it requires more work to make meaningful relationships among all of the data points. These tools are great for checking what additional access we may have with a new set of credentials, targeting specific users or computers, or finding some "quick wins" such as users that can be attacked via Kerberoasting or ASREPRoasting.
BloodHoundUsed to visually map out AD relationships and help plan attack paths that may otherwise go unnoticed. Uses the SharpHound PowerShell or C# ingestor to gather data to later be imported into the BloodHound JavaScript (Electron) application with a Neo4j database for graphical analysis of the AD environment.
SharpHoundThe C# data collector to gather information from Active Directory about varying AD objects such as users, groups, computers, ACLs, GPOs, user and computer attributes, user sessions, and more. The tool produces JSON files which can then be ingested into the BloodHound GUI tool for analysis.
BloodHound.pyA Python-based BloodHound ingestor based on the Impacket toolkit. It supports most BloodHound collection methods and can be run from a non-domain joined attack box. The output can be ingested into the BloodHound GUI for analysis.
KerbruteA tool written in Go that uses Kerberos Pre-Authentication to enumerate Active Directory accounts and perform password spraying and brute forcing.
Impacket toolkitA collection of tools written in Python for interacting with network protocols. The suite of tools contains various scripts for enumerating and attacking Active Directory.
ResponderResponder is a purpose built tool to poison LLMNR, NBT-NS and MDNS, with many different functions.
Inveigh.ps1Similar to Responder, a PowerShell tool for performing various network spoofing and poisoning attacks.
C# Inveigh (InveighZero)The C# version of Inveigh with with a semi-interactive console for interacting with captured data such as username and password hashes.
rpcclientA part of the Samba suite on Linux distributions that can be used to perform a variety of Active Directory enumeration tasks via the remote RPC service.
CrackMapExec (CME)CME is an enumeration, attack, and post-exploitation toolkit which can help us greatly in enumeration and performing attacks with the data we gather. CME attempts to "live off the land" and abuse built-in AD features and protocols such as SMB, WMI, WinRM, and MSSQL.
RubeusRubeus is a C# tool built for Kerberos Abuse.
GetUserSPNs.pyAnother Impacket module geared towards finding Service Principal names tied to normal users.
HashcatA great hashcracking and password recovery tool.
enum4linuxA tool for enumerating information from Windows and Samba systems.
enum4linux-ngA rework of the original Enum4linux tool that works a bit differently.
ldapsearchBuilt in interface for interacting with the LDAP protocol.
windapsearchA Python script used to enumerate AD users, groups, and computers using LDAP queries. Useful for automating custom LDAP queries.
DomainPasswordSpray.ps1DomainPasswordSpray is a tool written in PowerShell to perform a password spray attack against users of a domain.
LAPSToolkitThe toolkit includes functions written in PowerShell that leverage PowerView to audit and attack Active Directory environments that have deployed Microsoft's Local Administrator Password Solution (LAPS).
smbmapSMB share enumeration across a domain.
psexec.pyPart of the Impacket toolset, it provides us with psexec like functionality in the form of a semi-interactive shell.
wmiexec.pyPart of Impacket toolset, it provides the capability of command execution over WMI.
SnafflerUseful for finding information (such as credentials) in Active Directory on computers with accessible file shares.
smbserver.pySimple SMB server execution for interaction with Windows hosts. Easy way to transfer files within a network.
setspn.exeReads, modifies, and deletes the Service Principal Names (SPN) directory property for an Active Directory service account.
MimikatzPerforms many functions. Noteably, pass-the-hash attacks, extracting plaintext passwords, and kerberos ticket extraction from memory on host.
secretsdump.pyRemotely dump SAM and LSA secrets from a host.
evil-winrmProvides us with an interactive shell on host over the WinRM protocol.
mssqlclient.pyPart of Impacket toolset, it provides the ability to interact with MSSQL databases.
noPac.pyExploit combo using CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user.
rpcdump.pyPart of the Impacket toolset, RPC endpoint mapper.
CVE-2021-1675.pyPrintnightmare PoC in python.
ntlmrelayx.pyPart of the Impacket toolset, it performs SMB relay attacks.
PetitPotam.pyPoC tool for CVE-2021-36942 to coerce Windows hosts to authenticate to other machines via MS-EFSRPC EfsRpcOpenFileRaw or other functions.
gettgtpkinit.pyTool for manipulating certificates and TGTs.
getnthash.pyThis tool will use an existing TGT to request a PAC for the current user using U2U.
adidnsdumpA tool for enumeration and dumping of DNS records from a domain. Similar to performing a DNS Zone transfer.
gpp-decryptExtracts usernames and passwords from Group Policy preferences.
GetNPUsers.pyAttempt to list and get TGTs for those users that have the property 'Do not require Kerberos preauthentication' set.
lookupsid.pySID bruteforcing tool.
ticketer.pyA tool for creation and customization of TGT/TGS tickets.
raiseChild.pyPart of the Impacket toolset, It is a tool for child to parent domain privilege escalation.
Active Directory ExplorerActive Directory Explorer (AD Explorer) is an AD viewer and editor. It can be used to navigate an AD database and view object properties and attributes. It can also be used to save a snapshot of an AD database for off-line analysis. When an AD snapshot is loaded, it can be explored as a live version of the database. It can also be used to compare two AD database snapshots to see changes in objects, attributes, and security permissions.
PingCastleUsed for auditing the security level of an AD environment based on a risk assessment and maturity framework (based on CMMI adapted to AD security).
Group3rGroup3r is useful for auditing and finding security misconfigurations in AD Group Policy Objects (GPO).
ADReconA tool used to extract various data from a target AD environment. The data can be output in Microsoft Excel format with summary views and analysis to assist with analysis and paint a picture of the environment's overall security state.