当前位置: 首页 > news >正文

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

一、什么是DLL?

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

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

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

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

5、DLL分类

类型示例特点
系统级 DLLkernel32.dll, user32.dll, ntdll.dllWindows 提供的核心 API,所有软件都依赖它们
软件自带 DLLphotoshopcore.dll, steam_api64.dll, msword.dll由应用自身开发,只供其自身或插件使用,功能模块化
第三方库 DLLlibcrypto.dll, zlib1.dll, opencv_core.dll第三方组件打包成 DLL,被多个项目共享调用
恶意 DLLpayload.dll, backdoor.dll攻击者编写用于注入或劫持的 DLL

二、DLL编写

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

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

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

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

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

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

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

三、DLL代码运行

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

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

四、 DLL注入的意义和价值

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

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

五、DLL如何注入

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

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

2、线程劫持

3、反射式注入

https://github.com/monoxgas/sRDI

An Improved Reflective DLL Injection Technique

4、APC注入

5、IAT劫持

6、DLL劫持

......

相关文章:

  • 事务操作语句
  • 美团2025年校招笔试真题手撕教程(三)
  • [Linux]磁盘分区及swap交换空间
  • React整合【ECharts】教程002:折线图的构建和基本设置
  • 疫情社区管理登记系统
  • 基于TypeScript的全栈待办事项应用Demo
  • binlog解析工具——binlog2sql
  • 机械师安装ubantu双系统:二、磁盘分区
  • 【MPC控制 - 从ACC到自动驾驶】5. 融会贯通:MPC在ACC中的优势总结与知识体系构建
  • 浏览器游戏的次世代革命:WebAssembly 3.0 实战指南
  • 人脑能够通过视频信息快速建模出现实场景,原因有哪些方面?
  • 人工智能数学基础实验(一):智能推荐系统实战
  • CA自签名证书创建--证书链生成脚本
  • 强化学习在大模型中的应用详解
  • 分几个好用的系统提示词
  • FreeRTOS--信号量
  • EPD_2IN7_V2_Clear() 和 Paint_Clear(WHITE) 的区别
  • CV中常用Backbone-3:Clip/SAM原理以及代码操作
  • # 使用 Hugging Face Transformers 和 PyTorch 实现信息抽取
  • 小土堆pytorch--神经网络搭建小实战Sequential的使用
  • 济南网站建设推广服务/关于进一步优化落实疫情防控措施
  • wordpress模板电影/刷移动端seo软件
  • 做网站软件的公司/公司网站建设多少钱
  • 优惠券网站要怎么做/成都seo服务
  • 酷酷123网址之家/南宁求介绍seo软件
  • 网站建设语言什么语言/百度搜索推广多少钱