Три способа взломать банкомат: удаленно, почти удаленно и с помощью дрели

“Лаборатория Касперского” расследует разные способы взлома банкоматов: с помощью удаленно контролируемого зловреда, а также с использованием Bluetooth-клавиатуры и дрели.

Три способа взломать банкомат

Вы, наверное, обращали внимание, что нам очень нравятся банкоматы. Сами мы их, конечно, не взламываем, за исключением наших собственных тестовых семплов, но, если это делает кто-то другой, с радостью беремся это расследовать. На SAS 2017, главной конференции года по кибербезопасности, специалисты «Лаборатории Касперского» Сергей Голованов и Игорь Суменков рассказали о трех интересных способах взломать банкомат.

ATMitch, вредоносное ПО с удаленным управлением

Итак, банкомат был пуст. Осмотрев машину, служба безопасности банка не нашла ни вредоносных программ, ни странных отпечатков пальцев, ни следов физического взлома или подключения каких-либо сторонних устройств, способных взять банкомат под контроль. Денег никто тоже не нашел.

Однако кое-что сотрудники банка все-таки обнаружили — текстовый файл kl.txt. Они предположили, что «kl» может быть как-то связано с KL, то есть с «Лабораторией Касперского», и обратились к нам с этим вопросом. Вот так мы и начали расследовать этот случай.

Получив данные из того самого log.txt, наши исследователи смогли сформулировать правило для YARA, инструмента для исследования вредоносных программ. Попросту говоря, они задали поисковый запрос для базы вредоносных файлов и стали ждать. Спустя день поиски принесли плоды: был обнаружен файл tv.dll, который успел всплыть аж дважды — в России и Казахстане. Этой ниточки хватило, чтобы распутать весь узел.

Тщательно исследовав DLL-файл, наши специалисты смогли понять, как проводилась атака, и даже воспроизвели ее на специальном банкомате, установленном в нашей лаборатории. И все получилось: тестируемый банкомат послушно выдал им загруженные в него банкноты.

ATMitch в деле

Атака началась с того, что преступники проникли на сервер банка, использовав для этого давно известную, но незакрытую уязвимость (мы, помнится, уже говорили, что обновлять программное обеспечение нужно, важно и полезно, — вот вам яркий пример).

Мошенники использовали открытый код и общедоступные программы, чтобы инфицировать банковские компьютеры. Однако зловред у них получился очень хитрый: он хранил свои данные в оперативной памяти системы, а не на жестком диске, так что для защитных решений он оставался незаметным. Более того, после перезагрузки исчезали какие-либо следы заражения.

Взяв под контроль компьютеры в банке, зловред подключается к командному серверу и позволяет мошенникам удаленно загрузить вредоносное ПО прямо в систему банкоматов.

Так ATMitch добирается собственно до банкомата. Благодаря настроенному туннелю от командного сервера в банк это все выглядит как вполне легитимное обновление ПО, так что ни одно средство защиты не поднимает тревогу. Попав внутрь, ATMitch отправляется на поиски файла по имени command.txt. В нем содержатся односимвольные команды, которые используются для управления банкоматом. Например, «О» означает «Открыть лоток для выдачи наличных».

Обнаружив файл, ATMitch первым делом интересуется, сколько денег есть в банкомате, а затем просит машину выдать определенное количество купюр. К этому моменту возле банкомата как раз оказывается сообщник преступников, который забирает наличные и исчезает как ни в чем не бывало.

Преступники постарались замести все следы, поэтому специалисты банка не нашли никаких сторонних исполняемых файлов на жестком диске ограбленного банкомата. После извлечения денег ATMitch стер даже файл command.txt.

ATMitch потенциально способен заразить любой банкомат, поддерживающий библиотеку XFS, а это умеют практически все современные банковские машины. Подробнее об этой афере вы можете прочитать на securelist.ru.

Bl@ckb0x_m@g1k: простой, но очень эффективный трюк

Эта история покороче. Все началось с еще одного звонка из банка. Классическая тупиковая ситуация: пустые логи, никаких подозрительных файлов на жестком диске, более того, мошенник даже заклеил объектив камеры наблюдения. Ну как отказаться от такого дела?

Мы попросили представителей банка доставить банкомат в наш офис. Разобрав его, мы обнаружили (что бы вы думали?) подключенный к USB-хабу банкомата Bluetooth-адаптер. А на жестком диске нашлись драйверы для Bluetooth-клавиатуры.

Этого хватило, чтобы реконструировать всю схему. Итак, сначала мошенник подключил Bluetooth-адаптер к банкомату, а потом подождал три месяца, чтобы логи очистились (они хранятся как раз столько времени). Затем преступник вернулся, заклеил камеру наблюдения, достал Bluetooth-клавиатуру, подключил ее и перезагрузил устройство в режим обслуживания. Так он смог запустить сервисную команду по опустошению кассет с деньгами. Вот, собственно, и вся история номер два.

Дрель. Самая настоящая электродрель

Удаленный взлом и подключение Bluetooth-клавиатуры — это даже в какой-то степени изящно, но бывают и куда более прямолинейные способы.

Эта история началась с еще одного обращения от банка: преступники взломали банкомат, оставив после себя идеально круглое отверстие диаметром около 4 сантиметров, прямо рядом с клавиатурой, с которой вводят PIN-код. Вы, скорее всего, думаете, что банкоматы сделаны из толстенной стали, но некоторые части пластиковые, и их довольно легко просверлить. Других улик специалисты банка не нашли.

Затем последовало несколько похожих происшествий в России и Европе, разве что отверстия были не такими круглыми. В конце концов полиция поймала подозреваемого, вооруженного ноутбуком и набором проводов.

Наши специалисты разобрали банкомат, установленный в тестовой лаборатории, чтобы понять, что же искали преступники рядом с клавиатурой. Там нашелся 10-контактный коннектор, подключенный к шине, которая связывала между собой практически все компоненты банкомата, от компьютера до кассет с купюрами.

Кроме того, в банкомате использовалось очень слабое шифрование, которое можно было без особого труда взломать. Итак, еще раз вкратце описываем ситуацию: шифрования практически нет, так что в командах разобраться не проблема; подключившись к любой части банкомата, можно управлять всеми его компонентами, между которыми нет никакой системы авторизации, так что любую часть можно заменить незаметно для всех остальных. Звучит ну очень безопасно, правда?

Потратив целых $15 и сколько-то времени, мы сделали простую микросхему, с помощью которой можно было управлять банкоматом. Подключив ее к последовательной шине, мы заставили тестируемый банкомат выдать нам фальшивые деньги, которые использовали в тестовых целях. Похоже, преступники проделали тот же трюк, только в их случае банкомат был заряжен настоящими деньгами, а вместо микросхемы они использовали ноутбук.

Мы сообщили об обнаруженной уязвимости в банк. К сожалению, как объяснил Игорь Суменков, банкоматы нельзя обновить удаленно — нужно менять «железо», то есть технический специалист должен добраться до каждого банкомата и сколько-то с ним повозиться. А банкоматов очень, очень много…

Банкоматы ломают. И что?

Сформулируем краткую мораль всех трех историй.

1. Идете снимать зарплату? Оставьте свою дрель и Bluetooth-клавиатуру дома, а то сотрудники банка могут неправильно вас понять. Эй, мы пошутили, но дрель все равно положите!

2. Если вы не сотрудник банка, ни одна из этих угроз не должна вас беспокоить. Это проблемы банка, а не его клиентов.

3. А вот если вы работаете в банке и можете как-то повлиять на уровень безопасности банкоматной сети, вам есть о чем подумать. Все решения «Лаборатории Касперского» распознают ATMitch — с этим мы вам легко поможем. Но вот антидрелевые металлические щиты мы не делаем. С другой стороны, для решения этой проблемы хватит и системы видеонаблюдения.

Советы