WindowsのRDP (Remote Desktop Services) についてのメモ。
RDP関連のイベントを調査するときはshellbagの確認も忘れずに行いたい。(RDPのセッション中にユーザーがExplorerでフォルダにアクセスしたり、フォルダやファイルの一覧を閲覧している可能性が高いため)
クライアント側
データの種類 | データ | 説明 |
ファイル | %systemroot%\system32\mstsc.exe | RDP クライアント 参考 |
ファイル | [Drive Name]:\[User Name]\Documents\Default.rdp | RDP のセッション情報に関する設定ファイル。接続先のホスト名などが含まれている。デフォルトのファイル名はDefault.rdp 参考 |
ファイル | [Drive Name]:\Users\[User Name]\AppData\Local\Microsoft\Terminal Server Client\Cache\bcache[NUM].bmc | RDPセッションのキャッシュ・ファイル。セッション時の画面情報をビットマップ形式で保存する。ツールでパースすることによりRDPセッション時の画面をある程度復元することができる。 参考1 参考2 |
ファイル | [Drive Name]:\Users\[User Name]\AppData\Local\Microsoft\Terminal Server Client\Cache\Cache[NUM].bin | RDPセッションのキャッシュ・ファイル。セッション時の画面情報をビットマップ形式で保存する。ツールでパースすることによりRDPセッション時の画面をある程度復元することができる。 参考1 参考2 |
Windows イベントログ | EID 1102, 1103, 1025 | クライアントからサーバーへのRDP接続が成功した場合にクライアント側のイベントログに記録されるEID。詳しくは参考リンクを参照。 参考 |
レジストリ | HKCU\Software\Microsoft\Terminal Server Client\Default\MRU[NUM] | クライアントが過去にRDP接続した宛先ホスト名やIPアドレスが保持されている。最も直近で接続した宛先情報はMRU0に保持される。 参考 |
レジストリ | HKCU\Software\Microsoft\Terminal Server Client\Servers\[IP address or hostname] | 上記のMRUエントリに対応した情報が保持されている。例えばHKCU\Software\Microsoft\Terminal Server Client\Default\MRU0に192.168.1.1というIPアドレスが記録されている場合、HKCU\Software\Microsoft\Terminal Server Client\Servers\192.168.1.1というサブキーが作成される。 |
レジストリ | HKCU\Software\Microsoft\Terminal Server Client\Servers\[IP address or hostname]\UsernameHint | [IP address or hostname]にRDP接続した際のデフォルトのユーザー名が保持される。 |
レジストリ | HKCU\Software\Microsoft\Terminal Server Client\Servers\[IP address or hostname]\CertHash | RDP接続先のシステムが証明書を用いている場合、証明書のThumbprintが保持される。 |
サーバー側
データの種類 | データ | 説明 |
ファイル | %systemroot%\system32\rdpclip.exe | リモートデスクトップ・クリップボード。RDPクライアントとサーバー間でのコピー・ペーストを受け持つ。 |
Windows サービス | TermService (Remote Desktop Services) | リモートデスクトップを実行するためのサービス |
ファイル | %systemroot%\system32\termsrv.dll | リモートデスクトップのサービスDLL。リモートデスクトップのサービス実行時に svchost.exe によって読み込まれる。 |
ポート番号 | 3389 | リモートデスクトップ・サービスのデフォルトのポート番号 |
Windows イベントログ | EID 21, 22, 4624 (Logon Type: 10) | クライアントからサーバーへのRDP接続が成功した場合にサーバー側のイベントログに記録されるEID。詳しくは参考リンクを参照。 参考 |
レジストリ | HKLM\SYSTEM\CurrentControlSet\Control\Terminal\fDenyTSConnections | RDPの有効・無効を規定。値が1の場合はRDPが無効。0の場合はRDPが有効。 参考 |
その他参考
https://jpcertcc.github.io/ToolAnalysisResultSheet/details/mstsc.htm
https://www.mandiant.com/resources/blog/bypassing-network-restrictions-through-rdp-tunneling