zoukankan      html  css  js  c++  java
  • 20155301 Exp4 恶意代码分析

    20155301 Exp4 恶意代码分析

    实践目标

    (1) 是监控你自己系统的运行状态,看有没有可疑的程序在运行。

    (2) 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

    (3) 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    实践内容

    2.1系统运行监控

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

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

    2.2恶意软件分析

    分析该软件在
    (1)启动回连

    (2)安装到目标机

    (3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

    (3)读取、添加、删除了哪些注册表项

    (4)读取、添加、删除了哪些文件

    (5)连接了哪些外部IP,传输了什么数据(抓包分析)

    3.实践内容

    3.1 系统运行监控

    (1)schtasks指令监控,首先生成一个txt文本文件,在里面输入

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

    (2)将其后缀改为.bat,然后我们找到任务计划程序,然后新建一个任务,配置好触发器,让其五分钟执行一次。

    (3)上述操作等同与 schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c: etstatlog.bat" 命令。

    (4)用Excel分析记录下来的数据,通过数据进行分析。

    (5)我们可以查看计算机在此在期间访问网络的软件。

    (6)还可以看一下访问最多的主机连接到的外部地址

    (7)我们用网站批量查询一下访问的IP的网站,访问最多的是天津市移动,最多的应用是MicrosoftEdge浏览器,猜想是不是电脑DNS服务器连接的天津的DNS服务器。

    3.2 使用sysmon监视系统

    sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。

    通过收集使用Windows事件集合或SIEM代理生成的事件,然后分析它们,可以识别恶意或异常活动,并了解入侵者和恶意软件在网络上如何操作。

    (1)首先编写配置文件,这次实验的配置文件中记录ProcessCreate, FileCreateTime。

    <Sysmon schemaversion="3.10">
      <!-- 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>
    
        <FileCreateTime onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
          <Image condition="end with">iexplorer.exe</Image>
        </FileCreateTime>
    
        <ProcessCreate onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
           <Image condition="end with">iexplorer.exe</Image>
           <Image condition="end with">360tray.exe</Image>
        </ProcessCreate>
      </EventFiltering>
    </Sysmon>
    

    (2)打开cmd,安装Sysmon,输入sysmon.exe -i config_file_name

    (3)搜索 “事件查看器”在应用程序和服务日志——>Microsoft——>Windows——>Sysmon——>Operational

    (4)观察记录的联网行为,同时并进行了回连操作。

    事件一: 记录了事件的时间,发生的位置,使用的用户,安全等级和哈希值等等。

    事件二: 记录了事件事件的发生的时间、目标文件的地址,我认为这个是kali回连所产生的事件,kali的目标文件是我们的后门程序。

    事件三: 记录了交流用的协议,源IP地址、端口号、以及是否用了IPv6协议。

    4.systracer分析

    (1)从网络上下载systracer。
    点击take snapshot来快照,建立4个快照,分别为:

    snapshot#1 后门程序启动前,系统正常状态

    可以看到后门程序启动之前,程序的进程中

    snapshot#2 启动后门回连Linux

    可以观察到图中openitem中的路径,猜测应该是kali使用backdoor.exe访问主机的目录等。

    snapshot#3 Linux控制windows查询目录

    snapshot#4 Linux控制windows在桌面创建一个路径

    (2)对比下1、2两种情况

    (3)对比3、4两种情况

    使用Process Explorer

    Process Explorer可以实时监控计算机的进程状态,我们可以用它来看看Meterpreter进程迁移的行为,首先运行后门程序,我们找到了它的进程,双击进程,我们可以看到详细信息,其中的TCP/IP,在其中我们可以看到源地址是本地主机,目的地址是虚拟机的地址,然后端口是5301,可以分析出后门是让本地对虚拟机进行回连。

    Process Monitor

    Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。

    运行后门回连成功后进行刷新,可以看到后门程序出现在进程树和主界面中。

    下面是后门程序和正常程序的对比,从图中我们可以看到在栈的模块/组件中,后门程序有一部分显示的是未知,而正常程序均是显示的已知模块和组件,我认为这一特点也可以作为判别恶意代码的一个标准。

    PEiD分析

    PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。

    我们把上次实验加壳后的程序放到程序里面测试,其中我们可以看到peid查壳区段的入口点是UPX1,即(EP Section),从最下面一行我们知道后门程序加壳的软件是UPX 0.89.6-1.02/1.05-2.90。如果是未加壳的程序.则显示另一副图。

    未加壳版本

    使用wireshark分析恶意软件回连情况

    可以清楚的看到本地主机IP:192.168.229.1,到kali IP192.168.229.135的TCP三次握手的连接,其中的[PUSH ACK]应该是kali向主机发送命令所捕获的TCP包,从这里我们应该可以分析出恶意代码的指令传送过程。

    实验后回答问题

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

    答: 监控方法有本次实验利用的脚本,新建一个任务,监控注册表、系统服务、开机启动项、文件创建、网络连接情况。

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

    答: 可以通过Wireshark对于网络流量进行监察,是否有不正常的网络通信,并且可以把怀疑的目的IP地址放到网站上查询,进一步探测进程到底在和谁通信,还可以用Process explorer对进程进行监控,记录下可以进行的String字符串信息进行分析。

    实验总结与体会

    此次实验给我一次机会对电脑的所有进程进行监控,在监测到大量的进程信息后,通过Excel表格、各种分析工具进行筛选,可以把大量的信息整理归纳,以便于针对有问题的进程进行分析,并且通过各种软件我们可以知道进程到底在和谁通信,在什么时候通信,可以让我们知道恶意代码更加详细的信息,以便于后一步的禁用和阻止过程。

  • 相关阅读:
    阿里DatatX mysql8往 Elasticsearch 7 插入时间数据 时区引发的问题
    通俗易懂 k8s (3):kubernetes 服务的注册与发现
    ReplicaSet 和 ReplicationController 的区别
    使用Go module导入本地包
    k8s之statefulset控制器
    终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩
    Atitit drmmr outline org stat vb u33.docx Atitit drmmr outline org stat v0 taf.docx Atitit drmmr out
    Atitit all diary index va u33 #alldiary.docx Atitit alldiaryindex v1 t717 目录 1. Fix 1 2. Diary deta
    Atitit path query 路径查询语言 数据检索语言 目录 1.1. List map >> spel 1 1.2. Html数据 》》Css选择符 1 1.3. Json 》map》
    Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  • 原文地址:https://www.cnblogs.com/fengxingck/p/8859139.html
Copyright © 2011-2022 走看看