【免杀】C2免杀技术(九)DLL注入-前置篇

admin 2025年5月26日09:23:09评论23 views字数 1866阅读6分13秒阅读模式
一、什么是DLL

1、DLL 是 Dynamic Link Library(动态链接库)的缩写,是 Windows 系统中的一种可执行文件格式,扩展名为 .dll。它的本质是一个模块化的程序组件,可以被其他程序调用其中的函数、资源或类库,而不需要把这些代码直接编译进主程序中。 

2、DLL 是一组可被多个程序共享调用的函数或资源集合,通常以 .dll 文件形式存在。

3、几乎所有的exe都加载DLL

4、类似linux系统中共享对象文件(Shared Object, .so 文件)

5、DLL分类

类型
示例
特点
系统级 DLL kernel32.dll

user32.dllntdll.dll
Windows 提供的核心 API,所有软件都依赖它们
软件自带 DLL photoshopcore.dll

steam_api64.dllmsword.dll
由应用自身开发,只供其自身或插件使用,功能模块化
第三方库 DLL libcrypto.dll

zlib1.dllopencv_core.dll
第三方组件打包成 DLL,被多个项目共享调用
恶意 DLL payload.dll

backdoor.dll
攻击者编写用于注入或劫持的 DLL
【免杀】C2免杀技术(九)DLL注入-前置篇

二、DLL编写

1、攻防实战中99%是“自己写DLL”!

2、DLL 可以用 C/C++、Rust、C#、Go 等语言编写,但需注意 ABI 兼容性。

3、实战中,编写用于注入的恶意DLL,最常用C/C++,写法类似于shellcode加载器。

VS创建新项目→动态链接库DLL

【免杀】C2免杀技术(九)DLL注入-前置篇

默认自带两个cpp文件:dllmain.cpp/pch.cpp 

【免杀】C2免杀技术(九)DLL注入-前置篇

4、DLL文件可以反编译成源码吗?

DLL和EXE本质是一样的,都是PE文件,都是机器码,可以被反编译,能看到汇编代码和部分伪C代码,但很难100%还原成开发者的源码。除非是.NET的DLL,否则只能还原功能逻辑,变量名和结构都变了。 

三、DLL代码运行

DLL需要被其他程序(比如你写的EXE、目标软件或注入器)加载后才能运行,不能直接双击!

方法
场景
能力
写 EXE 调用
测试 / 开发阶段
最稳最通用
插件方式
Photoshop、游戏插件等
根据程序加载机制
DLL 注入
免杀、内存加载
高级场景,需权限和技术
rundll32
特定格式导出函数
限制多,已被安全工具关注

示例:exe调用

【免杀】C2免杀技术(九)DLL注入-前置篇

四、DLL注入的意义和价值

DLL注入是指将一个DLL动态链接库植入到目标进程的地址空间中,使其加载并执行你指定的代码。它本质上是一种进程注入技术,是一种攻击手段,用于实现绕过安全软件检测、权限提升、持久化等目的。 

意义/价值点
具体说明
典型应用场景
执行任意代码
可以在目标进程中运行攻击者自定义代码,包括shellcode、反射DLL等
恶意软件载荷执行
持久化驻留
通过注入系统关键进程,实现进程重启、系统重启后的持续驻留
持久化后门
绕过安全防护
利用白名单进程或系统进程执行,绕过杀软/EDR行为检测
免杀、攻防对抗
权限提升
注入高权限进程,获得更高的系统权限
SYSTEM提权、服务提权
数据窃取与操控
读取或篡改目标进程中的敏感数据、劫持输入输出
密码抓取、流量劫持
API劫持/功能增强
Hook目标进程API,实现API劫持、流量转发、功能扩展
流量中转、监控、注入马
对抗沙箱与分析环境
注入特定进程,隐藏自身行为,逃避动态分析与沙箱监测
反分析、反溯源
便于横向移动与渗透
注入远程目标进程,实现横向移动与进一步内网渗透
横向渗透、内网突破
无需文件落地更隐蔽
通过反射DLL注入等技术,仅在内存中运行,避免生成可疑文件
文件less攻击、免杀攻击

五、DLL如何注入

DLL注入的方式有很多,例如:

1、远程线程注入(最常见)

2、线程劫持

3、反射式注入

sRDI(Shellcode Reflective DLL Injection)是一种将DLL转换为Shellcode的技术,全称为 "Shellcode Reflective DLL Injection",它的核心作用是:把一个DLL文件转换成一个可直接执行的、无需依赖磁盘落地的Shellcode。
https://github.com/monoxgas/sRDI

熟悉反射DLL注入:

https://disman.tl/2015/01/30/an-improved-reflective-dll-injection-technique.html

4、APC注入

5、IAT劫持

6、DLL劫持

......

#免杀 #C2 #DLL注入 #shellcode加载器 #注射器 #CS

原文始发于微信公众号(仇辉攻防):【免杀】C2免杀技术(九)DLL注入-前置篇

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月26日09:23:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【免杀】C2免杀技术(九)DLL注入-前置篇https://cn-sec.com/archives/4097090.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息