Ako hacknúť FinFisher

Ako hacknúť FinFisher

FinFisher je softvér, pomocou ktorého je možné zaútočiť na počítače, či telefóny, nainštalovať do nich sledovací softvér a tak získať dlhodobý prístup ku všetkému, čo robí držiteľ zariadenia. Je produktom najväčšieho výrobcu komerčného sledovacieho softvéru na svete, firmy Gamma International. Medzi ich zákazníkov patria vlády mnohých krajín, vrátane tých s totalitmým režimom. A tá sa minulý týždeň stala terčom úspešného hackerského útoku. Hacker získal 40 GB údajov. Medzi dátami bol aj cenník, dokumentácia, či zdrojové kódy.

Tento blog sa opiera o informácie zverejnené údajným útočníkom. Hoci ide o neoverené informácie, postup v nich obsiahnutý je natoľko vierohodný, že by bola škoda sa k nemu nevyjadriť. K dôveryhodnosti informácií prispieva aj fakt, že sa na Internete objavilo množstvo dát z webu Gamma International, takže k nejakému prieniku určite došlo.

Prostredie

Charakter vykonávaných operácií vyžaduje dodržiavanie aspoň základných princípov operačnej bezpečnosti (OPSEC). Predovšetkým dodržiavať mlčanlivosť a utajenie danej operácie. O tomto prieniku sa hacker zrejme nebude chváliť kamarátom pri pive. Bolo by to priveľké riziko. Ďalším dôležitým pravidlom je separácia domáceho a útočného prostredia, keďže tieto by sa nemali nikdy prelínať. Hacker vytvoril šifrovaný a skrytý oddiel disku. Na ňom nainštaloval operačný systém určený výhradne na realizáciu útoku. Na prístup do internetu využil cudzie sieťové pripojenie a okrem anonymizačnej siete Tor využíval cudzie systémy, ku ktorým získal prístup v predošlých prienikoch.

Príprava

Ako prvý a celkom samozrejmý krok bola identifikácia všetkých dostupný serverov, IP adries a doménových mien prevádzkovaných danou spoločnosťou. V tomto prípade „FinFisher GmbH“. Tieto informácie sú verejné a ich zozbieranie vyžaduje len čas a znalosti základných nástrojov pre prácu s WHOIS a DNS. Nápomocné sú samozrejme aj webové vyhľadávače, či dostupné komerčné služby poskytujúce tento druh informácií. Takýmto spôsobom sa útočník dostal aj k jeho cieľu, doméne gamma-international.de, registrovanej na spomínanú spoločnosť, ktorá ho následne presmerovala na finsupport.finfisher.com

Nasledovalo rozpoznanie a identifikácia služieb prevádzkovaných na všetkých nájdených serveroch. Z tých sa ako najsľubnejšia na prienik javila práve spomínaná webstránka na podporu zákazníkov. Jednalo sa totiž o na mieru vytvorenú aplikáciu, ktorá sa navonok prezentovala iba prihlasovacím formulárom. A hoci sa v nej útočníkovi nepodarilo pri prvotnej obhliadke identifikovať žiadne zraniteľnosti, nevzdal sa a položil si otázku, ktorú si položí každý motivovaný útočník: Vytvorila si firma vlastnú webovú aplikáciu alebo si ju nechala vytvoriť externej firme? Odpoveď na túto otázku, ako aj ďalšie smerovanie, už pravdepodobne tušíte. Išlo o aplikáciu vytvorenú externou spoločnosťou. A keďže vývojárske firmy používajú rovnaké komponenty a časti kódu vo viacerých svojich aplikáciách, útočníkove ďalšie kroky smerovali práve k vyhľadaniu iných zákazníkov rovnakej vývojárskej spoločnosti, ktorí používali rovnaký lebo podobný produkt. Hoci sa to môže zdať ako náročná úloha vyžadujúca vysoko sofistikovaný nástroj, opak je pravdou. Aj v tomto prípade útočník použil jeden z najmocnejších pomocníkov: internetový vyhľadávač.

Vyzbrojený zoznamom „pomocných“ cieľov a bez strachu z odhalenia svojho pravého cieľa, sa pustil do identifikovania zraniteľností, ktoré bude môcť neskôr použiť pri útoku na svoj skutočný cieľ. K prekvapeniu samotného útočníka, ako aj čitateľov jeho článku, veľmi rýchlo odhalil viacero kritických zraniteľností vyplývajúcich z priam až žalostného zabezpečenia daných produktov. Útočník využil prvú nájdenú zraniteľnosť k získaniu prístupu na server a stiahnutiu zdrojového kódu aplikácie, v ktorej následne identifikoval ďalšie zraniteľnosti.

Pre čitateľov zbehlých v problematike uvedieme, že aplikácia bola zraniteľná na SQL injection, LFI, kontrola súborov pri uploade bola vykonávaná iba na strane klienta v JavaScripte a pri neautorizovanom prístupe k administračnému rozhraniu aplikácia iba v hlavičke používateľa presmerovala na prihlasovaciu stránku, no obsah zobrazila. Priam školácke chyby.

Útok

Vyzbrojený nájdenými zraniteľnosťami sa následne útočník vrátil k svojmu primárnemu cieľu. Hoci s viacerými z nich neuspel, s jednou predsa len áno. Pomocou nej a jednoduchého skriptu kompromitoval aj ostatné stránky. Stiahol zdrojový kód aplikácie ako aj obsah databázy. Analýzou zdrojového kódu identifikoval ďalšiu fatálnu zraniteľnosť. Registrovaní používatelia mohli pri otváraní požiadavky na používateľskú podporu priložiť súbor. Žiaľ ľubovoľný. Vzhľadom na to, že útočník už vlastnil kópiu databázy, mohol sa prihlásiť ako používateľ podpory, a nahrať na server skript (php shell), pomocou ktorého získal interaktívny prístup k serveru. Server ďalej použil následnému prieniku do lokálnej siete, kde identifikoval ďalší webový server z ktorého získal verziu malvéru pre mobilné zariadenia. Dielo bolo dokonané.

Pokusy o získanie administrátorského prístupu nevyšli. V danej situácii to však nebolo dôležité. Všetky dáta, o ktoré mal útočník záujem, boli poskytované prostredníctvom webového servera. K dispozícii ich už teda mal.

Ochrana?

Ak sa vám tento popis prieniku zdá príliš jednoduchý až absurdný, nedá sa nič iné len súhlasiť. Je však taktiež na mieste podotknúť že práve toto je postup, akým je väčšina prienikov do webových aplikácií realizovaná. A práve takémuto postupu musia denne čeliť spoločnosti či jednotlivci, ktorí sú cieľom motivovaných útočníkov, nech je ich motivácia akákoľvek. Podobným situáciám sa dá pritom predísť. Odborníci môžu vaše systémy otestovať.

O autorovi

Citadelo
Citadelo
Citadelo je dom plný etických hackerov na vašej strane. Pomáhame otestovať ich informačnú bezpečnosť. Podrobte svoje IT prostredie výzve a odhaľte, do akej miery sú vaše citlivé dáta chránené.
Zobraziť viac od autora

Podobné blogy