OSINT – Brána do firmy otevřená

Open Source Inteligence je vyšetřovací metoda například u policie. Stejné postupy ale využívají útočníci, aby si připravili půdu pro sofistikovaný útok na cílovou firmu nebo instituci. Každá firma by měla dobře zvážit, jaké informace o sobě zveřejňuje a zda jich není zbytečně moc.

Nedávno jsem měl možnost zúčastnit se série přednášek na téma DORA. Téma v poslední době často diskutované. Na začátku, než se kolegové, odborníci na DORu dostali ke slovu, jsem pásmo prezentací zahájil trošku netradičně přednáškou, která zdánlivě s tématem konference nesouvisela. Měla přítomným trošku otevřít oči a ukázat, jak je jejich firma zranitelná už jenom tím, co se o ní dá zjistit na Internetu. A nejen tam.

Nakonec přednáška otevřela oči nejen divákům, ale i mě jakožto přednášejícímu. Překvapily mě reakce publika na skutečnosti, které mně a nám v týmu obecně, když se v problematice delší dobu pohybujeme, přijdou samozřejmé. Firmy a instituce jsou často zaměřené na svůj business a jeho ochranu, ale nedokáží se na něj podívat komplexně, tedy i očima potenciálního útočníka. A právě pohledem očima útočníka se na firmu zaměříme v tomto článku.

OSINT (Open Source Inteligence) je disciplína, kterou se učí policie, vyšetřovatelé všeho druhu, postavená na roveň například vedení výslechů, analýze důkazních materiálů, forenzní analýze zajištěných předmětů, například zabavených počítačů, a mnoha dalším disciplínám moderní kriminalistiky.

Každý oheň ale může být stejně tak užitečným sluhou, jako zlým pánem, a stejně jako odborník na balistiku nebo pyrotechniku může pracovat na straně dobra, může i projít šedou zónou a postavit se na temnou stranu. Stejně je to i s OSINTem.

Co je tedy OSINT?

OSINT je - učebnicová definice - zpravodajská technika sběru dat a jejich analýzy z veřejných zdrojů, které jsou legálně dostupné veřejnosti, s cílem shromáždit relevantní a užitečné informace pro účely zpravodajství, bezpečnosti, vyšetřování nebo analýzy rizik. Svět ale není jenom růžový.

Jak se na OSINT dívá potenciální útočník?

OSINT je technika shromažďování relevantních a užitečných informací pro účely provedení útoku, tedy snaha najít vektor nebo vektory útoku s nejvyšší možnou nadějí na úspěch.

My se v Aricomě zabýváme tzv. Red-Teamingem, tj. prováděním útoků na firmy s jejich souhlasem, s cílem nalezení slabých míst, poukázáním na ně tak, aby mohly být odstraněny nebo omezeny, a firma tak dosáhla lepší úrovně bezpečnosti. OSINT tedy, v rámci definice z předchozího odstavce, využíváme pro účely přípravy provedení Red-Teamingového útoku.

Co je legální a dostupné?

V učebnicové definici o pár řádků výše byla zmíněna dvě klíčová slova: legálně a dostupné.

Red Team, po dohodě s klientem, musí mít, nebo musí najít, hranici toho, co je ještě legální (z pohledu zákona), protože často narážíme na požadavky klientů, které jsou na hraně nebo i za ní (např. rušení signálů, zneužívání jmen třetích firem, nabízení úplatků). Reálný útočník tyto zábrany nemá a dokáže dojít ještě dále.

Nešikovná je samotná zkratka OSINT, tedy konkrétně "open source", tedy česky "z otevřených zdrojů". Já tomu říkám "dostupné". Já vidím všechno, co je na internetu, jako "dostupné". Otázka je, s jakými znalostmi a za jakou cenu. Existuje jak spousta komerčních nástrojů, tak i spousta freewarových řešení, které umožňují prohledávat internet (jeho světlou i temnou stranu). My se v rámci OSINTu, v rámci Red Teamingu, obykle snažíme využívat běžně dostupné, bezplatné nástroje, ale nemusí to tak být vždy.

OSINT Framework

Největší výzva pro vyšetřovatele, ale vlastně kohokoliv kdo využívá metody OSINTu, je neustále se měnící prostředí. Stále vznikají nové webya sociální sítě, stejně tak vznikají nové nástroje k jejich analýze. A spousta funkčních a léty ověřených řešení zaniká, z různých důvodů (soudní spory, ukončení financování a podobně).

Nástrojem, který se tyto změny snaží monitorovat, je OSINT Framework. Ten agreguje informace o dostupných, obvykle volně/zdarma přístupných užitečných nástrojích, třídí je do kategorií a usnadňuje práci lidských internetových průzkumníků.

Zdroje OSINTu

OSINT Framework, ale obecně OSINT jako metoda, čerpá z nespočtu zdrojů, které jsem pro přehlednost zařadil do několika základních skupin.

  • Doménové registry
  • Databáze uniklých přihlašovacích údajů
  • Dostupné obrázky, videa, dokumenty
  • Sociální sítě
  • Messengery
  • Seznamky
  • Veřejné záznamy
  • Geolokační nástroje
  • Fóra
  • Blogy
  • Archívy

Trochu mimo tradiční zdroje stojí vlastní webové stránky firmy nebo organizace, na kterou je OSINT prováděn. Ty mohou často poskytnout více informací, než by útočník čekal, a než si ta která firma možná uvědomuje. O web firmy se obvykle stará Marketing, a "IT" nebo "Security" oddělení nemá úplně v kompetenci web řešit nebo zkoumat. Maximálně se nechá udělat penetrační test, aby se zjistilo, že web není napadnutelný. Ale penetrační test neřeší samotné informace na webu obsažené.

OSINT Framework
OSINT Framework

Jaké máme zdroje už víme, zdroj informací je ale jen jedna ze základních komponent vyhledávání. Tou druhou jsou nástroje, které nám vyhledávání umožní. Mezi ty patří například:

  • Vyhledávací enginy (často umí složitější dotazy, než které využívá běžná populace)
  • Reverzní vyhledávání obrázků
  • VPN (můžeme se dostat k datům nepřístupným z ČR)
  • Překladače (málokterý český hacker umí řecky nebo čínsky)
  • Emulátory mobilů
  • Mapové servery, Street View (součástí Red Teamingu může být i fyzický útok na budovu nebo areál)
  • Umělá inteligence
  • Archiv starých verzí webů (tzv. Way Back Machine)
  • Nástroje Threat Intelligence

Na chviličku se zastavíme u posledního bodu, byť mu bude na konci článku věnován samostatný odstavec. Nástroje, které mohou firmu chránit, mohou ve špatných rukou posloužit jako zdroj informací. Ukážeme si to na jednoduchém příkladu.

Určitě všichni odborníci a často i laická veřejnost zná nástroj Have I Been Pwned. Nástroj je často doporučován klientům, aby si ověřili, že jejich heslo neuniklo a nepovaluje se někde po síti. Jenže stejný nástroj mohu použít, abych si ověřil, jestli se někde nepovaluje heslo mé oběti. A pokud ano, mohu hledat dále, více do hloubky, a pomocí sofistikovanějších nástrojů heslo k danému emailu zjistit.

A stejně tak lze zneužít i nástroje mnohem sofistikovanější, až po systémy Threat Inteligence. Je dobré to mít na paměti.

Have I Been Pwned
Have I Been Pwned

Úskalí nalezených hesel

Samotný fakt, že se nám podaří najít 1000 hesel k emailovým účtům @klient.cz ještě nemusí znamenat velký úspěch.

Zjistili jsme, jaký používají v dané firmě formát emailové adresy. Obvykle se firmy rozrůstají a procházejí fázemi, z emailové adresy ředitele Jana Nováka honza@klient.cz se postupně stane jan@klient.cz, pak jnovak@klient.cz a nakonec jan.novak@klient.cz. Když známe formát adresy, nepotřebujeme moc, abychom si připravili hezkou phishingovou kampaň. K tomu později. Máme tedy i hesla, nebo jejich hashe, které se můžeme pokusít cracknout, a nejspíše se nám to i podaří. Občas se nám podaří najít i pár telefonních čísel nebo adres.

Jenže záznamy jsou často neaktuální. Pokud máme co do činění s klientem (obětí), který se na trhu pohybuje desítky let, pak můžeme z 1000 adres minimálně 800 zahodit, protože se emailová adresa změnila, heslo už neplatí (to obvykle poznáme z jeho délky a složitosti), a pokud je záznam 10 let starý, uživatel ve firmě už pravděpodobně vůbec nepracuje.

Přesto máme třeba 200 validních kombinací email-heslo, a hackeři se mohou pustit do práce, hledat, kudy se k nim dostat, jestli přihlášení funguje do interních, ale na web vystavených systémů (seznam různých šikovných subdomén nám opět poskytne OSINT Framework, resp. nástroje tam odkazované), nebo třeba do webových Office 365.

LinkedIn - dobrý sluha, zlý pán

My bychom ale chtěli víc. Více údajů, více adres. A tady přichází ke slovu mocný nástroj, LinkedIn. Ještě jsme neměli klienta, který by ho nepoužíval. Nemusíme mít žádný speciální přístup, který by nám umožnil dostat se k uživatelským životopisům, adresám a telefonním číslům. Úplně stačí základní přístup, abychom zjistili seznam zaměstnanců, kteří se hlásí k zaměstnání ve firmě Klient a.s. Máme jejich jména a příjmení a známe formát emailové adresy, který firma používá. A to nám stačí, máme stovky nebo tisíce údajů, které můžeme využít v další fázi, které říkáme "aktivní OSINT".

Ještě než se k němu dostaneme, sluší se zmínit několik dalších zdrojů, které může útočník využít, a to třeba při přípravě phishingové kampaně. Na pomyslném vrcholu stojí výroční zprávy. Je povinné je zveřejňovat, a často obsahují zajímavé informace, grafiku, jména osob, které firmu reálně řídí (často lepší než obchodní rejstřík). Dalším skvělým zdrojem je registr smluv. Opět se dostáváme k dobrému sluhovi a zlému pánovi. Registr smluv máme proto, aby se zamezilo neprůhledným zakázkám státu. Jenže stejně tak poslouží pro přípravu aktivního OSINTu.

Testovací firma v prostředí LinkedIn
Testovací firma v prostředí LinkedIn
Testovací firma v prostředí LinkedIn
Testovací firma v prostředí LinkedIn

Aktivní OSINT

To, co jsme si zatím ukázali, je OSINT pasivní. Hledání na internetu, spojování informací. Někdy to ale nestačí a chceme víc. Častá je tato situace u telefonních čísel. Doby Zlatých stránek jsou pryč a většina firem neuvádí veřejně ani seznamy svých (řídnoucích) pevných linek, ani mobilních telefonů. Občas se zadaří a firma využívá celé bloky čísel, např. 791 654 100 až 791 654 999, a pak je snadné systémem pokus omyl obvolat určitou část zaměstnanců, případně je obeslat SMS. Naše fiktivní firma Klient a.s. to tak ale nemá. Zatím jsme zjistili například jenom tři telefonní čísla, každé s jinou předvolbou, což nejspíš znamená, že se k nim budeme muset dostat jinak.

Pokud tedy víme, že firma Klient a.s. používá emailové adresy jmeno.prijmeni@klient.cz, a máme tisíc jmen a příjmení z LinkedInu, můžeme si prostě o telefonní čísla napsat. Prostě pošleme "neškodnou" phishingovou kampaň. A uvidíme, co se stane.

Pokud nám stačí několik desítek telefonních čísel, stačí zaměstnancům Klienta poslat neškodný, téměř náhodný "omyl". A čekat na odpovědi. Od spousty zaměstnanců přijde automatická odpověď. S jejich podpisem, telefonním číslem, a často informací, kdo je zastupuje. A spousta zaměstnanců nám i aktivně odpoví, že se asi jedná o chybu, nebo se zeptá na bližší informace. A poskytne nám svůj kompletní podpis, pozici, telefonní číslo a často i spoustu dalších užitečných informací.

Phishing, Smishing

Jakmile máme dostatek informací, můžeme se pustit do poslední fáze aktivního OSINTu, klasického phishingu s cílem získat od uživatelů hesla. Stačí je pod vhodnou záminkou (zjištěnou právě ve výroční zprávě, na sociálních sítích, v registrech smluv a jinde) přesvědčit, aby se přihlásili na phishingové stránce. A funguje to překvapivě dobře. Na rozdíl od pasivního OSINTu, kde můžeme narazit na staré informace, získáme, byť méně, aktuálních kombinací jméno-heslo, a můžeme začít ťukat na brány firmy a hledat cestu dovnitř. Kromě emailu můžeme využít i mobilní čísla a požádat o "součinnost" formou SMS.

Předáváme informace Red-Teamingu

OSINT je jenom jednou z fází Red-Teamingu. Cílem je nasbírat dostatek informací, aby bylo možné informace posunout hackerům. Hacker možná není to nejsprávnější slovo, ale jsme na Hacking Labu a tak si ho snad mohu dovolit. Prostě těm, kteří se vyžívají v procházení perimetrem cizí sítě, snaží se do něj dostat nějaký ten svůj malware, a síť na dálku ovládat, vytvářet si vlastní doménové účty.

Hackeři jsou ti, kterým se každá firma snaží v přístupu zabránit. Jenže, často neúmyslně, nevědomky, nebo z neznalosti, jim práci usnadňuje tím, že o sobě zveřejňuje až moc informací. Každá firma by si měla tato rizika uvědomit a vyhodnotit, položit na misky vah, zda marketingová snaha o co největší otevřenost a perfektní komunikaci navenek není za čárou toho, co může potenciální útočník vzít, a využít ve svůj prospěch.

Vishing a Fyzický průnik

Součástí Red-Teamingu, a už jsme na to narazili, totiž může být i fyzický průnik. S dostatečnou znalostí veřejně přístupných informací o firmě se můžeme pokusit firmu "penetrovat" prostě tak, že si obvoláme pár lidí, zjistíme, jak to ve firmě chodí, nebo firmu obejdeme, přečteme různé informace na dostupných nástěnkách, a pozorujeme zaměstnance. Někdy se to nedaří. V jedné rakouské telekomunikační společnosti měli na recepci tak dobře vyškolenou slečnu, že ani ostřílení rodilí mluvčí ji nedokázali přesvědčit, aby slevila ze stanovených pravidel a pustila je dovnitř bez kontroly dokladů, ověření si situace s kompetentní osobou, a nenechala se přesvědčit ani připravenými podvrženými dokumenty.

Takové situace jsou ale ojedinělé. Velká část firem má skuliny, které umožní útočníkovi se do firmy dostat, aniž by na sebe upozornil. Může dostat náhradní zaměstnaneckou kartičku bez kontroly občanky. Může přeskočit nešikovně navržené nebo umístěné turnikety. Může si podržet dveře skutečného zaměstnance, který prochází před ním. A jakmile překoná tuto první bariéru (recepci, turniket, dveře), je v dostatečně velké firmě naprosto anonymní, a může si dětat téměř co chce. My jsme takhle třeba roznášeli USB zařízení s malwarem, nechávali je u tiskáren a po stolech. Nebo naopak sbírali nezabezpečené dokumenty (nebo celé počítače). Zapojovali jsme neautorizovaná zařízení do podlahových krabic nebo nezamčených racků. Nebo si sedli do jídelny, objednali guláš a skenovali wifi sítě. Do jedné firmy nás správkyně objektu pustila, když jsme jí zavolali, že jdeme kontrolovat požární čidla. Jindy stačilo zavolat, že jsme před vjezdem do areálu a vezeme tiskárny. A za 10 vteřin se otevřela vrata.

I ve zmíněné nepřístupné rakouské firmě nakonec místo recepce posloužila garáž. Ráno stačilo se navěsit na zaměstnance v autě a dostat se s ním nejen do garáží, ale i do výtahů a kanceláří.

Threat Intelligence

Možná vás po přečtení tohoto článku napadlo, že vlastně nevíte, co se dá zjistit o vaší firmě a k čemu by to mohlo vést. Je to mravenčí práce, která může zabrat desítky dní, a v momentě, kdy zjistíte aktuální stav, už je tento stav neaktuální a může se začít znovu. Tady přicházejí ke slovu nástroje Threat Intelligence, které dělají OSINT automaticky a mohou, pokud se správně nastaví, pomoci i s dalšími výzvami, které firma dosud neřeší – např. evidovat nebo informovat klienty, jejichž data (nebo např. platební karty) unikly a jsou k dispozici na internetu. Nebo pomohou dostupná data z internetu odstranit.

Threat Intelligence je vlastně takový kontinuální OSINT, automaticky zkoumající stovky a tisíce zdrojů v reálném čase, což žádný člověk nedokáže. Nástroje Threat Intelligence – a budu se znovu opakovat – mohou být dobrý sluha v rukou kompetentního CERTu, SOCu, Defence Centra nebo jakkoli budeme říkat bezpečnostnímu týmu. Ale zlým pánem v rukou hackerů.

Shrnutí – dvě strany jedné mince

A to je asi hlavní myšlenka tohoto článku. Každá mince má dvě strany a na webu zveřejněné telefonní číslo paní Maršálkové ze mzdového oddělení může mít svůj smysl, ale pak je třeba počítat s tím, že jí může zavolat i potenciální útočník. Stejně tak informace z LinkedInu nebo výroční zprávy slouží kontrolním orgánům, akcionářům nebo perspektivním potenciálním zaměstnancům, ale mohou sloužit jako brána do vaší firmy nebo organizace. Brána, kterou chcete mít otevřenou pro své zaměstnance, dodavatele a klienty. Ale ta stejná brána by neměla dovnitř pouštět škodnou. Najít tu správnou rovnováhu je už na Vás.