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


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


    1.原理与实践说明

    1.1实践目标

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

    1.2实验内容概述

    • 系统运行监控
      • 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述分析结果。
      • 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
    • 分析该软件在
    • (1)启动回连
    • (2)安装到目标机
    • (3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。

    该后门软件

    • 读取、添加、删除了哪些注册表项
    • 读取、添加、删除了哪些文件
    • 连接了哪些外部IP,传输了什么数据

    1.3.基础问题回答

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

    • 使用schtasks指令设置定时计划,并将内容写入一个文本。使用Excel表格进行图像分析,找到可疑程序。
    • 使用Sysmon编写配置文件,记录有关日志。
    • 使用Process Explorer工具监视进程执行情况
    • 使用Process Monitor工具,监视文件系统、注册表、进程/线程的活动。

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

    • 使用抓包软件Wireshark进行抓包分析
    • 使用Process Explorer工具或Process Monitor工具,监视文件系统、注册表、进程/线程的活动。

    实践过程

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

    • 用管理员模式打开Win10下的CMD命令提示符

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

      • TN 是TaskName的缩写,我们创建的计划任务名是netstat5216;
      • sc 是计时方式,我们以分钟计时填MINUTE;
      • TR 是Task Run,运行命令符指令netstat
      • bn b表示显示可执行文件名,n表示以数字来显示IP和端口;
      • “>” 表示输出重定向,将输出存放在c: etstatlog.txt文件中
    • 在桌面创建netstat5216.txt文件,编辑写入以下3行

      • date /t >> c: etstat5318.txt
      • time /t >> c: etstat5318.txt
      • netstat -bn >> c: etstat5216.txt
    • 复制进入C盘目录下后(需要授权),更改后缀为.bat脚本文件

    • 打开控制面板-系统与安全-管理工具-计划任务-netstat20165216

    • 右键编辑,将启动程序或脚本设置为C盘目录下的netstat5216.bat,参数清空。

    • 等待漫长的时间,在netstat5216.txt内查看相关记录

    • 进行Excel表分析

    • 新建Excel表

    • 选择数据-获取外部数据-自文本,选择netstat5216.txt

    • 选择分隔符号文件类型,下一步

    • 分隔符号Tab键,分号,逗号,空格打√,下一步

    • 列数据格式为常规,完成。

    • 数据放置位置为第一个单元格就好(默认)

    • 选择进程列(即名字为.exe的可执行文件列)

    • 插入-数据透视图(不是数据透视表,图和表的表示是不同的!)

    • 区域选择.exe可执行文件这一列

    • 选择新工作表

    • 若出现此命令要求源数据至少有二行...的提水,在列的第一个单元格随便填写个内容,如可执行文件,只要有字就OK

    • 在右侧选择添加的字段中去掉 空白 协议 TCP 等无意义字段,我们只需查看.exe执行程序就好

    • 将其分别移入轴(类别)以及值当中即可观察其汇总表

    • 我们观察到360tray.exe是连接网络最多的一个

    • 查看表格,可以看到它使用的协议为TCP,外部地址为36.99.30.203:80

    • 我们估计是360安全卫士实时监控所带的东西,我们上网查查看

    ???????

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

    • sysmon是微软Sysinternals套件中的一个工具,使用sysmon工具前首先要配置文件。参考使用轻量级工具Sysmon监视你的系统该文章,创建配置文件sysmon20165216.xml。该文章同样可以查看时间过滤器及其参数。
    • 可参考上述文章选择事件过滤器
    • 这里我选择的有进程创建ProcessCreate、进程创建时间FileCreatTime、网络连接NetworkConnect、远程线程创建CreateRemoteThread。
    • 配置文件的编写
    • 关于ProcessCreate,选项我选择Image、SourceIp、SourcePort。
    • 关于进程创建时间FileCreatTime,我选择了Image选项。
    • 关于网络连接NetworkConnect,我选择了Image、SourceIp、SourcePort
    • 关于远程线程创建CreateRemoteThread,我选择了TargetImage、SourceImage.
    • 配置文件20165216Sysmoncfig内容如下:
    <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">360se.exe</Image> 
        </ProcessCreate>
    
        <FileCreateTime onmatch="exclude" >
          <Image condition="end with">360se.exe</Image>
        </FileCreateTime>
        
        <NetworkConnect onmatch="exclude">
          <Image condition="end with">360se.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>
    

    参数说明

    • “exclude",不包括,相当于白名单,"include"包括,相当于黑名单

    • “Image condition" 内浏览器名字,360的进程名为360se.exe,谷歌就改为chrome.exe,火狐为firefox.exe,具体查看方法建议任务管理器查看详情。

    • 网络连接过滤掉了浏览器的网络连接、源IP为127.0.0.1的网络连接和目的端口为137的连接服务,并查看目的端口为80(http)和443(https)的网络连接。

      • 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。
      • 127.0.0.1表示本机IP。
    • 远程线程创建记录了目标为explorer.exe、svchost.exe、firefox.exe、winlogon.exe和powershell.exe 的远程线程。

      • explorer.exe是Windows程序管理器或者文件资源管理器
      • svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
      • winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出。
      • powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。
    • 安装老师码云下的SysinternalsSuite201608.zip并解压

    • 管理员命令指示符下进入解压SysinternalsSuite2016目录下

    • 执行命令 sysmon.exe -i C:20165216Sysmoncfig.xmml

    • 弹出窗口选择Agree

    • 安装完成界面:

    PS:如果更新了配置文件,可以输入指令sysmon.exe -c C:20165216Sysmoncfig.txt进行update
    • 在事件查看器查看日志

    • Win10右键开始栏即可

    • 找到应用程序和服务日志/Microsoft/Windows/Sysmon/Operational相应目录

    • 打开之后清空日志放干扰(其实也可以按照时间排序),不扰乱

    • 启动回连,安装至目标主机

    • 找到后门程序启动的日志

    发现它出现了c:windowsSystem32cmd.exe以及conhost.exe

    • 启动screenshot
    • 观察日志
    发现出现了backgroundTaskHost.exe

    • 输入命令shell
    • 观察日志
    出现了c:WindowsSysWOW64cmd.exe以及又一个conhost.exe


    3.1恶意软件分析

    分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

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

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

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

    3.11 使用SysTracer进行分析

    第一步:下载安装Systracer。

    1.首先下载完成后进行安装,步骤为:agree->选第二个

    2.设置监听端口号

    3.安装完成后点击take snapshot进行快照

    4.可以直接默认选择start

    注意:上面是第一个快照操作,是不运行后门的时候比较“干净的”快照

    5:打开后门程序进行回连,成功后,进行第二次快照

    6:使用命令ls,进行第三次快照

    7:使用命令screenshot,进行第四次快照

    8:分别对第一次快照和第二,第二和第三、第三和第四次快照进行Compare操作,观察注册表内以及其他的变化,部分截图如下:





    如过出现以下错误,请卸载重新安装

    3.12 使用virustotal观察

    • 上传观察结果

    可以观察到其 SHA-1以及MD5摘要值,文件类型以及大小...

    这里还可以看到其名字及提交的历史记录

    3.13 使用Wiresark进行分析

    • 安装Wireshark(如果没安装)

    • 在回连之前开始抓包

    • 回连

    • 设置过滤条件 ip.addr == 192.168.1.260

    • 分析reverse_tcp建立连接的过程

    • 截图如下


    • 使用 screen shot后观察抓包情况

    • 结果多了非常多的ACK以及PSH,进度条又多了许多。应该是调用了autdio线程之类的。


    实验总结与体会

    本次实验让我学会了一种.bat脚本软件可以输出日志,并进行Excel表分析。学会了如何监听系统的网络连接状态,并进行简单的快照以及抓包分析,还是非常实用的。
    后门程序在干什么?可能是获取了注册表的shell,或又是输入法的权限。还是非常有意义的。

  • 相关阅读:
    Asp.net获取客户端的IP地址排除::1
    EF 筛选列包含NULL会报错
    layUI关于table编辑列支持方向键功能
    .NET CORE 发布IIS问题收集
    VS2019最新源代码管理工具+附下载地址
    关于Mysql可视化工具Navicat Premium12激活使用【亲测】
    经典SQL 语句
    事务的四种隔离级别 [转载]
    HTML 特殊符号编码对照表
    github本地文件Push到仓库
  • 原文地址:https://www.cnblogs.com/qq2497879550/p/10665864.html
Copyright © 2020-2023  润新知