2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

时间:2024-04-19 21:35:32

1.实践目标

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

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

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

2.实践内容(3.5分)

2.1系统运行监控(2分)

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

1.使用schtasks指令监控系统

  • 使用schtasks /create /TN netstat20165321 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt"命令创建计划任务netstat20165321,如下图所示:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

其中,TN是TaskName的缩写,我们创建的计划任务名是netstat20165321sc表示计时方式,我们以分钟计时填MINUTETR`即为Task Run,要运行的指令是netstat -bnb表示显示可执行文件名,n``表示以数字来显示IP和端口。

  • 在C盘中创建一个netstat20165321.bat脚本文件(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)

  • 在其中写入以下内容:

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

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 打开任务计划程序,可以看到我们新创建的这个任务:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 双击这个任务,在操作选项卡中,将“程序或脚本”改为我们创建的netstat20165321.bat批处理文件;

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 条件选项卡中,取消勾选只有在计算机使用交流电源时才启动此任务

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 常规选项卡中,选择不管用户是否登陆都要运行,勾选不储存密码,并勾选使用最高权限运行

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 执行此脚本一定时间,就可以在netstat20165321.txt文件中查看到本机在该时间段内的联网记录:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

  • 使用Excel统计所收集的数据

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

<Sysmon schemaversion="4.20">

  <!-- 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>
<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">firefox.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread> <ProcessCreate onmatch="include">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<Image condition="end with">firefox.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">firefox.exe</Image>
</FileCreateTime> <FileCreateTime onmatch="include" >
<TargetFilename condition="end with">.tmp</TargetFilename>
<TargetFilename condition="end with">.exe</TargetFilename>
</FileCreateTime> </EventFiltering> </Sysmon>
  • 使用sysmon.exe -i sysmon20165321.xml安装sysmon。

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析
  • sysmon安装成功

2.2恶意软件分析(1.5分)

  • 右击我的电脑->管理->事件查看器->应用程序和服务日志->Microsoft->Windows->Sysmon->Operational。在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件(3)读取、添加、删除了哪些注册表项(4)读取、添加、删除了哪些文件(5)连接了哪些外部IP,传输了什么数据(抓包分析)。

  • 打开kali,运行木马文件,使其回连kali攻击机。查看日志,通过搜索关键字可以找到相关的后门文件:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析
  • 打开这个事件,可以看到其属于“NetworkContect”。查看详细信息,可以看到这个后门映像文件的具体位置、源IP和端口、目的IP和端口等。

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

使用VirusTotal分析恶意软件

  • 把生成的恶意代码放在VirusTotal进行分析,基本情况如下:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

使用Process Monitor分析恶意软件

  • Process Monitor是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。
  • 打开软件,可以看出其对各个进程的详细记录:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

使用Process Explorer分析恶意软件

  • Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。
  • 靶机运行木马,回连攻击机时,我们可以看到Process Explorer对其进行的记录:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

使用PEiD分析恶意软件

  • PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。
  • 我们取一个上次实验生成的,没有加壳的木马,其检测结果如下:

    2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

3.实验感想

本次实验的内容十分丰富,我们尝试学习和使用了数款用于检测恶意代码的指令或是软件,例如SysTracer、SysinternalsSuite、ProceMonitor等。这些工具都能很好地辅助我们对主机进行监控,以发现恶意行为并进行及时处理。

通过学习了解到,恶意代码的分析方法主要分为静态分析方法和动态分析方法。这两种方法在本次实验中都有所涉及。静态分析方法是指在不执行二进制程序的条件下进行分析,如反汇编分析等,属于逆向工程分析方法。而动态分析方法是指在恶意代码执行的情况下,利用调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程,以便作进一步分析。

虽然恶意代码的分析工具多种多样、日趋完善,但作为计算机用户的我们更不能掉以轻心,而应该时刻保持警惕。要时常对电脑的行为进行监控,不要只寄希望于杀毒软件,因为杀毒与免杀的博弈关系会使二者共同发展,并不是所有的恶意代码都会被杀毒软件拒之门外。