20165107 网络对抗技术 Exp4 恶意代码分析
4.1 基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
我所了解的有这些:修改了哪些注册表、创建了哪些进程、占用了哪些端口修改、查看了哪些文件、连接了哪些网络。
我所知道的监控方法有:可以定时让主机执行netstat然后分析,发现网络连接异常、可以利用Sysmon,编写配置文件,记录与自己关心的事件有关的系统日志。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 利用Wireshark等网络工具查看是否存在可疑连接
- 利用工具Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息。
4.2 实践总结与体会
通过本次实验,我对自己的电脑进行监控,试图从中找出潜在的恶意代码,利用各种工具发现了计算机内部存在的漏洞,所实践的内容丰富收获颇丰,问题是有时会分辨不出哪些是疑似恶意代码,日后还要加强这方面学习。
4.3 实验内容
使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
读取、添加、删除了哪些注册表项
读取、添加、删除了哪些文件
4.4实验过程
系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么。
- 使用schtasks指令监控系统
-
使用
schtasks /create /TN netstat5107 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5107.txt"
命令创建计划任务netstat5107
-
在C盘要目录下建一个文件
c:\netstat5107.bat
(可以先在桌面新建txt文本文件,使用记事本写入后在修改后缀为.bat,复制到C盘中),写入内容如下:date /t >> c:\netstat5107.txt time /t >> c:\netstat5107.txt netstat -bn >> c:\netstat5107.txt
- 在左下角Windows处右键打开
计算机管理
-任务计划程序
,可以看到我们新创建的任务:
双击这个任务,点击操作
-编辑
,将其中的程序或脚本
改为我们创建的netstat5107.bat
批处理文件,参数可选项
为空,点击确定。(注意看这里:一定要勾选使用最高权限运行
,否则可能导致文件不能自主更新或者记录里出现权限问题)
还可在条件
中设置其他属性,在电源
这里默认操作为只有在计算机使用交流电源时才启动此任务
,那么使用电池电源时就会停止任务,所以若保持默认注意电脑保持开机联网状态!
在计算机管理界面对该任务右键点击运行
,可在netstat5330.bat
目录下看到一个txt文本文件,打开就可看到每隔一分钟被输到这里的联网数据。
现在我们等待一段时间,让记录项目足够多了我们用excel来进行分析
分析:联网最多的是vmware,因为我开着虚拟机,其次是SearchUI 经网上查询是联想助手的搜索进程。SGTool搜狗输入法的加速启动程序有两个,svchost微软操作系统的系统文件,LenovoPcManagerService是联想电脑管家各一次,尚未发现可疑程序或进程。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
Sysmon是微软Sysinternals套件中的一个工具。可以监控几乎所有的重要操作,参考
使用轻量级工具Sysmon监视你的系统,开始我们的使用。
基本操作
- 确定要监控的目标:在这里我选择
进程创建
、进程创建时间
、网络连接
、远程线程创建
- 写配置文件
- 相关事件过滤器选项在这可看到,
进程创建ProcessCreate
我用到了Image
、SourceIp
、SourcePort
,进程创建时间FileCreateTime
我用到了Image
,网络连接NetworkConnect
我用了Image
、SourceIp
、SourcePort
,远程线程创建CreateRemoteThread
我用了TargetImage
、SourceImage
-
开始写与自己想要监控的事件相对应的配置文件,命名为
20165107Sysmon.txt
,内容如下:(配置文件是xml文件,为了简单编辑就直接命令为.txt,每次用写字本打开。
- 相关事件过滤器选项在这可看到,
启动sysmon
- 下载老师给的安装包并解压:SysinternalsSuite201608
- 右键点击左下角Windows标志,打开
Windows PowerShell(管理员)
进入管理员命令行,先cd
进入工具目录,在安装sysmon:.\Sysmon.exe -i C:\20165107Sysmon.txt
(因为按老师的指令报错我将指令改为如上才成功执行) - 弹出窗口点击
Agree
,安装成功
分析实验二生成的后门程序20165107_backdoor.exe
,按步骤执行到回连
在点击Sysmon
-Operational
刷新记录
恶意软件分析
静态分析
1、使用VirusTotal分析恶意软件
- 将exp3中生成的加壳后门在VirusTotal进行扫描
算法库支持与加壳情况
2、使用PEiD进行外壳检测
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名
- 虚拟机win7中下载后点.exe安装(别安装捆绑软件!)
点击右下角>>
查看详细信息
若没有加壳则显示
PEiD还可进行脱壳
- 下面是通用脱壳器
动态分析
使用SysTracer分析后门软件的运行过程
SysTracer是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具。你可以在任何想要的时间获取无数个屏幕快照,比较任何一对想要的屏幕快照,并且观察其间的不同之处。获取屏幕快照通常会持续几分钟的时间,这取决于文件和文件夹的数量和注册表项目的总数。
- 最好用两台虚拟机:kali和win7
- 下载SysTracer
- 进入安装选择第二个,
next
设置端口为5107
(后门生成时利用的端口),安装完成后进入界面
- 这里先创建了3个快照,第一个是系统初始状态,第二个是kail成功通过后门获得了系统的操作,第三个是用查看文件和截屏的命令。
-
可以看到后门进程的一些通讯信息、句柄等内容。