2018-2019-2 20165209 《网络对抗技术》Exp4:恶意代码分析
1 基础问题回答和实验内容
1.1基础问题回答
-
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 使用schtasks,设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录。
- 使用Sysmon软件,通过快照查看运行情况,记录相关的日志文件并对比。
- 使用Process Explorer软件,监视进程占用资源、连接方式、进程当前的权限。
-
如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 使用systracer软件,通过快照查看运行情况,查看恶意软件对系统进行了哪些非授权操作,修改了哪些注册表的数据。
- 使用Process Explorer 查看其连接方式、目的IP、在本地的位置。
1.2 实验内容
系统运行监控
恶意软件分析
2 实验步骤
2.1 系统运行监控
- 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
在C盘下新建一个 netstatlog.bat 和 netstatlog.txt。当执行 netstatlog.bat 时,即可将记录的联网结果格式化输出到 netstatlog.txt 中。(如果C盘不能创建,可以在其他地方建完移动到C盘)
- 右键 netstatlog.bat 选择编辑,输入
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
- 在命令行输入
schtasks /create /TN 20165209netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"
创建一个每隔两分钟记录计算机联网情况的任务。 打开 netstatlog.txt 文件,查看联网进程。
- 用excel分析netstatlog.txt中的数据。
- 导入文本数据:新建excel文件->数据->获取外部数据->自文本
- 对数据进行统计学分析,生成统计图。
- 其中 [nvcontainer.exe] 和 [SkypeApp.exe]是我不知道的而且运行很频繁,我就查了一下资料。(推荐大家一个查询的网站 https://www.file.net/process/skypeapp.exe.html ,是查询windows的一些进程的功能的而且会有详细的解释,但是是英文版的,我是google翻译的)
[Nvcontainer.exe]对于Windows不是必需的,并且经常会导致问题。Nvcontainer.exe通常是存放在C:\Program Files\NVIDIA Corporation\NvContainer)。它是服务“NvContainerLocalSystem”:NVIDIA根功能的容器服务。这是Verisign签名的文件。Nvcontainer.exe不是Windows系统文件。该程序没有可见的窗口。该文件具有数字签名。该过程使用端口连接到LAN或Internet。Nvcontainer.exe能够监控应用程序。nvcontainer.exe也可能是恶意软件所伪装,或造成的一些恶意软件。因此,您应该检查PC上的nvcontainer.exe进程,看它是否是威胁。
- [nvcontainer.exe]的源IP和目的IP都是127.0.0.1,总结来说,就是它可有可无,而且还很容易被毒。
SkypeApp.exe对于Windows操作系统不是必需的,并且导致相对较少的问题。SkypeApp.exe通常是存放在“C:\Program Files \WindowsApps\Microsoft.SkypeApp_14.33.41.0_x64__kzf8qxf38zg5c。它不是Windows系统文件。该软件在开放端口上侦听或发送数据到LAN或Internet。某些恶意软件伪装成SkypeApp.exe,尤其是当它位于C:\Windows或C:\Windows \System32文件夹中时。
- [SkypeApp.exe]的源IP是192.168.1.104,目的IP是36.99.30.167,总结来说,它可有可无,可能被毒,被毒的可能性略低于上一个。(我感觉自己被毒了,于是我很快就把NVIDIA相关东西卸载了)
2.2 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
- 确定要监控的目标为驱动加载、网络连接、线程注入,并写好配置文件,exclude相当于白名单,不用记录。include相当于黑名单。(我是直接用的老师写的配置文件“20165209Sysmoncfg.txt”)
- 启动sysmon
- 输入
sysmon.exe -i C:\20165209Sysmoncfig.txt
安装sysmon(要以管理员身份运行) - 配置文件可以随时修改,修改完输入
sysmon.exe -c C:\20165209Sysmoncfg.txt
更新一下。
- 输入
- 打开 计算机管理->事件查看器->应用程序和服务日志->Microsoft->Windows->Sysmon->Operational 查看日志。
- 选择了实验二中生成的后门5209.exe进行分析。
- 运行dir时出现了 svchost.exe ,它是微软视窗操作系统里的一个系统进程,管理通过Dll文件启动服务的其它进程,一些病毒木马伪装成系统dll文件通过Svchost调用它,试图隐藏自己。
- 我还看到了一个感觉是病毒的东西,就是之前我看到的进程[SkypeApp.exe],不知道它目的是干嘛!!!
2.3 恶意软件分析
-
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(1)读取、添加、删除了哪些注册表项
(2)读取、添加、删除了哪些文件
(3)连接了哪些外部IP,传输了什么数据(抓包分析)
2.3.1 利用Systracer进行分析
- 下载安装Systracer。
- 在打开后门前先快照一下,选择->take snapshot,完成后显示Snapshop #1。
- Kali开始监听,Windows运行后门后,回连成功后拍摄快照,完成后显示Snapshop #2。
- 进行分析:
- 选择 pplications->Running Processes->5209.exe->Opened Ports,查看回连地址、远程地址和端口号。
- 选择 Compare 比对计算机发生的变化。(跟着蓝色的图标点就能找到,每个人的不一样)
- 发现后门启动后,对 对注册表 HKEY_CLASSES_ROOT->Local Settings -> Software 中的文件进行了修改,此外还 HKEY_CURRENT_USER->Software->Classes->SogoInput和SogouInput.user也进行了修改。
2.3.2 利用Process Explorer 进行分析
- Kali回连成功后打开软件,查看详细信息。参考了Process Explorer
- 选择 View->Select Columns 里面有几个选项可以帮助分析。
Image Path:显示进程的文件路径
Command Line:显示进程命令行参数
Image Type:显示进程是64位进程还是32位的
session ID:显示进程当前所在的Session ID
User Name:显示进程当前的权限,是系统用户权限还是网络管理员权限还是普通管理员权限
实验总结与体会
实验本身的操作并不难,但是对于疑似的进程进行辨别和分析还是相对不容易的。但是通过本次实验,了解了更多关于恶意代码的知识,它们模仿各种系统进程,混过杀毒软件的监控,偷偷进行非授权行为。