网络对抗实验四

Exp4 恶意代码分析

1.实践目标

1.1监控你自己系统的运行状态,看有没有可疑的程序在运行。
1.2分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

2.实践内容

2.1系统运行监控

(1)计划任务

1.1首先写好批处理脚本20201214.bat
date /t >> C:\Users\20201214.txt
time /t >> C:\Users\20201214.txt
netstat -bn >> C:\Users\20201214.txt

1.2 添加任务计划(每分钟记录一下网络状态)
schtasks /create /TN netstat /sc MINUTE /MO 1 /TR "C:\Users\20201214.txt"

打开任务计划程序
win R + taskschd.msc
找到刚刚创建的任务,查看它的属性
在常规中选择使用最高权限运行,在条件中关闭电源限制
在操作中把要执行的 cmd 改成之前写好的 bat 脚本

之后 windows 就会每个一分钟,执行一次指定的脚本。这里要注意写入的文件不可以和之前的.txt文件重名,否则会导致无法写入。

1.3 日志数据分析

然后使用 Excel 分析刚刚脚本产生的数据
导入数据、设置分割符

选择数据源为刚刚的txt文件,并且设置分隔符勾选所有符号。

之后选择插入,数据透视图,获得“协议”的统计分析。

(在这里我忘记把无用的字段删去,将就看看)

进行排列之后就可以看见了。把这些进行百度一下,可以看见好像都没啥问题,是比较合理的应用,我就没有详细地查询下去。

(2)sysmon实现系统运行监控

sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具,用来监视和记录系统活动,并记录到Windows事件日志,可以提供有关进程创建、网络链接和文件创建时间更改的详细信息。
编写配置文件如下:


*




chrome.exe
QQBrowser.exe

    <FileCreateTime onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
    </FileCreateTime>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.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">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

启动sysmon,输入.\Sysmon.exe -i sysmon1218.xml开始安装sysmon

Win+R再输入eventvwr.msc打开事件查看器

应用程序和服务日志 -> Microsoft -> Windows -> Sysmon -> Operational

使用程序二生成的后门软件20201214.exe(在这里我直接把他从kali里复制到主机文件夹)按照后门程序进行配置,输入exploit,并在Windows中运行20201214.exe,成功连接到Windows,在Kali获取的反弹窗口中输入时间指令.(也就是先shell,后在kali的cmd里输入time获取时间)

根据回显的时间在WIndows事件查看器中查找sysmon的进程创建事件

可以看见采用tcp进行的连接。

2.2恶意软件分析

(1)wireshark流量抓包

由于我们是在虚拟机上,所以本次捕包使用的是VMware Network Adapter VMnet8.
限制条件为ip.addr == 192.168.249.131 && tcp(tcp是上一步得出的)

然后统计流量图,就可以看见流量包的发送与接收了

是不是49352端口呢?

看来确实是它。我们开始进行分析其中一个。
选择一个,wireshark就会自动显示对应的流量包,我们打开来看看。

显示了源端口和目的端口。
点开TCP层,就可以看见详细的源地址和目的地址,以及传输的数据大小。

(2)Systarcer

我先为主机拍摄了快照。
随后为虚拟机进入了shell的主机拍摄了快照。

把他们两个compare一下,注意勾选只看不同。

绿色是增加,红色是减少。
很明显,我的电脑上的恶意软件运行了,然后还打开了我的cmd窗口。但是还出现了一个conhost.exe,有点可疑,查了一下是命令行窗口的宿主进程,可以理解。
随后我们找到最上面的export differences输出为一个pdf文件

就可以看见这个恶意软件究竟在干嘛,可以看见给我加了许多dll文件,然后也可以看见tcp协议以及两个源地址之类的,我尝试打开dll文件看看是啥,发现完全不明白。
随后百度其中一个原来是为了在64位的电脑上运行32位的进程(wow64.dll),而我们的cmd.exe恰好就是一个32位的命令行程序,也就是说20201214_backdoor.exe为了要打开cmd,然后还为我们自动开启了wow64.dll。

(3)PE Exploer

在PE Exploer中打开后门程序backdoor.exe,显示出文件头信息,在图片中我们可以看到平台类型、节的数量、时间戳、符号表的位置、可选文件头、代码节的大小以及优先装载地址等信息.

点击视图里的导入,就可以看见它使用了哪些dll文件。
还可以点击视图里的资源,

可以查看到VirusTotal里的版本信息。
当然还可以反汇编一下这个软件,就可以知道这个软件到底要干嘛了。

实验到这里也结束了。

基础问题问答

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
我认为需要监控端口连接情况、注册表信息和文件信息。
像实验中的操作一样,可以使用wireshark抓包分析,分析网络连接状态;查看软件注册表信息;使用Systracer或者sysmon等软件查看一段时间内系统事件、注册表信息文件变化情况,将这些信息录入excel中分析。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息?
可以用Systracer分析注册表差异和文件的不同;
可以用wireshark查看数据包,查找可疑的数据连接;
还可以用virscan、Threatbook等软件分析工具来得到各种杀软报毒的疑似病毒,以及得到一些可疑签名、静态信息等。

实验总结与体会

本次实验难度较大,实验的重点就在于分析。我们需要运用各种软件对恶意代码进行分析,不仅仅是动态的,也需要包括静态的。我个人觉得比较困难的是wireshark流量抓包分析,由于对于各种流量包比较陌生,这就导致了我的分析较为浅显以及简单。
这次试验所使用的多种工具给了我极为深刻的印象,通过两张快照的前后对比就可以看出一个恶意软件做了什么,这加深了我对于这门课程的理解。

posted @ 2023-04-06 22:15  20201214罗云帆  阅读(23)  评论(0编辑  收藏  举报