Перейти к содержанию
  • Язык

ПРОХОЖДЕНИЕ ЛЕГКОЙ МАШИНЫ В HACK THE BOX

(0 отзывов)

Итак, сегодня я расскажу немного про то, чем занять томный вечер, если все вокруго настопиз надоело

На просторах интернета существуют замечательные и веселые платформы, позволящие осваивать самые разные навыки.  Наверное, многие, кто меня тут знают в курсе, но я сильно угораю по пентесту. А потому решила подвезти немного контента про то, как просто и легально можно учиться и проверять свою способность что-нибудь поломать. 

Самой популярной площадкой для обучения и тренировки пентестеров является HackTheBox, также известная как HTB. На самом деле, поломанные машины оттуда даже смотрят на ссобеседованиях. Орагнизовано все таким образом, что ты залетаешь за сайт hackthebox.com, заходишь в специальный раздел и выбираешь, какую машину попытаешься взломать. Машины - это заранее уязвимые виртуальные машины, для подключения к которым надо подключиться к сети HTB с помощью конфига .ovpn. Взлом считается засчитаным, если найти все требуемые "флаги" (Флаг - это набор символом в 16-ричном формате, который можно найти на уязвимых VM. Они находятся либо на сайте, либо в текстовых файлах, но доступны всегда только после эксплуатации тех уязвимостей, которые заложены в VM). Также каждая VM делится по "рангу". Легкие - для новичков, Сложные - для опытных ломакеров. 

Думаю. что краткого вступления достаточно. Ниже описание того, как можно проходить такие машины. Подобные уязвимости встречаются или встречались когда-то в реальной жизни.  Я брала легкую машину, такая дыра в безопасности очень вряд ли встретится в реальных условиях, однако, в любом случае полезно как минимум поучиться пользоваться утилитами повышения привилегий, сканирования сетей и пр. 

Итак, когда доступ к "жертве" получен, можно начинать.

Начинаем с разведки

Сканируем порты простой командой в специальной утилите nmap:

image.png

 

Видим, что открыты три порта. 22-й порт используется для удаленного подключения по ssh, 21-й – для удаленного доступа к файловой системе по протоколу ftp, а на 80-м порту, скорее всего развернуто какое-то веб-приложений.

В поисковой строке вбиваем ip-адрес target машины и действительно, попадаем в какой -то веб-интерфейс:

image.png

 

Исследуем веб-панель и находим пункт Security Snapshot, на котором, вероятно, можно найти что-то полезное. В поисковой строке отображается id снапшота. Можно попробовать его поменять на 1 или 0.

image.png

 

Смена id показывает самый первый снапшот, в котором есть какие-то данные, а также возможность скачать файл.

image.png

 

Загружаем .pcap файл, который можно открыть с помощью сетевой утилиты wireshark, которая используется для анализа трафика. В файле трафик не зашифрован

Путем нехитрого анализа находим логин и пароль пользователя Nathan.

image.png

 

Пробуем получить с ними доступ по ssh:

image.png

 

Получилось войти в консоль target-машины, а также заполучить первый флаг, обнаружив в файловой системе user.txt

Чтобы получить второй флаг, скорее всего, необходимо повысить привилегии до суперпользователя.

Для этого необходимо загрузить утилиту linpeas.sh, которая используется для обнаружения уязвимостей в ОС семейства Linux. Чтобы передать linpeas.sh на target-машину можно использовать либо протокол ftp, либо запустить сервер на атакующей VM:

python3 -m http.server 8000

Смотрим ip атакующей машины. Нас интересует интерфейс tun0:

ip a

Теперь можно передать linpeas.sh на target-машину:

image.png

Теперь можно запустить утилиту, предварительно дав разрешение на выполнение:

nathan@cap:~$ chmod +x linpeas.sh
nathan@cap:~$ ./linpeas.sh

В Readme утилиты указано, что строки с оранжевым фоном наиболее интересны, а потому не тратим время на анализ остальных результатов и сразу ищем именно их:

image.png

Оп-пааа, чиназес:

image.png

Найденная уязвимость говорит о том, что есть возможность менять UID, не являясь суперпользователем. И таким образом как раз повысить привилегии и стать суперпользователем, поменяв UID на 0.

Делаем это командой:

/usr/bin/python3.8 -c 'import os; os.setuid(0); os.system("/bin/bash")'

Теперь можем получить второй флаг:

cat /root/root.txt

image.png

 

Рекомендации по исправлению:

Лучше всего никогда не давать capabilities бинарникам, которым это не нужно.

Проверить, есть ли сейчас эта уязвимость:

getcap -r / 2>/dev/null

если есть, удалить:

sudo setcap -r /usr/bin/python3.8

Вместо capabilities лучше использовать sudoers с нужными ограничениями.

Также на машине есть еще несколько очевидных проблем:

  • Анонимный или легко подбираемый доступ через FTP.
  • Необходимо отключить анонимный доступ в /etc/vsftpd.conf
  • Также  Файлы .pcap с credentials хранятся в открытом виде. Такие файлы в принципе нельзя хранить в веб-директориях. Также необходимо шифровать трафик, использовать https протоколы.

 

0 высказываний

Рекомендуемые комментарии

Высказываний нет...

Посетитель
Добавить высказывание...

Важная сводка

Мы разместили cookie-файлы на твоё устройство, чтобы помочь сделать этот форум лучше. Ты можешь корректировать своё управление cookie-файлами, или же продолжить без каких-либо корректировок.

Иконка перчаток с несколькими звуками
Иконка перчаток

Досье

Навигация

Розыск

Розыск

Настройка push-извещений браузера

Chrome (Android)
  1. Нажми на значок замка рядом с адресной строкой.
  2. Нажми Разрешения → Извещения.
  3. Корректируй свои предпочтения.
Chrome (Desktop)
  1. Нажми на значок замка в адресной строке.
  2. Выбери Управление сайта.
  3. Разыщи Изввещения и корректируй свои предпочтения.