Penetrační testy – nečekejte, až vás otestuje skutečný hacker
Penetrační testy v dnešní době již nejsou řešením pouze pro velké a nadnárodní koncerny, ale důležitou součástí bezpečnostní strategie každého subjektu, který se chce bránit před kybernetickými hrozbami a sledovat reálný stav svého zabezpečení.
Autor: Jan Pawlik, bezpečnostní specialista ve společnosti Trusted Network Solutions
Uvádím poznatky, které vyšly najevo při testování ve středně velké firmě působící v oblasti veřejných služeb a logistiky. Tento příklad vybírám záměrně, neboť šlo o organizaci, kde administrátoři dbali na bezpečnost, ale neměli k dispozici vhodné nástroje, které by ověřovaly skutečnou bezpečnost v praxi.
Důležitá je správná definice rozsahu testu
Po vstupní analýze bylo rozhodnuto, že bude ověřena bezpečnost síťové infrastruktury vůči potenciálním hrozbám útoku z prostředí internetu a dále bezpečnost informačního systému v případě, že útočník pronikl do vnitřní sítě. Dále bylo naplánováno prověření povědomí zaměstnanců o hrozbě útoků typu sociálního inženýrství. Z penetračního testu byly vyloučeny aktivity a postupy, u nichž bylo opodstatněné podezření, že by mohly narušit funkčnost firemních procesů, a v průběhu testu opravdu k žádnému omezení nedošlo.
Otevřenými dveřmi zvete ke vstupu
Nejprve jsme provedli externí penetrační test zaměřený na veřejně dostupné IP adresy společnosti. Test byl veden z pohledu útočníka, který má pouze veřejně dostupné informace typu e-mail, web, kontaktní informace apod. Test započal zjištěním otevřených portů na daných IP adresách a detekcí publikovaných služeb. Již v této fázi byly zjištěny některé nedostatky, jako například otevření portu 135, na kterém běžela vzdálená plocha, nebo portu 139, který je využíván protokolem NetBIOS.
Následoval test e-mailového serveru, na kterém se nám po 30minutovém řízeném útoku podařilo uhádnout přihlašovací údaje administrátora. Tím byl získán přístup k veškeré e-mailové korespondenci společnosti, k administraci serveru a také k souboru names.nsf, který obsahuje hesla jednotlivých uživatelů v šifrované podobě. Z něj jsme během necelých dvou hodin získali 50 uživatelských hesel.
Brána do vnitřní sítě
V administračním rozhraní jsme následně využili funkci Quick Console, která umožňuje interakci se serverem formou příkazového řádku. S jeho využitím byl na serveru spuštěn nástroj pro vzdálenou kontrolu serveru (tzv. Remote Access Tool). Tento nástroj nebyl detekován antivirovým systémem. Pokud by danou zranitelnost zneužil reálný hacker, mohl by napadený server využít nejen k útokům na jiné cíle a společnosti, ale také k průniku do interní sítě, při kterých by se využila také uživatelská hesla získaná ze souboru names.nsf.
Kritických zranitelností jsme detekovali více
Kromě uvedené zranitelnosti byla na jiném serveru zjištěna zranitelnost služby Server Message Block operačního systému MS Windows, kterou lze využít zasláním speciálně upraveného požadavku tomuto serveru. Server požadavek vyhodnotí jako legitimní a následně provede skript v něm uložený. Útočník má tedy možnost ovládnout inkriminovaný systém a provádět další nežádoucí aktivity, jako je např. sběr interních údajů organizace nebo útoky na další servery ve vnitřní síti.
Útočník ve vnitřní síti by způsobil značné škody
Druhá fáze penetračního testu byla zaměřena na interní síť a měla být realizována z pohledu útočníka, který má přístup do vnitřní sítě. Nejzávažnější zranitelností byla chyba nalezená v zastaralé verzi systému HPE Integreted Lights-Out. V tomto systému bylo možné s využitím speciálního skriptu vytvořit účet s právy administrátora, a to bez znalosti jakýchkoliv přístupových údajů. S využitím vytvořeného účtu jsme se připojili na terminálový server a přihlásili se údaji, které jsme získali z e-mailového serveru.
Bylo zjištěno, že je možné na terminálový server instalovat škodlivý software umožňující vzdáleně server ovládat a kontrolovat. Dále bylo zjištěno, že k terminálovému serveru je připojen mimo jiné disk, který obsahuje zálohy účetního softwaru a dalších důležitých systémů. K těmto datům by útočník rovněž získal přístup. Tímto byla kompromitována vnitřní síť zákazníka.
I vlastní zaměstnanci mohou představovat hrozbu
Závěrečnou částí testování byly testy typu sociálního inženýrství, které měly ověřit znalosti a odolnost zaměstnanců vůči e-mailovým a telefonickým útokům. Nejprve proběhla e-mailová kampaň, při které byla zaslána výzva ke stažení aktualizace MS Windows, ale po stažení se spustil skript, který přečetl obsah adresářů a mohl odesílat soubory nebo v některých případech také informace o účtu uživatele. Bylo zjištěno, že skript spustila téměř polovina testovaných zaměstnanců, a tedy že společnost je zranitelná vůči útokům tohoto typu.
Další kroky byly nezbytné
Penetrační test jasně prokázal kritické nedostatky v zabezpečení síťové infrastruktury společnosti, ochrany jejích dat a informačních zdrojů. Dokázal úspěšnost útoků vedených jak z vnější, tak i z vnitřní sítě. Navíc testy sociálního inženýrství potvrdily, že ani sami zaměstnanci si nejsou vědomi bezpečnostních rizik a hrozeb. Pro zákazníka byl test reálným pohledem na skutečné zabezpečení podniku a také zjištěním, že jeho data a informace jsou kriticky ohroženy. Na základě zjištěných skutečností jsme následně vypracovali návrh bezpečnostních opatření, která po zavedení eliminovala detekované zranitelnosti a výrazně zvýšila celkovou úroveň informační bezpečnosti společnosti. Při předání projektu nás pak potěšila věta pana ředitele: „Bylo to drahé, ale stálo to za to!“