Привет, форум! В этой публикации мы займемся добычей флагов из уязвимой машины Billy Madison VM, в рамках соревнований CTF.
Для тех, кто не в курсе, что такое CTF, ссылка на мою первую статью посвященную данной тематике:
> https://codeby.net/threads/ctf-vzlom-mr-robot-vm.57930/
Итак, Billy Madison VM, легенда этой VM основана на американской комедии 1995 года режиссёра Тамры Дэвис. А основной целью является получение root-прав на Билли VM.
Итак, начнем с того, что скачаем образ машины с:
>
Теперь, необходимо с помощью Oracle VM VirtualBox или VMware Workstation, создать и запустить скачанную прежде VM.
Затем, запускаем ОС с которой будет производиться тестирование на проникновение. В моем случае это Kali Linux 2.0.
Следующий шаг, это определение целевого хоста (Billy VM) в нашей сети.
Воспользуемся netdiscover:
> netdiscover
В моем случае целевой хост имеет адрес – 192.168.0.29.
Следующий шаг, это использование сканера nmap, для просмотра информации об открытых портах:
> nmap –p- -A 192.168.0.29
Итог работы сканера, покажет нам список открытых портов:
· 22
· 23
· 69 – http
· 80 – http
На порты 69 и 80 в первую очередь обратим свое внимание.
Попробуем обратиться к целевому хосту по адресу 192.168.0.29 на 80-ом порту:
> 192.168.0.29:80
Страница, достаточно информативна, она повествует о том, что мы – schmuck (чмо) и вряд ли сможем разблокировать свой хост.
Забудем на время про нее, может быть, вернемся к ней в процессе, но пока попробуем зайти на целевой хост, используя второй, 69 порт.
Здесь живет сайт на Wordpress, при исследовании которого, ничего примечательного не обнаружилось.
Вернемся к 22 и 23 порту, как мы все знаем - 22 – это, вероятно окажется SSH, а 23 – Telnet.
SSH в нашем случае ничего не дал, зато telnet оказался гораздо полезнее:
Обращаем внимание на два момента, первый, это пример пароля который раньше использовался, а второй (желтый) – намек на кодировку ROT13 ( «сдвинуть на 13 позиций», иногда используется написание через дефис — ROT-13) представляет собой шифр подстановки простой заменой для алфавита английского языка (стандартной латиницы) Алгоритм не дает никакой реальной криптографической безопасности и никогда не должен использоваться для этого. Он часто приводится в качестве канонического примера слабого метода шифрования. Попробуем дешифровать, так сказать, этот пароль.
Теперь, надо подумать, куда это можно применить. В итоге, выяснилось, что это каталог на сервере:
Одна из заметок, содержит подсказку в первых о том, что существует некий .cap файл, он содержит в своем названии слово “veronica”, ну и на то, что можно использовать rockyou.txt для поисков.
По старой традиции, берем словарь rockyou.txt и с помощью grep отфильтровываем, по словам, содержащим слово “veronica”.
> grep -I veronica /usr/share/wordlist/rockyou.txt > root/rock.txt
Дальше, нам ничего не остается, как поискать этот файл в папке с помощью Dirbuster.
Запустим его с такими параметрами:
Через пару минут, находим искомый файл, открываем путь к нему в браузере. Затем запускаем его с помощью Wireshark:
Что удалось извлечь из дампа Wireshark:
1. Где, то есть FTP сервер (неизвестно на каком порту)
2. Учетные данные – eric и пароль – ericdoesntdrinkhisownpee
3. Ссылку на youtube
Поиск происходил по всем пакетам, интерес представляет только переписка. Вот так это выглядит.
Красным выделен текст письма. Остальную информацию тоже берем из писем. Для начала посмотрим ролик на youtube:
>
В ролике озвучена последовательность чисел, так как упоминался выше 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
После того, как команда успешно отработает, попробуем применить опять nmap к тестируемому хосту:
> nmap –p- 192.168.0.105
Результатом будет открытие 21 порта, на котором висит FTP.
Зайдем на него, используя в качестве учетных данных, те, что мы получили ранее:
> ftp 192.168.0.105
Чтобы осмотреться выполним команду dir, нас интересует файл .notes, скачаем его себе, затем ознакомимся с содержимым:
> get .notes
Выходим с FTP и пробуем прочесть .notes:
Исходя из этих подсказок, а так же из информации в переписке, стало понятно, что есть второй пользователь на FPT, это собственно Вероника. Применим Гидру для брута FTP, словарь пользуем тот же, что мы создавали в начале.
> hydra –l veronica –p /root/Desktop/rock.txt
Получен логин и пароль второго пользователя на FTP.
На этом пока все, продолжение в следующей части…
Для тех, кто не в курсе, что такое CTF, ссылка на мою первую статью посвященную данной тематике:
> https://codeby.net/threads/ctf-vzlom-mr-robot-vm.57930/
Итак, Billy Madison VM, легенда этой VM основана на американской комедии 1995 года режиссёра Тамры Дэвис. А основной целью является получение root-прав на Билли VM.
Итак, начнем с того, что скачаем образ машины с:
>
Ссылка скрыта от гостей
Теперь, необходимо с помощью Oracle VM VirtualBox или VMware Workstation, создать и запустить скачанную прежде VM.
Затем, запускаем ОС с которой будет производиться тестирование на проникновение. В моем случае это Kali Linux 2.0.
Следующий шаг, это определение целевого хоста (Billy VM) в нашей сети.
Воспользуемся netdiscover:
> netdiscover
В моем случае целевой хост имеет адрес – 192.168.0.29.
Следующий шаг, это использование сканера nmap, для просмотра информации об открытых портах:
> nmap –p- -A 192.168.0.29
Итог работы сканера, покажет нам список открытых портов:
· 22
· 23
· 69 – http
· 80 – http
На порты 69 и 80 в первую очередь обратим свое внимание.
Попробуем обратиться к целевому хосту по адресу 192.168.0.29 на 80-ом порту:
> 192.168.0.29:80
Страница, достаточно информативна, она повествует о том, что мы – schmuck (чмо) и вряд ли сможем разблокировать свой хост.
Забудем на время про нее, может быть, вернемся к ней в процессе, но пока попробуем зайти на целевой хост, используя второй, 69 порт.
Здесь живет сайт на Wordpress, при исследовании которого, ничего примечательного не обнаружилось.
Вернемся к 22 и 23 порту, как мы все знаем - 22 – это, вероятно окажется SSH, а 23 – Telnet.
SSH в нашем случае ничего не дал, зато telnet оказался гораздо полезнее:
Обращаем внимание на два момента, первый, это пример пароля который раньше использовался, а второй (желтый) – намек на кодировку ROT13 ( «сдвинуть на 13 позиций», иногда используется написание через дефис — ROT-13) представляет собой шифр подстановки простой заменой для алфавита английского языка (стандартной латиницы) Алгоритм не дает никакой реальной криптографической безопасности и никогда не должен использоваться для этого. Он часто приводится в качестве канонического примера слабого метода шифрования. Попробуем дешифровать, так сказать, этот пароль.
Теперь, надо подумать, куда это можно применить. В итоге, выяснилось, что это каталог на сервере:
Одна из заметок, содержит подсказку в первых о том, что существует некий .cap файл, он содержит в своем названии слово “veronica”, ну и на то, что можно использовать rockyou.txt для поисков.
По старой традиции, берем словарь rockyou.txt и с помощью grep отфильтровываем, по словам, содержащим слово “veronica”.
> grep -I veronica /usr/share/wordlist/rockyou.txt > root/rock.txt
Дальше, нам ничего не остается, как поискать этот файл в папке с помощью Dirbuster.
Запустим его с такими параметрами:
Через пару минут, находим искомый файл, открываем путь к нему в браузере. Затем запускаем его с помощью Wireshark:
Что удалось извлечь из дампа Wireshark:
1. Где, то есть FTP сервер (неизвестно на каком порту)
2. Учетные данные – eric и пароль – ericdoesntdrinkhisownpee
3. Ссылку на youtube
Поиск происходил по всем пакетам, интерес представляет только переписка. Вот так это выглядит.
Красным выделен текст письма. Остальную информацию тоже берем из писем. Для начала посмотрим ролик на youtube:
>
В ролике озвучена последовательность чисел, так как упоминался выше 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
После того, как команда успешно отработает, попробуем применить опять nmap к тестируемому хосту:
> nmap –p- 192.168.0.105
Результатом будет открытие 21 порта, на котором висит FTP.
Зайдем на него, используя в качестве учетных данных, те, что мы получили ранее:
> ftp 192.168.0.105
Чтобы осмотреться выполним команду dir, нас интересует файл .notes, скачаем его себе, затем ознакомимся с содержимым:
> get .notes
Выходим с FTP и пробуем прочесть .notes:
Исходя из этих подсказок, а так же из информации в переписке, стало понятно, что есть второй пользователь на FPT, это собственно Вероника. Применим Гидру для брута FTP, словарь пользуем тот же, что мы создавали в начале.
> hydra –l veronica –p /root/Desktop/rock.txt
Получен логин и пароль второго пользователя на FTP.
На этом пока все, продолжение в следующей части…
Последнее редактирование: