zoukankan      html  css  js  c++  java
  • 2019-2020-2 网络对抗技术 20175224 Exp4 恶意代码分析

    目录


    一、实验内容说明及基础问题回答

    二、实验过程

    • 系统运行监控
      • 结合windows计划任务与netstat命令
      • 使用sysmon监视系统
    • 恶意软件分析
      • 在线检测
      • 动态分析
      • 静态分析

    三、问题与思考

    四、实验总结



    一、实验基础问题回答

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

    • 使用windows自带的schtasks指令设置一个计划任务,每隔一定的时间对主机的联网记录等进行记录。

    • 使用sysmon工具,通过配置想要监控的端口、注册表信息、网络连接等信息,记录相关的日志文件。

    • 利用wireshark查看数据包

    • 用TCPView也行,不过能得到的进一步信息较少

    • 用Process Explorer或者Process Monitor

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

    • 使用Wireshark进行抓包分析,监视其与主机进行的通信过程。

    • 使用systracer工具分析恶意软件,进行快照的对比(注册表、文件等).

    • 使用Process Explorer查看调用的程序库等等

    • 使用PE explorer

    • 也可以用PEid查看的加壳情况



    二、实验过程

    1.系统运行监控

    结合windows计划任务与netstat命令

    • 为实现每5min记录下有哪些程序在连接网络,输入以下命令创建计划任务:
    schtasks /create /TN netstat5224 /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:
    etstatlog.txt
    • 在C盘中创建一个netstat5224.bat脚本文件(可先创建txt文本文件,使用记事本写入后通过修改文件名来修改文件格式)

    • 在其中写入以下内容

    date /t >> c:
    etstat5224.txt
    time /t >> c:
    etstat5224.txt
    netstat -bn >> c:
    etstat5224.txt
    • 打开任务计划程序(在计算机管理中),可以看到我们新创建的这个任务

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

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

    • 等记录项目够多了再用xlsx进行分析:点击数据选项卡,获取外部数据,选择之前记录连接情况的文本netstat5224.txt

      • 生成表

      • 将其做成柱状图(发现tcp最活跃)

    使用sysmon监视系统

    > `sysmon`微软Sysinternals套件中的一个工具,可以从码云项目的附件里进行下载,要使用`sysmon`工具先要配置文件: > ``` * microsoft windows chrome.exe iexplorer.exe 137 explorer.exe svchost.exewinlogon.exe powershell.exe > ```

    <Sysmon schemaversion="10.42">
    <!--右键Sysmon.exe属性,查看版本号-->
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
      
        <ProcessCreate onmatch="exclude">     
          <Image condition="end with">360chrome.exe</Image> 
        </ProcessCreate>
    
        <FileCreateTime onmatch="exclude" >
          <Image condition="end with">360chrome.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>
    <!--滤掉源IP为127.0.0.1的网络连接和目的端口为137的连接-->
        <NetworkConnect onmatch="include">
          <DestinationPort condition="is">80</DestinationPort>
          <DestinationPort condition="is">443</DestinationPort>
        </NetworkConnect>
    <!--将端口号为80、443的网络连接纳入统计-->
    
    <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>
    
    • 新建txt文件axy20175224.txt,写入上述代码,然后改成改为xml格式
    • 配置好文件之后,用管理员身份打开cmd,进入sysmon所在文件夹,使用Sysmon.exe -i H:axy20175224.xml指令对sysmon进行安装:

    • 启动之后,便可以到事件查看器里查看相应的日志:

    • 查看了其中一部分事件的详细信息


    2.恶意软件分析

    在线检测——virustotal

    把生成的恶意代码放在VirusTotal进行分析

    • 查看这个恶意代码的基本属性
    可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。(注:TRiD通过读取文件头,根据特征码进行文件类型匹配。)
    
    • 可以看到加壳情况

    动态检测

    (1)使用Process Explorer

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

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

    (2)使用Process Monitor

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

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

    (3)使用systracer

    • 点击take snapshot分别存储以下快照:

      • Snapshot #1:未植入后门程序的自然状态
      • Snapshot #2:将木马植入靶机,对靶机注册表、文件等进行快照
      • Snapshot #3:打开kali的msfconsle,靶机运行木马,回连kali,win7下再次快照
      • Snapshot #4:在kali中对靶机使用ls指令,win7下再次快照
      • Snapshot #5:在kali中对靶机使用getuid然后getsystem进行提权操作,win7下再次快照

    • 分析

      • 快照一和快照二:增加的后门程序

      • 快照二和快照三:除了增减很多键值、dll文件外,还能看到端口号,可以看到后门程序运行了http服务

      • 植入后门并回连进行权限提取或其他操作

        我们能在双击此快照的基础上通过查看applications中的Runnig Processes找到后门程序,能清楚地看到本机地址和端口以及远程攻击方kali的地址及运行端口号

    (4)使用wireshark

    通过上一步的操作得知攻击方以及受控方IP地址以及端口号之后使用wireshark进一步分析

    • 三次握手



      从序列号、确认号等能判断出三次握手过程,同时还能查看传输的数据

    静态分析

    (1)使用PEid查看加壳情况

    • 进行扫描
    • 点一下首字节后>就可以直接查看反汇编的代码

    (2)使用PE Explorer

    - PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。

    • 我们可以看到后门程序的头部信息。

    (3)file+文件



    三、问题与思考

    问题1:在安装sysmon时报错 

    解决:创建xml文件时删除注释即可

    四、实验总结

            本次实验所需要使用的工具相比前几次更丰富,通过运用不同的工具,结合之前信息安全及本期计算机病毒的一些知识,进一步熟练操作监控主机,能更好的辅助我们发现并及时处理恶意行为。恶意代码的分析方法主要分为静态分析方法和动态分析方法。这两种方法在本次实验中都有所涉及。静态分析方法是指在不执行二进制程序的条件下进行分析,如反汇编分析等;而动态分析方法是指在恶意代码执行的情况下,利用调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程,以便作进一步分析。实验过程中,遇到各种奇怪问题,不过通过不断尝试,能得以解决,但目前对于恶意行为的监测中并不可控,不能做到百分百的检测,这也是我们今后研究的方向。

  • 相关阅读:
    软件开发 [CJOJ 1101] [NOIP 模拟]
    OI中卡常数技巧
    疫情控制 [NOIP2012]
    开车旅行 [NOIP 2012]
    观光公交 [NOIP 2011] [思维推导]
    选择客栈 [NOIP 2011]
    2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II
    2016级算法期末上机-E.中等·ModricWang's Fight with DDLs II
    2016级算法期末上机-D.简单·AlvinZH's Fight with DDLs I
    2016级算法期末上机-C.简单·Bamboo's Fight with DDLs III
  • 原文地址:https://www.cnblogs.com/axyaxy/p/12715052.html
Copyright © 2011-2022 走看看