HiddenDesktop是一款针对Cobalt Strike设计的HVNC隐藏桌面工具,该工具专为红队研究人员设计,支持通过远程桌面会话来与目标远程设备执行交互。
值得一提的是,该工具并没有使用到VNC协议,但却能够实现类似的效果。该工具本质上是一个Cobalt Strike BOF,基于C++语言开发,可以作为TinyNuke/forks的替代方案。
当前版本的HiddenDesktop主要由以下四个组件组成:
1、BOF初始化器:一个小型的程序,负责将HVNC代码注入到Beacon进程中;
2、HVNC Shellcode:TinyNuke HVNC的PIC实现;
3、服务器端和操作端UI:服务器端负责监听来自HVNC Shellcode的连接,UI允许操作者与远程桌面交互(当前仅支持Windows操作系统);
4、应用程序启动器BOF:一个Beacon对象文件集合,负责在新的桌面执行应用程序;
当前版本的HiddenDesktop支持下列Windows版本/架构:
Windows Server 2022 x64
Windows Server 2016 x64
Windows Server 2012 R2 x64
Windows Server 2008 x86
Windows 7 SP1 x64
广大研究人员可以直接访问该项目的【Releases页面】下载最新版本的HiddenDesktop。除此之外,我们也可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/WKL-Sec/HiddenDesktop.git
(向右滑动,查看更多)
然后使用make命令自行编译项目代码:
cd HiddenDesktop
make
下列命令可以直接执行HiddenDesktop的客户端程序:
HiddenDesktop <server> <port>
此时我们将会在服务器端设备上看到一个新创建的空白窗口,默认情况下BOF并不会执行任何应用程序,我们可以使用应用程序启动器BOF来在新的桌面上执行各种应用程序,例如:
hd-launch-edge
hd-launch-explorer
hd-launch-run
hd-launch-cmd
hd-launch-chrome
除此之外,我们还可以通过资源管理器和鼠标键盘来启动应用程序,其他应用程序也可以使用下列命令来启动:
hd-launch <command> [args]
演示视频:
https://private-user-images.githubusercontent.com/9327972/241064072-82f73393-ba44-42b4-8eae-b36b7181fac0.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDQ0Nz
本项目的开发与发布遵循MIT开源许可证协议。
HiddenDesktop:https://github.com/WKL-Sec/HiddenDesktop
https://github.com/rossja/TinyNuke https://github.com/Meltedd/HVNC https://github.com/SolomonSklash/netntlm