Exp4 恶意代码分析 20154308张珊珊

一、基础问题回答

  • 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

    • 想监控的有进程联网信息、修改注册表项、开机自启动信息等。
    • 可以使用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工具和新建任务计划来监控系统这个实验,我觉得我收获还是蛮大的,可以看到我的电脑每天都在干嘛,也让我知道了日志这种东西多么强大多么重要。

posted @ 2018-04-12 22:07  20154308张珊珊  阅读(111)  评论(0编辑  收藏