Как стать автором
Обновить

HackTheBox. Прохождение Academy. RCE в Laravel и LPE через composer

Время на прочтение3 мин
Количество просмотров5.9K

Продолжаю публикацию решений отправленных на дорешивание машин с площадки 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!

Теги:
Хабы:
+4
Комментарии5

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн