• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

CTF CTF. Hack the Necromancer. Part 1

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 351
BIT
0
Привет! В этой статье, а скорее всего их будет пара частей, мы проанализируем уязвимости подготовленной, как раз, для этих целей системы Necromancer VM.

upload_2017-3-3_21-50-10.png


Анализ и использование уязвимостей, в данной VM осуществляется в рамках соревнования CTF, нашей основной задачей, будет получение привилегий в системе и поиск спрятанных флагов.

Начнем с загрузки Necromancer VM:

>

Затем, развернем ее на виртуальной машине, когда все будет готово, приступим к сканированию:

> nmap –A –p- 192.168.0.101 (
Адрес Necromancer в моей сети)

Сканирование занимает около 20 минут, запасемся терпением, первый этап:

> nmap –sV 192.168.0.101

Не дал положительных результатов:

upload_2017-3-3_21-51-31.png


И снова ничего:

upload_2017-3-3_21-51-48.png


Так как, что-то должно быть, попробуем просканировать хост на наличие открытых портов использующих UDP.

UDP— один из элементов TCP/IP, сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.

Выполним следующую команду:

> nmap -sU -T4 -p- 192.168.0.110

· -T4 – значит агрессивное сканирование, подробнее о флагах:

> man nmap

Этот этап тоже занял много времени, но результат оказался положительным:

upload_2017-3-3_21-52-19.png


Выявлен открытый порт – 666, осталось понять, для чего он предназначен…

Начнем с подключения, к нему используя netcat. Эта программа может создавать TCP-сокеты либо в режиме сервера для ожидания соединения, либо в режиме клиента для подключения к серверу.

> nc –nvu 192.168.0.109

upload_2017-3-3_21-52-44.png


Эта подсказка имеет отношение к информации, которую мы видим при загрузке Necromancer в VM.

upload_2017-3-3_21-53-7.png


То, что воздух (время) заканчивается, означает, что нужно немедленно что-то делать.

Начнем с общего анализа, запустим tcpdump на уязвимый хост:

> tcpdump host 192.168.0.109

upload_2017-3-3_21-53-27.png


Это дает нам информацию о шлюзе – 4444. Видимо это порт, о котором мы раньше ничего не знали. Пробуем netcat снова:

> nc –nvlp 4444


upload_2017-3-3_21-54-5.png


Результатом будет дамп текста в кодировке base64. Чтобы получить осмысленный текст, воспользуемся онлайн декодером по адресу:

>

upload_2017-3-3_21-54-28.png


Найден первый флаг:


В этой подсказке, упоминается знакомый уже порт 666, а флаг напоминает хэш в формате MD5. Найдем подходящий онлайн декриптор для расшифровки:

>

upload_2017-3-3_21-54-49.png


Полученная информация – это слово – opensesame.

Снова используем netcat, на порт 666:

> nc –unv 192.168.0.109 666

После коннекта, вводим opensesame:

upload_2017-3-3_21-55-8.png


Получен второй флаг, и в подсказке говорится про 80-й порт, пробуем обратиться к хосту на этот порт.

upload_2017-3-3_21-55-23.png


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

upload_2017-3-3_21-55-43.png


Анализ изображения мы будем проводить с помощью Binwalk.

Binwalk - является инструментом анализа и извлечения данных, содержащихся в файлах. (Интересно, как это пришло в голову создателям VM)

> binwalk /root/pileoffeathers.jpg

upload_2017-3-3_21-56-5.png


Оказывается, это изображение zip – архив. Сменим расширение, для дальнейшего анализа.

upload_2017-3-3_21-56-28.png


Затем откроем его:

upload_2017-3-3_21-56-43.png


Внутри содержится файл feathers.txt, заглянем внутрь:

upload_2017-3-3_21-57-4.png


Снова кодировка base64, декодируем в понятный текст:

upload_2017-3-3_21-57-21.png


Получен 3-ий флаг, и обратимся к серверу, добавив в адрес указанную директорию:

> 192.168.0.109/amagicbridgeappearsatthechasm

upload_2017-3-3_21-57-47.png


Открыв каталог в браузере, мы получили страницу, которая не содержит конкретных подсказок. Это говорит лишь о том, что нам нужен магический предмет, который может защитить нас от заклинания некроманта. Используем Google для поиска "волшебных предметов” и находим их список:

upload_2017-3-3_21-58-11.png


Когда то, уже приходилось использовать cewl, генератор паролей, в котором в качестве опции можно использовать URL-адрес.

Используем cewl со следующими параметрами:

> cewl -d 0 -w /root/Desktop/magic.txt –v

upload_2017-3-3_21-58-37.png


После создания словаря магических предметов, попробуем с его помощью найти скрытые директории на уязвимом хосте:

> dirb /root/magic.txt –w


upload_2017-3-3_21-59-7.png


Находим скрытую директорию – talisman. Зайдем в нее:

>

upload_2017-3-3_22-0-40.png


Файл talisman, необходимо будет запустить, подкорректировав разрешение, так как он является исполняемым:

upload_2017-3-3_22-1-0.png


На этой позитивной ноте заканчивается первая часть прохождения этой VM. Продолжение не заставит себя ждать…
 
D

Dmitry88

Извините за совсем нубский вопрос, но как правильно настроить сеть между виртуалками ?
Уже и мост пробовал, и виртуал хост адаптер, тупо нет пинга между ними.
 
  • Нравится
Реакции: LightSmoke
D

Darius

Ох как давно ждал CTF-ки по этой ВМ. Отлично! Спасибо за статеечку!
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 351
BIT
0
Извините за совсем нубский вопрос, но как правильно настроить сеть между виртуалками ?
Уже и мост пробовал, и виртуал хост адаптер, тупо нет пинга между ними.
А на icmp-запросы VM может и не отвечать. Так могло быть сделано авторами
 
M

miron2

при сканировании nmap выдает и на этом висит
Код:
Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-08 02:17 EST
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Что делать и как быть?
[doublepost=1488958103,1488957552][/doublepost]А если так
Код:
nmap -sU -T4 -p- 192.168.56.102
то получается так
Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-08 02:25 EST
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 192.168.56.102
Host is up (0.0000070s latency).
Not shown: 65534 closed ports
PORT   STATE         SERVICE
68/udp open|filtered dhcpc
 
F

Free

автору респект, прочитал статью на одном дыхании.
Очень интересно, жду других прохождений ctf
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!