Добавить в корзинуПозвонить
Найти в Дзене
CISOCLUB

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 и скачать его.

-2

Установка Velociraptor

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

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

-3

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

cd C:\Program Files\Velociraptor

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

velociraptor.exe config generate -i

-4

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

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

type server.config.yaml

-5

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

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

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

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

-6

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

velociraptor.exe --config server.config.yaml frontend -v

  • здесь -v означает verbose.

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

-7

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

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

-8

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

-9

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

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

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

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

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

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

-10

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

Threat Hunting

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

-11

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

-12

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

-13

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

-14

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

-15

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

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

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

-16

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

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

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

-17

Chrome Hunting

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

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

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

-18

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

-19

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

-20

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

-21

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

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

-22

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

-23

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

-24

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

-25

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

-26

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

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

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

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

-28

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

-29

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

-30

Далее поговорим об установке 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

-31

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

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

-32

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

-33

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

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

-34

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

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

-35

Этот файл конфигурации клиента содержит сертификат 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

-36

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

-37

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

host:ubuntu

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

-38

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

Forensic Investigation / Threat Hunting

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

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

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

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

-39

Чтобы создать новую «охоту», в окне поиска следует ввести «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.

-40

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

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

-41

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

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

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

-42

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

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

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

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

-43

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

-44

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

hydra -l raj -P pass.txt 192.168.0.196 ssh

-45

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

-46

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

-47

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

-48

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

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

-49

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

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

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

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

-50

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

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

-51

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

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

-52

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

-53

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

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

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

-54

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

-55

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

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

ПОДПИСЫВАЙТЕСЬ НА НАШ TELEGRAM КАНАЛ