PRIMARY CATEGORY β†’ CHECKLISTS

Mindmap

AD Mindmap

Zoom in


Non-Credentialed Enumeration

W/O Knowing Users
External Network ( OSINT )

Check this out

Corporate Website

  • Hunting for Files ( e.g. Google dork β†’ inurl:www.domain.tld filetype:pdf ) β†’ Look for sensitive information on the file’s Metadata Properties ( e.g. Domain User Account β†’ User Accounts’ Naming Convention )

  • Hunting Email Addresses

About us or Contact pages ( e.g. https://www.domain.tld/about-us )

Google Dorks ( e.g. inurl:www.domain.tld intext:@domain.tld )

Social Media

  • Username Harvesting through Linkedin

Linkedin2Username

Internal Network

Internal Host Discovery

   TCPDump ↔ Wireshark

   FPing ↔ Nmap

  • SMB - Null | Guest | Random Authentication

   Netexec

  • RPC - SAMR - Null | Guest | Random Authentication

   RPCClient ↔ Impacket’s SAMRDump.py

   RPCClient

  • LDAP - Anonymous Bind

   LDAPSearch ↔ Go-Windapsearch

  • DNS - Zone Transfer

   DIG

  • Kerberos - AD Naming Convention Discovery

   OSINT ( Linkedin2Username, Social Media, Corporate Website… ) + Username-Anarchy + Kerbrute

   Kerbrute + Statistically-likely-Usernames

   MDNS Poisoning ( e.g. Responder )

   ( OSINT ↔ Statistically-Likely-Usernames ) + Kerbrute

LLMNR/NBT-NS Poisoning

   ( Responder ↔ Inveigh ) + ( Hashcat + John )

   PetitPotam.py + Impacket’s NTLMRelayx.py

Knowing Users

   Kerbrute ↔ Impacket’s GetNPUsers.py ↔ Rubeus

If any of the above Authentication Methods work or are enabled, first check the Domain Password Policy before spraying

   Netexec ↔ THC-Hydra ↔ Medusa


Credentialed Enumeration

Reminder β†’ Always keep in mind that users may reuse passwords! ( e.g. Password Spray all user accounts using the collected password )

  • SMB - Shares Listing

If the user account has write permissions on a given share, just try an NTMLv2 Capture via File Coercion

   Netexec ↔ SMBMap ↔ SMBClient ↔ Mount

  • SMB - ADS (Alternative Data Stream) on Shares with Read Permission

SMBClient

  • SMB - User Accounts Enumeration

   Netexec

   Netexec ↔ Mount ↔ Impacket’s GetGPPPassword.py

   Netexec

   RPCClient ↔ Impacket’s SAMRDump.py

   RPCClient

   RPCClient

  • LDAP - User Accounts Enumeration

   LDAPSearch ↔ Impacket’s GetADUsers.py ↔ Go-Windapsearch

  • LDAP - User Accounts’ Description Listing

   LDAPSearch ↔ Go-Windapsearch

  • LDAP - Sensitive Information in LDAP Object Attributes

   LDAPSearch ↔ Go-Windapsearch

  • LDAP - Comprehensive Domain Enumeration

   LDAPDomainDump.py ↔ ( BloodHound.py + BH CE )

Check this out ( and this too )

  • DNS - DNS Records Dump

   ADIDNSDump

Check this out as well

   Impacket’s GetUserSPNs.py ↔ Rubeus ↔ Powerview

   BloodyAD ↔ Impacket’s DACLEdit.py ↔ Powerview ↔ ( BloodHound.py + BH CE )

First check the Domain Password Policy

   Netexec ↔ THC-Hydra ↔ Medusa

  • Password Reuse - Domain and Local ( e.g. RID-500 of each domain-joined machine )

Using previously obtained Credentials

   Netexec ↔ THC-Hydra ↔ Medusa

  • LDAP - Domain Computers Enumeration

   Impacket’s GetADComputers.py

   Netexec ↔ Powerview ↔ ( BloodHound.py + BH CE )

  • A compromised user account is privileged on a domain-joined computer

   Netexec

  • GPO Enumeration

   Powerview ↔ LDAPDomainDump.py ↔ ( BloodHound.py + BH CE ) ↔ Group3r

   NoPAC.py

   CVE-2021-1675

   ( Responder ↔ Inveigh ) + ( Hashcat + John )

   ( PetitPotam.py ↔ Dementor.py ) + Impacket’s NTLMRelayx.py

  • ADCS - CA Enumeration

Look for know vulnerabilities e.g ESC8, ESC15, ESC16 and so on

   Netexec ↔ Certipy

   BloodyAD

   Impacket’s GetLAPSpassword.py ↔ LDAPsearch ↔ BloodyAD


Privesc and Lateral Movement

See Windows Privesc Checklist