十大进程注入(一)
DLL远程线程劫持注入技术解析
进程注入是一种广泛应用于恶意软件或无文件攻击中的躲避检测的技术。其需要在另一个进程的地址空间内运行特制代码,进程注入改善了不可见性、同时一些技术也实现了持久化。
而所谓的DLL注入是诸多进程注入方法中最常用的技术。恶意软件将恶意的动态链接库的路径写入另一个进程的虚拟地址空间内,通过在目标进程中创建远程线程来确保远程进程加载它。而因为DLL本身是由感染后的进程加载的同时PE文件也并没有对系统进行过多的敏感操作,所以这种技术具有相当强的一种隐蔽性。
0x01注入原理
关键函数:CreateRemoteThread()
利用Windows远程线程机制,需要在本地进程中通过CreateRemoteThread函数在其他进程中开启并运行一个线程。因此,把LoadLibrary 函数作为 CreateRemoteThread开启的线程函数,把要加载的DLL路径作为线程函数的参数即可。
为了使远程进程执行LoadLibrary函数加载DLL文件,却面临着两个棘手的问题:
如何向远程进程传递需要加载的DLL路径? -----------①
如何获得远程进程中LoadLibrary函数的地址? -----------②</