ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Прохождение HackTheBox - Investigation (Linux, Medium) (https://forum.antichat.xyz/showthread.php?t=1641851)

Trager 07.05.2023 17:17

Приветствую,
Код:

Кодебай
! Сегодня пройдём машину средней сложности под названием
Код:

Investigation
. Основной упор будет сделан в форензику (логи
Код:

Windows
) и реверс. Приятного чтения

Разведка

Начинаем со сканирования портов:

https://forum.antichat.xyz/attachmen...3372443537.png

Переходим на 80-ый порт:

https://forum.antichat.xyz/attachmen...3372480412.png

Чтобы попасть на домен нам требуется отредактировать файл
Код:

/etc/hosts
:

https://forum.antichat.xyz/attachmen...3373891596.png

Теперь мы можем получить доступ к сайту:

https://forum.antichat.xyz/attachmen...3373918859.png

На нём нам предлагают загрузить картинку для криминалистического анализа:

https://forum.antichat.xyz/attachmen...3374520924.png

Пробуем загрузить текстовый файл:

https://forum.antichat.xyz/attachmen...3376064890.png

Вылетает ошибка, значит на веб-сайте есть какие-то фильтры:

https://forum.antichat.xyz/attachmen...3376085046.png

На данном этапе я потратил некоторое количество времени, чтобы обойти эти фильтры, но всё оказалось безуспешно. Попробуем загрузить валидный файл:

https://forum.antichat.xyz/attachmen...3376141119.png

И нам вываливается ссылка на отчёт по файлу, кликаем по ней:

https://forum.antichat.xyz/attachmen...3376205941.png

Оказывается, что файлы обрабатываются
Код:

exiftool'ом
версии
Код:

12.37
. Гуглим уязвимости/эксплойты:

https://forum.antichat.xyz/attachmen...3376250667.png

Мы можем получить
Код:

Command Injection
, если будем эксплуатировать
Код:

CVE-2022-23935
. Возьмём какой-нибудь эксплоит (например, этот):

https://forum.antichat.xyz/attachmen...3376345515.png

Тут есть полная инструкция по эксплуатации. Для начала установим
Код:

pwntools
:

https://forum.antichat.xyz/attachmen...3376381704.png

И запустим сам эксплоит:

https://forum.antichat.xyz/attachmen...3376397638.png

У меня возникли некоторые проблемы с подключением (плохая оболочка), поэтому я взял от эксплойта только сгенерированный файл, а сам шелл получил через
Код:

netcat
:

https://forum.antichat.xyz/attachmen...3376464986.png

https://forum.antichat.xyz/attachmen...3376472973.png

https://forum.antichat.xyz/attachmen...3376482086.png

Взятие пользователя

Проверяем какие имеются пользователи с хоум каталогом в системе:

https://forum.antichat.xyz/attachmen...3376522983.png

И качаем
Код:

linpeas
:

https://forum.antichat.xyz/attachmen...3376696664.png

Даём ему права и запускаем:

https://forum.antichat.xyz/attachmen...3376718695.png

В отчёте мы можем увидеть следующую строку:

https://forum.antichat.xyz/attachmen...3376736868.png

К сожалению, тут нет ничего особенного, чтобы что-то сразу проэксплуатировать, но есть дополнительная информация - это путь
Код:

/usr/local/investigation/
.

https://forum.antichat.xyz/attachmen...3383484847.png

Переходим в
Код:

/usr/local/investigation
и видим там
Код:

.msg
файл. Почитав мануалов, я пришёл к выводу, что данный файл нужно сконвертировать в
Код:

evtx
и прочитать с помощью
Код:

"Просмотра событий"
Код:

Windows
.

Для начала поднимем
Код:

python
-сервер, чтобы скачать файл:

https://forum.antichat.xyz/attachmen...3410369800.png

Качаем файл на свою машину:

https://forum.antichat.xyz/attachmen...3410389597.png

После этого переходим на любой онлайн сервис, где можно сконвертировать
Код:

.msg
в
Код:

.evtx
:

https://forum.antichat.xyz/attachmen...3410429562.png

https://forum.antichat.xyz/attachmen...3410759468.png

Я лично использовал
Код:

Windows
для чтения
Код:

evtx
файла, но насколько мне известно, это как-то можно сделать и через
Код:

Linux
:

https://forum.antichat.xyz/attachmen...3410801315.png

Запускаем
Код:

"Просмотр событий"
и нажимаем
Код:

"Открыть сохраненный журнал..."
, где указываем путь до нашего
Код:

evtx
-файла:

https://forum.antichat.xyz/attachmen...3410822679.png

После этого у нас открылись все логи из файла:

https://forum.antichat.xyz/attachmen...3410864488.png

Сначала я попытался пересмотреть абсолютно всё, но логов оказалось слишком много, поэтому я начал думать над тем, как оптимизировать поиск.

На сайте
Код:

Microsoft
- События аудита входа (Windows 10) - Windows security, мы можем посмотреть коды событий связанные с авторизацией для логов:

https://forum.antichat.xyz/attachmen...3419248018.png

Чтобы сделать поиск по событию требуется нажать на кнопку
Код:

"Фильтр текущего журнала..."
:

https://forum.antichat.xyz/attachmen...3463143580.png

И указать в нём код(ы):

https://forum.antichat.xyz/attachmen...3463186927.png

В событии
Код:

4625
(Сбой входа) можно найти что-то похожее на пароль (т. е. пользователь ввёл пароль вместо юзернейма):

https://forum.antichat.xyz/attachmen...3462788139.png

Попробуем использовать его в качестве пароля для пользователя
Код:

smorton
(о котором мы узнали ещё в самом начале):

https://forum.antichat.xyz/attachmen...3463230554.png

Пользователя взяли. Теперь переходим к руту.

Взятие рута

Используем стандартную команду
Код:

sudo -l
после подключения за пользователя, чтобы узнать какие команды/инструменты мы можем использовать от лица суперпользователя:

https://forum.antichat.xyz/attachmen...3463373706.png

Скорее всего сейчас будет реверс

Огромное спасибо @Mogen за помощь в части с реверсом!

Переходим в
Код:

/usr/bin/
и поднимаем
Код:

HTTP
-сервер
Код:

Python'а
, чтобы скачать бинарник:

https://forum.antichat.xyz/attachmen...3463421416.png

https://forum.antichat.xyz/attachmen...3463430833.png

Открываем его в
Код:

IDA
и декомпилируем код:

https://forum.antichat.xyz/attachmen...3629213098.png

1. Функция
Код:

main
принимает 3 параметра согласно прототипу функции:
Код:

int main (int argc, char *argv[], char *envp[])
. Для нас важны
Код:

argc, argv
.

2. Если количество аргументов из командной строки (
Код:

argc
) не равно 3, то завершаем программу. Это значит, что мы должны передать аргументы в таком виде:
Код:

./binary ARG_2 ARG_3
3. Если программа запущена не от лица суперпользователя, то тоже завершаем программу.

4. В качестве второго аргумента командной строки принимается строка
Код:

lDnxUysaQn
, если же мы укажем что-то другое, то программа завершится.

5. Создаётся/открывается файл с названием
Код:

lDnxUysaQn
с правами
Код:

wb
Код:

(write/binary)
, т. е. мы можем в него записать бинарные данные.

6. Настраивается
Код:

curl
для первой части аргумента (ссылки).

7. Запускается
Код:

curl
. Если запуск неудачен, то завершаем программу.

8. С помощью функции
Код:

snprintf
определяется длина строки, которая будет записана в
Код:

command_ptr
, указывающая на команду
Код:

perl
для выполнения файла, заданного в
Код:

ptr
.
Пример определения длины:
Код:

data = snprintf(0LL, 0LL, "perl ./%s", ptr);
.
Выделяется память для
Код:

command_ptr
. С помощью функции
Код:

snprintf
записывается указанная команда в
Код:

command_ptr
.

9. Запуск от лица суперпользователя содержимого
Код:

command_ptr
в функции
Код:

system()
и удаление файла с названием
Код:

lDnxUysaQn
.

Резюме: мы можем указать ссылку, а затем
Код:

lDnxUysaQn
. Содержимое ссылки запишется в файл и запустится через интерпретатор
Код:

perl
от лица суперпользователя.

В таком случае нам нужно скачать любой шелл на перле, например, от
Код:

pentest monkey
. И указать в нём свой
Код:

IP
и порт.:

https://forum.antichat.xyz/attachmen...3464807560.png

Теперь опять поднимаем веб-сервер пайтона и ставим листенер, чтобы получить на него шелл:

https://forum.antichat.xyz/attachmen...3464869563.png

Запускаем бинарник через
Код:

sudo
с указанием ссылки и строки
Код:

lDnxUysaQn
:

https://forum.antichat.xyz/attachmen...3464899130.png

Получаем шелл от лица суперпользователя:

https://forum.antichat.xyz/attachmen...3464932259.png

Друзья, спасибо большое, что нашли время прочитать мой райтап. Если есть какие-то ошибки, то напишите об этом в комментариях

Сергей Сталь 15.05.2023 18:24

Щикарно, большое спасибо за качественный разбор

Lexi Lyon 10.08.2024 11:11

У тебя есть телеграм?Я хочу купить у вас много веб шелла


Время: 13:01