2019-2020-2-20175332 张苗-《网络对抗技术》-exp4 恶意代码分析
目录
1.实践内容
(1)系统运行监控
使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
- 创建计划任务
schtasks /create /TN netstat5332 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\5332log.txt"
参数解释
-
TN
是TaskName
的缩写,我们创建的计划任务名是netstat5332
; -
sc
表示计时方式,我们以分钟计时填MINUTE
; -
TR
是Task Run
,要运行的指令是netstat
-
bn
,b
表示显示可执行文件名,n
表示以数字来显示IP和端口; -
>
表示输出重定向,将输出存放在c:\5332log.txt
文件中
- 创建脚本文件
netstat5332.bat
用于显示记录的日期时间,内容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
- 查看文本文件
- 导入统计
- 结果:
进程使用次数从大到小排列
[MicrosoftEdgeCP.exe]--------与浏览器关联进程[svchost.exe]--------微软Windows操作系统中的系统文件
[360tray.exe]--------360安全卫士实时监控程序
[vmware-hostd.exe]-------虚拟机程序进程
[SearchUI.exe]-------Win10小娜搜索进程
[vmware.exe]-------虚拟机程序
[vmware-authd.exe]------虚拟机程序
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为
-
安装软件
-
写配置文件,代码如下:
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude"> //不记录
<Image condition="end with">chrome.exe</Image>
</ProcessCreate> //进程创建
<FileCreateTime onmatch="exclude" > //不记录
<Image condition="end with">chrome.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude"> //不记录
<Image condition="end with">chrome.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include"> //记录
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</NetworkConnect> //网络连接
<CreateRemoteThread onmatch="include"> //记录
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
- 以管理员身份运行
Sysmon64.exe -i 20175332.xml
- 打开
计算机管理
----查看事件查看器
---应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
中,可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别以及详细信息。
(2)恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(3)读取、添加、删除了哪些注册表项
(4)读取、添加、删除了哪些文件
(5)连接了哪些外部IP,传输了什么数据(抓包分析)
- 使用实验三中生成后门程序进行回连
在回连过程中无论是系统自带防火墙还是360都提示危险
- 回连成功后进行简单的权限获取操作
行为分析主要基于程序快照、捕包和Windows任务管理器
任务管理器可以看到后门程序的运行
程序快照(回连前和回连后对比)
注册表由修改增加的痕迹,还有和cmd.exe程序相关的注册表修改
在后门应用程序下新增加的行为
回连后文件的改动
抓包分析
统计所有出现的端口和IP地址
2.实践问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
-
设置定时任务计划任务,统计具体数据
-
sysmon工具,设置合理的配置文件
-
使用windows任务查看器,查看是否有可疑进程
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
-
wireshark抓包
-
程序快照,将运行前后结果进行对比
3.实践总结与体会
在实验回连的过程中,虽然是自己生成的后门程序回连,但是在具体分析中还是很难找到响应的可疑行为,尤其在数据报的分析中,由此可见在平时使用时,对于未知的恶意代码我们更是难以发现。