首页 > 其他分享 >Exp4 恶意代码分析

Exp4 恶意代码分析

时间:2023-04-06 22:33:06浏览次数:41  
标签:分析 exe 快照 恶意代码 恶意软件 Exp4 netstat1312 使用

Exp4 恶意代码分析

目录

实验过程

1.系统运行监控

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

  • 在命令行中输入以下命令,创建任务计划netstat1312
schtasks /create /TN netstat1312 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > d:\netstatlog.txt

  • 在D盘中创建一个脚本文件 netstat1312.bat(先创建一个.txt文件再修改后缀名为.bat),并写入以下内容:
date /t >> d:\netstat312.txt 
time /t >> d:\netstat1312.txt 
netstat -bn >> d:\netstat1312.txt
  • 在Windows的任务计划程序中,可以查看到新创建的任务

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

  • 在"条件"选项卡中可以看到,电源选项中默认操作为“只有在计算机使用交流电源时才启动此任务”,那么使用电池电源时就会停止任务。为了我们统计足够多的数据,这个选项取消掉。
  • 点击运行,可以看到D盘下出现了三个文件如下

  • 在wps的Excel表格中分析记录的数据

    • 导入文本数据:新建excel文件->选择上方“数据”->选择“导入数据”->选择“导入数据”->选择“直接打开数据文件”
    • 选择数据源文件netstat1312.txt
    • 依次选择其他编码、分隔符号,然后将分隔符号的所有选项都选中,点击完成即可
  • 创建数据透视图

    • 选中我们所要分析的列,选择“插入”——数据透视图——新工作表

    • 将字段列表拖到下方的行和值中,就生成了我们所需的数据透视图

  • 从图中可以看出位居第一位的是TCP,连接的外部地址是我打开的相关页面的,大多为http和https连接

  • 第二多的是firefox.exe,是火狐浏览器

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

  • 明确要监控的目标

    我在这里选择的是:

    • 进程创建ProcessCreate

    • 进程创建时间FileCreatTime

    • 网络连接NetworkConnect、远程线程创建CreateRemoteThread

  • 编写xml配置文件

    在sysmon所在的文件夹下创建文件sysmon20201312.xml

    写入以下内容

    <Sysmon schemaversion="3.10">
      <!-- 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>
    

  • 启动sysmon,要以管理员的身份运行命令行

    输入命令Sysmon64.exe -i sysmon20201312.xml,安装sysmon,结果如下:

  • 使用事件查看器分析进程

    • 查看“事件查看器”,选择日志的位置,应用程序和服务日志/Microsoft/Windows/Sysmon/Operational

      在这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、级别、任务类别、详细信息等。

    • 运行实验二中生成的后门程序20201312_backdoor.exe,并启动回连到kali虚拟机中。我们可以在事件查看器中找到此条日志

  • 虚拟机成功获取windows的shell

2.恶意软件分析

2.1使用VirusTotal分析恶意软件

  • 把实验二中生成的后门程序(已接收到win主机里的)在VirusTotal进行分析,结果如下:55/70,被杀软查出来的比率还是蛮高的

  • 继续查看此恶意软件的基本属性,可以看出它的SHA-1、MD5摘要值、文件类型、文件大小,以及TRiD文件类型识别结果。

  • 还可以看到此软件的头部、各个节的相关信息,以及引入的动态链接库

2.2使用wireshark抓包分析恶意软件

  • 运行实验二生成的后门20201312_backdoor.exe,在kali中回连。把过滤规则设置为ip.addr == 192.168.233.136,只留下与kali机有关的包

    我们可以看到前三个包为TCP连接的三次握手

  • 在kali中输入dir,发现wireshark又捕获到了许多PSH+ACK包,可以判断有数据在传输

2.3使用Systracer动态分析

  • 下载systracer

  • 点击右侧的take snapshot,拍摄快照。点击start开始,不用点击stop,60s后拍摄完毕会自动停止。

  • 总共截了以下三张快照:

    • 快照一:未移植后门程序,保存为Snapshot #1
    • 快照二:运行后门程序并在kali中实现回连,保存为Snapshot #2
    • 快照三:在kali中使用dir指令,保存为Snapshot #3
  • 接下来我们对比快照,分析恶意软件在执行过程中系统有哪些变化

    通过右下角的compare键或者View Differences Lists比对各快照,可以选择Only Difference只查看不同的项,在右下角可以选择对比哪两张快照

    • 对比快照一和快照二(后门程序运行前后)

可以看到新增开放了我们的后门程序`20201217_door.exe`连接的本地地址和目标地址以及端口号
  • 对比快照2和快照3 (3运行了dir指令)

点击`Register`,可以看到快照3对根键中的内容进行了修改,对注册表中的配置信息进行了修改

2.4 使用Process Explorer分析恶意软件

Process Explorer可以监听到电脑上所有正在运行的程序,找到可疑行为,仔细观察是否有后门程序

  • 打开procexp.exe,定位到后门程序20201312_backdoor.exe

点击TCP/IP可以看到相应的端口号

问题与解决

运行netstat1312任务后生成的netstat1312.txt文件内容如下

解决

双击netstat1312任务,勾选“使用最高权限运行”

实验后回答问题

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

    答:①用schtasks设置任务,然后筛选出可疑的网络行为。但凡攻击者想进行远程操作,建立了连接,就一定会被记录到

    ②使用wireshark查看自己计算机的端口开放情况,查看是否有多余端口进行可疑的数据传输

    ③使用SysTracer工具,每60s拍摄一张快照,可以通过对比不同快照来查看是否有可疑行为。

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

    答:①使用VirusTotal分析恶意软件,上传后查看detail

    ②使用wireshark查看运行时传输信息的方式以及内容、端口以及目的地址是哪里

    ③使用Systracer工具拍摄快照,查看其对注册表和文件的修改

实验总结与体会

这次实验和前面的三次不太一样,前面三次重点在操作,目的是通过输入一系列命令、运行一些攻击程序来成功获取shell。这次实验重点在于分析,始终围绕着一个20201312_backdoor.exe,通过各种软件对它进行解剖。对于每一个软件分析出来的结果,我理解得还不是很透彻,有点混乱,还要多花时间把它弄通。

标签:分析,exe,快照,恶意代码,恶意软件,Exp4,netstat1312,使用
From: https://www.cnblogs.com/xzy01/p/17294472.html

相关文章

  • 恶意代码分析
    恶意代码分析基础问题回答如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。监视系统的网络流量以识别任何可疑活动。这可以使用网络监控工具(如Wireshark或tcpdump)来完成。监视......
  • 回归分析-线性回归
    使用kaggle比赛中的公开数据IceCreamData数据来完成温度和销售利润的线性关系。本实例使用python来仿真实现。1.下载数据,IceCreamData需要注册和下载到本地。大体背景是你拥有一家冰淇淋公司,你想创建一个模型,可以根据外部空气温度(度)预测每天的收入。2.导入数据importpan......
  • 网络对抗实验四 恶意代码分析--20201313
    Exp4恶意代码分析目录Exp4恶意代码分析一、实践基础1、实践目的2、实践内容3、实践原理二、实践内容系统运行监控(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。(2)安装配置sysinternals里的sysmon工具,设......
  • Exp4 恶意代码分析 实验报告—20201229赵斌
    Exp4恶意代码分析实验报告—20201229赵斌一、实验目标1.监控自己系统的运行状态,看有没有可疑的程序在运行。2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。3.假定将来工作中你觉得自己的主机有问题,就可以用实验......
  • 时间复杂度和空间复杂度分析
    1.七种时间复杂度__上  2.七种时间复杂度__下  3.例题1+n  4.递归的四种情况:后续需要对每一条做出详细描述  5.思考题  ......
  • flask之请求上下文分析之导出项目依赖-函数和方法的区别-threading.local对象-偏函数-
    目录flask之请求上下文分析之导出项目依赖-函数和方法的区别-threading.local对象-偏函数-flask整个生命执行流程--wtforms今日内容详细1请求上下文分析(源码:request原理)1.1导出项目的依赖1.2函数和方法1.3threading.local对象1.4偏函数1.5flask整个生命执行流程(1.1.4版本......
  • flask-day4——pipreqs模块、函数和方法的区别、threading.local对象、偏函数、flask
    目录一、请求上下文分析(源码:request原理)1.1导出项目的依赖(pipreqs模块)1.2函数和方法1.3threading.local对象代码演示自定义封装local,实现兼容线程和协程1.4偏函数1.5flask整个生命执行流程(1.1.4版本为例)二、wtforms(了解)三、作业1、为什么有了gil锁还要互斥锁2、什么是进程,线......
  • 回归分析-概述
    在大数据分析中,回归分析是一种预测性的建模技术,旨在通过数据统计分析,探索数据规律。回归分析主要研究因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。1.LinearRegression线性回归线性回归是最常见的回归分析技术。在......
  • flask-请求上下文分析
    1.请求上下文分析预备知识1.1导出项目依赖我们之前使用导出项目依赖的命令是:pipfreeze>requirements.txt#导出项目依赖pipinstall-rrequirements.txt#安装项目依赖这种方式更适合在虚拟环境的导出和导入,因为它会导出当前解释器所有的依赖。但是如果在本机的解......
  • 请求上下文分析、函数和方法、threading.local对象、偏函数、flask整个生命执行流程(1
    请求上下文分析(源码:request原理)导出项目的依赖#之前pipfreeze>requirments.txt把当前解释器环境下的所有第三方依赖都导出来#使用第三方模块,更精确的导出依赖pipreqs第一步:安装pip3installpipreqs第二步:使用命令,导出项目依赖pipreqs./w......