病毒分析第一讲,分析病毒注意事项,以及简单分析主要功能

一丶认识木马和病毒的区别

木马和病毒是两个不一样的,有人会把木马认为是病毒,但其实不是

说下区别

 

木马:

  木马没有破坏性,木马主要功能是收集用户信息,控制机器等等.

病毒:

  病毒一般带有破坏性的行为,比如格式化盘符,修改电脑的文件,传染....

二丶分析病毒的前提准备

1.在分析病毒样本之前,首先要把病毒的名字修改一下.

比如:

  病毒分析,加上.v后缀

2.使用虚拟机进行分析(当然你可以用真机分析,^_^),并且建立虚拟机快照

病毒分析虚拟机软件

3.建立快照

 建立快照之前,建议把所以该用到的工具进行配置.配置好了一切就可以开始正常操作了.

-病毒分析

4.观察病毒行为

  1.第一种分析方式

      关键API下断点

    CreateFile  CreateProcess  OpenProcess, WriteProcessMemory  VirtualAllocEx,服务相关,注册表相关,网络相关,因为只要是病毒,肯定会操作的.

  2.第二种分析方式

    使用一种观察其行为的工具,在虚拟机中看看在怎么做.

    工具:病毒分析

工具会打包上传

病毒分析

安装好之后的界面:

设置:

  工具-选项-保护-设置保护模式

病毒分析

 

  1.学习模式, 可以检测特定程序的使用的关键API,比如: 创建文件,修改内存...但是不阻止

  2.正常模式,正常模式则会在调用这些关键API之后,则会问你是否允许操作

  3.安静模式,安静模式则不操作,不提示.

三丶在学习模式下,观看病毒行为

一丶分析病毒的基本行为

此时,我们可以把我们的病毒样本放到虚拟机中运行了,如果建立了快照,则可以运行起来了,到时候恢复快照即可.

病毒样本:

  病毒分析

拖放到虚拟机中运行,先打开Mal病毒分析工具

病毒分析并运行.

第一步初次分析得到

 病毒分析

病毒分析

 

  可以得出

  1. 主体样本会释放 SampleSrv.exe子体

  2.主体创建进行,运行SampleSrv.exe

  3.主体不断的修改其他进程内存

  4.子体SamPleSrv.exe释放DestToplayer.exe

  5.字体SamPleSrv.exe创建进行运行了DestToplayer.exe

  6.Desttoplayer.exe运行iexplore.exe

  7.Iexplore.exe修改注册表的值

  8.Iexplore.exe不断的修改文件

由此得出流程图

  病毒分析

 

 二丶根据第一次分析,分析具体怎么做.

  根据第一次的分析,我们发现Iexipore.exe (也就是IE浏览器)不断的修改文件(感染文件)

1.附加感染文件

那么此时,我们OD附加一下,然后在CreateFile下断点,因为感染文件肯定会打开文件.

病毒分析

OD附加进程是存在的,因为创建进程的时候,窗口已经隐藏了.

2.打开模块,关键api下断点

ALT + E打开

病毒分析

CTRL + N 查看CreateFile

3.关键API下断点

病毒分析

4.栈回溯看其谁调用

病毒分析

病毒分析

5.查看节,看下属于哪个节

病毒分析

属于一个堆内存

节区开始是

2001000

大小是 D000

我们跳转到这个节地址

病毒分析

在内存中看到,它是一个EXE? MZ开头

我们查看下OEP,然后在内存中DUM这块内存下来.

病毒分析

B0开始是我们的PE头,那么 OEP的入口点是7C79

直接DUp内存

6.Dup内存

病毒分析

首先用的这个工具是OD插件中带的.网上可以查到很多.(工具会打包)

7.IDA分析dump出来的文件

病毒分析

7.1,分析导入表,查看CreateFile被谁引用

病毒分析

按X键看被谁引用

病毒分析

一步一步往上跟

病毒分析

第一次跟到这里,我们点击上面的注释哪里,可以继续网上跟,看谁引用了.

注意,上面的注释没有我这么多我们要设置一下 

中文:设置 - > 常规 - > 显示交叉参考 - > 设置你喜欢的数目

英文: Options - > General - > Cross-references -> disassembly(Non-Graph) -> 设置你喜欢的

病毒分析

一层一层的交叉引用展开,粗略的按下F5键看一下,其中一个是修改PE文件的,暂时可以将这个引用修改为 修改PE 节(ChangePE Sections)

病毒分析

 

一层一层的往上跟可以看到遍历文件,所以我们修改一下函数名字

病毒分析

继续网上跟可以看出获得磁盘驱动器的函数

病毒分析

按下x,看下此函数谁调用的.我们发现它是一个线程开辟去做的事情,那么这个线程看下是谁用的.

那么继续往下追则是DLLEntry了,也就是 DLL main DLL的入口点了.

由此得出,这个是DLL,被注入的IE中的,然后执行程序,不断循环遍历文件,进行感染exe文件的.

那么我们要知道怎么注入的,在上面的沙箱中也没看到,明天讲解.

病毒分析第二讲,分析病毒的主要功能

经过昨天病毒分析第一讲,得出一个被注入的DLL

开始分析DLL主要功能

PS: IDA中,DLL会有各种初始化的代码,和释放资源,所以不再看,只看重要的API

一丶行为分析(创建命名互斥体,防止病毒多开)

病毒分析

进入函数去看,从DLLmain入口点分析.

病毒分析

得出,第一步,病毒为了防止重复注入IE,创建命名互斥体.

名字是:  "KyUffThOkYwRRtgPP"

 

 二丶拼接字符串,创建文件,写入系统当前时间

进入DLLmain第二个函数查看.

病毒分析

PS:分析到哪里都已经改名字了,原名字不是Init,这个是根据分析里面的函数调用的出来的.

点击进入,查看具体怎么做了

 病毒分析

 

 根据分析,可以分为四部分去看

1.初始化各种数据

2.经过一些列自己写的算法运算

3.获取磁盘和驱动器的信息,并且处理文件

4.写入系统时间(需要跟随大里面去看)

虚拟机动态调试查看.

病毒分析

第一次,通过动态分析,得出会拼接一个字符串,为

当前的: C:Documents and settings\Administrator\桌面\xxxx\dmiconf.data

病毒分析

 第二此分析,得出,在目录下面创建这个文件

病毒分析

病毒分析

写入的内容是时间

得出第二次行为:

创建文件dmlconf.dat在当前目录,并且写入文件内容为当前时间

三丶分析行为三,写入注册表,实现开机自启动

继续分析DLLmain下面的API

病毒分析

点击API进去查看.

 病毒分析

里面还有一层,进去查看.没有命名的函数都是无关紧要的,这些都是实现命名过了.

病毒分析

进去一层则看到

1.打开注册表

2.遍历注册表的值

3.修改注册表的值

4.关闭注册表

此时我们需要动态查看是进入是修改的那个注册表了.

1.找到线程回调

病毒分析

2.线程回调进入下段点,并设置为新的EIP

病毒分析

设置的快捷键是 Ctrl + * 键

3.进入Call查看 

病毒分析

 

 4.查看注册表操作

病毒分析

得出了要操作注册表

HEEY_LOCAL_MACHINE Software\Microsoft\Windows NT\CurrentVersion\Winlogon

这个正好是开机启动项

病毒分析

经过上面和下面的分析,得出先获取注册表的值,然后申请内存

写入我们的内容

时间关系,不一步一不的跟了.

病毒分析

其实跟进去看的话她会设置自己的子体到里面,这样就会开机自启动了.

四丶网络相关

 此病毒还涉及到网络相关,但是现在这个病毒现在也链接不了服务器了.所以网络相关的掠过

如果想明白原理,建议自己跟一下看下也可以.

五丶修改PE文件,修改Html

此功能昨天已经快速定位到了.

鉴于时间关系不一步一步的分析了.此次样本分析完毕.

 

得出行为:

  1.使用命名互斥体,防止多开

  2.创建文件在dmlconf.dat在C盘目录下,并写入时间

  3.写入注册表开机自动启动

  4.链接服务器,发送和接受数据

  5.修改PE,以及html

 

坚持两字,简单,轻便,但是真正的执行起来确实需要很长很长时间.当你把坚持两字当做你要走的路,那么你总会成功

相关文章: