Прохождение машины DC: 2 VulnHub. Райтап.
Здравствуйте, дорогие друзья.
Сегодня пройдем виртуальную машину, с сервиса VulnHub, которая называется DC-2. Как и DC-1, DC-2 — еще одна специально созданная уязвимая лаборатория, с целью получения опыта в мире тестирования на проникновение.
Как и оригинальная DC-1, она разработана для новичков.
Необходимы навыки работы с Linux, и знакомство с командной строкой Linux, а также некоторый опыт работы с базовыми инструментами тестирования на проникновение.
Как и в случае с DC-1, есть пять флагов, включая последний флаг.
И опять же, как и в случае с DC-1, флаги важны для новичков, но не так важны для тех, у кого есть опыт.
Короче говоря, единственный флаг, который действительно имеет значение, — это последний флаг.
Для новичков — Google — Ваш друг. Ну, помимо всех проблем с конфиденциальностью и т.д.
Я не исследовал все способы получения root-прав, так как отказался от предыдущей версии, над которой работал, и начал совершенно новую версию, за исключением установки базовой ОС.
Первый этап, который следует выполнить – это узнать айпи адрес уязвимой машины, в локальной сети. Это делается с помощью утилиты «nediscover», и команда выглядит как:
sudo netdiscover –r 10.0.2.0.24
Далее, выполняем сканирование портов на целевой машине и получаем, что есть только один открытый порт из хорошо известных 1000 портов, который является портом HTTP (80).
Команда следующая:
sudo nmap –sC –sV –p- 10.0.2.21
Далее, добавляем айпи адрес по пути /etc/hosts, и прописываем имя хоста, которому я назначил имя «dc-2»:
Просматривая IP-адрес с помощью Firefox, я обнаружил, что на веб-сервере размещен веб-сайт WordPress.
После обнаружения CMS Wordpress на сайте, я воспользовался инструментом «Wpscan», указав url – адрес. Команда выглядит как:
sudo wpscan –url http://dc-2/ --enumerate u
Сканер обнаружил имена 3-х пользователей на сайте. Это – «admin», «jerry», «tom».
Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.
Немного изучив сайт dc-2, обнаружил подсказку, для поиска первого флага, в которой говорится, что нужно использовать инструмент «cewl», для генерации списка паролей с на сайте:
Итак, я использовал этот инструмент для создания списка паролей с веб-сайта и сохранения этого списка в файле с именем passwords.txt:
Вот, собственно, сам список паролей:
И он содержит 238 слов:
Далее, я использую «wpscan» для брутфорса учеток WordPress, используя списки passwords.txt и users.txt. Команда выглядит как:
sudo wpscan –url http://dc-2/ -U users.txt –P passwds.txt
Инструмент вернул следующие учетные данные:
jerry – adipiscing
tom – parturient
Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.
Итак, я попытался войти в эту службу SSH, используя извлеченные учетные данные, и мне это удалось. Но я не могу запустить ни одну команду Linux. Это произошло потому, что оболочка ограничена оболочкой. Итак, я попытался избежать этого с помощью редактора VI.
Но когда я пытался запускать такие команды, как whoami или cat, это выдавало ошибку bash.
Поищем эту ошибку в поисковике:
И вот, что я нашел:
Это может означать, что /bin/sh может отсутствовать в PATH. Мы можем запустить:
И находим 3-й флаг:
Далее, переходим к пользователю jerry:
Поскольку у нас уже есть пароль для «jerry», т.е. «adipiscing», мы можем легко выполнить команду «su»:
Первое, что я проверил, это правильность sudo для jerry:
На gtfobin я нашел способ использовать git для повышения привилегий:
Мы можем запустить sudo git -p help config
, и когда вывод прекратится, мы можем ввести !/bin/sh
, чтобы получить корневую оболочку.
На этом все. Всем хорошего дня!