🛡 Puma: как руткит обеспечивает тайный SSH-доступ через незаметную подмену ключей

Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…
🛡 Puma: как руткит обеспечивает тайный SSH-доступ через незаметную подмену ключей
Продолжая наш рассказ о деятельности группировки ExCobalt и ее новом инструменте — рутките Puma, представленном на киберфестивале PHDays, подробнее разберем одну из его наиболее изощренных и опасных техник — скрытую модификацию файла authorized_keys.
⚙️ Как это работает
LKM-руткит перехватывает системные вызовы open и openat, выполняемые процессом ssh, отслеживая обращения к файлу authorized_keys, расположенному в директории ~/.ssh/. Этот файл — основной механизм беспарольной аутентификации в OpenSSH. Если клиент предъявляет закрытый ключ, соответствующий одному из публичных ключей в этом файле, сервер считает пользователя подлинным, не запрашивает пароль и разрешает вход в систему.
При попытке процесса ssh прочитать этот файл руткит на лету модифицирует возвращаемое системой содержимое: к оригинальным данным добавляется публичный ключ, хранящийся в памяти руткита. При этом сам файл остается нетронутым: подмена выполняется исключительно в памяти ядра в момент вызова read.
Таким образом, в типичном сценарии атаки:
1. Злоумышленник инициирует SSH-соединение и пытаются авторизоваться с использованием собственного закрытого ключа.
2. Процесс sshd на машине считывает ключи из файла authorized_keys.
3. Руткит незаметно дописывает свой ключ к возвращаемому содержимому файла.
4. Процесс sshd воспринимает внедренный ключ как легитимный и разрешает доступ атакующему без запроса пароля.
5. В результате злоумышленник получает полноценный интерактивный доступ к скомпрометированной системе от имени любого пользователя и возможность выполнять произвольные команды.
Опасность такой техники высока, поскольку до момента выгрузки руткита из памяти системы даже полная смена пароля или полное отключение парольной аутентификации не помогут избавиться от угрозы, а содержимое файла на диске не изменится, что обеспечивает и высокую скрытность такой техники. Особо опасна ситуация, когда ключ внедряется в файл authorized_keys пользователя с правами root. В этом случае атакующие получают неограниченные привилегии и абсолютный контроль над скомпрометированной системой.
🔎 Как быстро обнаружить эту атаку
Для выявления скрытой модификации файла authorized_keys можно использовать следующий метод: сравнить содержимое файла, полученное при чтении через оригинальную утилиту /bin/cat, с содержимым, полученным при чтении той же утилитой, но переименованной в ssh. Дело в том, что Puma ориентируется на имя процесса перед модификацией содержимого файла authorized_keys, и при разнице в выводах можно уверенно утверждать, что в системе присутствует руткит.
Для автоматизации такого детекта предлагаем использовать скрипт, который мы оставили в комментариях.
Если при выполнении скрипта обнаруживаются расхождения в результатах чтения файла, это является однозначным признаком компрометации системы и требует немедленных мер реагирования:
• ограничения SSH-доступа;
• снятия дампа памяти;
• обращения к специалистам по реагированию на инциденты ИБ.
#TI #Detect #APT #Malware
@ptescalator
Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…



