Exp4 恶意代码分析
实验内容
实验点一:系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
1、使用schtasks指令监控系统
- 通过
schtasks /create /TN netstat4303 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstat4303.txt"
命令,创建计划任务netstat4303
,如下图所示:
- 在C盘中创建一个
netstat4303.bat
脚本文件,可以先创建txt文本文件,使用记事本写入内容后通过修改文件名来修改文件格式得到目标文件
- 在其中写入以下内容:
date /t >> c:\netstat4303.txttime /t >> c:\netstat4303.txt netstat -bn >> c:\netstat4303.txt
- 在"开始"中,打开任务计划程序,可以看到创建的任务
netstat4303
。
- 双击打开这个任务,点击"操作",再点击“编辑”。
- 将"程序或脚本"内容改为刚才创建好的
netstat4303.bat
批处理文件。点击"确定"。 - 在常规选项中勾选使用最高权限运行。
- 在执行此批处理文件一段时间后打开生成的netstat4303.txt记事本进行查看,发现记录此时已足够进行分析,将这些数据导入Excel中。
- 创建一个Excel文件并打开,点击数据->自文本->导入文本文件->选择
netstat4303.txt
- "文本导入向导"处选择"分隔符号"
- 将"分隔符号"中所有种类选中
- 点击插入—>数据透视表,可以详细显示每一个外网连接时,本机的IP及端口:
通过透视表可以看到连接次数比较多的是TCP、friefox.exe、SearchUI.exe等。SearchUI.exe是小娜(Cortanar)的搜索进程,Thunder.exe是迅雷下载器软件相关程序,WeChat.exe是微信电脑版的进程。电脑中没有发现可疑的恶意软件进程。
2、使用sysmon工具监控系统
1.首先进入微软官网下载sysmon
2.在安装的目录下创建“20164303.xml”文件,内容如下:
* microsoft windows chrome.exe iexplorer.exe firefox.exe 137 127.0.0.1 80 443 explorer.exe firefox.exe svchost.exe winlogon.exe powershell.exe chrome.exe iexplorer.exe firefox.exe firefox.exe .tmp .exe
3.输入“sysmon64.exe -i ”安装sysmon
若提示“You need to launch as an Administrator”,以管理员身份打开命令行就可以了。
4.输入“sysmon64.exe -c 20164303.xml”配置sysmon
提示版本不同,将“20164303.xml”文件中 <Sysmon schemaversion="3.10"> 改为 <Sysmon schemaversion="4.20">
我看到其他同学的博客都出现这样的情况,于是在创建xml文件时就写成了4.20。果然顺利配置,没有出现状况
5.win10下,左下角开始菜单右击->事件查看器->应用程序和服务日志->Microsoft->Windows->Sysmon->Operational。
在这里,可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。
6.查看后门软件的信息
- 打开kali,运行木马文件,使其回连kali攻击机。查看日志,通过搜索关键字可以找到相关的后门文件:
打开详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等。主机号是192.168.1.4,端口号是4303,是攻击机的信息。
实验点二:恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(3)读取、添加、删除了哪些注册表项
(4)读取、添加、删除了哪些文件
(5)连接了哪些外部IP,传输了什么数据(抓包分析)
3、使用VirusTotal分析恶意软件
- 把生成的恶意代码
4303.exe
放在VirusTotal进行分析,基本情况如下:
- 点击
Details
可以查看基本属性以及加壳情况
可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。
- 以及该恶意代码的算法库支持情况:
4、使用Process Monitor分析恶意软件
- 双击打开可执行文件,可以看到各个进程的详细信息,如下图所示:
主要可以看到进程的进程标识符、文件的位置、运行结果以及其他的详细信息。
5、使用Process Explorer分析恶意软件
- 双击打开可执行文件,win10运行木马,回连kali时,我们可以看到Process Explorer对其进行的记录:
比起Process Monitor来说Process Explorer还可以看到进程占用CPU的情况、文件大小以及运行起来后占用的空间。
6、使用PEiD分析恶意软件
- 安装好PEiD后,先检测Exp3中未加壳的后门程序:
- 再检测使用UPX加壳后的
20165233shellcode.upxed.exe
,PEiD成功检测出了加壳的相关信息:
可以看出,PEiD的主要功能是检测加壳的情况,对文件本身并不会提供太多信息。
7、使用systracer分析恶意软件
-
先在win10虚拟机安装SysTracer软件。
-
基本步骤如下:
-
将木马植入win10,对win10注册表、文件等进行快照,保存为Snapshot #1
-
打开kali的msfconsle,win10运行木马,回连kali,win10下再次快照,保存为Snapshot #2
-
在kali中对靶机进行查看文件操作
ls
,win10下再次快照,保存为Snapshot #3
-
-
点击右下角“Compare”,比较三个快照的不同之处。
可以看到,systracer会提供注册表的变化情况,后门进程的相关信息也比较信息,旁边的列表使用不同的颜色进行标注,寻找起来比较方便。
实验基础问题回答
1、如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
(1)使用windows自带的schtasks,设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录。
(2)使用sysmon工具,通过修改配置文件,记录相关的日志文件。
(3)使用Process Explorer等工具,监视进程执行情况。
2、如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
(1)使用systracer工具对恶意软件的信息进行具体分析。
(2)使用wireshark进行抓包从而获取恶意程序与主机的通信。
(3)将文件上传到VirusTotal进行检测。
实验总结与体会
在实验之前,我对于计算机防护的理解是装个杀毒软件,现在才发现有很多方法来保护我们的电脑。这些方法可能有些繁琐,需要我们的耐心,但是比杀毒软件更加有效及时。在现在黑客技术发展迅速,追求零日攻击的时代,杀毒软件并不能完全保证我们计算机的安全,掌握这些工具的使用方法将会比安装杀毒软件得到更加有效的防护。