Náš příběh
Během penetračních testů externí infrastruktury veřejné správy byly nalezeny velmi závažné nedostatky, které vedly ke kompletní kompromitaci několika serverů. V určitých případech se nám podařilo zřetězit několik zranitelností, konkrétně chybějící bezpečnostní záplaty, slabou politiku hesel a nedodržování best practices.
Společnost umožňovala svým zaměstnancům využívat vzdálené připojení pomocí SSL VPN. Nasazená verze technologie poskytující vzdálený přístup však nebyla ve své poslední verzi, a tudíž neobsahovala aktualizace opravující kritické chyby / zranitelnosti. Jednou z nich byla možnost neautorizovaného přístupu k citlivým informacím – vypsání uživatelských jmen a hesel v čitelné podobě. Jelikož byla technologie napojená na Active Directory / LDAP, jednalo se o doménové uživatele a jejich hesla. Pod identitou libovolného uživatele bylo možné se do SSL VPN přihlásit a následně i připojit na dedikovaný stroj zaměstnance – útočník tedy, mimo jiné, získal neautorizovaný přístup přímo do vnitřní sítě, mohl kompromitovat počítač libovolného uživatele, pohybovat se a útočit dále ve vnitřní síti, atd.
Další nalezená kritická zranitelnost se týkala opět chybějících aktualizací, v tomto případě e mailového serveru. Webové rozhraní e-mailového serveru obsahovalo deserializační zranitelnost umožňující vzdálené spouštění kódu na úrovni operačního systému. K úspěšnému útoku však byly potřeba přihlašovací údaje legitimního doménového uživatele – jak již bylo zmíněno, ty jsme již měli k dispozici. Potenciální útočník tedy mohl zcela kompromitovat e-mailový server, neboť služba běžela pod nejvyššími oprávněními.
Poslední kritickou zranitelností byla chybná validace uživatelských vstupů webové aplikace sloužící jako „HelpDesk“. Aplikace měla prostup do internetu, byla však zabezpečena autentizačním formulářem a z internetu měli do aplikace přístup pouze vybraní uživatelé (administrátoři). Najít správného uživatele bylo jen otázkou času (pomocí zranitelnosti z SSL VPN). Po získání neautorizovaného přístupu byla, celkem rychle, nalezena velmi závažná zranitelnost - SQL Injection, kdy je zadaný SQL příkaz interpretován a vykonán databázovým strojem. Útočník tak mohl získat veškerá data v databázi, a také kompletně kompromitovat databázový server a získat přístup do interní infrastruktury.
Veřejná správa se nestala, i díky včasnému provedení penetračních testů externí infrastruktury, předmětem zájmu skutečného útočníka, mohla opravit nalezené zranitelnosti a zabezpečit svůj perimetr.