• 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析


    2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析


    实验内容(概要)

    一、系统(联网)运行监控

    1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且进行深入分析。

    (1) 检查程序运行的合理性(他应不应该这时候运行);

    (2) 检查程序占用资源的合理性(有没有不合理地、非法地占用资源);

    (3) 综合分析结果,然后可以有目的地进行进行抓包。

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

    二、恶意软件分析

    1. 特征捕捉

    捕捉恶意软件联网情况、回连情况、进程迁移操作、修改注册表、修改文件的情况。

    2. 特征分析

    分析、以及基于特征的防范。


    实验步骤

    一、系统(联网)运行监控

    1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且进行深入分析。

    这里主要用到的是schtasks命令,在网上有很多教程。在这里,为了先进行联网进程的监控,在命令行试运行如下:

    schtasks /create /TN 5325netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:
    etstatlog.txt"
    

    参数分析:/create创建定时任务;/TN设置taskname;/sc设置运行间隔;/MO设置周期;/TR设置runtask的命令;

    任务计划创建成功,但是不一定能运行成功。因为可能c盘是保护盘,可能你需要权限才能创建文件balabala,所以在任务计划里面找到ta(看不见就在旁边刷新一下),设置为最高权限运行,看见c盘有生成的txt就可以了。

    一次执行程序只能捕获此刻的联网情况。如果想在一段时间内持续监控,最好做一个bat文件。

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

    以上是bat文件的内容(创建方法:新建txt —> 修改后缀名字)。

    然后修改前面在cmd创建的任务计划参数,执行的程序不再是cmd,让任务计划指向这个文件。

    当执行的时候电脑上会弹一个小黑窗,然后去c盘检查txt文件,能看见每一条日志有时间信息:

    (可能一开始几条是cmd的任务计划生成的所以没有时间信息,查看的时候往下多拉一些)

    运行大概有30分钟以后停止。如果需要更全面的监控,可以根据情况调整时间。

    参考教程:https://www.cnblogs.com/zjy1997/p/8824717.html 。将数据导入Excel做成图表。

    可以看见几个主要的联网进程分别是:

    • chrome.exe浏览器,暂时看不出来什么问题。

    • dlna_player.exe通过文件夹搜索发现是酷狗的程序。

    经过上网查询发现这个是DLAN服务(手机投放功能):“可以在家庭局域网中将手机、平板、电脑、电视或者音响及其他音视频设备联通起来,互相之间可以访问其中的音乐、照片和视频。”

    • nvcontainer.exe看起来像是NVIDIA的东西,全部是本机连本机的,查找资料如下:

    [Nvcontainer.exe]对于Windows不是必需的,并且经常会导致问题。Nvcontainer.exe通常是存放在C:Program FilesNVIDIA CorporationNvContainer)。它是服务“NvContainerLocalSystem”:NVIDIA根功能的容器服务。这是Verisign签名的文件。Nvcontainer.exe不是Windows系统文件。该程序没有可见的窗口。该文件具有数字签名。该过程使用端口连接到LAN或Internet。Nvcontainer.exe能够监控应用程序。nvcontainer.exe也可能是恶意软件所伪装,或造成的一些恶意软件。因此,您应该检查PC上的nvcontainer.exe进程,看它是否是威胁。

    • QQ.exe大腾讯的qq,暂时看不出什么问题。

    • svchost.exe查找资料:LocalSystemNetworkRestricted。可能长时间读写可能引起电脑卡顿。参考:https://www.cnblogs.com/highend/p/win10_disk_100_percent.html

    • ruby.exe脚本语言,联网原因未知,查看链接地址全部是本机连本机的,应该问题不大。

    • WpnService网上说是一个系统服务,为什么连到这里?????

    有点小慌。。。。。想办法把他禁用了:

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

    下载官方exe,安装:C:Users24771DesktopSysmon>Sysmon.exe -i C:sysmon5325.xml

    文件sysmon5325.xml如下:

    <Sysmon schemaversion="4.20">
      <!-- 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>
        
        <NetworkConnect onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
          <Image condition="end with">iexplorer.exe</Image>
          <SourcePort condition="is">137</SourcePort>
          <SourceIp condition="is">127.0.0.1</SourceIp>
        </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>
    

    成功。

    右键win,打开事件查看器,左侧的应用程序和服务日志中,通过Microsoft->Windows->Sysmon->Operational找到配置文件所记录的全部信息。

    每一个事件id对应着不同的事件类型:

    1   :  进程建立 
    2   :  进程更改了文件创建时间 
    3   :  网络连接 
    4   :  Sysmon服务状态已变更 
    5   :  进程已终止 
    6   :  已载入驱动程式 
    7   :  已载入影像 
    8   :  创建远程线程 
    9   :  RawAccessRead 
    10  :  进程访问 
    11  :  文件创建 
    12  :  注册事件(创建和删除对象) 
    13  :  注册事件(值集) 
    14  :  注册事件(键和值重命名) 
    15  :  文件创建流哈希 
    255 :  错误
    

    这里的事件实在是太多了,不利于分析。建议修改xml的值,对后门程序进行定向分析。

    <Sysmon schemaversion="4.20">
      <!-- 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>
        
        <NetworkConnect onmatch="exclude">
          <Image condition="end with">iexplorer.exe</Image>
          <SourcePort condition="is">137</SourcePort>
          <SourceIp condition="is">127.0.0.1</SourceIp>
        </NetworkConnect>
    
        <NetworkConnect onmatch="include"> 
          <DestinationPort condition="is">5325</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>
    

    Sysmon.exe -c C:sysmon5325.xml重新进行配置。

    能清楚地看到回连的状态。

    二、恶意软件分析

    1. 使用virscan进行扫描。

    为什么没有行为分析,我看同学的博客里面有哈勃文件分析什么的(可能是我眼瞎没看见)。

    2. Process Monitor工具

    工具的作用是实时显示文件系统、注册表、进程/线程的活动。它是windows自己开发的,官方软件,值得信赖。

    设置过滤器以后,能找到shellcode.exe,追踪到后门程序的运行。

    双击能看到进程的详细信息。

    3. 使用SysTracer工具进行快照对比

    建议在win7虚拟机里面运行(系统小文件少,快照生成时间短)

    生成4个快照,分别是:

    • 运行后门之前;
    • 运行后门时;
    • 输入dirpwd命令之后。
    • 结束运行之后。

    比较能发现差异——运行时发生了修改、新增注册表项的操作。(具体什么意思我也看不懂啊)

    文件和新增和删除了很多,看文件路径,我猜他想伪装成为一个Microsoft的程序吧??(HSA意思是生成了隐藏的文件)

    当执行指令时,能发现没有修改注册表或者生成新的应用程序,只是进行增删了一些文件。

    4. 抓包

    后门启动以后,攻击机向靶机发送了很多tcp数据包,猜测MSF需要的指令全部都在这里面,后门程序本身只是用于回连。

    5. 分析

    综上所述,恶意软件执行的主要操作包括修改增加注册表,生成新的文件,从攻击机接受大量的文件,因此可以从行为和网络情况进行监控。

    一方面,对注册表项进行严格的监控,所有修改的进程最好要经过管理员权限的允许(UAC控制)

    另一方面,恶意软件可能是在用户不知情的情况下运行的(例如在熄屏是启动),所以防范的另一方面在于:监控网络流量情况。禁止程序在不正常的情况下启动操作接受/发送大量数据。

  • 相关阅读:
    Navicat建表MySQL索引类型
    Feign调用全局异常处理解决
    ShardingJDBC、Mycat、drds对比
    MySQL之索引失效分析及优化相关
    SpringBoot2.X集成spring session redis实现session共享
    Redis的消息订阅/发布 Utils工具类
    MySQL索引类型区分
    handler使用(二)
    Android开发指南中文版(七)Content Providers
    Android消息处理(一)进程内通信
  • 原文地址:https://www.cnblogs.com/maxeysblog/p/10662649.html
Copyright © 2020-2023  润新知