-
-
[讨论]是什么留下了注入DLL的痕迹?
-
发表于:
2018-1-22 17:42
7404
-
很普通的用VirtualAllocEx和CreateRemoteThread对目标进程A注入了自己的dll。
在Loader.exe退出之后,再运行一个检测程序B,依然被检测出了Loader.exe的存在并且给出了文件路径,而且改名了Loader.exe都没有用,显然是留下了File Object的痕迹。
而且考虑到检测程序是在Loader已经执行完退出之后才运行的,那么应该是VirtualAllocEx或者CreateRemoteThread留下了痕迹,有谁知道是哪个留下的痕迹吗?应该怎么抹除?
用下面这样的步骤是不是能更好的隐藏掉注入痕迹?
1. 在目标进程分配内存块X
2. 修改目标进程的EIP跳入新分配的内存块X执行,X中代码通知Loader并进入等待
3. Loader在自身进程空间加载要注入的DLL,并且通知目标进程中内存块X的代码
4. X中的代码根据DLL在Loader中的大小,分配内存块Y
5. 通过RPM把Loader中的DLL所在内存拷贝到内存块Y中,并且CreateThread执行。
6. 释放内存块X并跳回原EIP地址
这样在理论上是不是注入之后再运行的检测程序几乎就无痕迹可查了?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)