一、基础问题回答
- 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 想监控的有进程联网信息、修改注册表项、开机自启动信息等。
- 可以使用wireshark抓包分析,分析网络连接状态;查看软件注册表信息;使用SysTracer或者sysmon等软件查看一段时间内系统事件、注册表信息文件变化情况,将这些信息录入excel分析。
- 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 用sysmon,可以根据用户自身的需求设置过滤内容,筛选出想要监听的数据(网络连接、进程创建、注册表变化等)
- 使用Wireshark进行抓包分析,简单直观
- 使用systracer工具,动态分析注册表以及文件、端口的修改情况,再根据已收集的日志数据,对有所怀疑的目标进行仔细分析,对来历不明的网络连接请求进行一个初步的安全判断,这样就可以对进程的行为有一个大致的定性分析,对于那些有问题不明确的进程,应该谨慎运行并分析原因。
二、实践过程
2.1 系统运行监控——Windows计划任务schtasks
1.为了显示日期与时间,我先在C盘下创建netstatlog.bat
文件,可以通过修改txt文件后缀名实现。内容如下:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
2.在win终端:schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"
windows计划创建成功,每五分钟就会监测哪些程序正在联网并记录下来。
3.以管理员身份运行netstatlog.bat
文件,产生netsatlog.txt
文件,即记录了监控信息。
但是不会自动监测,原因是没有设置最高权限。在任务计划程序
里找到netstat
进程,并在其属性里勾选使用最高权限运行
4.打开netstatlog.txt
,可以看到各程序联网情况的具体信息
其中svchost.exe
经常出现,百度一下
2.2 利用sysmon工具监控系统
1.Sysmon是Sysinternals工具集里面一个重要工具,最主要的功能就是可以通过自定记录规则进行系统运行的监控,语法结构与HTML一致,在老师给的配置文件的基础上改了一点点,写进C盘下20154308.txt
文件,重点监视80和443端口
<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">SogouExplorer.exe</Image>
</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>
2.Sysmon.exe -i C:\20154308.txt
安装sysmon,出现如下问题
解决办法:以管理员身份打开终端再安装就可以了
安装成功
3.启动之后,在事件查看器中打开应用程序和服务日志,在Microsoft->Windows->Sysmon->Operational
找到记录文件
点开其中一个可以发现这个记录的就是我们之前百度的svchost.exe
这个是使用百度拼音的时候,它通过443端口与外部进行了连接
4.使用查找
功能
找到上一步我们运行的netstatlog.exe
的记录
6.360chrome.exe
这个是我在用360极速浏览器
7.运行后门c.exe
,找到了这一事件
2.3 使用virscan.org网站进行静态分析
上传上一次做的后门文件c.exe
进行扫描,但是不知道为什么我的网站没有文件行为分析,找不到这个功能,试了别的网站也一样。
看别人的博客,好像通过这个方法也没有分析出来什么???所以我就直接跳过这个方法了。
2.4 SysTracer
这个软件不仅可以做系统快照,还可以可以比较系统快照之间的不同。
我照了三次,1是系统啥后门软件也没有之前,2是安装了后门之后,3是回连成功并进行了屏幕快照操作
比较1和2如图
可以发现系统中多了一个文件,也就是我放进去的后门4308backdoor.exe
再对2和3进行比较
发现刚刚的后门运行起来了,IP地址和端口都是对的
还增加了一些file
Directory
Key
,file
可能是截屏的操作,Directory
是目录的意思,毕竟是个后门,可能偷偷动了我的目录?
看注册表的时候发现因为软件没有注册,这个功能被限制了,就没看到,借鉴别人的博客发现注册表确实是会被修改的。
SysTracer就到这儿了。
2.5 PE Explorer
PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。
用它打开我的后门程序4308backdoor.exe
,可以看到程序的头部信息
程序的一些数据
结头信息
还有可以进行反汇编
感觉蛮厉害,但是不太能看得懂……
2.6 wireshark抓包
回连成功后停止抓包,过滤条件tcp.port == 4308
可以看到靶机的4308
端口和攻击机的61531
端口进行了tcp三次握手,ip地址也是对的,我刚刚回连并进行了的一些操作全都记录在案。
PS:实验中不记得哪一步打开的免杀后门c.exe
,我的360居然报毒了!上次实验它一点作用也没起,现在还是有一点点点点欣慰的
三.实验总结
这次实验不在于使用多少软件,而是要学会分析。
wireshark抓包还是比较能看懂的,SysTracer也能看懂大部分,它的比较功能可以让我们更直观地看到我们的系统有哪些变化,端口、ip、添加了哪些操作。PE Explorer是真的看不懂,不知道里面的具体信息在讲什么,看别人的博客也没看出什么东西。
利用sysmon工具和新建任务计划来监控系统这个实验,我觉得我收获还是蛮大的,可以看到我的电脑每天都在干嘛,也让我知道了日志这种东西多么强大多么重要。