DLL-хайпринг через WinSCP: скрытая угроза для корпоративной сети

📋 Кратко

DLL-хайпринг (DLL Sideloading) — одна из самых опасных техник Living Off the Land, активно используемая злоумышленниками в корпоративных сетях. WinSCP, популярный SFTP-клиент, становится идеальным вектором для такой атаки благодаря особенностям поиска DLL в Windows. В статье разбираем, как работает атака, какие индикаторы компрометации помогут её обнаружить и какие меры защиты необходимо внедрить в корпоративной инфраструктуре.

⏱ 4 минуты чтениясложность

DLL-хайпринг (DLL Sideloading) — одна из самых распространённых техник, используемых злоумышленниками для скрытого выполнения вредоносного кода. Вместо того чтобы внедрять собственные исполняемые файлы, атакующие манипулируют легитимными приложениями, заставляя их загружать вредоносные библиотеки. WinSCP — популярный SFTP-клиент, который можно встретить практически в любой корпоративной сети, — идеальный кандидат для такой атаки. Разберём, как именно происходит атака и как защититься.

Вредоносный код проникает в легитимное приложение через подмену DLL
Вредоносный код проникает в легитимное приложение через подмену DLL

🔍 Что такое DLL-хайпринг и почему WinSCP в зоне риска

DLL-хайпринг (или DLL Sideloading) — это техника, при которой злоумышленник помещает вредоносную DLL в каталог, где приложение ищет библиотеки перед системными путями. Windows использует определённый порядок поиска DLL: сначала текущая папка приложения, затем системные папки. Если приложение загружает DLL без указания полного пути, оно может подхватить вредоносную копию.

Цепочка атаки DLL-хайпринга от проникновения до выполнения кода
Цепочка атаки DLL-хайпринга от проникновения до выполнения кода

WinSCP особенно уязвим, поскольку он активно использует множество вспомогательных DLL: version.dll, wtsapi32.dll, credui.dll и другие. Исследователи из Positive Technologies (статья на Habr) детально описали, как злоумышленники могут перехватить выполнение через version.dll. При этом для атаки не требуется прав администратора — достаточно права на запись в папку, где установлен WinSCP (например, Program Files, куда пользователь может иметь доступ через групповые политики).

🛠️ Как работает атака: порядок поиска DLL и перехват

Атака состоит из нескольких этапов:

WinSCP в пятёрке самых эксплуатируемых приложений для DLL-атак
WinSCP в пятёрке самых эксплуатируемых приложений для DLL-атак
  • Злоумышленник получает доступ к корпоративной сети (через фишинг, эксплуатацию уязвимостей или скомпрометированные учётные данные).
  • Он находит папку, где установлен WinSCP (обычно C:\Program Files\WinSCP\).
  • В эту папку помещается вредоносная DLL, например, version.dll. Эта DLL должна экспортировать те же функции, что и оригинальная библиотека, и перенаправлять вызовы к легитимной версии (прокси-метод).
  • При следующем запуске WinSCP.exe (или при его использовании через планировщик задач) система загружает сначала version.dll из папки приложения, а не из системной папки.
  • Вредоносная DLL выполняется в контексте процесса WinSCP, получая доступ к тем же ресурсам и сетевым подключениям.

Для создания такой DLL злоумышленники часто используют языки Rust или C++, что позволяет обойти некоторые сигнатурные детекторы. Прокси-функции обеспечивают прозрачность для пользователя — WinSCP продолжает работать как обычно, не вызывая подозрений.

Пример индикатора компрометации: Событие Windows Event ID 4688 (создание процесса) с образом WinSCP.exe, загружающим DLL из необычного пути, например, C:\Program Files\WinSCP\version.dll, при этом оригинальная version.dll находится в C:\Windows\System32\. Также можно отслеживать событие 7 (загрузка DLL) через Sysmon.

📊 Реальные инциденты и статистика

Техника DLL-хайпринга через WinSCP не является теоретической. В 2025–2026 годах зафиксированы атаки на российские промышленные и ИТ-компании, где злоумышленники использовали WinSCP для закрепления в сети. По данным аналитиков, WinSCP входит в пятёрку наиболее часто эксплуатируемых приложений для DLL Sideloading в корпоративной среде. Отчасти это связано с его повсеместным распространением: по оценкам, WinSCP установлен на 60–70% рабочих станций Windows в организациях, где требуется передача файлов по SFTP.

Эшелонированная защита корпоративной среды от DLL-хайпринга
Эшелонированная защита корпоративной среды от DLL-хайпринга

В одном из недавних инцидентов (описанном на Habr) атакующие использовали версию WinSCP 6.5.6, поместив в папку приложения вредоносную version.dll. DLL была написана на Rust, что позволило обойти антивирусные решения на основе сигнатур. Атака оставалась незамеченной в течение нескольких недель, пока не была обнаружена при анализе сетевого трафика.

🛡️ Методы защиты корпоративной среды

Защита от DLL-хайпринга требует комплексного подхода:

Специалист ИБ выполняет аудит защиты от DLL-хайпринга
Специалист ИБ выполняет аудит защиты от DLL-хайпринга
  • AppLocker и WDAC — настройте политики, разрешающие запуск только подписанных DLL из доверенных папок. WDAC (Windows Defender Application Control) позволяет задать правила для всех DLL, загружаемых процессами.
  • Безопасный порядок поиска DLL — используйте функцию SetDllDirectory или укажите полный путь к DLL в манифесте приложения. Для WinSCP можно создать политику, которая запрещает загрузку DLL из его собственной папки.
  • Мониторинг событий — настройте сбор событий загрузки DLL (Event ID 7 в Sysmon) и создание процессов (4688). Обращайте внимание на несоответствие путей: если WinSCP загружает version.dll из своей папки, а не из System32, это повод для расследования.
  • Принцип минимальных привилегий — ограничьте права на запись в папки Program Files. Пользователи не должны иметь возможность изменять содержимое каталогов с приложениями.
  • Использование XDR/SIEM — коррелируйте события загрузки DLL с другими активностями (сетевые соединения, запуск подозрительных процессов).
Рекомендация: Внедрите Windows Defender Application Control (WDAC) для всех критичных приложений. WDAC позволяет разрешить загрузку только тех DLL, которые имеют цифровую подпись Microsoft или вашего доверенного издателя. Это практически полностью блокирует DLL-хайпринг.

⚠️ Чек-лист для ИБ-специалиста

  • Проверьте, установлен ли WinSCP в вашей сети. Используйте инвентаризацию ПО.
  • Проанализируйте папки установки WinSCP на наличие необычных DLL (version.dll, wtsapi32.dll, credui.dll и т.д.), которые не являются частью оригинальной поставки.
  • Настройте AppLocker или WDAC для блокировки неподписанных DLL.
  • Включите аудит загрузки DLL через Sysmon (Event ID 7) и настройте оповещения в SIEM.
  • Проверьте, есть ли у пользователей права на запись в папки Program Files. Если есть — отзовите.
  • Регулярно обновляйте WinSCP до последней версии (на момент написания статьи актуальна версия 6.5.6).
  • Проведите Compromise Assessment (оценку компрометации) для поиска следов DLL-хайпринга.

DLL-хайпринг через WinSCP — это не единичная уязвимость, а особенность архитектуры Windows, которую злоумышленники активно используют. Защита от неё требует не только технических мер, но и постоянного мониторинга. Внедрение политик Zero Trust и принципа минимальных привилегий значительно снижает риск успешной атаки.

📚 Читайте также

📖 Термины

SIEM · Supply Chain Attack · Threat Hunting · Zero Trust · Бэкдор

🔗 Источники