Как мне проанализировать сообщение SELinux SYSCALL?

Kali Linux - это дистрибутив, разработанный для опытных пользователей, которые могут использовать инструменты безопасности на виртуальной машине. Он не предназначен для удобства людей, незнакомых с Linux или операционной системой общего назначения.Он не предназначен для работы непосредственно на оборудовании. Он может делать все это, но это просто неподходящий инструмент для работы, и это только то, что должны попробовать очень опытные пользователи.

Обычно установку графических драйверов в Kali делать не следует. Запустите на своем компьютере «обычный» дистрибутив, такой как elementary OS, Linux Mint, Ubuntu и т. Д., И запустите Kali на виртуальной машине, такой как VirtualBox.

3
01.03.2017, 22:57
2 ответа

Итак, в этом случае мы уже знаем, что рассматриваемый системный вызов был setrlimit . Поиск по запросу setrlimit показывает, что существует функция библиотеки C с тем же именем, которая является оболочкой для системного вызова.

Документация функции указывает, что первый аргумент («a0» в строке SYSCALL из журнала аудита) указывает на рассматриваемый ресурс, но руководство сообщает нам только имена символов, а не числовое значение. Однако он сообщает нам, что символы определены в заголовочном файле sys / resource.h . Однако этот файл не содержит фактических значений.

Чтобы получить числовые значения, мы смотрим в sysdeps / unix / sysv / linux / bits / resource.h .Там мы находим различные макросы RLIMIT_, определенные.

Глядя на них, мы можем узнать, какой ресурс пытались изменить. В этом случае a0 = 1, и макрос, соответствующий 1, оказывается RLIMIT_FSIZE.

1
27.01.2020, 21:30

Это немного другой способ. AVC сообщает, что у вас запущен процесс bash , и он пытается установить rlimit для себя или некоторых своих дочерних элементов, что является довольно распространенным случаем для оболочки.

Неправильно то, что bash работает с контекстом SELinux службы httpd , которой это не разрешено. Это запрещено, потому что httpd - это демон, обращающийся к сети, и если возникнет какая-то ошибка, вы не хотите позволять злоумышленникам играть с этим.

Обычно это вызвано тем фактом, что bash каким-то образом был запущен из httpd (что, по большому счету, никогда не бывает хорошей идеей).

Из этих сообщений вы не узнаете, какой ресурс изменяется. SELinux имеет только возможность setrlimit , которая разрешает или запрещает изменение любых ограничений.При поиске аргументов вам понадобится другой инструмент, например:

  • SystemTap для исследования системных вызовов и их аргументов
  • Чтение исходного кода
  • Запуск вашего скрипта под gdb или присоединение gdb к запущенному процессу.
0
27.01.2020, 21:30

Теги

Похожие вопросы