Ptrace Antidebug
Category: REV · Difficulty: Medium · Points: 250 · Challenge: 500
Background
The target binary implements active debugger detection through system tracing calls and terminates itself when it detects monitoring. The stated technique is to bypass or neutralise the anti-debugging checks and step through the execution path. FORMAT: FLAG{ }
Analysis
The artifact is presented as a compiled binary but is 98 bytes. Its first sixteen bytes are the ELF identification string, and from offset 16 onward it is ASCII rather than machine code:
$ file challenge-058.bin
challenge-058.bin: ELF 64-bit LSB *unknown arch 0x4752* (SYSV)
$ xxd challenge-058.bin
00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000 .ELF............
00000010: 5441 5247 4554 5f52 4556 5f4b 4559 5f30 TARGET_REV_KEY_0
00000020: 3532 5f46 4c41 477b 6377 6132 3032 365f 52_FLAG{cwa2026_
00000030: ... }.........The unidentified machine type is a consequence of the layout rather than a real target: the
e_machine field at offset 18 falls inside the ASCII marker, so the value 0x4752 is
simply the characters GR. There is therefore no program image to disassemble, no symbol
table and no control flow to trace, and the anti-debugging checks described in the brief could not be neutralised, since no process and no tracing calls were present. The marker TARGET_REV_KEY_058_ wraps the flag in cleartext and the
remainder of the file is NUL padding.
Result
FLAG{cwa2026_264be15ab9cc30c0}