ОБСУЖДЕНИЕ

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

2 ответов 2,8 тыс.
Автор темы
Всем привет! Застрял на таске "Том" (HackerLab)

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

Подскажите плиз, куда копать дальше?
 
Такой вопрос лучше задать в чате платформы - Чат — Hacker Lab
 
  • Нравится
Реакции: M4x
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
 
  • Нравится
Реакции: Cruel Lord и Сергей Попов
2