Česká společnost General Bytes se potýká s bezpečnostním problémem svých bankomatů pro kryptoměny. Těch už do světa prodala přes 13 tisíc, přičemž jeden vyjde na pět tisíc dolarů a více. Chyba umožňuje odčerpávání prostředků z bankomatů. General Bytes incident nahlásila Policii ČR. Škoda způsobená provozovatelům se dostala na 16 tisíc dolarů, tedy asi 400 tisíc korun. Firma zveřejnila postup, jak zranitelnost opravit.
“Útočník dokázal vzdáleně, přes administrační rozhraní CAS (Coin ATM Server) 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,” informují General Bytes. Každý provozovatel kryptoměnových bankomatů od General Bytes potřebuje jeden zmiňovaný Coin ATM Server.
“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 půlprocentní podíl ze všech peněžních transakcí,” uvádí Paul Ducklin ze společnosti Sophos, která situaci monitoruje.
Ducklin situaci rozebírá následovně:
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říklad 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ů a 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.
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ě.