WSL Граница совместимости ядер

WSL: Граница совместимости ядер

Как драйверы lxss.sys и wslfs.sys создают мост между NT и Linux без полной виртуализации

Архитектурные слои трансляции

WSL работает не через эмуляцию, а через трансляцию системных вызовов на уровне драйверов ядра Windows. Ключевые компоненты:

Системные вызовы
Драйвер lxcore.sys перехватывает ~250 основных системных вызовов Linux и транслирует их в эквивалентные NT-вызовы. Не поддерживается ~15% вызовов (например, ptrace в полном объёме).

Файловая система
Драйвер wslfs.sys обеспечивает двусторонний доступ: /mnt/c → C:. Метаданные Linux (права, владельцы) хранятся в атрибутах $LXUID и $LXGID файловой системы NTFS.

Сетевой стек
В WSL2 используется гипервизор на базе Hyper-V с виртуальной сетью. В WSL1 сетевой стек полностью интегрирован с хостом — все соединения идут через сетевой стек Windows без изоляции.

Интерфейс включения компонентов Windows с выделенной опцией WSL

Окно компонентов Windows с активированной Подсистемой Windows для Linux

⚠️ Критические ограничения для реального пентеста

Что НЕ работает в WSL1

  • Raw-сокеты для сниффинга (tcpdump, wireshark)
  • Прямой доступ к сетевым интерфейсам уровня 2 (без --net=host в WSL2)
  • Загрузка собственных ядерных модулей (.ko)
  • Полноценный iptables с поддержкой всех таблиц
  • Низкоуровневые атаки на ядро (LPE через уязвимости в драйверах)

Что РАБОТАЕТ

  • Все инструменты прикладного уровня (nmap, sqlmap, hydra)
  • Скриптовые атаки на веб-приложения
  • Криптоанализ и оффлайн-брутфорс
  • Работа с форматами файлов (анализ дампов памяти, образов дисков)
  • Интеграция с инструментами Windows через /mnt/c

Практический вывод: WSL подходит для подготовки к атакам, анализа артефактов и прикладного тестирования. Для сетевого пентеста, эксплуатации уязвимостей ядра и работы с оборудованием требуется полноценная виртуальная машина или физический хост.

Файловая система Linux: точки аудита и атаки

Каталог Риск для безопасности Метод контроля
/etc Изменение конфигурации служб, подмена PAM-модулей, внедрение бэкдоров в cron aide, tripwire, мониторинг целостности через inotify
/var/log Очистка следов атаки, подмена временных меток, создание ложных записей Централизованный сбор логов (syslog-ng → SIEM), хеширование логов в реальном времени
/home Кража учетных данных из .bash_history, .ssh, конфигураций браузеров Шифрование домашних каталогов, ограничение прав на чтение .ssh, регулярный аудит
/proc Сокрытие процессов через rootkit, чтение памяти других процессов (/proc/[pid]/mem) Сравнение вывода ps и содержимого /proc, использование chkrootkit
/tmp Размещение вредоносных исполняемых файлов, эксплуатация race condition noexec в /etc/fstab, регулярная очистка через systemd-tmpfiles
/dev Доступ к неограниченным устройствам через /dev/mem (требует прав root) Ограничение прав на /dev через udev-правила, мониторинг создания новых устройств

Ключевой принцип аудита: Критичность каталога определяется не его назначением, а комбинацией трёх факторов — частотой изменений легитимными процессами, наличием механизмов контроля целостности и потенциальным ущербом от компрометации.

Готовы применять знания на практике?

WSL — инструмент для подготовки и анализа. Для реальных атак и глубокого тестирования требуются изолированные среды. Понимание архитектурных ограничений предотвращает ложное ощущение безопасности.

SEBERD IT Base → Экспертные кейсы по ИБ

Оставьте комментарий