IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Cobalt Strike:内存转储 - 第 6 部分 -> 正文阅读

[系统运维]Cobalt Strike:内存转储 - 第 6 部分

博文系列:Cobalt Strike:解密流量

  • Cobalt Strike:使用已知私钥解密流量 - 第 1 部分
  • Cobalt Strike:使用已知私钥解密流量 - 第 2 部分
  • Cobalt Strike:使用进程内存解密流量 - 第 3 部分
  • Cobalt Strike:解密混淆流量 - 第 4 部分
  • Cobalt Strike:解密 DNS 流量——第 5 部分
  • Cobalt Strike:内存转储 - 第 6 部分(当前)
  • Cobalt Strike:概述 – 第 7 部分

这是创建和分析 Cobalt Strike 信标的内存转储的不同方法的概述。

本系列博文介绍了解密 Cobalt Strike 流量的不同方法。在 本系列的第 1 部分中,我们揭示了在恶意 Cobalt Strike 包中发现的私有加密密钥。在 第 2 部分中,我们从 RSA 私钥开始解密 Cobalt Strike 流量。在 第 3 部分中,如果您不知道私有 RSA 密钥但确实有进程内存转储,我们将解释如何解密 Cobalt Strike 流量。在 第 4 部分中,我们处理使用可塑性 C2 数据转换混淆的流量。在 第 5 部分中,我们处理 Cobalt Strike DNS 流量。

对于之前博客文章中讨论的一些 Cobalt Strike 分析方法,进行内存转储很有用:系统 RAM 的内存转储,或托管 Cobalt Strike 信标的进程的进程内存转储。

我们概述了制作和/或使用内存转储的不同方法。

完整的系统内存转储

有几种方法可以获得 Windows 机器的完整系统内存转储。由于这些方法大多涉及商业软件,我们不会详细介绍获取完整内存转储的细节。

当您有一个未压缩的完整系统内存转储时,首先要检查的是内存中是否存在 Cobalt Strike 信标。这可以使用工具1768.py来完成,该工具用于提取和分析 Cobalt Strike 信标的配置。确保使用 64 位版本的 Python,因为未压缩的完整内存转储很大。

发出以下命令:

1768.py -r 内存转储

例子:
请添加图片描述

图 1:在完整的系统内存转储上使用 1768.py
在这个例子中,我们很幸运:1768.py 不仅检测到信标配置的存在,而且该配置也包含在单个内存页面中。这就是我们获得完整配置的原因。通常,配置会重叠内存页面,然后您会得到部分结果,有时甚至是 Python 错误。但是我们从这个命令中得到的最重要的信息是,系统上运行了一个信标,我们对其进行了完整的内存转储。

假设我们的命令产生了部分结果。然后,为了获得完整的配置,我们必须做的是使用Volatility生成托管信标的进程的进程内存转储。由于我们不知道哪个进程托管信标,我们将为所有进程创建进程内存转储。

我们使用以下命令执行此操作:

vol.exe -f memorydump -o procdumps windows.memmap.Memmap -dump

例子:
请添加图片描述

图 2:使用 Volatility 提取进程内存转储 - 命令开始
请添加图片描述

图 3:使用 Volatility 提取进程内存转储 - 命令结束

procdumps 是将写入所有进程内存转储的文件夹。

此命令需要一些时间才能完成,具体取决于内存转储的大小和进程数。

命令完成后,我们再次使用工具 1768.py 来分析每个进程转储:
请添加图片描述

图 4:使用 1768.py 分析所有提取的进程内存转储 - 命令开始
请添加图片描述

图 4:使用 1768.py 分析所有提取的进程内存转储 - 检测进程 ID 2760
我们看到文件 pid.2760.dmp 包含一个信标配置:这意味着进程 ID 为 2760 的进程托管一个信标。如果我们需要提取更多信息,例如加密密钥,我们可以使用此进程内存转储(请参阅本系列的博客文章 3 )。

进程内存转储

存在不同的方法来获取 Windows 机器上的进程内存转储。我们将解释几种不需要商业软件的方法。

任务管理器

可以使用内置的 Windows 任务管理器进行完整的进程内存转储。
这样的进程内存转储包含所选进程的所有进程内存。

要使用此方法,您必须知道哪个进程正在托管信标。然后在任务管理器中选择这个进程,右键,选择“创建转储文件”:
请添加图片描述

图 6:任务管理器:选择托管信标的进程
请添加图片描述

图 7:创建一个完整的进程内存转储

进程内存转储将被写入临时文件夹:
请添加图片描述

图 8:进程内存转储完成后的任务管理器对话框
图 9:包含转储文件 (.DMP) 的临时文件夹

Sysinternals 的 Process Explorer

Process Explorer可以进行进程内存转储,就像任务管理器一样。选择托管信标的进程,右键单击并选择“创建转储/创建完整转储”。
请添加图片描述

图 10:使用 Process Explorer 创建完整的进程内存转储
不要选择“Create Minidump”,因为使用此选项创建的进程内存转储不包含进程内存。

使用 Process Explorer,您可以选择保存转储的位置:
请添加图片描述

图 12:使用 Process Explorer,您可以选择保存转储文件的位置

Sysinternals 的 ProcDump

ProcDump是一个从命令行创建进程内存转储的工具。您为它提供一个进程名称或进程 ID,它会创建一个转储。确保使用选项 -ma 创建完整的进程内存转储,否则转储将不包含进程内存。
请添加图片描述

图 12:使用 procdump 创建一个完整的进程内存转储

使用 ProcDump,将转储写入当前目录。

使用进程内存转储

与完整系统内存转储一样,工具1768.py可用于分析进程内存转储并提取信标配置。
如本系列的第 3 部分所述,工具cs-extract-key.py可用于从进程内存转储中提取密钥。
如果密钥被混淆,工具cs-analyze-processdump.py可用于尝试破解混淆,如本系列的第 4 部分所述。

结论

内存转储可用于检测和分析信标。
我们开发了从内存转储中提取信标配置和密钥的工具。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:30:52  更:2022-05-08 08:34:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:55:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码