[病毒分析]WinDBG实战教学(1)(二)

简介: [病毒分析]WinDBG实战教学(1)

然后我们继续分析,这次我们分析Lab10-01.sys

我们找到驱动的入口点,然后查找

image.png

mov edi, edi
push ebp
mov ebp, esp

这些操作是在调用函数之前的初始化栈空间操作,如果你好好分析就会知道,这些操作会在栈上重新分配一些空间给要调用的函数,对我们分析来说,无关紧要,然后之后就调用了sub_10920,我们进去看看,这里执行的是驱动函数的一些必要操作。

1.png

然后我们退出来,看看下一个函数sub_10906

image.png

上图中出现了一个函数的赋值,sub_10486,然后我们进去看看就会发现这个

image.png

这个函数会调用RtlCreateRegistryKey这个内核函数来创建一个键在\Registry\Machine\SOFTWARE\Policies\Microsoft,然后设置为0


然后下一个调用是

image.png

再下面也是一样的\Registry\Machine\SOFTWARE\Policies\Microsoft\WindowsFire,然后写入的信息是wall\StandarProfile为0

image.png

入参是这么几个

image.png

然后我们看看这个Path的路径是多少,在这里的ebx显示是这样的,他被赋值为aRegistryMach_2之后就没被改变过了

image.png

所以这里的Path的值就是\Registry\Machine\SOFTWARE\Policies\Microsoft\WindowsFire,然后值为wall\DomainProfile, 0


然后ValueName的值是edi,在IDA里查找最后改变edi的值

image.png

最上面那里一个mov赋值之后就没有改变过了,然后这个ValueName的值是一个dw类型的,也就是E

image.png

总结一下这个函数做了什么:

RtlWriteRegistryValue例程将调用方提供的数据以指定的值名称写入指定的相对路径。


这里会将\Registry\Machine\SOFTWARE\Policies\Microsoft\WindowsFire\wall\DomainProfile的值写入成45h

四、WinDBG调试

问题:用户态的程序调试了ControlService函数,用Windbg设置一个断点,来观察ControlService的调试导致内核执行了怎么样的操作?


我们先在IDA中找到ControlService

image.png

image.png

然后找到地址为401080,我们在OD里面加载断点

image.png

然后执行到这里

image.png

然后我们现在可以跳出虚拟机了,Windbg发送break然后暂停虚拟机的运行

image.png

我们已经暂停了虚拟机的执行,Windbg在等待我们的输入

我们输入!drvobj Lab10-01, 我在Win10物理机上做是有点慢,慢慢的才会出结果来,等一下

相关文章
|
9月前
|
存储 算法 安全
[计算机操作系统(第四版 汤小丹 汤子瀛)]第一章 操作系统引论(学习复习笔记)
[计算机操作系统(第四版 汤小丹 汤子瀛)]第一章 操作系统引论(学习复习笔记)
|
12月前
|
存储 安全 算法
计算机操作系统(慕课版)第一章课后题答案
计算机操作系统(慕课版)第一章课后题答案
|
12月前
|
消息中间件 存储 程序员
计算机操作系统(慕课版)第二章课后题答案
计算机操作系统(慕课版)第二章课后题答案
|
传感器 编解码 算法
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(6)
通讯协议又称通信规程,是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(6)
|
芯片 数据格式
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(2)
什么是中断?中断就是CPU在正常运行程序的时候,由于内部或者外部事件引起的暂时中止现行的程序,转去执行请求CPU为其服务的那个外设或者事件的服务程序,等待这个服务程序执行完毕又要返回到被中止的地方的程序,这么的一个过程。
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(2)
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(4)
什么是实时时钟?实时时钟RTC是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可以供应时钟日历的功能。
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(4)
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(5)
此器件具有两个嵌入式看门狗外设,具有安全性高、定时准确及使用灵活的优点。两个看门 狗外设(独立和窗口)均可用于检测并解决由软件错误导致的故障'
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(5)
|
存储 图形学 芯片
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(1)
嵌入式系统的定义有很多的说法,但是没有一个定义是全面的,下面给到的两种方法我觉得应该算是比较合理的。
爆肝9万字,我已从小白晋升ARM嵌入式工程师!带你从零熟悉常用的M4嵌入式功能,建议收藏(含码源)(1)
|
SQL 存储 数据库