xfreerdp
Úvod a kontext
xfreerdp je praktický RDP klient pro chvíli, kdy už máte použitelný windowsový účet a potřebujete z něj udělat interaktivní desktopový přístup. V místních rozborech se na Windows hostech častěji používá Evil-WinRM, protože je pohodlnější pro shell a skriptování. Tím ale význam RDP nemizí. Jakmile je potřeba GUI, lokální desktopová aplikace nebo práce s artefakty, které dávají smysl až v uživatelském sezení, xfreerdp bývá přirozená volba.
Je dobré to číst přes stejné situace, které se opakují v projektu: Remote ukazuje reuse administrátorského hesla z TeamVieweru, Sharp a Buff připomínají hodnotu desktopových aplikací na serveru a technický článek Klientské, desktopové a ne-textové artefakty po footholdu vysvětluje, proč je někdy důležitější GUI kanál než další čistý shell.
Co xfreerdp v praxi řeší
xfreerdp je užitečný hlavně tehdy, když potřebujete:
- ověřit, jestli získané údaje fungují i pro RDP,
- otevřít plnohodnotnou GUI session místo shellu,
- pracovat s desktopovou aplikací nebo klientským nástrojem,
- nebo se podívat do prostředí, které se z PowerShellu hledá nepohodlně.
Není to exploit a neobchází přístupová práva. Jen převádí už získanou identitu do jiného správního kanálu. Prakticky tedy plní podobnou roli jako Evil-WinRM, ale pro případy, kdy shell nestačí.
Nejčastější scénáře využití v tomto projektu
Validní windowsové údaje, ale potřeba GUI místo shellu
Remote je dobrý modelový případ. Reuse hesla z TeamVieweru otevře Administrator a v rozboru se z praktických důvodů volí WinRM:
evil-winrm -i $IP -u Administrator -p '!R3m0te!'
To je logické, protože shell je pro další řetězec nejrychlejší. Stejná situace ale v praxi často vede i k otázce:
- funguje ten účet i pro RDP,
- a není na hostu něco, co je pohodlnější řešit přes GUI?
Právě tam dává smysl xfreerdp. Ne jako „lepší WinRM“, ale jako jiný kanál nad stejnou identitou.
Typický ověřovací krok pak vypadá například takto:
xfreerdp /u:Administrator /p:'!R3m0te!' /v:10.10.10.180 /cert:ignore
Desktopové a klientské utility na serveru
Buff a Sharp ukazují, že na serverech se často nacházejí i desktopové nebo klientské aplikace:
CloudMe,PortableKanban,- různé debug utility,
- nebo support nástroje.
V rozborech se jejich data typicky vytěžují jinak, přes soubory a binárky. Prakticky ale platí, že pokud je na hostu dostupné RDP a máte použitelné údaje, interaktivní desktop může být nejsnazší cesta k:
- potvrzení, co je opravdu nainstalované,
- rychlé orientaci v profilech a zástupcích,
- nebo práci s aplikací, která bez GUI dává smysl jen omezeně.
To je přesně kontext, ve kterém xfreerdp přináší hodnotu.
Ověření, jestli reuse otevřel i další správní kanál
V projektu se opakovaně ukazuje, že jedno tajemství neotevře jen jednu vrstvu. Heslo z aplikace, logu nebo support nástroje může fungovat pro:
- WinRM,
- SMB,
- lokální účet,
- admin panel,
- a někdy i RDP.
Právě proto dává xfreerdp smysl jako ověřovací krok u windowsových identit. Ne ve stylu “zkusím to všude”, ale jako cílená otázka: pokud už je účet administrativně zajímavý, nedává navíc i GUI přístup?
Tento širší bezpečnostní vzorec rozebírám i v článku Password reuse a rozpad hranic mezi aplikací, SSH, WinRM a admin nástroji.
Situace, kdy shell nestačí
Některé artefakty nebo workflow dávají mnohem větší smysl v desktopové session:
- klientské utility,
- support nástroje,
- GUI-only nastavení,
- nebo prosté potvrzení, co na stroji skutečně vidí běžný uživatel.
Právě proto je xfreerdp praktický doplněk, i když se v lokálních write-upech častěji přechází přes shell. Rozhodnutí mezi WinRM a RDP není o tom, co je “lepší”, ale co lépe odpovídá tomu, co na hostu potřebujete udělat.
Kdy je xfreerdp nejlepší volba
Největší smysl dává tehdy, když:
- už máte validní windowsové přihlašovací údaje,
- port
3389je dosažitelný, - potřebujete GUI nebo interaktivní desktop,
- nebo ověřujete, jestli reuse otevřel i RDP kanál.
Naopak nedává smysl očekávat, že:
- nahradí foothold,
- obejde RDP policy nebo NLA,
- nebo bude pohodlnější než WinRM pro čistě shellovou práci.
Nejčastější chyby v praxi
Zaměnění za náhradu shellu
Pro příkazy, skripty a rychlou enumeraci bývá Evil-WinRM praktičtější. xfreerdp má hodnotu tam, kde je potřeba desktop, ne tam, kde jen chcete spustit whoami.
Slepé zkoušení bez kontextu
RDP není dobré testovat nahodile jen proto, že existuje windowsový účet. Hodnotu má tehdy, když už něco naznačuje, že na hostu běží desktopová nebo support vrstva, kterou stojí za to vidět v GUI.
Ignorování role desktopových artefaktů
Remote, Sharp i technický článek o klientských artefaktech ukazují, že lokální workstation vrstva často drží další tajemství nebo správní kanál. RDP je užitečné právě tehdy, když vám pomůže tuhle vrstvu pohodlněji otevřít.
Očekávání, že fungující heslo musí nutně fungovat i pro RDP
Stejné tajemství může otevřít WinRM a přitom ne RDP, nebo naopak. xfreerdp je ověřovací nástroj nad konkrétním kanálem, ne důkaz, že účet je univerzálně použitelný.
Související články v projektu
- Rozbory: Remote, Sharp, Buff
- Nástroje: Evil-WinRM, CrackMapExec, Impacket
- Techniky: Password reuse a rozpad hranic mezi aplikací, SSH, WinRM a admin nástroji, Klientské, desktopové a ne-textové artefakty po footholdu
Co si odnést do praxe
xfreerdpje praktický RDP klient pro chvíli, kdy už máte identitu a potřebujete GUI kanál.- Největší hodnotu má v situacích, kde shell nestačí: desktopové utility, support nástroje nebo ověření další správní vrstvy.
- V projektu častěji vítězí WinRM, ale právě proto dává smysl vnímat
xfreerdpjako doplněk pro jiný druh práce, ne jako konkurenci shellu.
Další Související Články V Projektu
HTB Stroje
Techniky
- Kerberos útoky z nulového přístupu: AS-REP roast a práce s kandidátními uživateli
- Legacy infrastruktura, kde banner prakticky rozhodne exploit
- Windows lokální privesc přes služby, drivery a spooler