Силуэт человека в тёмном худи на фоне монитора с зелёным терминальным выводом. Единственный источник света окрашивает клавиатуру и фигуру оператора в холодный фосфорный оттенок.


На внутреннем red team для банка из топ-30 мы дошли от spear-phishing письма до операторского АРМ SWIFT за 19 дней - при двух файрволах и выделенном VLAN для secure zone. Один сервисный аккаунт с правами на обе зоны превратил формальную сегментацию в декорацию. Этот сценарий один в один повторяет kill chain Lazarus Group в инциденте с Bangladesh Bank и группировки Cobalt в атаке на российский «Глобэкс»: атаки на SWIFT межбанковские системы - не эксплуатация уязвимости в протоколе, а многонедельная APT-операция через слабейшее звено - людей и корпоративную сеть вокруг secure zone. Ниже - полная цепочка от initial access до Financial Theft (T1657) с маппингом MITRE ATT&CK, разбором реальных инцидентов и конкретными Sigma-правилами для детекта.

Kill chain атак на SWIFT-инфраструктуру​

Ни одна крупная кибератака на банки SWIFT не случилась за один день. По данным ISACA, каждый известный инцидент - результат планомерной операции, растянутой на недели и месяцы. Атакующие проходят через чёткие фазы, которые укладываются в классический Cyber Kill Chain, адаптированный под финансовую инфраструктуру. Разберём каждую фазу с привязкой к реальным TTP.

Initial access: фишинг операторов и доверенные отношения​

Точка входа в банковскую сеть - Spearphishing Attachment (T1566.001, Initial Access). И Lazarus Group, и группировка Cobalt использовали один паттерн: таргетированное письмо сотруднику банка с вложением - PDF или DOCX с макросами, замаскированным под платёжное поручение, запрос регулятора или уведомление от SWIFT. По данным ISACA, доставка вредоноса шла также через malvertising, drive-by download и даже заражённые USB-носители. Но эндпоинты операторов оставались главной точкой входа.

Второй вектор - Trusted Relationship (T1199, Initial Access). В России до конца 2018 года взаимодействие SWIFT с рядом банков шло через сервис-бюро - посредников, которые имели доступ к конфиденциальной информации пользователей, включая IP-адреса и критическую инфраструктуру (точное название компании-посредника требует верификации по первоисточнику). Управляющий партнёр «Россвифт» Максим Зимовнов публично указывал на этот риск: компрометация посредника давала потенциальный доступ ко множеству банков-клиентов одновременно. По сути - supply chain attack на финансовый сектор целой страны.

Выбор вектора зависит от сценария:

СценарийПриоритетный векторКонтекст
Внутренний пентест, grey box (есть email-адреса сотрудников)Spearphishing Attachment (T1566.001)Целевые письма операторам SWIFT и их руководителям
Внутренний пентест, black box (нет учётных данных)OSINT + LinkedIn recon для сбора email-адресов, затем фишингТребует 1-2 недели подготовки
Физический доступ к офисуUSB drop, rogue device в офисном сегментеАктуально для банков без контроля USB на АРМ
Внешний пентест (без внутреннего доступа)Recon публичных сервисов банка, web-приложенияSWIFT secure zone не должна иметь прямого выхода в интернет - вектор нерелевантен

Lateral movement: от офисной сети до secure zone​

После initial access атакующий оказывается в офисном сегменте - до SWIFT ещё далеко. Дальше начинается lateral movement, и в банковском контексте у него своя специфика.

Credential harvesting через Keylogging (T1056.001, Credential Access) - вредонос записывает нажатия клавиш на скомпрометированных рабочих станциях, перехватывая пароли к внутренним системам. Параллельно атакующий снимает скриншоты рабочего стола - не ради красивых картинок, а чтобы понять бизнес-процессы банка и вычислить операторов SWIFT.

Valid Accounts (T1078, Initial Access / Persistence / Privilege Escalation) - ключевая техника всей цепочки. Атакующий использует перехваченные credentials для легитимного входа в системы, и сигнатурные детекты молчат - аутентификация-то настоящая. По данным Intervalle Technologies, 67% успешных атак на SWIFT-инфраструктуру включали компрометацию учётных данных, а 45% - эксплуатацию непатченных уязвимостей в сетевых устройствах secure zone (выборка и методология исследования не раскрыты - к цифрам стоит относиться с оговоркой).

Masquerading (T1036, Defense Evasion) - маскировка вредоносных процессов и файлов под легитимные банковские приложения. SOC видит знакомое имя процесса и не дёргается.

Среднее время от проникновения до вывода средств - 3-4 недели. Эту цифру подтверждает расследование Group-IB по инциденту с «Глобэкс». За это время атакующий картирует сетевую топологию, находит пути от офисного сегмента к secure zone и закрепляется.

Ограничения в современных средах: банки с зрелым SOC и EDR-покрытием на эндпоинтах secure zone детектируют lateral movement через аномальные аутентификации и поведенческий анализ. Но legacy-инфраструктуры с Windows Server 2008/2012 в secure zone - а таких в реальных проектах пока немало - часто не имеют EDR-агентов вообще. Мониторинг таких сегментов ограничен сетевым уровнем, и это создаёт слепую зону размером с грузовик.

Манипуляция SWIFT-сообщениями и вывод средств​

Финальная фаза объединяет Transmitted Data Manipulation (T1565.002, Impact) и Financial Theft (T1657, Impact).

Добравшись до операторского АРМ с Alliance Access, атакующий:
  1. Формирует поддельные SWIFT-сообщения - MT103 для клиентских переводов, MT202 для межбанковских - на вывод средств на подконтрольные счета
  2. Модифицирует серверное ПО Alliance Access для сокрытия следов: подавляет печать подтверждений, удаляет записи из локальной базы транзакций
  3. Применяет Clear Windows Event Logs (T1070.001, Defense Evasion) для затруднения forensic-расследования
По описанию ISACA, атакующие устанавливают выделенные C2-серверы для эксфильтрации данных из заражённой SWIFT-инфраструктуры и удалённого управления скомпрометированными системами. C2-трафик шифруется - ещё один слой, затрудняющий обнаружение.

Реальные инциденты: разбор компрометации банковских сетей по TTP​

Bangladesh Bank 2016: анатомия хищения $81M

Инцидент с Центральным банком Бангладеш - каноничный кейс для анализа финансовых киберугроз. APT38 - финансово-мотивированный кластер, выделенный из Lazarus Group в 2018 году (по классификации Mandiant; связан с Главным разведывательным управлением (Reconnaissance General Bureau, RGB) КНДР согласно FBI, US Treasury и Mandiant) - провела многомесячную операцию.

ФазаTTP (MITRE ATT&CK)Что произошло
Initial AccessSpearphishing Attachment (T1566.001)Вредоносное вложение сотруднику банка
Credential AccessKeylogging (T1056.001), Valid Accounts (T1078)Перехват credentials операторов SWIFT
Lateral MovementValid Accounts (T1078)Перемещение от офисного сегмента к SWIFT secure zone
ImpactTransmitted Data Manipulation (T1565.002)Отправка 35 платёжных инструкций на $951M через Alliance Access; 5 из них прошли (~$101M), 30 заблокированы
ImpactFinancial Theft (T1657)Вывод ~$101M: $81M на счета в Филиппинах, $20M в Шри-Ланку (заблокированы и возвращены)
Defense EvasionClear Windows Event Logs (T1070.001), Masquerading (T1036)Модификация ПО Alliance Access для подавления алертов

Атакующие модифицировали серверное ПО Alliance Access, чтобы подавить автоматическую печать подтверждений SWIFT-транзакций. Это создало временное окно - пока в банке не хватились, деньги уже ушли. Изначально злоумышленники направили 35 платёжных инструкций на $951 миллион. Большую часть заблокировали промежуточные банки - по иронии, из-за опечатки в названии получателя (слово «fandation» вместо «foundation» в одной из транзакций вызвало подозрение у Deutsche Bank). По данным Radware, к 2018 году удалось вернуть лишь около $15 миллионов из выведенных на Филиппины $81 миллиона (оценки варьируются: Radware указывает ~$18M; по данным Reuters и DOJ - ближе к $15M).

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

Lazarus Group не ограничивалась одной целью: по данным Radware, группировка успешно атаковала банки в Эквадоре ($12 миллионов из Banco del Austro, январь 2015, частично возвращено; атрибуция APT38 предположительна), Вьетнаме (попытка вывода $1,36 миллиона из Tien Phong Bank, 2015, заблокирована до завершения) и Тайване (попытка вывода ~$60 миллионов из Far Eastern International Bank, 2017 - почти все средства возвращены, безвозвратно потеряно менее $0,5M). Всего APT38 атаковала SWIFT-эндпоинты, банки и финансовые организации минимум в 38 странах.

«Глобэкс» 2017: первый SWIFT-вывод из российского банка​

15 декабря 2017 года дочерний банк ВЭБа «Глобэкс» подвергся атаке группировки Cobalt - первому в России инциденту с выводом средств через SWIFT. По данным Group-IB, проводившей расследование:
  • Проникновение произошло через банковское вредоносное ПО, разосланное несколькими неделями ранее
  • Промежуток от initial access до вывода - 3-4 недели
  • Средства ушли в Европу, Азию и Америку - сумма, эквивалентная примерно $1 миллиону
  • Средства клиентов, по заявлению руководства банка, не пострадали
Замначальника ГУБиЗИ ЦБ Артём Сычёв прокомментировал выбор канала вывода: SWIFT был использован потому, что «обналичивание за рубежом злоумышленники сочли менее рискованным, чем в России». Структурное подразделение ЦБ по информационной безопасности назвало Cobalt главной угрозой для кредитных организаций, указав минимум 50 успешных атак группы по всему миру.

Характерная деталь для понимания защиты межбанковских систем в России: незадолго до инцидента банк прошёл проверку ЦБ и получил претензии по уровню информационной безопасности. Реализовал ли «Глобэкс» рекомендации - установить не удалось. Но сам факт говорит о многом: аудит нашёл проблемы, через пару месяцев те же проблемы нашёл Cobalt.

Архитектура SWIFT secure zone глазами атакующего​

Alliance Access и операторские АРМ: поверхность атаки​

Типичная архитектура SWIFT в банке, описанная в материалах ISACA, включает три компонента: secure zone (изолированный сегмент с Alliance Access или Alliance Gateway и HSM для криптографической подписи сообщений), операторские АРМ (рабочие станции сотрудников, авторизованных на формирование и подтверждение SWIFT-сообщений) и middleware-интеграцию между core banking system (АБС) и SWIFT.

Глазами атакующего - критические точки компрометации:

КомпонентВекторПрименимостьДетект
Операторский АРМKeylogging (T1056.001), перехват сессийВнутренний пентест, grey boxEDR на АРМ, мониторинг процессов
Alliance Access серверМодификация бинарников, манипуляция локальной БДВнутренний пентест с доступом к secure zoneFile integrity monitoring
Сетевой периметр secure zoneValid Accounts (T1078) через сервисный аккаунтЛюбой внутренний сценарийАномальные аутентификации вне рабочих часов
Middleware / интеграция с АБСMan-in-the-middle между АБС и Alliance AccessВнутренний пентест, legacy-инфраструктураКонтроль целостности сообщений на стороне АБС

Через систему SWIFT проходит более 40 миллионов сообщений в день, к сети подключено свыше 11 000 финансовых учреждений в 200+ странах. В России - более 600 банков. Каждый из них потенциально может стать целью, если атакующий найдёт путь от офисного сегмента к secure zone. А он найдёт - вопрос времени и качества сегментации.

Детект атак на SWIFT: что видит и не видит SIEM​

Обнаружение атак на финансовую инфраструктуру упирается в три проблемы. Alliance Access генерирует логи специфического формата, которые не парсятся стандартными SIEM-коннекторами из коробки - нужны кастомные парсеры. Операторские АРМ часто находятся в «слепой зоне»: EDR не установлен из-за legacy ОС или сертификационных ограничений, Sysmon не настроен. И самое неприятное: Valid Accounts (T1078) с реальными credentials оператора не генерирует алерт - аутентификация выглядит легитимно.

Что реально стоит мониторить для SWIFT fraud detection:
YAML:
# Sigma: аутентификация оператора SWIFT вне рабочего времени
title: SWIFT Operator Login Outside Business Hours
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4624
        TargetUserName|contains: 'swift_op'
    condition: selection
    # ВНИМАНИЕ: Sigma не поддерживает нативную фильтрацию по времени суток.
    # Это правило сработает на ЛЮБОЙ логин swift_op.
    # Фильтрацию по нерабочим часам (например, 00-06, 22-24) реализуйте
    # на стороне SIEM-бэкенда (date_hour в Splunk, hour() в Elastic).
level: high
YAML:
# Sigma: создание файлов в директории Alliance Access
# ВАЖНО: Sysmon EventID 11 = FileCreate, не модификация.
# Для детекта изменения существующих бинарников используйте FIM
# или Sysmon EventID 2 (FileCreateTime change) дополнительно.
title: Alliance Access Suspicious File Create
logsource:
    product: sysmon
detection:
    selection:
        EventID: 11
        TargetFilename|contains:
            - '\Alliance Access\'
            - '\SWIFT\'
        TargetFilename|endswith:
            - '.exe'
            - '.dll'
            - '.jar'
    filter:
        Image|endswith:
            - '\swift-installer.exe'
            - '\msiexec.exe'
    condition: selection and not filter
level: critical
Третий критический индикатор - массовая отправка MT103/MT202 сообщений в нехарактерное время или на нетипичных получателей. Детект возможен только при наличии baseline нормальной SWIFT-активности, а это значит - интеграция логов Alliance Access с SIEM и ручная калибровка пороговых значений. Без baseline любое правило будет генерировать либо шум, либо пропуски. Третьего не дано.

Контекст для SOC-инженеров: правила выше - отправная точка, не готовое решение. В реальной инфраструктуре TargetUserName будет привязан к конкретным доменным учётным записям операторов, а timeframe - к рабочему расписанию конкретного банка. Без адаптации к конкретной среде правила бесполезны.

SWIFT Customer Security Programme: контроли, которые ломают kill chain​

SWIFT запустила Customer Security Programme (CSP) в 2017 году после волны атак. К 2026 году требования ужесточаются: все банки-участники обязаны пройти независимый аудит и подтвердить соответствие через ежегодную аттестацию. Несоблюдение может привести к ограничению доступа к сети SWIFT.

Контроли SWIFT CSP и их влияние на каждую фазу kill chain:

SWIFT CSP-контрольФаза kill chainЭффект для атакующего
Ограничение интернет-доступа из secure zoneC2, Data ExfiltrationНет callback из secure zone - нужен альтернативный канал
MFA для операторовValid Accounts (T1078)Перехваченный пароль бесполезен без второго фактора
Integrity checking ПО Alliance AccessTransmitted Data Manipulation (T1565.002)Модификация бинарников детектируется автоматически
Обязательный transaction monitoringFinancial Theft (T1657)Аномальные переводы блокируются до исполнения
Log retention и мониторингClear Windows Event Logs (T1070.001)Очистка логов генерирует алерт
Mandatory penetration testingВесь kill chainИдентификация путей lateral movement до реальной атаки

По данным Intervalle Technologies, финансовый сектор - наиболее атакуемая отрасль: 23% всех кибератак в мире. Количество атак на банковские сети за последние два года выросло на 238%. Банки со стандартизированными процедурами реагирования сокращают MTTD на 76% и MTTC на 84% (по данным Intervalle Technologies; первичный источник цифр не раскрыт) по сравнению с банками, работающими в реактивном режиме. Отсутствие единых фреймворков, общей терминологии и совместимых протоколов обмена информацией между банками до сих пор остаётся системной проблемой APT финансового сектора.

CSP - серьёзный шаг, но программа покрывает secure zone и не защищает от initial access через офисный сегмент. А именно там начинается каждая известная атака на SWIFT.

За четыре года участия в аудитах SWIFT-инфраструктуры банков картина складывается одинаковая: secure zone формально изолирована, контроли SWIFT CSP на бумаге выполнены, но lateral movement от офисного сегмента до АРМ оператора занимает от двух до четырёх недель. Проблема не в отсутствии контролей - проблема в разрыве между защищённой зоной и остальной сетью банка. CSP защищает периметр SWIFT, но атакующий приходит не из интернета - он приходит изнутри, через скомпрометированного сотрудника с reused-паролем и доменный аккаунт с избыточными правами.

Lazarus и Cobalt это понимают. Их kill chain построен на том, что самый дорогой и защищённый компонент инфраструктуры - Alliance Access - окружён обычной корпоративной сетью с обычными проблемами: сервисные аккаунты, гуляющие между сегментами, отсутствие микросегментации, EDR только на части хостов. Пока банки воспринимают CSP как чек-лист для аудитора, а не как фундамент операционной безопасности, кибератаки на банки SWIFT будут приносить результат. Формула на бумаге понятна, но kill chain по-настоящему ощущается, только когда сам прогоняешь цепочку от фишинга до цели. Если интересно посмотреть, как lateral movement и privilege escalation разбираются на живом стенде - задачи по этим техникам есть на HackerLab.pro.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab