Главная

EN | RU

OSCD

OSCD Sprint #2: How-To


Здесь вы найдете детальное описание того, как подготовиться к спринту, обрести необходимые знания, закрепить за собой задачу, и в итоге — поделиться своей работой с сообществом.


Необходимые Знания

Вне зависимости от области над которой вы хотели бы работать, вам необходимо будет ознакомиться с GitHub flow:

- YouTube: Как внести вклад в чей-то репозиторий на Github
- rustycrate.ru: Как сделать свой первый Pull Request
- YouTube: How to Use the Github Workflow (EN)
- Official website: Understanding the GitHub flow (EN)

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

Необходимые Знания Источники
Правила Sigma - GitHub: Sigma Wiki на Русском
- Хабр: Все, что вы хотели знать о Sigma-правилах. Часть 1
- Хабр: Все, что вы хотели знать о Sigma-правилах. Часть 2
- Хабр: Все, что вы хотели знать о Sigma-правилах. Часть 3
- Sigma Rule Creation Guide (EN)
- Sigma Workshop repository (EN)
Regexes - YouTube: Regex за 20 минут
- tproger: Regex для новичков
Запросы Kibana - YouTube: Exploring data sets with Kibana (EN)
- Official website: Kibana Query Language (EN)
- YouTube: Kibana. Знакомство
Запросы Splunk - YouTube: Basic Searching in Splunk (EN)
- Official website: Search Tutorial (EN)
Тесты Atomic Red Team - YouTube: Atomic Red Team Training - Basics and Beyond (EN)
- GitHub: Atomic Red Team Wiki (EN)
Python - Coursera: Getting Started with Python (EN)
- Codecademy: Python (EN)
- RapidAPI: Use API with Python (EN)
TheHive Responders - CortexDocs: Write & Submit Responder (EN)
- Releasing My First TheHive Responde (EN)
- NVISO: Creating TheHive Responders (EN)


Как закрепить за собой задачу

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


Как убедиться в том, что вы не разрабатываете аналитику которая уже существует

Перед тем как разрабатывать ту или иную аналитику (правило Sigma, тест Atomic Red Team), вам необходимо убедиться, что она еще не разработана и не представлена в репозитории. Вы можете использовать утилиту `grep` (на Linux/macOS) для поиска в локальном клоне репозитория:

$ grep -irH "некий.exe" ./путь/где/нужно/искать

Та же функция для ОС Windows с использованием PowerShell:

> Get-ChildItem -recurse | Select-String -pattern "некий.exe" | group path | select name

Например, у вас есть идея для правила Sigma. Будущее правило обнаружения включает в себя исполняемый файл со специфичным именем. Самый простой способ проверить есть ли подобные правила в наборе правил репозитория Sigma — поискать по всему набору правил:

$ grep -irH "некий.exe" ./sigma/rules

Где:

-i: поиск без учета регистра
-r: рекурсивный поиск по директориям (в директории `rules` несколько вложенных директорий)
-H: отобразить имя файла в котором найден искомый паттерн


Как добавить вашу аналитику для проверки

Создайте один Pull Request для каждой разработанной аналитики. Например, вы создали два теста Atomic Red Team. Вам необходимо создать два Pull Request для каждого из тестов. То же логика распространяется на правила Sigma.
Вам необходимо создавать Pull Request в следующие ветки:

- ветка `oscd` для проекта Sigma
- ветка `oscd` для проекта Atomic Red Team
- ветка `feature/oscd` для проекта Cortex-Analyzers (репозиторий TheHive Responders)

Ваш Pull Request будет проверен и прокомментирован координаторами спринта или авторами проектов.


Как связаться с другими участниками

Присоединяйтесь к обсуждению в GitHub Issues / Pull Requests проекта который вас интересует, или создайте собственное Issue с вашим вопросом.


Обновления по прогрессу

Подпишитесь на email-уведомления для проекта который вас интересует (Atomic Red Team, Sigma, Cortex-Analyzers — репозиторий TheHive Responders), кликнув кнопку "Watch" и выбрав опцию "Watching (Be notified of all conversations)" на странице репозитория на GitHub.


EN | RU

Главная