๐Ÿ” Essential Enumeration Tools

Bloodhound

Purpose: Attack path analysis and AD relationship mapping

Language: JavaScript/C#

URL: https://github.com/BloodHoundAD/BloodHound

Usage: Run SharpHound collector, import to Bloodhound for visualization

PowerView

Purpose: PowerShell AD enumeration and situational awareness

Language: PowerShell

URL: https://github.com/PowerShellMafia/PowerSploit

Usage: Import PowerView, run enumeration cmdlets (Get-DomainUser, Get-DomainComputer)

ADRecon

Purpose: Comprehensive AD reconnaissance and documentation

Language: PowerShell

URL: https://github.com/adrecon/ADRecon

Usage: ./ADRecon.ps1 -DomainController DC01 -Credential $cred

ldapdomaindump

Purpose: LDAP enumeration and HTML report generation

Language: Python

URL: https://github.com/dirkjanm/ldapdomaindump

Usage: ldapdomaindump -u 'DOMAIN\user' -p password ldap://dc01

โš”๏ธ Attack & Exploitation Tools

Impacket

Purpose: Python library for network protocols (SMB, MSRPC, etc.)

Language: Python

URL: https://github.com/fortra/impacket

Usage: secretsdump.py, GetUserSPNs.py, psexec.py, etc.

Rubeus

Purpose: Kerberos interaction and attack tool

Language: C#

URL: https://github.com/GhostPack/Rubeus

Usage: Rubeus.exe kerberoast, Rubeus.exe asreproast

Mimikatz

Purpose: Credential extraction and ticket manipulation

Language: C

URL: https://github.com/gentilkiwi/mimikatz

Usage: sekurlsa::logonpasswords, lsadump::dcsync

CrackMapExec

Purpose: Post-exploitation and lateral movement tool

Language: Python

URL: https://github.com/byt3bl33d3r/CrackMapExec

Usage: crackmapexec smb 192.168.1.0/24 -u user -p password

Evil-WinRM

Purpose: WinRM shell and post-exploitation

Language: Ruby

URL: https://github.com/Hackplayers/evil-winrm

Usage: evil-winrm -i 192.168.1.100 -u user -p password

๐Ÿ“œ ADCS Attack Tools

Certify

Purpose: Active Directory Certificate Services enumeration and abuse

Language: C#

URL: https://github.com/GhostPack/Certify

Usage: Certify.exe find /vulnerable

Certipy

Purpose: Python-based ADCS attack tool

Language: Python

URL: https://github.com/ly4k/Certipy

Usage: certipy find -u user@domain.local -p password

PKINITtools

Purpose: Tools for Kerberos PKINIT and certificate-based attacks

Language: Python

URL: https://github.com/dirkjanm/PKINITtools

Usage: gettgtpkinit.py -cert-pfx user.pfx domain.local/user

๐Ÿ’ป Lab Setup - VirtualBox/VMware

  1. Download Windows Server 2019/2022 evaluation ISO
  2. Create Domain Controller VM (4GB RAM, 60GB disk)
  3. Create 2-3 Windows 10/11 client VMs (2GB RAM each)
  4. Create internal/NAT network for isolated lab
  5. Configure static IPs: DC (192.168.10.10), Clients (192.168.10.20+)
  6. Install Active Directory Domain Services on server
  7. Promote to Domain Controller (forest: testlab.local)
  8. Join client machines to domain
  9. Create vulnerable configurations for practice

๐Ÿงช Recommended: Build with GOAD

GOAD (Game Of Active Directory) is a complete vulnerable AD lab for practicing attacks and defenses.

Quick Start Checklist

  1. Review GOAD hardware requirements and choose a lab size (MINILAB/Light/Full)
  2. Clone repo and select provider (Vagrant/Ansible/Docker)
  3. Set variables in globalsettings.ini to fit your host
  4. Run the chosen bootstrap (e.g., goad.sh or vagrant up)
  5. Verify forests/domains are reachable; snapshot base state
  6. Optionally enable ADCS/SCCM or extensions for advanced modules

โš ๏ธ Vulnerable Lab Configuration

๐Ÿ”— Related Resources

โ† Back to AD Security