| Včera jsem měl WUG v Hradci Králové na téma Co by skutečný hacker udělal vaší Active Directory. Následuje shrnutí případů, kdy se v paměti udržují plno-textová hesla nebo kdy naopak se nepřenáší. Všude možně jsou odkazy na další moje články na tato témata.
Plnotextová hesla v paměti počítač
Zde se myslí buď tam, kde jste ho zadali, nebo nechali uložit, nebo naopak tam, kam jste ho dobrovolně poslali. V podstatě vždycky když heslo někde zadáváte, tak je to podezřelé na jeho následující přítomnost v paměti v plné formě.
- Ctrl-Alt-Del (článek)
- RDP (článek)
- runas
- IIS HTTP basic authentication (článek, článek)
- PowerShell PS remoting basic a CredSSP authentication
- uložená hesla služeb (článek)
- uložená hesla naplánovaných úloh (článek)
- uložená hesla IIS apppool (článek)
- různí agenti typu SCCM, SCOM, antivirové instalace, zálohování
- PSEXEC pakliže zadáváte heslo v příkazové řádce (článek)
NTLM hash v paměti
NTLM hash v paměti je buď vždycky když je tam plnotextové heslo, nebo se z něho dá vždycky vypočítat, takže uveďme jen případ, kdy tam není heslo a přitom je tam ta NTLM hash.
- přihlášení čipovou kartou (smart-card logon), neboli Kerberos PKINIT
V tomto případě je vhodné omezit útoky pass-the-hash tak, že úplně vypneme NTLM ověřování a převedeme Kerberos plně na AES šifrování, protože v takovém případě se nedá použít NTLM hash na generování Kerberos tiketů. Také je vhodné Kerberos tikety zkrátit na kratší platnost, než výchozích 10 hodin. Při použití čipových karet máte také pravidelně měnit heslo účtů, které ho nepotřebují znát a používají jen kartu. (článek)
Bezpečné komunikace, které heslo nepřenáší v plné formě
- jakékoliv NTLM nebo Kerberos síťové ověření
- Schannel TLS client certificate authentication (článek, článek, článek)
- správa počítače přes MMC a podobné konzole
- PowerShell PS remoting při Kerberos nebo NTLM ověření (článek, článek)
- SCCM remote tools
- Remote Assistance
- RDP Restricted Admin (mstsc /restrictedAdmin) (článek, článek, článek)
I když se heslo nepřenáší, uvědomte si, že aplikační servery, jako je RDP, nebo IIS, nebo SQL může po vašem přístupu a pod vaším účtem spouštět kdoví jaký kód, aniž byste si toho všimnuli. Pokud se tam připojujete "bezpečně" přes Kerberos nebo NTLM, tak se takový kód nemůže dostat sám dál do sítě (pokud není povolena delegace, samozřejmě), ale i tak může pořád napáchat různé škody přímo na vzdáleném počítači. |