病毒分析第一讲,分析病毒注意事项,以及简单分析主要功能
2017-11-23 05:11
375 查看
病毒分析第一讲,分析病毒注意事项,以及简单分析主要功能
一丶认识木马和病毒的区别
木马和病毒是两个不一样的,有人会把木马认为是病毒,但其实不是说下区别
木马:
木马没有破坏性,木马主要功能是收集用户信息,控制机器等等.
病毒:
病毒一般带有破坏性的行为,比如格式化盘符,修改电脑的文件,传染....
二丶分析病毒的前提准备
1.在分析病毒样本之前,首先要把病毒的名字修改一下.
比如:![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/0fa49ca116f100edf7e9254607a185c7.png)
,加上.v后缀
2.使用虚拟机进行分析(当然你可以用真机分析,^_^),并且建立虚拟机快照
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/4e8f0889bdd6b0016a2ad7fbf1168663.png)
虚拟机软件
3.建立快照
建立快照之前,建议把所以该用到的工具进行配置.配置好了一切就可以开始正常操作了.-
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/49185f581d389766656208c73e81e323.png)
4.观察病毒行为
1.第一种分析方式关键API下断点
CreateFile CreateProcess OpenProcess, WriteProcessMemory VirtualAllocEx,服务相关,注册表相关,网络相关,因为只要是病毒,肯定会操作的.
2.第二种分析方式
使用一种观察其行为的工具,在虚拟机中看看在怎么做.
工具:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/3d7649a7aa76376140531167e6db960a.png)
工具会打包上传
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/76854e4defe58e689853aae71f398fac.png)
安装好之后的界面:
设置:
工具-选项-保护-设置保护模式
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/be1e7a53694d46fe4d99822e6167d230.png)
1.学习模式, 可以检测特定程序的使用的关键API,比如: 创建文件,修改内存...但是不阻止
2.正常模式,正常模式则会在调用这些关键API之后,则会问你是否允许操作
3.安静模式,安静模式则不操作,不提示.
三丶在学习模式下,观看病毒行为
一丶分析病毒的基本行为
此时,我们可以把我们的病毒样本放到虚拟机中运行了,如果建立了快照,则可以运行起来了,到时候恢复快照即可.病毒样本:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/c5e67267998323ace9f5fc9b58a3f4b2.png)
拖放到虚拟机中运行,先打开Mal病毒分析工具
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/e683f151c0d3e3efa35c9b3bbddb73ed.png)
并运行.
第一步初次分析得到
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/a24ec22b900b5653b5be2ea39909f8ff.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/813f1884e40af60bff348e74a29d5f49.png)
可以得出
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不断的修改文件
由此得出流程图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/0f7942e6e015132a988db5d91ecdc7b2.png)
二丶根据第一次分析,分析具体怎么做.
根据第一次的分析,我们发现Iexipore.exe (也就是IE浏览器)不断的修改文件(感染文件)1.附加感染文件
那么此时,我们OD附加一下,然后在CreateFile下断点,因为感染文件肯定会打开文件.![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/09c574bfbc7905345dfe05dbf3ffdf2c.png)
OD附加进程是存在的,因为创建进程的时候,窗口已经隐藏了.
2.打开模块,关键api下断点
ALT + E打开![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/8f4a122a78ad50999c1bd6b3136ec4e2.png)
CTRL + N 查看CreateFile
3.关键API下断点
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/dd081295d722fd325f3bdea82e638fa5.png)
4.栈回溯看其谁调用
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/87117c0a97802b2a2b6f11858784aead.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/6c4ad11665dee1d9e643144703136e08.png)
5.查看节,看下属于哪个节
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/691f8b318b413737deff92a154ab7786.png)
属于一个堆内存
节区开始是
2001000
大小是 D000
我们跳转到这个节地址
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/e78b1cb0e29b615c7b6f22c89240d92f.png)
在内存中看到,它是一个EXE? MZ开头
我们查看下OEP,然后在内存中DUM这块内存下来.
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/4defcc485346feae0d694351a580ef2f.png)
B0开始是我们的PE头,那么 OEP的入口点是7C79
直接DUp内存
6.Dup内存
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/2b6d5883aa12aa1a85c694e81fde2b47.png)
首先用的这个工具是OD插件中带的.网上可以查到很多.(工具会打包)
7.IDA分析dump出来的文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/02100088340710de4d3eab7658ff5045.png)
7.1,分析导入表,查看CreateFile被谁引用
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/290bbf0bb9bdad805a6ee28d697037d7.png)
按X键看被谁引用
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/db5b8b3a16d4c3ad654e5897c3fce06c.png)
一步一步往上跟
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/119c2ca3ffce681b1f38475e9d38b9d2.png)
第一次跟到这里,我们点击上面的注释哪里,可以继续网上跟,看谁引用了.
注意,上面的注释没有我这么多我们要设置一下
中文:设置 - > 常规 - > 显示交叉参考 - > 设置你喜欢的数目
英文: Options - > General - > Cross-references -> disassembly(Non-Graph) -> 设置你喜欢的
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/26c876a2875bcd7c49a17b60aafc0dd1.png)
一层一层的交叉引用展开,粗略的按下F5键看一下,其中一个是修改PE文件的,暂时可以将这个引用修改为 修改PE 节(ChangePE Sections)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/bec74dd89efe580190b164b8689b8065.png)
一层一层的往上跟可以看到遍历文件,所以我们修改一下函数名字
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/84d73ee39183ae5a4aec912d630384e5.png)
继续网上跟可以看出获得磁盘驱动器的函数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/23/a057b456ce580224c5d4b4e8159c3302.png)
按下x,看下此函数谁调用的.我们发现它是一个线程开辟去做的事情,那么这个线程看下是谁用的.
那么继续往下追则是DLLEntry了,也就是 DLL main DLL的入口点了.
由此得出,这个是DLL,被注入的IE中的,然后执行程序,不断循环遍历文件,进行感染exe文件的.
那么我们要知道怎么注入的,在上面的沙箱中也没看到,明天讲解.
链接: https://pan.baidu.com/s/1eRSOjpK 密码: 19jt
相关文章推荐
- Linux(Centos)之安装Nginx及注意事项 阅读目录 1.Nginx的简单说明 2.准备工作 3.安装SSL功能需要openssl库以及gzip模块需要的zlib库 4.安装 rewri
- Hadoop提供了最简单的Map/Reduce编程实例WordCount,本文对该Demo的程序结构,以及Map/Reduce框架的注意事项,进行了分析。
- 【荐】PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项
- PDO防注入原理分析以及使用PDO的注意事项总结
- <填坑手册>Vuforia上架ios,以及分享功能注意事项
- popwindow分析以及使用注意事项(二)
- PDO防注入原理分析以及使用PDO的注意事项
- PDO防注入原理分析以及使用PDO的注意事项总结
- 2009年四六级考试流程以及注意事项+710分计分原理和简单换算+100个高频词汇+100个高频词组搭配
- Android NDK中socket的用法以及注意事项分析
- PDO防注入原理分析以及使用PDO的注意事项
- arm调试的准备内容,注意事项,以及BOOTLOADER和散列表加装的分析
- 配置config.bib的注意事项以及错误分析
- thrift学习第二步,一个简单的双向通信demo以及原理讲解,以及注意事项
- [转载]PDO防注入原理分析以及使用PDO的注意事项
- java学习(2) jdk配置注意事项以及简单知识点
- eNSP实现HTTP与DNS功能以及抓包简单分析
- AsyncTask的简单使用以及注意事项
- Jquery、Json、Struts2、Spring实现Ajax动态功能以及注意事项
- PDO防注入原理分析以及使用PDO的注意事项