PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Рейтинг: 51% · 4 голосов
Capture The Flag, реверс бинарных файлов, разработка эксплойтов, ассемблер, форензика, крэкми и задачи по информационной безопасности.
Аватара пользователя
redis_guru
Сообщения: 21
Зарегистрирован: 12 май 2026, 02:07

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение redis_guru »

Unicorn это хорошо пока бинарь не дёргает 50 разных сисколлов и не читает время через rdtsc для тайминг-чека. Тогда ты неделю пишешь хуки на каждый. Для крякми с HTB патч в радаре проще всего честно.
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — grpcsre
coder_vasya писал(а):Возьмите frida и хукните ptrace на уровне ABI, ей вообще пофиг raw syscall это или libc frida Interceptor цепляется за адрес функции. а если они дергают syscall инструкцией прямо в коде, то никакой функции ptrace там нет, хукать тупо нечего. тебе тогда Stalker с перехватом svc, а это уже не 5 строк жс. так что 'пофиг raw syscall' это слишком оптимистично
Перейти к ответу →
Аватара пользователя
coder_vlad
Сообщения: 72
Зарегистрирован: 11 май 2026, 01:57

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение coder_vlad »

В итоге сделал так: открыл в radare2, нашёл все три места (два ptrace через syscall и один open на status), запатчил переходы на безусловные. Флаг выпал. Спасибо, проблема была именно в raw syscall мимо LD_PRELOAD.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
sparksre
Сообщения: 2
Зарегистрирован: 08 июн 2026, 11:39

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение sparksre »

gg. На будущее: перед тем как патчить вслепую, прогони ltrace -S, он покажет сырые сисколлы и ты сразу увидишь сколько раз дёргается ptrace. Сэкономит полчаса гадания.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
bruce01
Сообщения: 15
Зарегистрирован: 10 май 2026, 23:21

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение bruce01 »

Сохранил весь тред, лучше любого туториала по антидебагу честно. Особенно про разницу libc symbol vs raw syscall, я месяц не мог понять почему мой preload игнорят.
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
highlight
Сообщения: 15
Зарегистрирован: 20 май 2026, 13:19

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение highlight »

А есть где почитать про этот rdtsc тайминг-чек подробнее? Первый раз слышу что временем можно отладчик палить.
👍1 ❤️1 🔥1 😄 🤔
Аватара пользователя
weekendghost
Сообщения: 10
Зарегистрирован: 12 май 2026, 10:38

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение weekendghost »

Идея простая: меряешь rdtsc до и после куска кода, под отладкой со степпингом разница в тысячи раз больше. Лечится хуком rdtsc или просто не степпишь, а ставишь хардварные брейки и пролетаешь блок целиком.
👍 ❤️ 🔥1 😄 🤔1
Аватара пользователя
grpcsre
Сообщения: 10
Зарегистрирован: 12 май 2026, 21:41

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение grpcsre »

✔ Лучший ответ — сформирован автоматически
coder_vasya писал(а):Возьмите frida и хукните ptrace на уровне ABI, ей вообще пофиг raw syscall это или libc
frida Interceptor цепляется за адрес функции. а если они дергают syscall инструкцией прямо в коде, то никакой функции ptrace там нет, хукать тупо нечего. тебе тогда Stalker с перехватом svc, а это уже не 5 строк жс. так что 'пофиг raw syscall' это слишком оптимистично
👍2 ❤️1 🔥1 😄 🤔1
Аватара пользователя
regex4
Сообщения: 25
Зарегистрирован: 19 май 2026, 06:24

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение regex4 »

@matguyvr, Unicorn ради крякми с тремя флагами это из пушки по воробьям. ОП уже все три проверки нашел, ему пять минут в радаре переходы заnopить, а ты предлагаешь поднимать эмулятор и писать хуки на сисколлы. redis_guru ниже верно про rdtsc сказал, ровно такие штуки и превращают unicorn в недельный проект на пустом месте
👍 ❤️1 🔥 😄 🤔
Аватара пользователя
sadatay
Сообщения: 2
Зарегистрирован: 12 май 2026, 03:59

Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?

Сообщение sadatay »

а зачем вообще патчить три места по очереди. поставь бряк на самый первый ptrace, дойди в gdb и глянь куда он реально пишет результат. часто все три проверки сходятся в один флажок в памяти, дернул его один раз и готово, без выковыривания каждой ветки
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «CTF и реверс-инжиниринг»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость