Злоупотребление модульным доверием
PAM (Pluggable Authentication Modules – Подключаемые Аутентификационные Модули) — это фундаментальная часть инфраструктуры аутентификации Linux. Его гибкость, изначально предназначенная для поддержки различных механизмов аутентификации, может быть использована злоумышленниками. В ходе нашего анализа мы столкнулись с бэкдором, реализованным в виде PAM-модуля и состоящим менее чем из 100 строк кода. Этот бэкдор обеспечивает кражу учетных данных, обход аутентификации и скрытное закрепление в системе.
Данный имплант компактен, эффективен и практически полностью невидим. На момент анализа образцы имели всего 0–1 обнаружение на VirusTotal, что подчеркивает критический пробел в традиционных технологиях детектирования.
Почему эта модель угроз важна
PAM-модули загружаются в привилегированные процессы аутентификации, предоставляя им прямой доступ к чувствительным учетным данным пользователей. Вредоносный PAM-модуль может:
- Похищать имена пользователей и пароли во время входа в систему.
- Обходить проверки аутентификации, даже с неверными учетными данными.
- Предоставлять доступ и оставаться незамеченным стандартными средствами мониторинга.
Функциональный обзор бэкдора
Основной механизм перехватывает вызовы функции
pam_sm_authenticate(), главной функции, вызываемой в процессе аутентификации пользователя. При вызове бэкдор:- Регистрирует (логирует) или эксфильтрирует предоставленные учетные данные.
- Безусловно возвращает PAM_SUCCESS для обхода аутентификации.
- Имитирует легитимное поведение, чтобы не вызывать срабатывания предупреждений (alerts).
pam.linux.so обладает как возможностями обхода аутентификации, так и кражи учетных данных. Жестко закодированный пароль в модуле позволяет любому пользователю аутентифицироваться, что фактически дает возможность выдать себя за любую системную учетную запись. Когда срабатывает обход аутентификации, уведомление отправляется на командно-контрольный сервер (C2).
Другая возможность заключается в записи имени пользователя, пароля и прослушиваемого порта SSH-сервера на командно-контрольный сервер (C2). Это позволяет злоумышленнику установить резервное соединение с скомпрометированным хостом.
Эксфильтрация учетных данных с помощью
pam_sm_authenticate() — имя пользователя, пароль и информация о хосте собираются и отправляются через специальную функцию эксфильтрации.Несмотря на свой небольшой объем кода, имплант является полнофункциональным. Благодаря прямой интеграции в поток аутентификации, он обеспечивает как доступ к учетным данным, так и закрепление в системе — для сохранения контроля не требуются никакие дополнительные механизмы. Использование легитимной аутентификации через
_user_auth позволяет ему оставаться работоспособным, не нарушая ожидаемое поведение при входе в систему.Ограничения традиционного сканирования на вредоносное ПО
Следующие SHA-256-хеши представляют проанализированные варианты PAM-бэкдора:
| NAME | HASH |
|---|---|
centos7_pam_access.so | f62624d28aaa0de93e49fcdaaa3b73623723bdfb308e95dcbeab583bdfe3ac64 |
pam_linux.so | 24d71c0524467db1b83e661abc2b80d582f62fa0ead38fdf4974a64d59423ff1 |
sshhook(1).so | 5aeae90e3ab3418ef001cce2cddeaaaea5e4e27efdad4c6fa7459105ef6d55fa |
looter.so | ae26a4bc9323b7ae9d135ef3606339ee681a443ef45184c2553aa1468ba2e04b |
pam_daemon.so.orig | ac32ed04c0a81eb2a84f3737affe73f5101970cc3f07e5a2e34b239ab0918edd |
На момент обнаружения этой угрозы большинство вариантов имели 0 или 1 обнаружение на VirusTotal. Это отражает более широкую проблему традиционных антивирусных движков, которые испытывают трудности с:
- Необфусцированной, но нестандартной логикой.
- Специально скомпилированными бинарными файлами.
- Имплантами, напоминающими легитимные модули по своей структуре и метаданным.
Стратегия детектирования THOR
В отличие от антивирусных движков, THOR использует методы, основанные на выявлении аномалий, и поведенческую логику для идентификации подобных имплантов. Обновленные правила детектирования сосредоточены на:
- Отклонениях в потоке управления внутри
pam_sm_authenticate. - Подозрительных паттернах доступа к учетным данным или системных вызовов.
- Статических аномалиях в метаданных разделяемых объектов или структуре сборки.
Практическое руководство по обнаружению и реагированию
Командам безопасности следует рассмотреть следующие технические шаги для обнаружения и нейтрализации вредоносных PAM-модулей:
- Проверять все разделяемые объекты в каталоге
/lib/security/, сверяя их с хешами заведомо доверенных (эталонных) файлов. - Отслеживать изменения в файлах конфигурации
/etc/pam.d/*и использовать фреймворки аудита для регистрации загрузок модулей. - Анализировать журналы аутентификации на предмет сценариев входа, которые неожиданно завершаются успешно или обходят механизмы многофакторной аутентификации.
- Использовать THOR в автономном режиме (standalone) или в режиме управления ASGARD (managed-mode) для сканирования на поведенческие аномалии по всему парку систем.
- Регулярно проверять покрытие сигнатур с помощью
thor-util upgradeи обеспечивать проведение периодических сканирований.
Заключение
Данный случай наглядно демонстрирует эффективность простых имплантов в критически важных областях операционной системы. Современным злоумышленникам не требуются сложные вредоносные фреймворки — достаточно лишь глубокого понимания привилегированных границ доверия и минимального объема кода для их эксплуатации.
Поскольку мы живем в эпоху LLM (больших языковых моделей), нам удалось воспроизвести возможность эксфильтрации паролей, обратившись к стандартному ИИ (не подвергнутому джейлбрейку) с помощью единственного запроса (промпта):
Инструменты, подобные THOR, заполняют пробелы в обнаружении, которые остаются при использовании сигнатурных и EDR-ориентированных подходов, благодаря анализу поведения и метаданных. Если вы уже используете THOR, убедитесь, что ваши сигнатуры актуальны. Если нет, подумайте, где в вашем текущем стеке средств обнаружения могут существовать подобные «слепые зоны», и оцените, как их можно эффективно нейтрализовать или минимизировать.
Переведено с любовью с английского на русский язык S3VE7NИсточник статьи: https://www.nextron-systems.com/2025/05/30/stealth-in-100-lines-analyzing-pam-backdoors-in-linux/