1. xfreerdp とは何か?
xfreerdp は、FreeRDP が提供する
コマンドラインベースの RDP(Remote Desktop Protocol)クライアントである。
Linux や Kali、Ubuntu、Arch といった環境から
Windows のリモートデスクトップ(TCP/3389)へ直接接続できる。
一言で言うと
「Linux 端末から、mstsc.exe 相当のことを CLI でやるツール」
2. なぜ xfreerdp が使われるのか?
運用・攻防両面でのメリット
| 観点 | 理由 |
|---|---|
| 実務 | GUI 管理・ファイル操作・設定変更が一気に可能 |
| Red Team | 正規 RDP に見えるため 検知されにくい |
| Pentest | Pass-the-Hash に公式対応 |
| 学習 | Windows 内部挙動を“目で見て”確認できる |
特に red team では
「shell が取れた → すぐ RDP」
という流れが非常に多い。
3. 基本的な使い方(まずはここ)
xfreerdp /v:192.168.1.10 /u:Administrator /p:Password123
パラメータ解説
-
/v:接続先 IP またはホスト名 -
/u:ユーザー名 -
/p:パスワード
成功すると、Linux 上に Windows デスクトップが表示される。
4. 実務・演習で必須のオプション集
4.1 証明書エラーを無視(検証環境では必須)
xfreerdp /v:10.10.10.10 /u:admin /p:pass /cert:ignore
自己署名証明書環境での“お約束”。
4.2 ドメイン環境でのログイン
xfreerdp /v:dc01.corp.local /u:corp\\alice /p:Password123
または:
xfreerdp /v:10.0.0.5 /u:alice /d:corp /p:Password123
4.3 Pass-the-Hash(PTH)によるログイン
xfreerdp /v:10.0.0.20 /u:Administrator \
/pth:c156d5d108721c5626a6a054d6e0943c
前提条件
- NTLM 認証が有効
- 対象ユーザーに RDP 権限あり
hashdump → 即 RDP という横展開が成立する。
4.4 ファイル転送(ディスク共有)
xfreerdp /v:10.0.0.20 /u:admin /p:pass \
/drive:share,/home/kali/share
Windows 側では
ネットワークドライブとして自動マウントされる。
malware 投下・ログ回収・証拠取得に便利。
4.5 クリップボード & フルスクリーン
xfreerdp /v:10.0.0.20 /u:admin /p:pass \
+clipboard /f
5. よくあるエラーと対処法
❌ 接続失敗:ERRCONNECT_CONNECT_TRANSPORT_FAILED
原因候補
- 3389/TCP が閉じている
- RDP サービス未起動
- FW で遮断
確認
nmap -p 3389 10.0.0.20
❌ 黒画面になる
/graphics /gfx-h264:off
GPU 周りの相性問題で発生することがある。
❌ 認証エラー
- ユーザーが Remote Desktop Users に未所属
- NLA(Network Level Authentication)強制
6. xfreerdp の位置づけ(Red Team 視点)
初期侵入
↓
資格情報取得(hashdump / LSASS)
↓
xfreerdp
↓
GUI 操作・横展開・権限昇格
なぜ shell より好まれるのか?
- 正規管理者行動に見える
- IDS / NGFW に溶け込む
- 操作ミスが減る(人間に優しい)
7. 実戦アドバイス(経験則)
RDP が開いているなら、無理に Meterpreter を使う必要はない。
xfreerdp は「最も静かな横移動手段」の一つである。
まとめ
-
xfreerdpは Linux × Windows 運用の要 - Pentest / Red Team / 管理業務すべてで活躍
- 特に Pass-the-Hash + RDP は必修スキル