Fsecurity | HH
2.09K subscribers
1.72K photos
105 videos
62 files
6.15K links
Канал про ИБ
Наш Discord: https://discord.gg/Eg8aDS7Hn7
Пожертвовать:
> https://www.donationalerts.com/r/xackapb
Download Telegram
Ждёте ролик?
Anonymous Poll
47%
Да 👾
0%
Нет 😑
53%
Ты хто ? 🤔
This media is not supported in your browser
VIEW IN TELEGRAM
Fsecurity | HH pinned «Ждёте ролик?»
Forwarded from s0ld13r ch. (s0ld13r)
"Это не баг, а фича" или же backdoor by design pt. 1 😃

Когда мы ищем векторы RCE в инфре, мы привыкли охотиться за сложными CVE. Но иногда дверь оставлена открытой специально - по архитектурным соображениям. Сегодня поговорим про Java Debug Wire Protocol (JDWP) 👩‍💻

🔍 Что это такое?

Это протокол для отладки Java-приложений в реальном времени. Он позволяет смотреть состояние потоков, память и execution flow, не перезагружая приложение. Чтобы его включить, разработчику достаточно добавить одну строку:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005


🤭 В чем подвох?

Протокол не предусматривает никакой авторизации. Если порт 5005 торчит наружу или доступен во внутренней сети - это легитимный RCE «из коробки».

🤬 Проблема старых инструментов:

Популярный jdwp-shellifier написан на Python 2 и использует только Runtime.exec(). Главный минус - вы не видите вывод команды в консоли (blind execution). Если сеть ограничена и вы не можете кинуть reverse shell или сделать curl на свой сервер, эксфильтрация данных превращается в квест.

Я переписал и проапгрейдил этот инструмент, сделав его современным и более «зубастым» назвав его JDWP Knife.

Ключевые фичи:

• Python 3.6+ 👩‍💻
• Интерактивность: Вывод env, ls и cat прямо в консоль 👩‍💻
• Удобство: Минимум лишних движений при разведке 🕵️‍♂️

✍️ Примеры использования:

# 1. Discover JDWP
echo "JDWP-Handshake" | nc -w3 TARGET 5005

# 2. Identify service
python3 jdwp-knife.py -t TARGET -p 5005 --props

# 3. Extract credentials
python3 jdwp-knife.py -t TARGET -p 5005 --env | grep -iE 'pass|secret|key|token|jdbc|aws'

# 4. Read interesting files
python3 jdwp-knife.py -t TARGET -p 5005 --cat /etc/passwd


Будьте аккуратны с debug портами в проде, иногда удобство в разработке может привести к компрометации всей инфраструктуры
😉

💻 jdwp-knife: https://github.com/s0ld13rr/jdwp-knife

🧢 s0ld13r
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM