问题描述
最近,我研究了使用CreateRemoteThread的dll注入技术,发现了一些有趣的东西。我刚刚使用PROCESS_QUERY_LIMITED_@R_3_4045@ION打开了该进程,并使用其句柄调用了CreateRemoteThread。令人惊讶的是它起作用了。有趣的是,我尝试用另一个函数NtCreateThreadEx创建远程线程,该函数是CreateRemoteThread的内部函数,但没有用,我不明白这里发生了什么。代码如下:
void Create_Remote_Thread()
{
HMODULE ntdll,kernel32;
HANDLE hCurrp = nullptr;
ntdll = GetModuleHandle(L"ntdll.dll");
kernel32 = LoadLibrary(L"kernel32.dll");
FARPROC lpfnLoadLibrary = NULL;
_NtGetNextProcess nextProc = (_NtGetNextProcess)GetProcAddress(ntdll,"NtGetNextProcess");
lpfnLoadLibrary = GetProcAddress(kernel32,"LoadLibraryA");
char buf[MAX_PATH];
//while (nextProc(hCurrp,PROCESS_QUERY_LIMITED_@R_3_4045@ION,&hCurrp) == 0) {
while (nextProc(hCurrp,PROCESS_ALL_ACCESS,&hCurrp) == 0) {
GetmodulefileNameExA(hCurrp,buf,MAX_PATH);
HANDLE hThread = NULL;
if (strstr(buf,"notepad.exe") != NULL) {
hThread = CreateRemoteThread(hCurrp,NULL,(LPTHREAD_START_ROUTINE)lpfnLoadLibrary,NULL);
}
}
}
然后,可以仅以较低的特权创建远程线程吗?如果有人知道这一点,请通知我。谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)