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

    一、实践目标

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

    二、实践内容

    1.系统运行监控

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

    2.恶意软件分析

    • (1)启动回连
    • (2)安装到目标机
    • (3)及其他任意操作时。该后门软件
      • 读取、添加、删除了哪些注册表项
      • 读取、添加、删除了哪些文件
      • 连接了哪些外部IP,传输了什么数据(抓包分析)

    三、实践步骤

    任务一 系统运行监控

    (一)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。

    • 使用schtasks指令添加计划任务
      • 新建schtasks5232.txt输入

      date /t >> c:
      etstat20175232.txt 
      time /t >> c:
      etstat20175232.txt 
      netstat -bn >> c:
      etstat20175232.txt
      • 保存并退出,修改文件名schtasks5232.bat并复制到C盘目录

      • 3.修改计划任务

        • 在开始处右击打开计算机管理->任务计划程序,找到上述创建的任务

        • 4.对该任务右键点击运行,可在netstat5232.bat目录下看到netstat5232.txt,打开就可看到每隔一分钟被输到这里的联网数据
          • 在这段时间中使用最多的是QQ和战网还有虚拟机,符合实际情况。但是后台存在很多非我主动运行的软件进程,甚至还有广告软件,还有根本没有下载安装的网络安全组件和应受重点关注的易感染的系统组件,所以在日常使用中应该主动留意后台进程,保证后台的有序和可信不仅能够保证自己信息的安全,也能够保障系统的流畅运行。

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

    • 1.首先根据实验提供的链接,编写配置文件sysmon20175232.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>
      
          <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">winlogon.exe</TargetImage>
            <SourceImage condition="end with">powershell.exe</SourceImage>
          </CreateRemoteThread>
        </EventFiltering>
      </Sysmon>
      

        注意根据自己的软件版本更改抬头的版本号

    • 以管理员身份运行CMDSysmon64.exe目录下执行Sysmon64.exe -i sysmon20175232.xml
    • 进入事件查看器里查看日志,点击事件查看器,在应用程序和服务日志->Microsoft->Windows->Sysmon->Operational可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别等
    • 用Sysmon分析事件,可以看到显示得有具体时间、运行的程序、使用的协议、源IP、目的IP等等

    任务二、恶意软件分析

    • 使用PE explorer进行外壳检测
    • 将实验2、3中的加过壳的后门软件进行分析
    • 查看静态数据目录、节头信息
    • 对文件进行反编译
    • 点击上方菜单的红箭头可以查看dll库
    • msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件
      kernel32.dll属于内核级文件,它控制着系统的内存管理、数据的输入输出操作和中断处理,是必需的
      advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关,会受到病毒的侵扰及篡改,导致系统文件丢失、损坏
      wsock32.dll是Windows Sockets应用程序接口,用于支持很多Internet和网络应用程序,是一个对系统很关键或很可疑的文件,易遭受木马病毒(如“犇牛”病毒)破坏导致系统找不到此文件,出现错误提示框。
      ws2_32.dll是Windows Sockets应用程序接口。一些病毒会在杀毒软件目录中建立伪"ws2_32.dll"的文件或文件夹,在杀毒软件看来这是程序运行需要的文件而调用,这个所谓的“文件”又不具备系统"ws2_32.dll"文件的功能,所以杀毒软件等就无法运行了而提示:应用程序正常初始化失败
    • 二)动态分析工具

      • 1.抓包工具运用(wireshark)

        • 反弹链接并获取dir时进行捕包,其中找到了win10与kail之间三次握手的建立,同时连接后可以看到捕获到大量的TCP传输

        • 获取声音时的捕包
        • 此时可以看到之前的时间里有后门使用的相关信息:

    四、基础问题回答

    • (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    • 答:方法有很多,可以看到恶意代码往往为了维持实际的控制使用同一端口,可以通过捕包分析是否有多次向同一ip地址的同一端口发送消息,也可以使用本次实验中使用的其他软件监控主机中的进程服务等的使用情况。
    • (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。首先利用wireshack等工具查看此程序有没有异常的连接,然后利用systracer,对比进程运行前后有没有可疑端口、注册表或可疑的变化,若是有再利用静态分析工具如:PEID、ExeinfoPE等工具看看有没壳在保护,是否是杀毒软件遗漏的恶意代码

    五、实践体会

    本次实践与以往的实践相比较为简单,只是需要安装的软件有些多,我认识到本次实验的重要性,也对于本次实验有很大兴趣,其实我还用了很多其他软件,但是因为涉及到一些不太适合放到往上的信息,没有给出,这次试验让我对于保护电脑的安全有了更加好的方法,获益匪浅,

  • 相关阅读:
    HDU-4726 Kia's Calculation 贪心
    HDU-4725 The Shortest Path in Nya Graph 最短路
    HDU-4722 Good Numbers 数位DP
    HDU-4720 Naive and Silly Muggles 圆的外心
    golang-mysql
    golang web
    golang接口
    golang对象
    亲测可用的golang sql例程与包管理
    golang-练习3
  • 原文地址:https://www.cnblogs.com/20175232-gouli/p/12723631.html
Copyright © 2011-2022 走看看