updated README EN/RU
33
README.md
@ -62,7 +62,7 @@ Everything starts from Sigma rule and ends up with human-readable wiki-style pag
|
||||
6. Maps **Response Playbooks** to **Response Actions** using existing mapping inside **Response Playbooks**
|
||||
7. Maps **Logging Policies** to **Data Needed** using existing mapping inside **Data Needed**
|
||||
8. Converts everything into Confluence and Markdown wiki-style pages using jinja templates (`scripts/templates`)
|
||||
9. Pushes all pages to local repo and Confluence server (according to configuration provided in `scripts/config.py`)
|
||||
9. Pushes all pages to local repo and Confluence server (according to configuration provided in `scripts/config.yml`)
|
||||
10. Creates `analytics.csv` and `pivoting.csv` files for simple analysis of existing data
|
||||
11. Creates `atc_export.json` — [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/enterprise/) profile for visualisation of current detection abilities
|
||||
|
||||
@ -173,17 +173,17 @@ This entity expected to explain SIEM/LM/Data Engineering teams and IT department
|
||||
|
||||
<details>
|
||||
<summary>Enrichments yaml (click to expand)</summary>
|
||||
<img src="images/enrichment.png" />
|
||||
<img src="images/en_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created confluence page (click to expand)</summary>
|
||||
<img src="images/enrichment_confluence.png" />
|
||||
<img src="images/en_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created markdown page (click to expand)</summary>
|
||||
<img src="images/enrichment_markdown.png" />
|
||||
<img src="images/en_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -223,17 +223,17 @@ This entity needed to test specific technical controls and detections. Detailed
|
||||
|
||||
<details>
|
||||
<summary>Response Action yaml (click to expand)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created confluence page (click to expand)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created markdown page (click to expand)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -244,17 +244,17 @@ This entity used to build Response Playbooks.
|
||||
|
||||
<details>
|
||||
<summary>Response Playbook yaml (click to expand)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created confluence page (click to expand)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Automatically created markdown page (click to expand)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -266,6 +266,7 @@ This entity used as an Incident Response plan for specific threat.
|
||||
Atomic Threat Coverage generates [analytics.csv](analytics.csv) with list of all data mapped to each other for simple analysis. This file is suppose to answer these questions:
|
||||
|
||||
- What data do I need to collect to detect specific threats?
|
||||
- What threats can I respond to with existing Response Playbooks?
|
||||
- Which Logging Policies do I need to implement to collect the data I need for detection of specific threats?
|
||||
- Which Logging Policies I can install everywhere (event volume low/medium) and which only on critical hosts (high/extremely high)?
|
||||
- Which data provided me most of the high fidelity alerts? (prioritisation of data collection implementation)
|
||||
@ -298,10 +299,10 @@ Atomic Threat Coverage generates [pivoting.csv](pivoting.csv) with list of all f
|
||||
5. Add Enrichments into `enrichments` directory (you can create new one using [template](enrichments/enrichment.yml.template))
|
||||
6. Add Response Actions into `response_actions` directory (you can create new one using [template](response_actions/respose_action.yml.template))
|
||||
7. Add Response Playbooks into `response_playbooks` directory (you can create new one using [template](response_playbooks/respose_playbook.yml.template))
|
||||
8. Configure your export settings using `scripts/config.py`
|
||||
8. Configure your export settings using `scripts/config.yml`
|
||||
9. Execute `make` in root directory of the repository
|
||||
|
||||
You don't have to add anything to make it work in your environment, you can just configure export settings using `scripts/config.py` and utilise default dataset.
|
||||
You don't have to add anything to make it work in your environment, you can just configure export settings using `scripts/config.yml` and utilise default dataset.
|
||||
At the same time you can access [demo](https://atomicthreatcoverage.atlassian.net/wiki/spaces/DEMO/pages/10944874/win+susp+powershell+hidden+b64+cmd) of automatically generated knowledge base in Confluence to make yourself familiar with final result with default dataset.
|
||||
|
||||
## Current Status: Alpha
|
||||
@ -312,14 +313,14 @@ The project is currently in an alpha stage. It doesn't support all existing Sigm
|
||||
|
||||
- Unix-like OS or [Windows Subsystem for Linux (WSL)](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) (it required to execute `make`)
|
||||
- Python 3.7.1
|
||||
- [jinja2](https://pypi.org/project/Jinja2/) python library
|
||||
- [requests](https://pypi.org/project/requests/), [PyYAML](https://pypi.org/project/PyYAML/) and [jinja2](https://pypi.org/project/Jinja2/) Python libraries
|
||||
- [Render Markdown](https://marketplace.atlassian.com/apps/1212654/render-markdown) app for Confluence (free open source)
|
||||
|
||||
## FAQ
|
||||
|
||||
#### Will my private analytics (Detection Rules, Logging Policies, etc) be transferred somewhere?
|
||||
|
||||
No. Only to your confluence node, according to configuration provided in `scripts/config.py`. Atomic Threat Coverage doesn't connect to any other remote hosts, you can easily check it.
|
||||
No. Only to your confluence node, according to configuration provided in `scripts/config.yml`. Atomic Threat Coverage doesn't connect to any other remote hosts, you can easily check it.
|
||||
|
||||
#### What do you mean saying "evangelize threat information sharing" then?
|
||||
|
||||
@ -329,7 +330,7 @@ We mean that you will use community compatible formats for (at least) Detection
|
||||
|
||||
Simplest way is to follow [workflow](#workflow) chapter, just adding your rules into pre-configured folders for specific type of analytics.
|
||||
|
||||
More "production" way is to configure your private forks of [Sigma](https://github.com/Neo23x0/sigma) and [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) projects as [submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) of your Atomic Threat Coverage private fork. After that you only will need to configure path to them in `scripts/config.py`, this way Atomic Threat Coverage will start using it for knowledge base generation.
|
||||
More "production" way is to configure your private forks of [Sigma](https://github.com/Neo23x0/sigma) and [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) projects as [submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) of your Atomic Threat Coverage private fork. After that you only will need to configure path to them in `scripts/config.yml`, this way Atomic Threat Coverage will start using it for knowledge base generation.
|
||||
|
||||
#### Sigma doesn't support some of my Detection Rules. Does it still make sense to use Atomic Threat Coverage?
|
||||
|
||||
@ -352,7 +353,7 @@ Absolutely. We also have some Detection Rules which couldn't be automatically co
|
||||
- Igor Ivanov, [@lctrcl](https://github.com/lctrcl) for collaboration on initial data types and mapping rules development
|
||||
- Andrey, [Polar_Letters](https://www.behance.net/Polar_Letters) for the logo
|
||||
- [Sigma](https://github.com/Neo23x0/sigma), [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team), [TheHive](https://blog.thehive-project.org) and [Elastic Common Schema](https://github.com/elastic/ecs) projects for inspiration
|
||||
- MITRE [ATT&CK](https://attack.mitre.org/) for making all of this possible
|
||||
- MITRE [ATT&CK](https://attack.mitre.org/) for making this possible
|
||||
|
||||
## TODO
|
||||
|
||||
|
31
README_RU.md
@ -60,7 +60,7 @@ Atomic Threat Coverage это фреймворк для создания **ва
|
||||
4. Привязывает Detection Rule к Trigger, (Atomic Red Team тест), используя `tags` Sigma правила
|
||||
5. Привязывает Logging Policies к Data Needed используя существующую в Data Needed ссылку
|
||||
6. Конвертирует все в Confluence и Markdown вики-подобные статьи используя шаблоны jinja (`scripts/templates`)
|
||||
7. Создает статьи в локальном репозитории и в Confluence (согласно конфигурации в `scripts/config.py`)
|
||||
7. Создает статьи в локальном репозитории и в Confluence (согласно конфигурации в `scripts/config.yml`)
|
||||
8. Создает `analytics.csv` файл для простой аналитики имеющихся данных
|
||||
|
||||
### Под капотом
|
||||
@ -172,17 +172,17 @@ Sigma правило, запросы для Kibana, X-Pack Watcher и запро
|
||||
|
||||
<details>
|
||||
<summary>Enrichments yaml (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/enrichment.png" />
|
||||
<img src="images/en_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Confluence (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/enrichment_confluence.png" />
|
||||
<img src="images/en_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Markdown (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/enrichment_markdown.png" />
|
||||
<img src="images/en_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -223,17 +223,17 @@ Triggers — сценарии имитации атак — оригинальн
|
||||
|
||||
<details>
|
||||
<summary>Response Action yaml (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Confluence (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Markdown (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_action.png" />
|
||||
<img src="images/ra_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -244,17 +244,17 @@ Triggers — сценарии имитации атак — оригинальн
|
||||
|
||||
<details>
|
||||
<summary>Response Playbook yaml (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_yaml_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Confluence (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_confluence_v1.png" />
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Автоматически сгенерированная страница в Markdown (кликните чтобы раскрыть)</summary>
|
||||
<img src="images/response_playbook.png" />
|
||||
<img src="images/rp_markdown_v1.png" />
|
||||
</details>
|
||||
|
||||
<br>
|
||||
@ -266,6 +266,7 @@ Triggers — сценарии имитации атак — оригинальн
|
||||
Atomic Threat Coverage генерирует [analytics.csv](analytics.csv) — список данных со всеми зависимостями для простой аналитики посредством фильтров. Этот файл позволяет ответить на следующие вопросы:
|
||||
|
||||
- Какие данные нужно собирать чтобы детектировать конкретную угрозу?
|
||||
- На какие угрозы я могу реагировать с имеющимися у меня планами реагирования (Response Playbooks)?
|
||||
- Какие настройки логирования необходимо произвести чтобы собирать данные, необходимые для обнаружения конкретной угрозы?
|
||||
- Какие настройки логирования можно произвести на всех хостах (объем данных (event volume) low/medium), а какие исключительно на критичных хостах (объем данных high/extremely high)
|
||||
- Какие источники данных предоставляют возможность производить бОльшую часть Алертов с высоким уровнем критичности? (позволяет приоритизировать подключение источников)
|
||||
@ -298,7 +299,7 @@ Atomic Threat Coverage генерирует [pivoting.csv](pivoting.csv) — с
|
||||
5. Добавьте Enrichments в директорию `enrichments` (вы можете создать новые используя [шаблон](enrichments/enrichment.yml.template))
|
||||
6. Добавьте Response Actions в директорию `response_actions` (вы можете создать новые используя [шаблон](response_actions/respose_action.yml.template))
|
||||
7. Добавьте Response Playbooks в директорию `response_playbooks` (вы можете создать новые используя [шаблон](response_playbooks/respose_playbook.yml.template))
|
||||
8. Настройте экспорт в Confluence используя файл `scripts/config.py`
|
||||
8. Настройте экспорт в Confluence используя файл `scripts/config.yml`
|
||||
9. Исполните команду `make` в корне репозитория
|
||||
|
||||
## Текущая стадия разработки: Alpha
|
||||
@ -309,14 +310,14 @@ Atomic Threat Coverage генерирует [pivoting.csv](pivoting.csv) — с
|
||||
|
||||
- Unix-подобная ОС или [Windows Subsystem for Linux (WSL)](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) (для исполнения `make`)
|
||||
- Python 3.7.1
|
||||
- Библиотека [jinja2](https://pypi.org/project/Jinja2/)
|
||||
- Приложение для Confluence [Render Markdown](https://marketplace.atlassian.com/apps/1212654/render-markdown) (free open source)
|
||||
- [requests](https://pypi.org/project/requests/), [PyYAML](https://pypi.org/project/PyYAML/) и [jinja2](https://pypi.org/project/Jinja2/) — библиотеки для Python
|
||||
- [Render Markdown](https://marketplace.atlassian.com/apps/1212654/render-markdown) — приложение для Confluence (free open source)
|
||||
|
||||
## FAQ
|
||||
|
||||
#### Отправляется ли куда-либо моя приватная аналитика (Detection Rules, Logging Policies и тд)?
|
||||
|
||||
Нет. Только в ваш Confluence портал, в соответствии с конфигурацией в `scripts/config.py`. Atomic Threat Coverage не осуществляет никаких других сетевых соединений ни с какими иными удаленными компьютерами, и вы можете это легко проверить.
|
||||
Нет. Только в ваш Confluence портал, в соответствии с конфигурацией в `scripts/config.yml`. Atomic Threat Coverage не осуществляет никаких других сетевых соединений ни с какими иными удаленными компьютерами, и вы можете это легко проверить.
|
||||
|
||||
#### В таком случае, что вы подразумеваете под "eвангелизацией распространения Threat Intelligence"?
|
||||
|
||||
@ -328,7 +329,7 @@ Atomic Threat Coverage генерирует [pivoting.csv](pivoting.csv) — с
|
||||
|
||||
Продвинутый вариант использования — сконфигурировать ваши приватные форки проектов [Sigma](https://github.com/Neo23x0/sigma) и [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) как [подмодули](https://git-scm.com/book/en/v2/Git-Tools-Submodules) вешего приватного форка проекта Atomic Threat Coverage.
|
||||
|
||||
После этого вам будет необходимо обновить пути к данным в конфигурационном файле `scripts/config.py`, таким образом Atomic Threat Coverage начнет использовать вашу собственную аналитику для генерации базы знаний.
|
||||
После этого вам будет необходимо обновить пути к данным в конфигурационном файле `scripts/config.yml`, таким образом Atomic Threat Coverage начнет использовать вашу собственную аналитику для генерации базы знаний.
|
||||
|
||||
#### Sigma не поддерживает некоторые из моих Правил Обнаружени. Есть ли смысл использовать Atomic Threat Coverage в таком случае?
|
||||
|
||||
|
@ -12,9 +12,9 @@ author: Teymur Kheirkhabarov
|
||||
requirements:
|
||||
- EN_0001_cache_sysmon_event_id_1_info
|
||||
new_fields:
|
||||
- event_data.ParentIntegrityLevel # redundant, inconsistent
|
||||
- event_data.ParentUser # redundant, inconsistent
|
||||
- event_data.ParentOfParentImage # redundant, inconsistent
|
||||
- event_data.ParentIntegrityLevel # redundant
|
||||
- event_data.ParentUser # redundant
|
||||
- event_data.ParentOfParentImage # redundant
|
||||
- ParentIntegrityLevel
|
||||
- ParentUser
|
||||
- ParentOfParentImage
|
||||
|
BIN
images/en_confluence_v1.png
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
images/en_markdown_v1.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
images/en_yaml_v1.png
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
images/ra_confluence_v1.png
Normal file
After Width: | Height: | Size: 209 KiB |
BIN
images/ra_markdown_v1.png
Normal file
After Width: | Height: | Size: 174 KiB |
BIN
images/ra_yaml_v1.png
Normal file
After Width: | Height: | Size: 261 KiB |
BIN
images/rp_confluence_v1.png
Normal file
After Width: | Height: | Size: 281 KiB |
BIN
images/rp_markdown_v1.png
Normal file
After Width: | Height: | Size: 225 KiB |
BIN
images/rp_yaml_v1.png
Normal file
After Width: | Height: | Size: 459 KiB |