Прохождение машины 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](https://timcore.ru/wp-content/uploads/2023/01/screenshot_1.png)
Далее, выполняем сканирование портов на целевой машине и получаем, что есть только один открытый порт из хорошо известных 1000 портов, который является портом HTTP (80).
Команда следующая:
sudo nmap –sC –sV –p- 10.0.2.21
![sudo nmap –sC –sV –p- 10.0.2.21](https://timcore.ru/wp-content/uploads/2023/01/screenshot_2.png)
Далее, добавляем айпи адрес по пути /etc/hosts, и прописываем имя хоста, которому я назначил имя «dc-2»:
![Далее, добавляем айпи адрес по пути /etc/hosts, и прописываем имя хоста, которому я назначил имя «dc-2»:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_3.png)
![dc-2](https://timcore.ru/wp-content/uploads/2023/01/screenshot_4.png)
Просматривая IP-адрес с помощью Firefox, я обнаружил, что на веб-сервере размещен веб-сайт WordPress.
![Просматривая IP-адрес с помощью Firefox, я обнаружил, что на веб-сервере размещен веб-сайт WordPress.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_5-1024x369.png)
После обнаружения CMS Wordpress на сайте, я воспользовался инструментом «Wpscan», указав url – адрес. Команда выглядит как:
sudo wpscan –url http://dc-2/ --enumerate u
![sudo wpscan –url http://dc-2/ --enumerate u](https://timcore.ru/wp-content/uploads/2023/01/screenshot_6.png)
Сканер обнаружил имена 3-х пользователей на сайте. Это – «admin», «jerry», «tom».
![Сканер обнаружил имена 3-х пользователей на сайте. Это – «admin», «jerry», «tom».](https://timcore.ru/wp-content/uploads/2023/01/screenshot_7.png)
Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.
![Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_8.png)
![Далее, с помощью команды «touch», я создал файл «users.txt», с именами пользователей, и поработав с редактором «nano», добавил 3 имени.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_9.png)
Немного изучив сайт dc-2, обнаружил подсказку, для поиска первого флага, в которой говорится, что нужно использовать инструмент «cewl», для генерации списка паролей с на сайте:
![Немного изучив сайт dc-2, обнаружил подсказку, для поиска первого флага, в которой говорится, что нужно использовать инструмент «cewl», для генерации списка паролей с на сайте:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_10-1024x524.png)
Итак, я использовал этот инструмент для создания списка паролей с веб-сайта и сохранения этого списка в файле с именем passwords.txt:
![Итак, я использовал этот инструмент для создания списка паролей с веб-сайта и сохранения этого списка в файле с именем passwords.txt:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_11.png)
Вот, собственно, сам список паролей:
![Вот, собственно, сам список паролей:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_12.png)
И он содержит 238 слов:
![И он содержит 238 слов:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_13.png)
Далее, я использую «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](https://timcore.ru/wp-content/uploads/2023/01/screenshot_14.png)
Инструмент вернул следующие учетные данные:
jerry – adipiscing
tom – parturient
![Инструмент вернул следующие учетные данные: jerry – adipiscing tom – parturient](https://timcore.ru/wp-content/uploads/2023/01/screenshot_15.png)
Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.
![Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_16-1024x580.png)
![Я использовал их для входа в админку WordPress и не нашел ни одного уязвимого плагина или темы.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_17-1024x597.png)
Итак, я попытался войти в эту службу SSH, используя извлеченные учетные данные, и мне это удалось. Но я не могу запустить ни одну команду Linux. Это произошло потому, что оболочка ограничена оболочкой. Итак, я попытался избежать этого с помощью редактора VI.
![ssh 7744 port](https://timcore.ru/wp-content/uploads/2023/01/screenshot_18.png)
![ssh tom@dc-2 -p 7744](https://timcore.ru/wp-content/uploads/2023/01/screenshot_19.png)
![ssh tom@dc-2 -p 7744](https://timcore.ru/wp-content/uploads/2023/01/screenshot_20.png)
![whoami vi](https://timcore.ru/wp-content/uploads/2023/01/screenshot_21.png)
![shell=/bin/bash](https://timcore.ru/wp-content/uploads/2023/01/screenshot_22.png)
![shell](https://timcore.ru/wp-content/uploads/2023/01/screenshot_23.png)
Но когда я пытался запускать такие команды, как whoami или cat, это выдавало ошибку bash.
![Но когда я пытался запускать такие команды, как whoami или cat, это выдавало ошибку bash.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_24.png)
Поищем эту ошибку в поисковике:
![Поищем эту ошибку в поисковике:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_26-1024x681.png)
И вот, что я нашел:
![И вот, что я нашел:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_27-1024x537.png)
Это может означать, что /bin/sh может отсутствовать в PATH. Мы можем запустить:
![Это может означать, что /bin/sh может отсутствовать в PATH. Мы можем запустить:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_28.png)
И находим 3-й флаг:
![И находим 3-й флаг:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_29.png)
Далее, переходим к пользователю jerry:
![Далее, переходим к пользователю jerry:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_30.png)
Поскольку у нас уже есть пароль для «jerry», т.е. «adipiscing», мы можем легко выполнить команду «su»:
![Поскольку у нас уже есть пароль для «jerry», т.е. «adipiscing», мы можем легко выполнить команду «su»:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_31.png)
Первое, что я проверил, это правильность sudo для jerry:
![Первое, что я проверил, это правильность sudo для jerry:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_32.png)
На gtfobin я нашел способ использовать git для повышения привилегий:
![На gtfobin я нашел способ использовать git для повышения привилегий:](https://timcore.ru/wp-content/uploads/2023/01/screenshot_33-1024x463.png)
Мы можем запустить sudo git -p help config
, и когда вывод прекратится, мы можем ввести !/bin/sh
, чтобы получить корневую оболочку.
![Мы можем запустить sudo git -p help config, и когда вывод прекратится, мы можем ввести !/bin/sh, чтобы получить корневую оболочку.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_34-1024x583.png)
![!/bin/bash](https://timcore.ru/wp-content/uploads/2023/01/screenshot_35.png)
![Мы можем запустить sudo git -p help config, и когда вывод прекратится, мы можем ввести !/bin/sh, чтобы получить корневую оболочку.](https://timcore.ru/wp-content/uploads/2023/01/screenshot_36.png)
На этом все. Всем хорошего дня!