无痕注入dll_[讨论]是什么留下了注入DLL的痕迹?

很普通的用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地址

这样在理论上是不是注入之后再运行的检测程序几乎就无痕迹可查了?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现无痕注入DLL是一项高级技术,需要深入了解Windows操作系统的内部机制和注入技术。以下是一种基本的实现方法: 1. 选择适当的注入技术:目前常用的无痕注入技术包括APC注入、远线程注入DLL劫持等。根据具体情况选择合适的注入技术。 2. 创建DLL:编写一个用于注入DLL文件,其中包含你想要注入到目标进程中的代码。确保你的DLL文件不会引发杀毒软件或安全工具的警报。 3. 获取目标进程:通过适当的方式获取目标进程的句柄,例如通过进程名称、PID等。 4. 分配内存空间:在目标进程中分配一块内存空间,用于存放将要注入DLL代码。 5. 将DLL代码写入目标进程内存:使用WriteProcessMemory函数将DLL代码写入分配的内存空间。 6. 创建远线程或修改线程上下文:根据注入技术的选择,可以创建一个远线程或者修改现有线程的上下文,使其执行目标进程中的代码。 7. 注入完成:等待注入的代码执行完毕,并进行必要的清理工作。 需要注意的是,无痕注入DLL存在一定的风险和法律约束。滥用注入技术可能导致系统不稳定、安全漏洞或违反法律规定。在进行任何注入操作之前,请确保你具备合法的授权和了解相关法律要求。此外,了解目标系统的安全配置和防护措施也是非常重要的。 请谨慎使用注入技术,并遵守相关法律法规和道德准则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值