Банковские трояны — это специализированные вредоносные программы, разработанные для кражи финансовых данных, таких как учетные записи банковских карт, пароли онлайн-банкинга и другая конфиденциальная информация. Они играют ключевую роль в кардинге и часто связаны с другими киберпреступлениями, включая вымогательство. Для образовательных целей я подробно опишу технические аспекты банковских троянов: их архитектуру, методы работы, распространения, коммуникации, уклонения от обнаружения и примеры из практики.
1. Архитектура банковских троянов
Банковские трояны — это сложные программы, состоящие из нескольких модулей, каждый из которых выполняет определенную функцию. Основные компоненты:1.1. Загрузчик (Dropper)
- Функция: Доставляет основной вредоносный код на устройство жертвы.
- Реализация: Может быть отдельным исполняемым файлом (.exe), скриптом (.js, .vbs) или макросом в документе (например, Word/Excel).
- Особенности: Часто обфусцируется (например, с помощью упаковщиков UPX или полиморфных техник) для избежания антивирусов.
1.2. Основной модуль
- Функция: Выполняет ключевые задачи, такие как кража данных, инъекция кода в браузеры и взаимодействие с командным сервером (C2).
- Реализация: Обычно внедряется в системные процессы (svchost.exe, explorer.exe) для маскировки.
1.3. Модуль сбора данных
- Функция: Собирает учетные данные, такие как логины, пароли, данные карт, cookie и историю браузера.
- Методы:
- Кейлоггинг (запись нажатий клавиш).
- Захват форм (form-grabbing): перехват данных, введенных в веб-формы.
- Снимки экрана (скриншоты).
- Кража файлов (например, wallet.dat для криптокошельков).
1.4. Модуль инъекции
- Функция: Внедряет вредоносный код в легитимные процессы (например, браузеры) для подмены веб-страниц или перехвата данных.
- Техники: Веб-инъекции (web injects) для подделки банковских страниц или добавления полей ввода.
1.5. Модуль коммуникации
- Функция: Связывается с C2-сервером для передачи украденных данных и получения команд.
- Протоколы: HTTP/HTTPS, DNS, Tor, зашифрованные каналы.
1.6. Модуль самораспространения (опционально)
- Некоторые трояны (например, Emotet) могут распространяться по сети, используя уязвимости или скомпрометированные учетные записи.
2. Механизм работы
Банковские трояны выполняют последовательность действий для достижения своих целей:- Проникновение:
- Троян доставляется через фишинг, эксплойты, скомпрометированные сайты или зараженные приложения.
- Пример: Фишинговое письмо с вредоносным вложением (PDF, .docx с макросами).
- Установка:
- Загрузчик устанавливает основной модуль в систему.
- Вредонос создает записи в реестре Windows (например, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run) для автозапуска.
- Может внедряться в процессы, такие как explorer.exe, для маскировки.
- Сбор данных:
- Кейлоггер фиксирует вводимые пароли и данные карт.
- Захват форм перехватывает данные, отправляемые через HTTPS.
- Веб-инъекции подменяют банковские страницы, добавляя фальшивые поля (например, запрос CVV-кода).
- Передача данных:
- Украденные данные отправляются на C2-сервер через зашифрованные каналы.
- Используются алгоритмы генерации доменов (DGA) для динамической смены адресов серверов.
- Дополнительные действия:
- Троян может загружать дополнительные модули (например, ransomware или spyware).
- Может выполнять команды с C2-сервера, такие как удаление файлов или запуск DDoS-атак.
- Самоудаление (опционально):
- После выполнения задачи троян может удалить следы своего присутствия, чтобы затруднить анализ.
3. Технические аспекты кражи данных
Банковские трояны используют несколько методов для кражи финансовых данных:3.1. Кейлоггинг
- Механизм: Перехватывает нажатия клавиш через API Windows (SetWindowsHookEx) или драйверы на уровне ядра.
- Цель: Захват логинов, паролей, PIN-кодов и других данных, вводимых пользователем.
- Пример: Zeus использовал кейлоггинг для кражи банковских учетных данных.
3.2. Захват форм (Form-Grabbing)
- Механизм: Перехватывает данные, отправляемые через POST-запросы в браузере, до их шифрования HTTPS.
- Техника: Внедрение в процессы браузера (chrome.exe, firefox.exe) или использование поддельных сертификатов SSL.
- Пример: Dridex перехватывал данные форм на банковских сайтах.
3.3. Веб-инъекции
- Механизм: Троян модифицирует веб-страницы в реальном времени, добавляя фальшивые поля ввода или подменяя интерфейс.
- Техника: Использует скрипты (JavaScript) для изменения DOM страницы.
- Пример: TrickBot добавлял поля для ввода CVV-кода на поддельных банковских страницах.
3.4. Кража cookie и сессий
- Механизм: Извлекает файлы cookie из браузеров для обхода аутентификации.
- Цель: Получение доступа к банковским аккаунтам без ввода пароля.
3.5. Скриншоты и видеозапись
- Механизм: Делает снимки экрана или записывает видео во время ввода данных.
- Пример: Gozi использовал скриншоты для захвата одноразовых паролей (OTP).
4. Методы распространения
Банковские трояны используют различные векторы атаки, многие из которых пересекаются с ransomware:4.1. Фишинг
- Механизм: Рассылка писем с вредоносными вложениями (Word, Excel, PDF) или ссылками на зараженные сайты.
- Пример: Emotet использовал фишинговые письма с макросами для установки трояна.
4.2. Эксплойт-киты
- Механизм: Заражение через уязвимости в браузерах или плагинах (Flash, Java) на скомпрометированных сайтах.
- Пример: Angler Exploit Kit доставлял трояны, такие как Gozi.
4.3. Удаленный доступ
- Механизм: Использование слабозащищенных RDP или VPN с украденными учетными данными.
- Пример: TrickBot часто проникал через RDP.
4.4. Зараженное ПО
- Механизм: Троян встраивается в пиратское или поддельное ПО, загружаемое пользователями.
- Пример: Фальшивые приложения для банковских операций.
4.5. Самораспространение
- Механизм: Некоторые трояны (Emotet) используют червеобразные механизмы для распространения по локальным сетям через уязвимости (например, SMB).
5. Уклонение от обнаружения
Банковские трояны используют сложные техники для обхода антивирусов и анализа:5.1. Обфускация и полиморфизм
- Механизм: Код трояна изменяется при каждом заражении (полиморфизм) или шифруется для усложнения статического анализа.
- Пример: Zeus использовал полиморфные варианты для избежания сигнатурного обнаружения.
5.2. Анти-антивирусные техники
- Механизм: Отключение антивирусов, удаление их процессов или блокировка обновлений.
- Пример: Dridex завершал процессы Windows Defender.
5.3. Анти-анализ
- Механизм: Троян проверяет, запущен ли он в виртуальной машине или песочнице, и прекращает работу, если обнаруживает анализ.
- Пример: Emotet выявлял отладчики и песочницы.
5.4. Шифрование коммуникаций
- Механизм: Использует HTTPS или Tor для связи с C2-сервером.
- Пример: TrickBot применял алгоритмы DGA для генерации новых доменов.
6. Коммуникация с C2-серверами
- Протоколы: HTTP/HTTPS, DNS, Tor, I2P.
- Техники:
- Алгоритмы генерации доменов (DGA) для динамической смены C2-адресов.
- Шифрование данных с использованием AES или RSA.
- Функции:
- Передача украденных данных (логины, пароли, cookie).
- Получение обновлений или новых модулей.
- Выполнение команд (например, запуск ransomware).
- Пример: Emotet использовал HTTPS для отправки данных на C2-сервер.
7. Примеры банковских троянов
- Zeus (Zbot):
- Активен с 2007 года.
- Использовал кейлоггинг, form-grabbing и веб-инъекции.
- Целил банковские учетные данные.
- Исходный код стал основой для других троянов.
- Emotet:
- Активен с 2014 года.
- Первоначально банковский троян, позже стал платформой для доставки ransomware (Ryuk, Conti).
- Распространялся через фишинг и самораспространение в сетях.
- TrickBot:
- Активен с 2016 года.
- Использует веб-инъекции и кражу cookie.
- Часто доставляет ransomware (Ryuk).
- Атакует банки и корпоративные сети.
- Dridex:
- Активен с 2014 года.
- Специализируется на краже банковских данных через form-grabbing.
- Распространяется через фишинговые письма с макросами.
- Gozi:
- Активен с 2006 года.
- Использует веб-инъекции и скриншоты.
- Часто распространяется через эксплойт-киты.
8. Связь с кардингом и вымогательством
Банковские трояны тесно связаны с кардингом и вымогательством:- Кардинг:
- Трояны крадут данные карт (номера, CVV, имена) для мошеннических транзакций.
- Пример: Zeus перехватывал данные, которые затем продавались на даркнет-рынках.
- Вымогательство:
- Трояны (Emotet, TrickBot) используются как загрузчики для ransomware.
- Украденные данные могут применяться для шантажа (двойное вымогательство).
- Инфраструктура:
- Даркнет-рынки для продажи украденных данных и инструментов.
- Фишинговые платформы и эксплойт-киты, общие для обоих типов атак.
9. Анализ и защита
9.1. Анализ троянов
- Статический анализ: Дизассемблирование кода (IDA Pro, Ghidra) для изучения структуры.
- Динамический анализ: Запуск в песочнице (Cuckoo Sandbox) для наблюдения за поведением.
- Сетевой анализ: Мониторинг трафика (Wireshark) для выявления C2-серверов.
- Обратный инжиниринг: Изучение обфусцированного кода для выявления алгоритмов.
9.2. Защита
- Антивирусы и EDR: Использование решений с поведенческим анализом (CrowdStrike, Malwarebytes).
- Обновление ПО: Закрытие уязвимостей в браузерах и ОС.
- Многофакторная аутентификация (MFA): Защита от кражи учетных данных.
- Обучение пользователей: Распознавание фишинга и подозрительных вложений.
- Сегментация сети: Ограничение распространения трояна.
- Мониторинг транзакций: Банки могут выявлять подозрительные операции.
9.3. Восстановление
- Удаление трояна с помощью антивирусного ПО.
- Смена всех паролей и включение MFA.
- Мониторинг банковских счетов на предмет несанкционированных операций.