RPC漏洞的通用分析方法(图)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 

作者:Friddy

一.工具准备
1.IDA Pro Advanced 5.2(强大的静态逆向工具)
2.HexRays(强大的可以将汇编代码转换为高质量的C代码的IDA插件)
3.mIDA(极好的抽象RPC接口的IDA插件)

二.找到溢出点
1.补丁比较。
(1)保留没有更新的文件到文件夹Old
(2)打补丁,将更新后的文件放到文件夹New
(3)使用“Darun Grim”等类似的补丁比较工具进行比较,找到微软偷偷修改的地方

2.圈day类型
(1)FUZZ,估计忙活一年能FUZZ到两、三个已经是祖辈上烧了高香了。
(2)静态分析,通过IDA找常见容易溢出的函数,比如strcpy、lstrcpy、strcat、wcscpy、wcscat、sprintf等等。 汇编上,可以注意rep movsd,,比如ms08-066导致提权的AFD.sys就是使用了rep movsd
(3)留意平时使用软件时的报错,可能就是溢出了。

三.朔源
1.下面Friddy就拿ms08067来举例子,不对之处请指正,见笑了。比如通过补丁比较工具分析netapi32.dll找到了sub_5FDDA180子程序被微软修改了。

11

在Functions标签里面找到sub_5FDDA180双击进去

2

点击sub_5FDDA180,右击选择Chart of xrefs to,找到是被哪个函数调用了

3

可以看到

4

是NetpwPathCanonicalize调用了sub_5FDDA180这个子函数。下面看看NetpwPathCanonicalize这个函数:

5

在IDA的导出函数表中可以找到NetpwPathCanonicalize:

6

下面的问题就是找到通过谁可以去调用NetpwPathCanonicalize了。查询《Windows network services internals》一文,搜索PathCanonicalize关键字,可以查到以下信息:
######################################################################
The srvsvc interface is used to manage the lanmanserver service.
Interface Operation number Operation name
4b324fc8-1670-01d3-1278-5a47bf6ee188 v3.0: srvsvc //Coment by Friddy
0x00 NetrCharDevEnum
0x01 NetrCharDevGetInfo
0x02 NetrCharDevControl
0x03 NetrCharDevQEnum
…………
0x1e NetprPathType
0x1f NetprPathCanonicalize//这个就是我们想要找的调用的地方了
0x20 NetprPathCompare
……………….
0x24 NetrShareEnumSticky
######################################################################
原来我们要找的接口在srvsvc.dll中的opcode为0x1f的地方。
下面还是用IDA去逆向srvsvc.dll
下面我们就来使用mIDA了,呼出mIDA的快捷键是Ctrl+7,找到opcode为0x1f的地方

7

Opcode为0x1f处的函数名为:sub_74FFDAE2。双击这个函数,
可以看到:

8

OK!调用NetpwPathCanonicalize的地方已经找到了。双击call NetpwPathCanonicalize,可以看到:

9

再双击jmp     ds:__imp_NetpwPathCanonicalize可以看到:

10

果真在这里加载了NETAPI32.DLL中的NetpwPathCannonicalize,说明我们找对了。
在mIDA的窗口中,选择Opcode为0x1f处的函数,右键选择Decompile

111

可以得到接口的定义为:
######################################################################

[
uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
version(3.0)
]

interface mIDA_interface
{
/* opcode: 0x1F, address: 0x74FFDAE2 */
long  sub_74FFDAE2 (
[in][unique][string] wchar_t * arg_1,
[in][string] wchar_t * arg_2,
[out][size_is(arg_4)] char * arg_3,
[in][range(0,64000)] long arg_4,
[in][string] wchar_t * arg_5,
[in, out] long * arg_6,
[in] long arg_7
);
}
######################################################################
到此,朔源已经完成。

四.溢出
还是接着之前说的通过比较得到的溢出点,在netapi32.dll的sub_5FDDA180处右击选择”Chart of xref from”,可以看到:

12

这里使用了wcscpy和wcscat,溢出………………….

由于是讲解RPC漏洞的通用分析方法,不再对ms08067漏洞进入深入的分析。想对它进行具体分析,可以使用HexRays将sub_5FDDA180和sub_5FDDA26B处逆向成C的代码,看了不容易犯糊涂。

五.总结
RPC相关的漏洞,由于介绍较少,使得对初学者无从下手,对这方面感兴趣的,可以加Friddy的QQ568623联系,也可以发邮件到:qianyang@ssyeah.com  一同探讨相关问题和提出意见。

RPC服务远程溢出漏洞攻击 RPC(Remote Procedure Call, 远程过程调用)是操作系统的一种消息传递功能 微软的描述为:“一种能允许分布式应用程序调用网络上不同计算机的可用服务的消息传递实用程序。在计算机的远程管理期间使用” ////////////////////////////////// 攻击RPC漏洞其实就是攻击DCOM接口 二者相关联 那什么是DCOM接口? DCOM(分布式组件对象模型... 阅读详情

相关推荐

RPC漏洞_MS03-026

漏洞原理:微软修改dcerpc框架后形成自己的RPC框架来处理进程间的通信。微软RPC框架在处理TCP/IP信息交换过程中存在的畸形消息时,未正确处理,导致缓冲区溢出漏洞;此漏洞影响使用RPC框架的DCOM接口,DCOM接口用来处理客户端机器发送给服务器的DCOM对象**请求,如UNC路径。msf使用windows/dcerpc/ms03_026_dcom模块,payload使用windows/shell/reverse_tcp。目标靶机为windows xp,端口135。执行whoami命令。

嘟的博客 2180

GRPC与传统HTTP恶意流量识别的区别

最后能够知道,既在GRPC情况下,会丢失掉参数这个维度的数据,总结如下1.在某些场景,既参数+用户输入结合判定的情况,会与传统有区别2.由于协议为http2,参数变更为key: value对格式3.

SHELLCODE_8BIT的博客 1416

MS08-067 (CVE-2008-4250) 远程命令执行漏洞

文章目录前言一、漏洞简介二、影响范围三、漏洞危害四、本地复现五、补丁编号六、 Windows Server 2003 SP2 中文版利用方法七、漏洞原理深度剖析 前言 本文为08年出现的漏洞进行复现,仅作为学习参考,切勿非法利用! 一、漏洞简介 MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize 函数时触发的,而NetPathCanonicalize 函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,

李同學AI安全 1万+

MS08-067 RPC请求缓冲区溢出漏洞利用

Windows 系统上的服务器服务中存在一个远程执行代码漏洞。 该漏洞是由于服务不正确地处理特制的 RPC 请求导致的。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 影响系统 - Windows Vista - Windows 2000 Service - Windows Server 2008 - Windows Server 2003 - Windows XP

alert['Hello World'] 2220

史上最全网络端口号大全,网络工程师必备!

一、端口概念 在网络技术中,端口(Port)大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。 二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。 二、网络端口的分类 按端口号可分为3大类: (1)公认端口(Well-KnownPorts):范围从0到1023 (2)动态端口(Dynamic Port

TianYao 9846

Kali之MSF的MS08-067漏洞复现详解

MSF即Metasploit Framework,是一个综合性的渗透测试工具,集成信息收集、漏洞扫描、漏洞利用以及提权等功能的工具。 目前安装的kali都自带MSF,可以直接在形界面打开 也可以在kali的终端通过使用命令msfconsole来打开。 ┌──(kali㉿kali)-[~] └─$ ls /usr/share/metasploit-framework/ 或者2022版kali以后(在这之前的版本不知道可不可行)的直接桌面按如下步骤找到msf安装目录。 ①auxiliary模块:主要包含渗透测

weixin_47899104的博客 8025

RPC漏洞通用分析方法

RPC漏洞通用分析方法Friddy 文一.工具准备1.IDA Pro Advanced 5.2(强大的静态逆向工具)2.HexRays(强大的可以将汇编代码转换为高质量的C代码的IDA插件)3.mIDA(极好的抽象RPC接口的IDA插件)二.找到溢出点1.补丁比较。(1)保留没有更新的文件到文件夹Old   (2)打补丁,将更新后的文件放到文件夹New   (3)使用“Darun Grim”等类

井底之蛙 2125

Hadoop Yarn RPC未授权访问漏洞

Hadoop Yarn RPC未授权访问漏洞???? 漏洞详情????影响版本???? 复现环境????FOFA语法????漏洞利用????漏洞修复 ???? 漏洞详情 Apache Hadoop YARN (Yet Another Resource Negotiator)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。 Hadoop Yarn默认对外开放RPC服务,攻击者可利用RPC

LiBai'S BLOG 1万+

linux rpc.gssd 漏洞,区块链中“鸡肋”的RPC漏洞

*本文原创作者:kmsrussian,本文属于FreeBuf原创奖励计划,未经许可禁止转载一、前言——NEO RPC漏洞之争12月1日下午16:34,腾讯湛卢实验室宣布发现NEO的RPC漏洞。官微发文如下:而NEO官方微博,在四个小时之后迅速回应腾讯,回应如下。谁对谁错?公链RPC模块安全情况到底如何?二、RPCRPC漏洞介绍首先介绍下RPC。远程过程调用(Remote Procedure Ca...

weixin_33140481的博客 534

这个补丁摞补丁的RPC漏洞到底是怎么回事?

前段时间,微软Windows系统曝出的远程过程调用(RPC漏洞可谓影响深远,Windows 7与后续的Windows客户端系统,以及Windows Server 2008与后续的Windows服务器系统均被波及。

Y525698136的博客 923

远离远程代码执行 ,RPC 运行时中的三个漏洞是如何被发现的?

我们对发生整数溢出的变量的控制程度最低。这种整数溢出比整数溢出略差,整数溢出是我们完全控制的两个变量相加或相乘,或者当添加的大小可以在一定程度上控制时(例如,数据包大小)。尽管预计利用这些漏洞的可能性很低,但我们已将它们添加到我们去年对 MS-RPC 研究中发现的重要漏洞列表中。RPC 运行时中的队列是使用一个结构体实现的,该结构体包含队列条目数组、当前容量以及队列中最后一项的位置。

AKAMAI_CHINA的博客 1178

linux恶意程序rpc,linux系统 RPC Statd 服务 漏洞修复

最近linux系统安全加固,一些漏洞修复经验和大家分享一下!RPC Statd 服务 RPC类 危险级别:::高发现主机 ##########################################################漏洞编号漏洞分类 RPC类危险级别 高影响平台 AIX IRIX DG/UX HPUX: 9.x, HPUX: 10.x NEC EWS-UX/V,NE...

weixin_32677301的博客 1111

Akamai 如何揪出微软 RPC 服务中的漏洞

MS-RPC 是Windows操作系统的基石之一,自从二十世纪九十年代诞生以来,已经深深扎根在系统的很多功能和组件中。服务管理器?离不开RPC!Lsass?需要RPC!COM?也依赖RPC!甚至针对域控制器执行的一些域操作同样需要用到RPCRPC已经如此普遍,很多人都觉得这项技术一定已经进行了大量检查、记录和研究。其实并不然。虽然微软围绕RPC的使用提供了很多不错的文档,但有关本次漏洞相关主题的内容却并不多,研究人员对RPC,尤其是其安全性的关注也严重不足。

AKAMAI_CHINA的博客 2036

RPC 运行时,第二次:发现新的漏洞

2022 年 4 月 12 日,微软发布了针对远程过程调用 (RPC) 运行时库 (rpcrt4.dll) 中三个漏洞的补丁。和。受影响的操作系统包括 Windows 7、8、10 和 11,以及 Windows Server 2008、2012、2019 和 2022。利用这些漏洞,远程未经身份验证的攻击者可以利用 RPC 服务的权限在易受攻击的计算机上执行代码。此功能既可用于破坏网络,也可用于执行横向移动,因此是攻击者和勒索软件运营商所期望的。微软将这些漏洞标记为可能被利用。

技术超强的网络安全平台 1259

Metasploit上使用RPC方式复现一个Linux提权漏洞

Metasploit上使用RPC方式复现一个Linux提权漏洞 刚刚拿到任务时,我的理解是利用Metasploit工具对Linux系统进行渗透并提权 发现没有涉及到RPC方式,对RPC只知道是远程过程调用,不知道具体用法。难道是 利用RPC远程调用Linux上的Metasploit进行渗透提权,好像也说不通。 请教了一下学长,在学长的解释下有了大致的理解,Metasploit上有个msfd命...

weixin_42324313的博客 2228
上一篇: 状态防火墙 & 深度检测防火墙
下一篇: PE病毒学习笔记——初识感染技术 (转自看雪学院)
hack8
博客等级 码龄18年 109粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值