Hlavní navigace

Jak mohli hackeři napadnout Povodí Vltavy? Průzkum dle OSINT

Autor: Depositphotos
Když se stane větší útok, je zajímavé vědět, jak k němu došlo. Co všechno se o možných postupech útočníků dá zjistit z veřejných zdrojů?
Martin Haller
Doba čtení: 7 minut

Sdílet

Začátkem letošního dubna hackeři napadli, kromě jiných, i státní podnik Povodí Vltavy. Útok byl označen jako rozsáhlý a podnik musel odstavit (resp. hackeři odstavili :)) část systémů a pracovat na nápravě.

Když se stane větší útok, jsem vždy zvědavý, jak k němu došlo. Myslím, že z informací o provedení útoku by mohla společnost (zejména IT správci) benefitovat – poučili by se z chyb jiných a zlepšili by zabezpečení svých sítí. Stejně tak by to ukončilo nejrůznější spekulace.

Avšak pravidla jsou, jaká jsou, a vyšetřovatelé o útocích neprozrazují informace. Věnoval jsem průzkumu tedy trochu svého času a zkusil jsem vypátrat, jestli Povodí Vltavy nemělo ve svých veřejně dostupných systémech nějakou zranitelnost. Závěry jsem pak prezentoval na svém LinkedIn profilu a na firemním FB. Čtenářům se to líbilo a chtěli, abych postup více rozebral, aby si takový rychlý průzkum mohli příště udělat sami doma. Rád tak učiním.

Ještě mi dovolte napsat, že OSINT (zjišťování informací z veřejných zdrojů) není moje silná stránka. Stále se mám co učit. Budu tedy rád, pokud do komentářů doplníte své tipy či postupy.

Stejně tak, i když se mi podařilo najít kritickou zranitelnost v systémech Povodí Vltavy, přes kterou by se dal útok provést, nemusel to být skutečný vektor útoku. Útočníci mohli provést útok jinak.

OSINT: Kde domov můj? Aneb jak najít veřejné IP adresy Povodí Vltavy

V prvním kroku chci zjistit, jaké veřejné služby (služby dostupné z internetu) společnost provozuje. Začnu tím, že si dohledám webové stránky firmy, čímž zjistím, jakou doménu firma používá. V tomto případě hodím rychlý dotaz „povodí vltavy“ do google.com a dostanu webové stránky na adrese www.pvl.cz.

Webové stránky firem bývají většinou provozovány na cizím webhostingu. Tzn. že server dané společnosti nepatří, a pokud by jej někdo prolomil, dané firmě by vnitřní síť nezastavil. To znamená, že musíme hledat dál.

Nyní bychom se mohli zeptat služby DNS, kdo se stará doméně pvl.cz o e-maily. Dříve si totiž firmy spravovaly mail servery samy a měly je umístěné ve vnitřní síti (resp. DMZ). Zde ovšem zjistíme (digwebinterface.com), že maily má pvl.cz nejspíše v Office 365. :(

Naštěstí jsou tu šikovné nástroje, které dokážou vyhledat různé DNS záznamy v rámci domény. :) Používají k tomu často více zdrojů (DNS cache, web crawling, různé leaky nebo Certificate Transparency). Zvláště Certificate Transparency je velice milý zdroj. Jakýkoliv certifikát, který si někdo nechá vystavit od veřejné CA, se zde objeví. Tyto certifikáty obsahují DNS jména serverů (zjednodušeně řečeno), pro které byly vydány. Je to tedy skvělý zdroj informací. Doporučuji si cvičně zkusit vyhledat i informace pro vaši doménu na Google Transparency Report. Více pak v článku „Certificate Transparency: The Gift That Keeps Giving“.

My k tomu použijeme nástroj DNSdumpster.com. Pokud v něm zkusíme vyhledat informace o doméně pvl.cz, dostaneme následující výsledek:


Autor: Martin Haller

Poddomény pvl.cz a jejich propojení

Získali jsme jména poddomén, jejich propojení, přiřazené IP adresy, reverzní DNS záznamy a občas i nějaké hlavičky služeb. Nyní nejspíše přemýšlíte, co s tím.

OSINT: Jaké služby Povodí Vltavy nabízí „světu“?

Díky dnsdumpster.com máme seznam IP adres, které by mohly patřit Povodí Vltavy. Teď potřebujeme zjistit, které IP adresy jsou zajímavé a které ne.

Na to bychom si mohli pustit NMAP a udělat si vlastní sken. To však má dva háčky. Zaprvé to nemusí být legální (nejsem však právník :)). Druhým (dosti limitujícím) problémem je, že většina služeb nebude aktuálně dostupná. Kvůli kompromitaci je přeci museli vypnout, pamatujete? ;)

Obrátíme se tedy na služby, které udělají tuto práci za nás, a to na Shodan.io a Binaryedge.io. Obě nonstop skenují internet a sbírají informace o dostupných službách. Mají možnost jak placených, tak i bezplatných účtů. Pokud je ještě neznáte, doporučuji vyzkoušet.

Do těchto služeb zadáme IP adresy zjištěné v předchozím kroku. Kromě daných IP adres se dívám i na vedlejší IP adresy. Větší firmy totiž často mívají přidělený větší rozsah adres (subnet). Stejně tak můžeme zkusit vyhledávat i textové řetězce (např. „pvl.cz“).

Aktuálně máme seznam služeb běžících ve vnitřní síti a zároveň dostupných z internetu.

OSINT: Která ze služeb zradila?

Nalezených služeb jsme získali hromadu. Teď musíme zjistit, které jsou zajímavé a které ne. Vzhledem k tomu, že útočníci kompromitovali nejspíše celou vnitřní síť, hledáme službu, jejíž prolomení by mohlo mít tak velký následek.

Na adrese „90.182.205.244“ jsem například narazil na službu „MS4W — MapServer 4 Windows“, u které je uvedeno asi 50 různých zranitelností. :)

Nicméně mým favoritem se stal Microsoft Exchange server na adrese „90.182.205.245 (gatemail.pvl.cz)“. V Microsoft Exchange byla totiž tento rok nalezena kritická zranitelnost, která umožňuje jednoduše převzít kontrolu nad celým serverem. Jedná se o zranitelnost pod označením CVE-2020–0688, existují na ni exploity a je aktivně zneužívána (Multiple nation-state groups are hacking Microsoft Exchange servers). Co víc si přát. :)

Nyní bychom však potřebovali zjistit, jestli i Povodí Vltavy provozovalo zranitelnou verzi MS Exchange. Jenomže jak na to?

Práci nám usnadní sám Microsoft. V HTML kódu webového rozhraní (OWA) totiž uvádí verzi a patch level Exchange serveru. Skutečný server je nejspíše asi nedostupný, a tak si budeme muset vystačit s informacemi posledního skenu od binaryedge.io.


Autor: Martin Haller

Sken binaryedge

Na „výstřižku“ z cache vidíme, že MS Exchange byl ve verzi 15.0.1293. Nakoukneme do Exchange Server build numbers and release dates a zjistíme, že se jedná o „Exchange Server 2013 CU16“. Ten byl vydán 21. 3. 2017 a podporu měl cca do 27. 10. 2017 (viz Exchange 2013 Servicing Model). Takže už víme, že se jedná o zranitelnou verzi MS Exchange.

Cache byla pořízena 12. 3. 2020 v 3:12 našeho času (viz výstřižek). Útok byl prý proveden 7. 4. 2020 (nejspíše však proběhl během noci z 6. 4. na 7. 4.). Je zde mezera necelé 4 týdny, během které mohli správci provést aktualizaci MS Exchange a my bychom si toho nevšimli. Jelikož však MS Exchange neaktualizovali přes dva roky, je pravděpodobné, že jej neaktualizovali ani během té mezery.

Pre-exploitace a post-exploitace

Pokud jste si poctivě přečetli informace o zranitelnosti v Exchange, tak víte, že k jejímu zneužití ještě něco potřebujeme. Tou chybějící ingrediencí jsou přihlašovací údaje alespoň jednoho doménového uživatele s poštovní schránkou. Jenomže kde by je útočníci mohli vzít?

Jedna z možností je již zmiňovaný spear phishing. Další možností je nahlédnout do archivu uniklých přihlašovacích údajů z různých internetových služeb. U firmy o velikosti Povodí Vltavy je slušná pravděpodobnost, že se něco najde. Udělal jsem si rychlý sken a našel jsem vyšší desítky uniklých přihlašovacích údajů. Jedná se sice o starší úniky hesel a někteří lidé již v Povodí možná ani nedělají, nicméně útočníkům stačí jenom jeden validní uživatel.


Autor: Martin Haller

Ukázka uniklých přihlašovacích údajů povalujících se na internetu

Ovládnutí MS Exchange ještě nutně neznamená úplnou moc nad doménou (celou sítí). Avšak je zde několik používaných „privilege escalation“ technik, které umožňují z Exchange serveru získat kontrolu nad celou doménou (viz Exchange-AD-Privesc).

Tohle je tedy cesta, jakou mohli útočníci úspěšně kompromitovat firemní síť Povodí Vltavy. Jestli však šli touto, nebo jinou cestou, ví jen útočníci a vyšetřovatelé. :)

Kde čerpat informace k IT bezpečnosti?

Jsem si vědom, že udržovat se v obraze o tom, co se v IT bezpečnosti děje, není jednoduché. Rád bych s vámi proto sdílel, jak to dělám já.

Každý den sleduji několik zahraničních webů. Abych je nemusel navštěvovat ručně, používám Feedly.com (něco jako RSS čtečka). Založil jsem si seznam sledovaných webů a skrze web nebo mobilní aplikaci mám na jednom místě vše, co se na webech daný den objevilo. Šetří mi to čas a udržuje ve věcech pořádek. Většinou sjedu články ráno cestou do práce. Pokud by vás zajímalo, co sleduji, udělal jsem vám export svého feedu Feedly – Security“ (můžete si jej importovat pod svůj účet na https://feedly.com/i/cortex).

Stejně tak se doporučuji přihlásit k odběru „upozornění“ u americké Cybersecurity and Infrastructure Security Agency (dole na jejich webu). Zdarma získáte poměrně dobrý „threat intelligence“.

Když už tu zmiňuji externí zdroje, tak i naše firma si zřídila YouTube kanál PATRON-IT Academy. Zveřejňujeme videonávody s řešením nejčastějších dotazů našich uživatelů ohledně Office 365. Cílem je naučit uživatele něco nového (co jim pomůže), jejich zaměstnavatelům ušetřit peníze a nám čas na „repetitivních“ úkonech. Naposledy jsme publikovali Jak si nastavit 2FA pro Office 365, což ocení hlavně správci středních a větších firem při nasazování vícefaktorového ověřování. Místo obíhání všech kolegů ve firmě jim mohou poslat toto video, se kterým si dvoufaktor zvládne většina lidí nastavit sama.

No a v neposlední řadě doporučuji sledovat můj blog, ;) kategorie „bezpečnost“ a „ransomware“. Rychlovky sdílím na LinkedIN (budu rád, když si mě přidáte). Demonstrace útoků a záznamy přednášek naleznete na YouTube Martin Haller.

Závěr

Možná vás ještě napadne, proč si myslím, že to byl útok skrze veřejně dostupnou službu. Proč to nebyl útok třeba skrze spear phishing (e-mailem)? Jistotu samozřejmě nemám a provádím jen „kvalifikovaný tip“. Útoky skrze e-mail vídám méně často. Když už se s nimi setkám, nemívají takový dopad (zasáhnou jen data a systémy, které jsou dostupné „napálenému“ uživateli).

MMkrize tip Malina

Opět jako vždy budu rád za vaši zpětnou vazbu, postřehy a tipy, jak zlepšit OSINT. :) Děkuji vám.

Text původně vyšel na blogu Martina Hallera.