Локальная разведка и ошибки конфигурации
Методично исследуйте Linux-хост и найдите ошибки конфигурации, которыми воспользовался бы атакующий.
- security.enumeration
- security.misconfiguration
Задания
1. Утечка через бэкап15 очк.
В резервной копии, которую может прочитать любой, лежат учётные данные. Найдите и отправьте пароль.
2. Скрипт, доступный всем на запись15 очк.
Один скрипт в
/usr/local/binможет изменить любой пользователь. Укажите его полный путь.3. Необычный SUID-файл15 очк.
Один SUID-файл на этом хосте не входит в стандартную систему. Укажите его полный путь.
4. Напишите отчёт15 очк.
Создайте
~/findings.txt, в котором упоминаютсяcleanup.shиbackup-helper, и для каждого одним предложением объясните, чем он опасен.
Вводные и справка по командам
У вас есть оболочка с низкими привилегиями на сервере. Прежде чем пробовать что-то хитрое, атакующие (и аудиторы) проводят разведку: кто я, что можно прочитать, что можно изменить, что работает с повышенными правами?
С чего начать:
id; uname -a; cat /etc/os-release
find / -perm -4000 -type f 2>/dev/null # SUID-файлы
find / -perm -o+w -type f 2>/dev/null # файлы, доступные всем на запись
ls -la /var/backups /opt /usr/local/bin
Это окружение работает с
no-new-privileges, поэтому SUID-файлы здесь не могут реально повысить привилегии — задача в том, чтобы распознать ошибки конфигурации.
Справка по командам
| Команда | Что делает |
|---|---|
find / -perm -4000 -type f 2>/dev/null | SUID-файлы по всей системе |
find <где> -perm -o+w -type f | файлы, которые может изменить любой пользователь |
find / -name '*.bak' 2>/dev/null | файлы по шаблону имени |
ls -la <каталог> | содержимое каталога с правами |
cat <файл> | вывести файл |
echo 'текст' >> <файл> | дописать строку в конец файла |
nano <файл> | редактор: Ctrl+O — сохранить, Enter, Ctrl+X — выйти |
2>/dev/null скрывает сообщения «Permission denied» — их будет много, это нормально.