Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)
Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:
PWN;
криптография (Crypto);
cетевые технологии (Network);
реверс (Reverse Engineering);
стеганография (Stegano);
поиск и эксплуатация WEB-уязвимостей;
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).
Recon
Данная машина имеает IP адрес 10.10.10.215, который я добавляю в /etc/hosts.
10.10.10.215 academy.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
Имеем SSH, Apache и MySQL. Давайте переберем директории на вебе, я буду использовать gobuster.
gobuster dir -t 128 -u http://academy.htb -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt --timeout 30s
Находим интересную директорию админа, но нам нужно зарегистрироваться. Я все операции выполняю через Burp. И при регистрации обращаем внимание на интересный параметр.
Изменим значение roleid на 1, и наша учетная запись станет административной. В найденной ранее директории найдем список дел, в котором одна задаче будет не выполнена.
Добавим запись в /etc/hosts.
10.10.10.215 dev-staging-01.academy.htb
Перейдем по найденному адресу.
Нас встречает Laravel, как мы видим из ошибки.
Entry Point
Поищем эксплоиты, и найдем уже реализованный для metasploit.
Для его использования нам нужен APP_KEY, который мы легко находим на той же странице.
Давайте подключимся.
Получим нормальную оболочку.
python3 -c "import pty; pty.spawn('/bin/sh')"
/bin/bash
USER
Запустим LinPEAS для разведки на хосте. Выделяем список пользователей и файл .env.
И именно в этом файле находим пароль.
Спрэйим найденный пароль по всем пользователям и получаем пару учетных данных.
cme ssh academy.htb -u users.txt -p 'mySup3rP4s5w0rd!!'
И берем первого пользователя.
USER 2
Так как мы состоим в группе adm, мы можем читать логи. Я начал с файла auth.log, но ничего интересного там не нашел. Дальше перешел к файла audit.log, пофильтровал вывод, оставив только используемые команды и передаваемые им аргументы, и тут ждал успех.
cat * | grep comm | grep -v '/usr/lib/systemd/systemd|apparmor_parser'
Аргументом команды su является пароль.
Снова спрэим и получаем второго пользователя.
cme ssh academy.htb -u users.txt -p 'mrb3n_Ac@d3my!'
ROOT
В настройках судоера видим использование composer с повышенными привилегиями.
Тут на помощью приходит техника GTFOBins. Там и находим LPE с помощью composer.
У нас root!