Исследователи кибербезопасности выявили масштабную операцию по компрометации учетных данных, нацеленную на межсетевые экраны Fortinet FortiGate и шлюзы SSL VPN. Кампания, получившая название FortiBleed, охватывает устройства в 194 странах и затрагивает организации из государственного сектора, телекоммуникаций, финансов, энергетики, здравоохранения, образования, производства, обороны, технологий, розничной торговли и транспорта. Уровень риска оценен как высокий, хотя на данный момент нет подтверждений, что основным вектором доступа послужила эксплуатация конкретной уязвимости CVE.
Описание
Операторы используют не единую вредоносную программу, а развернутый конвейер сбора и обработки учетных данных. Его ключевая особенность - цикл обратной связи: успешный вход на периметровое устройство порождает новые артефакты (конфигурации, сетевой трафик), из которых извлекаются дополнительные учетные данные и хеши. Взломанные хеши затем проверяются через VPN, Kerberos, SMB и внутренние файловые ресурсы, что позволяет злоумышленникам расширять доступ и похищать данные.
Техническая основа кампании включает несколько инструментов. Центральное место занимает CyberStrike Harvester версии 1.5 - исполняемый файл для Linux x86_64, написанный на Go. Он принимает на вход файлы формата pcap, pcapng, а также текстовые дампы FortiGate и извлекает из них учетные записи, хеши NTLM и Kerberos, сессионные токены, cookie, данные почтовых протоколов, SQL, RADIUS, TACACS+ и SSH. Бинарный файл имеет статическую линковку и не обфусцирован; его анализ подтвердил наличие парсеров для различных протоколов и функцию форматирования вывода под Hashcat. При первом обнаружении файла анализатор проверяет сигнатуры форматов захвата (магические числа pcap/pcapng); если они не совпадают, отрабатывает логика обработки текстового вывода FortiGate с использованием регулярных выражений. Таким образом, инструмент адаптирован специально под экосистему Fortinet.
После извлечения "сырые" данные проходят многоступенчатую очистку: скрипты удаляют бинарный мусор, строки SQL-инъекций, XSS-пейлоады, JNDI-артефакты, длинные токены, дубликаты и подозрительные элементы, похожие на honeypot. Очищенные хеши поступают в систему взлома. Операторы используют Telegram-бота для управления Hashcat, который авторизует пользователей по имени, распознаёт тип хеша, распределяет задания по GPU-пулу (в конфигурации указано 10 видеокарт RTX 4090) и возвращает результаты. Дополнительно применяются Hashtopolis и собственная панель HashPanel. Взлом поддерживает форматы NetNTLMv2, Kerberos (KRB5PA, RC4, AS-REP, TGS), FortiGate256, RAKP, MSSQL и другие.
Для развертывания атакующей инфраструктуры используются скрипты, создающие лабораторию из семи виртуальных машин Kali в изолированной сети с общим хранилищем, облачной инициализацией и доступом по VNC/SSH. Панель управления сниффером FortiGate представляет собой веб-интерфейс на JavaScript с WebSocket и REST, отображающий статус фаз захвата, конвертации, сбора, очистки и паузы. Эта панель служит операторской консолью для всего рабочего процесса.
После взлома учетных данных операторы проверяют их через Kerberos (получение TGT), аутентификацию SMB и доступ к административным ресурсам. Для этого применяются скрипты на Python с использованием библиотеки Impacket, которые "подшивают" исходящие соединения к адресу из пула VPN жертвы, чтобы трафик LDAP, Kerberos и SMB казался легитимным. ad_enum.py и ad_full_audit.py перечисляют доменных администраторов, учётные записи, уязвимые для атак "золотого билета" и roastable, делегирования, пароли в описаниях и другие привилегированные объекты Active Directory. Затем запускаются SMB-сканеры: spider.py ищет файлы с секретами (скрипты, конфиги, SQL, RDP), а backup_dfs2.py выполняет рекурсивный сбор данных с до семи общих ресурсов, включая административные, исключая системные каталоги, и передаёт файлы на удалённый SSH-сервер без локального сохранения. В одном из обнаруженных логов эксфильтрации зафиксирован успешный сбор данных объёмом 121,43 ГБ.
Приоритизация целей осуществляется на основе домена, страны, папки, количества взломанных/невзломанных хешей и обогащения данными о примерной выручке компании. Это указывает на то, что начальный сбор широк, а дальнейшие действия операторов сосредоточены на организациях с более высокой ценностью доступа. По данным анализа Arctic Wolf, география потенциального интереса включает Западную и Восточную Европу (производство, технологии, энергетика, логистика, оборона, финансы), Турцию и Ближний Восток (оборона и безопасность), Северную Америку (технологии, финансы, здравоохранение), Азиатско-Тихоокеанский регион (электроника, биотехнологии, образование) и другие регионы.
Атрибуция кампании не установлена. В инструментарии обнаружены русскоязычные строки интерфейса и упоминание операторского псевдонима @Clarksome в Telegram-боте, однако этих улик недостаточно для точной идентификации конкретной группы. С высокой вероятностью операторы являются русскоязычными, но назвать APT-группу нельзя. Характер сбора (массовое сканирование устройств, обогащение данными о выручке, последующая эксфильтрация из оборонного сектора) позволяет предположить, что операция сочетает брокерскую продажу начального доступа и целевую кражу данных.
Последствия для организаций, использующих FortiGate, критичны. Даже если устройство не фигурирует в публичных списках скомпрометированных IP, полная верификация невозможна. Рекомендуется немедленно завершить все активные SSL VPN и административные сессии, сбросить все пароли (административные и VPN), внедрить устойчивый к фишингу MFA, ограничить доступ к интерфейсу управления только через выделенный jump-хост в управляемой VLAN. Особое внимание следует уделить настройкам политики паролей: в FortiOS 7.6.x необходимо включить параметр login-lockout-upon-weaker-encryption, а в 7.2.x/7.4.x - login-lockout-upon-downgrade, чтобы удалить устаревшие SHA-256 хеши, которые могут оставаться в скрытом поле старого пароля даже после смены. Также требуется проверить журналы VPN за последние 90 дней на предмет аутентификаций из неожиданных географических регионов.
Fortinet уже связался с потенциально затронутыми клиентами. Компания рекомендует ротацию всех учетных данных, принудительную повторную аутентификацию, внедрение MFA, аудит событий экспорта конфигурации, мониторинг исходящих SSH-передач, проверку Active Directory на признаки разведки LDAP, попыток подбора Kerberos, запросов сервис-билетов RC4, уязвимых к атакам AS-REP учётных записей, а также анализ доступа к SMB-ресурсам из пулов VPN.
Кампания FortiBleed демонстрирует, как скомпрометированные периметровые учетные данные могут привести к полной компрометации внутренней сети без использования единого вредоносного файла. Устранение угрозы требует не только установки обновлений FortiOS, но и комплексной ревизии учётных записей, сессий, конфигураций и журналов активности.
Индикаторы компрометации
IPv4
- 193.8.187.42
IPv4 Port Combination
- 85.11.187.8:8443
MD5
- 7f74bb6ba185978134c318bc5f91d23c
SHA1
- 268a8420b791df46380ed9ad69905207e15d8a7c
SHA256
- 2758f4d71a2a2dfdefab81737c2d776b2a3dafe5844fdd2157e089a28447ca98
- 38353f95fff270f4e3a9d7add8c64666020dd668ce66e15969a736ec48cadc59
- 4253dd1a4c0867b0be7732f75b2f630cebfb7fed94270e15fb3b12ae40546d01
- 479ae5fd7274439ddfa27bc03298ebfdfc5ff17f6412acccf74d4dbd90d94218
- 874bcb1c3d050a5b5b333a2198f504fcb27927c2abdd43b07440188a380c52d5
- 9eaa577c8ba71646928c1c34c3145536b0498f65f26060a6ba00744bcef57644
YARA
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | rule CyberStrike_Harvester_v1_5 { meta: description = "Rule to detect CyberStrike_Harvester_v1.5 using in FortiBleed incident" author = "Arctic Wolf" distribution = "TLP:CLEAR" version = "1.0" last_modified = "2026-06-22" sha256 = "2758f4d71a2a2dfdefab81737c2d776b2a3dafe5844fdd2157e089a28447ca98" strings: $a1 = "-s HARVEST" ascii wide $a2 = "ENUMresultsHASHCAT%s" ascii wide $a3 = "(scan MB in pacer: % CPU ( zombie" ascii wide $a4 = "_passwait_userNet" ascii wide $a5 = "EXTRACTAS-REP/KRB" ascii wide condition: ((uint32(0)==0x464c457f) or (uint32(0) == 0xfeedfacf) or (uint32(0) == 0xcffaedfe) or (uint32(0) == 0xfeedface) or (uint32(0) == 0xcefaedfe) ) and filesize < 8000KB and (4 of ($a*)) } |