关于HiddenDesktop
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]
工具运行截图





工具使用演示
演示视频:【点我观看】
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
HiddenDesktop:【GitHub传送门】
参考资料
GitHub - rossja/TinyNuke: zeus-style banking trojan
GitHub - Meltedd/HVNC: Standalone HVNC Client & Server | Coded in C++ (Modified Tinynuke)
GitHub - SolomonSklash/netntlm: A crappy hook on SpAcceptLsaModeContext that prints incoming auth attempts. WIP