zoukankan      html  css  js  c++  java
  • 2019-2020-2 20175309刘雨恒 《网络对抗技术》 EXP4恶意代码分析

    一、实验任务

    (一)实验目标

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

    (二)实验内容

    系统运行监控
    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包 的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    恶意软件分析
    分析该软件在启动回连,安装到目标机及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。
    ·读取、添加、删除了哪些注册表项
    ·读取、添加、删除了哪些文件
    ·连接了哪些外部IP,传输了什么数据(抓包分析)

    二、实验步骤

    1.使用schtasks指令监控系统

    使用命令schtasks /create /TN netstat5309 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"创建计划任务netstat5309

    新建schtasks5309.bat,输入以下内容:

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

    打开计算机管理的任务计划程序库,可以看到我们新创建的这个任务

    双击这个这个任务,点击操作-->编辑-->程序或脚本,改成我们新建的net5309.bat

    常规一栏选择不管用户是否登录都要运行使用最高权限运行

    之后打开netstat5309.txt即可查看运行结果,累计十多个小时后,通过WPS将数据整理成图如下:

    可以看出,除了TCP之外,用的最多的就是VM虚拟机,QQ以及微信(WeChat),其他并没有什么可以的程序。

    2.使用sysmon工具监测系统

    下载SysinternalsSuite.zip并解压
    选择Sysmon64.exe,右键属性,打开详细信息,查看版本,发现是10.42。
    之后在这个目录下编写sysmon20175309.xml

    <Sysmon schemaversion="10.42">
      <!-- Capture all hashes -->
      <HashAlgorithms>*</HashAlgorithms>
      <EventFiltering>
        <!-- Log all drivers except if the signature -->
        <!-- contains Microsoft or Windows -->
        <ProcessCreate onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
        </ProcessCreate>
    
        <ProcessCreate onmatch="include">
          <ParentImage condition="end with">cmd.exe</ParentImage>
        </ProcessCreate>
    
        <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">firefox.exe</TargetImage>
          <TargetImage condition="end with">winlogon.exe</TargetImage>
          <SourceImage condition="end with">powershell.exe</SourceImage>
        </CreateRemoteThread>
      </EventFiltering>
    </Sysmon>
    

    之后以管理员身份进入cmd,进入这个目录,输入命令Sysmon.exe -i sysmon20175309.xml启动。

    单击agree,启动成功。

    打开计算机管理——>事件查看器——>应用程序和服务日志——>Microsoft——>Windows——>Sysmon——>Operational,可以查看根据配置信息记录的进程信息。

    翻到最后可以看到sysmon20175309的配置信息

    3.恶意软件分析

    用实验三的生成的后门程序回连kali虚拟机

    打开wireshark捕包这次连接过程(数据太多,我只截取三条)

    可以很清楚的看出回连的过程建立了三次握手连接,由win10(192.168.95.1)连接kali(192.168.95.128)
    之后可以成功地在日志中找到我的后门程序backdoor5309

    尝试使用命令screenshot截屏,查看会发生些什么。
    ·首先wireshark出现一大堆数据,可以肯定有数据在传输,具体的就不太懂了。

    ·查看日志,更新了好多条,这里选出两条。

    这一条很直观,VM的活动被记录。

    这一条是截图工具SnippingTool的工作情况。

    之后又尝试了其他几条命令,都有很多的数据传输和日志记录,在这就不一一列举了。(其实是忘了截图)

    使用Systracer进行分析
    下载Systracer并安装
    记得输入自己的专属端口号

    安装完成后进入进行拍照Take snapshot

    我只拍照了三次便提示了被限制,也不晓得为什么。
    第一次时未植入后门程序,第二次植入了后门程序,第三次回连之后。

    回连之后,点击上方Applications——>左侧Running Processes——>找到后门程序backdoor5309.exe——>Opened Ports,可以看到回连的地址和端口号

    点击右下角的View differences list,比较这三次的差别。
    第一次和第二次
    发现了我们的后门程序

    同时还增删了很多的文件和注册表(有很多被拒绝了无法查看)

    第二次和第三次
    这次在运行的程序中发现了我们的后门程序

    这里还看到了回连的IP地址和端口,侧面证明了我们回连成功。

    其他静态分析
    这里使用PEiD,一个专门查壳的工具。
    ·先查杀没有任何处理的后门软件。

    ·再来查杀加了压缩壳的后门软件。

    ·最后查杀在压缩壳基础上又加加密壳的后门软件。

    显而易见,压缩壳会被查出来,而加密壳没有被查出来。
    最后再用我们的老朋友——Virustotal扫描一下
    结果如下:

    三、思考题:

    1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    答:这次实验已经教会了我们几种方法:用schtasks指令监控系统、用sysmon记录系统日志、还可以用Systracer拍照对比前后有什么不同。
    2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    答:用Systracer提供的对比情况进行分析查看它对注册表和其他文件的修改情况。

    四、实验感想

    本次实验并不困难,只是需要下载的软件比较多。上次实验教会我们怎样把自己的“矛”(后门程序)变得更加“锋利”(避免查杀),这次学会了怎样使自己的“盾”(保护程序)变得更加“坚固”(记录后门程序行踪),学习网络对抗技术很类似于打篮球,蓝球场上都说防守赢得总冠军,把自己保护好至少保证自己不吃亏,仅仅会进攻极有可能换来的是伤敌八百自损一千的赔本买卖,只有把“盾”变得更加坚固,才能更好的使用自己的“矛”,至少保证不能后花园起火。

  • 相关阅读:
    Objective C 绘制透明窗口的方法
    在挂载的 NTFS 盘上运行 gdb 会遇到权限问题,导致无法初始化
    使用 Eclipse 打造 操作系统实习 JOS 开发环境
    C# URL 中文编码与解码
    突破教育网的防线,将搜狗浏览器的教育网加速功能全面推向各种浏览器
    linux 截屏工具
    yum install 时 提示某个已安装的库(x86_64)比某个要安装的库(i686) 新导致安装失败
    全方位打造 Eclipse 自定义开发环境
    自动售饮料机的verilog实现
    数字跑表的verilog实现
  • 原文地址:https://www.cnblogs.com/20175309lyh/p/12709240.html
Copyright © 2011-2022 走看看