Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!
macOSTriageCollectionScript — Собирает комплексные данные триажа с macOS для реагирования на инциденты, включая системные журналы, списки файлов, данные браузеров, историю командной оболочки и механизмы персистентности. | Kitploit
Собирает комплексные данные триажа с macOS для реагирования на инциденты, включая системные журналы, списки файлов, данные браузеров, историю командной оболочки и механизмы персистентности.
Скрипт для сбора данных триажа для macOS, который использует sysdiagnose с несколькими дополнениями для сбора полезных данных триажа при расследованиях.
Что собирает скрипт?
Собранные данные включают:
sysdiagnose — утилиту на различных операционных системах macOS/iOS, которая собирает «общесистемную диагностическую информацию». В основном используется здесь для файлов журналов и живых данных, которые она собирает.
Списки файлов, поскольку APFS не имеет главной файловой таблицы, как NTFS, чтобы получить представление о том, что существует в файловой системе, мы создаём несколько CSV-файлов, используя комбинацию stat, shasum и file. Собранные данные могут использоваться в сочетании с каналами threat intelligence для выявления вредоносных файлов по их хешу или для выявления аномальных файлов. Это довольно ресурсоёмкий процесс, поэтому скрипт имеет флаг для запуска в быстром режиме, при котором этот шаг исключается.
Данные браузеров Safari, Chrome и Firefox собираются с целью исключения вредоносных загрузок, фишинговых атак или выявления подозрительных расширений браузера.
История Bash/Zsh собирается для определения обычной активности, выявления аномалий или активности «рук на клавиатуре».
FSEvents — это изменчивый источник журналов, не слишком отличающийся от журнала USN на машине с Windows. Хотя они включены в 'system_logs.logarchive', собираемый sysdiagnose, их можно использовать для получения представления о недавней активности в файловой системе, которая ещё может не быть зарегистрирована в 'system_logs.logarchive'.
Сбор расширенных атрибутов использует xattr и mdfind для поиска и анализа атрибутов, сохраняемых в базе данных Sqlite3. Определяется тип файла для атрибута, а данные сохраняются в шестнадцатеричном формате; по умолчанию собираются только атрибуты "kMDItemDownloadedDate" и "kMDItemWhereFroms", однако добавление дополнительных атрибутов можно выполнить, дополнив массив в функции section_7.
attributes
Также собираются несколько механизмов персистентности, включая LaunchAgents, LaunchDaemons, LoginItems и правила Emond.
Наконец, некоторые живые данные из lsof используются для выявления аномальных файлов, процессов или сетевых подключений.
Использование
Скрипт должен запускаться с правами sudo для сбора данных через sysdiagnose и из различных мест файловой системы; скрипт можно запускать только с правами sudo.
Терминал по умолчанию не имеет доступа к ряду мест, которые ему понадобятся, поэтому вам потребуется включить «полный доступ к диску» для Терминала. Это можно сделать в системных настройках в разделе «Конфиденциальность и безопасность» > «Конфиденциальность» -> «Полный доступ к диску»; чтобы подтвердить изменения, нажмите на замок в левом нижнем углу окна и перезапустите сеанс Терминала.
В случае возникновения ошибки она будет сохранена в одном из файлов *.errors, соответствующих разделу сбора.
Собранные данные сохраняются в каталог, следующий этому шаблону 'md5 имени хоста'_YYYY-MM-DD_HHMMSS/ в текущем рабочем каталоге. Когда сбор завершён, данные сжимаются в tar.gz, названный по md5 имени хоста; преобразование имени хоста выполняется для предотвращения проблем со специальными символами.
Флаги скрипта:
'''
Быстрый режим: -q
Включите этот флаг при запуске скрипта, чтобы пропустить создание списков файлов.
Справка: -h
Вывести краткое справочное сообщение
'''
Отказ от ответственности
Этот скрипт не удаляет собранные данные после сжатия; они содержат конфиденциальную информацию, убедитесь, что вы безопасно удалили их после использования.
Скрипт, для простоты использования, требует включения полного доступа к диску для Терминала; рекомендуется отключить этот доступ после сбора.
Наконец, собранные данные не следует считать судебно-приемлемыми.