Привет! В этой статье, а скорее всего их будет пара частей, мы проанализируем уязвимости подготовленной, как раз, для этих целей системы
Necromancer VM.

Анализ и использование уязвимостей, в данной VM осуществляется в рамках соревнования CTF, нашей основной задачей, будет получение привилегий в системе и поиск спрятанных флагов.
Начнем с загрузки
Necromancer VM:
> https://www.vulnhub.com/entry/the-necromancer-1,154/
Затем, развернем ее на виртуальной машине, когда все будет готово, приступим к сканированию:
> nmap –A –p- 192.168.0.101 (Адрес
Necromancerв моей сети
)
Сканирование занимает около 20 минут, запасемся терпением, первый этап:
> nmap –sV 192.168.0.101
Не дал положительных результатов:
И снова ничего:
Так как, что-то должно быть, попробуем просканировать хост на наличие открытых портов использующих UDP.
UDP— один из элементов TCP/IP, сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.
Выполним следующую команду:
>
nmap -sU -T4 -p- 192.168.0.110
·
-T4 – значит агрессивное сканирование, подробнее о флагах:
>
man nmap
Этот этап тоже занял много времени, но результат оказался положительным:
Выявлен открытый порт – 666, осталось понять, для чего он предназначен…
Начнем с подключения, к нему используя
netcat. Эта программа может создавать TCP-сокеты либо в режиме сервера для ожидания соединения, либо в режиме клиента для подключения к серверу.
>
nc –nvu 192.168.0.109

Эта подсказка имеет отношение к информации, которую мы видим при загрузке Necromancer в VM.
То, что воздух (время) заканчивается, означает, что нужно немедленно что-то делать.
Начнем с общего анализа, запустим
tcpdump на уязвимый хост:
>
tcpdump host 192.168.0.109

Это дает нам информацию о шлюзе – 4444. Видимо это порт, о котором мы раньше ничего не знали. Пробуем
netcatснова:
> nc –nvlp 4444
Результатом будет дамп текста в кодировке base64. Чтобы получить осмысленный текст, воспользуемся онлайн декодером по адресу:
>
www.asciitohex.com
Найден первый флаг:
В этой подсказке, упоминается знакомый уже порт 666, а флаг напоминает хэш в формате MD5. Найдем подходящий онлайн декриптор для расшифровки:
>
www.md5online.org
Полученная информация – это слово –
opensesame.
Снова используем
netcat, на порт 666:
>
nc –unv 192.168.0.109 666
После коннекта, вводим
opensesame:
Получен второй флаг, и в подсказке говорится про 80-й порт, пробуем обратиться к хосту на этот порт.
На этой странице находится изображение, так как, из текста полезной информации извлечь не удалось, сохраним его и проведем анализ.
Анализ изображения мы будем проводить с помощью
Binwalk.
Binwalk - является инструментом анализа и извлечения данных, содержащихся в файлах. (Интересно, как это пришло в голову создателям VM)
>
binwalk /root/pileoffeathers.jpg

Оказывается, это изображение zip – архив. Сменим расширение, для дальнейшего анализа.
Затем откроем его:
Внутри содержится файл
feathers.txt, заглянем внутрь:
Снова кодировка base64, декодируем в понятный текст:
Получен 3-ий флаг, и обратимся к серверу, добавив в адрес указанную директорию:
>
192.168.0.109/amagicbridgeappearsatthechasm
Открыв каталог в браузере, мы получили страницу, которая не содержит конкретных подсказок. Это говорит лишь о том, что нам нужен магический предмет, который может защитить нас от заклинания некроманта. Используем Google для поиска "волшебных предметов” и находим их список:
Когда то, уже приходилось использовать
cewl, генератор паролей, в котором в качестве опции можно использовать URL-адрес.
Используем
cewl со следующими параметрами:
>
cewl https://en.wikipedia.org/wiki/List_of_mythological_objects -d 0 -w /root/Desktop/magic.txt –v

После создания словаря магических предметов, попробуем с его помощью найти скрытые директории на уязвимом хосте:
> dirbhttp://192.168.0.110/amagicbridgeappearsatthechasm//root/magic.txt –w
Находим скрытую директорию –
talisman. Зайдем в нее:
>
http://192.168.0.110/amagicbridgeappearsatthechasm/talisman
Файл
talisman, необходимо будет запустить, подкорректировав разрешение, так как он является исполняемым:
На этой позитивной ноте заканчивается первая часть прохождения этой VM. Продолжение не заставит себя ждать…