Thread (12 messages) 12 messages, 5 authors, 2012-02-17

Re: [EXAMPLE CODE] Parasite thread injection and TCP connection hijacking

flat view

From: Tejun Heo <tj@kernel.org>
Date: 2011-08-08 10:20:55
Also in: lkml

On Sat, Aug 06, 2011 at 03:00:37PM +0200, Tejun Heo wrote:
Hello,

On Sat, Aug 06, 2011 at 08:45:28AM -0400, Andy Lutomirski wrote:
quoted
quoted
2. Decide where to inject the foreign code and save the original code
   with PTRACE_PEEKDATA.  Tracer can poke any mapped area regardless
   of protection flags but it can't add execution permission to the
   code, so it needs to choose memory area which already has X flag
   set.  The example code uses the page the %rip is in.
If the process is executing from the vsyscall page, then you'll
probably fail.  (Admittedly, this is rather unlikely, given that the
vsyscalls are now exactly one instruction.)  Presumably you also
fail if executing from a read-only MAP_SHARED mapping.
Heh, yeah, I originally thought about scanning /proc/PID/maps to look
for the page to use but was lazy and just used %rip.  I think that
should work.  I'll note the problem in README.
Okay, updated README.

  http://code.google.com/p/ptrace-parasite/source/browse/README

Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help