Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Zkoušení hesel na RDP
listopad 08
Zkoušení hesel na RDP

Moc pěkná otázka dorazila, rád odpovídám rovnou veřejně, protože to je velmi obecný problém:

Včera jsem si všiml, že jsme pod brutforcem nějakých hackerů z Ruska. Útočili nám na Remote Desktop Connection broker (3389). Dělali to pěkně pomalu a opatrně, už jsme to dost minimalizovali. Odkážete mě na nějaké dražší hardwarové/softwarové řešení nebo toto spíš navrhujete řešit jiným způsobem? Resp. nechci odkazovat na nějaký konkrétní produkt, spíš mě zajímá Váš postoj k tomuto. Třeba mi řeknete, že po dobrém nastavení hesel a oprávnění to řešit nemusíme vůbec.

Odpověď

Z toho, jak to popisujete, se dá vyhodnotit, že zřejmě máte otevřen přímý přístup přes TCP 3389 z internetu a někdo zkoušel online hesla na nějaké loginy.

Nejprve se zabývejme loginy. Byly to nějaké vaše skutečné existující loginy, nebo to vždycky selhalo na tom, že to nebyl správný login? To poznáte například na tom RDP serveru v logu z Failure Audit události typu Logon. Bude v tom chyba 0xC000006D (což je obecně STATUS_LOGON_FAILURE), ale také tam bude přesnější důvod - buď 0xC000006A (STATUS_WRONG_PASSWORD), nebo právě 0xC0000062 tedy STATUS_INVALID_ACCOUNT_NAME.

Pokud útočník nezná ani loginy, tak je jasné, že to je úplný cizinec. Pokud loginy zná, tak se ptejme, jestli to jsou nějaké známé loginy, jako třeba administrator a nestálo by za to tyto loginy buď přejmenovat, nebo určitě rovnou i zakázat.

Pokud by útočník znal všechny vaše loginy, mohl by vám je takto dokonce vzdáleně všechny pozamykat. Nemusí vůbec zkoušet hesla s cílem je uhádnout. Prostě jenom na každý účet bouchne několikrát, aby se zamknul. Takto by vám pozamykal i servisní účty a vyřadil tak celou vnitřní infrastrukturu, alespoň na nějakou dobu (viz. můj článeček zde).

Dále je vždycky žádoucí mít kvalitní hesla. Pokud by to jedno online ověření trvalo třeba 15 ms, což je dnes cca standard na rychlých systémech, tak vyzkoušet polovinu osmiznakových alfanumerických (alfanum8) hesel by trvalo 52 000 let. Píšete, že to navíc zkoušeli velmi pomalu, což indikuje, že se prostě snažili použít jen několik profláknutých hesel.

Proti tomu se dá obvykle chránit delšími hesly. Pokud si dáte politiku alespoň 10 znaků, tam už moc profláknutá hesla nejsou, protože to už není například jen jedno slovo a číslo.

Máte Windows AD prostředí, takže máte politiku 3of4. Až budu u vás, nasadíme vám moji politiku 4of4, takže si lidé budou muset dávat hesla obsahující alespoň jeden speciální znak, což kompletně odstraní problém profláknutých hesel a to i na intranetu.

To jsou ale spíše okrajové záležitosti.

Zabezpečení vzdáleného přístupu proti zkoušení hesel

Jak ale omezíme zkoušení hesel úplně? Musíte vyžadovat něco jiného než heslo už jen k tomu, aby se vůbec ustavilo vzdálené spojení. Na to se používají buď VPN připojení s ověřením pomocí buď klientského certifikátu (client certificate), nebo nějaká jiná multifaktorová autentizace (token, smart card, RSA SecureId kalkulátor, SMS, apoška).

Microsoft k tomuto má možnosti jako je SSTP (TLS HTTPS VPN), nebo IKEv2 a DirectAccess, všechno s čipovou kartou nebo jen certifikátem v počítači.

Pokud se jedná o prosté RDP, tak můžete využití také RD Gateway. RD Gateway může také vyžadovat klientský certifikát (nebo i čipovou kartu - smart card) k připojení. Takže neotevřete rovnou 3389, ale budete mít otevřen jenom TCP HTTPS 443 směrem na RD Gateway, která bude vyžadovat client certificate vůbec k vytvoření TLS spojení.

Webové aplikace, nebo i RD Gateway se dají dále publikovat přes WAP (Web Application Proxy), která může stejně tak vyžadovat klientský certifikát.

Comments

Re: Zkoušení hesel na RDP

A hele, ty jsi něco napsat dokonce i bez přemlouvání? Tak to abych si to přečet :)
Borek on 8.11.2016 19:51

zaujimava policy 4of4

...moji politiku 4of4, takže si lidé budou muset dávat hesla obsahující alespoň jeden speciální znak, což kompletně odstraní problém profláknutých hesel a to i na intranetu...

Ako to dosiahnut? Napisali ste si nejaku sablonu, ktora upravuje standardne 3of4?
Dakujem
Ivo
Ivan on 8.11.2016 22:35

Firewall

a co monitorovat EventLog a po 5-10 neúspěšných pokusech na FireWallu blokovat IP, ze které to jde ?
VasekB on 8.11.2016 23:52

Mikrotik cesta přes firewall

Zdravím, alternativní metodou by mohlo být nastavení firewall podmínek na router, které by zajistili omezený počet nových RDP spojení za určitý čas, například zde:
http://serverfault.com/questions/548923/prevent-rdp-logon-brute-force-in-mikrotik-router-via-winbox 

umpalalumpa on 9.11.2016 16:27

Re: Zkoušení hesel na RDP

no sledování logu je samozřejmě možné, ale jak to budeme potom konfigurovat na tom firewallu automaticky?

já myslím, že to je prostě principiální záležitost, buď mám jen hesla a musím se smířit se zkoušením do jisté úrovně, nebo mám multifaktor.
ondass on 10.11.2016 7:51

firewall

>> no sledování logu je samozřejmě možné, ale jak to budeme potom konfigurovat na tom firewallu automaticky?

firewall na windows automaticky scriptovat neni problem. pokud neni firewall primo na serveru, tak zalezi, jaky je na nej pristup. ale urcite by se dal ovladat pres ssh prikazy.
VasekB on 10.11.2016 19:39

Re: Zkoušení hesel na RDP

Ahoj, sám jsem se setkal s takovým napadeným serverem.
Útočník, si na něj nahral vlastní sw, pomocí něhož automatizoval další brute force utoky na rdp.

Samozřejmě že se tam dostal pomocí slbého hesla administratora a faktu že 3389 bylo otevřeno dokořán na veřejné ip.

Přitom by stačilo povolit port jen pro určité ip, připádně nepoužívat standartní port, což jde změnit i přímo na widlích, nejen na NATu.


Na své domácí síti používám výhradně VPN a nestandartní porty.
Navíc můj FW umožňuje packetovou analýzu.
Mohu tak např.  u ftp počítat, kolikrát vzdálená adresa dostala odpověď "Failed username or password" a po daném počtu pokusů zablokovat IP přímo na firewalu.

Zrovna tak implicitně blokuju scanování portů a IP která to zkusí dostane ban na delší čas.
Zatím co ping v omezené míře mám povolený.

Jinak abych se vrátil k RDP, kdysi jsem viděl na W2003 nasazenou nějakou utilitu, která právě připojení na RDP monitorovala a po určitém počtu pokusů bloknul.
Osobně ale nejsem zastáncem, toho aby se na servery zatahoval zbytečný SW, blokování na FW je lepčí :-D
Martin on 19.1.2017 11:13

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments