一、实验目标
1、是监控你自己系统的运行状态,看有没有可疑的程序在运行。
2、分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
3、假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
二、实践过程
(一)使用schtasks指令监控系统
1、创建计划任务netstat5328
,能够每隔五分钟记录计算机联网情况:
schtasks /create /TN netstat5328 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
2、C盘建立一个netstat5328.bat
脚本文件,用来将记录的联网结果格式化输出到netstat5328.txt
文件中
netstatlog.bat:
date /t >> C:\Users\DELL\netstat5328.txt
time /t >> C:\Users\DELL\netstat5328.txt
netstat -bn >> C:\Users\DELL\netstat5328.txt
3、打开任务计划程序,找到我们新创建的任务netstat5328
,并将该任务的“程序或脚本”改为我们创建的netstat5328.bat
(一定要记得在“常规”页签中勾选“使用最高权限运行”,不然txt中会出现请求的操作需要提升。)
4、运行此脚本一定时间,可以在netstat5328.txt
文件中查看本机在该时间段内的联网记录:
(二)使用sysmon工具监控系统
sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。
1、创建配置文件Sysmon5328.xml
<Sysmon schemaversion="4.23">
<!-- 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>
<Image condition="end with">firefox.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
<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">firefox.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>
2、使用Sysmon.exe -i C:\Sysmon5328.xml
安装sysmon
3、使用Sysmon.exe -c C:\Sysmon20155303.xml
,将sysmon
按照修改好的配置文件进行更新
4、打开事件查看器,依次选择 应用程序和服务日志->Microsoft->Windows->Sysmon->Operational。可以看到按照配置文件要求记录的新事件,以及事件ID、任务类别、详细信息等
(三)使用VirusTotal分析恶意软件
1、把实验三中生成的met-encoded10_upx
(加壳)用VirusTotal进行分析
2、查看恶意代码的基本属性
3、查看算法库支持情况
4、查看连接的ip
(四)使用Process Monitor分析恶意软件
1、Process Monitor
是一款由 Sysinternals
公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,使用者可以对系统中的任何文件和注册表操作同时进行监视和记录,通过注册表和文件读写的变化,诊断系统故障或是发现恶意软件、病毒或木马。
2、打开软件,可以看到各个进程的情况记录
(五)使用Process Explorer分析恶意软件
这个正好可以用之前实验现成的软件
1、Process Explorer
是由Sysinternals
开发的Windows系统和应用程序监视工具,目前已并入微软旗下。使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。
2、靶机运行木马,回连攻击机时,我们可以在Process Explorer
中看到相关记录:
(六)使用PEiD分析恶意软件
1、PEiD(PE Identifier)
是一款著名的查壳工具,几乎可以侦测出所有的壳。
2、我们先用实验三生成的,没有加壳的木马met-encoded10.exe进行检测
3、然后对加完壳之后的met-encoded10_upx.exe进行检测(成功检测出加壳的相关信息)
(七)使用systracer分析恶意软件
1、在kali对windows主机回连前后使用软件进行快照,然后进行对比。
2、发现注册表发生了变化,然后启用了dll文件
3、发现端口发生了变化
三、思考题
(一)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
1、使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果某个进程启动的时候连接了一些看起来很可疑的端口,就可以进一步进行分析。
2、使用windows自带的schtasks指令设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录,如果自己的电脑没有联网的情况下出现了ip访问记录就可以进一步分析了。
3、通过sysmon监控计算机中的重要操作,可以在事件查看器中找到相关日志进行查看。
(二)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
1、利用wireshark动态分析程序动向,监视其与主机进行的通信过程。
2、利用systracer工具分析恶意软件。
3、利用PE explorer工具对程序调用库等信息进行分析查看,还可以对其反汇编。
四、实践总结与体会
通过本次实验我们可以发现有很多软件工具可以帮助我们很好的去监控主机,尽早、及时的发现恶意行为。不过首先我们要清楚主机中有些啥,什么行为是正常的,一些常用的端口是干嘛的。