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

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

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

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

CTF CTF. Hack the Billy Madison VM Part 1

Vander

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

upload_2017-2-17_20-30-58.png


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

> https://codeby.net/threads/ctf-vzlom-mr-robot-vm.57930/

Итак, Billy Madison VM, легенда этой VM основана на американской комедии 1995 года режиссёра Тамры Дэвис. А основной целью является получение root-прав на Билли VM.

Итак, начнем с того, что скачаем образ машины с:

>

upload_2017-2-17_20-31-41.png


Теперь, необходимо с помощью Oracle VM VirtualBox или VMware Workstation, создать и запустить скачанную прежде VM.

upload_2017-2-17_20-32-3.png


Затем, запускаем ОС с которой будет производиться тестирование на проникновение. В моем случае это Kali Linux 2.0.

Следующий шаг, это определение целевого хоста (Billy VM) в нашей сети.

Воспользуемся netdiscover:

> netdiscover

upload_2017-2-17_20-32-27.png


В моем случае целевой хост имеет адрес – 192.168.0.29.

Следующий шаг, это использование сканера nmap, для просмотра информации об открытых портах:

> nmap –p- -A 192.168.0.29


upload_2017-2-17_20-33-3.png


Итог работы сканера, покажет нам список открытых портов:

· 22

· 23

· 69 – http

· 80 – http

На порты 69 и 80 в первую очередь обратим свое внимание.

Попробуем обратиться к целевому хосту по адресу 192.168.0.29 на 80-ом порту:

> 192.168.0.29:80

upload_2017-2-17_20-33-30.png



Страница, достаточно информативна, она повествует о том, что мы – schmuck (чмо) и вряд ли сможем разблокировать свой хост.

upload_2017-2-17_20-34-7.png


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

Здесь живет сайт на Wordpress, при исследовании которого, ничего примечательного не обнаружилось.

upload_2017-2-17_20-34-36.png


Вернемся к 22 и 23 порту, как мы все знаем - 22 – это, вероятно окажется SSH, а 23 – Telnet.

SSH в нашем случае ничего не дал, зато telnet оказался гораздо полезнее:

upload_2017-2-17_20-35-1.png


Обращаем внимание на два момента, первый, это пример пароля который раньше использовался, а второй (желтый) – намек на кодировку ROT13 ( «сдвинуть на 13 позиций», иногда используется написание через дефис — ROT-13) представляет собой шифр подстановки простой заменой для алфавита английского языка (стандартной латиницы) Алгоритм не дает никакой реальной криптографической безопасности и никогда не должен использоваться для этого. Он часто приводится в качестве канонического примера слабого метода шифрования. Попробуем дешифровать, так сказать, этот пароль.

upload_2017-2-17_20-35-31.png


Теперь, надо подумать, куда это можно применить. В итоге, выяснилось, что это каталог на сервере:

upload_2017-2-17_20-35-53.png


Одна из заметок, содержит подсказку в первых о том, что существует некий .cap файл, он содержит в своем названии слово “veronica”, ну и на то, что можно использовать rockyou.txt для поисков.

upload_2017-2-17_20-36-17.png


По старой традиции, берем словарь rockyou.txt и с помощью grep отфильтровываем, по словам, содержащим слово “veronica”.

> grep -I veronica /usr/share/wordlist/rockyou.txt > root/rock.txt

upload_2017-2-17_20-36-39.png


Дальше, нам ничего не остается, как поискать этот файл в папке с помощью Dirbuster.

Запустим его с такими параметрами:

upload_2017-2-17_20-37-7.png


Через пару минут, находим искомый файл, открываем путь к нему в браузере. Затем запускаем его с помощью Wireshark:

upload_2017-2-17_20-37-33.png


Что удалось извлечь из дампа Wireshark:

1. Где, то есть FTP сервер (неизвестно на каком порту)

2. Учетные данные – eric и пароль – ericdoesntdrinkhisownpee

3. Ссылку на youtube

Поиск происходил по всем пакетам, интерес представляет только переписка. Вот так это выглядит.

upload_2017-2-17_20-37-57.png


Красным выделен текст письма. Остальную информацию тоже берем из писем. Для начала посмотрим ролик на youtube:

>

upload_2017-2-17_20-38-53.png


В ролике озвучена последовательность чисел, так как упоминался выше FTP сервер, существует вероятность, что одно из чисел является скрытым портом…

Но нет, по прошествии некоторого времени и не без помощи гугла, стало ясно, что эти загадочные цифры - последовательность, для использования Port Knocking. Для тех, кто не в курсе, поясню - Port knocking — это сетевой защитный механизм, действие которого основано на следующем принципе: сетевой порт являются по-умолчанию закрытыми, но до тех пор, пока на него не поступит заранее определённая последовательность пакетов данных, которая «заставит» порт открыться. Например, вы можете сделать «невидимым» для внешнего мира порт SSH, и открытым только для тех, кто знает нужную последовательность.

Попробуем заставить сервер открыть нам, что ни будь:

> for x in 1466 67 1469 1514 1981 1986; do nmap –Pn –host_timeout 201 –max-retries 0 –p $x 192.168.0.103; done

upload_2017-2-17_20-40-57.png


После того, как команда успешно отработает, попробуем применить опять nmap к тестируемому хосту:

> nmap –p- 192.168.0.105

Результатом будет открытие 21 порта, на котором висит FTP.

upload_2017-2-17_20-41-33.png


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

> ftp 192.168.0.105

upload_2017-2-17_20-41-55.png


Чтобы осмотреться выполним команду dir, нас интересует файл .notes, скачаем его себе, затем ознакомимся с содержимым:

> get .notes

upload_2017-2-17_20-42-39.png


Выходим с FTP и пробуем прочесть .notes:

upload_2017-2-17_20-42-56.png


Исходя из этих подсказок, а так же из информации в переписке, стало понятно, что есть второй пользователь на FPT, это собственно Вероника. Применим Гидру для брута FTP, словарь пользуем тот же, что мы создавали в начале.

> hydra –l veronica –p /root/Desktop/rock.txt

upload_2017-2-17_20-43-21.png


Получен логин и пароль второго пользователя на FTP.

На этом пока все, продолжение в следующей части…
 
Последнее редактирование:

ghostphisher

местный
Grey Team
07.12.2016
2 602
3 413
BIT
0
Vander - респект за статью! Молодцом! Отлично что раскрываются инструментарии детально. Жду продолжение :)
 
  • Нравится
Реакции: Vander

ghostphisher

местный
Grey Team
07.12.2016
2 602
3 413
BIT
0
Попробуем заставить сервер открыть нам, что ни будь:

> for x in 1466 67 1469 1514 1981 1986; do nmap –Pn –host_timeout 201 –max-retries 0 –p $x 192.168.0.103; done

Посмотреть вложение 9023

После того, как команда успешно отработает, попробуем применить опять nmap к тестируемому хосту:

> nmap –p- 192.168.0.105

Результатом будет открытие 21 порта, на котором висит FTP.

Посмотреть вложение 9024

У меня не вышло 21 порт разбудить :)
16148440.png

16148442.png


Что то делаю не так...
[doublepost=1487517659,1487451930][/doublepost]Если кто проходил эту CTF - отпишитесь. На 2 системах пробовал не открывает 21 порт. Переставил еще раз образ - итог тот же. Параметры проверил и перепроверил.
 
C

CyanFox

Отличная статья! Но есть небольшая опечатка. Victoria , или Veronica?
 
Мы в соцсетях:

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