• 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: etstatlog.txt"命令创建计划任务netstat5334,如下图所示:

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

    \netstat5334.bat
    date /t >> c:
    etstat5334.txt
    time /t >> c:
    etstat5334.txt
    netstat -bn >> c:
    etstat5334.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进行抓包分析,然后查看该程序联网时进行了哪些操作

    四、实验体会

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

  • 相关阅读:
    FLINK 设计文档
    prometheus-dashboard-to-grafana
    apache-flink-training-metrics-monitoring
    多个inputstream的情况下,watermark的值怎么赋值? kakfa中多个partition提取 watermark
    how-apache-flink-enables-new-streaming-applications-part-1
    Advanced DataStream API Low-latency Event Time Join
    checkpoint and savepoint in FlinK
    Flink connectedstreams
    FLINK 案例分析
    Apache 流框架 Flink,Spark Streaming,Storm对比分析(一)
  • 原文地址:https://www.cnblogs.com/ltl123/p/10655993.html
Copyright © 2020-2023  润新知