About
Articles
Book Store
Distributed RCE
Downloads
Event Calendar
Forums
Live Discussion
Reference Library
RSS Feeds
Search
Users
What's New
Customize Theme
bluegrey
blackgreen
metal
simple
Flag:
Tornado!
Hurricane!
Login:
Password:
Remember Me
Register
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:
52921
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
31,321
total registered users.
Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
hi!
Jul/01
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
Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
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
Recent Blog Entries
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...
oleavr
Jun/25
Build a debugger in 5 minutes
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