系统安全攻防战:DLL注入技术详解

DLL注入是一种允许攻击者在另一个进程的地址空间的上下文中运行任意代码的技术。攻击者使用DLL注入的过程中如果被赋予过多的运行特权,那么攻击者就很有可能会在DLL文件中嵌入自己的恶意攻击代码以获取更高的执行权限。

具体而言,该技术遵循以下步骤:

  1. 需要将DLL写入磁盘中;
  2. “CreateRemoteThread”调用“LoadLibrary”;
  3. 反射加载程序功能将尝试使用适当的CPU寄存器找到目标进程的进程环境块(PEB),并从中尝试查找内存中的kernel32dll和任何其他必需库的地址;
  4. 发现所需的API函数(如LoadLibraryA,GetProcAddress和VirtualAlloc)的内存地址;
  5. 上述功能将用于将DLL正确加载到内存中,并调用其将执行DLL的入口点DllMain。

本文将介绍使用PowerSploit,Metasploit和自定义工具以及使用这些工具执行DLL注入的过程。

手动注入

手动注入可以从头开始创建DLL,也可以通过Metasploitmsfvenom创建DLL,该文件可以生成包含特定有效内容的DLL文件。 应该注意的是,如果DLL被注入的进程是64位,那么应该使用64位有效负载。

下一步是设置metasploit侦听器,以便在将恶意DLL注入进程后接受连接。

有许多可以执行DLL注入的工具,但最可靠的工具之一是出自SecurityXploded技术团队的Remote DLL
Injector,该工具在实现上使用的是CreateRemoteThread技术,它可以将DLL注入到启用了ASLR的进程中,工具使用的过程中只需要提供进程ID和DLL路径两个参数:

RemoteDLLInjector在初始运行的时候会展示为了完成dll注入所涉及到的所有步骤, 如下图所示。

如果DLL被成功注入,它将返回一个具有和被注入进程相同权限的meterpreter 会话。因此,具有高权限的进程可能会是攻击者首选要注入的进程以执行提权操作。

Metasploit

Metasploit框架具有执行DLL注入的特定模块。它只需要指定进程的PID和DLL的路径并和meterpreter 成功建立会话。

PowerSploit

也可以通过使用PowerSploit完成dll注入以提升程序执行权限。 msfvenom可以用于生成恶意DLL,然后通过任务管理器可以获得目标进程的PID。 如果目标进程作为SYSTEM运行,则注入的DLL将以相同的权限运行。

Invoke-DLLInjection模块将执行DLL注入,如下所示:

DLL内的有效内容将被执行,并且将获得SYSTEM权限。

本文作者:liulang

来源:51CTO

时间: 2024-12-31 11:16:42

系统安全攻防战:DLL注入技术详解的相关文章

SQL 注入技术详解

1.1概述 1.2背景 1.3字符编码 2.1综合测试 2.2测试过程 2.3分析结果 3.1绕过验证 3.2 SELECT 3.2.1 直接利用 ' 号 3.2.2 基于UNION 3.2.3 利用结构错误查询表单 3.2.4 插入语句(圆扩号) 3.2.5 利用LIKE语句查询 3.2.6 "死胡同" 3.2.7 列的数目不匹配问题 3.2.8 附加的WHERE引号 表和域的枚举 3.2.10 单括号 3.3插入 3.4SQL服务器存储过程利用 4.1数据处理 4.2安全的SQL网

CDN学习笔记二(技术详解)

一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同好. 第一章    引言    "第一公里"是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽.这个带宽决定了一个 网站能为用户提供的访问速度和并发访问量.如果业务繁忙,用户的访问数越多,拥塞越严重,网站会在最需要向用户提供服务时失去用户.(还有"中

《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

1.1 Unity 3D基础知识概览 Unity 3D 游戏开发技术详解与典型案例 本节主要向读者介绍Unity 3D的相关知识,主要内容包括Unity 3D的简介.Unity 3D的发展和Unity 3D的特点等.通过本节的学习,读者将对Unity 3D有一个基本的认识. 1.1.1 初识Unity 3D Unity 3D是由Unity Technologies开发的一个轻松创建三维视频游戏.建筑可视化.实时三维动画等互动内容的.多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎. Un

VPN技术详解(中)

详解 VPN技术详解(中)吕晓波 隧道技术基础 隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式.使用隧道传递的数据(或负载)可以是不同协议的数据桢(此字不正确)或包.隧道协议将这些其它协议的数据桢或包重新封装在新的包头中发送.新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递. 被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由.被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道.一旦到达网络终点,数据将被解包并转发到最终目的地.注意隧道技术是指

VPN技术详解(下)

详解 VPN技术详解(下)吕晓波 (紧接中篇) 数据传输阶段 一旦完成上述4阶段的协商,PPP就开始在连接对等双方之间转发数据.每个被传送的数据报都被封装在PPP包头内,该包头将会在到达接收方之后被去除.如果在阶段1选择使用数据压缩并且在阶段4完成了协商,数据将会在被传送之间进行压缩.类似的,如果如果已经选择使用数据加密并完成了协商,数据(或被压缩数据)将会在传送之前进行加密. 点对点隧道协议(PPTP) PPTP是一个第2层的协议,将PPP数据桢封装在IP数据报内通过IP网络,如Interne

科普:5G网络关键技术详解

不久前,中国华为公司主推的Polar Code(极化码)方案,成为5G控制信道eMBB场景编码方案.消息一出,在网络上就炸开了锅,甚至有媒体用"华为碾压高通,拿下5G时代"来形容这次胜利.那么,媒体报道是否名副其实,除了编码之外,5G还有哪些关键技术呢? 科普:5G网络关键技术详解 5G通信到底是什么 5G,顾名思义是第五代通信技术,3GPP定义了5G三大场景: 增强型移动宽带(eMBB,Enhance Mobile Broadband),按照计划能够在人口密集区为用户提供1Gbps用

【H.264/AVC视频编解码技术详解】七、 熵编码算法(1):基础知识

<H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看! "纸上得来终觉浅,绝知此事要躬行",只有自己按照标准文档以代码的形式操作一遍,才能对视频压缩编码标准的思想和方法有足够深刻的理解和体会! 链接地址:H.264/AVC视频编解码技术详解 GitHub代码地址:点击这里 本节视频免费 1. 熵编码概念 "熵&

《Hadoop技术详解》一第1章 简介

第1章 简介 Hadoop技术详解 在过去的几年里,数据的存储.管理和处理发生了巨大的变化.各个公司存储的数据比以前更多,数据来源更加多样,数据格式也更加丰富.这不是因为我们变成了林鼠(译注:林鼠喜欢收集各种物品),而是因为我们想要创造出可以让我们进一步了解某一领域的产品.功能以及对其智能预测(这个领域可以是指用户.数据搜索.机器日志或者是某机构的任何信息).为了更好地服务其成员,各组织正在寻找新的方式来使用那些曾经被认为没有什么价值或者存储起来过于昂贵的数据.采集和存储数据只是其中的一部分工作

智能小区 安防技术详解及安防隐患杂谈

随着人们生活水平的提高,对各方面的需求也相应的提高,对小区的安防也不例外.从原来简单的对讲系统,到如今的智能化小区,经过了十几年不断地研究和发展,我国的智能小区应用与产业都走到了新的阶段. 智能小区安防技术详解 一.闭路监控系统 闭路监控系统作为工作区安防状态的监视.信息手段之一,结合内部对讲系统,公共广播系统,遥相呼应,可减少管理人员的工作强度,提高管理质量及管理效益.闭路监控系统作为现代化保安有力的辅助手段,它将现场内各现场的视频图象或是险情信号传送至主控制中心及分管理室,值班管理人员在不亲