使用BinDiff分析漏洞补丁

时间:2024-03-14 17:28:12

本文目的:学会使用BinDiff分析漏洞补丁。

一、工具与环境

分析环境:Win10 + IDA7.0 + BinDiff5.0

注:IDA7.4须搭配BinDiff6.0,IDA7.0/7.2必须搭配BinDiff5.0

 

BinDiff 下载地址:https://www.zynamics.com/software.html

选择好版本,下载后缀名为msi的安装程序。

安装BinDiff时,点击next即可,只需在选择IDA目录时,要选择IDA的根目录。

使用BinDiff分析漏洞补丁

安装完成后,在IDA中可看到BinDiff

使用BinDiff分析漏洞补丁

二、漏洞简述   

        本次比较的漏洞补丁版本为KB4551762,上一个版本为KB4540673,漏洞编号CVE-2020-0796,影响的操作系统为win10 1903/1909,受影响文件:客户端mrxsmb.sys,服务端srv2.sys。

       2020 年3 月11 日,某国外安全公司发布了一个近期微软安全补丁包所涉及漏洞的综述,其中谈到了一个威胁等级被标记为Critical 的SMB 服务远程代码执行漏洞(CVE-2020-0796),攻击者可以利用此漏洞远程无需系统账户验证,通过发送构造特殊的恶意数据导致在目标系统上执行恶意代码,从而获取机器的完全控制权。此漏洞主要影响支持SMBv3.1.1
的设备,理论上存在蠕虫化的可能性。

下载打补丁前后的文件及其pdb文件

使用BinDiff分析漏洞补丁

使用IDA加载,并生成idb(或i64)文件,将打补丁前后的idb都分析生成好

使用BinDiff分析漏洞补丁

三、使用BinDiff进行比较

在IDA中点击BinDiff,选择另一个需要比较的idb(i64)文件,打开Matched Functions窗口,点一下左上角的Similarity,让相似度最低的排在前面使用BinDiff分析漏洞补丁

选择其中一个函数,右键——>View grow graphs,BiDiff便会打开一个比较窗口:

使用BinDiff分析漏洞补丁

按ctrl + 鼠标滚轮可进行放大与缩小。

四、寻找漏洞函数

 后边就是分析了……