Сообщение получилось объемное, могу условно разделить его на несколько логических частей:
1. Суть инцидента (рабочая версия) 2. Описание проявлений и обнаружения 3. Предполагаемая схема лечения хостов сети (в процессе дополнения) 4. Описание и вопрос по лечению "ворот" атаки (почтовый сервер) 5. Дополнительная информация: ссылки на статьи по теме, логи детектов вирусной активности с зараженных машин
1. Суть инцидента (рабочая версия):
Воспользовавшись цепочкой уязвимостей ProxyLogon (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858 и CVE-2021-27065) на необновленном почтовом сервере (отсутствовал мартовский патч безопасности) злоумышленники через открытый 443 порт обошли аутентификацию на сервере Exchange и получили возможность для удаленного запуска произвольного кода. На сервер был загружен первичный веб-шелл для дальнейшего развития атаки и скомпрометированы пароли, в частности пароль локального администратора, который на всех хостах сети был одинаковый.
После осуществилось заражение хостов корпоративной сети вирусом-майнером. Антивирусы определяют его как:
HEUR:Trojan.Multi.GenAutorunSvc.ksws [Каspersky Security for Windows Server]
Trojan.Multi.GenAutorunWMI.a, Trojan.Multi.GenAutorunReg.c, PDM:Trojan.Win32.Generic [Kaspersky Cloud на клиентских машинах]
Есть подозрение, что зловред сканирует сеть и, используя удалённое управление посредством WMI, заставляет удаленную машину скачивать с интернета и выполнять скрипты Powershell. Возможно при этом еще используется psexec.exe и уязвимость SMBv1, но это не точно.
Заражает машины с Windows 7, Server 2008, Server 2012, как физические, так и виртуальные. Компы с WinXP и Server2003 вирусу пока не интересны. Корпоративная сеть: несколько территориально разнесенных филиалов (соединены vpn-туннелями по топологии "звезда"), два независимых леса AD и ряд не входящих не в один домен серверов/клиентских машин. Заразились хосты как состоящие в доменах, так и вне их (скорее всего из-за того, что пароль локального администратора на всех хостах был одинаковый).
2. Описание проявлений и обнаружения
Если антивирус на машине не стоит, то загрузка процессоров под 100% процессами schtasks.exe и несколькими powershell.exe Если антивирус установлен (например, Касперский), то в логах "Мониторинг активности" содержатся регулярные записи об обнаружении/запрещении зловреда: Пользователь: NT AUTHORITY\система Тип пользователя: Системный пользователь Название: PDM:Exploit.Win32.Generic Путь к объекту: c:\windows\system32 Имя объекта: cmd.exe и Путь к объекту: c:\windows\system32\wbem Имя объекта: wmiprvse.exe
На пролеченных серверах с установленным Каspersky Security for Windows Server ситуация аналогичная: нагрузка отсутствует, но установленный антивирус периодически режет попытки вылезти в интернет:
Так же на ряде компов в автозагрузке было обнаружена строка c:\windows\temp\sysupdater0.bat Антивирус при обнаружении этот файл обычно казнит (У программы обнаружено подозрительное поведение, характерное для вредоносной программы: Обнаружено: PDM:Trojan.Win32.Generic), но удалось раздобыть один, вот содержимое:
3. Предполагаемая схема лечения хостов сети (в процессе дополнения):
На пограничных с интернетом устройствах запретить обращение извне на порт 8000 и адреса из диапазона 23.236.64.0-23.236.79.255 45.10.0.0 - 45.10.255.255
Групповыми политиками в разделах "Компьютер" и "Пользователь" запретить выполнение .js, .ps1, .vbs, .wsc, .wsf, .wsh, .bat, .jse, .pif, .scr. Запрещено не только в политике домена, но и локально на машинах, которые в домен не входят
Антивирусная проверка: сначала утилитами Drweb CurIT и/или KVRT, после проведения работ - установленным Касперским
Смена пароля локального админа. Для каждого филиала свой пароль, различается для клиентов и серверов.
Очистка папок C:\Windows\Temp и c:\Users\%username\AppData\Local\Temp\
Очистка точек восстановления
Ревизия автозагрузки при помощи autoruns (sysinternals) - на некоторых хостах был прописан sysupdater0.bat
Установить все возможные обновления ОС. Патчи CVE-2019-0859 и MS17-010 ставились вручную.
Сменить пароль доменного администратора
Провести ревизию "левых" пользователей в домене, в приоритете в привилегированных группах
Отдельная сноска про смену пароля локального администратора на хостах: если пароль не сменить, то проверка и патчи не помогают. Пример: после пролечивания двумя утилитами подряд, установки патчей и полной проверки компьютера, доложившей об отсутствии угроз, этот же компьютер чуть позже уведомил, что в системной памяти обнаружен Trojan.Multi.GenAutorunReg.c.
Данные пункты были осуществлены в двух филиалах, после чего в логах антивируса на хостах этих филиалов прекратились детекты зловредов и попыток вылезти в интернет.
Есть еще ряд пунктов, которые посоветовали неравнодушные люди, но я их еще не обкатывал на практике, поэтому приводить в данном сообщении не буду. После проверки отпишусь в теме и дополню алгоритм решения инцидента.
Пока могу упомянуть следующее: на зараженных хостах, с которых было зафиксировано обращение по вредоносным адресам, обнаружены службы с произвольными именами (например LFRJLAFYBRJFQEBBLCCB или YVRDGSBWEDTLLHHLUKXW). Есть мнение, основное заражение происходит через wmi подписки и классы, а они уже раскатывают все остальные службы и т.п. В системе зафиксированы вредоносные классы в корне root\default и root\Subscription. В результате антивирусной проверки Касперский должен их удалять, но случается так, что по каким-то причинам вредонос остаётся.
Команды по поиску и удалению вредоносных классов (запускаются в PowerShell, должны подходить для всех ОС с powershell 2.0 и выше):
Планирую эти команды прокатать на всех хостах организации, для душевного спокойствия.
4. Описание и вопрос по лечению "ворот" атаки (почтовый сервер)
Остался ключевой момент - почтовый сервер, с которого предположительно всё началось и на котором до сих пор сидит зловред. Машина с Windows Server 2012r2 Exchange 2013 (version 15.0 (build 1497.2)). Установлен Каspersky Security for Windows Server, на днях установили мартовский патч безопасности Exchange Server 2013 Cumulative Update 23. Казалось бы, уязвимость закрыта и можно выдохнуть. Но нет.
Касперский в журнале безопасности каждые три часа пишет о семи файлах-вредоносах - одна dll, семь aspx. При запуске быстрой проверки или полной проверки антивирус их не находит. И команда PowerShell их не находит. Из чего можно предположить, что они по команде/расписанию возникают, а в процессе активности их гасит антивирус. Значит, их команда на их "зарождение" прописана где-то в системе.
В рамках диагностики на почтовике скачали и запустили скрипт, который ищет в логах события с потенциальным пробивом и левые записи в конфигурации, которые могут быть этим источником создания вредоносных файлов.
Получается, что либо патч уязвимость не закрыл, либо встал криво, либо я не знаю что. Еще из странностей, связанных с почтовиком:
Несостыковка номера версии патча, установленного в системе (15.0.1497.2) с тем, который по идее должен был быть (15.01.1497.23). На сайте Микрософта указано, что версия "15.0.1497.2" от 18.06.2019, а "15.01.1497.23" - от 13.07.2021. На всякий случай вчера скачали новый файл, уже по другой ссылке Микрософт, в свойствах файла на вкладке "Подробно" указано "Security Update for Exchange Server 2013 Cumulative Update 23 (KB5004778)15.0.1497.23. Запустили установку (не удаляя предыдущий патч), прошла без вопросов, перезагрузили - номер версии остался без изменений. Чудеса в решете.
Не запускается оснастка Exchange Toolbox. Пишет "Консоль управленич (MMC) обнаружила ошибку оснастки, поэтому оснастка будет выгружена", следующее окно "Необрабатывемое исключение в оснастке управляемого..." Очистка кэша оснастки (AppData\Roaming\Microsoft\MMC\Exchange Toolbox) не помогает.
А теперь, собственно, суть обращения: как забороть зловреда на почтовике? Что-то я упускаю из вида, а что - непонятно. Заранее благодарю.
Сообщения о детектах из Журнала Касперского с почтового сервера:
Обнаружен возможно зараженный объект: Троянская программа HEUR:Backdoor.MSIL.Webshell.gen. Имя объекта: App_Web_r0zdr.aspx.f5dba9b9.d7wo2roq.dll MD5 хеш файла: e91aa8fb8225d5e019311d67774f1946 Хеш SHA256 файла: e3614efab364abe01dd98d92e61d6a73decc9ad87e9d6ce14059581e4ca4ccc2
Обнаружен возможно зараженный объект: Троянская программа HEUR:Exploit.Script.CVE-2021-26855.gen. Имя объекта: log.aspx MD5 хеш файла: f0520236bf9c8c73f199a244d029a49f Хеш SHA256 файла: 264f9bf852f2c00eb804050861da39b78c1720dc5f77e08dc484dde0a85430eb
Обнаружен возможно зараженный объект: Троянская программа HEUR:Exploit.Script.CVE-2021-26855.gen. Имя объекта: RXT7WB.aspx MD5 хеш файла: c2b67fb32ef0953722ea437295be386b Хеш SHA256 файла: b4d02ac0e79ca6376416f52c30a82d8b72efcb8966640f3dbf5b22f67e6075b9
Обнаружен возможно зараженный объект: Троянская программа HEUR:Exploit.Script.CVE-2021-26855.gen. Имя объекта: dgFfuh.aspx MD5 хеш файла: 0418b10fdf926066fa6a19e83332e34e Хеш SHA256 файла: 59720c4ae289ab2a8336a1cd24fbfb2a24478e1ed88d517725999751e510b97a
Обнаружен возможно зараженный объект: Троянская программа HEUR:Exploit.Script.CVE-2021-26855.gen. Имя объекта: 7r3q2.aspx MD5 хеш файла: dbb0576553870e07f8220386b5989cdb Хеш SHA256 файла: 6377ada51e66550bafda31038897ed13be71f928dabbefd657a1d3b8be672237
Обнаружен возможно зараженный объект: Троянская программа HEUR:Exploit.Script.CVE-2021-26855.gen. Имя объекта: log.aspx MD5 хеш файла: f0520236bf9c8c73f199a244d029a49f Хеш SHA256 файла: 264f9bf852f2c00eb804050861da39b78c1720dc5f77e08dc484dde0a85430eb
5. Дополнительная информация: ссылки на статьи по теме, логи детектов вирусной активности с зараженных машин
Далее привожу примеры из журналов безопасности антивирусов в качестве дополнительной информации и для индексации поисковых систем, т.к. в процессе поиска причин и вариантов решения я внятного алгоритма решения не нашел. Возможно найденные варианты решения окажутся полезными кому-нибудь еще.
Если на зараженной машине, на которой не стоит антивирус, запустить DrWeb CureIT, то обнаруживаются обычно следующие угрозы (пример с конкретной машины):
powershell.exe может быть несколько, CommandLineTemplate обычно один. После пролечивания утилитой DrWeb CureIT "паразитные" процессы исчезают, но через какое-то время снова происходит заражение и последующая загрузка мощностей машины.
В рамках борьбы с заражением на сервера установлены Каspersky Security for Windows Server 11.0.1.897 После установки, активации, обновления баз и включения KSN запускалась "Проверка важных областей" с настройками "по умолчанию" (Действия над зараженными и другими обнаруженными объектами: Выполнять рекомендуемое действие). Находилось следующее:
Обнаружен объект: Потенциальная уязвимость HEUR:Trojan.Multi.GenAutorunSvc.ksws. Имя объекта: WMIService:BVMFJGIVCEOAWSUOYQTH
После последующей перезагрузки сервера в диспетчере задач всё выглядит прилично и "лишние" процессы не грузят систему. Но в "Событиях" задачи "Постоянная защита файлов" постоянно появляются блоки новых записей с пометкой "Уровень важности: Критический".
Время: 26.08.2021 2:50:51 Обнаружен веб-адрес. . Имя объекта: http://45.10.69.139:8000/in6.ps1 Компьютер: network Пользователь: KR-TERM\Администратор Имя процесса: wmiprvse.exe
Время: 26.08.2021 6:55:28 Обнаружен веб-адрес. . Имя объекта: http://45.10.69.139:8000/in6.ps1 Компьютер: network Пользователь: KR-TERM\Администратор Имя процесса: wmiprvse.exe
На других серверах дополнительно появлялись сообщения с другими пользователями и процессом:
Обнаружен веб-адрес. . Имя объекта: http://45.10.69.139:8000/in6.ps1 Компьютер: localhost Пользователь: WORKGROUP\FIL-T2$ Имя процесса: services.exe
Процесс терминирован: обнаружена попытка эксплуатации уязвимости. Причина: в защищаемом процессе другой процесс создал поток управления. Имя объекта: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Компьютер: VIRTUALMACHINE Пользователь: VIRTUALMACHINE\Администратор Имя процесса: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Обнаружен объект: Троянская программа Trojan.Win32.Shelma.arzd. Имя объекта: C:\Windows\System32\mue.exe MD5 хеш файла: d1aed5a1726d278d521d320d082c3e1e Хеш SHA256 файла: 0a1cdc92bbb77c897723f21a376213480fd3484e45bda05aa5958e84a7c2edff Компьютер: network Пользователь: VIRTUALMACHINE\Администратор
1. файлы отправленные в вирлаб по прежнему на ВирусТоал чисты (хотя ответа по этому поводу от вирлабов нет)
2. после блокировки на маршрутизаторе ip адресом, с которых были направлены запросы на сервер MS Exchange скрипт проверки на уязвимость Test-ProxyLogon.ps1 не показал новых атак на сервер https://github.com/microsoft/CSS-Exchange/releases/latest/download/Test-ProxyLogon.ps1 хотя и показывает что уязвимость обнаружена. 3. актуальный патч для "Exchange Server\V15\" установлен, но необходимо проверить логи установки, успешно было установлено актуальное кумулятивное обновление или нет. Exchange Server 2013
В таблице этого раздела приведены номера сборок и общие даты выпуска всех версий Microsoft Exchange Server 2013.
Exchange Server 2013 Название продукта Дата выпуска Номер сборки (краткий формат) Номер сборки (длинный формат) Exchange Server 2013 CU23 Jul21SU 13 июля 2021 г. 15.0.1497.23 15.00.1497.023
-- @usage -- nmap -p <port> --script http-vuln-cve2021-26855 <target> -- -- @output -- PORT STATE SERVICE -- 443/tcp open https -- | http-vuln-cve2021-26855: -- | VULNERABLE -- | Exchange Server SSRF Vulnerability -- | State: VULNERABLE -- | IDs: CVE:CVE-2021-26855 -- | -- | Disclosure date: 2021-03-02 -- | References: -- | http://aka.ms/exchangevulns -- -- @args http-vuln-cve2021-26855.method The HTTP method for the request. The default method is "GET".
5. вопрос с регулярным детектированием (через каждые три часа) антивирусом группы вредоносных скриптом был решен проверка задач по образу uVS из нормального режима и из под winpe ничего не показала. внешние атаки не наблюдались; по логу procmon в момент срабатывания антивируса была обнаружена активность касперского с регулярным обновлением. наступил час Сократа. админы приняли решение очистить карантин, куда антивирус регулярно добавлял файлы каждые три часа. после очистки карантина детекты прекратились. что это было? вопрос к знатокам.
6. собственно следующая задача - добиться централизованного управления и контроля через веб-консоль по всем установленным антивирусных клиентам, и оперативная очистка возможно оставшихся неочищенными узлов.
по сути инцидента с распространением майнера в корпоративной сети есть отличный апрельский отчет от INCIBE_CERT:
Это исследование предназначено для профессионалов в области ИТ и кибербезопасности, исследователей и технических аналитиков, заинтересованных в анализе и исследованиях такого типа угроз, а также администраторов ИТ-сетей и системных администраторов с целью своевременного обновления своих компьютеров и защиты их от этой угрозы.
кратное изложение:
3. Исходный файл - многослойный обфусцированный и закодированный в base64 файл Powershell. вектор входа (откуда) во время первого заражения неизвестен. (в нашем случае, понятно, что через уязвимость в MS Exchange Server 2013. После анализа было установлено, что это вредоносное ПО из семейства WannaMine, чья основная цель - криптомайнинг (использование пораженных машин для майнинга криптовалюты), который пытается распространиться по пораженной сети.
эта вредоносная программа состоит из нескольких компонент(артефактов) и имеет возможность извлекать учетные данные из уязвимых систем, используя Mimikatz, а также эксплуатарует уязвимость CVE-2017-01441, известной как EternalBlue, чтобы получить доступ к другим машинам в сети, где вы не можете сделать это с помощью учетных данных, полученных с помощью собственных механизмов удаленного выполнения в Windows. Атака частично безфайловая, чтобы обойти антивирус и программы сканирования, автоматический запуск в песочницах, так как он использует PowerShell, чтобы попытаться запустить все в объем памяти.
исходный файл: int6.ps1 Дроппер, который осуществляет первоначальное заражение на каждой из пораженных машин.
"Funs" Этот артефакт представляет собой сценарий PowerShell, который содержит множество вспомогательных функций, и функциональность бокового движения.
«mimi»: Mimikatz Это двоичный файл Mimikatz, который выполняется путем отраженной инъекции, избегая таким образом записи на диск и используется для получения учетных данных системы.
«mon»: miner XMRig Это двоичный файл программного обеспечения XMRig, майнера криптовалюты с открытым исходным кодом. популярен в атаках криптоджекинга. Он работает в памяти с помощью PowerShell, поэтому что двоичный файл не записывается на диск.
WinRing0x64.sys Этот компонент является легальным и подписанным драйвером, используемым майнером XMRig, который позволяет настроить регистры MSR для оптимизации производительности майнинга. Известно, что этот драйвер содержит уязвимости, которые позволяют эскалацию привилегии.
mue.exe Этот компонент записывается на диск во время заражения, и его задача - инжектировать полезную нагрузку в легальный процесс
"Sc": Shellcode EternalBlue. Этот компонент был идентифицирован как шелл-код для эксплуатации уязвимости. EternalBlue, и его задача - заразить новую машину WannaMine во время бокового движения.
Данная угроза способна выполнять следующие действия:
* Обойти интерфейс сканирования на наличие вредоносных программ (AMSI). * Поддерживать устойчивость в системе, создав подписку на события WMI. * Извлекать токены NTLM. *Сканировать на наличие уязвимости EternalBlue. * Распространение на другие системы с помощью EternalBlue. * Распространение на другие системы путем удаленного выполнения WMI с функцией Pass-the-Hash. * Распространение на другие системы путем удаленного выполнения SMB с помощью функции Pass-the-Hash. * Установить программное обеспечение для добычи криптовалюты с безфайловым исполнением (PowerShell). * Установить программное обеспечение для майнинга криптовалют путем инъекции (Process Hollowing) * Изменить настройки Windows, чтобы оптимизировать производительность майнинга. * Изменить настройки Windows для сохранения. * Оставить систему в уязвимом состоянии с целью локального повышения привилегий