Свежая волна кибератак, связанных с уязвимостью CVE-2025-53770, продолжает распространяться, затрагивая корпоративные серверы Microsoft SharePoint по всему миру. Эксперты по кибербезопасности подтверждают, что злоумышленники используют сложную цепочку эксплуатации, включающую подмену легитимных процессов браузера Microsoft Edge и маскировку под обновления Google Chrome, чтобы оставаться незамеченными.
Описание
География атак и статистика
Анализ данных, собранных с помощью платформ Shodan и других сканеров, показал, что наибольшее количество уязвимых серверов SharePoint сосредоточено в Иране, США, Германии, Ирландии и России. При этом некоторые страны, такие как Греция, оказались в топе по числу заражённых систем из-за использования конкретных версий SharePoint (16.0.0.17928), выпущенных в июне 2025 года. Интересно, что в некоторых случаях атакующие специально выбирали серверы с определёнными параметрами, чтобы повысить эффективность атак - например, ориентировались на системы в Иране, где определённые конфигурации распространены чаще.
Технические детали эксплойта ToolShell
Уязвимость CVE-2025-53770 связана с десериализацией данных в SharePoint, позволяющей злоумышленникам выполнять произвольный код. По данным исследования, первые признаки эксплуатации появились ещё 25 июня 2025 года - задолго до официального обнаружения угрозы компанией Eye Security 18 июля.
Один из ключевых файлов, используемых в атаке, - cve.ps1 (MD5: 8cfb22aa48af3815b127c24ad9662d76). Также злоумышленники активно применяли файлы с расширением .log (например, powershell.exe.log), чтобы обойти детектирование в песочницах, которые часто игнорируют такие форматы.
Уловка с Google CUP: маскировка под легитимные обновления
Во время анализа веб-эксплойта spinstall0.aspx обнаружился запрос к URL, имитирующему работу Google Client Update Protocol (CUP) - механизма проверки обновлений Chrome.
Запрос выглядел так:
1 | http://clients2.google.com/time/1/current?cup2key=8:qOPHuaj4LhASKGNjg7vDZTc_OZXu7qqtpjbUfr3G2ko&cup2hreq=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
При детальном изучении выяснилось, что ответ сервера содержал аномальные значения, например, server_nonce в виде крайне малых или, наоборот, чрезмерно больших чисел в экспоненциальной записи. Это явный признак поддельного трафика, так как настоящий CUP использует 256-битные случайные значения.
Злоупотребление процессами Microsoft Edge
Другая тактика атакующих включала запуск утилитных процессов Edge с отключёнными механизмами безопасности:
- Сетевой сервис (network.mojom.NetworkService) запускался с параметром --service-sandbox-type=none, позволяющим обходить ограничения.
- Crashpad-обработчик использовался для подмены метаданных сборки и версии браузера.
- GPU-процесс активировался с закодированными настройками, что типично для атак, связанных с обходом песочницы.
Рекомендации по защите
Для обнаружения подобных атак эксперты предлагают использовать YARA-правила, например, для выявления подозрительных запросов к Google CUP или злоупотребления процессами Edge. Также рекомендуется проверить журналы на предмет необычных вызовов PowerShell и наличие файлов .ps1, .log с подозрительными хешами.
Вывод
Атака через CVE-2025-53770 демонстрирует, как злоумышленники комбинируют технические уязвимости и методы социальной инженерии, маскируясь под легитимные процессы. Компаниям, использующим SharePoint, следует немедленно применить временные меры, предложенные Microsoft, и обновить системы, как только патч станет доступен. Мониторинг сетевой активности на предмет аномальных запросов к Google-сервисам и нестандартного использования браузерных компонентов поможет снизить риски заражения.
Индикаторы компрометации
IPv4
- 104.238.159.149
- 107.191.58.76
- 162.159.36.2
- 199.232.210.172
- 199.232.214.172
- 20.59.87.226
- 34.121.207.116
- 34.72.225.196
- 45.191.66.77
- 45.77.155.170
- 52.111.236.22
- 96.9.125.147
Domains
- tu9srvbirvvtmjikzglzlmnyaxrlby5jb200.g00.msn.com
- tu9srvbirvvtmjmkby5hb2xjzg4uy29t.g00.msn.com
- tu9srvbirvvtmjmkdxmuzmxpchauy29t.g00.msn.com
- tu9srvbirvvtmtkkzwiyljnsawz0lmnvbq00.g00.msn.com
MD5
- 02b4571470d83163d103112f07f1c434
- 8cfb22aa48af3815b127c24ad9662d76
- c4cbf79c7121e72888b56a670ac297e2
- d0bccf604f3721ec41f1142dda23f32f
Mutex
- \BaseNamedObjects\Local\SM0:1360:120:WilError_03
- \BaseNamedObjects\Local\SM0:1360:304:WilStaging_02
- \BaseNamedObjects\Local\SM0:1440:120:WilError_03
- \BaseNamedObjects\Local\SM0:1440:304:WilStaging_02
- \BaseNamedObjects\Local\SM0:1764:120:WilError_03
- \BaseNamedObjects\Local\SM0:1764:304:WilStaging_02
- \BaseNamedObjects\Local\ZonesCacheCounterMutex
- \BaseNamedObjects\Local\ZonesLockedCacheCounterMutex
- \Sessions\1\BaseNamedObjects\Local\SessionImmersiveColorMutex
YARA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | rule CUP_Nonce_Malformed_Artifact { meta: description = "Detects CUP spoofing or emulation via malformed server_nonce values" author = "THE RAVEN FILE" threat_level = "medium" tags = ["CUP", "emulation", "sandbox-evasion", "behavioral-mimicry"] strings: $prefix = ")]}'" nocase $key_param = /cup2key=8:[A-Za-z0-9-_]+/ $hreq_param = /cup2hreq=[a-f0-9]{64}/ $nonce_float = /server_nonce\"\s*:\s*-?\d+\.\d+E[+-]?\d+/ condition: any of ($prefix, $key_param, $hreq_param) and $nonce_float } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | rule Edge_Utility_Abuse_SharePointExploit { meta: description = "Detects Microsoft Edge utility process abuse seen in SharePoint exploit chains" author = "THE RAVEN FILE" threat_level = "medium" tags = ["Edge", "utility", "sandbox-evasion", "behavioral-mimicry", "SharePoint"] version = "1.0" strings: // Network service abuse $net_util_type = "--type=utility" $net_subtype = "network.mojom.NetworkService" $disable_sandbox = "--service-sandbox-type=none" // Crashpad manipulation $crashpad_type = "--type=crashpad-handler" $annotation_build = "--annotation=IsOfficialBuild=1" $annotation_exe = "--annotation=exe=" $annotation_chromium = "--annotation=chromium-version=" // GPU abuse $gpu_type = "--type=gpu-process" $gpu_preferences = "--gpu-preferences=" $no_compat_clear = "--no-appcompat-clear" // Shared signals $prefetch2 = "/prefetch:2" $prefetch3 = "/prefetch:3" $prefetch4 = "/prefetch:4" $mojo_channel = "--mojo-platform-channel-handle=" $field_trial = "--field-trial-handle=" condition: 4 of ($net_util_type, $disable_sandbox, $crashpad_type, $annotation_build, $gpu_type, $gpu_preferences, $no_compat_clear, $prefetch2, $prefetch3, $prefetch4, $mojo_channel, $field_trial) } |