Flag: Tornado! Hurricane!

Blogs >> tnagareshwar's Blog

Created: Friday, December 24 2010 02:16.57 CST Modified: Friday, December 24 2010 02:18.43 CST
Printer Friendly ...
Using NtCreateThreadEx for Remote Thread Execution in System Process for Vista & Windows7
Author: tnagareshwar # Views: 28780

Some times back I wrote article on using lesser known method, NTCreateThreadEx for remote thread execution. This is better alternative compared to CreateRemoteThread especially for Vista & Windows 7. As you may aware CreateRemoteThread was the popular method used for DLL Injection.

Here are some of the highlights of this technique

* Major advantage is that it can work across session boundaries while CreateRemoteThread cannot.

* User need to have sufficient privileges to perform tasks such as DLL injection using this method.

* It is UNDOCUMENTED-  there is a risk but it is worth it.

This article explains everything you need to know about NtCreateThreadEx with complete code example.

Click on the below link to read the full article,

Remote Thread Execution in System Process using NtCreateThreadEx for Vista & Windows7


.



Blog Comments
Genius Posted: Friday, December 24 2010 04:46.23 CST
Informative, thanks.

skiert Posted: Friday, December 24 2010 06:14.07 CST
I read your article some time ago, but there is a problem.
You still have to open a handle to the Process and OpenProcess() fails big time on any Session0 Process, as far as I can see..
If you cannot open a Handle to the Process, you cannot use the NtCreateThreadEx() API.. So it wouldnt work!?

tnagareshwar Posted: Monday, December 27 2010 12:09.26 CST
@Genius Thanks

@skiert

You need to have right privilege else everything will fail. This method makes it better over CreateRemoteThread as it cannot perform across the sessions even though you have privilege.

Also you need to acquire the SeDebugPrivilege before you begin this operation.


EliCZ Posted: Monday, December 27 2010 15:02.49 CST
RtlCreateUserThread

palaniyappan Posted: Saturday, January 8 2011 06:40.02 CST
@skiert
To debug and  access foreign process memory your process must have SeDebugPrivilege.
The ready made code for privilege escalation is available @

http://support.microsoft.com/kb/131065



Add New Comment
Comment:









There are 30,997 total registered users.


Recently Created Topics
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Immunity Debugger Re...
Aug/03
Question about memor...
Dec/12
How can i find conne...
Nov/27


Recent Forum Posts
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n
OOP_RE tool available?
van7hu
Should binaries be n...
Kolisar
Problem with ollydbg
nullx42
!findtrampoline Immu...
skycrack


Recent Blog Entries
nieo
Mar/22
Android Application Reversing

halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit