2018-2019-2 20155334『网络对抗技术』Exp4:恶意代码分析

2018-2019-2 20155334『网络对抗技术』Exp4:恶意代码分析

一、原理与实践说明

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

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

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

二.实践过程记录

1.使用schtasks指令监控系统

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

  • 在C盘中创建一个netstat5334.bat脚本文件

\\netstat5334.bat
date /t >> c:\netstat5334.txt
time /t >> c:\netstat5334.txt
netstat -bn >> c:\netstat5334.txt
  • 打开任务计划程序,查看新创建的任务

  • 双击这个任务,点击操作并编辑,将“程序或脚本”改为我们创建的netstat5303.bat批处理文件,确定。

  • 将记录信息导入excel进行分析

  • 由上图可知使用最多的是chrome.exe原因是在做后续的实验时下载了大量的程序。

2.使用sysmon工具监控系统

System Monitor(sysmon)是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。之后再结合WindowsEvent Collection或SIEM进行分析,可以识别网络上的异常入侵或运行的恶意软件。

特点:用完整的命令行记录下子进程和父进程的创建行为。使用sha1(默认),MD5,SHA256或IMPHASH记录进程镜像文件的hash值。可以同时使用多个hash,包括进程创建过程中的进程GUID。每个事件中包含session的GUID。
1. 记录驱动程序或者加载的DLL镜像的签名及其hash
2. 记录磁盘和卷的原始数据的读取请求
3. 记录网络连接,包括每个连接的源进程,IP地址,端口号,主机名和端口名(可选)
4. 如果更改注册表则自动重新加载配置
5. 具有规则过滤,以便动态包括或排除某些事件
6. 在加载进程的初期生成事件,能记录在复杂的内核模式运行的恶意软件
  • 一键安装命令(需要以管理员身份运行cmd)sysmon -accepteula -i -n

  • 创建配置文件Sysmon20165334.xml
<Sysmon schemaversion="4.00">      
<!-- 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>       
<!-- Do not log process termination -->        
<ProcessTerminate onmatch="include" />       
<!-- Log network connection if the destination port equal 443 -->        
<!-- or 80, and process isn't InternetExplorer -->        
<NetworkConnect onmatch="include">          
    <DestinationPort>443</DestinationPort>          
    <DestinationPort>80</DestinationPort>
    <DestinationPort>5334</DestinationPort>        
</NetworkConnect>        
<NetworkConnect onmatch="exclude">          
    <Image condition="end with">iexplore.exe</Image>       
</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.exe -c Sysmon20165334.xml,将sysmon按照修改好的配置文件进行更新。

  • 打开【开始】菜单,搜索【事件查看器】并打开,在左侧控制台树按照【事件查看器】->【应用程序和服务日志】->【Microsoft】->【Windows】依次展开,找到【Sysmon】下的【Operational】并双击打开:

  • 打开teshell.exe后门,Kali攻击机用meterpreter回连,可以看到连接的详细信息,包括ip、端口、pid等:

3.使用VirusTotal分析恶意软件

  • 把生成的恶意代码放在VirusTotal进行分析,基本情况如下:
  • 可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)
  • 还可以看到加壳情况:

4.使用Process Monitor分析恶意软件

  • Process Monitor 是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。

打开软件,可以看出其对各个进程的详细记录:

5.使用Process Explorer分析恶意软件

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

  • 靶机运行木马,回连攻击机时,我们可以看到Process Explorer对其进行的记录:

6.使用PEiD分析恶意软件

  • PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档的加壳类型和签名
  • 检测以前加壳的后门

7.使用systracer分析恶意软件

  • 给快照取名,使用默认设置,点击【确定】开始创建第1个快照Snapshot20165334 #1

  • Kali攻击机启动Meterpreter进行攻击,同时win7打开上次实验生成的后门程序5314.exe进行回连,并创建第2个快照Snapshot20155314 #2

  • Kali攻击机输入ls命令后,win7创建第3个快照Snapshot20165334 #3

  • Kali攻击机输入screenshot命令抓屏,win7创建第4个快照Snapshot20165334 #4:

  • 启动回连时,注册表发生了变化

  • 新增的文件

  • 点击【应用程序】可发现后门程序对很多.dll文件都进行了修改!


8、抓包分析(WireShark工具)

  • Kali攻击机打开监控,win7打开后门程序进行回连,此时Wireshark上捕获到了巨大的流量
  • 将过滤条件设为IP=192.168.56.102(kali的ip)

三、问题回答

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

  • 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。
  • 使用netstat命令设置一个计划任务,指定每隔一定时间记录主机的联网记录等等。
  • 可以通过sysmon工具,配置好想记录事件的文件,然后在事件查看器里面查看相关文件。

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

  • 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作

四、实验体会

通过这次实验,提高了对恶意代码的认识,体会道用工具分析而已代码,病毒程序的好处,提高了安全认识。

posted @ 2019-04-04 17:16  litianlong  阅读(215)  评论(0编辑  收藏  举报