Всем привет! В этой статье я хочу показать взлом виртуальной системы Tommy Boy VM, в рамках соревнований CTF. Эта VM построена по мотивам комедии Здоровяк Томми. Речь пойдет о фиктивной компании “Callahan Auto”. По отзывам это реально веселый CTF целью которого является восстановление работы сайта компании, часть проходится довольно легко, некоторые моменты действительно сложны плюс ко всему, так же, согласно отзывам, там полно маленьких хитростей. Попробуем во всем разобраться сами.
Для начала скачаем VM отсюда -
Ссылка скрыта от гостей
Прохождение:
Начнем со сканирования сети, чтобы найти нашу цель. Вводим:
> netdiscover –r 172.16.0.1/16 (моя сеть)
Целевой машиной является -> 172.16.0.129
Следующий шаг, это сканирование цели, применяем агрессивное сканирование.
> nmap –A 172.16.0.129
Сканирование дало нам информацию о трех открытых портах: 80 (http), 22 (ssh), 8008 (http).
Теперь будем использовать nikto чтобы добыть больше информации о нашей цели.
> nikto –h 172.16.0.129
Пока все просто, видим, что есть файл robots.txt содержащий в себе flag-numero-uno.txt.
Открываем его в браузере, и да, мы получаем Первый Флаг.
Теперь, мы знаем, что флагов всего 5, а первый это, скорее всего часть одного из пяти паролей.
Теперь пора присмотреться поближе к 80 порту, при обращении к нему открывается страница Callahan Auto, но она испытывает некие технические трудности.
Теперь, полагаю, пришло время использовать cURL. Как известно он подключит необходимую библиотеку и инструмент командной строки, которые позволят передавать данные серверу, используя различные протоколы. Наряду с этим, мы получим дополнительную информацию, которую будем использовать в различных целях.
> curl
Ссылка скрыта от гостей
Находим переписку, в которой говорится о папке названной в честь того места, где Том получил по голове доской и видим ссылку на YouTube. Откроем ее. Место называется Prehistoric Forest.
Попробуем обратиться к серверу по пути: 172.16.0.129/prehistoricforest.
Нам повезло, здесь много информации. Во-первых, теперь мы знаем, что веб-сайт был сделан в WordPress.
Во – вторых, замечаем Второй Флаг, возьмем его.
Запустим wpscan, чтобы рассмотреть сайт подробнее, для начала можно узнать список пользователей.
> wpscan --url
Ссылка скрыта от гостей
--enumerate usersОбнаруживаем 4 пользователей, эта информация пригодится нам чуть позже.
А пока продолжим исследовать /prehistoricforest дальше. На одной из страниц обнаруживаем пост некоего Ричарда о том, что на сервере существует папка под именем /richard.
Заглянем в нее:
Фотографию shockedrichard.jpg сохраняем себе, затем используя сервис по определению метаданных, продолжаем поиск ценной информации.
Из метаданных этой фотографии мы получаем MD5-хэш.
Переходим на сайт
Ссылка скрыта от гостей
, чтобы взломать его.Результатом будет получение значения MD5-хэша - это слово – spanky. Продолжаем исследовать /prehistoricforest дальше, теперь необходимо найти комментарий, который попросит ввести нас пароль.
Введем пароль – spanky.
Это откроет страницу с намеками. Прочитав все это, необходимо запомнить несколько моментов :
· Что-то про аккаунт и nickburns
· Существует открытый порт FTP.
При первоначальных сканированиях мы не видели открытого порта с FTP. Запускаем nmap с параметром сканирования всего диапазона портов:
> nmap –p 1-65535 192.168.0.XXX
Обнаружился открытый порт 65534/tcp, он и является замаскированным портом FTP сервиса. Но так бывает не всегда, это одна из хитростей которую я обнаружил, порт открыт не постоянно. По алгоритму, он закрывается и открывается через какой-то промежуток времени. Чтобы сэкономить нервы, предлагаю написать скрипт, который будет опрашивать порт и сообщать нам, когда он станет доступен.
Создадим файл с расширением sh, я создал medusa.sh. Затем откроем его через Vim или любой редактор по вашему вкусу. Внутри пишем следующее:
Запустим скрипт и подождем…
> ./medusa.sh
Порт открылся, теперь попробуем зайти на него. Для этого нам нужен логин и пароль, в качестве логина логично использовать nickburns, а пароль необходимо добыть. В качестве такого добытчика я решил попробовать medusa. Используем ее с такими аргументами:
> medusa –h 192.168.0.XXX –u nickburns –P /usr/share/wordlists/rockyou.txt –M ftp –n 65534 –e s
Где:
> –h – сканируемый хост
> –u nickburns – логин пользователя
> –P – файл с паролями
> –M – выполнить модуль, в нашем случае ftp
> -n - использовать номер TCP порта, отличный от используемого службой по умолчанию.
> -e s - дополнительные проверки пароля, где s – проверка в качестве пароля имени пользователя.
За считанные секунды пароль был подобран, им оказалось имя пользователя. Теперь зайдем на FTP, любым клиентом или из под терминала Kali.
Копируем себе файл readme, открываем его. Из прочитанного, становится ясно, что где-то на сервере есть зашифрованная папка под названием "NickIzL33t".
«Anyway I'm not completely without mercy. There's a subfolder called "NickIzL33t" on this server somewhere. I used it as my personal dropbox on the company's dime for years. Heh. LOL.»
Я попробовал зайти на сервер по второму открытому веб-порту 8008:
Надпись гласит, что только он и Стив Джобс в силах просматривать содержимое данной папки. Тут уж явный намек на Iphone)) Но об этом уже в следующей части…
Последнее редактирование: