Для эффективного расследования киберинцидентов в Linux-системах специалистам по информационной безопасности необходимо сосредоточиться на критически важных артефактах. В этом руководстве представлен структурированный подход к анализу 10 ключевых категорий данных, которые наиболее часто содержат следы компрометации.
- Журналы аутентификации
- История команд
- Запущенные процессы
- Автозагрузка и планировщики
- Основные точки
- Критические точки
- Полный дамп автозагрузки
- Поиск аномальных сервисов:
- Анализ временных задач
- Сетевые артефакты
- Файловые метаданные
- Переменные окружения
- SSH-ключи и конфигурация
- Журналы сервисов
- Дампы памяти
- Заключение
Журналы аутентификации
Основные источники:
- /var/log/auth.log (Debian-based)
- /var/log/secure (RHEL-based)
- /var/log/btmp (неудачные входы)
- /var/log/wtmp (история сессий)
Что искать:
Аномальные SSH-подключения:
1 | grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c |
Несанкционированное использование sudo:
1 | grep "sudo:" /var/log/auth.log | grep -v "notty" |
Временные аномалии в записях входа:
1 | last -f /var/log/wtmp |
Просмотр неудачных попыток авторизации:
1 | lastb -a -n 50 |
Совет: Сравните временные метки подозрительных входов с данными netfilter (/var/log/kern.log) для выявления возможной подмены логов.
История команд
Ключевые файлы:
- ~/.bash_history
- ~/.zsh_history
- /root/.bash_history
Методы анализа:
1 2 3 4 5 | # Поиск опасных команд grep -E '(wget|curl|chmod|chattr|\.\/|nc|ncat|netcat|ssh|scp|ftp|mtr|pingf)' ~/.bash_history # Проверка очистки истории stat ~/.bash_history | grep "Size: 0" |
Обнаружение очистки истории:
- Проверка размера файла истории
- Поиск команд history -c, unset HISTFILE
Важно: Современные атаки часто используют HISTCONTROL=ignorespace или HISTIGNORE, поэтому стоит проверить переменные окружения.
Запущенные процессы
Инструменты:
1 2 3 4 5 6 7 8 | # Полный список процессов ps auxf # Сетевые соединения процессов lsof -i -P -n # Анализ /proc ls -la /proc/[pid]/exe |
Выявление скрытых процессов:
1 | ps -eo pid,comm,args | grep -E '(\.\/|/tmp|/dev/shm)' |
Совет: Сравнение вывода ps и /proc для выявления расхождений (признак руткитов).
Автозагрузка и планировщики
Основные точки
Пользовательские и системные crontab
- /etc/init.d/
- /etc/systemd/system/
- ~/.config/autostart/
Критические точки
1 2 3 4 5 6 | # Планировщик cron crontab -l ls -la /etc/cron* # Systemd сервисы systemctl list-unit-files --state=enabled |
Полный дамп автозагрузки
1 | crontab -l -u $(users | tr ' ' '\n' | sort -u) |
Поиск аномальных сервисов:
1 | find /etc/systemd/system/ /lib/systemd/system/ -type f -exec grep -l 'ExecStart' {} \; | xargs ls -la |
Анализ временных задач
1 | find /etc/cron* /var/spool/cron -type f -exec ls -la {} \; -exec echo "Contents:" \; -exec cat {} \; |
Совет: Проверьте бинарники, на которые ссылаются задачи автозагрузки, с помощью md5sum и сравнения с эталонными хешами.
Сетевые артефакты
Анализ соединений:
1 2 3 4 5 | # Активные подключения ss -tulnp # Исторические соединения cat /proc/net/tcp |
Файловые метаданные
Ключевые команды:
1 2 3 4 5 | # Недавно измененные файлы find / -type f -mtime -3 -ls # Скрытые атрибуты lsattr /path/to/suspicious/file |
Переменные окружения
Анализ:
1 2 3 4 5 | # Текущие переменные env # Окружение процессов strings /proc/[pid]/environ |
SSH-ключи и конфигурация
Проверка:
1 2 3 4 5 | # Авторизованные ключи ls -la ~/.ssh/authorized_keys # Конфигурация сервера grep -v "^#" /etc/ssh/sshd_config |
Журналы сервисов
Важные логи:
1 2 3 4 5 | # Веб-серверы tail -n 100 /var/log/nginx/access.log # Системные сообщения journalctl -xe |
Дампы памяти
Базовый анализ:
1 2 3 4 5 | # Создание дампа LiME или fmem # Анализ через Volatility vol.py -f memory.dump linux_pslist |
Заключение
Эффективное расследование инцидентов в Linux требует системного подхода к анализу перечисленных артефактов. Для комплексной защиты рекомендуется:
- Реализовать централизованный сбор логов
- Настроить мониторинг изменений критических файлов
- Регулярно проводить аудит системы
- Использовать EDR-решения для Linux
Экспертный совет: Сохраняйте целостность доказательств, создавая образы дисков и памяти перед анализом. Используйте write-blocking при работе с физическими носителями.