Havoc C2 框架第 2 部分:客户端用户界面 (2024)

admin 2024年10月19日22:24:44评论20 views字数 5053阅读16分50秒阅读模式
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
Havoc C2 客户端用户界面

介绍

在此 Havoc Command and Control (C2) 框架系列的第一部分中,我介绍了如何安装和配置 Havoc Teamserver 和客户端,以及如何将客户端连接到 Teamserver 并启动它以供使用。在本文中,我将概述 Havoc 客户端用户界面 (UI),其中包括 Teamserver 聊天、侦听器、会话视图、事件查看器、战利品、负载、脚本管理器和与会话交互。

Havoc 客户端界面概述

单击“连接”后,用户将进行身份验证,并且将启动 Havoc 客户端 UI。位于界面的最左上角是五个不同的下拉菜单:Havoc、View 、Attack、Scripts 和 Help。这些菜单选项使操作员能够创建侦听器、有效负载、查看“Loot”、上传脚本等。这些菜单选项下方是一个窗口,它将以图形或表格形式显示会话(想想 Cobalt Strike 信标)。该窗口的右侧是默认显示的 “Event Viewer” 选项卡,提供有关发生的操作或事件的信息,例如已连接/已断开连接的运算符、创建的侦听器、已建立的会话等。此右侧窗口还将显示随 loaded extensions 提供的函数,我将在本文后面介绍。界面的底部窗口以选项卡式格式显示项目,其中包括 Teamserver 聊天、侦听器、交互式会话和其他 Havoc 功能。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
Havoc 客户端用户界面

Teamserver 聊天

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
同一 Teamserver 上的两个经过身份验证的操作员可以在 Teamserver Chat 中聊天

听众

侦听器本质上是一个等待通过特定端口或协议进行回调的应用程序,就像 Netcat 侦听器一样,但 Havoc 侦听器需要使用框架生成的有效负载(尽管某些框架支持外部侦听器)才能正常工作,我们将在后面介绍。Havoc 支持 http、https、smb 和外部 C2 侦听器类型。可以使用 Havoc Client UI 轻松创建侦听器。

要打开 listeners 选项卡,请单击 “View” 并选择 “Listeners”。一个名为 “Listeners” 的选项卡将出现在底部窗口的顶部。如果选项卡以边框突出显示(如下面的 Listeners),则您位于 Listeners 工作区中,可以添加、编辑或删除侦听器。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
打开 [Listeners] 选项卡

要创建侦听器,请单击 Listeners 选项卡中下部窗口底部的 “Add”,然后会出现一个名为 “Create Listener” 的弹出窗口。在此处选择将连接到它的 Havoc 恶魔负载,即 https、http、smb 或外部。您可以使用 “添加” 按钮添加主机(它被图像覆盖),可以是 IP 地址、域等。在下图中,从 “Host Rotation” 开始的所有内容都是我的侦听器的默认设置。您的默认“Host (Bind)”地址将是您的 Teamserver IP 地址。您还可以创建绑定到 localhost (127.0.0.1) 或 ANY (0.0.0.0) 的侦听器。配置所需的侦听器后,单击 “Save”,“Create Listener”窗口将关闭,新侦听器将填充到 Listeners 选项卡中。事件也将记录在 “Event Viewer” 窗口(UI 的右上角)中。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
创建监听器

下面是一个 smb 侦听器,我使用的“管道名称”来自 Cobalt Strike 可延展的 C2 配置文件,它是一个常见的 Chrome 命名管道。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
创建 smb 侦听器

会话视图

UI 的左上角窗口显示会话,这些会话是受感染的主机,运行 Havoc 恶魔代理(负载),该代理已建立反向连接并回调 Havoc Teamserver。执行 demon agent 时,这些会话会自动填充到 sessions 窗口中。单击 “View” 并选择 “Session View” 以在会话的 “Table” 或 “Graph ” 视图之间进行选择。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“Session View” 为会话选择 “Table” 或 “Graph” 视图
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
已建立的 “Session” 的表视图
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
已建立的 “Session” 的图形视图

您可以拥有非特权会话或特权会话,这些会话通过颜色和外观进行区分。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
显示非特权会话和特权会话之间差异的图形视图
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
显示非特权会话和特权会话之间差异的表视图

事件查看器

“事件查看器”显示在位于右上角窗口的选项卡中。默认情况下,它与 Havoc 客户端一起启动,但如果关闭,则可以通过单击“查看”并选择“事件查看器”再次打开它。同样,“事件查看器”提供有关发生的操作或事件的信息,例如已连接/已断开连接的运算符、创建的侦听器、已建立的会话等。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“Event Viewer” 显示在 UI 的右上方窗口中

战利品

战利品是存储您掠夺的剥削后贵重物品的地方,即下载和屏幕截图。在下面,您可以看到,在指定会话拍摄“屏幕截图”后,它会显示“Successful taken screenshot”,但没有显示图像。我还能够下载一个名为 sensitive.txt 的文件,但同样,我在任何地方都没有看到它。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
在受损主机上执行利用后命令 “screenshot”

嗯,那是因为屏幕截图和下载存储在“Loot Collection”中,可以通过单击“查看”并选择“Loot”来访问。然后,将在底部窗口中打开一个选项卡,该选项卡包含左侧内容的表格视图,右侧显示实际屏幕截图。此信息还可以使用“AgentID”(分配给会话的唯一标识符)和“Screenshots”或“Downloads”进行排序。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“Loot Collection”包括来自受感染主机的漏洞利用后项目(屏幕截图)

负载

单击“攻击”下拉菜单并选择“有效载荷”,以启动一个弹出窗口,以使用名为“Demon”的 Havoc 默认代理生成有效载荷。负载窗口显示了几个选项,以及几个内置功能,你可以用来配置负载,比如它将连接的侦听器类型,架构,格式(Windows Exe,Windows Dll,Windows Shellcode和Windows服务Exe),睡眠技术,以及它将在受感染的主机上生成什么进程。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
Payload Demon 代理 (修改以显示所有选项)

单击“生成”后,“构建控制台”将显示有效负载构建,构建完成后,将启动一个弹出窗口,使您能够重命名它(如果需要)并将有效负载保存在您选择的目录中。

扩展

扩展是可以添加的附加脚本,甚至可以创建并添加操作员/开发人员,并用作命令或模块以用于 demon agent。有一种创建它们的方法,p4p1 在一篇博客文章中记录了该方法,他创建了大多数包含的扩展。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
添加包含的扩展 “havoc-bloodhound”
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“havoc-bloodhound”扩展设置显示在“事件查看器”旁边

有关此扩展程序的信息可以在“havoc-bloodhound”GitHub 页面上获得,其中包括配置 Bloodhound 设置和使用。使用“扩展”选项卡上的“标题”和“作者”进行 Google 搜索,将我带到了 GitHub 页面,这些页面提供了有关 Havoc 扩展的更多信息,因此如果您想了解有关它们的更多信息,请打开您的“Google Fu”!我建议这样做,以便您可以验证是否有任何必需的依赖项。例如,如果您想使用 “havoc-ligolo” 进行旋转,则需要在您的机器上安装 tmux、go 和 kdesu。如果您尝试安装扩展但缺少依赖项,将出现一个弹出窗口,让您知道缺少什么(我仍然会冒险访问贡献者 GitHub)。

“auto_suite”扩展似乎很有用,因为它似乎旨在通过提供一种使用“自动搜索、自动侦察、自动保留和自动 RDP”的方法来帮助加快漏洞利用后。使用此脚本有助于自动搜索文件、主机侦查(安全带枚举)、建立持久性以及配置 RDP 以进行远程 GUI 访问。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“auto_suite”选项及其设置在右上角窗口中显示为选项卡

脚本管理器

“脚本管理器”在底部窗口提供了一个选项卡,其中显示通过扩展上传或添加到 Havoc 框架的脚本。它还将允许操作员或开发人员创建开发的扩展/脚本,并将其上传到 Havoc Client 应用程序。我在下面提供了一些相关信息,因此如果您有兴趣了解更多信息,请查看这些资源。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“Script Manager” 包含用于添加扩展的脚本

您还可以开发自己的扩展并通过 “Load Script” 加载关联的脚本。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
可以使用“Script Manager”添加开发的扩展

通过“脚本管理器”添加脚本不适用于任何脚本,这意味着您不能简单地上传每个 Impacket python 脚本并在 Havoc 客户端 UI 中运行它们。创建了大量扩展的开发人员 (p4p1) 有一篇博客文章,介绍了此内容以及创建可上传并与 Havoc 框架一起使用的脚本的过程。这是一篇写得很好且有据可查的博客文章,所以如果你对创建其他扩展感兴趣,我建议你读一读,因为掉进那个兔子洞不在本文的讨论范围之内。

“脚本控制台”提供了一个与 Havoc Client 应用程序交互的 python 解释器,上面提供的博客文章中同样记录了该应用程序。如果您有兴趣了解更多信息,我建议您阅读该博客。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“脚本控制台”python 解释器,用于与 Havoc Client 应用程序交互

与 Session 交互

在我的 Active Directory (AD) 实验室环境中,为了学习基础知识,我在 Windows 10 计算机上禁用了防病毒 (AV)(稍后将提供 AV 绕过功能),上传了新创建的 https 负载(使用默认值),执行了它,并获得了一个会话(信标),该会话(信标)显示在 Havoc 客户端 UI 上。

要与会话交互,请右键单击会话(表格或图形视图,这无关紧要)并选择“交互”。这将在底部显示窗口中打开一个选项卡。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
使用 “Graph” 视图中的 “Interact” 打开选项卡并在会话上执行后开发
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
在 “Table” 视图中使用 “Interact” 打开选项卡并在会话上执行后开发

在此显示窗口的最底部,操作员可以在受感染的主机上输入和执行大量利用后命令。“help” 命令将列出所有可用的内置恶魔代理命令/模块,以及 “Type” 和 “Description”。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
内置漏洞利用后命令和模块

“help” 命令与利用后命令/模块相结合,将提供其他信息,例如命令、描述、用法、示例等。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
在利用后命令中使用 “help”

“help” 命令还可用于链接模块使用的命令,并提供更多信息,例如“Sub Command”和“Behavior”,其中命令的行为可能有助于识别操作安全 (OPSEC) 问题。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
使用 “help” 扩展来自漏洞利用后命令的信息

您可以运行 dotnet 程序集,例如 Rubeus 和 ADSearch,就像在 Cobalt Strike 中使用 execute-assembly 一样。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
在运行 demon 代理的受感染主机上使用“dotnet inline-execute”运行 Rubeus.exe
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
在运行 Demon Agent 的受感染主机上将 ADSearch.exe 与 “dotnet inline-execute” 结合使用

返回会话并右键单击它,选择“进程”或“文件资源管理器”都会在下方窗口中打开选项卡。“进程”选项卡将显示受感染主机上正在运行的进程,而“文件资源管理器”选项卡将提供受感染主机文件结构的导航。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“进程列表”选项卡,显示运行 demon 代理的受感染主机上正在运行的进程
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
“File Explorer” 选项卡显示运行 demon 代理的受感染主机上的文件结构

如果会话没有响应,则可以将其“标记为 死”,我强烈建议您完成对会话执行“退出”的过程,然后在完成后使用“删除”将其删除。如果不这样做,会导致下次启动 Havoc Client 以供使用时,这些无响应或“死”会话仍保留在会话窗口中。我能够使用 “Marked as Dead” 删除那些没有响应的会话。还值得一提的是,此过程只能通过 table 视图中的 sessions 完成。

Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
选择 “Exit” 以使用 “Threat” 或 “Process” 清理会话
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
干净退出后的会话
Havoc C2 框架第 2 部分:客户端用户界面 (2024)Havoc C2 框架第 2 部分:客户端用户界面 (2024)
右键单击会话以将其从会话窗口中 “删除”

结论

我重点介绍了 Havoc Client UI 中的几个功能,但我觉得它只是触及了表面,尤其是对于开发后的命令/模块。如果您喜欢这篇文章,我建议您在虚拟机上安装这个 C2 框架(不要忘记拍摄快照),然后带着好奇的心态进入,并阅读本文作为指南。在本系列的下一篇文章中,我计划了解如何使用 Havoc 代理绕过 AV,并使用此框架真正探索这方面的内容。如果您想观看我介绍 UI,下面是一个经过编辑的视频,其中我介绍了我介绍的功能,以及本文中未包含的一些其他命令/模块。

原文始发于微信公众号(安全狗的自我修养):Havoc C2 框架第 2 部分:客户端用户界面 (2024)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月19日22:24:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Havoc C2 框架第 2 部分:客户端用户界面 (2024)https://cn-sec.com/archives/3288935.html

发表评论

匿名网友 填写信息