O kauze Hacking Team jsme na Rootu již psali:
- Hacking Team hacked: prodával spyware mnoha státům včetně Česka
- Postřehy z bezpečnosti: jak to dopadá, když někdo šmíráky nabourá
Jak vlastně k úniku došlo
K akci se přihlásil uživatel Phineas Fisher, který loni zveřejnil o něco méně dokumentů z firmy Gamma Group zabývající se stejným byznysem jako Hacking Team. Loni též vydal zprávu popisující, jak se k tomu dostal. Ve zkratce: vyhackoval hůře zabezpečené servery využívající zakázkový software od stejné firmy jako používala Gamma, nalezl v něm triviální bezpečnostní díry jako SQL injection, a ty potom použil proti Gammě.
O tomto hacku slíbil, že časem také napíše. Zatím byl zveřejněn screenshot kompromitované stanice s Windows s komentářem naznačujícím, že přes ni data tahal. Na druhou stranu v uniklých datech je i seznam opravdu směšných hesel, takže to asi není žádné překvapení…
Zpracování dat
Zveřejněný torrent obsahuje 400 GB různých souborů. Z těch zajímavějších jsou to maily, databáze, domovské adresáře uživatelů, dokumentace a zdrojové kódy utilit vyvíjených Hacking Teamem. Z těch méně zajímavých pak software od linuxových distribucí po cracknuté vývojářské nástroje.
Z torrentu jsem vyčistil zjevné zbytečnosti (jako ta instalační média Windows atd.), rozbalil všechny archivy a z outlookových profilů extrahoval všechny maily do čitelného formátu utilitou readpst. Ještě by asi bylo užitečné vyklonovat všechny git repozitáře, ale to už někdo udělal. Potom jsem na to spustil Recoll. Díky tomu v obsahu archivu můžu rychle vyhledávat fulltextově.
Ještě než mi doběhla indexace, objevily se zaindexované maily na WikiLeaks. Jsou to jenom maily, na druhou stranu mají čitelné přílohy – mně readpst některé přílohy podivně poškodilo.
Dále se v torrentu nacházel linuxový server zazálohovaný stylem tar c /
. Běžela na něm tiketovací aplikace, kterou zákazníci Hacking Teamu používali k řešení technických problémů s podporou, a, jak popíšu dále, i k samotnému získávání exploitů.
Z aplikace nás zajímá asi hlavně databáze. Kupodivu stačilo zkopírovat adresář /var/lib/mysql
a spustit mysql. Dělejte to ale radši v nějakém dobře izolovaném virtuálu, kdo ví, jestli mysql nejde takto exploitnout – nebo třeba udělat shell trigger, který vám něco nepěkného provede.
V databázi jsou docela srozumitelně pojmenované tabulky a snadno se tak najde, co je potřeba. Na projektové stránce vytěžování informací u nás v brmlabu najdete příklad skript, který umožní filtrovat podle e-mailové adresy (uvažte třeba %@%.cz
).
Tak jak to tedy fungovalo?
Následující text je interpretací mailů, které si Hacking Team psal s českým zastoupením. Samozřejmě je možné, že mi něco uniklo, případně že byly maily falšovány.
V Česku probíhala komunikace se společností Bull, jejíž zaměstnanci se podepisovali jako „UZC Bull“. Bull je znám dodáváním různých podobných technologií, dá se dohledat například zakázka na dodání IMSI catcherů (zařízení pro odposlech mobilních telefonů) pro Ministerstvo vnitra (a taky si o něm psali s HT). UZC je pak Útvar zvláštních činností služby kriminální policie a vyšetřování. Kromě e-mailových adres končících na @bull.cz
jsou tam i tikety od @mvcr.cz
, @pcr.cz
a @ppcr.cz
.
Po vyjednání ceny a dalších drobností poskytne HT RCS (Remote Control System)/Da Vinci/Galileo. Jde o grafické rozhraní k řídícímu centru botnetu. V tomto GUI si můžete zakládat skupiny lidí/počítačů, přiřazovat k nim důkazy atd. Nakonec kliknete a vygeneruje se vám soubor agent.exe
obsahující samotného botnet klienta. Ten musí vaše oběť spustit.
Ono je to tedy tedy trochu složitější, podle mailů je několik úrovní botnet klientů. agent.exe
nejspíš pouze stáhne další soubor, kterému říkají Scout. Ten umožňuje na dálku pouze nějaké základní operace. Pak je možné ho upgradovat na Soldier a Elite, které už umí všechno, co inzerují (tahání souborů, keylogger, screenshoty, odposlech…). Je to kvůli tomu, že Elite detekují heuristickými analýzami některé antiviry.
Exploity
Zatím jsme si tedy vygenerovali škodlivý kód. Samozřejmě můžeme oběť pomocí sociálního inženýrství přesvědčit, aby ten exe soubor prostě spustila. U počítačově trochu znalých lidí to ale asi nepůjde. Proto je podstatnou částí řešení tzv. 0day feed. Ten umožňuje zneužít ještě nezveřejněné a neopravené chyby v populárním software. Tyto chyby se například kupují od ruských hackerů nebo od ČVUT. Nebo ne?
HT se zjevně bál dát 0daye přímo do toho RCS – nejspíš by je někteří lidé začali využívat příliš často (například by je nějaká vláda začala vkládat do všech webových stránek putujících přes hranici do jejich země) a každé takové použití nese riziko, že se na to přijde a pracně/draze získaná chyba bude odhalena a opravena. Proto byl postup získání exploitu následující:
- Klient založí tiket a napíše do něj, jaký exploit by si představoval (např. wordovský dokument, webovou stránku atd.) a přiloží vygenerovaný agent.exe. V případě, že jde o wordovský dokument, přiloží jeho „čistou“ verzi, v případě, že jde o webovou stránku, uvede URL, na kterou má být oběť přesměrována. Příklady dokumentů, co jsem viděl, jsou třeba životopisy nebo nájemní smlouvy. Příklady webových stránek jsou i takové nečekané věci jako obchod s tújemi.
- Zaměstnanec HT do dokumentu vloží exploit, případně, jedná-li se o webovou stránku, vytvoří na jednom z mnoha anonymně registrovaných VPS stránku a vloží do ní exploit. Dokument/URL pošle zpět. URL je například
hxxp://46.38.63.194/docs/nx0STJ/adtbp.html
a je doporučeno použít falešného HTML odkazu nebo zkracovače, aby to vypadalo důvěryhodněji (nechápu, proč si nemohli koupit doménu).
Jaké exploity se používaly? Viděl jsem exploit na Flash, exploit na Internet Explorer a exploit na Javu. Co se týče dokumentů, používal se také exploit na Flash. V .docx nebo .pptx souboru byl vložen ActiveX prvek, který stáhl flashovou animaci. .docx stažený z internetu má prý navíc příznak, že pochází z internetu a Word v něm tu ActiveX komponentu nespustí, takže se posílal zararovaný (unrar tedy nejspíš tento příznak nectí).
Z důvodu výše zmíněné opatrnosti byly standardně všechny exploity jednorázové, tj. server poskytující uvedenou animaci ji nechal stáhnout vždycky jenom jednou (kdyby člověku vyskočilo varování od antiviru a pak tu stránku zkoušel tahat znova nebo to někomu poslal na analýzu). Dále byl kontrolován user-agent, že tam člověk jde ze zranitelného prohlížeče. Díky tomu jsou dokumenty čisté, i když je nahrajete třeba na VirusTotal.
Mimochodem z tohoto principu pramení zmatení, které jsem viděl v článcích i diskuzích – člověk si přečte, že chtějí exploit na www.kb.cz a myslí si, že buď útočili na web Komerční banky nebo že se dokonce s KB domluvili, aby jim na tu stránku exploit dala. Ve skutečnosti se ale jedná pouze o cíl toho přesměrování.
Další informace k exploitům
Kromě popsané infekce počítače s Windows jsou podporovány také telefony s Androidem. Ty česká policie využívala konkrétně ke vzdálené aktivaci mikrofonu a nahrávání rozhovorů, které se děly v blízkosti. Mimochodem tato aktivace se děje pomocí SMS a v dumpu díky tomu můžete najít soukromá telefonní čísla policejních agentů. Informace o sledovaných se bohužel omezují na nekvalitně začerněné IP adresy ve screenshotech, IMEI a IMSI telefonu a SIM karty a občas nicneříkající jména agentů (např. RodinaJ_00
) a mnohoznačná hostnames.
Dále je vidět, že kromě počítačů s Windows byl infikován i nějaký MacBook s česky znějícím hostname. A místní osazenstvo by mohlo zajímat, že policie získala demo licenci na linuxovou verzi malware (mimochodem podle všeho se nesnaží nějak moc skrývat a je vidět třeba v ps
) – bohužel byla vydána 26. června 2015, takže si ji nejspíš nestihli moc užít.
Alternativní cestou infekce je též „Evil Maid Attack“ – pokud máte fyzický přístup k počítači, nabootujete live CD a to infikuje Windows, která jsou na počítači nainstalovaná. A ještě jedna věc, injector. Zařízení, které se nainstaluje k ISP a ten flashový exploit vloží do stránky samo, případně napadne nezabezpečenou wifinu a též ho vloží do stránky. O těchto typech útoků se ale dá jen říct, že se o ně policie zajímala, jestli došlo i k nějakému praktickému nasazení z dokumentů není zřejmé.
Slovensko
Hacking Team si psal i se SIS. Nakonec ale k obchodu nedošlo a SIS si pořídila sledovací software od konkurenční Gamma Group.
Služby
Novináři jistě vytáhnou, kolik že to stálo. Je potřeba vzít v úvahu, že podpora Hacking Teamu byla špičková: například česká policie přišla s tím, že jim to nefunguje na ruských Windows XP SP3, a HT to ihned začal řešit, Windows sehnal atd., nebo si třeba koupili lokální antivir (na firemní adresu!), aby zjistili, jestli to projde. Navíc exploity něco stojí a dělat takové GUI a udržovat tu infrastrukturu pro pár zákazníků…
Obrana
Neutěšoval bych se tím, že nemáte Flash, Javu a IE, na které byly použité exploity. Za podobnou cenu jdou sehnat i exploity na jiný software. A cena v přepočtu kolem tří milionů korun? Hacking Teamu zaplatila jenom ČR o řád víc. Navíc ten exploit poskytnou desítkám zákazníků, takže se to rozpustí.
Pravidelné aktualizace nepomohou, protože jde o ještě neodhalené chyby. Co tedy s tím? Obávám se, že na běžném linuxovém desktopu nemáte šanci (pokud by tedy linuxová verze toho malware byla lépe odladěna – což se dá s rostoucí popularitou Linuxu čekat). Pomohlo by spouštět různé věci v různých virtuálech. Tuto myšlenku implementuje třeba Qubes OS.