Předevčírem jsem dostal komentář k článku o vykrádání hesel z paměti (neboli pass-the-hash a pass-the-password). Je to velmi zajímavá novinka, takže samostatný článeček k tomuto tématu. Komentář upozorňuje na novou, Windows 2012 R2 a Windows 8.1 funkci RDP klienta a RDP serveru, nazvanou Restricted Admin.
Nejprve bych chtěl říct, že to je zrovna krásná metoda, jak omezit přenos plain-textových hesel z MSTSC klienta do RDP serveru.
Celé to vyžaduje jen spustit MSTSC klienta s parametrem /RestrictedAdmin:
Když to uděláte, objeví se vám normální okno klienta. Změna je ale vidět hned, jak zadáte jméno nějakého RDP serveru. Políčko User name zešedne a dole pod ním se objeví hláška Your Windows logon credentials will be used to connect. To je stejný projev, jako když máte zapnut RDP SSO (single-sign-on) pomocí Credentials Delegation - Allow Delegating Default Credentials.
Jak v případě credentials delegation, tak i v případě restricted admin režimu, to vyžaduje nejprve Kerberos vzájmené před-ověření (authentication) jak MSTSC klienta tak i vzdáleného RDP serveru. Po připojení se vám to projeví ikonkou zámečku v horní liště a nápisem The identity of the remote computer was verified by using Kerberos.
Jenže při credentials delegation tam klient posílá plaint-text heslo. Zatímco při restricted admin režimu tam neposílá v podstatě nic. Tedy posílá tam jen TGS tiket pro ten terminálový server (tedy SPN - service principal name - TERMSRV).
Jestliže tam posíláte jen TGS tiket, tak tam vlastně neposíláte nic jiného, než normálně předáváte na vzdálený server při přístupu do sdíleného adresáře (SMB), do SQL serveru, do Exchange serveru, nebo přes HTTP do SharePoint. Jen mu bezpečně (mutual authentication, AES) prokazujete svoji identitu.
Cílový server tak nebude mít nic v paměti, co by šlo vykrást. Na druhé straně tam taky nemá nic, s čím byste mohli chodit dále po síti. Znamená to, že pracovat můžete jen lokálně na tom RDP serveru, můžete lokálně přistupovat na jeho vlastní síťové služby, ale to je všechno. Do sítě se už dál nedostanete. To by musel mít ten RDP server povolenu Kerberos delegaci - a musím ještě vyzkoušet, jestli to s ní vůbec funguje.
Tedy dostanete, pokud se vás to zeptá na login a heslo.
Dobrý ne? Takže suprovní ochrana hesla. Pokud tedy nepoužíváte čipovou kartu. Stejně na tom vzdáleném počítači chcete jen něco upravit a do sítě nejspíš ani moc chodit nepotřebujete. Hlavně se tam neposílá plné heslo. Pokud nevíte, kdo je tam lokálním adminem, tak mu takhle nic nedáváte od ruky.