网络对抗技术 2017-2018-2 20152515 Exp4 恶意代码分析
1.实验后回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
答:- 我会使用sysmon工具来进行监控,可以每天晚上查看一下监控到的信息,还可以利用筛选工具对数据进行分析,监控网络连接,是否创建新的进程,注册表项目以及系统日志。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
答:最简单的方法就是使用Virscan等网站进行扫描进行分析,复杂一点的话,可以自己使用wireshark抓包然后再对抓到的数据进行分析,还可以将数据制表找到规律。
2.实践内容(3.5分)
2.1系统运行监控(2分)
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
- 一个简单的实现
每5分钟记录一下有哪些程序在连接网络。命令如下:
C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
每1分钟记录一下有哪些程序在连接网络的命令如下,(修改数字即可):
C:\schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
- 批处理
在C盘要目录下建一个文件c:\netstatlog.bat,内容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
建“.bat”文件的方式如下:
1.先建一个名为netstatlog.txt文件
2.再在里面写上内容
3.将后缀名改为“.bat”
schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"
指令创建一个每隔两分钟记录计算机联网情况的任务:
结果如下:
分析: 由上图可以看出我运行的有VW虚拟机,有道云,WPS。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
先下载好sysmon,地址在这Sysmon v7.01
记录所有网络连接就可以简单写为 <NetworkConnect>*</NetworkConnect>
,不写的不记录。
一般都是写成类似下面的规则,会过滤掉一些。exclude相当于白名单,不用记录。include相当于黑名单。一般人使用白名单更安全,凡是不了解都记录。
我的配置文件如下所示:
<Sysmon schemaversion="4.00">
<!-- 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">vmware.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">WeChat.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</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>
安装时我曾出现这个提示:
这是因为配置文件中没有修改版本号,要把“3.10”改成“4.00”,你也可以根据提示修改成你的版本号。
安装成功:
在"运行"窗口输入eventvwr
命令(我是直接输的,这个命令在哪个目录输都可以的),打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。
这个是我用cmd.exe 的显示
这个是我边在用有道云写博客显示的进程情况
SGPicFaceTool.exe是搜狗输入法的图片表情辅助工具。
参考:schtask与sysmon应用指导
实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。
2.2恶意软件分析(1.5分)
分析该软件在
(1)启动回连
我在自己的主机上启动了后门,然后回连到kali上:
然后我在Sysmon上查找了我的后门文件名,就找到了
这张图里我们可以看到payload启动了 explorer.exe,因为回连之后我在KALI中进行了一些操作。
explorer.exe是Windows 资源管理器,可以说是 Windows 图形界面外壳程序,它是一个有用的系统进程。
当时我们启动payload回连kali,在kali上对主机进行操作:
(2)安装到目标机
这是当我把一个后门程序安装到win7上监控到的信息,可以看到上面显示了我是由虚拟机安装到主机的文件夹中。
这是回连之后监控到的信息
(3)及其他任意操作时
我用wireshark捕获了我的某个后门程序回连时的数据。
这个是我的虚拟机IP和主机IP建立TCP连接抓的包
192.168.43.132是我KALI的ip
我们可以看到,在回连的后续连接中,基本上都是ACK响应包。
这里我们看,出现了一个没见过的可疑IP 79.161.57.119
我在网上查了一下:
竟然是挪威的ip,简直不明觉厉,然后觉得很有问题。
它还提示说这个应该是来自于数据中心,是真人的概率只有45%
至于NTP协议:
NTP是Network Time Protocol的缩写,又称为网络时间协议。是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。
感觉可能没大事?
实验总结与体会
总之呢,之前的实验是教我们自己生成恶意代码,躲过杀软对电脑进行攻击。而这次的实验感觉是教我们维护自己的电脑,检测自己电脑的情况,保证它不被恶意代码攻击,保护它的安全,先是学习了解恶意代码,再是学会去发现和解决它。