20155323刘威良《网络对抗》Exp4 恶意代码分析
20155323刘威良《网络对抗》Exp4 恶意代码分析
实践目标
1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
实践内容(3.5分)
1系统运行监控(2分)
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
参考:schtask与sysmon应用指导
实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
2恶意软件分析(1.5分)
分析该软件在
(1)启动回连
(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件
(3)读取、添加、删除了哪些注册表项
(4)读取、添加、删除了哪些文件
(5)连接了哪些外部IP,传输了什么数据(抓包分析)
该实验重点在“分析”,不是“如何使用某软件”。组长、课题负责人要求写细一点,其他人可以重点放在分析上。
实验过程
计划任务监控
在C盘根目录下建立一个netstatlog.bat文件(先在桌面建一个txt文件输入内容然后保存为bat文件再拖入c盘)
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
这个bat文件的作用是将记录的结果按格式输出到netstatlog.txt文件中。
输入命令
schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "c:\netstatlog.bat"
指令创建一个任务,记录每隔一分钟记录一次计算机的联网情况。
这一步我在自习室做了两次都没有出现和其他同学一样的结果,只有在右键bat文件以管理员身份运行才会刷新txt文件得到监控结果。并不是自动刷新,我打开"控制面板-管理工具-任务计划程序",在任务计划程序库里找到了该netstat进程并打开属性,勾选"使用最高权限运行"以后还是不行。
后来我发现是我的条件设置那出了问题,默认条件是只有在计算机使用交流电源时才启动此任务,而我在自习室时电脑都是不插电的。
将选项改为唤醒计算机运行此任务就可以什么时候都开始监控了。
由于监控时每一分钟都会闪一次命令行,很不方便,开了一个来小时我就关掉了,然后我将txt内的内容复制到IP地址批量查询网站
对IP地址比较奇怪的几个软件,我百度查询了一下都是日常使用的安全软件,但是里面我发现有个
wpscloudsvr.exe
,这是WPS的服务,难怪我没设置自启动每次开机都会弹WPS的广告,这也太流氓了。。
用Symon进行运行监控
将解压包里的文件解压至C盘。
将代码存入配置文件Sysmoncfg.txt并存入C盘
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is">137</SourcePort>
</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>
用命令行进入解压文件目录下输入命令
Sysmon.exe -i C:\Sysmoncfg.txt
安装文件
开始——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational
事件1
事件3
事件5
virscan网站分析
生成一个后门程序并加壳
然后用网站进行分析
详细属性
systracer注册表分析
安装systracer,然后打开创建三个快照:正常状态、打开后门时的状态、后门回连时的状态
对比结果:
使用PEiD分析恶意软件
安装PEID并打开,直接在文件中加入要检测的程序,就可以得到结果,非常方便快捷。
先打开一个之前实验做的未加壳后门
再打开本次实验做的加壳后门
这个查壳软件一目了然
Process Monitor分析
找到自己的后门进程后可以看到回连的记录和后门属性
使用Process Explorer分析恶意软件
双击也可以查看属性
回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
答:可以用电脑自带的任务监控或者下载软件进行监控。我觉得用软件监控比用计划任务监控方便,并且监督的同时也可以查看属性,更加方便简洁。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
答:可以用Process Monitor进行监控,查询该进程回连的记录和后门属性,或者用Process Explorer进行分析。
实验总结与体会
这次实验非常有趣,接触了很多监控和分析的软件,虽然看着有点吓人,感觉好像这次实验很困难,但是实际上手了就会发现这些软件其实很方便也很快捷。当然我们也只是粗浅的了解了一下这些软件的功能,还有很多其他功能这次实验没用到,希望下次有机会可以学习一下。