tom@home.htb:~$

Blog o HTB

16 November 2020

rpcclient

Úvod a kontext

rpcclient je v tomto projektu užitečný hlavně jako rychlý, levný a často podceňovaný zdroj identity a provozních informací z Windows prostředí. Není to nástroj na přímý shell. Je to nástroj, který z Microsoft RPC a SAMR udělá čitelná data pro další rozhodnutí.

Na Cascade vrací seznam účtů ještě bez přihlášení. Na Resolute odhalí v popisku účtu výchozí heslo Welcome123!. Na Fuse pomůže přejít od běžného doménového účtu k servisním identitám a nakonec i k heslu ukrytému v popisu tiskárny. To je jeho praktická role: neřeší exploit, ale překládá RPC metadata do dalších útokových hypotéz.

Co rpcclient v praxi řeší

rpcclient je klient pro různé RPC operace nad Windows a Samba službami. Prakticky odpovídá na otázky:

Jeho největší hodnota je v tom, že často poskytne strukturovanější a rychlejší výstup než ruční klikání nebo těžší LDAP workflow.

Nejčastější scénáře využití v tomto projektu

Anonymní enumerace účtů

Na Cascade je rpcclient první opravdu hodnotný krok. Bez přihlášení vrátí seznam účtů:

rpcclient -W "" -U "%" -c querydispinfo $IP

To je důležité, protože útok tím získá:

Tady rpcclient neřeší hesla. Řeší mapu identity prostoru, bez které další práce tápe.

Čtení provozních poznámek v popiscích účtů

Na Resolute je nejdůležitější právě to, že querydispinfo nevrátí jen seznam jmen, ale i lidský popisek:

rpcclient -W "" -U "%" -c querydispinfo $IP
Account: marko Name: Marko Novak Desc: Account created. Password set to Welcome123!

Tady je praktická hodnota obrovská:

To je přesně důvod, proč se rpcclient vyplatí nepřehlížet ani v době bohatších AD nástrojů.

Přechod od běžného účtu k servisním identitám

Na Fuserpcclient neběží anonymně, ale pod doménovým účtem tlavel. Přesto řeší podobnou úlohu: vytáhnout informace, které posunou útok k hodnotnějším identitám.

rpcclient -U FABRICORP\\tlavel -c enumdomusers $IP
rpcclient -U FABRICORP\\tlavel -c enumprinters $IP

Právě enumprinters odhalí v popisku tiskárny heslo scan2docs password: $fab@s3Rv1ce$1. To je velmi dobrá ukázka, že rpcclient není jen “výpis uživatelů”. Umí se stát nástrojem pro čtení provozních detailů, které mají okamžitý dopad na laterální pohyb.

Kdy je rpcclient nejlepší volba

Největší smysl dává tehdy, když:

V takových situacích bývá rychlejší než složitější LDAP enumerace a zároveň přesnější než slepé zkoušení dalších služeb.

Co rpcclient neumí vyřešit za vás

rpcclient:

Na Cascade je cenný proto, že anonymně vydá účty. Na Resolute proto, že vydá heslovou nápovědu. Na Fuse proto, že pod běžným účtem ukáže servisní stopy. Bez tohohle kontextu by šlo jen o další enumeraci bez dopadu.

Nejčastější chyby při použití

Ignorování popisků a vedlejších polí

Největší praktická hodnota v projektu neleží v samotném seznamu uživatelů. Leží v tom, co je u nich nebo u jiných objektů napsané:

Příliš brzké přeskočení na těžší nástroje

Když rpcclient umí rychle vrátit účty nebo tiskárny, není důvod začínat vždy rovnou složitější LDAP sadou. Naopak často dává nejlepší poměr cena/výsledek.

Záměna enumerace za kompromitaci

Úspěšný výpis ještě neznamená foothold. Je to ale velmi často přesně ten krok, který otevře další heslovou, smb nebo winrm hypotézu.

Nejčastější praktické scénáře

Potřebuji rychle zjistit, jaké účty v prostředí existují

To je Cascade.

Potřebuji přečíst provozní poznámky v účtech

To je Resolute.

Potřebuji zjistit, jaké servisní stopy a tiskárny jsou dostupné přes RPC

To je Fuse.

Související články v projektu

Co si odnést do praxe

Další Související Články V Projektu

HTB Stroje

Techniky

Nástroje

tags: nastroje - active-directory - windows - rpc - smb - enumeration