推荐WKL-Sec的HiddenDesktop工具,Hidden Desktop(通常称为HVNC)是一种允许红队人员在用户不知情的情况下,进行远程桌面会话交互的工具。而且不涉及VNC协议,但是效果相同,所以称呼为HVNC。这个Cobalt Strike BOF实现是作为用C++编写的TinyNuke/forks的替代方案而创建的。
工具链接为:https://github.com/WKL-Sec/HiddenDesktop
演示如下:
使用方式:
下载最新版本或使用自行编译 make 。在可从teamserver访问的Windows计算机上启动HVNC服务器。然后,您可以使用以下命令执行客户端:
HiddenDesktop
hd-launch-edge
hd-launch-explorer
hd-launch-run
hd-launch-cmd
hd-launch-chrome
hd-launch
兼容性:
-
Windows Server 2022 x64
-
Windows Server 2016 x64
-
Windows Server 2012 R2 x64
-
Windows Server 2008 x86
-
Windows 7 SP1 x64
部分工具细节:
Aggressor脚本生成随机管道和桌面名称。这些作为参数传递给BOF初始化器。桌面名称在执行时存储在CS首选项中,并由应用程序启动器BOF使用。使用将HVNC通信转发回组服务器 rportfwd
。状态更新通过命名管道发送回Beacon。
BOF初始化器首先解析所需的模块和函数。解析来自Aggressor脚本的参数。指向包含参数和函数地址的结构的指针被传递给 InputHandler
HVNC外壳代码中的函数。它用于 BeaconInjectProcess
执行shellcode,这意味着可以在可延展C2配置文件中或使用进程注入BOF来定制行为。您可以修改Hidden Desktop以定位远程进程,但当前不支持此操作。这样做是为了使BOF可以退出并且HVNC外壳代码可以继续运行。
InputHandler
为Beacon创建要连接的新命名管道。建立连接后,将打开( OpenDesktopA
)或创建( CreateDesktopA
)指定的桌面。新套接字通过反向端口forward()建立 rportfwd
到HVNC服务器。输入处理程序为下面描述的函数创建一个新线程 DesktopHandler
。该线程将从HVNC服务器接收鼠标和键盘输入并将其转发到桌面。
DesktopHandler
通过反向端口转发建立到HVNC服务器的附加套接字连接。该线程将监视窗口的更改并将其转发到HVNC服务器。
原文始发于微信公众号(军机故阁):红队工具推荐:Cobalt Strike的远程桌面
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论