Всех приветствую, читатели Хабра!

Седьмая часть анализа защищенности, правда в этот раз системы (серверной) Vulnhub. Система я поднимал на virtualbox, а не на докер, то есть иной метод виртуализации.

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

https://habr.com/ru/articles/894508/
https://habr.com/ru/articles/895092/
https://habr.com/ru/articles/895856/
https://habr.com/ru/articles/897296/
https://habr.com/ru/articles/898918/ (это уязвимая ОС на virtualbox)
https://habr.com/ru/articles/902248/

Примечание

Правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Все атаки я проводил на локальный сервер, внутри моего сетевого интерфейса, на моем компьютере, то есть все действия легитимны.

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

Алгоритм атаки будет следующий:

  1. Скачивание образа виртуальной машины, запуск и настройка образа. Поиск системы внутри сетевого интерфейса

  2. Сканирование цели

  3. Энумерация

  4. Анализ скачанного файла с сервера

  5. Энумерация (более глубокая)

  6. Получение доступа к системе взломом при помощи брутфорс-атаки

  7. Повышение привелегий

Итак приступим к практике

1) Скачивание образа виртуальной машины, запуск и настройка образа. Поиск системы внутри сетевого интерфейса

Скачать образ виртуальной машниы можно здесь https://www.vulnhub.com/entry/deathnote-1,739/. На странице отсутствуют варианты прохождения данной уязвимой ОС.

В качестве атакующей ОС я использовал Debian GNU/Linux (с некоторыми специальными программами, предустановленными мной). Кроме того, так как мы используем образ под virtualbox, должна быть установлена данная программа. Программы которые я использовал для пентеста с открытым исходным кодом и доступны для Debian и Debian-подобных дистрибутивов - nmap, whatweb, curl, wget, dirsearch, dirb, hydra, binwalk, ghex, exiftool

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

После начентся процесс запуска образа системы в виртуалбокс.

Важно!!!
Необходимо в настройках атакуемой ОС указать сетевой мост и тот же интерфейс, на котором находится и атакующая машина.

После этого узнаем интерфейсы в терминале, введя команду

ifconfig

Очевидно, что локальный интерфейс начинается на 192.168.72... После чего сканируем nmap всю локальную сеть:

nmap 192.168.72.1-255

ip адрес уязвимой ОС - 192.168.72.13

2) Сканирование цели

После чего более тщательно сканируем цель:

nmap -sV -p- 192.168.72.13
whatweb 192.168.72.13

И узнаем много чего интересного - ОС Linux Debian, имеется Apache 2.4.38 открытые порты 80 и 22 со службами httpd и ssh

3) Энумерация

После чего мы начинаем энумерацию

dirsearch -u http://192.168.72.13

И сразу же обнаруживается файл robots.txt

Узнаем его содержимое:

curl http://192.168.72.13/robots.txt

Или прямо через браузер
Или прямо через браузер

Узнаем о существовании файла на сервере important.jpg

Пробуем его открыть - не получается

После чего просто скачиваем его для анализа

wget http://192.168.72.13/important.jpg

4) Анализ скачанного файла с сервера

Я попытался проанализировать данный файл (он не открывался и после скачивания) программой binwalk - безуспешно

binwalk important.jpg

После чего я проанализировал его утилитой exiftool

exiftool important.jpg

После чего стало очевидно, что это текстовый файл, сохраненный с расширением jpg. Можно просто поменять расширение, а можно открыть например через hex-редактор. Я использую ghex

ghex important.jpg

Или прямо, при помощи утилиты curl просмотреть содержимое файла с сервера

curl http://192.168.72.13/important.jpg

Содержимое файла означает примерно следующее:

Очевидно, что где то в самом веб-приложении находится файл user.txt, содержащий возможные имена пользователей.

5) Энумерация (более глубокая)

Кроме того, что обнаружились два файла, энумерация дала и другие пути, например директория http://192.168.72.13/wordpress/ с wordpress, и форма авторизации http://192.168.72.13/wordpress/wp-login.php

Я начал энумерацию директории http://192.168.72.13/wordpress/ в поисках хоть каких то подсказок, и перходил по найденным ссылкам

dirsearch -u http://192.168.72.13/wordpress/
dirsearch -u http://192.168.72.13/wordpress/index.php

dirb http://192.168.72.13/wordpress/index.php

И тут я уже готов был сдаться, но вдруг заметил что есть цветной текст HINT, наводя на который мышь, высвечивался адрес deathnote.vuln/wordpress/index.php/hint/.

Естественно я перешел на него, изменив в запросе 192.168.72.13/wordpress/index.php/hint/

Очевидно, кроме user.txt есть и файл notes.txt, который содержит какую то ценную информацию

А далее была снова энумерация

Здесь я попытался найти хоть какую то информацию о данной машине в сети, и нашел немного, но очень важное - верный путь директория wordpress

dirsearch -u http://192.168.72.13
dirsearch -u
http://192.168.72.13/wordpress/
dirsearch -u
http://192.168.72.13/wordpress/wp-content/

И внутри http://192.168.72.13/wordpress/wp-content/ нашел папку /uploads/

После чего я перешел по данному адресу

Зашел в папку 2021

Папка 07

и получил (и скачал) искомые файлы notes.txt и user.txt

curl http://192.168.72.13/wordpress/wp-content/uploads/2021/07/notes.txt
curl
http://192.168.72.13/wordpress/wp-content/uploads/2021/07/user.txt
wget http://192.168.72.13/wordpress/wp-content/uploads/2021/07/notes.txt
wget
http://192.168.72.13/wordpress/wp-content/uploads/2021/07/user.txt

6) Получение доступа к системе взломом при помощи брутфорс-атаки

На сервере имеется открытый порт 22 со службой ssh

Проведем его брутфорс гидрой

hydra -L user.txt -P notes.txt ssh://192.168.72.13

Имеется пользователь l с паролем death4me

Зайдем по ssh с этими данными

ssh l@192.168.72.13 (естественно пароль death4me)

Проверим директорию командой pwd и ее содержимое командой ls.

Все! доступ к системе!
Все! доступ к системе!

Есть файл user.txt, его содержимое я вывел командой cat

Это похоже на старый язык програмирования brainfuck

Я расшифровал и перевел

Перешел в каталог /home (cd /home), вывел его содержимое (ls), и обнаружил папку kira. Вывел ее содержимое (kira.txt), и пробовал прочитать - нет прав.

Кстати говоря прав пользователя l достаточно, чтобы просмотреть содержимое файла /etc/passwd

7) Повышение привелегий

Снова поискав ответы в сети, я нашел подсказку - необходимое мне лежит в папке /opt. Перешел в папку (cd /opt) внутри папки снова директория L перешел в нее (cd L), далее в папку fake-notebook-rule, и внутри него два файла - hint и case.wav.

Вывел их содержимое (cat hint; cat case.wav)

Первое подсказка - использовать cyberchef. Второе - похоже на хекс

Ищу сайт, захожу на первый, вставляю шифр

После чего дешифрую hex

А после дешифрую base64

Очевидно, что пароль для пользователя kira - kiraisevil. Псоле чего, выхожу с сервера под пользователем l, и просто вхожу с этими новыми данными под именем пользователя kira

ssh kira@192.168.72.13 (естественно пароль kiraisevil)

И снова доступ, но под другим пользователем

Проверяю текущую директорию (pwd) - /home/kira, просматриваю содержимое (ls), теперь читаю файл kira.txt - cat kira.txt

Снова шифр, похож на base64. Копирую, дешифрую

Ничего особенного - информация о пользователях L и Misa. После чего я решаю повысить привелегии до root:

sudo -s

и пароль kiraisevil

Root-доступ есть!

Кстати, получив root-права я прочитал файл /etc/shadow. В этом файле в зашифрованном виде (в виде хэшей) содержатся пароли учетных записей

cat /etc/shadow

Последнее что осталось перейти в папку /root - cd /root. Проверил содержимое (ls опять же), обнаружен файл root.txt

После чего читаю его содержимое - cat root.txt

Финал!

Таким образом, я просканировал сервер (локальный конечно же) обнаружил уязвимость в веб-приложении, провел энумерацию веб-приложения и обнаружил данные об учетных записях. Использовал эти данные для взлома, взломал систему, зашел в нее и нашел данные о привелегированном пользователе, что дало мне возможность повысить привелегии.

А на этом у меня сегодня все, уважаемые читатели Хабра, до новых встреч!

Комментарии (0)