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

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

SoConsult

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

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

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

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab