Специалисты компании Trend Micro рассказали, что в рамках совместных исследований с сотрудниками Европола им удалось обнаружить семейство малвари для банкоматов, которое получило название Alice.
Вредонос нашли в ноябре 2016 года, но некоторые признаки указывают на то, что Alice была создана еще в 2014 году. Малварь позволяет злоумышленникам похищать деньги из банкоматов, если к устройству есть физический доступ. По мнению специалистов, Alice будет работать с любым банкоматом, если тот использует Microsoft Extended Financial Services (XFS).
Исследователи пишут, что для взлома злоумышленникам необходимо иметь доступ к USB или CD-ROM банкомата, чтобы загрузить вредоноса, а затем к материнской плате устройства придется подключить клавиатуру, так как малварь вообще не задействует встроенный клавиатурный блок. Впрочем, возможно, предположение о клавиатуре ошибочно, так как Alice может использовать и Remote Desktop Protocol (RDP), хотя пока исследователи не заметили, чтобы малварь действовала таким образом.
Исследователи пишут, что обнаруженные ими образчики Alice были упакованы посредством коммерческого упаковщика и обфускатора VMProtect, что было призвано защитить малварь. Кроме того, перед началом работы Alice убеждается, что точно запущена на банкомате, для чего производит проверку нескольких записей в реестре и запрашивает специфические DLL.
После запуска Alice создает два файла в root-директории: пустой файл xfs_supp.sys, размером 5 Мб, а также журнал регистрации ошибок TRCERR.LOG. Затем вредонос подключается к периферии CurrencyDispenser1 (в XFS среде – это диспенсер) и запрашивает PIN-код. Если код введен верно, на экране устройства отображается информация о кассетах с деньгами, загруженных в банкомат.
Исследователям удалось выяснить, что Alice поддерживать три команды, каждая из которых имеет своей PIN-код. Первая команда позволяет расшифровать и поместить файл sd.bat в текущую директорию. Данный файл отвечает за удаление Alice. Вторая команда позволяет выйти из программы и инициировать процесс стирания малвари. Третья команда позволяет запустить панель администратора. Получить данные о загруженных в банкомат денежных средствах можно из этой панели. Причем подобрать PIN-код брутфорсом не выйдет, Alice разрешает осуществить ограниченное количество попыток ввода, после чего демонстрирует ошибку.
В итоге для хищения денежных средств атакующему нужно только ввести ID кассеты, и банкомат выдаст деньги. Команда на выдачу средств передается CurrencyDispenser1 через API WFSExecute. И хотя у большинства банкоматов есть лимит выдачи наличных: не более 40 банкнот за один раз, атакующие могут легко обойти это ограничение, повторив операцию многократно. К тому же информация о содержимом кассет будет динамически обновляться на экране.
Исследователи Trend Micro считают, что Alice предназначена для так называемых «денежных мулов», а PIN-коды, которые авторы вредоноса изменяют для каждого образца, используются как дополнительный слой защиты. Это не позволяет «мулам» передавать коды кому-либо еще, и, скорее всего, позволяет авторам Alice отслеживать их работу.