Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.191, который я добавляю в /etc/hosts.
10.10.10.191 blunder.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
Так как на хосте работает только веб сервер, при этом стартовая страница нам ничего не дает, давайте переберем директории. Для этого используем быстрый gobuster. В параметрах укаываем, что мы хотим сканировать дирректории (dir), указываем сайт (-u), список слов(-w), расширения, которые нас интересуют (-x), количество потоков (-t).
gobuster dir -t 128 -u blunder.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories-lowercase.txt -x php,html,txt
Так мы находим несколько интересных файлов. Первый из них — todo.txt.
Здесь мы сразу отмечаем имя пользователя. Так же была найдена и панель входа администратора.
Мы видим CMS Bludit, давайте попробуем найти для нее эксплоиты.
И есть всего один эксплоит, включенный даже в metasploit, но для него требуются учетные данные.
Entry Point
Немного почитав про данную CMS, я нашел скрипт для перебора паролей. В качестве логина используем найденное имя из файла todo.txt. Но списки пароли из стандартных списков не подходили. И мне посоветовали использовать косвенную информацию. Для этого собираем словарь с главной страницы сайта.
cewl -d 3 -m 5 -w pass_list.txt http://blunder.htb
Немного изменив скрипт перебора, выполним брут и найдем пароль!
И теперь мы можем использовать эксплоит из metasploit.
USER
Давайте осмотримся в директории сайта, чтобы найти еще учетные данные.
Так есть файл users.php.
И есть хеши, предположительно — SHA1.
Но крякнуть их не вышло и в базе мы их не находим. Поэтому продолжим поиск на хосте и видим еще одну версию данной CMS.
А вот хеш из этой версии уже находим в базе.
Посмотрим, какие имеются пользователи.
Давайте запустим нормальный TTY шелл.
python3 -c 'import pty; pty.spawn("/bin/bash")'
И данный пароль подходит к первому же пользователю.
ROOT
Давайте посмотрим настройки sudo.
Видим интересную строку (ALL, !root). И загуглив, находим способ LPE.
Давайте получим root как скано в инструкции.
sudo -u#-1 /bin/bash
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Автор: Ральф Фаилов