!!_HELP_НУЖНА ПОМОЩЬ. Задание "ТОМ"

  • Автор темы Автор темы SoConsult
  • Дата начала Дата начала

SoConsult

Green Team
12.04.2025
20
2
Всем привет! Застрял на таске "Том" (HackerLab)

Не пойму, как реализовтаь PVE. Пробовал через doas (пытался подсунуть левый конфиг) - не сработало.
На целевом хосте есть открытый порт 8005 с java, но слушается только с локлаьного 127.0.0.1
Пытался сделать проброс портов, но сервер запрещает

Подскажите плиз, куда копать дальше?
 
Всем привет! Застрял на таске "Том" (HackerLab)

Не пойму, как реализовтаь PVE. Пробовал через doas (пытался подсунуть левый конфиг) - не сработало.
На целевом хосте есть открытый порт 8005 с java, но слушается только с локлаьного 127.0.0.1
Пытался сделать проброс портов, но сервер запрещает

Подскажите плиз, куда копать дальше?
  • На хосте есть порт 8005, слушающий только 127.0.0.1
    Это 100% Tomcat Shutdown Port — небезопасный, часто с багами.
  • Ты пытался:
    • Пробросить порт — но запрещено (скорее всего, iptables или fail2ban)
    • doas с левым конфигом — вероятно, бесполезно, если нет NOPASS или persist

PVE: Privilege Escalation через Tomcat Shutdown Port

1. Что такое порт 8005?

Это SHUTDOWN-порт Tomcat’а, по которому можно отправить магическую строку:
Код:
SHUTDOWN\n

И если он не переопределён — Tomcat умрёт.

2. Почему он слушает только 127.0.0.1?

Так настроено в server.xml:
<Server port="8005" shutdown="SHUTDOWN">

→ Только локальные подключения.

3. Что делать?

Используй

Local File Inclusion + Proxy chaining / SSRF / RCE

→ Но если у тебя есть shell, и ты на том же хосте, то:

Forward Tomcat порт в себя через reverse ssh или сокеты

socat tcp-listen:18005,reuseaddr,fork tcp:127.0.0.1:8005

Теперь ты можешь подключиться снаружи к порту 18005:
Код:
nc localhost 18005
SHUTDOWN
Если firewall не позволяет — можно использовать socat локально на target и через сокет или файл:
socat -d -d TCP-LISTEN:9000,fork,reuseaddr UNIX-CONNECT:/tmp/tomcat.sock

Или: попытайся убить Tomcat → он может перезапуститься

с другой конфигурацией

(например, запускается под другим юзером, с кривыми правами и т.д.)

Альтернатива (если ты уже внутри):

Найди server.xml:
find / -name server.xml 2>/dev/null
Проверь appBase, docBase, webapps/ — можно ли положить .jsp туда?
Если есть webapps/ROOT, и у тебя доступ к записи — это чистейший RCE

Куда копать:

ДействиеЦель
find / -name server.xmlПонять, где конфиг и какие порты
`ps auxgrep tomcat`
ls -l /opt/tomcat/webapps/ROOT/Проверить возможность загрузки webshell
socat или proxychainsПробросить локальный порт наружу
shutdown-магияУбить процесс и вызвать race-condition
Права к catalina.shИногда можно использовать для запуска с suid
 
  • Нравится
Реакции: Сергей Попов
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab