病毒分析第一,分析病毒注意事项和简要分析其中一个主要功能丶识别木马和病毒的区别是两种不同的,有人认为木马是病毒,其实不同
区分开来
木马:
木马并不具有破坏性,木马的主要功能是用户信息的收集、机器的控制等
病毒:
病毒具有破坏性行为,例如驱动器盘符格式、计算机文件修改和感染.
222分析病毒的前提准备1 .分析病毒样本前,必须先修改病毒的名称。 例如:
添加. v后缀
2 .使用虚拟机进行分析,(当然也可以用实机进行分析。 ^_^ ),创建虚拟机快照虚拟机软件
3 .在创建快照和创建快照之前,建议您放置要使用的工具。 配置好一切就可以开始正常的操作了。
_
4 .观察病毒行为1.1第一种分析方式
关键API断点
因为只要是createfilecreateprocessopenprocess、writeprocessmemoryvirtualallocex、服务相关、注册表相关、网络相关、病毒就一定会操作。
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 .更改7.Iexplore.exe注册表的值
8.Iexplore.exe不断修改文件
由此可以得到流程图
根据第22次分析,具体分析该怎么办。 第一次分析发现,Iexipore.exe (即IE浏览器)不断修改文件(感染文件)
1 .附加感染文件那么,此时,OD会附加,在CreateFile中创建断点。 因为感染文件一定会打开文件。
OD添加流程存在。 因为在创建流程时,窗口是隐藏的。
2 .打开模块,在关键api中打开断点ALT E
查看ctrln创建文件
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按钮看被谁引用了
一步一步地跟上
第一次跟到这里,可以点击上面注释的哪里,继续网上关注,看看是谁引用的。
请注意,上面的注释没有我多。 设定
中文:设置-常规-显示交叉参考- gt
; 设置你喜欢的数目英文: 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 settingsAdministrator桌面xxxxdmiconf.data
第二此分析,得出,在目录下面创建这个文件
写入的内容是时间
得出第二次行为:
创建文件dmlconf.dat在当前目录,并且写入文件内容为当前时间
三丶分析行为三,写入注册表,实现开机自启动继续分析DLLmain下面的API
点击API进去查看.
里面还有一层,进去查看.没有命名的函数都是无关紧要的,这些都是实现命名过了.
进去一层则看到
1.打开注册表
2.遍历注册表的值
3.修改注册表的值
4.关闭注册表
此时我们需要动态查看是进入是修改的那个注册表了.
1.找到线程回调 2.线程回调进入下段点,并设置为新的EIP设置的快捷键是 Ctrl + * 键
3.进入Call查看4.查看注册表操作
得出了要操作注册表
HEEY_LOCAL_MACHINE SoftwareMicrosoftWindows NTCurrentVersionWinlogon
这个正好是开机启动项
经过上面和下面的分析,得出先获取注册表的值,然后申请内存
写入我们的内容
时间关系,不一步一不的跟了.
其实跟进去看的话她会设置自己的子体到里面,这样就会开机自启动了.
四丶网络相关此病毒还涉及到网络相关,但是现在这个病毒现在也链接不了服务器了.所以网络相关的掠过
如果想明白原理,建议自己跟一下看下也可以.
五丶修改PE文件,修改Html此功能昨天已经快速定位到了.
鉴于时间关系不一步一步的分析了.此次样本分析完毕.
得出行为:
1.使用命名互斥体,防止多开
2.创建文件在dmlconf.dat在C盘目录下,并写入时间
3.写入注册表开机自动启动
4.链接服务器,发送和接受数据
5.修改PE,以及html
坚持两字,简单,轻便,但是真正的执行起来确实需要很长很长时间.霸气的缘分把坚持两字当做你要走的路,那么你总会成功
转载于:https://www.cnblogs.com/China-Waukee/p/9558159.html