Практическое задание

Эта задача — шаг 12 курса «Расследование на сервере»

Спрятанные capabilities в /opt

средне~5 мин

После взлома надо понять, не оставил ли злоумышленник себе лазейку. SUID-биты чистые, но привилегии можно навесить и через capabilities — ls -l их не показывает. Найди в дереве /opt (рекурсивно) все файлы с capabilities и запиши их пути, по одному на строку, в /root/caps-opt.txt — только пути, без самих capabilities.

Что потренируешь:
  • capabilities
  • getcap
  • аудит безопасности
  • awk
  • расследование

Разбор темы

Linux capabilities дробят права root на отдельные привилегии: cap_net_raw — сырые сокеты, cap_dac_read_search — читать любой файл в обход прав, cap_setuid — сменить UID. Навешенные на бинарник (setcap), они работают как точечный SUID и так же годятся для эскалации — но в ls -l их не видно, поэтому при разборе инцидента их ищут отдельно. getcap читает capabilities файла, а с ключом рекурсии обходит всё дерево и печатает только файлы, у которых они есть; дальше вывод фильтруют, оставляя пути.

Что проверяется

  1. оба файла с capabilities найдены
  2. лишних файлов нет
  3. в файле только пути

Как это выглядит