当前位置: 首页 > news >正文

Cobalt Strike---(2)

数据管理

     Cobalt Strike 的团队服务器是行动期间 Cobalt Strike 收集的所有信息的中间商。Cobalt Strike 解析来 自它的 Beacon payload 的输出,提取出目标、服务和凭据。 如果你想导出 Cobalt Strike 的数据,通过 Reporting Export Data Cobalt Strike 提供两种选 项:把数据导出为 TSV XML 文件。Cobalt Strike 客户端的导出数据功能会融合来自你当前连接的所 有团队服务器的数据。

目标

你可以通过 View → Targets 来与 Cobalt Strike 的目标的信息交互。这个标签页显示与目标表视图 相同的信息。

点击 Import 来导入一个带有目标信息的文件。Cobalt Strike 接受每行一个主机的 flflat 文本文件,也接受由 Nmap 生成的 XML 文件(-oX 选项)

Flat File 是一种包含没有相对关系结构的记录的文件。 这个类型通常用来描述文字处理、其他结 构字符或标记被移除了的文本。在此可以理解为「纯文本文件」。

点击 Add 按钮来给 Cobalt Strike 的数据模型添加新的目标。

这个对话框允许你向 Cobalt Strike 的数据库添加多个主机。在 Address (地址)字段指定一个 IP 地 址的范围或使用 CIDR 表示法来一次添加多个主机。在给数据模型添加主机时,按住 shift 可以使得 在点击 Save 之后仍保持这个对话框打开。 选择一个或多个主机然后单击右键来打开主机菜单。通过这个菜单你可以修改对主机的备注、设置它们的操作系统信息,或者从这个数据模型中移除主机。

服务

在一个 Target (目标)视图中,在一台主机上单击右键,并选择 Services (服务)。这会打开
Cobalt Strike 的服务浏览器。在这里你可以浏览服务,给不同的服务备注,也可以移除服务条目。

凭据 

通过 View Credentials 来与 Cobalt Strike 的凭据模型交互。点击 Add 按钮来给凭据模型添加一
条条目。同样的,你也可以按住 Shift 键来保持对话框打开并使得给模型添加新的凭据更方便。点击 Copy 来复制高亮的条目至你的剪贴板。使用 Export 来以 PWDump 格式导出凭据。

维持

Cobalt Strike 的数据模型将其所有的状态和状态元数据存储在 data/ 文件夹。 data/ 文件夹存在在你 运行 Cobalt Strike 团队服务器的那个文件夹里。 要清除 Cobalt Strike 的数据模型:停止团队服务器,删除 data/ 文件夹及其内容。当你下次启动团队 服务器的时候,Cobalt Strike 会重建 data/ 文件夹。 如果你想要存档数据模型,请停止团队服务器,然后使用你喜欢的程序来将 data/ 文件夹及其文件存储 在其他位置。要还原数据模型,请停止团队服务器,然后将旧内容还原到 data/ 文件夹。 通过 Reporting Reset Data 可以在不重启团队服务器的情况下重置 Cobalt Strike 的数据模型。

监听器和基础设施管理

     任何行动的第一步都是建立基础设施。就 Cobalt Strike 而言,基础设施由一个或多个团队服务器、重 定向器以及指向你的团队服务器和重定向器的 DNS 记录组成。一旦团队服务器启动并运行,你将需要 连接到它并将其配置为接收来自受害系统的连接。监听器就是 Cobalt Strike 中用来执行这种任务的机 制。
     一个监听器既是一个 payload 的配置信息,同时又是 Cobalt Strike 起一个服务器来接收来自这个 payload 的连接的指示。一个监听器由用户定义的名称、payload 类型和几个特定于 payload 的选项组成.

监听器管理

     要管理 Cobalt Strike 的监听器,通过 Cobalt Strike Listeners 。这会打开一个标签页,列举出 所有你的配置的 payload 和监听器。

    按 Add 按钮来创建一个新的监听器。 当你创建一个监听器,确保你给他一个好记的名称。在 Cobalt Strike 的命令和工作流程中你需要使用此名称来引用此监听器。 要编辑监听器,选中一个监听器,然后按 Edit 。 要移除一个监听器,选中该监听器,然后按 Remove

 Cobalt Strike Beacon Payload

     最常见的情况是,你需要为 Cobalt Strike Beacon payload 配置监听器。Beacon Cobalt Strike 的 payload,用于建模高级攻击者。使用 Beacon 来通过 HTTPHTTPS DNS 出口网络。你也可以 通过控制经由命名管道和 TCP sockets 的对等(peer-to-peerBeacon 从而限制出口网络,只允许部 分主机直接回连。 Beacon 很灵活,支持异步通信模式和交互式通信模式。异步通信效率缓慢:Beacon 会回连团队服务器、下载其任务,然后休眠。交互式通信是实时发生的。 Beacon 的网络流量指标具有拓展性。可以使用 Cobalt Strike 的可拓展的 C2 语言来重新定义 Beacon 的通信。这允许你掩盖 Beacon 行动,比如使其流量看起来像其他的恶意软件,又或者将其流量掺入作为合法流量。

Payload Staging

   在很多攻击框架的设计中,解耦了攻击和攻击执行的内容。payload 就是攻击执行的内容。payload 通常被分为两部分:payload stage 和 payload stagerstager 是一个小程序,通常是手工优化的汇编指令,用于下载一个payload stage、把它注入内存,然后对其传达执行命令。这个过程被称为 staging(分阶段)。
    
     staging(分阶段)过程在一些攻击行动中是必要的。很多攻击中对于能加载进内存并在成功漏洞利用 后执行的数据大小存在严格限制。这会极大地限制你的后渗透选择,除非你分阶段传送你的后渗透payload。
  
    Cobalt Strike 在它的用户驱动攻击中使用 staging(分阶段)。大多数这类项目在 Attacks → Packages Attacks Web Drive-by 选项下。使用什么样的 stager 取决于与攻击配对的 payload。比如,HTTP Beacon 有一个 HTTP stagerDNS Beacon 有一个 DNS TXT 记录 stager。 不是所有的 payload 都有 stager 选项。没有 stager Payload 不能使用这些攻击选项投递。

    如果你不需要 payload staging(分阶段),通过在你的 C2 拓展文件里把 host_stage 选项设为 false,你可以关闭这个选项。这会阻止 Cobalt Strike 在其 web DNS 服务器上托管 payload stage。这种设置有助于提升行为安全(避免反溯源),因为如果开启了 staging(分阶段),任何人都能连到你的服务器上,请求一个 payload、并分析它的内容,从而可以从你的 payload 配置中获取信息。

HTTP Beacon HTTPS Beacon

    默认设置情况下,HTTP HTTPS Beacon 通过 HTTP GET 请求来下载任务。这些 Beacon 通过 HTTP  POST 请求传回数据。你也可以通过 C2 拓展文件来极尽可能的控制这个 payload 的行为和流量指标。要起一个 HTTP HTTPS Beacon 监听器,通过 Cobalt Stike Listeners 。点击 Add 按钮,选择 Beacon HTTP 作为你的 payload 选项。

   按 [+] 来为 HTTP Beacon 增加一个或多个回连的主机。按 [-] 来移除一个或多个主机。按 [X] 来清除当前的主机。如果你有多个主机,仍然可以在此对话框中粘贴以逗号分隔的回连主机列表,这是可行的。
   HTTP Host(Stager) 字段控制 HTTP Beacon HTTP Stager 的主机。仅当你将此 payload 与需要显式 stager 的攻击配对时,才使用此值。
   通过 Profile 字段,你可以选择一个 C2 拓展文件变体。通过一个 C2 文件变体,你可以在一个文件中指定多个配置文件的变量。使用变体文件之后,你设置的每个 HTTP HTTPS 监听器会有不同的网络流量指标。
    HTTP Port(C2) 字段设置你的 HTTP Beacon 回连的端口。 HTTP Port(Bind) 字段指定你的 HTTP Beacon payload web 服务器绑定的端口。如果你要设置端口弯曲重定向器(例如,接受来自 80 或 443 端口的连接但将连接路由到团队服务器开在另一个端口上的连接,这样的重定向器),那么这些选项会很有用。
    如果 HTTP Host Header 值被指定了,会影响你的 HTTP stagers,并通过你的 HTTP 通信。这个选项使得通过 Cobalt Strike 利用域名前置变得更加容易。 点击 HTTP Proxy 字段旁边的 ... 按钮来为此 payload 指定一个显式的代理配置。

     (Manual) Proxy Settings 对话框提供了多个选项来控制 Beacon HTTP HTTPS 请求的代理配置。Beacon 的默认行为是为当前的进程/用户上下文使用 Internet Explorer 代理配置。
    
     Proxy Type 字段配置了代理的类型。 Proxy Host Proxy Port 字段告诉 Beacon 代理在哪里运行。 Username Password 字段是可选的,这些字段指定了 Beacon 用来对代理进行身份验证的凭据。
      勾选 Ignore proxy settings;use direct connection (忽略代理设置;使用直连)来强制Beacon 不通过代理尝试其 HTTP HTTPS 请求。 当你填写好代理配置之后,点击 Set 来更新 Beacon 对话框。点击 Reset 可以把代理配置重置为默认行为。
手动的代理设置仅影响 HTTP HTTPS Beacon payload stage,不影响 payload stager

重定向器

     重定向器是位于你的目标网络和你的团队服务器之间的系统。任何去往重定向器的连接将转发到你的团队服务器进行处理。通过重定向器,可以为你的 Beacon payload 提供多个回连主机。使用重定向器还有助于提升行为安全,因为它会使溯源团队服务器的真实地址变得更加困难。
这个 C2 重定向器相当于位于团队服务器这个控制端和失陷主机之间的中转跳板。外界只能看到 重定向器(跳板),一旦重定向器暴露可以被随时抛弃,除非重定向器被反制,否则很难追踪到背后真正的控制者。
    Cobalt Strike 的监听器管理功能支持使用重定向器。当你设置一个 HTTP HTTPS Beacon 监听器的时候,简单的指定你的重定向器 IP (在 Host 字段填入)。Cobalt Strike 不会验证这个信息。如果你提供的 host 不隶属于当前主机(不是团队服务器的 IP),那么 Cobalt Strike 就假设它是重定向器。一种把服务器转变为重定向器的简单方法是使用 socat。下面是一句 socat 语法,作用是:将80端口上的所有连接转发到位于192.168.12.100的团队服务器的80端口.
socat TCP4-LISTEN:80,fork TCP4:192.168.12.100:80

DNS Beacon

    DNS Beacon 是一个很棒的 Cobalt Strike 功能。这个 payload 使用 DNS 请求来将 Beacon 返回给你。 这些 DNS 请求用于解析由你的 Cobalt Strike 团队服务器作为权威 DNS 服务器的域名。DNS 响应告诉 Beacon 休眠或是连接到团队服务器来下载任务。DNS 响应也告诉 Beacon 如何从你的团队服务器下载任务。
    在 Cobalt Strike 4.0 及之后的版本中,DNS Beacon 是一个仅 DNS payload。在这个payload 中,没有 HTTP 通信模式。这是与之前的版本的产品不同的地方。

相关文章:

Cobalt Strike---(2)

数据管理 Cobalt Strike 的团队服务器是行动期间Cobalt Strike 收集的所有信息的中间商。Cobalt Strike 解析来 自它的 Beacon payload 的输出,提取出目标、服务和凭据。 如果你想导出 Cobalt Strike 的数据,通过 Reporting → Export Data 。Cobalt Str…...

docker的命令使用和相关例子

Docker是一种流行的容器化平台,可以帮助开发人员更轻松地构建、发布和管理应用程序。下面是一些Docker的命令使用和相关例子: Docker镜像相关命令: 搜索Docker镜像: docker search 例子:docker search ubuntu 下载D…...

23模式--代理模式

本篇主要聊一些23中模型中的代理模式: 看一下百度百科的解释: 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目…...

【Linux】信号的产生、保存、捕捉处理 (四种信号产生、核心存储、用户态与内核态、信号集及其操作函数)

文章目录1、什么是信号?2、信号的产生2.1 通过键盘产生信号2.2 通过系统调用产生信号2.3 硬件异常产生的信号2.4 由软件条件产生的信号2.5 进程的核心转储3、信号的保存4、信号的捕捉4.1 用户态和内核态4.2 用户态到内核态的切换4.3 信号捕捉过程5、信号集操作函数以…...

redis经典五种数据类型及底层实现

目录一、Redis源代码的核心部分1.redis源码在哪里2.src源码包下面该如何看?二、我们平时说redis是字典数据库KV键值对到底是什么1.6大类型说明(粗分)2.6大类型说明3.上帝视角4.Redis定义了redisObject结构体4.1 C语言struct结构体语法简介4.2 字典、KV是什么4.3 red…...

三十而立却被裁,打工人要如何应对职场危机?

又到金三银四就业季,对于部分职场人来说,年龄成为了他们找工作的最大限制。 因为绝大部分企业招聘中层干部以下岗位的时候,都会要求年龄不超过35周岁,再加上每年千万毕业生涌入社会,竞争程度相当激烈,这就导…...

java面试-java基础

char 变量能不能存贮一个中文汉字?为什么? char 变量可以存贮一个汉字,因为 Java 中使用的默认编码是 Unicode ,一个 char 类型占 2 个字节(16 bit),一个汉字是2个字节,所以放一个中…...

Kafka 消息不丢失

Kafka 消息不丢失生产者丢失消费者丢失不丢失配置Kafka 保证消息不丢失:只对已提交的消息 (committed message) 做有限度的持久化保证 已提交的消息:当 n 个 Broker 成功接收到该消息并写入到日志文件后,就告诉生产者该消息已成功提交有限度…...

ASEMI高压MOS管10N65参数,10N65规格,10N65封装

编辑-Z ASEMI高压MOS管10N65参数: 型号:10N65 漏极-源极电压(VDS):650V 栅源电压(VGS):30V 漏极电流(ID):10A 功耗(PD&#xff…...

LeetCode-416. 分割等和子集

目录题目分析回溯法动态规划动态规划(压缩)题目来源 416. 分割等和子集 题目分析 这道题目是要找是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 那么只要找到集合里能够出现 sum / 2 的子集总和,就算是可以分割成两个相同元素和子集了…...

2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第2场省赛 2021.05.09】

一、试题A:求余(本题总分:5 分) 得:5分 本题总分:5 分 【问题描述】 在 C/C/Java/Python 等语言中,使用 % 表示求余,请问 2021%20 的值是多少? 【答案提交】 这是一道结果…...

elasticSearch写入原理

elasticSearch写入原理 最近学习完了es相关的课程整理除了es的核心内容,学习这东西知其然知其所以然,自己按照自己的理解整理了es相关的面试题。先热个身,整理一下es的写入原理,有不对的地方请大家指正。 这些原理的东西我觉得还是…...

第十四届蓝桥杯模拟赛(第三期)Python

1 进制转换 问题描述   请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。   请将这个数的十进制形式作为答案提交。 答案:2730 def ch…...

Pytorch模型参数的保存和加载

目录 一、前言 二、参数保存 三、参数的加载 四、保存和加载整个模型 五、总结 一、前言 在模型训练完成后,我们需要保存模型参数值用于后续的测试过程。由于保存整个模型将耗费大量的存储,故推荐的做法是只保存参数,使用时只需在建好模…...

面试热点题:回溯算法之组合 组合与组合总和 III

什么是回溯算法? 回溯算法也可以叫回溯搜索算法,回溯是递归的"副产品",回溯的本质是穷举,然后选出我们需要的数据,回溯本身不是特别高效的算法,但我们可以通过"剪枝"来优化它。 理解回溯算法 回溯…...

java面试-jvm

JVM JVM 是 java 虚拟机,简单来说就是能执行标准 java 字节码的虚拟计算机 JVM 是如何工作的 首先程序在执行之前先要把 Java 代码(.java)转换成字节码(.class),JVM 通过类加载器(ClassLoade…...

vscode下载与使用

1.vscode下载 官网下载地址:Download Visual Studio Code - Mac, Linux, Windows下载太慢,推荐文章:解决VsCode下载慢问题_vscode下载太慢_迷小圈的博客-CSDN博客下载太慢,推荐下载链接:https://vscode.cdn.azure.cn/s…...

人员摔倒识别预警算法 opencv

人员摔倒识别预警算法通过opencv网络模型技术,人员摔倒识别预警算法能够智能检测现场画面中人员有没有摔倒,无需人为干预可以立刻抓拍告警。OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库&…...

华为OD机试题 - 火星文计算(JavaScript)| 机考必刷

更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:火星文计算题目输入输出示例一输入输出说明Code解题思路版权说明…...

AI人工智能 - 初探

1.应用场景 主要用于了解和系统学习AI,从而可以在工作生活中利用AI做一些事。 2.学习/操作 1.文档阅读 下面的内容来自于与chatGPT的对话 2.整理输出 介绍AI 人工智能(Artificial Intelligence,简称AI)是计算机科学中的一个分支&…...

Spring-AOP工作流程

Spring-AOP工作流程 3,AOP工作流程 3.1 AOP工作流程 由于AOP是基于Spring容器管理的bean做的增强,所以整个工作过程需要从Spring加载bean说起: 流程1:Spring容器启动 容器启动就需要去加载bean,哪些类需要被加载呢?需要被增强的类,如:B…...

C51---串口发送指令,控制LED灯亮灭

1.Code: #include "reg52.h" #include "intrins.h" sfr AUXR 0x8E; sbit D5 P3^7; void UartInit(void) //9600bps11.0592MHz { //PCON & 0x7F; //波特率不倍速 AUXR 0x01; SCON 0x50; //8位数据,可变波…...

【Wiki】XWiki数据备份

XWiki为主题使用java开发的开源wiki,官网地址如下: https://www.xwiki.org/xwiki/bin/view/Main/ 目录1、 XWiki升级数据备份1.1、 获取XWiki配置的数据库与持久化目录信息1.2 备份数据库信息1.3 备份持久化目录2、XWiki数据迁移如果一个知识库不能确保数…...

ctk框架开发Qt插件应用示例工程

目录 前言 约定 插件工程pluginApp: 主启动工程StartApp: 效果演示 结语...

spring5源码篇(4)——beanFactoryPostProcessor执行/注解bean的装配

spring-framework 版本:v5.3.19 前面研究了beanDefinition的注册,但也仅仅是注册这一动作。那么在spring容器启动的过程中,是何时/如何装配的?以及装配的bean是如何注入的? (考虑到xml方式基本不用了以及篇…...

masstransit的message几个高级用法

1)问题,Class MessageA 基类,Class MessageB继承自MessageA; 用bus.Publish方法本想把有些消息只发给B队列,结果由于其继承关系A队列也获得了消息; 解决方法用send, Uri uri new Uri(RabbitM…...

漏洞分析丨cve-2012-0003

作者:黑蛋一、漏洞简介这次漏洞属于堆溢出漏洞,他是MIDI文件中存在的堆溢出漏洞。在IE6,IE7,IE8中都存在这个漏洞。而这个漏洞是Winmm.dll中产生的。二、漏洞环境虚拟机调试工具目标软件辅助工具XP-SP3、KaliOD、IDAIE6Windbg组件gflags.exe三…...

rm命令——删除文件或目录

rm命令是英文单词remove的缩写,主要功能是删除文件或目录。 因为删除文件是一个破坏性动作,因此,在使用时需要格外小心,在执行之前一定要再三确认删除的是哪个目录中的什么文件。 rm命令的语法格式如下: rm [选项] …...

【零基础入门学习Python---Python的基本语法使用】

一.Python基本语法使用 Python是一种易学且功能强大的编程语言,具有简洁的语法和广泛的应用领域。在本文中,我们将介绍Python的基本语法使用,以帮助初学者快速入门Python编程。 1.1 注释 Python 支持两种类型的注释:单行注释和多行注释。 单行注释:以 # 符号开头,从 # …...

数据仓库相关概念的解释

数据仓库相关概念的解释 文章目录数据仓库相关概念的解释1 ETL是什么?ETL体系结构2 数据流向何为数仓DW3 ODS 是什么?4 数据仓库层DWDWD 明细层DWD 轻度汇总层(MID或DWB,data warehouse basis)DWS 主题层(D…...

广州网站建设哪家公司/优化大师使用心得

从社会发展趋势的角度,非常明显大数据会是眼下肉眼可及的视野范围里能看到的最大趋势之中的一个。从传统IT 业到互联网、互联网到移动互联网,从以智能手机和Pad 为主要终端载体的移动互联网到可穿戴设备的移动互联网,然后再到万物互联的物联网…...

国土局网站建设制度/谷歌商店下载官方正版

软工读书笔记1——《人月神话》 第一次接触软件工程这门学科,也是第一次做IT类图书的读书笔记,我选择了《人月神话》这本书,一周的时间很有限我只是大致过了一遍全书,对部分感兴趣的章节进行了精度,我也就拣这些谈谈自…...

免费域名的申请时间限制/优化设计高中

函数的定义 定义一个函数由关键词fun、函数名、参数列表,返回值类型和函数体组成。fun是function的意思;函数名可以是任何符合命名规范的词;参数列表由0个或多个组成;形参在前,类型在后,用冒号&#xff08…...

网站建设服务器搭建/seo云优化外包

北京航空航天大学数字电路与计算机组成原理试题(2001年)一、(3’4’3’)1)用卡诺图化简下列逻辑函数:其约束条件为:C(D12)一个3:8译码器构成的逻辑电路如图1所示,写出逻辑函数F1、F2的表达式。图13)试分析图2所示电路的逻辑功能,并…...

西安网站seo分析/自己如何制作一个网站

在上篇文章我们聊到,无论什么语言写的代码,其到最后都是通过机器码运行的,无一例外。那么对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?这就是今天我们要聊的。 如下图所示,编…...

浙江省省建设厅网站/河南郑州最近的热搜事件

为什么要了解证书链 贴一个图,是searchguard 在配置 TLS 的时候配置的说明,假如你不了解x.509的证书链的话,你会不知道如何把手里的证书和配置对应清楚 什么是X.509 证书链 信任链有 3 层 专业术语分别为Root Certificate,Intermediate Certi…...