Привет! В этой статье, а скорее всего их будет пара частей, мы проанализируем уязвимости подготовленной, как раз, для этих целей системы Necromancer VM.
Анализ и использование уязвимостей, в данной VM осуществляется в рамках соревнования CTF, нашей основной задачей, будет получение привилегий в системе и поиск спрятанных флагов.
Начнем с загрузки Necromancer VM:
>
Затем, развернем ее на виртуальной машине, когда все будет готово, приступим к сканированию:
> 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. Чтобы получить осмысленный текст, воспользуемся онлайн декодером по адресу:
>
Найден первый флаг:
В этой подсказке, упоминается знакомый уже порт 666, а флаг напоминает хэш в формате MD5. Найдем подходящий онлайн декриптор для расшифровки:
>
Полученная информация – это слово – 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
После создания словаря магических предметов, попробуем с его помощью найти скрытые директории на уязвимом хосте:
> dirb
Находим скрытую директорию – talisman. Зайдем в нее:
>
Файл talisman, необходимо будет запустить, подкорректировав разрешение, так как он является исполняемым:
На этой позитивной ноте заканчивается первая часть прохождения этой VM. Продолжение не заставит себя ждать…
Анализ и использование уязвимостей, в данной VM осуществляется в рамках соревнования CTF, нашей основной задачей, будет получение привилегий в системе и поиск спрятанных флагов.
Начнем с загрузки Necromancer VM:
>
Ссылка скрыта от гостей
Затем, развернем ее на виртуальной машине, когда все будет готово, приступим к сканированию:
> 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. Чтобы получить осмысленный текст, воспользуемся онлайн декодером по адресу:
>
Ссылка скрыта от гостей
Найден первый флаг:
В этой подсказке, упоминается знакомый уже порт 666, а флаг напоминает хэш в формате MD5. Найдем подходящий онлайн декриптор для расшифровки:
>
Ссылка скрыта от гостей
Полученная информация – это слово – 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
Ссылка скрыта от гостей
-d 0 -w /root/Desktop/magic.txt –vПосле создания словаря магических предметов, попробуем с его помощью найти скрытые директории на уязвимом хосте:
> dirb
Ссылка скрыта от гостей
/root/magic.txt –wНаходим скрытую директорию – talisman. Зайдем в нее:
>
Ссылка скрыта от гостей
Файл talisman, необходимо будет запустить, подкорректировав разрешение, так как он является исполняемым:
На этой позитивной ноте заканчивается первая часть прохождения этой VM. Продолжение не заставит себя ждать…