# Threat Hunting. Анализ действий злоумышленников ###### tags: `Threat Hunting` ### 1. Написать детект по событиям (в синтаксисе SIGMA) на скачивание файла с помощью certutil.exe Скачаем и установим Sysmon: ![](https://i.imgur.com/yQJmoqr.png) Применим скачанную конфигурацию с гитхаба: ![](https://i.imgur.com/K2lt6LH.png) Настроим журнал событий, чтобы можно было его быстро открыть: ![](https://i.imgur.com/iv51xEU.png) Скачаем через certutil архиватор 7zip: ![](https://i.imgur.com/sOq3hQ0.png) Увидим, что события записались в журнал, и найдём нужные события (нужен код события 1 - создание процесса), их можно определить по полям Image, Product, CommandLine: ![](https://i.imgur.com/TAjJ1MB.png) ![](https://i.imgur.com/1euF0MU.png) Напишем следующее правило детектирования данного события: ![](https://i.imgur.com/odLsUzP.png) Запустим скрипт, который выводит команду для powershell: ![](https://i.imgur.com/haEFUPT.png) Выполним эту команду в powershell, которая даёт понять, что детектор отрабатывает как надо: ![](https://i.imgur.com/Sd8Vere.png) ### 2. Написать сетевой детект (в синтаксисе suricata) на активность из 1 задания. Запустим Wireshark и выполним команду скачивания 7-zip через certutil: ![](https://i.imgur.com/XQeHhHw.png) Остановим Wireshark и увидим следующие TCP и HTTP-пакеты: В начале захвата, когда ввели команду: ![](https://i.imgur.com/6L6w75C.png) Затем в середине захвата, когда команда выполнилась: ![](https://i.imgur.com/IK9jnOQ.png) Откроем один из двух последних пакетов HTTP, где увидим, что User-Agent является Certutil: ![](https://i.imgur.com/c50sOoY.png) Установим на ubuntu docker, после чего установим утилиту dalton: ![](https://i.imgur.com/oVQalVA.png) ![](https://i.imgur.com/e7QvNuX.png) Зайдём на сервер Dalton с Windows, введя ip-адрес машины ubuntu, куда мы ставили Dalton: ![](https://i.imgur.com/x0ti3xx.png) Загрузим файл wireshark: ![](https://i.imgur.com/6qI6QA9.png) Применим следующее правило, в котором основным условием будет протокол http, наличие упоминания certutil и расширений файлов .exe, .zip: ![](https://i.imgur.com/myzPYLa.png) ![](https://i.imgur.com/zsU48x0.png) ### 3. Написать программу, выдающую строку по заданным произвольному началу md5-хеша и длине этой строки Начало программы, которое переводит в md5-хэш популярные пароли из словаря: ![](https://i.imgur.com/7ZUnOZV.png) Как видим, получилось перевести пароли в md5-хэш: ![](https://i.imgur.com/v5piIt1.png) Закомментируем ту часть программы и перейдём непосредственно к самой программе, что должна выдать строку по произвольному началу md5: ![](https://i.imgur.com/xA7UOqm.png) Проведём проверку работоспособности программы. Выберем случайный md5-хэш и посмотрим его значение: ![](https://i.imgur.com/5UhNhAX.png) ![](https://i.imgur.com/C63WBf6.png) Попробуем ввести не 32 символа, а 33, добавив A: ![](https://i.imgur.com/ZJvrYol.png) ![](https://i.imgur.com/PKhq8bJ.png) Теперь попробуем указать длину 6, а не 7: ![](https://i.imgur.com/wDz7Lyh.png)