Closed gcmoreira closed 1 month ago
Hey @ikelos it's now ready to go, see the example 4 with multiple rows.
BTW, it seems black installation psf/black@stable is broken.
EDIT: Black issue fixed in https://github.com/volatilityfoundation/volatility3/pull/1301
@ikelos The re-run jobs
button on GitHub continues using the previous configuration. To ensure it picked up the fix from #1301, I bumped the patch version temporarily and then rolled it back to zero.
This PR adds the
linux.ptrace
plugin to enumerate tracer and tracee tasks. Ptrace is often leveraged by attackers to gather credentials and other sensitive information.Example 1: strace
Let's take a random process thread:
Let's ptrace the thread/task 1047
Example 2: gdb
Example 3: Ptracing from a thread
For this example, I wrote a simple C program that spawns a pthread and attaches to the same thread as described above. This shows that the information is always related to TID (and not to user PID / kernel TGID). This aligns with our discussion with @eve-mem here:
As you can see, PID in TracerPid actually refers to the user TID, representing the internal kernel PID, and not the kernel TGID which corresponds to the user PID. Confused? Please refer to the links above for clarification.
Example 4: Ptracing multiple threads using PTRACE_O_TRACECLONE