В 2024–2025 годах по США прокатилась волна jackpotting - преступники обналичивали содержимое кассет без единой карты и без стандартной транзакции. FBI и Secret Service выпускали предупреждения о всплесках jackpotting-атак с малварью Ploutus, аресты шли в нескольких штатах. По оценке SISA, восстановление одного заражённого банкомата обходится свыше $25 000 - форензика, переустановка ОС, сертификационное тестирование и простой. Для SOC-команды финансовой организации вывод простой: detection-стек для ATM-сегмента давно не опционален.
Я провожу авторизованные тесты банкоматов под управлением XFS-стека, разбирал Ploutus и Tyupkin в лабе на реальном железе, подключался к шине диспенсера через сервисный порт. Ниже - синтез offensive-практики и конкретных detection-рекомендаций для тех, кто строит мониторинг банкоматной инфраструктуры.
Поверхность атаки банкомата: физический и логический уровни
Физический доступ к верхней панели
Банкомат конструктивно делится на две части: бронированный сейф (кассеты с наличными, диспенсер) и верхняя панель - «top hat» в терминологии NCR/Diebold Nixdorf/Wincor. Top hat защищён стандартным замком и содержит системный блок, сетевые интерфейсы, кардридер, чековый принтер.Замки верхних панелей серийного производства часто используют одинаковые ключи на всю партию. При black-box пентесте атакующий открывает top hat сервисным ключом или обходит замок, получая доступ к USB-портам и жёсткому диску. Времени - 2-5 минут. Преступники маскируются под техников обслуживания, что делает визуальное обнаружение почти невозможным.
Контекст применимости: физический вектор актуален для ATM в слабоконтролируемых зонах - торговые центры, АЗС, вестибюли без круглосуточной охраны. Банкоматы в отделениях банков с видеоаналитикой и охраной - другой профиль риска.
Что видит SOC: ничего - если нет интеграции с физической безопасностью. Алерт на вскрытие корпуса от тамперного датчика должен идти как P1 в SIEM с автоматическим блокированием сетевого порта ATM через NAC. Без этой связки между физическим и логическим мониторингом - слепая зона размером с весь ATM-парк.
Уязвимости банкоматов XFS: архитектурная слабость
Extensions for Financial Services (XFS) - стандартный API для управления периферией банкомата: диспенсером, кардридером, пинпадом, чековым принтером. XFS работает поверх Windows (XP Embedded, 7, 10 IoT) и даёт единый интерфейс для банковского ПО независимо от вендора оборудования.Архитектурная проблема: XFS-команды на уровне middleware не требуют аутентификации конечного пользователя. Получив возможность выполнять произвольный код на ОС банкомата, атакующий отправляет
WFSExecute к диспенсеру напрямую - минуя банковское приложение и бэкенд-авторизацию процессинга. Именно эту слабость эксплуатируют все известные семейства ATM-малвари.По данным SISA, Ploutus подменяет или модифицирует легитимные XFS-библиотеки (в частности
msxfs.dll), чтобы генерировать rogue-команды выдачи. Команды исходят от доверенного middleware, поэтому бэкенд не видит аномалии - для процессинга операция просто не существует.Атаки на банкоматы: jackpotting двумя методами
Малварный jackpotting: Ploutus и Tyupkin
По данным SISA, Ploutus остаётся одним из наиболее технически зрелых семейств ATM-малвари с вариантами Ploutus-D и Ploutus-Z. Типичная цепочка атаки:- Физический доступ - вскрытие top hat, загрузка с USB или подмена внутреннего накопителя
- Персистентность - модификация ключа реестра Windows
Userinitдля автозапуска. Это Boot or Logon Autostart Execution (T1547, Persistence/Privilege Escalation по MITRE ATT&CK) - Перехват XFS - подмена
msxfs.dllи связанных библиотек для генерации rogue-командWFSExecuteк диспенсеру. По MITRE ATT&CK - Compromise Host Software Binary (T1554, Persistence) и Transmitted Data Manipulation (T1565.002, Impact) - Активация - ранние варианты Ploutus использовали SMS-активацию через подключённый GSM-модем; Ploutus-D, доминирующий с 2017 года, активируется через внешнюю USB-клавиатуру и mule-коды, генерируемые master-PIN. Скрытый интерфейс показывает содержимое кассет
- Выдача - скорость превышает 100 купюр в минуту
- Очистка - удаление артефактов XFS-активности и операционных логов. Indicator Removal (T1070, Defense Evasion)
Инсайдерский вектор: на нескольких проектах я видел сценарий, где скомпрометированный сотрудник подрядчика по обслуживанию ATM устанавливал малварь при плановом визите. Легитимный доступ, легитимные инструменты, единственный человек у банкомата - detection на уровне СКУД и dual-control тут критичен.
Ограничения техники в современных средах: ATM с TPM и Secure Boot блокируют загрузку с неподписанного USB. Application whitelisting (Kaspersky Embedded Systems Security, Trellix Application Control) при корректной настройке предотвращает запуск неизвестных бинарей. Шифрование XFS-канала между middleware и диспенсером (реализовано в последних поколениях NCR) делает перехват команд невозможным без валидных ключей.
Black-box атака на диспенсер банкомата
Black-box не требует компрометации ОС. Атакующий отключает штатный системный блок от диспенсера, подключает собственное устройство (одноплатник, ноутбук) напрямую к шине и шлёт команды выдачи, имитируя легитимный контроллер.Банкомат можно опустошить менее чем за 10 минут. После хищения устройство извлекается, кабели восстанавливаются - ATM выглядит работоспособным.
Применимость: black-box эффективен против legacy-банкоматов без шифрования канала компьютер-диспенсер. ATM с end-to-end encryption (E2EE) на уровне диспенсера делают эту атаку значительно сложнее - устройство атакующего не пройдёт криптографическое рукопожатие.
Физический vs логический пентест ATM: когда что применять
| Критерий | Физический пентест (black-box) | Логический пентест (white-box) |
|---|---|---|
| Что проверяет | Замки, USB-порты, тамперы, шина диспенсера | XFS-стек, whitelist, сетевая сегментация |
| Модель злоумышленника | Криминал с физическим доступом | Инсайдер или APT с сетевым доступом |
| Инструменты | JTAG/UART адаптеры, одноплатники | ATMdesk, Wireshark, фаззинг XFS-команд |
| Время на один ATM | 10-30 минут | Часы и дни (анализ конфигурации) |
| Применимо к | Legacy ATM без E2EE и Secure Boot | Любое поколение ATM |
| Когда НЕ подходит | Современные ATM с TPM/E2EE | Оценка физической защиты периметра |
Shimming и безопасность POS-терминалов
Shimming - эволюция skimming для EMV-чипов. Тонкая плата (shim) помещается внутрь картоприёмника и перехватывает данные между чипом карты и терминалом. Полученных данных недостаточно для клонирования EMV-чипа (динамическая аутентификация), но хватит для клона магнитной полосы при fallback-транзакциях или для card-not-present фрода.Для POS-терминалов на базе Linux или Windows CE (встречаются в рознице) актуальны дополнительные векторы:
- UART-доступ - через контакты TX/RX/GND на плате можно получить root-шелл. На многих legacy-терминалах UART открыт без аутентификации
- Дефолтные учётные данные -
root:root,admin:admin, пустые пароли - первое, что проверяется при физическом пентесте - Незащищённые сетевые интерфейсы - открытые Telnet/SSH, веб-интерфейсы управления без аутентификации
Detection-чеклист для банкоматной сети: IOC и правила корреляции
Разбор атаки без detection-части - пустая трата времени для Blue Team. Ниже конкретные IOC и правила корреляции, привязанные к TTP из предыдущих разделов.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Тестирование безопасности банкоматов: hardening-чеклист
Нумерованный чеклист для передачи в IT-подразделение или включения в отчёт по пентесту:- Замена EOL-ОС - Windows XP Embedded, Windows 7 Embedded заменить на Windows 10 IoT Enterprise LTSC. Непатчимая ОС - открытая дверь для малвари
- Application whitelisting - Kaspersky Embedded Systems Security или Trellix Application Control. Проверить, что whitelist работает в enforce-режиме (на нескольких проектах я находил whitelist в audit mode с момента установки - стоит, но не защищает)
- Шифрование XFS-канала - E2EE между middleware и диспенсером. Без E2EE black-box атака тривиальна
- Блокировка USB-портов - физическая заглушка + device control в EDR. ID.AM-01 (NIST CSF v2.0) - инвентаризация аппаратных активов включает контроль интерфейсов
- Тамперные датчики - на top hat и сейфе, с алертом в SOC. Проверка работоспособности ежемесячно
- Сетевая сегментация - ATM-сегмент изолирован от корпоративной сети и интернета. Firewall с allow-list: только процессинг, только нужные порты
- BIOS/UEFI-пароль и Secure Boot - предотвращение загрузки с внешних носителей
- TPM - контроль целостности ОС и компонентов при загрузке
- Dual control - два авторизованных техника для USB-подключения или software-обновления. PR.AA-01 (NIST CSF v2.0) - управление идентификацией и доступом для авторизованных пользователей и оборудования
- FIM - мониторинг
msxfs.dll, конфигураций XFS, системных библиотек с алертом в SIEM - Индивидуальные замки - замена серийных замков top hat на электронные с аудит-логом
- Видеоаналитика - AI-детекция нетипичных действий у сервисной панели ATM
- P2PE для всех карточных транзакций
- Анти-shimming вставки в картоприёмник
- Изоляция POS от общей сети торговой точки (выделенный VLAN)
- Регулярная ротация ключей шифрования
Kill chain ATM-атаки: место в общей картине
Атака на банкоматную сеть может быть изолированным инцидентом (цель - наличные) или этапом масштабной операции. По данным SISA, Ploutus нередко распространяется латерально к branch-сетям или центральным ATM-контроллерам.| Этап | ATM-специфика | MITRE ATT&CK |
|---|---|---|
| Initial Access | Физический доступ к top hat, USB-загрузка | Не маппится (физический доступ) |
| Persistence | Userinit registry key | T1547 |
| Defense Evasion | Удаление логов, отключение мониторинга | T1070 |
| Impact | Выдача наличных без авторизации | T1565.002 |
| Lateral Movement | Распространение к другим ATM и branch | Через ATM controller |
При пентесте банкоматной сети не ограничивайтесь одним устройством - проверяйте, может ли скомпрометированный ATM стать pivot-точкой для атаки на процессинг или core banking.
Финансовые и регуляторные последствия: помимо прямых потерь (по данным SISA - до сотен тысяч долларов с одного устройства при координированных атаках), инцидент jackpotting влечёт нарушение PCI-DSS, проблемы с AML-комплаенсом, штрафы регулятора. В российском контексте - Положение Банка России № 821-П (вступило в силу 01.04.2024) обязывает кредитные организации проводить тестирование на проникновение, а ГОСТ Р 57580.1-2017 конкретизирует требования к анализу защищённости на этапах ввода в эксплуатацию и сопровождения автоматизированных систем.
На проектах по оценке защищённости ATM я вижу один и тот же паттерн: банки вкладываются в бронирование сейфовой части и полностью игнорируют top hat. Замок верхней панели - одинаковый на сотнях банкоматов серии, application whitelist стоит в audit mode с момента установки, FIM на XFS-библиотеках отсутствует. Значительная часть ATM-парка работает на Windows 7 Embedded с истекшей поддержкой - банки знают, но миграция парка из тысяч устройств стоит сотни миллионов рублей и растягивается на годы.
SOC получает инфраструктуру, которую невозможно патчить, с недокументированными XFS-расширениями от трёх вендоров одновременно. Detection в таких условиях строится не от обновлений, а от жёсткого baseline: любое отклонение от зафиксированного состояния ATM - алерт P1 без исключений. Компромиссов тут быть не может. Атакующий с физическим доступом и десятью минутами в запасе не оставит ни одного шанса detection-стеку, настроенному на «средний» уровень чувствительности. Тематический тред с разбором detection-правил под банкоматный сегмент - на codeby.net.