20155232《网络对抗》Exp4 恶意代码分析

20155232《网络对抗》Exp4 恶意代码分析

1.实践目标

1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

使用schtasks指令监控系统运行

  • 每5分钟记录一下有哪些程序在连接网络,输入以下命令,每五分钟就会监测哪些程序在使用网络,并把结果记录在netstatlog.txt文档里,但是不显示记录的时间和日期,这可能不便于我们判断,要是想显示日期和时间,我们可以通过bat批处理文件来实现。
schtasks /create /TN 20155232netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

  • 在C盘要目录下建一个文件netstatlog.bat

下面是如何建立一个.bat文件(批处理文件)的过程:

  • 首先创建一个.txt文档并且将内容输入进去:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

  • 然后将文件另存为并且将名字修改为以.bat为后缀的名称,将保存类型改为所有文件。

  • 最后将此文件移到c盘根目录下:

  • 双击运行,打开控制面板->任务计划程序,找到我们的任务

  • 双击点开,找到操作,点击所有项里的属性选项,击详细信息,修改txt为bat。

  • 点击确定.可以看到记录文件netstatlog.txt中的记录有了日期和时间(每五分钟记录一次)

出现在上面的我都查了一下是什么东东!

本机ip:

使用excel工具将之前创建的文本文件导入数据,设置使用分隔符号 ,并勾选全部分隔符号。

对进程使用透视图:

查看外部网络连接:

做成一个条形图更为清晰:

使用sysmon工具监控系统运行

sysmon工具先要配置文件,一开始我直接用的是老师给的配置文件稍作修改:

<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">WeChat.exe</Image>
  <Image condition="end with">360se.exe</Image>
  <SourcePort condition="is">137</SourcePort>
</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>

问题

在cmd中输入安装指令提示错误信息

解决

在安装这个软件的过程中需要以管理员身份运行,在win10中点击

选中以管理员身份运行

在安装过程中出现,输入安装指令

Sysmon.exe -i C:\Sysmoncfg.txt

对sysmon进行安装:

出现错误提示

发现我的配置文件和Sysmon.exe在同一个文件夹中所以不需要加路径。

注意如果配置文件与sysmon.exe不在同一目录,需要输入配置文件的目录!!

安装成功~~:

启动sysmon之后可以在"运行"窗口输入eventvwr命令。打开应用程序和服务日志,根据Microsoft->Windows->Sysmon->Operational路径找到记录文件。

打开感兴趣的是事件进行分析:

  • 这个是事件3:运行有道云笔记在写博客哈哈哈啊~

  • 事件一是进程创建,在网上搜索了一下是个什么进程

  • 运行360浏览器:

  • 运行vm上的虚拟机:

  • 还找到了启动的自己制作的后门程序:

  • 这个是在cmd中使用命令打开了Windows事件管理器


使用virscan分析恶意软件

  • 在virscan网站上查看上次实验所做的后门软件的文件行为分析:

点进去文件信息不知道为什么什么都没有????

于是打开英文那个版本的试验一波~

好像也分析不出来什么呀。。。。。~就是文件的一些基本信息。。。

使用systracer工具分析恶意软件

安装好systracer后进行快照,分别进行三次快照

  • 未安装后门
  • 植入后门后进行回连
  • 回连之后使用dir命令

进行了三次系统快照,结果如下:

对比1.2两种:

第一种情况下搜所不到我的后门软件:

将恶意软件植入到目标主机后,可以通过快照发现文件中多了一个20155232.exe文件,

第三种情况:启动回连时,新建了20145236_backdoor.exe应用,可以看见它启用了许多DLL文件

再观察可以看到 本地地址是我windows的地址,而远程地址是植入后门的虚拟机的ip地址,端口号是当时设置的5232:

使用wireshark抓包分析

我用wireshark捕获了我的某个后门程序回连时的数据。

这个是我的虚拟机IP和主机IP建立TCP连接抓的包:
虚拟机ip是192.168.128.133
主机ip是192.168.128.1

这里显示了目的端口号是我的学号~:5232

先进行了TCP的三次握手,之后再进行数据的传输,
如下图带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包:

通过

netstat -n

看到5232端口已经打开,并且可以看到主机和虚拟机的ip地址:

使用PE explorer

我们使用PEexplorer打开我们的后门程序,界面如下:

可以看到程序的一些数据:

我觉得在pe这个软件比较偏向于程序内部的分析,而且更多的是静态的分析,没有动态的分析更为透彻,更为全面。

实验后问题回答

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

可以通过查看网络连接、端口使用情况进行分析。

还有本次实验中学到的隔一个固定时间运行一次控制台的netstat命令。

通过sysmon监控几乎所有的重要操作,并在事件查看器中找到日志查看

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

启动程序,利用systracer及wireshark动态分析程序的执行过程。

还可以使用process explorer工具,查看该进程的网络连接情况,以及线程、执行等信息。

实验总结与体会

这次实验主要是需要学会看懂各个监控,分析工具中数据的代表意义,从而分析和判断恶意程序,实验本身不难,主要就是分析有难度,所以需要继续加强对恶意代码各种类的特点进行学习,从而能够更容易发现系统中所存在的一些异常行为,才能将理论运用在现实中嘛~哈哈

posted @ 2018-04-16 20:23  短爪爪爪  阅读(146)  评论(0编辑  收藏  举报