4 ms·
Thankfully this is easy to circumvent: have your debugger catch the ptrace syscall and lie about the result. Also, if antivirus programs haven't already added a
by josephcsible 3y ago
Thankfully this is easy to circumvent: have your debugger catch the ptrace syscall and lie about the result. Also, if antivirus programs haven't already added a signature for any programs that do that, they should.
- lapcat 3y ago> Thankfully this is easy to circumvent: have your debugger catch the ptrace syscall and lie about the result. Yeah, Apple iTunes did that IIRC, and it was super easy to bypass.
- adtac 3y agoThe malware will then rely on actual ptrace behaviour as a check. You could instead use seccomp_unotif and let the target ptrace itself as much as it wants: https://man.archlinux.org/man/seccomp_unotify.2.en https://man.archlinux.org/man/seccomp_unotify.2.en
- harryfyx 3y agoI don't know reverse engineering. But, I guess the ultimate solution would be running a custom OS to fake ptrace results in the kernel level?
- scandinavian 3y agoYou can just use LD_PRELOAD to load your own version of ptrace. Not as stealthy though.
- pizzapim 3y agoAnother way is to load a eBPF program or kernel module for this purpose.
- MuffinFlavored 3y ago> have your debugger catch the ptrace syscall Cat + mouse: Have your program catch any signals/stops (which debuggers do on Linux when they attach I believe)
- deleted 3y ago[deleted]