20154322 杨钦涵 Exp4 恶意代码分析

Exp4 恶意代码分析 Exp4 恶意代码分析

一、基础问题回答

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
①可以使用监控程序,帮助我们分析是否存在恶意代码
②如第二个实验使用sysmon,监控几乎所有的重要操作,并可通过事件查看器中找到日志查看。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
①利用wireshark动态分析程序动向。
②PE explorer工具,它可以对程序调用库等信息进行分析查看。
③利用systrace监控系统运行

二、实践过程记录

①监控系统运行

2.1 使用schtasks指令监控系统运行


1.先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件(自动生成)中,netstatlog.bat内容为

date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

2.打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"指令创建一个每隔五分钟记录计算机联网情况的任务:

TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口

五分钟后:

3.打开WPS表格,将txt文件导入进去

  • 选择分隔符

  • 全打上勾


*选择“常规”

导入得到txt的内容。

打开数据透视表,将协议作为列,并计算它的值,得到下图:

可以看到,360是用的最多的,因为当时正在用360浏览器查找资料~

  • 第一个实验遇到了两个问题。
    一是创建netstatlog.bat输完命令后找不到netstatlog.txt文件,后来发现需要先将netstatlog.bat以管理员身份运行后才可成功。
    二是找到netstatlog.txt文件之后,无法定时更新记录,后来多方询问了解到,需要打开任务管理器,选中netstatlog.bat,勾选“最高权限运行”才可更新记录

2.2 使用sysmon工具监控系统运行


1.sysmon是微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使用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">chrome.exe</Image>
  <Image condition="end with">iexplorer.exe</Image>
  <SourcePort condition="is">137</SourcePort>
  <SourceIp condition="is">127.0.0.1</SourceIp>
</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 -accepteula –i指令对sysmon进行安装(需进入到附件保存的文件夹中)

3.启动之后,便可以到事件查看器里查看相应的日志(应用程序和服务日志→Microsoft→Windows→Sysmon→Operational路径找到记录文件)

4.回联了第二次试验用到的后门软件,刷新一次日志找到了它

②恶意软件分析

2.3 使用virscan分析恶意软件


1.在virscan网站上查看上次实验所做的后门软件的文件行为分析(刷了很多次,又换了同学的电脑刷,终于,在自己的电脑上刷出来了。。。):

2.点击“文件行为分析”,可以看到其启动回连主机的部分IP地址以及端口号以及其他信息

2.4使用systracer工具分析恶意软件


首先,下载一波:systracer
接着,安装。虽然是英文,但很简单(比上次实验的vile简单多了(* ̄︶ ̄))

使用systracer工具建立了4个快照,分别是在主机中没有恶意软件时、开启恶意软件并与主机回联时、在Linux界面输入创建TXT文本指令并传入到主机时、关掉后门,断开连接后主机的状态

如图所示,我们可以选择两个快照进行campare,分析每次操作对系统的影响:

结果对比分析:
1、2对比:启动回连时注册表发生变化,注册表多了些内容:

2、3对比:启动回连时,新建了4322.txt文本文件,因此,可以发现在C盘新增了传输的文件:

3、4对比:

注册表有改动,其他没有什么区别

2.5 使用wireshark分析恶意软件回连情况


设置TCP过滤格式tcp.port==4322,在进行回连操作时,使用wireshark进行抓包后可以看到,其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的便是执行相关操作指令时所传输的数据包:

  • 存在问题:最开始选择WLAN后开始监控,发现并没有三次握手,抓包时发现是空的。

    解决:后来试了多次,发现应该一开始选择VM后才可以进行抓包。

2.6 Process Monitor分析


打开Process Monitor就可以就看到按时间排序的winxp执行的程序的变化,运行一下后门程序yqh4322,再刷新一下Process Monitor的进程树界面,可以指定查找到yqh4322.exe。

2.7 使用PE explorer分析恶意软件回连情况


首先,在网上下载好PE explore
1.使用PE explorer上次使用的后门程序,可以看到该文件的编译时间、链接器等基本信息:

2.查看程序节头的信息和一些指向操作信息

3.点击查看有dll文件.

  • ADVAPI32.dll文件百度可知:是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关,调用这个dll可以实现对注册表的操控
  • WSOCK32.dll和WS2_32.dll这两个DLL用于创建套接字,即会发生网络连接

三、实验总结与体会

  • 这次实验挺有趣的,我也学习了解到了一些可以可以分析恶意软件的程序,开了眼界。而且,下载的时候很顺畅不会卡,分分钟OK(和上一次下载安装veil形成强烈对比 😑 😑 😑 ,且行且珍惜)。其他程序例如PE explorer这些一开始没接触过,但一边百度一边了解这个程序是干嘛的,怎么看分析的软件,慢慢的有所了解的这一学习的过程很充实。
posted @ 2018-04-12 20:04  杨钦涵20154322  阅读(187)  评论(0编辑  收藏  举报