远程线程 DLL 注入
Plain Method
在一次软件逆向中,使用detours的注入功能:setdll /d:E:\VS_DEBUG\DetoursDll\Debug\DetoursDll.dll D:\infoflow\infoflow.exe
原理其实就是把dll给注入到exe的节表里了,运行失败,估计对exe有校验。
Remote Injection
远程线程注入dll,成功。
分析
在远程线程DLL注入技术中,目标(远程)进程被迫通过 LoadLibrary()
API 将恶意DLL加载到其进程内存空间中。kernel32.dll 引入了 LoadLibrary()
函数,只接受一个参数——DLL 的路径,并将该 DLL 加载到调用进程的地址空间中。
在这种注入技术中,恶意软件进程在目标进程中创建一个线程,并通过 LoadLibrary()
把DLL路径作为参数来传递,进而调用该线程。由于线程是在目标进程中创建的,因此目标进程会将恶意 DLL 加载到其地址空间中。一旦目标进程加载恶意DLL,操作系统就会自动调用了。