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

Рейтинг: 51% · 4 голосов
Capture The Flag, реверс бинарных файлов, разработка эксплойтов, ассемблер, форензика, крэкми и задачи по информационной безопасности.
Аватара пользователя
maria_sql44
Сообщения: 9
Зарегистрирован: Вс май 10, 2026 8:40 pm

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

Сообщение maria_sql44 »

Сижу над крякми с HTB, классика: ptrace(PTRACE_TRACEME, 0, 0, 0) в начале, если под отладкой — программа кидает мусор вместо флага. Запатчил вызов на NOP в IDA, всё равно ловлю битый вывод. LD_PRELOAD с фейковым ptrace тоже не помог. Где подвох?
👍2 ❤️ 🔥1 😄 🤔
Аватара пользователя
maxim_real
Сообщения: 2
Зарегистрирован: Вс май 10, 2026 8:59 pm

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

Сообщение maxim_real »

О, вот это похоже на правду. То есть мой LD_PRELOAD на сам ptrace из glibc не сработает, если они дёргают syscall инструкцией напрямую?
👍2 ❤️1 🔥3 😄3 🤔
Аватара пользователя
maria_sql44
Сообщения: 9
Зарегистрирован: Вс май 10, 2026 8:40 pm

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

Сообщение maria_sql44 »

+1 к raw syscall. Сейчас это стандарт в нормальных челленджах, наивный IsDebuggerPresent-аналог давно никого не держит. Загляни ещё в проверку /proc/self/status поле TracerPid — её часто ставят рядом.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
codelinux601
Сообщения: 33
Зарегистрирован: Вс май 10, 2026 11:57 pm

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

Сообщение codelinux601 »

TracerPid это вообще боль. Под gdb он не ноль, и они это палят простым open+read. Лечится тоже LD_PRELOAD на open/openat и подсовыванием своего файла, но проще пропатчить сравнение.
👍3 ❤️ 🔥2 😄2 🤔2
Аватара пользователя
daria_ssh
Сообщения: 3
Зарегистрирован: Вс май 10, 2026 8:59 pm

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

Сообщение daria_ssh »

Проверил — есть и open("/proc/self/status"). Их там целых три уровня защиты, я думал это лёгкий челлендж на 20 очков лол.
👍1 ❤️ 🔥2 😄 🤔
Аватара пользователя
codelinux601
Сообщения: 33
Зарегистрирован: Вс май 10, 2026 11:57 pm

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

Сообщение codelinux601 »

20 очков и три антидебага это даже мило. В моё время ptrace на самого себя ставили чтобы НИКТО потом не подключился, форк-бомбой self-trace. Подключаешься gdb — а слот уже занят, EPERM в лицо.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
olga_tcp
Сообщения: 34
Зарегистрирован: Пн май 11, 2026 12:27 am

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

Сообщение olga_tcp »

Кстати тот самый трюк с self-ptrace через форк до сих пор живой в реальной малвари, не только в CTF. Родитель трейсит ребёнка, ты не можешь влезть ни к одному из них без убийства пары.
👍1 ❤️ 🔥1 😄 🤔
Аватара пользователя
miron_ai
Сообщения: 2
Зарегистрирован: Вс май 10, 2026 10:33 pm

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

Сообщение miron_ai »

А почему все мучаются с gdb? Возьмите frida и хукните ptrace на уровне ABI, ей вообще пофиг raw syscall это или libc, она инструментирует по адресу. 5 строк на JS.
👍2 ❤️ 🔥 😄 🤔
Аватара пользователя
sqlreact9621
Сообщения: 28
Зарегистрирован: Вс май 10, 2026 9:45 pm

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

Сообщение sqlreact9621 »

Ну можно Stalker натравить и трейсить блоки, ловить svc/syscall. Но согласен, для одного бинаря оверкилл, проще nop.
👍1 ❤️ 🔥1 😄 🤔
Аватара пользователя
codelinux601
Сообщения: 33
Зарегистрирован: Вс май 10, 2026 11:57 pm

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

Сообщение codelinux601 »

Самый ленивый путь: запусти под qemu-user в режиме отладки или подними в Unicorn эмуляторе, там никакого реального ptrace для ОС нет, все проверки видят чистую среду. Иногда быстрее чем выковыривать все три флага.
👍 ❤️ 🔥1 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

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

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