Capture the Flag, CTF, VulnHub

Прохождение машины 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

sudo netdiscover –r 10.0.2.0.24

Далее, выполняем сканирование портов на целевой машине и получаем, что есть только один открытый порт из хорошо известных 1000 портов, который является портом HTTP (80).

Команда следующая:

sudo nmap –sC –sV –p- 10.0.2.21

sudo nmap –sC –sV –p- 10.0.2.21

Далее, добавляем айпи адрес по пути /etc/hosts, и прописываем имя хоста, которому я назначил имя «dc-2»:

Далее, добавляем айпи адрес по пути /etc/hosts, и прописываем имя хоста, которому я назначил имя «dc-2»:
dc-2

Просматривая IP-адрес с помощью Firefox, я обнаружил, что на веб-сервере размещен веб-сайт WordPress.

Просматривая IP-адрес с помощью Firefox, я обнаружил, что на веб-сервере размещен веб-сайт WordPress.

После обнаружения CMS Wordpress на сайте, я воспользовался инструментом «Wpscan», указав url – адрес. Команда выглядит как:

sudo wpscan –url http://dc-2/ --enumerate u

sudo wpscan –url http://dc-2/ --enumerate u

Сканер обнаружил имена 3-х пользователей на сайте. Это – «admin», «jerry», «tom».

Сканер обнаружил имена 3-х пользователей на сайте. Это – «admin», «jerry», «tom».

Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.

Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.
Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.

Немного изучив сайт dc-2,  обнаружил подсказку, для поиска первого флага, в которой говорится, что нужно использовать инструмент «cewl», для генерации списка паролей с на сайте:

Немного изучив сайт dc-2,  обнаружил подсказку, для поиска первого флага, в которой говорится, что нужно использовать инструмент «cewl», для генерации списка паролей с на сайте:

Итак, я использовал этот инструмент для создания списка паролей с веб-сайта и сохранения этого списка в файле с именем passwords.txt:

Итак, я использовал этот инструмент для создания списка паролей с веб-сайта и сохранения этого списка в файле с именем passwords.txt:

Вот, собственно, сам список паролей:

Вот, собственно, сам список паролей:

И он содержит 238 слов:

И он содержит 238 слов:

Далее, я использую «wpscan» для брутфорса учеток WordPress, используя списки passwords.txt и users.txt. Команда выглядит как:

sudo wpscan –url http://dc-2/ -U users.txt –P passwds.txt

sudo wpscan –url http://dc-2/ -U users.txt –P passwds.txt

Инструмент вернул следующие учетные данные:

jerry – adipiscing

tom – parturient

Инструмент вернул следующие учетные данные: jerry – adipiscing tom – parturient

Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.

Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.
Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.

Итак, я попытался войти в эту службу SSH, используя извлеченные учетные данные, и мне это удалось. Но я не могу запустить ни одну команду Linux. Это произошло потому, что оболочка ограничена оболочкой. Итак, я попытался избежать этого с помощью редактора VI.

ssh 7744 port
ssh tom@dc-2 -p 7744
ssh tom@dc-2 -p 7744
whoami vi
shell=/bin/bash
shell

Но когда я пытался запускать такие команды, как whoami или cat, это выдавало ошибку bash.

Но когда я пытался запускать такие команды, как whoami или cat, это выдавало ошибку bash.

Поищем эту ошибку в поисковике:

Поищем эту ошибку в поисковике:

И вот, что я нашел:

И вот, что я нашел:

Это может означать, что /bin/sh может отсутствовать в PATH. Мы можем запустить:

Это может означать, что /bin/sh может отсутствовать в PATH. Мы можем запустить:

И находим 3-й флаг:

И находим 3-й флаг:

Далее, переходим к пользователю jerry:

Далее, переходим к пользователю jerry:

Поскольку у нас уже есть пароль для «jerry», т.е. «adipiscing», мы можем легко выполнить команду «su»:

Поскольку у нас уже есть пароль для «jerry», т.е. «adipiscing», мы можем легко выполнить команду «su»:

Первое, что я проверил, это правильность sudo для jerry:

Первое, что я проверил, это правильность sudo для jerry:

На gtfobin я нашел способ использовать git для повышения привилегий:

На gtfobin я нашел способ использовать git для повышения привилегий:

Мы можем запустить sudo git -p help config, и когда вывод прекратится, мы можем ввести !/bin/sh, чтобы получить корневую оболочку.

Мы можем запустить sudo git -p help config, и когда вывод прекратится, мы можем ввести !/bin/sh, чтобы получить корневую оболочку.
!/bin/bash
Мы можем запустить sudo git -p help config, и когда вывод прекратится, мы можем ввести !/bin/sh, чтобы получить корневую оболочку.

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

Прохождение машины DC: 1 VulnHub.