# Threat Hunting. Анализ действий злоумышленников
###### tags: `Threat Hunting`
### 1. Написать детект по событиям (в синтаксисе SIGMA) на скачивание файла с помощью certutil.exe
Скачаем и установим Sysmon:

Применим скачанную конфигурацию с гитхаба:

Настроим журнал событий, чтобы можно было его быстро открыть:

Скачаем через certutil архиватор 7zip:

Увидим, что события записались в журнал, и найдём нужные события (нужен код события 1 - создание процесса), их можно определить по полям Image, Product, CommandLine:


Напишем следующее правило детектирования данного события:

Запустим скрипт, который выводит команду для powershell:

Выполним эту команду в powershell, которая даёт понять, что детектор отрабатывает как надо:

### 2. Написать сетевой детект (в синтаксисе suricata) на активность из 1 задания.
Запустим Wireshark и выполним команду скачивания 7-zip через certutil:

Остановим Wireshark и увидим следующие TCP и HTTP-пакеты:
В начале захвата, когда ввели команду:

Затем в середине захвата, когда команда выполнилась:

Откроем один из двух последних пакетов HTTP, где увидим, что User-Agent является Certutil:

Установим на ubuntu docker, после чего установим утилиту dalton:


Зайдём на сервер Dalton с Windows, введя ip-адрес машины ubuntu, куда мы ставили Dalton:

Загрузим файл wireshark:

Применим следующее правило, в котором основным условием будет протокол http, наличие упоминания certutil и расширений файлов .exe, .zip:


### 3. Написать программу, выдающую строку по заданным произвольному началу md5-хеша и длине этой строки
Начало программы, которое переводит в md5-хэш популярные пароли из словаря:

Как видим, получилось перевести пароли в md5-хэш:

Закомментируем ту часть программы и перейдём непосредственно к самой программе, что должна выдать строку по произвольному началу md5:

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


Попробуем ввести не 32 символа, а 33, добавив A:


Теперь попробуем указать длину 6, а не 7:
