понедельник, 17 сентября 2018 г.

Обзор нескольких инструментов аудита безопасности Linux

В нашем паблике мы уже касались темы проведения технического аудита защищённости Linux-систем. Однако, в тот раз речь шла о самописных bash-скриптах или CLI-утилит построенных так же на скриптовом движке. В практике аудита часто приходиться сталкиваться с большой фермой машин, которые нужно протестировать по однотипному шаблону за очень короткий промежуток времени. И тут на выручку приходят специализированные инструменты, речь о которых и пойдет в нашем сегодняшнем материале.

1.Lynis - auditing, system hardening, compliance testing

Lynis - это простая и наглядная утилита для аудита Linux-систем. Она осуществляет сканирование безопасности и определяет состояние защищённости (hardening state) машины. Найденные тревожные сигналы и важные параметры безопасности выводятся в консоль и лог сгруппированные по блокам. Кроме информации, касающейся вопросов безопасности Lynis так же поможет получить обще-системную информацию, информацию об установленных пакетах и возможных ошибках конфигурации.

Lynis выполняет сотни отдельных тестов, чтобы определить состояние безопасности системы. Сама проверка безопасности состоит в выполнении набора шагов от инициализации программы до отчета.


Поскольку Lynis является гибким, он используется для различных целей. Так типичные варианты использования Lynis включают:
  • Аудит безопасности
  • Тестирование соответствия (например, PCI, HIPAA, SOx)
  • Обнаружение уязвимостей и сканирование
  • Улучшение системы
Многие другие инструменты используют одни и те же файлы данных для выполнения тестов. Поскольку Lynis не ограничивается несколькими распространенными дистрибутивами Linux, он использует тесты из стандартов и многие пользовательские, которые не найдены ни в одном другом инструменте. "лучшие практики" - CIS, NIST, NSA, OpenSCAP data, Руководства и рекомендации поставщиков (например, Debian Gentoo, Red Hat)

Плагины позволяют инструменту выполнять дополнительные тесты. Их можно рассматривать как расширение (или дополнение) к Lynis, улучшая его функциональность. Одним из примеров является плагин проверки соответствия, который выполняет конкретные тесты, применимые только к некоторому стандарту.

Практика

1. Установка одной командой:


Интересно, что Lynis для своей работы требует несколько пакетов (в моём случае они уже установлены, см. 4 строку скрина выше).

2. Подготовка к запуску

Важно понимать, что для работы программы необходимы права администратора системы (root) и права писать лог в /var/log.

Короткий инструктаж перед вылетом - man lynis:


3. Запуск

Запускаю командой lynis с опцией -с:


Результат - правильно определяются операционная система, профиль и директория для логов (лог, который будет писать lynis - /var/log/lynis.log - очищается и будет перезаписан). Информация выводится по блокам, что весьма удобно для делания скриншотов и постепенного "знакомства" с "пациентом". На любом этапе аудирования процесс может быть продолжен (жмём для этого Enter) или прекращён (Ctrl+C).

А вот и выдержка по результатам работы в качестве примера:

Первое, это результаты Boot and services:

lynis 

Далее кратко о том, что мне было нужно, это были настройки SSH:


PHP:

lynis 

Установленное анти-малварь ПО:

lynis 

И конечно рекомендации:

lynis info9

И в самом конце Hardening index:

lynis info8

В общем, очень рекомендую брать на вооружение этот простой и функциональный инструмент :)

Дополнительные материалы



Так же не забывай про очень крутые плагины расширяющие возможности тулзы

2.Lunar - a UNIX security auditing tool based on several security frameworks

Lunar - это набор нативных скриптов выполняющих тестирование целевой Linux машины и генерирующих заключение аудитора безопасности. Тулза основана на стандартах CIS и других мировых фреймворках по безопасности.

ТДанная утилита так же поддерживает облачную платформу Amazone и контейнеры Docker. Вот тут гайд любезно предоставленный разработчиками по использованию на CentOS, Ubuntu, тут микро-гайд по общим командам запуска.


Примеры запуска команд из CLI

Запуск в режиме аудита:
./lunar.sh -a 

Запуск в режиме аудита и предоставления большей информации:./lunar.sh -a -v 

Отображение предыдущих резервных копий:
lunar.sh -b Previous backups: 21_12_2012_19_45_05 21_12_2012_20_35_54 21_12_2012_21_57_25 


Восстановление из предыдущих резервных копий:
./lunar.sh -u 21_12_2012_19_45_05 

Перечислить тесты:
./lunar.sh -S 

Выполнять только тесты на основе оболочки:./lunar.sh -s audit_shell_services 


3.Nix Auditor - a CIS Audit made easier (RHEL, CentOS)

А вот еще один скрипт проверки соответствия безопасности Linux систем требованиям бенчмарка CIS

Nix Auditor - a script to audit linux and unix distributions based mainly on the CIS standards and universal linux hardening guidelines. The value it brings to your auditing set of tools is:
  • Speed – one can audit OS in less than 120 seconds and get report
  • Accuracy – tested on CentOS and RedHat with 100% accuracy
  • Customizeability – it is on github, code is easily customizeable to suit the OS type and the set of controls one needs to 
  • Simplicity – just make it executable an run!

Usage:

Make it executable ...(eg chmod +x filename)
Execute it.

4.Loki - Simple IOC and Incident Response Scanner

Утилита Loki не является классическим инструментом для проведения аудита, однако, является отличным инструментом для поиска следов взлома. 


Вот какие возможности дает нам эта тулза:

Выявление взлома основано на четырех методах обнаружения:
  • Имена файлов (соответствие регулярному выражению полного пути файла);
  • Проверка правилами Yara (поиск на соответствие сигнатурам Yara по содержимому файлов и памяти процессов);
  • Проверка хешей (сравнение просканированных файлов с хешами (MD5, SHA1, SHA256) известных вредоносных файлов);
  • Проверка обратной связи C2 (сравнивает конечные точки технологического соединения с C2 
Дополнительные проверки:
  • Проверка файловой системы Regin (через --reginfs)
  • Проверка аномалии процесса
  • Сканирование распакованных SWF
  • Проверка дампа SAM
  • Проверка DoublePulsar — пытается выявить бэкдор DoublePulsar oна порту 445/tcp и 3389/tcp

Признаками, свидетельствующими, что компьютер был скомпрометирован (Indicators of Compromise), т.е. взломан, могут быть:
  • появление на компьютере вредоносных файлов (вирусов, бэкдоров, троянов, килогеров, крипторов, майнеров и т.д.), а также хакерский утилит (для исследования сети, эксплуатации уязвимостей, сбора учётных данных и т.д.);
  • появление неавторизованных новых исполнимых и других файлов, даже если они не определяются антивирусным ПО как вредоносные;
  • неавторизованная сетевая активность (подключение к удалённым хостам, открытие для прослушивания портов неизвестными программами, либо программами, которые не должны этого делать и пр.);
  • аномальная активность на дисковых устройствах и повышенное потребление ресурсов системы (из-за поиска по дискам, шифрования файлов, использования ресурсов компьютера в целях злоумышленника для выполнения вычислений или хранения и распространения данных и т.д.)
  • и другие признаки, как видимые «на глаз», так и требующие использования специализированного ПО для выявления.

Установка в Kali Linux

Должна быть установлена YARA, которая по умолчанию уже имеется в Kali Linux.

sudo pip2 install psutil netaddr pylzma colorama

git clone https://github.com/Neo23x0/Loki

cd Loki/

python2 loki-upgrader.py

python2 loki.py -h

Установка в Ubuntu

sudo apt-get install yara python-yara python-pip python-setuptools python-dev git

sudo pip2 install --upgrade pip

sudo pip2 install -U setuptools

sudo pip2 install psutil netaddr pylzma colorama

git clone https://github.com/Neo23x0/Loki

cd Loki/

python2 loki-upgrader.py

python2 loki.py -h

Установка в BlackArch

sudo pacman -S yara python2-pip python2-yara

sudo pip2 install psutil netaddr pylzma colorama

git clone https://github.com/Neo23x0/Loki

cd Loki/

python2 loki-upgrader.py

python2 loki.py -h

Пример использования

В первую очередь, нужно обращать внимание на сообщения, выделенные красным:


В поле DESCRIPTION дано описание файла и причины его подозрительности. Обычно это вирусы, бэкдоры и другие подобные программы, которые не могут присутствовать на компьютерах большинства пользователей (если они не занимаются анализом вредоносного ПО).

Далее следует обратить внимание на жёлтые предупреждения:


На первом сркиншоте – найден инструмент для восстановления Wi-Fi паролей.
Дополнительные материалы

Инфа по использованию 1, 2, 3. 4


5.Linux Security Auditing Tool (LSAT)

LSAT - Linux Security Auditing Tool (LSAT) is a post install security auditing tool. It is modular in design, so new features can be added quickly. It checks inetd entries and scans for unneeded RPM packages. It is being expanded to work with Linux distributions other than Red Hat, and checks for kernel versions.

It (for now) works under Linux (x86: Gentoo, RedHat, Debian, Mandrake; Sparc: SunOS (2.x), Redhat sparc, Mandrake Sparc; Apple OS X).


Дополнительно почитать о LSAT



Ну, и если тебя заинтересовала данная тема, ты еще можешь глянуть нашу предыдущую статью по обзору скриптов по автоматическому анализу защищенности Linux.

Комментариев нет:

Отправить комментарий

Вы можете добавить свой комментарий...

Примечание. Отправлять комментарии могут только участники этого блога.