更新时间:2023-11-25 17:13:52作者:佚名
图 1. 后利用过程
通过侦察目标开始攻击。 Cobalt Strike 的系统分析器是一个 Web 应用程序,可映射目标的客户端攻击面。
使用 Cobalt Strike 将常见文档转变为武器化结果。 设置恶意 Java Applet、将恶意宏嵌入到 Word 文档中,或创建删除文档并执行有效负载的可执行文件。 这些用户驱动的攻击是在目标网络中获得立足点的完美工具。
使用 Cobalt Strike 的鱼叉式网络钓鱼工具进行攻击。 该工具将保存的电子邮件重新用于像素完美的网络钓鱼。 使用此工具将文档武器化或将目标直接发送到具有嵌入式攻击的克隆站点。
使用CobaltStrike的Beacon来控制目标网络。 该有效负载使用与高级威胁恶意软件相同的异步“低速且慢速”通信模式。 Beacon 将通过 DNS、HTTP 或 HTTPS 返回。 Beacon 通过常见的代理配置并与多个主机通信以防止拦截。
使用Beacon的Malleable Command and Control语言来练习目标攻击归因和分析功能。 重新编程信标以使用看似已知恶意软件或与现有流量混合的网络指示器。
通过打开受感染的网络、发现主机以及使用 Beacon 有用的自动化功能和通过命名管道进行点对点通信来横向移动。 Cobalt Strike 经过优化,可以捕获信任关系,并通过捕获的凭据、密码哈希、访问令牌和 Kerberos 票证实现横向移动。
使用 Cobalt Strike 的用户开发工具展示有意义的业务风险。 Cobalt Strike 独特的工作流程可以轻松地将键盘记录器和屏幕截图捕获工具大规模部署到多个受控系统。 使用浏览器代理允许访问使用 Internet Explorer 登录受感染目标的网站。 这种仅限 Cobalt Strike 的技术适用于大多数站点,并绕过两因素身份验证。
Cobalt Strike 的报告功能可以重建客户的参与度。 为网络管理员提供活动时间表,以便他们可以在传感器中查找攻击指标。 Cobalt Strike 生成高质量的报告,您可以将这些报告作为独立产品或作为书面叙述的附录呈现给客户。
1.2 安装和更新Strategy Cyber LLC 将 Cobalt Strike 软件包作为 Windows、Linux 和 MacOS X 的本机存档进行分发。要安装 Cobalt Strike,只需将其存档解压到您的操作系统即可。 系统要求
Cobalt Strike 需要 Oracle Java 1.8、Oracle Java 11 或 OpenJDK 11 环境。
如果您的系统上有防病毒产品,请确保在安装 Cobalt Strike 之前将其禁用。
试用版与完整版
主要的 Cobalt Strike 包是试用包。 Cobalt Strike 试用是有时间限制的,但试用产品和许可产品之间存在重要差异。 CobaltStrike 试用版不会加密其 BeaconPayload 中的任务和响应。 该试验还产生可执行文件和网络流量,并有意告诉大多数安全产品。 (译者注:相信很多人看到这里都想杀了他)
更新获得许可的 cobaltstrike 产品
要充分利用 Cobalt Strike 的功能,您必须使用许可证密钥更新到许可产品。 试用版中包含执行此操作的更新程序。 该程序接受许可证密钥并为您提供最新的 Cobalt Strike 版本。 获得许可的 Cobalt Strike 软件包含该产品的通信安全功能,并消除了试用版中发现的缺陷。
图2.更新过程(很简单,但是显示的密钥不再有效)
确保使用您的许可证密钥更新您的团队服务器和客户端软件。 Cobalt Strike 通常按每个用户授予许可。 Team Server 不需要单独的许可证。 1.3Team ServerCobalt Strike分为客户端和服务器组件。 该服务器称为团队服务器,是 Beacon Payload 的控制器,并托管 Cobalt Strike 的社交工程功能。 团队服务器还存储 Cobalt Strike 收集的数据并管理日志记录。 Cobalt Strike team 服务器必须在受支持的 Linux 系统上运行。 要启动 Cobalt Strike 团队服务器,请使用 Cobalt Strike Linux 软件包中包含的 teamserver 脚本。
图 3. 启动团队服务器
Team Server 有两个必需参数和两个可选参数。 第一个是团队服务器的外部可访问 IP 地址。 Cobalt Strike 使用该值作为其功能的默认主机。 第二个是您的团队成员用于将 Cobalt Strike 客户端连接到团队服务器的密码。
第三个参数是可选的。 该参数指定 Malleable C2 通信配置文件。 第 12 章讨论了这个功能。
第四个参数也是可选的。 该参数以 YYYY-MM-DD 格式指定到期日期。 团队服务器将此到期日期嵌入到它生成的每个信标阶段中。 信标有效负载将拒绝在此日期或之后运行。 如果信标有效负载在此日期或之后唤醒,它也将退出。
当团队服务器启动时,它将发布团队服务器的 SSL 证书的 SHA256 哈希值。 将此哈希值分发给您的团队成员。 当您的团队成员连接时,他们的 Cobalt Strike 客户端会在向团队服务器进行身份验证之前询问他们是否识别此哈希值。 这是针对中间人攻击的重要保护措施。
1.4 CobaltStrike 客户端 Cobalt Strike 客户端连接到团队服务器。 要启动 Cobalt Strike 客户端,请使用平台包中包含的启动器。 当 Cobalt Strike 客户端启动时,您将看到一个连接对话框。
图 4. Cobalt Strike Connect 对话框在 Host 字段中指定团队服务器的地址。 团队服务器的默认端口是 50050。很少有理由更改此设置。 “用户”是团队服务器上的昵称。 将其更改为您的头衔或黑客名称。 “密码”是团队服务器的共享密码。 单击“连接”以连接到 Cobalt Strike 团队服务器。 如果这是您第一次连接到该团队服务器,Cobalt Strike 会询问您是否可以识别该团队服务器的 SHA256 哈希值。 如果执行此操作,请按“确定”,Cobalt Strike 客户端将连接到服务器。 Cobalt Strike 还会记住此 SHA256 哈希值以供将来连接使用。 您可以通过 Cobalt Strike -> 首选项 -> 指纹来管理这些哈希值。
图 5. 验证服务器的 SSL 证书
Cobalt Strike 会跟踪您连接的团队服务器并记住您的信息。 从连接对话框的左侧选择 Team Server 配置文件之一,以使用其信息填充连接对话框。 您还可以通过 Cobalt Strike -> Preferences -> TeamServers 来修剪此列表。
1.5 分布式和团队运营使用Cobalt Strike来协调分布式红队的工作。 在一台或多台远程主机上暂存 CobaltStrike。 启动您的团队服务器并让您的团队建立连接。
连接到团队服务器后,您的团队将:
· 使用同一个会话
·共享主机、捕获的数据和下载的文件
·通过共享事件日志进行通信。
Cobalt Strike 客户端可以连接到多个团队服务器。 转到 Cobalt Strike -> 新连接
开始一个新的连接。 当连接到多个服务器时,Cobalt Strike 窗口底部会出现一个切换栏。
图 7. 服务器切换栏 此切换栏允许您在活动的 Cobalt Strike 服务器实例之间进行切换。 每个服务器都有自己的按钮。 右键单击该按钮并选择重命名以生成按钮的文本,以反映服务器在您参与期间的角色。 此按钮名称还将在 Cobalt Strike 活动报告中标识服务器。 当连接到多个服务器时,Cobalt Strike 会合并来自所有连接服务器的侦听器。 这种组合允许您从一台服务器发送引用另一台服务器上托管的恶意网站的网络钓鱼电子邮件。 您还可以轻松地在一台服务器上设置攻击,将信标会话发送到另一台服务器。 在攻击结束时,Cobalt Strike 的报告功能将查询您连接到的所有服务器并合并数据以生成单个报告。 1.6CobaltStrike 脚本 Cobalt Strike 可以通过其 Aggressor Script 语言编写脚本。 Aggressor Script 是 Armitage 的 Cortana 脚本语言的精神继承者。 但两者并不兼容。 要管理脚本,请转至 Cobalt Strike -> ScriptManager。
图 8. 脚本管理器 Cobalt Strike 中的默认脚本定义了所有 Cobalt Strike 弹出菜单并格式化 Cobalt Strike 控制台中显示的信息。 Aggressor Script 引擎允许您覆盖这些默认值并根据您的喜好自定义 Cobalt Strike。 您还可以使用 Aggressor Script 向 Cobalt Strike 的 Beacon 添加新功能并自动执行某些任务。 要了解有关 Aggressor 脚本的更多信息,请参阅以下文档:
_____________________________________________________________
免责声明:本文来自Origin Lab成员,不得投稿。 仅供安全爱好者学习研究。 作者对非法使用不承担任何责任。