0x42
Форумчанин
- Регистрация
- 05.05.2025
- Сообщения
- 105
- Реакции
- 60
Для понимания проблемы, для начала почитайте эту статью:Игры с уязвимостями
1. Что происходит с бинарным эксплойтингом в 2025?
Мир эксплойтов изменился. Большинство новичков заходят через CTF, читают про buffer overflow и ret2libc, пробуют ROP Emporium — и… всё работает. Но стоит выйти из песочницы, и внезапно обнаруживается: настоящие бинарные уязвимости — это не просто подбор RIP или поиск /bin/sh.
Это охота. Инженерия. Аналитика.
2025 год — это год, где:
- ASLR не просто включён, он везде
- PIE собирается по умолчанию
- Canary и Safe-Linking — не "если", а "всегда"
- Аппаратные защиты (CET, shadow stack, BTI) наконец-то включаются в проде
Технически — да. Практически — нет.
Чтобы обойти ASLR, тебе не нужен bruteforce — тебе нужен infoleak. Но leak — это целая наука. Это уже не "printf("%x")", а вызов puts, утечка через stderr, формат строки в коде и точный разбор регистров в GDB, чтобы выцепить адрес в libc. Всё это требует анализа, а не просто набора эксплойта.
Сегодня heap exploitation — это не дублирование fastbin’а, как в 2017. Это манипуляция tcache, разруливание chunk alignment, обман safe-linking, подсчёт key ^ chunk_addr, и ловля багов уровня UAF с control flow.
3. Почему стоит учиться эксплойтингу?
Потому что эксплойтинг — это обратная сторона системного программирования.
Ты учишься видеть программу не по её коду, а по тому, что она реально делает в памяти.
Ты видишь указатели как они есть, а не как их задумал программист.
Ты учишься думать, как CPU, а не как IDE.
Это также формирует мышление на уровень выше:
- Ты понимаешь, почему glibc аллоцирует именно так
- Ты разбираешься в ELF, GOT, PLT, и что такое relocations
- Ты осознаёшь, почему защита NX может быть полезна даже без ROP
Не всё.
Всё, что делает эксплойтинг "трудным" — это защита. Но любой защиты можно избежать, если:
- Уязвимость действительно существует
- Ты достаточно терпелив
- И у тебя есть leak
Нет смысла искать one_gadget, если ты не знаешь базу libc
Нет смысла делать overwrite, если ты не знаешь точный offset
Всё начинается с анализа. Не с payload.
5. А где сейчас настоящее "пвн"?
Настоящий pwn сейчас (PWN = бинарный эксплойтинг):
- в прошивках (uBoot, embedded ELF).
- в старых бинарях, где ASLR — на минималках.
- в IoT, где даже NX иногда выключен.
- в приватных CTF.
- в анализе старых 0-day для изучения техники bypass.
- В драйверах, в той-же винде, из-за бинарных уязвимостей можно читать/писать память ядра.
Когда ты не просто решаешь задачу, а строишь уязвимость сам. Ломаешь своё. И строишь заново. И снова ломаешь.
6. Заключение
Бинарный эксплойтинг в 2025 — это больше не подбор адреса и jmp rsp. Это глубокий анализ памяти, понимание защит, и умение их обходить. Это архитектура, reverse-engineering, практика и осознанность.
И если ты хочешь заниматься этим всерьёз — ты уже на правильном пути.
Главное — не жди лёгких побед. Но когда получится — это будет твоя победа. Не чья-то writeup. А твоя.