1.实践目标
1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。
1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2.实践内容(3.5分)
2.1系统运行监控(2分)
1.Windows计划任务schtasks
使用schtasks /create /TN netstat5120 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:
etstatlog.txt"
命令创建计划任务netstat5120
,如下图所示:
其中,TN是TaskName的缩写,我们创建的计划任务名是netstat5120;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。
在C盘中创建一个netstat5120.bat
脚本文件(我们可能会发现在c盘内创建不了文件,可先在桌面创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)
在其中写入以下内容:
date /t >> c:
etstat5120.txt
time /t >> c:
etstat5120.txt
netstat -bn >> c:
etstat5120.txt
打开任务计划程序,可以看到我们新创建的这个任务:
右键,点击操作,编辑操作:
如图所示,将“程序或脚本”改为我们创建的netstat5314.bat批处理文件,添加参数一栏清空,确定即可。
其中要注意一点,退出来后可以看到条件那一栏,点进去:
如果是用电池在做实验的话记得一定要把改用电池电源则停止的勾选勾去
最重要的一点:记得用管理员权限!!!
然后可以在c盘中看到自己这段时间的联网记录:
然后可以用Excel软件,生成图形表:
我们可以看到在这段时间内TCP协议的使用频率是最高的= =
然后第二高的就是chrome浏览器了(因为在同时写博客)
因为还有一些比较明显的比如wechat微信,因为我电脑挂着呢。
然后还看到了AppleMobile服务程序,这个是帮助iphone与电脑连接传输文件的服务,但是此时我并没有连接我的手机到电脑上,真是很奇怪了。
and so on。。。
2.使用sysmon工具监控系统
sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。在安装的目录下创建“20165120.xml”文件,内容如下:
<Sysmon schemaversion="4.12"> <!-- 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> <Image condition="end with">firefox.exe</Image> </ProcessCreate> <ProcessCreate onmatch="include"> <ParentImage condition="end with">cmd.exe</ParentImage> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">chrome.exe</Image> <Image condition="end with">firefox.exe</Image> </FileCreateTime> <NetworkConnect onmatch="exclude"> <Image condition="end with">chrome.exe</Image> <Image condition="end with">firefox.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">firefox.exe</TargetImage> <TargetImage condition="end with">winlogon.exe</TargetImage> <SourceImage condition="end with">powershell.exe</SourceImage> </CreateRemoteThread> </EventFiltering> </Sysmon>
然后键入如下图指令,安装(记得要先在官网把软件下好喔):
看到了吗?这个软件也是要 管理员权限 的,授权之后就可以继续了
查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational,在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等:
2.2恶意软件分析(1.5分)
恶意软件我就直接用之前实验生成的过的.exe加壳后门
先丢到网站中去查一下:
果然还是一如既往的吓人。。。
下载SysTracer工具,抓三种状态的包:snapshot#1.不做任何操作;snapshot#2.启动后门程序;snapshot#3.运行ls,screenshot命令后;
这是注册表的变化
这是端口
这是文件
然后我用了Exeinfo PE查了一下壳:
然后我把它丢到ida里面看了一下整个程序的运行逻辑和架构:
3.报告内容
3.1实验后回答问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
通过流量监测,监测到的异常流量都可以去查一查,或者与不明ip之间传输异常的数据包都可以成为监控的目标
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
现在市面上大多数的软件都是有壳保护的,所以如果直接上来就反汇编的话基本上是看不出什么东西的,先丢掉peid里面查壳,查到壳之后如果有对应的脱壳机就直接脱了,没有对应的脱壳机就手动找程序头,od下断点来脱壳,脱壳之后我一般先丢到ida里面静态分析,分析整个软件的运行逻辑,然后查找是否有相关的恶意代码,之后去od里面手动动态调试。