VulnHub, виртуальные машины для взлома. wakanda: 1

VulnHub это сайт на котором вы можете найти много виртуальны машин с уязвимостями для оттачивания навыков взлома. Разной сложностей и на любой вкус. В это статье мы будем ковырять виртуалку под названием wakanda: 1 . В описание написано что это средний уровень и нам надо найти три флага ( flag1.txt, flag2.txt, root.txt ).

Я честно признаю что я новичок в Этичном хакинге и вообще в кибербезопасности. Для прохождение использовал пошаговое руководство, которых куча. Отличие этой статьи будет в том что я буду давать лишь направление, а основную работу вам придется делать самим и пользоваться поиском в инете. Мне кажется вам будет намного интересней чем узнать уже готовый рецепт победы.

Ну что же, качаем виртуалку, запускаем ее в VirtualBox. Проблем у меня с этим не возникло. К стати не забудьте настроить сеть виртуальной машины(вы же должны быть в одной сети), если не знаете как : поисковик в помощь.

Начало начал.

Первым делом нам надо узнать IP адрес нашей машины :

 arp-scan -l  

Если вы не знаете что такое ARP-протокол, не поленитесь прочтите Wiki.

Дале опять же все стандартно. Запускаем Nmap и сканируем нашу виртуалочку:

Сайт.

К стати вы можете для начала поиграться с Nmap, попробовать разные настройки и т.д. Ну а потом открываем браузер и идем на сайт. Там опять все очень скромно, долго лазить не придется. Вы можете поиграться с dirsearch , а потом заглянуть в исходный код страницы.

Вот вам подсказка, сайт уязвим к атаке под название Local File Inclusion
и фильтра Base64 PHP. С помощь нее мы получаем исходный код файла index.php . С декодированием вы тоже разберетесь сами.

В исходнике inxex.php опять же прям черным по белому написан пароль , а так же у нас есть автор сайта( @mamadou) . Что же с этим делать? На самом деле логика простая, машина изначально уязвима и создана специально что бы ее взломали. Думаю вы заметили что у нас включен SSH сервер, смело пробуем.

SSH.

Дальше начинается не все так просто. Мы заходим по SSH на машину и почему то попадает в запущенный Python(ну видно прикол такой).

Если вы вдруг не знакомы с этим супер популярным языком программирования, познакомитесь сейчас. Запускаем bash(Bourn eagain shell) командную оболочку :

os.system("/bin/bash")

Может вам не все понятно, и не все получается. Не расстраивайтесь . Поищите в интернете что вам не хватает что бы выполнить эту команду. Собственно вот мы и нашли первый флаг. Ура !

Второй флаг. Уже сложней.

Мы знаем название второго флага, давайте поищем его. К сожалению мы не можем его прочитать.

Казалось бы тупик, во всяком случае мне. Но давайте поищем все файлы которые принадлежат пользователю devops.

 find / -user devops 

И опять же на попадается прозрачная подсказка в виде скрытого файла .antivirus.py к которому у нас еще есть доступ ))) Код там очень просто, записать в файл /tmp/test строчку test. К стати если вы обратили внимание файл такой существует! Я попытался его выполнить, но получил ошибку : нету прав на запить в файл. Но как то же он должен выполняться и файл этот наш точно. Может он выполняется при загрузке машины.

Reverse-Shell.

Мы не знаем пароль от пользователя devops . И думаю сбрутить у нас его тоже не получиться. По этому мы попытаемся запустить реверс-шелл в скрипте .antivirus.py

os.system('bin/nc -lp 4444 -e /bin/bash')

nc это программа Netcat, которая входить в состав дистрибутивов Linux и мы может организовать соединение с другим клиентом. Ну что же у нас все получилось и мы получили второй флаг )))) Возможно вам опять что то не понятно, не расстраивайтесь и изучите сами эту программу и как установить соединение.

Полный root.

Для получения последнего флага нам нужно получить root доступ. Логика подсказывает что имея на данный момент возможностей нам должно хватить. Мы должны найти какой то эксплоит для повышения привилегий или получения рут доступа.

sudo -l

Если мы посмотрим что же можно запускать от лица root , то увидим что нам разрешено pip причем без пароля даже.

Оказывается (я сам и не знал) есть такая уязвимость pip privileges escalation . Гуглим и юзаем данную уязвимость ( подсказка FakePip ). Успехов вам ))))

Продолжение следует…