checklist:

  • Null/Anonymous Access
    • Try smbclient -L //target -N or rpcclient -U "" target
    • Look for open shares, printer info, usernames, host info
    • Some shares allow full read/write without auth
  • SMB Share Enumeration
    • Use smbclient, enum4linux, crackmapexec, or smbmap
    • Look for:
      • Readable shares like IPC$, ADMIN$, C$
      • Writable shares → upload reverse shells, malicious scripts
      • GPP (Group Policy Preferences) XML files with saved creds
  • Credential Reuse
    • Spray found creds with crackmapexec smb <target> -u <user> -p <pass>
    • Reused local admin = lateral movement heaven
  • SMB Relay Attacks
    • If signing not required, relay NTLM hashes via ntlmrelayx
    • Combine with LLMNR/NBNS spoofing (responder, mitm6) for hash capture
  • Password Spraying
    • Spray common passwords across known usernames
    • Avoid lockouts—slow and rotate usernames
  • SMB Version / CVEs
    • SMBv1? Try EternalBlue (CVE-2017-0144), WannaCry exploits
    • Identify version with nmap -p445 --script smb-protocols
  • Lateral Movement
    • Use psexec.py, wmiexec.py, or smbexec.py from Impacket
    • Need valid creds and admin access to target
  • Print Spooler Abuse
    • PrintNightmare (CVE-2021-34527) or spoolsample tricks
    • Can lead to RCE or relay attacks if spooler is running
  • Drop & Execute Binaries
    • Upload .exe or .dll into a writable share
    • Trigger execution via services, scheduled tasks, or tricked users
  • LSA Secrets & SAM Dumps
    • With SYSTEM or admin: dump hashes from remote registry via secretsdump.py
    • Use pypykatz or mimikatz to parse
  • GPP Credential Recovery
    • Old GPP XMLs in SYSVOL contain AES-encrypted passwords
    • Decrypt using known key (MS published it lol)
  • Signing Required?
    • If not, relay attacks are possible
    • Use smbclient -m SMB2 or look at smb-signing-checker