
Velociraptor — это мощная платформа с открытым исходным кодом для цифровой криминалистики и инцидент-ответа, созданная для оперативного сбора информации с endpoints. Название инструмента отражает его ключевую особенность — высокую скорость работы. Velociraptor даёт возможность экспертам-криминалистам и специалистам по информационной безопасности собирать артефакты с удалённых систем в режиме реального времени, не требуя инсталляции агентов на целевые машины.
Содержание
1. Введение: Что такое Velociraptor2. Архитектура Velociraptor: как это работает
3. Что такое артефакты в Velociraptor
4. Категории артефактов: обзор 90+ артефактов
5. Артефакты Windows: системная информация
6. Артефакты Windows: процессы и сеть
7. Артефакты Windows: реестр и файлы
8. Артефакты Linux: системная информация
9. Артефакты macOS: системная информация
10. Артефакты для инцидент-ответа
11. Практические примеры использования
12. Оптимизация сбора артефактов
13. Часто задаваемые вопросы
14. Заключение: Быстрая форензика с Velociraptor
Введение: Что такое Velociraptor
Velociraptor является системой для мониторинга endpoints и цифровой криминалистики, которая применяет Velociraptor Query Language (VQL) для выполнения запросов на удалённых системах. Платформа поддерживает Windows, Linux и macOS, обеспечивая единый интерфейс для сбора информации с различных операционных систем.
В отличие от классических инструментов форензики, которые требуют физического доступа к устройству или инсталляции специального программного обеспечения, Velociraptor функционирует через агент, который может быть развёрнут удалённо или запущен локально. Это делает его оптимальным инструментом для оперативного реагирования на инциденты безопасности и проведения расследований.
В данном руководстве мы изучим более 90 артефактов Velociraptor, которые можно применять для оперативной форензики endpoints. Вы узнаете, как собирать системную информацию, анализировать процессы, исследовать сетевую активность, работать с реестром Windows и выполнять множество других задач цифровой криминалистики.
Архитектура Velociraptor: как это работает
Понимание архитектуры Velociraptor критически важно для продуктивного применения платформы. Velociraptor применяет клиент-серверную архитектуру, где сервер управляет коллекциями и агентами, а клиенты выполняют запросы на целевых системах.
Компоненты Velociraptor
Сервер:
Сервер Velociraptor управляет всеми операциями, хранит результаты коллекций и предоставляет веб-интерфейс для управления. Сервер может быть развёрнут локально или в облачной среде.
Агент:
Агент — это исполняемый файл, который запускается на целевой системе. Агент подключается к серверу и выполняет запросы VQL, отправляя результаты обратно на сервер.
VQL (Velociraptor Query Language):
VQL — это язык запросов, применяемый для определения того, какие данные собирать. VQL похож на SQL, но оптимизирован для работы с системными данными.
Принцип работы
Подключение агента:
Агент подключается к серверу через защищённое соединение. Соединение может быть инициировано агентом (outbound) или сервером (inbound).
Выполнение запросов:
Сервер отправляет запросы VQL агенту, который выполняет их на целевой системе и возвращает результаты.
Сбор данных:
Результаты запросов сохраняются на сервере и могут быть проанализированы через веб-интерфейс или экспортированы для дальнейшего анализа.
Что такое артефакты в Velociraptor
Артефакты в Velociraptor — это предопределённые коллекции VQL-запросов, которые собирают определённые типы данных с целевой системы. Каждый артефакт предназначен для сбора конкретной информации, такой как список процессов, сетевые соединения, записи реестра или файлы.
Структура артефакта
Имя артефакта:
Уникальное имя, идентифицирующее артефакт.
Описание:
Текстовое описание того, что собирает артефакт.
Источники:
VQL-запросы, которые определяют, какие данные собирать и откуда.
Параметры:
Настраиваемые параметры, которые можно изменить при запуске коллекции.
Типы артефактов
Системные артефакты:
Собирают информацию о системе: версию ОС, установленное ПО, аппаратное обеспечение.
Артефакты процессов:
Собирают информацию о запущенных процессах, их параметрах и зависимостях.
Сетевые артефакты:
Собирают информацию о сетевых соединениях, открытых портах, активных подключениях.
Файловые артефакты:
Собирают информацию о файлах: метаданные, содержимое, расположение.
Артефакты реестра:
Собирают данные из реестра Windows: ключи, значения, историю изменений.
Категории артефактов: обзор 90+ артефактов
Velociraptor включает более 90 встроенных артефактов, организованных по категориям. Рассмотрим основные категории и количество артефактов в каждой.
Windows артефакты (50+)
Системная информация (10 артефактов):
- Windows.System.SystemInfo
- Windows.System.Users
- Windows.System.Computer
- Windows.System.InstalledPrograms
- Windows.System.Services
- Windows.System.ScheduledTasks
- Windows.System.EventLogs
- Windows.System.Timezone
- Windows.System.Environment
- Windows.System.Hotfixes
Процессы и память (8 артефактов):
- Windows.System.Pslist
- Windows.System.ProcessTree
- Windows.System.Modules
- Windows.System.Handles
- Windows.System.VAD
- Windows.Memory.ProcessInfo
- Windows.Memory.ProcessDump
- Windows.Memory.YaraScan
Сеть (7 артефактов):
- Windows.Network.Connections
- Windows.Network.Sockets
- Windows.Network.Arp
- Windows.Network.Routes
- Windows.Network.DNS
- Windows.Network.Proxy
- Windows.Network.Firewall
Реестр (10 артефактов):
- Windows.Registry.NTUser
- Windows.Registry.System
- Windows.Registry.Software
- Windows.Registry.SAM
- Windows.Registry.Run
- Windows.Registry.Services
- Windows.Registry.Startup
- Windows.Registry.Shellbags
- Windows.Registry.UserAssist
- Windows.Registry.RecentDocs
Файлы и диски (8 артефактов):
- Windows.Filesystem.DirectoryListing
- Windows.Filesystem.FileInfo
- Windows.Filesystem.NTFS
- Windows.Filesystem.Usn
- Windows.Filesystem.MFT
- Windows.Filesystem.Prefetch
- Windows.Filesystem.LnkFiles
- Windows.Filesystem.JunctionPoints
Безопасность (7 артефактов):
- Windows.Security.Events
- Windows.Security.AuditLogs
- Windows.Security.LSA
- Windows.Security.Credentials
- Windows.Security.Certificates
- Windows.Security.BrowserHistory
- Windows.Security.AMCache
Linux артефакты (25+)
Системная информация (8 артефактов):
- Linux.System.SystemInfo
- Linux.System.Users
- Linux.System.Packages
- Linux.System.Services
- Linux.System.Cron
- Linux.System.Modules
- Linux.System.Mounts
- Linux.System.Environment
Процессы (6 артефактов):
- Linux.System.Processes
- Linux.System.ProcessTree
- Linux.System.OpenFiles
- Linux.System.Netstat
- Linux.System.Lsof
- Linux.Memory.ProcessDump
Сеть (5 артефактов):
- Linux.Network.Interfaces
- Linux.Network.Connections
- Linux.Network.Routes
- Linux.Network.Arp
- Linux.Network.Iptables
Файлы (6 артефактов):
- Linux.Filesystem.DirectoryListing
- Linux.Filesystem.FileInfo
- Linux.Filesystem.Find
- Linux.Filesystem.Stat
- Linux.Filesystem.History
- Linux.Filesystem.SudoLogs
macOS артефакты (15+)
Системная информация (6 артефактов):
- macOS.System.SystemInfo
- macOS.System.Users
- macOS.System.InstalledApplications
- macOS.System.LaunchAgents
- macOS.System.LaunchDaemons
- macOS.System.Environment
Процессы (4 артефакта):
- macOS.System.Processes
- macOS.System.ProcessTree
- macOS.System.OpenFiles
- macOS.Memory.ProcessDump
Сеть (3 артефакта):
- macOS.Network.Interfaces
- macOS.Network.Connections
- macOS.Network.Routes
Файлы (2 артефакта):
- macOS.Filesystem.DirectoryListing
- macOS.Filesystem.FileInfo
Артефакты Windows: системная информация
Windows артефакты для сбора системной информации служат основой любого расследования. Они предоставляют базовую информацию о системе, которая необходима для понимания контекста.
Windows.System.SystemInfo
Собирает основную информацию о системе:
- Версия Windows
- Архитектура процессора
- Объём памяти
- Имя компьютера
- Доменное имя
- Время работы системы
- Список установленных обновлений
Использование:
windows
.System.SystemInfo
Результаты:
- OSVersion
- Architecture
- TotalMemory
- ComputerName
- DomainName
- Uptime
- Hotfixes
Windows.System.Users
Собирает информацию о пользователях системы:
- Имена пользователей
- SID (Security Identifier)
- Домашние директории
- Время последнего входа
- Группы пользователей
Использование:
windows
.System.Users
Результаты:
- Username
- SID
- HomeDirectory
- LastLogin
- Groups
Windows.System.InstalledPrograms
Собирает список установленных программ:
- Название программы
- Версия
- Издатель
- Дата установки
- Размер установки
Использование:
windows
.System.InstalledPrograms
Результаты:
- Name
- Version
- Publisher
- InstallDate
- Size
Windows.System.Services
Собирает информацию о системных службах:
- Имя службы
- Статус (запущена/остановлена)
- Тип запуска
- Путь к исполняемому файлу
- Описание
Использование:
windows
.System.Services
Результаты:
- Name
- State
- StartType
- BinaryPath
- Description
Windows.System.ScheduledTasks
Собирает информацию о запланированных задачах:
- Имя задачи
- Статус
- Время следующего запуска
- Команда выполнения
- Пользователь, от имени которого выполняется
Использование:
windows
.System.ScheduledTasks
Результаты:
- Name
- State
- NextRunTime
- Command
- RunAsUser
Артефакты Windows: процессы и сеть
Артефакты для анализа процессов и сетевой активности критически важны для обнаружения вредоносного ПО и аномальной активности.
Windows.System.Pslist
Собирает список всех запущенных процессов:
- PID (Process ID)
- Имя процесса
- Путь к исполняемому файлу
- Пользователь, запустивший процесс
- Использование памяти и CPU
- Время запуска
Использование:
windows
.System.Pslist
Результаты:
- Pid
- Name
- Exe
- Username
- MemoryUsage
- CpuUsage
- StartTime
Windows.System.ProcessTree
Создаёт дерево процессов с родительско-дочерними связями:
- Родительский процесс
- Дочерние процессы
- Иерархия процессов
- Время создания каждого процесса
Использование:
windows
.System.ProcessTree
Результаты:
- Pid
- Ppid
- Name
- CommandLine
- CreateTime
Windows.System.Modules
Собирает информацию о загруженных модулях (DLL):
- Имя модуля
- Путь к файлу
- Базовый адрес
- Размер модуля
- Процесс, загрузивший модуль
Использование:
windows
.System.Modules
Результаты:
- Name
- Path
- BaseAddress
- Size
- ProcessName
Windows.Network.Connections
Собирает информацию о сетевых соединениях:
- Локальный адрес и порт
- Удалённый адрес и порт
- Состояние соединения
- Процесс, использующий соединение
- Протокол (TCP/UDP)
Использование:
windows
.Network.Connections
Результаты:
- LocalAddress
- LocalPort
- RemoteAddress
- RemotePort
- State
- ProcessName
- Protocol
Windows.Network.Sockets
Собирает информацию о сокетах:
- Тип сокета
- Состояние
- Процесс, использующий сокет
- Адреса и порты
Использование:
windows
.Network.Sockets
Результаты:
- SocketType
- State
- ProcessName
- Addresses
Артефакты Windows: реестр и файлы
Артефакты для работы с реестром и файловой системой позволяют находить следы активности и конфигурации системы.
Windows.Registry.Run
Собирает записи автозагрузки из реестра:
- Ключи Run, RunOnce, RunServices
- Команды автозагрузки
- Значения параметров
- Пути к исполняемым файлам
Использование:
windows
.Registry.Run
Результаты:
- Key
- Value
- Data
- FullPath
Windows.Registry.UserAssist
Собирает данные UserAssist из реестра:
- Запущенные программы
- Количество запусков
- Время последнего запуска
- Пути к программам
Использование:
windows
.Registry.UserAssist
Результаты:
- ProgramName
- RunCount
- LastRunTime
- Path
Windows.Registry.Shellbags
Собирает данные Shellbags (история просмотра папок):
- Просмотренные папки
- Время просмотра
- Пути к папкам
- Пользователь, просмотревший папку
Использование:
windows
.Registry.Shellbags
Результаты:
- FolderPath
- ViewTime
- User
- KeyPath
Windows.Filesystem.Prefetch
Собирает данные из Prefetch файлов:
- Запущенные программы
- Время запуска
- Количество запусков
- Загруженные модули
Использование:
windows
.Filesystem.Prefetch
Результаты:
- ExecutableName
- RunCount
- LastRunTime
- LoadedModules
Windows.Filesystem.LnkFiles
Собирает информацию из ярлыков (.lnk файлов):
- Целевой файл
- Время создания ярлыка
- Время доступа
- Путь к ярлыку
Использование:
windows
.Filesystem.LnkFiles
Результаты:
- TargetPath
- CreateTime
- AccessTime
- LinkPath
Артефакты Linux: системная информация
Linux артефакты дают возможность собирать информацию с Linux-систем для форензического анализа.
Linux.System.SystemInfo
Собирает основную информацию о Linux системе:
- Версия ядра
- Дистрибутив
- Версия ОС
- Архитектура
- Время работы системы
- Информация о процессоре
Использование:
linux
.System.SystemInfo
Результаты:
- KernelVersion
- Distribution
- OSVersion
- Architecture
- Uptime
- CpuInfo
Linux.System.Users
Собирает информацию о пользователях:
- Имена пользователей
- UID/GID
- Домашние директории
- Оболочка пользователя
- Время последнего входа
Использование:
linux
.System.Users
Результаты:
- Username
- Uid
- Gid
- HomeDirectory
- Shell
- LastLogin
Linux.System.Packages
Собирает список установленных пакетов:
- Название пакета
- Версия
- Менеджер пакетов
- Дата установки
Использование:
linux
.System.Packages
Результаты:
- PackageName
- Version
- PackageManager
- InstallDate
Linux.System.Services
Собирает информацию о системных службах:
- Имя службы
- Статус
- Тип запуска
- Команда запуска
Использование:
linux
.System.Services
Результаты:
- Name
- State
- Enabled
- Command
Linux.System.Cron
Собирает информацию о cron задачах:
- Расписание выполнения
- Команда выполнения
- Пользователь
- Файл конфигурации
Использование:
linux
.System.Cron
Результаты:
- Schedule
- Command
- User
- ConfigFile
Артефакты macOS: системная информация
macOS артефакты дают возможность собирать данные с систем Apple для форензического анализа.
macOS.System.SystemInfo
Собирает основную информацию о macOS системе:
- Версия macOS
- Версия ядра
- Модель Mac
- Серийный номер
- Время работы системы
Использование:
macos
.System.SystemInfo
Результаты:
- OSVersion
- KernelVersion
- Model
- SerialNumber
- Uptime
macOS.System.Users
Собирает информацию о пользователях:
- Имена пользователей
- UID/GID
- Домашние директории
- Время последнего входа
Использование:
macos
.System.Users
Результаты:
- Username
- Uid
- Gid
- HomeDirectory
- LastLogin
macOS.System.InstalledApplications
Собирает список установленных приложений:
- Название приложения
- Версия
- Путь к приложению
- Дата установки
Использование:
macos
.System.InstalledApplications
Результаты:
- Name
- Version
- Path
- InstallDate
macOS.System.LaunchAgents
Собирает информацию о Launch Agents:
- Имя агента
- Статус
- Команда запуска
- Пользователь
Использование:
macos
.System.LaunchAgents
Результаты:
- Name
- State
- Program
- User
macOS.System.LaunchDaemons
Собирает информацию о Launch Daemons:
- Имя демона
- Статус
- Команда запуска
Использование:
macos
.System.LaunchDaemons
Результаты:
- Name
- State
- Program
Артефакты для инцидент-ответа
Специальные артефакты для оперативного реагирования на инциденты безопасности дают возможность быстро собирать критически важную информацию.
Windows.Investigation.ProcessListing
Быстрый сбор информации о процессах для инцидент-ответа:
- Все запущенные процессы
- Командные строки
- Родительские процессы
- Сетевая активность процессов
Использование:
windows
.Investigation.ProcessListing
Windows.Investigation.NetworkConnections
Сбор всех сетевых соединений:
- Активные соединения
- Прослушивающие порты
- Установленные соединения
- Процессы, использующие сеть
Использование:
windows
.Investigation.NetworkConnections
Windows.Investigation.Autoruns
Сбор всех точек автозагрузки:
- Реестр автозагрузки
- Планировщик задач
- Службы
- Startup папки
Использование:
windows
.Investigation.Autoruns
Windows.Investigation.FileTimeline
Создание временной линии файлов:
- Изменённые файлы
- Созданные файлы
- Удалённые файлы
- Временные метки
Использование:
windows
.Investigation.FileTimeline
Generic.Client.Info
Базовый сбор информации о клиенте:
- Системная информация
- Пользователи
- Сетевые интерфейсы
- Установленное ПО
Использование:
generic
.Client.Info
Практические примеры использования
Рассмотрим практические сценарии применения Velociraptor для форензического анализа.
Сценарий 1: Обнаружение вредоносного ПО
Задача: Найти признаки вредоносного ПО на системе.
Артефакты:
1. Windows.System.Pslist — список процессов
2. Windows.System.ProcessTree — дерево процессов
3. Windows.Network.Connections — сетевые соединения
4. Windows.Registry.Run — автозагрузка
5. Windows.Filesystem.Prefetch — история запуска программ
Анализ:
- Поиск подозрительных процессов
- Анализ сетевых соединений
- Проверка автозагрузки
- Изучение истории запуска программ
Сценарий 2: Расследование утечки данных
Задача: Определить, какие данные были скопированы с системы.
Артефакты:
1. Windows.Filesystem.Usn — журнал изменений файлов
2. Windows.Filesystem.LnkFiles — ярлыки
3. Windows.Registry.Shellbags — история просмотра папок
4. Windows.Registry.RecentDocs — недавние документы
5. Windows.Filesystem.FileInfo — информация о файлах
Анализ:
- Поиск доступа к конфиденциальным файлам
- Анализ истории просмотра папок
- Проверка недавних документов
- Изучение временных меток файлов
Сценарий 3: Анализ сетевой активности
Задача: Исследовать сетевую активность системы.
Артефакты:
1. Windows.Network.Connections — активные соединения
2. Windows.Network.Sockets — сокеты
3. Windows.Network.DNS — DNS запросы
4. Windows.Network.Arp — ARP таблица
5. Windows.Network.Routes — таблица маршрутизации
Анализ:
- Изучение активных соединений
- Анализ DNS запросов
- Проверка маршрутизации
- Поиск подозрительных подключений
Оптимизация сбора артефактов
Для продуктивного применения Velociraptor важно оптимизировать процесс сбора артефактов.
Выбор артефактов
Приоритизация:
- Начните с базовых артефактов (SystemInfo, Processes)
- Добавляйте специализированные артефакты по мере необходимости
- Избегайте сбора избыточных данных
Группировка:
- Группируйте связанные артефакты в коллекции
- Используйте шаблоны коллекций для типовых задач
- Создавайте кастомные коллекции для повторяющихся сценариев
Производительность
Параллельное выполнение:
- Запускайте несколько коллекций одновременно
- Используйте фильтры для ограничения объёма данных
- Настраивайте таймауты для долгих операций
Оптимизация запросов:
- Используйте индексы где возможно
- Ограничивайте объём собираемых данных
- Применяйте фильтры на уровне запросов
Хранение результатов
Организация:
- Используйте понятные имена для коллекций
- Добавляйте описания к коллекциям
- Тегируйте коллекции для удобного поиска
Экспорт:
- Экспортируйте результаты в удобные форматы
- Используйте API для автоматизации
- Интегрируйте с другими инструментами
Часто задаваемые вопросы
Что такое Velociraptor?
Velociraptor — это платформа с открытым исходным кодом для цифровой криминалистики и инцидент-ответа, созданная для оперативного сбора данных с endpoints. Она применяет VQL (Velociraptor Query Language) для выполнения запросов на удалённых системах.
Какие операционные системы поддерживает Velociraptor?
Velociraptor поддерживает Windows, Linux и macOS. Для каждой платформы доступны специфичные артефакты, оптимизированные под особенности операционной системы.
Нужно ли устанавливать агент на целевую систему?
Да, для работы Velociraptor требуется агент на целевой системе. Однако агент может быть развёрнут удалённо или запущен локально без постоянной установки.
Сколько артефактов доступно в Velociraptor?
Velociraptor включает более 90 встроенных артефактов, организованных по категориям: системная информация, процессы, сеть, реестр, файлы и другие.
Можно ли создавать собственные артефакты?
Да, вы можете создавать собственные артефакты, используя VQL. Это даёт возможность адаптировать Velociraptor под специфические потребности вашего расследования.
Как быстро работает сбор данных?
Скорость сбора данных зависит от типа артефакта и размера целевой системы. Большинство базовых артефактов выполняются за секунды, в то время как глубокое сканирование файловой системы может занять минуты или часы.
Безопасно ли использовать Velociraptor?
Velociraptor применяет шифрование для связи между агентом и сервером. Однако важно правильно настроить безопасность сервера и использовать сильные сертификаты.
Можно ли использовать Velociraptor для мониторинга в реальном времени?
Да, Velociraptor поддерживает мониторинг в реальном времени через события (events). Это даёт возможность отслеживать изменения на системе в реальном времени.
Заключение: Быстрая форензика с Velociraptor
Velociraptor представляет собой мощный инструмент для оперативной форензики endpoints, предоставляя доступ к более чем 90 встроенным артефактам для сбора данных с Windows, Linux и macOS систем. Платформа даёт возможность криминалистам и специалистам по безопасности эффективно собирать и анализировать данные без необходимости физического доступа к устройствам.
Ключевые преимущества Velociraptor:
- Более 90 встроенных артефактов
- Поддержка Windows, Linux и macOS
- Быстрый сбор данных
- Гибкость через VQL
- Открытый исходный код
Рекомендации по использованию:
- Начните с базовых артефактов для понимания системы
- Используйте специализированные артефакты для конкретных задач
- Оптимизируйте коллекции для повышения производительности
- Создавайте кастомные артефакты для повторяющихся сценариев
- Интегрируйте Velociraptor с другими инструментами форензики
Помните: продуктивное применение Velociraptor требует понимания как платформы, так и операционных систем, с которых собираются данные. Регулярное обновление знаний о новых артефактах и возможностях платформы поможет вам оставаться эффективным в быстро меняющемся мире цифровой криминалистики.