Versi Rottenpotatong yang manis, dengan sedikit jus, yaitu alat eskalasi hak istimewa lokal lainnya, dari akun Windows Service ke NT Authority System
Rottenpotatong dan variannya memanfaatkan rantai eskalasi hak istimewa berdasarkan layanan BITS yang memiliki pendengar MITM pada 127.0.0.1:6666 dan ketika Anda memiliki hak istimewa SeImpersonate atau SeAssignPrimaryToken . Selama Windows Build Review kami menemukan pengaturan di mana BITS sengaja dinonaktifkan dan port 6666 diambil.
Kami memutuskan untuk mempersenjatai Rottenpotatong: Say Hello To Juicy Potato .
Untuk teori, lihat Rotten Potato - Privilege Escalation Dari Akun Layanan ke Sistem dan ikuti rantai tautan dan referensi.
Kami menemukan bahwa, selain BITS ada beberapa server yang dapat kami disalahgunakan. Mereka hanya perlu:
IMarshalSetelah beberapa pengujian, kami memperoleh dan menguji daftar ekstensif CLSID yang menarik di beberapa versi Windows.
Juicypotato memungkinkan Anda untuk:
Target clsid
Pilih clsid yang Anda inginkan. Di sini Anda dapat menemukan daftar yang diselenggarakan oleh OS.
Port mendengarkan com
Tentukan port mendengarkan com yang Anda sukai (bukannya hardcoded 6666)
Com mendengarkan alamat ip
mengikat server di IP apapun
Mode Pembuatan Proses
Tergantung pada hak istimewa pengguna yang disiratkan yang dapat Anda pilih dari:
CreateProcessWithToken (perlu SeImpersonate )CreateProcessAsUser (membutuhkan SeAssignPrimaryToken )both Proses untuk diluncurkan
Luncurkan skrip yang dapat dieksekusi atau eksploitasi berhasil
Argumen proses
Kustomisasi argumen proses yang diluncurkan
Alamat server RPC
Untuk pendekatan tersembunyi, Anda dapat mengotentikasi ke server RPC eksternal
Port server RPC
Berguna jika Anda ingin mengotentikasi ke server eksternal dan firewall memblokir port 135 ...
Mode uji
Terutama untuk tujuan pengujian, yaitu pengujian CLSID. Ini menciptakan DCOM dan mencetak pengguna Token. Lihat di sini untuk pengujian
T:>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
-c <{clsid}>: CLSID (default BITS:{4991d34b-80a1-4291-83b6-3328366b9097})
-z only test CLSID and print token's user

Jika pengguna memiliki hak istimewa SeImpersonate atau SeAssignPrimaryToken maka Anda adalah sistem .
Hampir tidak mungkin untuk mencegah penyalahgunaan semua server com ini. Anda dapat berpikir untuk memodifikasi izin objek -objek ini melalui DCOMCNFG tetapi semoga berhasil, ini akan menjadi tantangan.
Solusi aktual adalah melindungi akun dan aplikasi sensitif yang berjalan di bawah * SERVICE . Menghentikan DCOM tentu akan menghambat eksploitasi ini tetapi dapat berdampak serius pada OS yang mendasarinya.
Bangunan otomatis tersedia. Binari dapat diunduh dari bagian Artefak di sini.
Juga tersedia di Blackarch.