Threat Hunting: установка Velociraptor для мониторинга конечных точек

Дата: 01.10.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Threat Hunting: установка Velociraptor для мониторинга конечных точек

В этой статье говорится о Velociraptor, инструменте для сбора информации о состоянии хоста с помощью запросов Velocidex Query Language (VQL). Читатели ближе познакомятся с программой для мониторинга конечных точек.

Знакомство с Velociraptor

Velociraptor — это бесплатное ПО с открытым исходным кодом, разработанное компанией Velocidex. Velociraptor работает на основе GRR, OSQuery и инструментах Google Rekall. Он дает возможность пользователям собирать доказательства атаки, информацию об угрозах, проводить мониторинг артефактов, выполнять процессы сортировки данных удаленно. Как платформа с открытым исходным кодом, Velociraptor продолжает совершенствоваться и развиваться благодаря входным данным и обратной связи специалистов по цифровой криминалистике и кибербезопасности

Velociraptor доступен на Linux, Windows и macOS. Пользователь может создать или развернуть сервер в течение нескольких минут с помощью SCCM или групповой политики.

Архитектура

Основные компоненты (в двоичном файле):

Frontend:

  • обрабатывает подключения, идущие от клиентов;
  • сообщает очередь клиентам;
  • обрабатывает ответы клиентов (потоки данных).

GUI:

  • разрешает планирование «охоты на угрозы»;
  • проверяет результаты «охоты»;
  • просматривает виртуальную файловую систему клиента.

Что такое VQL?

Velociraptor Query Language (VQL) – это специальный язык запросов, разработанный для того, чтобы легко адаптировать требования пользователя, не внося никаких изменений в код, сами запросы или артефакты и не развертывая никакого дополнительного программного обеспечения.

VQL инкапсулирует цифровую судебную экспертизу в удобочитаемые файлы, называемые «артефактами», которые могут свободно использоваться и быть предметом обмена внутри определенного сообщества.

Пора начинать!

Необходимые условия для проведения практической части

Чтобы настроить Velociraptor на своей платформе Windows, необходимо выполнить некоторые предварительные условия для установки:

  • Windows 10 с минимальным объемом оперативной памяти 4 ГБ и 4 ядрами процессора;
  • права администратора;
  • CMD с правами администратора.

Среда

Пользователь нацелен на установку Velociraptor на Windows 10. Для того чтобы сделать эту практику максимально приближенной к жизни, установка может быть выполнена на сервер в облаке.  В этом случае человек использует Windows 10 в качестве сервера. Он может скачать Velociraptor, перейдя по ссылке.

Версия для Windows

Чтобы скачать последнюю версию Velociraptor для сервера Windows, необходимо перейти на официальную страницу GitHub, воспользуясь ссылкой выше, затем найти и выбрать вариант установочного файла velociraptor-v0.4.8-windows-amd64.msi и скачать его.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Установка Velociraptor

Настала пора начать развертывание сервера на Windows. После завершения загрузки следует перейти в папку «Загрузки» и начать установку.

Windows может попытаться предотвратить это, но как только установка будет завершена, пользователь увидит, что под программными файлами скрывается папка Velociraptor.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Теперь нужно открыть командную строку с правами администратора и перейти к:

cd C:\Program Files\Velociraptor

Пользователю надо сгенерировать конфигурацию программы. Для этого он введет следующие аргументы в командную строку:

velociraptor.exe config generate -i
Threat Hunting: установка Velociraptor для мониторинга конечных точек

Пользователь также хочет создать конфигурацию для машины Windows. Он выберет Windows и нажмет на кнопку «Enter», затем выберет FilebaseDatastore и определит путь конфигурации для Velociraptor как  c:\window\Temp. Человек может потом использовать самостоятельно подписанные SSL. В данном случае человек хочет оставить все настройки по умолчанию. Он не использует никаких доменов Google, так что следует ввести N и нажать на «Enter, чтобы установить параметры по умолчанию.

Теперь пользователь может проверить конфигурацию своего сервера, введя следующий аргумент:

type server.config.yaml
Threat Hunting: установка Velociraptor для мониторинга конечных точек

Как видно на картинке, интерфейс прослушивает порт localhost 8000 и каталог сертификатов.

Теперь нужно добавить пользователя. Это можно сделать с помощью следующей команды:

velociraptor.exe --config server.config.yaml user add vijay --role administrator

Также следует создать пароль для доступа к графическому интерфейсу (GUI):

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Сейчас можно запустить созданный сервер. Для этого выполняется следующая команда:

velociraptor.exe --config server.config.yaml frontend -v
  • здесь -v означает verbose.

При выполнении приведенного выше аргумента на экране пользователя будет открыто окно приглашения. Пользователь нуждается в доступе от имени администратора для настройки среды, а затем установка продолжится.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Отлично! Настройка Velociraptor на машине Windows завершена. Теперь человек может получить доступ к графическому интерфейсу Velociraptor GUI в любимом браузере по следующему URL-адресу: https://localhost:8889.

Необходимо использовать свои учетные данные для входа в систему. Они были созданы во время установки программы.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

После этого пользователя будет приветствовать «Панель управления графическим интерфейсом Velociraptor». 

Threat Hunting: установка Velociraptor для мониторинга конечных точек

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

Добавление нового хоста

В настоящее время у пользователя нет клиентов, подключенных к серверу, поэтому нужно исправить это, открыв новый терминал с правами администратора.

А затем следовать приведенным ниже аргументам:

cd C:\Program Files\Velociraptor
velociraptor.exe --config client.config.yaml client -v

Клиент подключен и собирается зарегистрироваться на конкретном сервере на основе конфигурационного файла, так что пользователь может использовать этот файл и внести небольшие изменения. Это нужно для регистрации клиента на существующем главном сервере, что может быть важно для осуществления дальнейших практических действий.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Теперь пользователь видит, что клиент успешно подключился к локальному хосту. Есть первый клиент, который был добавлен на главный сервер.

Threat Hunting

Теперь, если пользователь вернется на главную страницу, он сможет увидеть свой хост, выполнив поиск в поле фильтра.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Таким образом, он обнаружит идентификатор клиента, имя хоста, версию ОС и другие важные данные.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Человек мог бы проверить собранную информацию, опросив владельца аккаунта. Здесь становится ясно, что по умолчанию собирается некоторая информация обо всех клиентах.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Пользователь должен попытаться выяснить, что находится внутри полученной информации, скачав ее. Поскольку человек видит папку zip, скачанную в «Загрузки», он решает открыть ее. После открытия пользователь способен просмотреть файлы, содержащие сведения о хосте.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Нужно также проверить, что находится внутри других папок. Пользователь откроет их одну за другой, но этого недостаточно.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Ух ты! Здесь содержится довольно полезная информация.

Нужно копать глубже.

Поскольку теперь у пользователя есть менеджер для проведения «охоты на угрозы», он может воспользоваться им.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Этот менеджер позволяет пользователю «охотиться» за конкретными событиями, которые произошли с его клиентом. Он также может просматривать артефакты, видеть события сервера и проверять полученные данные на панели мониторинга консоли Velociraptor

Пора начинать охоту!

Нужно создать определенные артефакты. Чтобы сделать это, следует переместить курсор на кнопку «+» и выбрать нужную функцию, как показано ниже.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Chrome Hunting

Теперь пришло время узнать, как шпионить за пользователем с помощью имеющихся возможностей, если он использует Chrome. Человек собирается проверить на каком веб-сайте или странице пользователь недавно побывал, если он только не использовал режим «Инкогнито».

Чтобы создать новую «охоту» в окне поиска, следует ввести Windows, затем выбрать артефакты, которые пользователь хочет найти и добавить их. После этого надо нажать на кнопку «Next».

В данном случае пользователь выбирает файлы cookie, хранящиеся в Chrome, расширения и историю браузера. В теории можно выбрать не только эти данные.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Кнопка «Next» перенаправляет пользователя к следующему приглашению, здесь ему нужно найти описание и двигаться дальше и дальше.

Threat Hunting: установка Velociraptor для мониторинга конечных точек

«Условия охоты» должны находиться в разделе «Оperating system». Пользователь выберет его в выпадающем меню «Include Condition», затем установит целевую ОС как «Windows» и нажмет на кнопку «Next».

Threat Hunting: установка Velociraptor для мониторинга конечных точек

На следующем экране пользователь увидит подробное описание охоты и обзор артефактов. Он может внести изменения при необходимости. Далее следует нажать на опцию «Create Hunt».

Threat Hunting: установка Velociraptor для мониторинга конечных точек

Была создана новая охота под названием «Chrome Hunting». Она отражается на панели «Hunts».

Пользователь хочет запустить эту охоту, нажав на кнопку «Рlay», чтобы увидеть, что будет дальше.

blank

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

blank

Это приведет человека к результатам охоты. Он может выбрать, какие именно результаты хочет увидеть раскрывающимся списком на специальной вкладке.

blank

Как видно, человек получил данные об истории Сhrome, что принадлежит клиенту.

blank

Кроме того, пользователь может увидеть файлы cookie Сhrome, выбрав их из выпадающего списка с результатами охоты.

blank

Настала пора приступить к компьютерной криминалистике

Нужно добавить определенные артефакты, которые были перечислены ниже:

  • Attack.Prefetch;
  • Collectors.File;
  • Detection.ProcessMemory;
  • EventLogs.AlternateLogon;
  • Forensics.FilenameSearch.
blank

Нужно ввести параметры поиска или описание поиска.

blank

На следующем экране пользователь получает результаты его охоты. Например, если он хочет открыть «Windows.Attack.Prefetch», нужно выбрать эту опцию из списка результатов.

blank

То же самое, если он хочет открыть «Windows.EvemtLogs.AlternateLogon», нужно выбрать эту опцию из списка полученных результатов.

blank

Далее поговорим об установке Velociraptor на Linux.

Установка агента

Чтобы установить агент Velociraptor на вашу систему Linux, нужно выполнить следующие действия: открыть официальную страницу GitHub и выбрать пакет Velociraptor-Linux-amd64.

Пользователь предпочел загрузить этот пакет через терминал с помощью Wget. Чтобы загрузить агент, следует ввести следующую команду:

wget https://github.com/Velocidex/velociraptor/releases/download/v0.4.9/velociraptor-v0.4.9-1-linux-amd64
blank

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

cd C:\Program Files\Velociraptor
Velociraptor.exe --config server.config.yaml service install
services.msc
blank

Кроме того, человек может проверить, работает служба или нет, выполнив команду services.msc. Он откроет приглашение на экране, как показано ниже:

blank

Отлично! Как видно на картинке, сервис запущен.

Далее следует перейти в каталог, где установлен сервер Velociraptor, и скопировать файл client.config.

blank

Настройка агента для отправки данных на сервер Velociraptor

Нужно вернуться на компьютер с Linux и создать файл client.config.yaml, куда пользователь вставит client.config, который был скопирован ранее.

blank

Этот файл конфигурации клиента содержит сертификат CA, что используется для аутентификации между машиной клиента и главным сервером Velociraptor. После этого следует изменить разрешение загруженного агента Velociraptor, чтобы сделать его исполняемым, а затем развернуть сам клиент в Velociraptor с помощью следующей команды:

chmod +x velociraptor -v0.4.9-1-Linux-amd64
./velociraptor-v0.4.9-1-Linux-amd64 –config client.config.yaml client -v
blank

Как читатели могут увидеть, сервис начал отправлять журналы на сервер Velociraptor. Человек может обеспечить интеграцию клиентской машины (Ubuntu) с сервером внутри главного сервера Velociraptor, который будет генерировать журналы для осуществления подключения клиента. Это показано на картинке ниже.

blank

Необходимо перейти к http://localhost:8889, чтобы получить доступ к графическому интерфейсу и проверить, показывается ли клиент в интерфейсе или нет. Выполняется следующая команда:

host:ubuntu

Здесь Ubuntu — это системное имя клиента.

blank

Отлично! Пользователь успешно добавил систему Linux в качестве клиента.

Forensic Investigation / Threat Hunting

Теперь если пользователь вернется на главную страницу, он сможет увидеть свой хост с помощью поиска в поле фильтра.

Есть 2 клиента подключенных к Velociraptor. Стоит начать расследование с машины — 1 (Ubuntu). Ее можно легко найти на специальной панели.

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

Пользователю нужно создать «охоту» с определенными артефактами. Для того чтобы сделать это, нужно переместить курсор на кнопку «+» и выбрать нужную опцию, как показано ниже.

blank

Чтобы создать новую «охоту», в окне поиска следует ввести «Linux», затем выбрать артефакты, которые нужно найти, и добавить их. После этого нажимается кнопка «Next».

Готовые артефакты могут быть использованы для анализа систем Linux.

Linux.Applications.Chrome.Extensions
Linux.Applications.Chrome.Extensions.Upload
Linux.Applications.Docker.Info
Linux.Applications.Docker.Version
Linux.Debian.AptSources
Linux.Debian.Packages
Linux.Mounts
Linux.OSQuery.Generic
Linux.Proc.Arp
Linux.Proc.Modules
Linux.Search.FileFinder
Linux.Ssh.AuthorizedKeys
Linux.Ssh.KnownHosts
Linux.Ssh.PrivateKeys
Linux.Sys.ACPITables
Linux.Sys.BashShell
Linux.Sys.CPUTime
Linux.Sys.Crontab
Linux.Sys.LastUserLogin
Linux.Sys.Maps
Linux.Sys.Pslist
Linux.Sys.SUID
Linux.Sys.Users
Linux.Syslog.SSHLogin

В данном случае пользователь выбирает Linux.Sys.SUID и Linux.Syslog.SSHLogin.

blank

Кнопка «Next» перенаправляет пользователя к следующему приглашению, здесь ему нужно найти описание и двигаться дальше и дальше.

«Условия охоты» должны находиться в разделе «Оperating system». Пользователь выберет его в выпадающем меню «Include Condition», затем установит целевую ОС как «Linux» и нажмет на кнопку «Next».

blank

На следующем экране пользователь увидит подробное описание охоты и обзор артефактов. Он может внести изменения при необходимости. Далее следует нажать на опцию «Create Hunt».

Была создана новая охота под названием «Linux Hunt». Она отражается на панели «Hunts».

Пользователь хочет запустить эту охоту, нажав на кнопку «Рlay», чтобы увидеть, что будет дальше.

blank

Ух ты! Как пользователи могут увидеть на картинке, ниже приведен список систем Linux UID.

Но этого недостаточно. Стоит копнуть глубже.

Пользователь возьмет SSH-клиента Linux от Putty и выполнит атаку брутфорс.

Для этого он откроет Putty и введет IP-адрес и номер порта клиента. Это запустит сеанс:

blank

После открытия SSH Shell нужно войти в систему на клиентском компьютере.

blank

Отлично! Пользователь успешно вошел в систему клиентской машины. Настала пора выполнить атаку брутфорс, чтобы проверить, способен ли Velociraptor обнаружить ее. Человек запустит атакующую машину Kali Linux и выполнит следующую команду:

hydra -l raj -P pass.txt 192.168.0.196 ssh
blank

Нужно проверить, что случилось с графическим интерфейсом Velociraptor.

blank

Как видно на картинке, были обнаружены 2 успешных входа в систему с разных машин и 5 неудачных попыток входа. Стоит проверить еще несколько артефактов, которые показывают запросы «ARP» и пользователей системы Linux.

blank

После создания охоты нужно открыть раздел с результатами и проверить его.

blank

Как видно на картинке, показаны все пользователи системы Linux с их «UID» и небольшим описанием.

Стоит также проверить запросы «ARP» на клиентской машине.

blank

Ух ты! Здесь содержится много полезной информации.

На основе этих артефактов пользователь может исследовать данные своего клиента, создав охоту в соответствии с его требованиями.

Теперь стоит перейти обратно к Windows.

Создается новая охота. Пользователь будет применять артефакт «Windows.Sys.FirewallRules».

blank

Кнопка «Next» перенаправляет пользователя к следующему приглашению, здесь ему нужно найти описание и двигаться дальше и дальше.

«Условия охоты» должны находиться в разделе «Оperating system». Пользователь выберет его в выпадающем меню «Include Condition», затем установит целевую ОС как «Windows» и нажмет на кнопку «Next».

blank

Была создана новая охота под названием «Chrome Hunting». Она отражается на панели «Hunts».

Пользователь хочет запустить эту охоту, нажав на кнопку «Рlay», чтобы увидеть, что будет дальше.

blank

Пора проверить полученные результаты.

blank

Получен список реализованных правил брандмауэра клиентской машины.

Стоит проверить еще несколько артефактов.

Пользователь будет применять артефакт «Windows.Collectors.File».

blank

Пора проверить полученные результаты.

blank

Ух ты!! Были перечислены все метаданные windows.collectors.

Автор переведенной статьи: Vijay.

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *