đź§ Potato Attack
What is it?
- Concept: A family of local Windows privilege escalation techniques (RottenPotato → JuicyPotato → JuicyPotatoNG → PrintSpoofer → GodPotato, roughly in chronological order) that all abuse an account holding
SeImpersonatePrivilegeto coerce aNT AUTHORITY\SYSTEM-authenticated connection, then steal and impersonate the resulting token. - Impact: Local privilege escalation from a service/IIS app-pool account straight to
NT AUTHORITY\SYSTEM— this is not specific to domain-joined machines, it works identically on a standalone Windows box.
How it works
SeImpersonatePrivilege lets a process impersonate the security context of any token it can get its hands on, but it doesn’t by itself hand over a SYSTEM token. Every Potato variant works around this by tricking a SYSTEM-level component (historically the COM BITS/RPC activation service; more recently the print spooler or DCOM activation in general) into authenticating to a listener the attacker controls — usually a local named pipe or RPC endpoint. Once that SYSTEM-authenticated connection lands, the attacker’s process impersonates it and now runs as SYSTEM. The different variants mostly differ in which Windows service they coerce and how (a leaked file descriptor, a specific COM CLSID, spoofing the print spooler’s RPC calls), which is exactly why some get patched while others keep working.
Exploitation
Prerequisites
- Code execution as an account with
SeImpersonatePrivilegeenabled — check withwhoami /priv
Attack Vectors
# Confirm the privilege is present
whoami /priv
# Check the OS build, since different variants are patched on different builds
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
# Run whichever variant isn't patched on this build
GodPotato-NET4.exe -cmd "cmd.exe /c whoami"Notes
- If the newest variant (GodPotato) fails, it’s worth trying older ones too (JuicyPotatoNG, PrintSpoofer) — patch coverage isn’t always consistent across every variant on every build, and an older technique occasionally still works where a newer one doesn’t (or vice versa).
- This privilege shows up constantly on IIS application pool identities and SQL Server service accounts by default — landing a shell as either of those is very often a straight line to SYSTEM via this technique alone.
Mitigation
- Fix: Don’t grant
SeImpersonatePrivilegeto service accounts that don’t strictly need it; keep systems patched, since most individual Potato variants do eventually get closed off by Microsoft.
Related Usage
| File | Created |
|---|---|
| HTB - Scrambled | Monday, July 20th 2026, 11:37:01 pm |
References: