Útočníci s falešnými administrátorskými účty vybírali peníze z bitcoinových bankomatů od českého prodejce General Bytes

Paul Ducklin, Senior Security Avisor ve společnosti Sophos
Při návštěvě jeho webových stránek byste to nezjistili, ale General Bytes, český prodejce bitcoinových bankomatů, vyzývá své zákazníky, aby si opravili kritickou chybu v serverovém softwaru, která jim odčerpává peníze.
Společnost tvrdí, že celosvětově prodala více než 13 000 bankomatů, které se prodávají za 5 000 dolarů a více v závislosti na funkcích a designu. Ne všechny země ale přijaly bankomaty na kryptoměny vlídně – například britský regulační úřad v březnu 2022 varoval, že žádný z bankomatů, které v té době v zemi fungovaly, nebyl oficiálně registrován, a prohlásil, že bude „kontaktovat provozovatele s pokynem, aby byla tato zařízení vypnuta“. V té době jsme zkontrolovali i náš místní krypto bankomat a zjistili jsme, že zobrazuje zprávu „Terminal offline“; později pak bylo zařízení z nákupního centra, kde bylo instalováno, odstraněno. Společnost General Bytes nicméně uvádí, že obsluhuje zákazníky ve více než 140 zemích, a její globální mapa umístění bankomatů ukazuje přítomnost na všech kontinentech kromě Antarktidy.
Hlášení bezpečnostního incidentu
Podle produktové znalostní databáze General Bytes byl minulý týden odhalen „bezpečnostní incident“ s nejvyšší úrovní závažnosti. V prohlášení společnosti se uvádí, že „útočník dokázal vzdáleně, přes administrační rozhraní CAS prostřednictvím volání URL na stránce, která se používá pro výchozí instalaci na serveru a vytvoření prvního administrátora, vytvořit vlastní uživatelský účet s administrátorským oprávněním.“
CAS je zkratka pro Coin ATM Server a každý provozovatel kryptoměnových bankomatů od General Bytes jeden takový potřebuje. Zdá se, že svůj CAS můžete hostovat kdekoli, včetně vlastního hardwaru ve vlastní serverovně, ale společnost General Bytes uzavřela speciální dohodu s hostingovou společností Digital Ocean na levné cloudové řešení, přičemž si můžete nechat provozovat server v cloudu u General Bytes, výměnou za 0,5% podíl ze všech peněžních transakcí.
Podle zprávy o incidentu útočníci provedli skenování portů cloudových služeb Digital Ocean a hledali naslouchající webové služby (na portech 7777 nebo 443), které se identifikovaly jako servery CAS General Bytes, aby našli seznam potenciálních obětí.
Všimněte si, že zde zneužitá zranitelnost se netýkala pouze společnosti Digital Ocean a ani nebyla omezena na cloudové instance CAS. Odhadujeme, že útočníci se prostě rozhodli, že Digital Ocean je dobrým místem, kde začít hledat. Pamatujme na to, že s velmi rychlým internetovým připojením (např. 10 Gb/s) a s použitím volně dostupného softwaru mohou dnes odhodlaní útočníci prohledat celý internetový adresní prostor IPv4 během několika hodin nebo dokonce minut. Takto fungují veřejné vyhledávače zranitelností, jako jsou Shodan a Censys, které nepřetržitě procházejí internet a zjišťují, které servery, v jakých verzích a na kterých online místech jsou právě aktivní.
Podle všeho zranitelnost v samotném CAS umožnila útočníkům manipulovat s nastavením kryptoměnových služeb oběti, včetně:
► přidání nového uživatele s oprávněními správce,
► použití tohoto nového administrátorského účtu k přenastavení stávajících bankomatů,
► přesměrování všech neplatných plateb do vlastní peněženky.
Z toho vyplývá, že provedené útoky byly omezeny na převody nebo výběry, při kterých zákazník udělal chybu. Zdá se, že v takových případech místo toho, aby provozovatel bankomatu chybně převáděné prostředky vybral - aby je následně mohl vrátit nebo správně přesměrovat - putovaly tyto přímo a nevratně k útočníkům.
Společnost General Bytes neuvedla, jak se o této chybě dozvěděla, i když si dokážeme představit, že každý provozovatel bankomatu, který by čelil telefonátu na zákaznickou podporu ohledně neúspěšné transakce, by si rychle všiml, že bylo pozměněno nastavení jeho služby, a spustil by poplach.
Indikátory kompromitace
Zdá se, že útočníci po sobě zanechali různé poznávací znaky své činnosti, takže společnost General Bytes byla schopna identifikovat řadu takzvaných indikátorů kompromitace (Indicators of Compromise, IoC), které mají uživatelům pomoci odhalit hacknuté konfigurace CAS. Nesmíme přitom však zapomenout na to, že nepřítomnost IoC nezaručuje i nepřítomnost útočníků, ale známé IoC jsou užitečným výchozím bodem při odhalování hrozeb a reakci na ně.
Naštěstí, možná i díky tomu, že tento exploit spoléhal na neplatné platby a neumožnil útočníkům přímo vyčerpat bankomaty, celkové finanční ztráty v tomto případě nedosahují mnohamilionových dolarových částek často spojovaných s kryptoměnovými přehmaty.
Společnost General Bytes 22. srpna 2022 uvedla, že „incident byl nahlášen Policii ČR. Celková škoda způsobená provozovatelům bankomatů na základě jejich zpětné vazby činí 16 000 dolarů“. Společnost také automaticky deaktivovala všechny bankomaty, které spravovala jménem svých zákazníků, a tak se tito zákazníci museli před opětovnou aktivací svých bankomatů přihlásit a zkontrolovat vlastní nastavení.
Co se dá dělat?
Společnost General Bytes sestavila jedenáctikrokový postup, který musí její zákazníci dodržet, aby tento problém odstranili, včetně následujících kroků:
► Záplatování serveru CAS
► Přezkoumání nastavení firewallu s cílem omezit přístup na co nejmenší počet uživatelů sítě
► Deaktivace ATM terminálů, aby bylo možné server znovu uvést do provozu za účelem kontroly
► Kontroly všech nastavení, včetně všech falešných terminálů, které mohly být přidány
► Opětovné aktivace terminálů teprve po dokončení všech kroků vyhledávání hrozeb
Tento útok mimochodem důrazně připomíná, proč současná reakce na hrozby nespočívá pouze v záplatování bezpečnostních mezer a odstraňování malwaru. V tomto případě zločinci neimplantovali žádný malware, ale útok byl zorganizován jednoduše prostřednictvím škodlivých změn konfigurace, přičemž základní operační systém a serverový software zůstaly nedotčeny. (26.8.2022)