Compare commits
469 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1986bcb843 | |||
| fa0aaa7d2b | |||
| 67707b6c82 | |||
| 8023011bb1 | |||
| 89c1d7b63d | |||
| 748ac2e206 | |||
| 2cf402aa1f | |||
| 60bc5253cf | |||
| 04d91573f3 | |||
| 2ecc55c13f | |||
| f3edc39535 | |||
| 6bf010fb4b | |||
| 4168c0ec64 | |||
| 36ba9f78da | |||
| 7c1e856095 | |||
| 323a7313fd | |||
| 84690280c5 | |||
| 241d814221 | |||
| f65f693a88 | |||
| 7b63c92fc0 | |||
| 253417a367 | |||
| 75ec169d5c | |||
| b60cfbe244 | |||
| 346022cfe8 | |||
| 4a775650a2 | |||
| e675cdf9c4 | |||
| 544dfe3704 | |||
| c937fe3c1b | |||
| 74ca0eeb88 | |||
| 2d0c08cc8b | |||
| 7d10491bf2 | |||
| 5867b5da74 | |||
| 194afa739f | |||
| af0bd1b082 | |||
| 97541ac267 | |||
| 7e163d71eb | |||
| 4e63e925cf | |||
| 11ed7e7ef8 | |||
| e271484eef | |||
| 3d20e0bc98 | |||
| 71ff6bd943 | |||
| 36aeb19721 | |||
| f86342012a | |||
| 9e2345c491 | |||
| a6d2a5d79b | |||
| 9f1bbb0a0d | |||
| 694fa567b6 | |||
| 1c36bfde79 | |||
| d5f49c5777 | |||
| 508d1cdae0 | |||
| 13522b97a7 | |||
| 275896dbe6 | |||
| 5dfe39c05b | |||
| 1ca57719b0 | |||
| 1c2bc87946 | |||
| 6585c83077 | |||
| 526468bec3 | |||
| f4d8dcaa1e | |||
| 25c0330dca | |||
| 995c03eef9 | |||
| a361664ed2 | |||
| 56f64ca47d | |||
| c50119b913 | |||
| 46c789105b | |||
| 595f22552d | |||
| 27199fc231 | |||
| 15a4c7e477 | |||
| 666e859d14 | |||
| 14b10c232e | |||
| f51e918a2e | |||
| 31946426a5 | |||
| f01fbd6b79 | |||
| e60fe1f46d | |||
| 3dd76a9c5e | |||
| 792095734d | |||
| 378ba5b38f | |||
| 8e6295e402 | |||
| 1e2ef92104 | |||
| 121e21960e | |||
| 9b67705799 | |||
| 763939a8ca | |||
| eb022f3908 | |||
| cfb4f32651 | |||
| 16bf5eef0f | |||
| 17ae9ea91c | |||
| 8cf505fcb3 | |||
| 79f7edb6b4 | |||
| 6918784e87 | |||
| c90d3e811e | |||
| e9af99c147 | |||
| 4559aa4e00 | |||
| d0bd8a2a41 | |||
| 87abd20c0f | |||
| 34c426a95b | |||
| f0b0f54500 | |||
| 765fe9dcd9 | |||
| d0950bd077 | |||
| b47900fbee | |||
| 38d548868d | |||
| dd9648b31e | |||
| a85acdfd02 | |||
| 0713360443 | |||
| 49beb5d1a8 | |||
| bdd184a24c | |||
| 80f45349ed | |||
| aab3dbee4f | |||
| 03d8184990 | |||
| 5249279a66 | |||
| d5fa51eab9 | |||
| e32708154f | |||
| 74dd008b10 | |||
| 8a5ae01f0e | |||
| d75ea35295 | |||
| 8609fc7ece | |||
| f78413deab | |||
| 4808f49e0d | |||
| 1a4a74b64b | |||
| 76780ccce2 | |||
| 7c5f985f6f | |||
| 4298abffb7 | |||
| 615a802a8e | |||
| 0a960ed3cd | |||
| 0e8a46aaf7 | |||
| 4e16bbafa8 | |||
| 17470d1545 | |||
| daaee558a1 | |||
| 612a7642d2 | |||
| 65b81dad32 | |||
| 1d3159bef0 | |||
| d872c52a43 | |||
| 5194e8778c | |||
| 1e262f5055 | |||
| cb0a87e21e | |||
| 08ec8597a5 | |||
| 5463128ea0 | |||
| 74fce5f511 | |||
| eb8a0636c5 | |||
| 51d19b36cc | |||
| 4b43db2aac | |||
| 6351c5a350 | |||
| 038918d2c0 | |||
| 75d36165fc | |||
| 51e65be98b | |||
| cd456a1d2b | |||
| c775b7a033 | |||
| 89fb726875 | |||
| f0c8c428bb | |||
| ca4b710c01 | |||
| 97376c00de | |||
| 766b8b8d18 | |||
| 788e75ef1b | |||
| 840eb2f519 | |||
| eb690d8902 | |||
| 1915561351 | |||
| 81693d81b6 | |||
| c4b8f75940 | |||
| 41b4d800c5 | |||
| 22958c45a3 | |||
| b4ac9a432f | |||
| 353e457104 | |||
| d5818a417b | |||
| 9c5575d003 | |||
| edb98f2781 | |||
| d0d51b6601 | |||
| 2b814011cd | |||
| 13f86e9333 | |||
| b4b7d810fc | |||
| e0459cec1c | |||
| d32e5c10b8 | |||
| 7e058e611c | |||
| 9ada22b8e0 | |||
| d2e605fc5c | |||
| 865d971704 | |||
| eda5298457 | |||
| 0756b00cdf | |||
| 9c1a5a5264 | |||
| 56b68a0266 | |||
| b941f6411f | |||
| 516c8f3ea1 | |||
| 3d69727332 | |||
| 016261cacf | |||
| a85c668f6f | |||
| d62bc41bfb | |||
| 32c6b34746 | |||
| 548145ce10 | |||
| ddb2d92a98 | |||
| e3f99c323b | |||
| 6cc1770351 | |||
| b76925f838 | |||
| d067087632 | |||
| 5c5a16c4d5 | |||
| 453bd10e6e | |||
| 8e854b06f6 | |||
| 0419ff215a | |||
| d06a5431eb | |||
| c7553dc8a1 | |||
| e473efb7c3 | |||
| 3f2ce4b71f | |||
| 51c42a15a7 | |||
| 0242c40360 | |||
| 60c4fed2e0 | |||
| ffac77fb37 | |||
| 1adb040e0b | |||
| 2ad2ba9589 | |||
| 140a32d8c9 | |||
| 2dda9a7b77 | |||
| be25aa2c37 | |||
| 8512417de0 | |||
| 5c4d8bc2ca | |||
| 5e973a6321 | |||
| 0864d05aa5 | |||
| 9be6b8b1a5 | |||
| 3f7e08733a | |||
| 8d1723e65c | |||
| 5e3a25537e | |||
| 4650271117 | |||
| 33db032a16 | |||
| bb026e4692 | |||
| 0aaac1a48e | |||
| 1e29c9c1ce | |||
| 1f47dc1cdc | |||
| 96492834c5 | |||
| aca36c88cc | |||
| aac632bb41 | |||
| 5ffc027f22 | |||
| 25b680bfec | |||
| 3b193fb691 | |||
| aee0d1dd67 | |||
| 5dc229b590 | |||
| 95b47972f0 | |||
| c4003ff410 | |||
| bd38cff042 | |||
| 909c09f4ac | |||
| 5d54e9c8a1 | |||
| c22265c655 | |||
| 8dd39a2653 | |||
| 783d8c4268 | |||
| 7f4557d183 | |||
| 075df83118 | |||
| c3b079990a | |||
| 361f2ffa5f | |||
| fe9e50167f | |||
| 49532438eb | |||
| a1ba04aec8 | |||
| 082ee586bf | |||
| 6d97c6d0bb | |||
| a429f09cc1 | |||
| 3c1948f089 | |||
| c235944a0c | |||
| c97f0f097b | |||
| e9ddd933f8 | |||
| 475113b1c1 | |||
| c2a16591af | |||
| 1182ee2de2 | |||
| 5a64f572e3 | |||
| a82ea0a022 | |||
| 83c0c71bc7 | |||
| d7c25adfb6 | |||
| cb7243de5d | |||
| 8bec627ff1 | |||
| 5154460726 | |||
| 05cc7e455d | |||
| 725ab99e90 | |||
| 283bd278f4 | |||
| 971bd49071 | |||
| 534f250c35 | |||
| bb95347745 | |||
| 6232362f04 | |||
| 07807837ee | |||
| be108d95cc | |||
| 40241c1fdf | |||
| 99595a7f89 | |||
| 879017818f | |||
| 2c0cc87ab8 | |||
| cf186387af | |||
| c5796d7853 | |||
| 8179d182c4 | |||
| b2952b9f78 | |||
| c8be6e649b | |||
| 45458121c6 | |||
| ae1541242c | |||
| 17e9729ddd | |||
| 58c61430a2 | |||
| be2ca8dc4d | |||
| 33e490e4fa | |||
| 7b3d67ae66 | |||
| 9a3ceb8421 | |||
| bef5f03015 | |||
| 1a583c158d | |||
| 2188001f98 | |||
| bd4e61acd8 | |||
| f80cf52982 | |||
| 99b15edf8a | |||
| 56a1ed1eac | |||
| 7602309138 | |||
| 1aac9baaed | |||
| 7bebedbac1 | |||
| af6a1ff26a | |||
| f560e83886 | |||
| fc683ac7ee | |||
| 2345cbf7bd | |||
| 690807c846 | |||
| 6bdb4ab78a | |||
| 155e273a1c | |||
| 8ce4b1530d | |||
| c922f7d73f | |||
| 58a32f35d9 | |||
| f278a00174 | |||
| e7f5cbc22a | |||
| a60b53a7df | |||
| 8b7f0508a7 | |||
| 7d3d819ea5 | |||
| bdf0dd8e21 | |||
| a022333382 | |||
| f0c89239d3 | |||
| 1a6faf385c | |||
| 3a7160d52b | |||
| f25416bd65 | |||
| afa18245bf | |||
| c17f9d172f | |||
| 02239fa288 | |||
| 18d012cc2e | |||
| 5c63ef17d2 | |||
| bdf44be077 | |||
| 87994ca46b | |||
| d3b623e92a | |||
| 343a40ced7 | |||
| c8701ac6e9 | |||
| 8ae37f5d64 | |||
| 3a994d0d63 | |||
| 5935eaa572 | |||
| aca470961a | |||
| c474bfcae5 | |||
| 07dec06222 | |||
| 9ef314486e | |||
| eeae74e245 | |||
| ae62acf3d2 | |||
| 2e3a2b9ba6 | |||
| f0a4aede24 | |||
| 08e00945aa | |||
| 34f9d17b26 | |||
| 2e61233e31 | |||
| 97b28f4308 | |||
| cd3cdc9451 | |||
| 8d819cfeea | |||
| 004497075d | |||
| c2eda887fa | |||
| b16bb4bf9b | |||
| be26ada875 | |||
| 74e3c79f40 | |||
| a5af134bfe | |||
| 01570f88db | |||
| 6dd4b4775a | |||
| ff5081f186 | |||
| 14769938e9 | |||
| d43e67a882 | |||
| 3cd6de2864 | |||
| 01dfc23a26 | |||
| d9aceeb7eb | |||
| 5866d8eb71 | |||
| 4429d7564f | |||
| a815b7eb9b | |||
| aab703a4b4 | |||
| 05424883dd | |||
| efb223b147 | |||
| 7e732a2a89 | |||
| d2743351e7 | |||
| c8c06763b4 | |||
| d151deaa29 | |||
| 91862f284b | |||
| 423fdca32c | |||
| adb6690c80 | |||
| f0f0bdae40 | |||
| 7192f149a3 | |||
| e6217928f3 | |||
| 2f66ba25f0 | |||
| a9731d211d | |||
| 4d048c71bb | |||
| 54ec01bcdd | |||
| a0bac993ed | |||
| 04f1edd171 | |||
| 22b67a67ac | |||
| 353f66dd7c | |||
| 150499d151 | |||
| c78ac9333c | |||
| 21f34ab8ba | |||
| 35ebcff543 | |||
| 65e4ba5aba | |||
| bad80ffa78 | |||
| cc8a89b679 | |||
| 046510f021 | |||
| 5d94b9f0bc | |||
| 5092b1e603 | |||
| 32c098294f | |||
| 8f684ddd06 | |||
| 2f5eb08b41 | |||
| a276d3083d | |||
| dfd4ce878f | |||
| 5b92790e3f | |||
| abf5a5088e | |||
| 98a18fd4a2 | |||
| 7d159fb980 | |||
| 3ef930b094 | |||
| 9c44bb04a7 | |||
| 9403128aef | |||
| 6215a694a8 | |||
| 37e13c9f41 | |||
| 8a0784ad33 | |||
| 6440bc962b | |||
| 6436cb3ae1 | |||
| 27c2684a0f | |||
| a8d1e7c62b | |||
| 6c8d08942e | |||
| f61b44efa8 | |||
| 086e62a495 | |||
| a2eac623a6 | |||
| c9ec469180 | |||
| 516bfc88ff | |||
| cd2af196e3 | |||
| 96220e776f | |||
| 7e4bb1d21a | |||
| 3c7f46a6cd | |||
| 9ce7d18712 | |||
| ecffe28933 | |||
| e3d61047bb | |||
| 90e8eba530 | |||
| cc6e0baef1 | |||
| b1ea976f66 | |||
| 8c4b21f063 | |||
| f99df33b01 | |||
| 3eaf83cf5a | |||
| 96eb460944 | |||
| ba64f485ac | |||
| 4bc4c94a91 | |||
| 5645c75576 | |||
| f759e8b07c | |||
| 7622b17415 | |||
| 2fd88c837d | |||
| 4e83bfeb16 | |||
| a9cf14438c | |||
| 8336b47530 | |||
| 5cba0b9946 | |||
| ed1ee80f2d | |||
| 7634128143 | |||
| e585858128 | |||
| aa37ef2559 | |||
| 44f18db80d | |||
| b5531be4bf | |||
| 9f56b9e99b | |||
| bf9a567afd | |||
| faeaf1dfef | |||
| 42ed8acec9 | |||
| 418f8d10a3 | |||
| 0e4842962b | |||
| 44ff9d154e | |||
| 265ce115a0 | |||
| a61b3d352a | |||
| e28bc35cad | |||
| 2fbf17ff34 | |||
| 41a8ef2fd9 | |||
| 2330306db1 | |||
| ba76f04fe6 | |||
| d81946df39 | |||
| 210f7ac044 | |||
| 1d7722c1cb | |||
| 320bb9f8c4 | |||
| 430972231f | |||
| 2715c44173 | |||
| e0b3f91b2a |
+8
-1
@@ -1,7 +1,7 @@
|
||||
language: python
|
||||
dist: xenial
|
||||
python:
|
||||
- 3.5
|
||||
# - 3.5 # Deactivated because Travis CI tests failed randomly (Travis's problem)
|
||||
- 3.6
|
||||
- 3.7
|
||||
sudo: true
|
||||
@@ -15,3 +15,10 @@ install:
|
||||
script:
|
||||
- make test
|
||||
- make test-backend-es-qs
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- venom14@gmail.com
|
||||
- thomas@patzke.org
|
||||
on_success: change
|
||||
on_failure: always
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
---
|
||||
# https://yamllint.readthedocs.io/en/latest/configuration.html
|
||||
extends: default
|
||||
rules:
|
||||
comments: disable
|
||||
comments-indentation: disable
|
||||
document-start: disable
|
||||
empty-lines: {max: 2, max-start: 2, max-end: 2}
|
||||
indentation: disable
|
||||
line-length: disable
|
||||
new-line-at-end-of-file: disable
|
||||
trailing-spaces: disable
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.PHONY: test test-yaml test-sigmac
|
||||
.PHONY: test test-rules test-sigmac
|
||||
TMPOUT = $(shell tempfile||mktemp)
|
||||
COVSCOPE = tools/sigma/*.py,tools/sigma/backends/*.py,tools/sigmac,tools/merge_sigma
|
||||
test: clearcov test-yaml test-sigmac test-merge build finish
|
||||
test: clearcov test-rules test-sigmac test-merge build finish
|
||||
|
||||
clearcov:
|
||||
rm -f .coverage
|
||||
@@ -10,35 +10,47 @@ finish:
|
||||
coverage report --fail-under=90
|
||||
rm -f $(TMPOUT)
|
||||
|
||||
test-yaml:
|
||||
test-rules:
|
||||
yamllint rules
|
||||
tests/test_rules.py
|
||||
|
||||
test-sigmac:
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -h
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -l
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -O rulecomment -rvdI -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t kibana rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvd -t es-qs rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t es-qs --shoot-yourself-in-the-foot rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -O rulecomment -rvdI -c tools/config/elk-winlogbeat.yml -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t kibana -c tools/config/elk-winlogbeat.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t graylog rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t xpack-watcher rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t elastalert rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunkxml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t logpoint rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t xpack-watcher -c tools/config/elk-winlogbeat.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t elastalert -c tools/config/elk-winlogbeat.yml -O alert_methods=http_post,email -O emails=test@test.invalid -O http_post_url=http://test.invalid rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t elastalert-dsl -c tools/config/elk-winlogbeat.yml -O alert_methods=http_post,email -O emails=test@test.invalid -O http_post_url=http://test.invalid rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunkxml -c tools/config/splunk-windows-all-index.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t logpoint -c tools/config/logpoint-windows-all.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t wdatp rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t es-dsl rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t ala rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t ala --backend-config tests/backend_config.yml rules/windows/process_creation/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t es-dsl -c tools/config/elk-winlogbeat.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t powershell -c tools/config/powershell-windows-all.yml -Ocsv rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t arcsight -c tools/config/arcsight.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t qradar -c tools/config/arcsight.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t qradar -c tools/config/qradar.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t qualys -c tools/config/qualys.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t netwitness -c tools/config/netwitness.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t sumologic -c tools/config/sumologic.yml rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'level>=high,level<=critical,status=stable,logsource=windows,tag=attack.execution' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'level>=high,level<=critical,status=xstable,logsource=windows' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'level>=high,level<=xcritical,status=stable,logsource=windows' rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'level=critical' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'level=xcritical' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -f 'foo=bar' rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'level>=high,level<=critical,status=stable,logsource=windows,tag=attack.execution' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'level>=high,level<=critical,status=xstable,logsource=windows' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'level>=high,level<=xcritical,status=stable,logsource=windows' rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'level=critical' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'level=xcritical' rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t splunk -c tools/config/splunk-windows-all-index.yml -f 'foo=bar' rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-windows.yml -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c sysmon -c elk-windows -t es-qs rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c sysmon -c elk-windows -t splunk rules/ > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-windows.yml -c tools/config/generic/sysmon.yml -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-linux.yml -t es-qs rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-windows.yml -t kibana rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-windows.yml -Ooutput=curl -t kibana rules/ > /dev/null
|
||||
@@ -48,22 +60,23 @@ test-sigmac:
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-linux.yml -t xpack-watcher rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/elk-defaultindex.yml -t xpack-watcher rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/splunk-windows-all.yml -t splunk rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/logpoint-windows-all.yml -t logpoint rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -c tools/config/generic/sysmon.yml -c tools/config/splunk-windows-all.yml -t splunk rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t grep rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -rvdI -t fieldlist rules/ > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -O output=plain -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -O output=json -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -o $(TMPOUT) - < tests/collection_repeat.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -O output=foobar -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/not_existing.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_yaml.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_sigma-no_identifiers.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_sigma-no_condition.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_sigma-invalid_identifier_reference.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_sigma-invalid_aggregation.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs tests/invalid_sigma-wrong_identifier_definition.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs rules/windows/builtin/win_susp_failed_logons_single_source.yml
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -o /not_possible rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -c tools/config/elk-winlogbeat.yml -O output=plain -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t kibana -c tests/config-multiple_mapping.yml -c tests/config-multiple_mapping-2.yml tests/mapping-conditional-multi.yml > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -c tools/config/elk-winlogbeat.yml -O output=json -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml -o $(TMPOUT) - < tests/collection_repeat.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t xpack-watcher -c tools/config/elk-winlogbeat.yml -O output=foobar -O es=es -O foobar rules/windows/builtin/win_susp_failed_logons_single_source.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/not_existing.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_yaml.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_sigma-no_identifiers.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_sigma-no_condition.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_sigma-invalid_identifier_reference.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_sigma-invalid_aggregation.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml tests/invalid_sigma-wrong_identifier_definition.yml > /dev/null
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml rules/windows/builtin/win_susp_failed_logons_single_source.yml
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tools/config/elk-winlogbeat.yml -o /not_possible rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c not_existing rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tests/invalid_yaml.yml rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml
|
||||
! coverage run -a --include=$(COVSCOPE) tools/sigmac -t es-qs -c tests/invalid_config.yml rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml
|
||||
|
||||
@@ -24,6 +24,12 @@ This repository contains:
|
||||
|
||||
[](https://www.youtube.com/watch?v=OheVuE9Ifhs "Sigma - Generic Signatures for Log Events")
|
||||
|
||||
## SANS Webcast on MITRE ATT&CK and Sigma
|
||||
|
||||
The SANS webcast on Sigma contains a very good 20 min introduction to the project by John Hubbart from minute 39 onward. (SANS account required; registration is free)
|
||||
|
||||
[MITRE ATT&CK and Sigma Alerting Webcast Recording](https://www.sans.org/webcasts/mitre-att-ck-sigma-alerting-110010 "MITRE ATT&CK and Sigma Alerting")
|
||||
|
||||
# Use Cases
|
||||
|
||||
* Describe your detection method in Sigma to make it sharable
|
||||
@@ -61,7 +67,7 @@ Florian wrote a short [rule creation tutorial](https://www.nextron-systems.com/2
|
||||
1. Download or clone the respository
|
||||
2. Check the `./rules` sub directory for an overview on the rule base
|
||||
3. Run `python sigmac --help` in folder `./tools` to get a help on the rule converter
|
||||
4. Convert a rule of your choice with `sigmac` like `python sigmac -t splunk ../rules/windows/builtin/win_susp_process_creations.yml`
|
||||
4. Convert a rule of your choice with `sigmac` like `./sigmac -t splunk -c tools/config/generic/sysmon.yml ./rules/windows/process_creation/win_susp_whoami.yml`
|
||||
5. Convert a whole rule directory with `python sigmac -t splunk -r ../rules/proxy/`
|
||||
6. Check the `./tools/config` folder and the [wiki](https://github.com/Neo23x0/sigma/wiki/Converter-Tool-Sigmac) if you need custom field or log source mappings in your environment
|
||||
|
||||
@@ -90,7 +96,87 @@ Sigmac converts sigma rules into queries or inputs of the supported targets list
|
||||
Sigma library that may be used to integrate Sigma support in other projects. Further, there's `merge_sigma.py` which
|
||||
merges multiple YAML documents of a Sigma rule collection into simple Sigma rules.
|
||||
|
||||

|
||||
### Usage
|
||||
|
||||
```
|
||||
usage: sigmac [-h] [--recurse] [--filter FILTER]
|
||||
[--target {arcsight,es-qs,es-dsl,kibana,xpack-watcher,elastalert,graylog,logpoint,grep,netwitness,powershell,qradar,qualys,splunk,splunkxml,sumologic,fieldlist,wdatp}]
|
||||
[--target-list] [--config CONFIG] [--output OUTPUT]
|
||||
[--backend-option BACKEND_OPTION] [--defer-abort]
|
||||
[--ignore-backend-errors] [--verbose] [--debug]
|
||||
[inputs [inputs ...]]
|
||||
|
||||
Convert Sigma rules into SIEM signatures.
|
||||
|
||||
positional arguments:
|
||||
inputs Sigma input files ('-' for stdin)
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
--recurse, -r Use directory as input (recurse into subdirectories is
|
||||
not implemented yet)
|
||||
--filter FILTER, -f FILTER
|
||||
Define comma-separated filters that must match (AND-
|
||||
linked) to rule to be processed. Valid filters:
|
||||
level<=x, level>=x, level=x, status=y, logsource=z,
|
||||
tag=t. x is one of: low, medium, high, critical. y is
|
||||
one of: experimental, testing, stable. z is a word
|
||||
appearing in an arbitrary log source attribute. t is a
|
||||
tag that must appear in the rules tag list, case-
|
||||
insensitive matching. Multiple log source
|
||||
specifications are AND linked.
|
||||
--target {arcsight,es-qs,es-dsl,kibana,xpack-watcher,elastalert,graylog,logpoint,grep,netwitness,powershell,qradar,qualys,splunk,splunkxml,sumologic,fieldlist,wdatp}, -t {arcsight,es-qs,es-dsl,kibana,xpack-watcher,elastalert,graylog,logpoint,grep,netwitness,powershell,qradar,qualys,splunk,splunkxml,sumologic,fieldlist,wdatp}
|
||||
Output target format
|
||||
--target-list, -l List available output target formats
|
||||
--config CONFIG, -c CONFIG
|
||||
Configurations with field name and index mapping for
|
||||
target environment. Multiple configurations are merged
|
||||
into one. Last config is authorative in case of
|
||||
conflicts.
|
||||
--output OUTPUT, -o OUTPUT
|
||||
Output file or filename prefix if multiple files are
|
||||
generated
|
||||
--backend-option BACKEND_OPTION, -O BACKEND_OPTION
|
||||
Options and switches that are passed to the backend
|
||||
--defer-abort, -d Don't abort on parse or conversion errors, proceed
|
||||
with next rule. The exit code from the last error is
|
||||
returned
|
||||
--ignore-backend-errors, -I
|
||||
Only return error codes for parse errors and ignore
|
||||
errors for rules that cause backend errors. Useful,
|
||||
when you want to get as much queries as possible.
|
||||
--verbose, -v Be verbose
|
||||
--debug, -D Debugging output
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
#### Single Rule Translation
|
||||
Translate a single rule
|
||||
```
|
||||
tools/sigmac -t splunk rules/windows/sysmon/sysmon_susp_image_load.yml
|
||||
```
|
||||
#### Rule Set Translation
|
||||
Translate a whole rule directory and ignore backend errors (`-I`) in rule conversion for the selected backend (`-t splunk`)
|
||||
```
|
||||
tools/sigmac -I -t splunk -r rules/windows/sysmon/
|
||||
```
|
||||
#### Rule Set Translation with Custom Config
|
||||
Apply your own config file (`-c ~/my-elk-winlogbeat.yml`) during conversion, which can contain you custom field and source mappings
|
||||
```
|
||||
tools/sigmac -t es-qs -c ~/my-elk-winlogbeat.yml -r rules/windows/sysmon
|
||||
```
|
||||
#### Generic Rule Set Translation
|
||||
Use a config file for `process_creation` rules (`-r rules/windows/process_creation`) that instructs sigmac to create queries for a Sysmon log source (`-c tools/config/generic/sysmon.yml`) and the ElasticSearch target backend (`-t es-qs`)
|
||||
```
|
||||
tools/sigmac -t es-qs -c tools/config/generic/sysmon.yml -r rules/windows/process_creation
|
||||
```
|
||||
#### Generic Rule Set Translation with Custom Config
|
||||
Use a config file for a single `process_creation` rule (`./rules/windows/process_creation/win_susp_outlook.yml`) that instructs sigmac to create queries for process creation events generated in the Windows Security Eventlog (`-c tools/config/generic/windows-audit.yml`) and a Splunk target backend (`-t splunk`)
|
||||
```
|
||||
tools/sigmac -t splunk -c ~/my-splunk-mapping.yml -c tools/config/generic/windows-audit.yml ./rules/windows/process_creation/win_susp_outlook.yml
|
||||
```
|
||||
(See @blubbfiction's [blog post](https://patzke.org/a-guide-to-generic-log-sources-in-sigma.html) for more information)
|
||||
|
||||
### Supported Targets
|
||||
|
||||
@@ -101,6 +187,7 @@ merges multiple YAML documents of a Sigma rule collection into simple Sigma rule
|
||||
* [Elastic X-Pack Watcher](https://www.elastic.co/guide/en/x-pack/current/xpack-alerting.html)
|
||||
* [Logpoint](https://www.logpoint.com)
|
||||
* [Windows Defender Advanced Threat Protection (WDATP)](https://www.microsoft.com/en-us/windowsforbusiness/windows-atp)
|
||||
* [Azure Sentinel / Azure Log Analytics](https://azure.microsoft.com/en-us/services/azure-sentinel/)
|
||||
* [ArcSight](https://software.microfocus.com/en-us/products/siem-security-information-event-management/overview)
|
||||
* [QRadar](https://www.ibm.com/de-de/marketplace/ibm-qradar-siem)
|
||||
* [Qualys](https://www.qualys.com/apps/threat-protection/)
|
||||
@@ -180,7 +267,7 @@ These tools are not part of the main toolchain and maintained separately by thei
|
||||
* Integration into Threat Intel Exchanges
|
||||
* Attempts to convince others to use the rule format in their reports, threat feeds, blog posts, threat sharing platforms
|
||||
|
||||
# Projects that use Sigma
|
||||
# Projects or Products that use Sigma
|
||||
|
||||
* [MISP](http://www.misp-project.org/2017/03/26/MISP.2.4.70.released.html) (since version 2.4.70, March 2017)
|
||||
* [TA-Sigma-Searches](https://github.com/dstaulcu/TA-Sigma-Searches) (Splunk App)
|
||||
@@ -188,6 +275,7 @@ These tools are not part of the main toolchain and maintained separately by thei
|
||||
* [ypsilon](https://github.com/P4T12ICK/ypsilon) - Automated Use Case Testing
|
||||
* [uncoder.io](https://uncoder.io/) - Online Translator for SIEM Searches
|
||||
* [SPARK](https://www.nextron-systems.com/2018/06/28/spark-applies-sigma-rules-in-eventlog-scan/) - Scan with Sigma rules on endpoints
|
||||
* [RANK VASA](https://globenewswire.com/news-release/2019/03/04/1745907/0/en/RANK-Software-to-Help-MSSPs-Scale-Cybersecurity-Offerings.html)
|
||||
|
||||
# Licenses
|
||||
|
||||
@@ -201,4 +289,6 @@ The content of this repository is released under the following licenses:
|
||||
|
||||
This is a private project mainly developed by Florian Roth and Thomas Patzke with feedback from many fellow analysts and friends. Rules are our own or have been drived from blog posts, tweets or other public sources that are referenced in the rules.
|
||||
|
||||
Copyright for Tree Image: [studiobarcelona / 123RF Stock Photo](http://www.123rf.com/profile_studiobarcelona)
|
||||
# Info Graphic
|
||||
|
||||

|
||||
|
||||
@@ -0,0 +1,247 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright 2018 juju4
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
Project: sigma2sumologic.py
|
||||
Date: 11 Jan 2019
|
||||
Author: juju4
|
||||
Version: 1.0
|
||||
Description: This script executes sumologic search queries from Sigma SIEM rules.
|
||||
Workflow:
|
||||
1. Convert rules with sigmac
|
||||
2. Enrich: add ignore+local custom rules, priority
|
||||
3. Format
|
||||
4. Get results and save to txt/xlsx files
|
||||
Requirements:
|
||||
$ pip install sumologic-sdk pyyaml pandas
|
||||
"""
|
||||
|
||||
import re
|
||||
import os, sys, stat
|
||||
import glob
|
||||
import subprocess
|
||||
import argparse
|
||||
import yaml
|
||||
import traceback
|
||||
import logging
|
||||
from sumologic import SumoLogic
|
||||
import time
|
||||
import datetime
|
||||
import json
|
||||
import pandas
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logger = logging.getLogger(__name__)
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - p%(process)s {%(pathname)s:%(lineno)d} - %(levelname)s - %(message)s')
|
||||
handler = logging.FileHandler('sigma2sumo.log')
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
|
||||
parser = argparse.ArgumentParser(description='Execute sigma rules in sumologic')
|
||||
parser.add_argument("--conf", help="script yaml config file", type=str, required=True)
|
||||
parser.add_argument("--accessid", help="Sumologic Access ID", type=str, required=False)
|
||||
parser.add_argument("--accesskey", help="Sumologic Access Key", type=str, required=False)
|
||||
parser.add_argument("--endpoint", help="Sumologic url endpoint", type=str, required=False)
|
||||
parser.add_argument("--ruledir", help="sigma rule directory path to convert", type=str, required=False)
|
||||
parser.add_argument("--outdir", help="output directory to create rules", type=str, required=False)
|
||||
parser.add_argument("--sigmac", help="Sigmac location", default="../tools/sigmac", type=str)
|
||||
parser.add_argument("--realerttime", help="Realert time (optional value, default 5 minutes)", type=str, default=5)
|
||||
parser.add_argument("--debug", help="Show debug output", type=bool, default=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
LIMIT = 100
|
||||
delay = 5
|
||||
|
||||
def rule_element(file_content, elements):
|
||||
"""
|
||||
Function used to get specific element from yaml document and return content
|
||||
:type file_content: str
|
||||
:type elements: list
|
||||
:param file_content:
|
||||
:param elements: list of elements of the yaml document to get "title", "description"
|
||||
:return: the value of the key in the yaml document
|
||||
"""
|
||||
try:
|
||||
logger.debug("file_content: %s" % file_content)
|
||||
yaml.safe_load(file_content.replace("---",""))
|
||||
except:
|
||||
raise Exception('Unsupported')
|
||||
element_output = ""
|
||||
for e in elements:
|
||||
try:
|
||||
element_output = yaml.safe_load(file_content.replace("---",""))[e]
|
||||
except:
|
||||
pass
|
||||
if element_output is None:
|
||||
return ""
|
||||
return element_output
|
||||
|
||||
def get_rule_as_sumologic(file):
|
||||
"""
|
||||
Function used to get sumologic query output from rule file
|
||||
:type file: str
|
||||
:param file: rule filename
|
||||
:return: string query
|
||||
"""
|
||||
if not os.path.exists(args.sigmac):
|
||||
logger.error("Cannot find sigmac rule coverter at '%s', please set a correct location via '--sigmac'")
|
||||
cmd = [args.sigmac, file, "--target", "sumologic"]
|
||||
logger.info('get_rule_as_sumologic cmd: %s' % cmd)
|
||||
process = subprocess.Popen(cmd,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
output, err = process.communicate()
|
||||
|
||||
# output is byte-string...
|
||||
output = output.decode("utf-8")
|
||||
err = err.decode("utf-8")
|
||||
|
||||
logger.info('get_rule_as_sumologic output: %s' % output)
|
||||
logger.info('get_rule_as_sumologic stderr: %s' % err)
|
||||
if err or "unsupported" in err:
|
||||
logger.error('Unsupported output at this time')
|
||||
raise Exception('Unsupported output at this time')
|
||||
output = output.split("\n")
|
||||
# Remove empty string from \n
|
||||
output = [a for a in output if a]
|
||||
# Handle case of multiple queries returned
|
||||
if len(output) > 1:
|
||||
return " OR ".join(output)
|
||||
return "".join(output)
|
||||
|
||||
if args.help:
|
||||
parser_print_help()
|
||||
|
||||
if args.conf:
|
||||
with open(args.conf, 'r') as ymlfile:
|
||||
cfg = yaml.load(ymlfile)
|
||||
args.accessid = cfg['accessid']
|
||||
args.accesskey = cfg['accesskey']
|
||||
args.endpoint = cfg['endpoint']
|
||||
args.ruledir = cfg['ruledir']
|
||||
args.outdir = cfg['outdir']
|
||||
args.sigmac = cfg['sigmac']
|
||||
try:
|
||||
args.recursive = cfg['recursive']
|
||||
except:
|
||||
args.recursive = False
|
||||
if args.recursive:
|
||||
globpath = args.ruledir + "/**/*.yml"
|
||||
else:
|
||||
globpath = args.ruledir + "/*.yml"
|
||||
logger.debug("args: %s" % args)
|
||||
logger.debug("globpath: %s" % globpath)
|
||||
|
||||
if args.outdir and not os.path.isdir(args.outdir):
|
||||
os.mkdir(args.outdir, stat.S_IRWXU)
|
||||
|
||||
# recursive
|
||||
for file in glob.iglob(globpath):
|
||||
# non-recursive (above, not working...)
|
||||
#for file in glob.iglob(args.ruledir + "/*.yml"):
|
||||
|
||||
file_basename = os.path.basename(os.path.splitext(file)[0])
|
||||
file_basenamepath = os.path.splitext(file)[0]
|
||||
file_ext = os.path.splitext(file)[1]
|
||||
try:
|
||||
if file_ext != '.yml':
|
||||
continue
|
||||
|
||||
logger.info("Processing %s ..." % file_basename)
|
||||
with open(file, "rb") as f:
|
||||
file_content = f.read()
|
||||
|
||||
logger.info("Rule file: %s" % file)
|
||||
|
||||
sumo_query = get_rule_as_sumologic(file)
|
||||
|
||||
logger.info(" Checking if custom query file: %s" % file_basenamepath + '.custom')
|
||||
if os.path.isfile(file_basenamepath + '.custom'):
|
||||
# FIXME! want to add something in the middle for parsing for example...
|
||||
logger.info(" Adding custom part to end query from: %s" % file_basenamepath + '.custom')
|
||||
with open(file_basenamepath + '.custom', "rb") as f:
|
||||
sumo_query += " " + f.read().decode('utf-8')
|
||||
elif 'count ' not in sumo_query and ('EventID=' in sumo_query):
|
||||
sumo_query += " | count _sourceCategory, hostname, EventID, msg_summary, _raw"
|
||||
elif 'count ' not in sumo_query:
|
||||
sumo_query += " | count _sourceCategory, hostname, _raw"
|
||||
|
||||
logger.info("Final sumo query: %s" % sumo_query)
|
||||
|
||||
except Exception as e:
|
||||
if args.debug:
|
||||
traceback.print_exc()
|
||||
logger.exception("error generating sumo query " + str(file) + "----" + str(e))
|
||||
pass
|
||||
|
||||
try:
|
||||
# Run query
|
||||
# https://github.com/SumoLogic/sumologic-python-sdk/blob/master/scripts/search-job.py
|
||||
sumo = SumoLogic(args.accessid, args.accesskey, args.endpoint)
|
||||
toTime = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
|
||||
fromTime = datetime.datetime.strptime(toTime, "%Y-%m-%dT%H:%M:%S") - datetime.timedelta(hours = 24)
|
||||
fromTime = fromTime.strftime("%Y-%m-%dT%H:%M:%S")
|
||||
timeZone = 'UTC'
|
||||
byReceiptTime = True
|
||||
|
||||
sj = sumo.search_job(sumo_query, fromTime, toTime, timeZone, byReceiptTime)
|
||||
|
||||
status = sumo.search_job_status(sj)
|
||||
while status['state'] != 'DONE GATHERING RESULTS':
|
||||
if status['state'] == 'CANCELLED':
|
||||
break
|
||||
time.sleep(delay)
|
||||
status = sumo.search_job_status(sj)
|
||||
|
||||
except Exception as e:
|
||||
if args.debug:
|
||||
traceback.print_exc()
|
||||
logger.exception("error seaching sumo " + str(file) + "----" + str(e))
|
||||
with open(os.path.join(args.outdir, "sigma-" + file_basename + '-error.txt'), "w") as f:
|
||||
f.write(json.dumps(r, indent=4, sort_keys=True) + " ERROR: %s\n\nQUERY: %s" % (e, sumo_query))
|
||||
pass
|
||||
|
||||
logger.info("Sumo search job status: %s" % status['state'])
|
||||
|
||||
try:
|
||||
if status['state'] == 'DONE GATHERING RESULTS':
|
||||
count = status['recordCount']
|
||||
limit = count if count < LIMIT and count != 0 else LIMIT # compensate bad limit check
|
||||
r = sumo.search_job_records(sj, limit=limit)
|
||||
logger.info("Sumo search results: %s" % r)
|
||||
|
||||
logger.info("Saving final sumo query for %s to %s" % (file, os.path.join(args.outdir, "sigma-" + file_basename + '.sumo')))
|
||||
with open(os.path.join(args.outdir, "sigma-" + file_basename + '.sumo'), "w") as f:
|
||||
f.write(sumo_query)
|
||||
if r and r['records'] != []:
|
||||
logger.info("Saving results")
|
||||
# as json text file
|
||||
with open(os.path.join(args.outdir, "sigma-" + file_basename + '.txt'), "w") as f:
|
||||
f.write(json.dumps(r, indent=4, sort_keys=True))
|
||||
# as excel file
|
||||
df = pandas.io.json.json_normalize(r['records'])
|
||||
with pandas.ExcelWriter(os.path.join(args.outdir, "sigma-" + file_basename + ".xlsx")) as writer:
|
||||
df.to_excel(writer, 'data')
|
||||
pandas.DataFrame({'References': [
|
||||
"timeframe: from %s to %s" % (fromTime, toTime),
|
||||
"Sumo endpoint: %s" % args.endpoint,
|
||||
"Sumo query: %s" % sumo_query
|
||||
]}).to_excel(writer, 'comments')
|
||||
|
||||
# and do whatever you want, email alert, report, ticket...
|
||||
|
||||
except Exception as e:
|
||||
if args.debug:
|
||||
traceback.print_exc()
|
||||
logger.exception("error saving results " + str(file) + "----" + str(e))
|
||||
pass
|
||||
@@ -0,0 +1,2653 @@
|
||||
{
|
||||
"name": "SIGMA Rule Coverage",
|
||||
"version": "2.1",
|
||||
"domain": "mitre-enterprise",
|
||||
"description": "Accurate to commit #: 81693d81b6823bb5f064919453eac70c1d097d3e\nhttps://github.com/Neo23x0/sigma/commit/81693d81b6823bb5f064919453eac70c1d097d3e",
|
||||
"filters": {
|
||||
"stages": [
|
||||
"act"
|
||||
],
|
||||
"platforms": [
|
||||
"windows",
|
||||
"linux",
|
||||
"mac"
|
||||
]
|
||||
},
|
||||
"sorting": 0,
|
||||
"viewMode": 0,
|
||||
"hideDisabled": false,
|
||||
"techniques": [
|
||||
{
|
||||
"techniqueID": "T1156",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1134",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1134",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1015",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_stickykey_like_backdoor.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1015",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_stickykey_like_backdoor.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1087",
|
||||
"tactic": "discovery",
|
||||
"score": 5,
|
||||
"color": "",
|
||||
"comment": "win_account_discovery.yml\nwin_alert_hacktool_use.yml\nwin_susp_net_recon_activity.yml\nwin_susp_commands_recon_activity.yml\nwin_susp_recon_activity.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1098",
|
||||
"tactic": "credential-access",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "apt_judgement_panda_gtr19.yml\nwin_alert_ad_user_backdoors.yml\nwin_susp_dsrm_password_change.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1098",
|
||||
"tactic": "persistence",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "apt_judgement_panda_gtr19.yml\nwin_alert_ad_user_backdoors.yml\nwin_susp_dsrm_password_change.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1182",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1182",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1103",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1103",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1155",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1155",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1017",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1138",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_sdbinst_shim_persistence.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1138",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_sdbinst_shim_persistence.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1010",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1123",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1131",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1119",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1020",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1197",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_process_creation_bitsadmin_download.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1197",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_process_creation_bitsadmin_download.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1139",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1009",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1067",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_bcdedit.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1217",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1176",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1110",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1088",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "win_cmstp_com_object_access.yml\nsysmon_uac_bypass_eventvwr.yml\nsysmon_uac_bypass_sdclt.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1088",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "win_cmstp_com_object_access.yml\nsysmon_uac_bypass_eventvwr.yml\nsysmon_uac_bypass_sdclt.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1191",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_cmstp_com_object_access.yml\nsysmon_cmstp_execution.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1191",
|
||||
"tactic": "execution",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_cmstp_com_object_access.yml\nsysmon_cmstp_execution.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1042",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1146",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "lnx_shell_clear_cmd_history.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1115",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1116",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1059",
|
||||
"tactic": "execution",
|
||||
"score": 12,
|
||||
"color": "",
|
||||
"comment": "apt_babyshark.yml\napt_equationgroup_dll_u_load.yml\napt_equationgroup_lnx.yml\napt_sofacy.yml\napt_sofacy_zebrocy.yml\napt_turla_commands.yml\napt_zxshell.yml\ncrime_fireball.yml\nwin_alert_hacktool_use.yml\nwin_office_shell.yml\nwin_susp_cmd_http_appdata.yml\nwin_susp_outlook.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1043",
|
||||
"tactic": "command-and-control",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_malware_backconnect_ports.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1092",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1223",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1223",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1109",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1109",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1122",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1122",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1090",
|
||||
"tactic": "command-and-control",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_netsh_fw_add.yml\nwin_netsh_port_fwd.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1196",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1196",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1136",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1003",
|
||||
"tactic": "credential-access",
|
||||
"score": 23,
|
||||
"color": "",
|
||||
"comment": "apt_bear_activity_gtr19.yml\nwin_alert_lsass_access.yml\nwin_alert_mimikatz_keywords.yml\nwin_dcsync.yml\nwin_impacket_secretdump.yml\nwin_mal_creddumper.yml\nwin_mal_wceaux_dll.yml\nwin_susp_lsass_dump.yml\nwin_susp_sam_dump.yml\nav_password_dumper.yml\nwin_cmdkey_recon.yml\nwin_hack_rubeus.yml\nwin_malware_notpetya.yml\nwin_susp_ntdsutil.yml\nwin_susp_procdump.yml\nwin_susp_sysvol_access.yml\nwin_susp_vssadmin_ntds_activity.yml\nsysmon_ghostpack_safetykatz.yml\nsysmon_lsass_memdump.yml\nsysmon_mimikatz_detection_lsass.yml\nsysmon_mimikatz_inmemory_detection.yml\nsysmon_password_dumper_lsass.yml\nsysmon_quarkspw_filedump.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1081",
|
||||
"tactic": "credential-access",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_bear_activity_gtr19.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1214",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1094",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1024",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1207",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1038",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1038",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1038",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1073",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 9,
|
||||
"color": "",
|
||||
"comment": "win_susp_dhcp_config.yml\nwin_susp_dhcp_config_failed.yml\nwin_susp_dns_config.yml\nwin_plugx_susp_exe_locations.yml\nwin_susp_control_dll_load.yml\nwin_susp_gup.yml\nsysmon_dhcp_calloutdll.yml\nsysmon_dns_serverlevelplugindll.yml\nsysmon_susp_image_load.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1002",
|
||||
"tactic": "exfiltration",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_judgement_panda_gtr19.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1132",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1022",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1001",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1074",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1030",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1213",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1005",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1039",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1025",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1140",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "win_susp_mshta_execution.yml\nwin_susp_certutil_command.yml\nwin_susp_cli_escape.yml\nwin_susp_ping_hex_ip.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1089",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_alert_enable_weak_encryption.yml\nwin_susp_msmpeng_crash.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1175",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_mmc_source.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1172",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1189",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1157",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1157",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1173",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1114",
|
||||
"tactic": "collection",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_alert_hacktool_use.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1106",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1129",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1048",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1041",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1011",
|
||||
"tactic": "exfiltration",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_ssp_added_lsa_config.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1052",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1190",
|
||||
"tactic": "initial-access",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "web_cve_2018_2894_weblogic_exploit.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1203",
|
||||
"tactic": "execution",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "av_exploiting.yml\nwin_exploit_cve_2017_8759.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1212",
|
||||
"tactic": "credential-access",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "win_net_ntlm_downgrade.yml\nwin_susp_kerberos_manipulation.yml\nwin_susp_samr_pwset.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1211",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_susp_msmpeng_crash.yml\nwin_exploit_cve_2017_11882.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1068",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_hurricane_panda.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1210",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1133",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1181",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1181",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1008",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1107",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_susp_backup_delete.yml\nwin_susp_sdelete.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1222",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1006",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1044",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1044",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1083",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_turla_commands.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1187",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1144",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1061",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1148",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1200",
|
||||
"tactic": "initial-access",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_usb_device_plugged.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1158",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_attrib_hiding_files.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1158",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_attrib_hiding_files.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1147",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1143",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1179",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1179",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1179",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1062",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1183",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_win_reg_persistence.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1183",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_win_reg_persistence.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1183",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_win_reg_persistence.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1054",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_disable_event_logging.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1066",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_sdelete.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1070",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "win_susp_eventlog_cleared.yml\nwin_susp_security_eventlog_cleared.yml\nwin_malware_notpetya.yml\nwin_susp_bcdedit.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1202",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_office_shell.yml\nwin_susp_outlook.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1056",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1056",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1141",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1130",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1118",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1118",
|
||||
"tactic": "execution",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1208",
|
||||
"tactic": "credential-access",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_susp_rc4_kerberos.yml\nwin_spn_enum.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1215",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1142",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1161",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1149",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1171",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1177",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1177",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1159",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1160",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1160",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1152",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1152",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1152",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1168",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1168",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1162",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1037",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_logon_scripts_userinitmprlogonscript.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1037",
|
||||
"tactic": "persistence",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "sysmon_logon_scripts_userinitmprlogonscript.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1185",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1036",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 14,
|
||||
"color": "",
|
||||
"comment": "apt_ta17_293a_ps.yml\nwin_exploit_cve_2015_1641.yml\nwin_powershell_b64_shellcode.yml\nwin_susp_calc.yml\nwin_susp_csc.yml\nwin_susp_execution_path.yml\nwin_susp_exec_folder.yml\nwin_susp_procdump.yml\nwin_susp_prog_location_process_starts.yml\nwin_susp_run_locations.yml\nwin_susp_svchost.yml\nwin_susp_taskmgr_localsystem.yml\nwin_susp_taskmgr_parent.yml\nwin_system_exe_anomaly.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1031",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1112",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "apt_chafer_mar18.yml\nwin_mal_ursnif.yml\nsysmon_dhcp_calloutdll.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1170",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "apt_babyshark.yml\nwin_lethalhta.yml\nwin_mshta_spawn_shell.yml\nwin_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1170",
|
||||
"tactic": "execution",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "apt_babyshark.yml\nwin_lethalhta.yml\nwin_mshta_spawn_shell.yml\nwin_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1104",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1188",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1026",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1079",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1096",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "powershell_ntfs_ads_access.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1128",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1046",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_vul_java_remote_debugging.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1126",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1135",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_turla_commands.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1040",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1040",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1050",
|
||||
"tactic": "persistence",
|
||||
"score": 7,
|
||||
"color": "",
|
||||
"comment": "apt_apt29_tor.yml\napt_carbonpaper_turla.yml\napt_stonedrill.yml\napt_turla_service_png.yml\nwin_mal_service_installs.yml\nwin_rare_service_installs.yml\nsysmon_susp_driver_load.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1050",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 7,
|
||||
"color": "",
|
||||
"comment": "apt_apt29_tor.yml\napt_carbonpaper_turla.yml\napt_stonedrill.yml\napt_turla_service_png.yml\nwin_mal_service_installs.yml\nwin_rare_service_installs.yml\nsysmon_susp_driver_load.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1027",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_susp_ping_hex_ip.yml\nsysmon_ads_executable.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1137",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1075",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "win_alert_hacktool_use.yml\nwin_overpass_the_hash.yml\nwin_pass_the_hash.yml\nwin_susp_ntlm_auth.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1097",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1174",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1201",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1034",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1034",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1120",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1069",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_net_recon_activity.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1150",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1150",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1150",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1205",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1205",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1205",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1013",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1013",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1086",
|
||||
"tactic": "execution",
|
||||
"score": 28,
|
||||
"color": "",
|
||||
"comment": "apt_apt29_thinktanks.yml\napt_babyshark.yml\napt_empiremonkey.yml\npowershell_downgrade_attack.yml\npowershell_exe_calling_ps.yml\npowershell_malicious_commandlets.yml\npowershell_malicious_keywords.yml\npowershell_prompt_credentials.yml\npowershell_psattack.yml\npowershell_shellcode_b64.yml\npowershell_suspicious_download.yml\npowershell_suspicious_invocation_generic.yml\npowershell_suspicious_invocation_specific.yml\npowershell_suspicious_keywords.yml\npowershell_xor_commandline.yml\nwin_powershell_amsi_bypass.yml\nwin_powershell_dll_execution.yml\nwin_powershell_download.yml\nwin_powershell_renamed_ps.yml\nwin_powershell_suspicious_parameter_variation.yml\nwin_susp_powershell_enc_cmd.yml\nwin_susp_powershell_hidden_b64_cmd.yml\nwin_susp_powershell_parent_combo.yml\nwin_susp_ps_appdata.yml\nsysmon_powershell_exploit_scripts.yml\nsysmon_powershell_network_connection.yml\nsysmon_powersploit_schtasks.yml\nsysmon_susp_powershell_rundll32.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1145",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1057",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1186",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1093",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1055",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 8,
|
||||
"color": "",
|
||||
"comment": "powershell_shellcode_b64.yml\nwin_exploit_cve_2017_0261.yml\nwin_malware_dridex.yml\nwin_mavinject_proc_inj.yml\nsysmon_cactustorch.yml\nsysmon_cobaltstrike_process_injection.yml\nsysmon_malware_verclsid_shellcode.yml\nsysmon_mal_namedpipes.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1055",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 8,
|
||||
"color": "",
|
||||
"comment": "powershell_shellcode_b64.yml\nwin_exploit_cve_2017_0261.yml\nwin_malware_dridex.yml\nwin_mavinject_proc_inj.yml\nsysmon_cactustorch.yml\nsysmon_cobaltstrike_process_injection.yml\nsysmon_malware_verclsid_shellcode.yml\nsysmon_mal_namedpipes.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1012",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "apt_babyshark.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1163",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1164",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1108",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1108",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1060",
|
||||
"tactic": "persistence",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "sysmon_susp_reg_persist_explorer_run.yml\nsysmon_susp_run_key_img_folder.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1121",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1121",
|
||||
"tactic": "execution",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1117",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_regsvr32_anomalies.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1117",
|
||||
"tactic": "execution",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_regsvr32_anomalies.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1219",
|
||||
"tactic": "command-and-control",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "av_exploiting.yml\nwin_susp_tscon_localsystem.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1076",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "win_rdp_localhost_login.yml\nwin_rdp_reverse_tunnel.yml\nwin_susp_tscon_rdp_redirect.yml\nsysmon_rdp_reverse_tunnel.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1105",
|
||||
"tactic": "command-and-control",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "apt_pandemic.yml\nwin_susp_certutil_command.yml\nsysmon_win_binary_github_com.yml\nsysmon_win_binary_susp_com.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1105",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "apt_pandemic.yml\nwin_susp_certutil_command.yml\nsysmon_win_binary_github_com.yml\nsysmon_win_binary_susp_com.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1021",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_netsh_port_fwd_3389.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1018",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1091",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1091",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1014",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1085",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 11,
|
||||
"color": "",
|
||||
"comment": "apt_equationgroup_dll_u_load.yml\napt_sofacy.yml\napt_tropictrooper.yml\napt_unidentified_nov_18.yml\napt_zxshell.yml\ncrime_fireball.yml\nwin_malware_notpetya.yml\nwin_susp_control_dll_load.yml\nwin_susp_rundll32_activity.yml\nsysmon_rundll32_net_connections.yml\nsysmon_susp_powershell_rundll32.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1085",
|
||||
"tactic": "execution",
|
||||
"score": 11,
|
||||
"color": "",
|
||||
"comment": "apt_equationgroup_dll_u_load.yml\napt_sofacy.yml\napt_tropictrooper.yml\napt_unidentified_nov_18.yml\napt_zxshell.yml\ncrime_fireball.yml\nwin_malware_notpetya.yml\nwin_susp_control_dll_load.yml\nwin_susp_rundll32_activity.yml\nsysmon_rundll32_net_connections.yml\nsysmon_susp_powershell_rundll32.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1178",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_add_sid_history.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1198",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1198",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1184",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1053",
|
||||
"tactic": "execution",
|
||||
"score": 8,
|
||||
"color": "",
|
||||
"comment": "apt_chafer_mar18.yml\napt_slingshot.yml\nwin_atsvc_task.yml\nwin_GPO_scheduledtasks.yml\nwin_rare_schtasks_creations.yml\nwin_rare_schtask_creation.yml\nwin_susp_schtask_creation.yml\nsysmon_powersploit_schtasks.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1053",
|
||||
"tactic": "persistence",
|
||||
"score": 8,
|
||||
"color": "",
|
||||
"comment": "apt_chafer_mar18.yml\napt_slingshot.yml\nwin_atsvc_task.yml\nwin_GPO_scheduledtasks.yml\nwin_rare_schtasks_creations.yml\nwin_rare_schtask_creation.yml\nwin_susp_schtask_creation.yml\nsysmon_powersploit_schtasks.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1053",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 8,
|
||||
"color": "",
|
||||
"comment": "apt_chafer_mar18.yml\napt_slingshot.yml\nwin_atsvc_task.yml\nwin_GPO_scheduledtasks.yml\nwin_rare_schtasks_creations.yml\nwin_rare_schtask_creation.yml\nwin_susp_schtask_creation.yml\nsysmon_powersploit_schtasks.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1029",
|
||||
"tactic": "exfiltration",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1113",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1180",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1064",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 10,
|
||||
"color": "",
|
||||
"comment": "apt_cloudhopper.yml\nwin_malware_script_dropper.yml\nwin_mal_adwind.yml\nwin_mal_lockergoga.yml\nwin_shell_spawn_susp_program.yml\nwin_susp_rasdial_activity.yml\nwin_susp_script_execution.yml\nwin_wmi_spwns_powershell.yml\nsysmon_cactustorch.yml\nsysmon_susp_file_characteristics.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1064",
|
||||
"tactic": "execution",
|
||||
"score": 10,
|
||||
"color": "",
|
||||
"comment": "apt_cloudhopper.yml\nwin_malware_script_dropper.yml\nwin_mal_adwind.yml\nwin_mal_lockergoga.yml\nwin_shell_spawn_susp_program.yml\nwin_susp_rasdial_activity.yml\nwin_susp_script_execution.yml\nwin_wmi_spwns_powershell.yml\nsysmon_cactustorch.yml\nsysmon_susp_file_characteristics.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1063",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1101",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1167",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1035",
|
||||
"tactic": "execution",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "win_hack_smbexec.yml\nwin_tool_psexec.yml\nwin_psexesvc_start.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1058",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1058",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1166",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1166",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1051",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1023",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1218",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_mavinject_proc_inj.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1218",
|
||||
"tactic": "execution",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_mavinject_proc_inj.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1216",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1216",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1045",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1153",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1151",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1151",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1193",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1192",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1194",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1071",
|
||||
"tactic": "command-and-control",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "net_susp_dns_txt_exec_strings.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1032",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1095",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1165",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1165",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1169",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1206",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1195",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1019",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1082",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_commands_recon_activity.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1016",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1049",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1033",
|
||||
"tactic": "discovery",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_whoami.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1007",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1124",
|
||||
"tactic": "discovery",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1080",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1221",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1072",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1072",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1209",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1099",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 1,
|
||||
"color": "",
|
||||
"comment": "win_susp_time_modification.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1154",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1154",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1127",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml\nwin_workflow_compiler.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1127",
|
||||
"tactic": "execution",
|
||||
"score": 2,
|
||||
"color": "",
|
||||
"comment": "win_possible_applocker_bypass.yml\nwin_workflow_compiler.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1199",
|
||||
"tactic": "initial-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1111",
|
||||
"tactic": "credential-access",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1065",
|
||||
"tactic": "command-and-control",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1204",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1078",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "win_admin_rdp_login.yml\nwin_alert_active_directory_user_control.yml\nwin_susp_failed_logons_single_source.yml\nwin_susp_failed_logon_reasons.yml\nwin_susp_interactive_logons.yml\nwin_user_added_to_local_administrators.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1078",
|
||||
"tactic": "persistence",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "win_admin_rdp_login.yml\nwin_alert_active_directory_user_control.yml\nwin_susp_failed_logons_single_source.yml\nwin_susp_failed_logon_reasons.yml\nwin_susp_interactive_logons.yml\nwin_user_added_to_local_administrators.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1078",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "win_admin_rdp_login.yml\nwin_alert_active_directory_user_control.yml\nwin_susp_failed_logons_single_source.yml\nwin_susp_failed_logon_reasons.yml\nwin_susp_interactive_logons.yml\nwin_user_added_to_local_administrators.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1078",
|
||||
"tactic": "initial-access",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "win_admin_rdp_login.yml\nwin_alert_active_directory_user_control.yml\nwin_susp_failed_logons_single_source.yml\nwin_susp_failed_logon_reasons.yml\nwin_susp_interactive_logons.yml\nwin_user_added_to_local_administrators.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1125",
|
||||
"tactic": "collection",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1102",
|
||||
"tactic": "command-and-control",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "proxy_cobalt_amazon.yml\nproxy_cobalt_ocsp.yml\nproxy_cobalt_onedrive.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1102",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "proxy_cobalt_amazon.yml\nproxy_cobalt_ocsp.yml\nproxy_cobalt_onedrive.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1100",
|
||||
"tactic": "persistence",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "web_cve_2018_2894_weblogic_exploit.yml\nav_webshell.yml\nwin_susp_execution_path_webserver.yml\nwin_susp_iss_module_install.yml\nwin_webshell_detection.yml\nwin_webshell_spawn.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1100",
|
||||
"tactic": "privilege-escalation",
|
||||
"score": 6,
|
||||
"color": "",
|
||||
"comment": "web_cve_2018_2894_weblogic_exploit.yml\nav_webshell.yml\nwin_susp_execution_path_webserver.yml\nwin_susp_iss_module_install.yml\nwin_webshell_detection.yml\nwin_webshell_spawn.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1077",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 5,
|
||||
"color": "",
|
||||
"comment": "apt_turla_commands.yml\nwin_admin_share_access.yml\nwin_hack_smbexec.yml\nwin_lm_namedpipe.yml\nwin_susp_psexec.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1047",
|
||||
"tactic": "execution",
|
||||
"score": 4,
|
||||
"color": "",
|
||||
"comment": "win_wmi_persistence.yml\nwin_bypass_squiblytwo.yml\nwin_susp_wmi_execution.yml\nwin_wmi_persistence_script_event_consumer.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1084",
|
||||
"tactic": "persistence",
|
||||
"score": 3,
|
||||
"color": "",
|
||||
"comment": "sysmon_wmi_event_subscription.yml\nsysmon_wmi_persistence_commandline_event_consumer.yml\nsysmon_wmi_persistence_script_event_consumer_write.yml",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1028",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1028",
|
||||
"tactic": "lateral-movement",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1004",
|
||||
"tactic": "persistence",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1220",
|
||||
"tactic": "defense-evasion",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
},
|
||||
{
|
||||
"techniqueID": "T1220",
|
||||
"tactic": "execution",
|
||||
"score": 0,
|
||||
"color": "",
|
||||
"comment": "",
|
||||
"enabled": true,
|
||||
"metadata": []
|
||||
}
|
||||
],
|
||||
"gradient": {
|
||||
"colors": [
|
||||
"#ffffff",
|
||||
"#66b1ff"
|
||||
],
|
||||
"minValue": 0,
|
||||
"maxValue": 2
|
||||
},
|
||||
"legendItems": [],
|
||||
"metadata": [],
|
||||
"showTacticRowBackground": false,
|
||||
"tacticRowBackground": "#dddddd",
|
||||
"selectTechniquesAcrossTactics": true
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 373 KiB |
@@ -1,32 +1,20 @@
|
||||
---
|
||||
action: global
|
||||
title: APT29
|
||||
description: 'This method detects a suspicious powershell command line combination as used by APT29 in a campaign against US think tanks'
|
||||
references:
|
||||
- https://cloudblogs.microsoft.com/microsoftsecure/2018/12/03/analysis-of-cyberattack-on-u-s-think-tanks-non-profits-public-sector-by-unidentified-attackers/
|
||||
logsource:
|
||||
product: windows
|
||||
tags:
|
||||
- attack.execution
|
||||
- attack.g0016
|
||||
- attack.t1086
|
||||
author: Florian Roth
|
||||
date: 2018/12/04
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection:
|
||||
CommandLine: '*-noni -ep bypass $*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: '*-noni -ep bypass $*'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '*-noni -ep bypass $*'
|
||||
|
||||
@@ -5,33 +5,28 @@ description: 'This method detects malicious services mentioned in APT29 report b
|
||||
references:
|
||||
- https://www.fireeye.com/blog/threat-research/2017/03/apt29_domain_frontin.html
|
||||
tags:
|
||||
- attack.command_and_control
|
||||
- attack.persistence
|
||||
- attack.g0016
|
||||
- attack.t1172
|
||||
- attack.t1050
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
detection:
|
||||
service:
|
||||
service_install:
|
||||
EventID: 7045
|
||||
ServiceName: 'Google Update'
|
||||
timeframe: 5m
|
||||
condition: service | near process
|
||||
condition: service_install | near process
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
process:
|
||||
EventID: 4688
|
||||
NewProcessName:
|
||||
- 'C:\Program Files(x86)\Google\GoogleService.exe'
|
||||
- 'C:\Program Files(x86)\Google\GoogleUpdate.exe'
|
||||
---
|
||||
# Sysmon
|
||||
detection:
|
||||
process:
|
||||
EventID: 1
|
||||
Image:
|
||||
- 'C:\Program Files(x86)\Google\GoogleService.exe'
|
||||
- 'C:\Program Files(x86)\Google\GoogleUpdate.exe'
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
title: Baby Shark Activity
|
||||
status: experimental
|
||||
description: Detects activity that could be related to Baby Shark malware
|
||||
references:
|
||||
- https://unit42.paloaltonetworks.com/new-babyshark-malware-targets-u-s-national-security-think-tanks/
|
||||
tags:
|
||||
- attack.execution
|
||||
- attack.t1059
|
||||
- attack.t1086
|
||||
- attack.discovery
|
||||
- attack.t1012
|
||||
- attack.defense_evasion
|
||||
- attack.t1170
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
author: Florian Roth
|
||||
date: 2019/02/24
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
- reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default"
|
||||
- powershell.exe mshta.exe http*
|
||||
- cmd.exe /c taskkill /im cmd.exe
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: high
|
||||
@@ -0,0 +1,24 @@
|
||||
title: Judgement Panda Exfil Activity
|
||||
description: Detects Russian group activity as described in Global Threat Report 2019 by Crowdstrike
|
||||
references:
|
||||
- https://www.crowdstrike.com/resources/reports/2019-crowdstrike-global-threat-report/
|
||||
author: Florian Roth
|
||||
date: 2019/02/21
|
||||
tags:
|
||||
- attack.credential_access
|
||||
- attack.t1081
|
||||
- attack.t1003
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection1:
|
||||
Image: '*\xcopy.exe'
|
||||
CommandLine: '* /S /E /C /Q /H \\*'
|
||||
selection2:
|
||||
Image: '*\adexplorer.exe'
|
||||
CommandLine: '* -snapshot "" c:\users\\*'
|
||||
condition: selection1 or selection2
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: critical
|
||||
@@ -3,7 +3,7 @@ description: 'This method detects a service install of malicious services mentio
|
||||
references:
|
||||
- https://www.welivesecurity.com/2017/03/30/carbon-paper-peering-turlas-second-stage-backdoor/
|
||||
tags:
|
||||
- attack.command_and_control
|
||||
- attack.persistence
|
||||
- attack.g0010
|
||||
- attack.t1050
|
||||
logsource:
|
||||
|
||||
@@ -5,8 +5,14 @@ description: Detects Chafer activity attributed to OilRig as reported in Nyotron
|
||||
references:
|
||||
- https://nyotron.com/nyotron-discovers-next-generation-oilrig-attacks/
|
||||
tags:
|
||||
- attack.persistence
|
||||
- attack.g0049
|
||||
- attack.t1053
|
||||
- attack.s0111
|
||||
- attack.defense_evasion
|
||||
- attack.t1112
|
||||
date: 2018/03/23
|
||||
modified: 2019/03/01
|
||||
author: Florian Roth, Markus Neis
|
||||
detection:
|
||||
condition: 1 of them
|
||||
@@ -24,6 +30,16 @@ detection:
|
||||
- 'SC Scheduled Scan'
|
||||
- 'UpdatMachine'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection_service:
|
||||
EventID: 4698
|
||||
TaskName:
|
||||
- 'SC Scheduled Scan'
|
||||
- 'UpdatMachine'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
@@ -39,17 +55,19 @@ detection:
|
||||
TargetObject: '*\Control\SecurityProviders\WDigest\UseLogonCredential'
|
||||
EventType: 'SetValue'
|
||||
Details: 'DWORD (0x00000001)'
|
||||
---
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection_process1:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- '*\Service.exe i'
|
||||
- '*\Service.exe u'
|
||||
- '*\microsoft\Taskbar\autoit3.exe'
|
||||
- 'C:\wsc.exe*'
|
||||
selection_process2:
|
||||
EventID: 1
|
||||
Image: '*\Windows\Temp\DB\*.exe'
|
||||
Image: '*\Windows\Temp\DB\\*.exe'
|
||||
selection_process3:
|
||||
EventID: 1
|
||||
CommandLine: '*\nslookup.exe -q=TXT*'
|
||||
ParentImage: '*\Autoit*'
|
||||
ParentImage: '*\Autoit*'
|
||||
|
||||
@@ -8,11 +8,10 @@ tags:
|
||||
- attack.g0045
|
||||
- attack.t1064
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
Image: '*\cscript.exe'
|
||||
CommandLine: '*.vbs /shell *'
|
||||
condition: selection
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
---
|
||||
action: global
|
||||
title: CrackMapExecWin
|
||||
description: Detects CrackMapExecWin Activity as Described by NCSC
|
||||
status: experimental
|
||||
@@ -8,31 +6,14 @@ references:
|
||||
tags:
|
||||
- attack.g0035
|
||||
author: Markus Neis
|
||||
detection:
|
||||
condition: 1 of them
|
||||
falsepositives:
|
||||
- None
|
||||
level: critical
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection1:
|
||||
# Does not require group policy 'Audit Process Creation' > Include command line in process creation events
|
||||
EventID: 4688
|
||||
NewProcessName:
|
||||
- '*\crackmapexec.exe'
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
# Does not require group policy 'Audit Process Creation' > Include command line in process creation events
|
||||
EventID: 1
|
||||
selection:
|
||||
Image:
|
||||
- '*\crackmapexec.exe'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- None
|
||||
level: critical
|
||||
@@ -10,15 +10,13 @@ tags:
|
||||
author: Florian Roth
|
||||
date: 2018/01/31
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 1
|
||||
Image: 'C:\Windows\SysWOW64\cmd.exe'
|
||||
CommandLine: '*\Windows\Caches\NavShExt.dll *'
|
||||
selection2:
|
||||
EventID: 1
|
||||
CommandLine: '*\AppData\Roaming\MICROS~1\Windows\Caches\NavShExt.dll,Setting'
|
||||
condition: 1 of them
|
||||
falsepositives:
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
action: global
|
||||
title: Empire Monkey
|
||||
description: Detects EmpireMonkey APT reported Activity
|
||||
references:
|
||||
- https://app.any.run/tasks/a4107649-8cb0-41af-ad75-113152d4d57b
|
||||
tags:
|
||||
- attack.t1086
|
||||
- attack.execution
|
||||
date: 2019/04/02
|
||||
author: Markus Neis
|
||||
detection:
|
||||
condition: 1 of them
|
||||
falsepositives:
|
||||
- Very Unlikely
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection_cutil:
|
||||
CommandLine:
|
||||
- '*/i:%APPDATA%\logs.txt scrobj.dll'
|
||||
Image:
|
||||
- '*\cutil.exe'
|
||||
selection_regsvr32:
|
||||
CommandLine:
|
||||
- '*/i:%APPDATA%\logs.txt scrobj.dll'
|
||||
Description:
|
||||
- Microsoft(C) Registerserver
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Equation Group DLL_U Load
|
||||
author: Florian Roth
|
||||
description: Detects a specific tool and export used by EquationGroup
|
||||
references:
|
||||
- https://github.com/adamcaudill/EquationGroupLeak/search?utf8=%E2%9C%93&q=dll_u&type=
|
||||
@@ -10,36 +9,18 @@ tags:
|
||||
- attack.execution
|
||||
- attack.g0020
|
||||
- attack.t1059
|
||||
author: Florian Roth
|
||||
date: 2018/03/10
|
||||
modified: 2018/12/11
|
||||
- attack.defense_evasion
|
||||
- attack.t1085
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection1:
|
||||
Image: '*\rundll32.exe'
|
||||
CommandLine: '*,dll_u'
|
||||
selection2:
|
||||
CommandLine: '* -export dll_u *'
|
||||
condition: 1 of them
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 1
|
||||
Image: '*\rundll32.exe'
|
||||
CommandLine: '*,dll_u'
|
||||
selection2:
|
||||
EventID: 1
|
||||
CommandLine: '* -export dll_u *'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 4688
|
||||
Image: '*\rundll32.exe'
|
||||
ProcessCommandLine: '*,dll_u'
|
||||
selection2:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '* -export dll_u *'
|
||||
@@ -68,7 +68,6 @@ detection:
|
||||
- 'chmod 755 /usr/vmsys/bin/pipe'
|
||||
- 'chmod -R 755 /usr/vmsys'
|
||||
- 'chmod 755 $opbin/*tunnel'
|
||||
- '< /dev/console | uudecode && uncompress'
|
||||
- 'chmod 700 sendmail'
|
||||
- 'chmod 0700 sendmail'
|
||||
- '/usr/bin/wget http*sendmail;chmod +x sendmail;'
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Hurricane Panda Activity
|
||||
author: Florian Roth
|
||||
status: experimental
|
||||
description: Detects Hurricane Panda Activity
|
||||
references:
|
||||
@@ -9,34 +8,16 @@ tags:
|
||||
- attack.privilege_escalation
|
||||
- attack.g0009
|
||||
- attack.t1068
|
||||
author: Florian Roth
|
||||
date: 2018/02/25
|
||||
modified: 2018/12/11
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
- '* localgroup administrators admin /add'
|
||||
- '*\Win64.exe*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- '* localgroup administrators admin /add'
|
||||
- '*\Win64.exe*'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- '* localgroup administrators admin /add'
|
||||
- '*\Win64.exe*'
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
title: Judgement Panda Exfil Activity
|
||||
description: Detects Judgement Panda activity as described in Global Threat Report 2019 by Crowdstrike
|
||||
references:
|
||||
- https://www.crowdstrike.com/resources/reports/2019-crowdstrike-global-threat-report/
|
||||
author: Florian Roth
|
||||
date: 2019/02/21
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.g0010
|
||||
- attack.credential_access
|
||||
- attack.t1098
|
||||
- attack.exfiltration
|
||||
- attack.t1002
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection1:
|
||||
CommandLine:
|
||||
- '*\ldifde.exe -f -n *'
|
||||
- '*\7za.exe a 1.7z *'
|
||||
- '* eprod.ldf'
|
||||
- '*\aaaa\procdump64.exe*'
|
||||
- '*\aaaa\netsess.exe*'
|
||||
- '*\aaaa\7za.exe*'
|
||||
- '*copy .\1.7z \\*'
|
||||
- '*copy \\client\c$\aaaa\*'
|
||||
selection2:
|
||||
Image: C:\Users\Public\7za.exe
|
||||
condition: selection1 or selection2
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: critical
|
||||
@@ -0,0 +1,27 @@
|
||||
title: OceanLotus Registry Activity
|
||||
status: experimental
|
||||
description: Detects registry keys created in OceanLotus (also known as APT32) attacks
|
||||
references:
|
||||
- https://www.welivesecurity.com/2019/03/20/fake-or-fake-keeping-up-with-oceanlotus-decoys/
|
||||
tags:
|
||||
- attack.t1112
|
||||
author: megan201296
|
||||
date: 2019/04/14
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 13
|
||||
TargetObject:
|
||||
- '*\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model'
|
||||
- '*\SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\Application'
|
||||
- '*\SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\DefaultIcon'
|
||||
- '*\SOFTWARE\App\AppX70162486c7554f7f80f481985d67586d\Application'
|
||||
- '*\SOFTWARE\App\AppX70162486c7554f7f80f481985d67586d\DefaultIcon'
|
||||
- '*\SOFTWARE\App\AppX37cc7fdccd644b4f85f4b22d5a3f105a\Application'
|
||||
- '*\SOFTWARE\App\AppX37cc7fdccd644b4f85f4b22d5a3f105a\DefaultIcon'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
+20
-12
@@ -1,3 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Pandemic Registry Key
|
||||
status: experimental
|
||||
description: Detects Pandemic Windows Implant
|
||||
@@ -8,19 +10,7 @@ tags:
|
||||
- attack.lateral_movement
|
||||
- attack.t1105
|
||||
author: Florian Roth
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 13
|
||||
TargetObject:
|
||||
- '\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\services\null\Instance*'
|
||||
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\services\null\Instance*'
|
||||
- '\REGISTRY\MACHINE\SYSTEM\ControlSet002\services\null\Instance*'
|
||||
selection2:
|
||||
EventID: 1
|
||||
Command: 'loaddll -a *'
|
||||
condition: 1 of them
|
||||
fields:
|
||||
- EventID
|
||||
@@ -32,4 +22,22 @@ fields:
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 13
|
||||
TargetObject:
|
||||
- '\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\services\null\Instance*'
|
||||
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\services\null\Instance*'
|
||||
- '\REGISTRY\MACHINE\SYSTEM\ControlSet002\services\null\Instance*'
|
||||
---
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection2:
|
||||
Command: 'loaddll -a *'
|
||||
|
||||
|
||||
@@ -1,29 +1,25 @@
|
||||
---
|
||||
action: global
|
||||
title: Defrag Deactivation
|
||||
author: Florian Roth
|
||||
description: Detects the deactivation of the Scheduled defragmentation task as seen by Slingshot APT group
|
||||
references:
|
||||
- https://securelist.com/apt-slingshot/84312/
|
||||
tags:
|
||||
- attack.persistence
|
||||
author: Florian Roth
|
||||
date: 2018/03/10
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Audit Other Object Access Events > Success'
|
||||
- attack.t1053
|
||||
- attack.s0111
|
||||
detection:
|
||||
condition: selection
|
||||
condition: 1 of them
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: medium
|
||||
---
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
selection1:
|
||||
CommandLine:
|
||||
- '*schtasks* /delete *Defrag\ScheduledDefrag*'
|
||||
---
|
||||
@@ -32,6 +28,6 @@ logsource:
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Audit Other Object Access Events > Success'
|
||||
detection:
|
||||
selection:
|
||||
selection2:
|
||||
EventID: 4701
|
||||
TaskName: '\Microsoft\Windows\Defrag\ScheduledDefrag'
|
||||
TaskName: '\Microsoft\Windows\Defrag\ScheduledDefrag'
|
||||
|
||||
+12
-26
@@ -1,6 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Sofacy Trojan Loader Activity
|
||||
author: Florian Roth
|
||||
status: experimental
|
||||
description: Detects Trojan loader acitivty as used by APT28
|
||||
references:
|
||||
@@ -9,32 +8,19 @@ references:
|
||||
- https://twitter.com/ClearskySec/status/960924755355369472
|
||||
tags:
|
||||
- attack.g0007
|
||||
author: Florian Roth
|
||||
date: 2018/03/01
|
||||
modified: 2018/12/11
|
||||
- attack.execution
|
||||
- attack.t1059
|
||||
- attack.defense_evasion
|
||||
- attack.t1085
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
- 'rundll32.exe %APPDATA%\\*.dat",*'
|
||||
- 'rundll32.exe %APPDATA%\\*.dll",#1'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- 'rundll32.exe %APPDATA%\*.dat",*'
|
||||
- 'rundll32.exe %APPDATA%\*.dll",#1'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- 'rundll32.exe %APPDATA%\*.dat",*'
|
||||
- 'rundll32.exe %APPDATA%\*.dll",#1'
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Sofacy Zebrocy
|
||||
author: Florian Roth
|
||||
description: Detects Sofacy's Zebrocy malware execution
|
||||
references:
|
||||
- https://app.any.run/tasks/54acca9a-394e-4384-a0c8-91a96d36c81d
|
||||
@@ -8,27 +7,13 @@ tags:
|
||||
- attack.execution
|
||||
- attack.g0020
|
||||
- attack.t1059
|
||||
author: Florian Roth
|
||||
date: 2018/03/10
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection:
|
||||
CommandLine: '*cmd.exe /c SYSTEMINFO & TASKLIST'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: '*cmd.exe /c SYSTEMINFO & TASKLIST'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '*cmd.exe /c SYSTEMINFO & TASKLIST'
|
||||
|
||||
@@ -9,11 +9,10 @@ tags:
|
||||
author: Florian Roth
|
||||
date: 2017/10/22
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: 'ps.exe -accepteula'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
|
||||
@@ -1,34 +1,17 @@
|
||||
action: global
|
||||
title: TropicTrooper Campaign November 2018
|
||||
author: "@41thexplorer, Windows Defender ATP"
|
||||
status: stable
|
||||
description: Detects TropicTrooper activity, an actor who targeted high-profile organizations in the energy and food and beverage sectors in Asia
|
||||
references:
|
||||
- https://cloudblogs.microsoft.com/microsoftsecure/2018/11/28/windows-defender-atp-device-risk-score-exposes-new-cyberattack-drives-conditional-access-to-protect-networks/
|
||||
author: "@41thexplorer, Windows Defender ATP"
|
||||
date: 2018/11/30
|
||||
modified: 2018/12/11
|
||||
tags:
|
||||
- attack.execution
|
||||
- attack.t1085
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
detection:
|
||||
selection:
|
||||
CommandLine: '*abCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc*'
|
||||
condition: selection
|
||||
level: high
|
||||
---
|
||||
# Windows Security Eventlog: Process Creation with Full Command Line
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '*abCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc*'
|
||||
---
|
||||
# Sysmon: Process Creation (ID 1)
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: '*abCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc*'
|
||||
level: high
|
||||
@@ -6,35 +6,37 @@ description: Detects automated lateral movement by Turla group
|
||||
references:
|
||||
- https://securelist.com/the-epic-turla-operation/65545/
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.g0010
|
||||
- attack.execution
|
||||
- attack.t1059
|
||||
- attack.lateral_movement
|
||||
- attack.t1077
|
||||
- attack.discovery
|
||||
- attack.t1083
|
||||
- attack.t1135
|
||||
author: Markus Neis
|
||||
date: 2017/11/07
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
category: process_creation
|
||||
product: windows
|
||||
falsepositives:
|
||||
- Unknown
|
||||
---
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- 'net use \\%DomainController%\C$ "P@ssw0rd" *'
|
||||
- 'dir c:\*.doc* /s'
|
||||
- 'dir %TEMP%\*.exe'
|
||||
- 'dir c:\\*.doc* /s'
|
||||
- 'dir %TEMP%\\*.exe'
|
||||
condition: selection
|
||||
level: critical
|
||||
---
|
||||
detection:
|
||||
netCommand1:
|
||||
EventID: 1
|
||||
CommandLine: 'net view /DOMAIN'
|
||||
netCommand2:
|
||||
EventID: 1
|
||||
CommandLine: 'net session'
|
||||
netCommand3:
|
||||
EventID: 1
|
||||
CommandLine: 'net share'
|
||||
timeframe: 1m
|
||||
condition: netCommand1 | near netCommand2 and netCommand3
|
||||
|
||||
@@ -5,9 +5,9 @@ references:
|
||||
author: Florian Roth
|
||||
date: 2018/11/23
|
||||
tags:
|
||||
- attack.command_and_control
|
||||
- attack.g0016
|
||||
- attack.t1172
|
||||
- attack.persistence
|
||||
- attack.g0010
|
||||
- attack.t1050
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
---
|
||||
action: global
|
||||
title: Unidentified Attacker November 2018
|
||||
status: stable
|
||||
@@ -11,26 +12,14 @@ tags:
|
||||
- attack.execution
|
||||
- attack.t1085
|
||||
detection:
|
||||
condition: selection
|
||||
condition: 1 of them
|
||||
level: high
|
||||
---
|
||||
# Windows Security Eventlog: Process Creation with Full Command Line
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: security
|
||||
description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '*cyzfc.dat, PointFunctionCall'
|
||||
---
|
||||
# Sysmon: Process Creation (ID 1)
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
selection1:
|
||||
CommandLine: '*cyzfc.dat, PointFunctionCall'
|
||||
---
|
||||
# Sysmon: File Creation (ID 11)
|
||||
@@ -38,7 +27,7 @@ logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
selection2:
|
||||
EventID: 11
|
||||
TargetFilename:
|
||||
- '*ds7002.lnk*'
|
||||
@@ -5,12 +5,15 @@ references:
|
||||
- https://www.hybrid-analysis.com/sample/5d2a4cde9fa7c2fdbf39b2e2ffd23378d0c50701a3095d1e91e3cf922d7b0b16?environmentId=100
|
||||
tags:
|
||||
- attack.g0001
|
||||
- attack.execution
|
||||
- attack.t1059
|
||||
- attack.defense_evasion
|
||||
- attack.t1085
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
Command:
|
||||
- 'rundll32.exe *,zxFunction*'
|
||||
- 'rundll32.exe *,RemoteDiskXXXXX'
|
||||
|
||||
@@ -6,12 +6,16 @@ date: 2017/06/03
|
||||
references:
|
||||
- https://www.virustotal.com/en/file/9b4971349ae85aa09c0a69852ed3e626c954954a3927b3d1b6646f139b930022/analysis/
|
||||
- https://www.hybrid-analysis.com/sample/9b4971349ae85aa09c0a69852ed3e626c954954a3927b3d1b6646f139b930022?environmentId=100
|
||||
tags:
|
||||
- attack.execution
|
||||
- attack.t1059
|
||||
- attack.defense_evasion
|
||||
- attack.t1085
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: '*\rundll32.exe *,InstallArcherSvc'
|
||||
condition: selection
|
||||
fields:
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
title: Clear Command History
|
||||
status: experimental
|
||||
description: Clear command history in linux which is used for defense evasion.
|
||||
references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1146/T1146.yaml
|
||||
- https://attack.mitre.org/techniques/T1146/
|
||||
author: Patrick Bareiss
|
||||
date: 2019/03/24
|
||||
logsource:
|
||||
product: linux
|
||||
detection:
|
||||
keywords:
|
||||
- 'rm *bash_history'
|
||||
- 'echo "" > *bash_history'
|
||||
- 'cat /dev/null > *bash_history'
|
||||
- 'ln -sf /dev/null *bash_history'
|
||||
- 'truncate -s0 *bash_history'
|
||||
# - 'unset HISTFILE' # prone to false positives
|
||||
- 'export HISTFILESIZE=0'
|
||||
- 'history -c'
|
||||
condition: keywords
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1146
|
||||
@@ -0,0 +1,64 @@
|
||||
title: Privilege Escalation Preparation
|
||||
status: experimental
|
||||
description: Detects suspicious shell commands indicating the information gathering phase as preparation for the Privilege Escalation.
|
||||
references:
|
||||
- https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
|
||||
- https://patrick-bareiss.com/detect-privilege-escalation-preparation-in-linux-with-sigma/
|
||||
author: Patrick Bareiss
|
||||
date: 2019/04/05
|
||||
tags:
|
||||
- attack.privilege_escalation
|
||||
- attack.t1068
|
||||
level: medium
|
||||
logsource:
|
||||
product: linux
|
||||
detection:
|
||||
keywords:
|
||||
# distribution type and kernel version
|
||||
- 'cat /etc/issue'
|
||||
- 'cat /etc/*-release'
|
||||
- 'cat /proc/version'
|
||||
- 'uname -a'
|
||||
- 'uname -mrs'
|
||||
- 'rpm -q kernel'
|
||||
- 'dmesg | grep Linux'
|
||||
- 'ls /boot | grep vmlinuz-'
|
||||
# environment variables
|
||||
- 'cat /etc/profile'
|
||||
- 'cat /etc/bashrc'
|
||||
- 'cat ~/.bash_profile'
|
||||
- 'cat ~/.bashrc'
|
||||
- 'cat ~/.bash_logout'
|
||||
# applications and services as root
|
||||
- 'ps -aux | grep root'
|
||||
- 'ps -ef | grep root'
|
||||
# scheduled tasks
|
||||
- 'crontab -l'
|
||||
- 'cat /etc/cron*'
|
||||
- 'cat /etc/cron.allow'
|
||||
- 'cat /etc/cron.deny'
|
||||
- 'cat /etc/crontab'
|
||||
# search for plain text user/passwords
|
||||
- 'grep -i user *'
|
||||
- 'grep -i pass *'
|
||||
# networking
|
||||
- 'ifconfig'
|
||||
- 'cat /etc/network/interfaces'
|
||||
- 'cat /etc/sysconfig/network'
|
||||
- 'cat /etc/resolv.conf'
|
||||
- 'cat /etc/networks'
|
||||
- 'iptables -L'
|
||||
- 'lsof -i'
|
||||
- 'netstat -antup'
|
||||
- 'netstat -antpx'
|
||||
- 'netstat -tulpn'
|
||||
- 'arp -e'
|
||||
- 'route'
|
||||
# sensitive files
|
||||
- 'cat /etc/passwd'
|
||||
- 'cat /etc/group'
|
||||
- 'cat /etc/shadow'
|
||||
timeframe: 30m
|
||||
condition: keywords | count() by host > 6
|
||||
falsepositives:
|
||||
- Troubleshooting on Linux Machines
|
||||
@@ -6,6 +6,8 @@ references:
|
||||
- http://pastebin.com/FtygZ1cg
|
||||
- https://artkond.com/2017/03/23/pivoting-guide/
|
||||
author: Florian Roth
|
||||
date: 2017/08/21
|
||||
modified: 2019/02/05
|
||||
logsource:
|
||||
product: linux
|
||||
detection:
|
||||
@@ -15,30 +17,37 @@ detection:
|
||||
- 'wget * - http* | sh'
|
||||
- 'wget * - http* | bash'
|
||||
- 'python -m SimpleHTTPServer'
|
||||
- 'import pty; pty.spawn'
|
||||
- '-m http.server' # Python 3
|
||||
- 'import pty; pty.spawn*'
|
||||
- 'socat exec:*'
|
||||
- 'socat -O /tmp/*'
|
||||
- 'socat tcp-connect*'
|
||||
- '*echo binary >>*'
|
||||
# Malware
|
||||
- '*wget *; chmod +x*'
|
||||
- '*wget *; chmod 777 *'
|
||||
- '*cd /tmp || cd /var/run || cd /mnt*'
|
||||
# Apache Struts in-the-wild exploit codes
|
||||
- 'stop;service iptables stop;'
|
||||
- 'stop;SuSEfirewall2 stop;'
|
||||
- 'chmod 777 2020'
|
||||
- '">>/etc/rc.local;'
|
||||
- 'wget -c *;chmod 777'
|
||||
- '*stop;service iptables stop;*'
|
||||
- '*stop;SuSEfirewall2 stop;*'
|
||||
- 'chmod 777 2020*'
|
||||
- '*>>/etc/rc.local'
|
||||
# Metasploit framework exploit codes
|
||||
- 'base64 -d /tmp/'
|
||||
- ' | base64 -d'
|
||||
- '/bin/chmod u+s'
|
||||
- 'chmod +s /tmp/'
|
||||
- 'chmod u+s /tmp/'
|
||||
- '/tmp/haxhax'
|
||||
- '/tmp/ns_sploit'
|
||||
- 'nc -l -p '
|
||||
- 'cp /bin/ksh '
|
||||
- 'cp /bin/sh '
|
||||
- ' /tmp/*.b64 '
|
||||
- '/tmp/ysocereal.jar'
|
||||
- '*base64 -d /tmp/*'
|
||||
- '* | base64 -d *'
|
||||
- '*/chmod u+s *'
|
||||
- '*chmod +s /tmp/*'
|
||||
- '*chmod u+s /tmp/*'
|
||||
- '* /tmp/haxhax*'
|
||||
- '* /tmp/ns_sploit*'
|
||||
- 'nc -l -p *'
|
||||
- 'cp /bin/ksh *'
|
||||
- 'cp /bin/sh *'
|
||||
- '* /tmp/*.b64 *'
|
||||
- '*/tmp/ysocereal.jar*'
|
||||
- '*/tmp/x *'
|
||||
- '*; chmod +x /tmp/*'
|
||||
- '*;chmod +x /tmp/*'
|
||||
condition: keywords
|
||||
falsepositives:
|
||||
- Unknown
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
title: Suspicious Reverse Shell Command Line
|
||||
status: experimental
|
||||
description: Detects suspicious shell commands or program code that may be exected or used in command line to establish a reverse shell
|
||||
references:
|
||||
- https://alamot.github.io/reverse_shells/
|
||||
author: Florian Roth
|
||||
date: 2019/04/02
|
||||
logsource:
|
||||
product: linux
|
||||
detection:
|
||||
keywords:
|
||||
- 'BEGIN {s = "/inet/tcp/0/'
|
||||
- 'bash -i >& /dev/tcp/'
|
||||
- 'bash -i >& /dev/udp/'
|
||||
- 'sh -i >$ /dev/udp/'
|
||||
- 'sh -i >$ /dev/tcp/'
|
||||
- '&& while read line 0<&5; do'
|
||||
- '/bin/bash -c exec 5<>/dev/tcp/'
|
||||
- '/bin/bash -c exec 5<>/dev/udp/'
|
||||
- 'nc -e /bin/sh '
|
||||
- '/bin/sh | nc'
|
||||
- 'rm -f backpipe; mknod /tmp/backpipe p && nc '
|
||||
- ';socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i))))'
|
||||
- ';STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
- '/bin/sh -i <&3 >&3 2>&3'
|
||||
- 'uname -a; w; id; /bin/bash -i'
|
||||
- '$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length); $stream.Flush()};'
|
||||
- ";os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);os.putenv('HISTFILE','/dev/null');"
|
||||
- '.to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
|
||||
- ';while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print'
|
||||
- "socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:"
|
||||
- 'rm -f /tmp/p; mknod /tmp/p p &&'
|
||||
- ' | /bin/bash | telnet '
|
||||
- ',echo=0,raw tcp-listen:'
|
||||
- 'nc -lvvp '
|
||||
- 'xterm -display 1'
|
||||
condition: keywords
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
@@ -0,0 +1,19 @@
|
||||
title: Possible DNS Tunneling
|
||||
status: experimental
|
||||
description: Normally, DNS logs contain a limited amount of different dns queries for a single domain. This rule detects a high amount of queries for a single domain, which can be an indicator that DNS is used to transfer data.
|
||||
references:
|
||||
- https://zeltser.com/c2-dns-tunneling/
|
||||
- https://patrick-bareiss.com/detect-c2-traffic-over-dns-using-sigma/
|
||||
author: Patrick Bareiss
|
||||
date: 2019/04/07
|
||||
logsource:
|
||||
product: dns
|
||||
detection:
|
||||
selection:
|
||||
parent_domain: '*'
|
||||
condition: selection | count(dns_query) by parent_domain > 1000
|
||||
falsepositives:
|
||||
- Valid software, which uses dns for transferring data
|
||||
level: high
|
||||
tags:
|
||||
- attack.t1043
|
||||
@@ -12,10 +12,11 @@ logsource:
|
||||
category: dns
|
||||
detection:
|
||||
selection:
|
||||
answer:
|
||||
- '*IEX*'
|
||||
- '*Invoke-Expression*'
|
||||
- '*cmd.exe*'
|
||||
record_type: 'TXT'
|
||||
answer:
|
||||
- '*IEX*'
|
||||
- '*Invoke-Expression*'
|
||||
- '*cmd.exe*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
title: Chafer Malware URL Pattern
|
||||
status: experimental
|
||||
description: Detects HTTP requests used by Chafer malware
|
||||
references:
|
||||
- https://securelist.com/chafer-used-remexi-malware/89538/
|
||||
author: Florian Roth
|
||||
date: 2019/01/31
|
||||
logsource:
|
||||
category: proxy
|
||||
detection:
|
||||
selection:
|
||||
c-uri-query: '*/asp.asp?ui=*'
|
||||
condition: selection
|
||||
fields:
|
||||
- ClientIP
|
||||
- URL
|
||||
- UserAgent
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
@@ -0,0 +1,19 @@
|
||||
title: CobaltStrike Malleable (OCSP) Profile
|
||||
status: experimental
|
||||
description: Detects Malleable (OCSP) Profile with Typo (OSCP) in URL
|
||||
references:
|
||||
- https://github.com/rsmudge/Malleable-C2-Profiles/blob/master/normal/ocsp.profile
|
||||
author: Markus Neis
|
||||
tags:
|
||||
- attack.t1102
|
||||
logsource:
|
||||
category: proxy
|
||||
detection:
|
||||
selection:
|
||||
URL: '*/oscp/*'
|
||||
Host: 'ocsp.verisign.com'
|
||||
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
@@ -0,0 +1,21 @@
|
||||
title: CobaltStrike Malleable OneDrive browsing traffic profile
|
||||
status: experimental
|
||||
description: Detects Malleable OneDrive Profile
|
||||
references:
|
||||
- https://github.com/rsmudge/Malleable-C2-Profiles/blob/master/normal/onedrive_getonly.profile
|
||||
author: Markus Neis
|
||||
tags:
|
||||
- attack.t1102
|
||||
logsource:
|
||||
category: proxy
|
||||
detection:
|
||||
selection:
|
||||
HttpMethod: 'GET'
|
||||
URL: '*?manifest=wac'
|
||||
Host: 'onedrive.live.com'
|
||||
filter:
|
||||
URL: 'http*://onedrive.live.com/*'
|
||||
condition: selection and not filter
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
@@ -56,7 +56,6 @@ detection:
|
||||
- '*.mooo.com'
|
||||
- '*.dns-dns.com'
|
||||
- '*.strangled.net'
|
||||
- '*.ddns.info'
|
||||
- '*.adultdns.net'
|
||||
- '*.craftx.biz'
|
||||
- '*.ddns01.com'
|
||||
|
||||
@@ -53,14 +53,12 @@ detection:
|
||||
- '*.vip'
|
||||
- '*.party'
|
||||
- '*.tech'
|
||||
- '*.tech'
|
||||
- '*.xyz'
|
||||
- '*.date'
|
||||
- '*.faith'
|
||||
- '*.zip'
|
||||
- '*.cricket'
|
||||
- '*.space'
|
||||
- '*.top'
|
||||
# McAfee report
|
||||
- '*.info'
|
||||
- '*.vn'
|
||||
@@ -94,11 +92,12 @@ detection:
|
||||
- '*.trade'
|
||||
- '*.accountant'
|
||||
# Spamhaus 2018 https://krebsonsecurity.com/2018/06/bad-men-at-work-please-dont-click/
|
||||
- '*.click'
|
||||
- '*.cf'
|
||||
- '*.gq'
|
||||
- '*.ml'
|
||||
- '*.ga'
|
||||
# Custom
|
||||
- '*.pw'
|
||||
condition: selection
|
||||
fields:
|
||||
- ClientIP
|
||||
|
||||
@@ -39,6 +39,8 @@ detection:
|
||||
- 'Mozilla/4.0 (compatible; RMS)' # Attacks on industrial enterprises using RMS and TeamViewer https://goo.gl/GthvTw
|
||||
- 'Mozilla/4.0 (compatible; MSIE 6.0; DynGate)' # Attacks on industrial enterprises using RMS and TeamViewer https://goo.gl/GthvTw
|
||||
- 'O/9.27 (W; U; Z)' # Cmstar https://www.virustotal.com/#/file/e4328011bb2b04abc856ccd04404c9f95d67167f6c291d343e8ffa8aa2aa2099/details
|
||||
- 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0*' # KerrDown UA https://goo.gl/s2WU6o
|
||||
- 'Mozilla/5.0 (Windows NT 9; *' # Suspicious 'Windows NT 9' user agent - used by APT33 malware in 2018
|
||||
condition: selection
|
||||
fields:
|
||||
- ClientIP
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
title: Bitsadmin to Uncommon TLD
|
||||
status: experimental
|
||||
description: Detects Bitsadmin connections to domains with uncommon TLDs
|
||||
- https://twitter.com/jhencinski/status/1102695118455349248
|
||||
- https://isc.sans.edu/forums/diary/Investigating+Microsoft+BITS+Activity/23281/
|
||||
author: Florian Roth
|
||||
date: 2019/03/07
|
||||
logsource:
|
||||
category: proxy
|
||||
detection:
|
||||
selection:
|
||||
UserAgent:
|
||||
- 'Microsoft BITS/*'
|
||||
falsepositives:
|
||||
r-dns:
|
||||
- '*.com'
|
||||
- '*.net'
|
||||
- '*.org'
|
||||
condition: selection and not falsepositives
|
||||
fields:
|
||||
- ClientIP
|
||||
- URL
|
||||
- UserAgent
|
||||
falsepositives:
|
||||
- Rare programs that use Bitsadmin and update from regional TLDs e.g. .uk or .ca
|
||||
level: high
|
||||
@@ -22,6 +22,7 @@ detection:
|
||||
- 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SIMBAR={7DB0F6DE-8DE7-4841-9084-28FA914B0F2E}; SLCC1; .N'
|
||||
- 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' # only use in proxy logs - not for detection in web server logs
|
||||
- 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/4.0.221.6 Safari/525.13'
|
||||
- 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; MAAU)' # Payloads
|
||||
|
||||
# Metasploit Update by Florian Roth 08.07.2017
|
||||
- 'Mozilla/5.0'
|
||||
@@ -33,6 +34,7 @@ detection:
|
||||
- 'X-FORWARDED-FOR'
|
||||
- 'DotDotPwn v2.1'
|
||||
- 'SIPDROID'
|
||||
- 'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:60.0)' # CobaltStrike https://unit42.paloaltonetworks.com/tracking-oceanlotus-new-downloader-kerrdown/
|
||||
|
||||
# Exploits
|
||||
- '*wordpress hash grabber*'
|
||||
|
||||
@@ -21,6 +21,7 @@ detection:
|
||||
- 'Mozila/*' # single 'l'
|
||||
- '_'
|
||||
- 'CertUtil URL Agent' # https://twitter.com/stvemillertime/status/985150675527974912
|
||||
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0)' # CobaltStrike Beacon https://unit42.paloaltonetworks.com/tracking-oceanlotus-new-downloader-kerrdown/
|
||||
falsepositives:
|
||||
UserAgent:
|
||||
- 'Mozilla/3.0 * Acrobat *' # Acrobat with linked content
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
title: Apache Threading Error
|
||||
status: experimental
|
||||
description: Detects an issue in apache logs that reports threading related errors
|
||||
author: Florian Roth
|
||||
date: 2019/01/22
|
||||
references:
|
||||
- https://github.com/hannob/apache-uaf/blob/master/README.md
|
||||
logsource:
|
||||
product: apache
|
||||
detection:
|
||||
keywords:
|
||||
- '__pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)'
|
||||
condition: keywords
|
||||
falsepositives:
|
||||
- https://bz.apache.org/bugzilla/show_bug.cgi?id=46185
|
||||
level: medium
|
||||
@@ -0,0 +1,23 @@
|
||||
title: Persistence and Execution at scale via GPO scheduled task
|
||||
description: Detect lateral movement using GPO scheduled task, ususally used to deploy ransomware at scale
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://twitter.com/menasec1/status/1106899890377052160
|
||||
tags:
|
||||
- attack.persistence
|
||||
- attack.lateral_movement
|
||||
- attack.t1053
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5145
|
||||
ShareName: \\*\SYSVOL
|
||||
RelativeTargetName: '*ScheduledTasks.xml'
|
||||
Accesses: '*WriteData*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- if the source IP is not localhost then it's super suspicious, better to monitor both local and remote changes to GPO scheduledtasks
|
||||
level: high
|
||||
@@ -0,0 +1,25 @@
|
||||
title: Powerview Add-DomainObjectAcl DCSync AD Extend Right
|
||||
description: backdooring domain object to grant the rights associated with DCSync to a regular user or machine account using Powerview\Add-DomainObjectAcl DCSync Extended Right cmdlet, will allow to re-obtain the pwd hashes of any user/computer
|
||||
status: experimental
|
||||
date: 2019/04/03
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://twitter.com/menasec1/status/1111556090137903104
|
||||
- https://www.specterops.io/assets/resources/an_ace_up_the_sleeve.pdf
|
||||
tags:
|
||||
- attack.credential_access
|
||||
- attack.persistence
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5136
|
||||
LDAPDisplayName: 'ntSecurityDescriptor'
|
||||
Value:
|
||||
- '*1131f6ad-9c07-11d1-f79f-00c04fc2dcd2*'
|
||||
- '*1131f6aa-9c07-11d1-f79f-00c04fc2dcd2*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- New Domain Controller computer account, check user SIDs witin the value attribute of event 5136 and verify if it's a regular user or DC computer account.
|
||||
level: critical
|
||||
@@ -0,0 +1,34 @@
|
||||
title: AD Privileged Users or Groups Reconnaissance
|
||||
description: Detect priv users or groups recon based on 4661 eventid and known privileged users or groups SIDs
|
||||
references:
|
||||
- https://blog.menasec.net/2019/02/threat-hunting-5-detecting-enumeration.html
|
||||
tags:
|
||||
- attack.discovery
|
||||
- attack.t1087
|
||||
status: experimental
|
||||
author: Samir Bousseaden
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: enable Object Access SAM on your Domain Controllers'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4661
|
||||
ObjectType:
|
||||
- 'SAM_USER'
|
||||
- 'SAM_GROUP'
|
||||
ObjectName:
|
||||
- '*-512'
|
||||
- '*-502'
|
||||
- '*-500'
|
||||
- '*-505'
|
||||
- '*-519'
|
||||
- '*-520'
|
||||
- '*-544'
|
||||
- '*-551'
|
||||
- '*-555'
|
||||
- '*admin*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- if source account name is not an admin then its super suspicious
|
||||
level: high
|
||||
@@ -5,6 +5,7 @@ references:
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.t1078
|
||||
- car.2016-04-005
|
||||
status: experimental
|
||||
author: juju4
|
||||
logsource:
|
||||
@@ -18,6 +19,6 @@ detection:
|
||||
AuthenticationPackageName: Negotiate
|
||||
AccountName: 'Admin-*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
falsepositives:
|
||||
- Legitimate administrative activity
|
||||
level: low
|
||||
|
||||
@@ -8,6 +8,7 @@ author: '@neu5ron'
|
||||
tags:
|
||||
- attack.t1098
|
||||
- attack.credential_access
|
||||
- attack.persistence
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
|
||||
@@ -4,6 +4,9 @@ references:
|
||||
- https://adsecurity.org/?p=2053
|
||||
- https://www.harmj0y.net/blog/activedirectory/roasting-as-reps/
|
||||
author: '@neu5ron'
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1089
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
|
||||
@@ -10,14 +10,14 @@ logsource:
|
||||
product: windows
|
||||
detection:
|
||||
keywords:
|
||||
- mimikatz
|
||||
- mimilib
|
||||
- <3 eo.oe
|
||||
- eo.oe.kiwi
|
||||
- privilege::debug
|
||||
- sekurlsa::logonpasswords
|
||||
- lsadump::sam
|
||||
- mimidrv.sys
|
||||
- "* mimikatz *"
|
||||
- "* mimilib *"
|
||||
- "* <3 eo.oe *"
|
||||
- "* eo.oe.kiwi *"
|
||||
- "* privilege::debug *"
|
||||
- "* sekurlsa::logonpasswords *"
|
||||
- "* lsadump::sam *"
|
||||
- "* mimidrv.sys *"
|
||||
condition: keywords
|
||||
falsepositives:
|
||||
- Naughty administrators
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
title: Remote Task Creation via ATSVC named pipe
|
||||
description: Detects remote task creation via at.exe or API interacting with ATSVC namedpipe
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://blog.menasec.net/2019/03/threat-hunting-25-scheduled-tasks-for.html
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.persistence
|
||||
- attack.t1053
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
RelativeTargetName: atsvc
|
||||
Accesses: '*WriteData*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- pentesting
|
||||
level: medium
|
||||
@@ -14,7 +14,7 @@ author: '@neu5ron'
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Computer Management > Audit Policy Configuration, Group Policy : Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\Audit Policies\Policy Change\Audit Audit Policy Change'
|
||||
definition: 'Requirements: Audit Policy : Computer Management > Audit Policy Configuration, Group Policy : Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\Audit Policies\Policy Change\Audit Authorization Policy Change'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4719
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
title: Eventlog Cleared Experimental
|
||||
status: experimental
|
||||
description: Detects a cleared Windows Eventlog as e.g. caused by "wevtutil cl" command execution
|
||||
author: Florian Roth
|
||||
date: 2017/06/27
|
||||
references:
|
||||
- https://www.hybrid-analysis.com/sample/027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745?environmentId=100
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1070
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
detection:
|
||||
selection:
|
||||
EventID: 104
|
||||
Source: Eventlog
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: high
|
||||
@@ -1,52 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Rubeus Hack Tool
|
||||
description: Detects command line parameters used by Rubeus hack tool
|
||||
author: Florian Roth
|
||||
references:
|
||||
- https://www.harmj0y.net/blog/redteaming/from-kekeo-to-rubeus/
|
||||
date: 2018/12/19
|
||||
tags:
|
||||
- attack.credential_access
|
||||
- attack.t1003
|
||||
- attack.s0005
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- unlikely
|
||||
level: critical
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- '* asreproast *'
|
||||
- '* dump /service:krbtgt *'
|
||||
- '* kerberoast *'
|
||||
- '* createnetonly /program:*'
|
||||
- '* ptt /ticket:*'
|
||||
- '* /impersonateuser:*'
|
||||
- '* renew /ticket:*'
|
||||
- '* asktgt /user:*'
|
||||
- '* harvest /interval:*'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- '* asreproast *'
|
||||
- '* dump /service:krbtgt *'
|
||||
- '* kerberoast *'
|
||||
- '* createnetonly /program:*'
|
||||
- '* ptt /ticket:*'
|
||||
- '* /impersonateuser:*'
|
||||
- '* renew /ticket:*'
|
||||
- '* asktgt /user:*'
|
||||
- '* harvest /interval:*'
|
||||
@@ -11,6 +11,7 @@ tags:
|
||||
- attack.t1035
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
detection:
|
||||
service_installation:
|
||||
EventID: 7045
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
title: Possible Impacket SecretDump remote activity
|
||||
description: Detect AD credential dumping using impacket secretdump HKTL
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://blog.menasec.net/2019/02/threat-huting-10-impacketsecretdump.html
|
||||
tags:
|
||||
- attack.credential_access
|
||||
- attack.t1003
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5145
|
||||
ShareName: \\*\ADMIN$
|
||||
RelativeTargetName: 'SYSTEM32\*.tmp'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- pentesting
|
||||
level: high
|
||||
@@ -0,0 +1,34 @@
|
||||
title: First time seen remote named pipe
|
||||
description: This detection excludes known namped pipes accessible remotely and notify on newly observed ones, may help to detect lateral movement and remote exec using named pipes
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://twitter.com/menasec1/status/1104489274387451904
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.t1077
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
selection2:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
RelativeTargetName:
|
||||
- 'atsvc'
|
||||
- 'samr'
|
||||
- 'lsarpc'
|
||||
- 'winreg'
|
||||
- 'netlogon'
|
||||
- 'srvsvc'
|
||||
- 'protected_storage'
|
||||
- 'wkssvc'
|
||||
- 'browser'
|
||||
- 'netdfs'
|
||||
condition: selection1 and not selection2
|
||||
falsepositives:
|
||||
- update the excluded named pipe to filter out any newly observed legit named pipe
|
||||
level: high
|
||||
@@ -1,3 +1,5 @@
|
||||
---
|
||||
action: global
|
||||
title: Malicious Service Install
|
||||
description: This method detects well-known keywords of malicious services in the Windows System Eventlog
|
||||
author: Florian Roth
|
||||
@@ -9,10 +11,9 @@ logsource:
|
||||
product: windows
|
||||
service: system
|
||||
detection:
|
||||
selection:
|
||||
selection1:
|
||||
EventID:
|
||||
- 7045
|
||||
- 4697
|
||||
keywords:
|
||||
- 'WCE SERVICE'
|
||||
- 'WCESERVICE'
|
||||
@@ -20,7 +21,14 @@ detection:
|
||||
quarkspwdump:
|
||||
EventID: 16
|
||||
HiveName: '*\AppData\Local\Temp\SAM*.dmp'
|
||||
condition: ( selection and keywords ) or quarkspwdump
|
||||
condition: ( selection1 and keywords ) or ( selection2 and keywords ) or quarkspwdump
|
||||
falsepositives:
|
||||
- Unlikely
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection2:
|
||||
EventID: 4697
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
action: global
|
||||
title: Quick Execution of a Series of Suspicious Commands
|
||||
description: Detects multiple suspicious process in a limited timeframe
|
||||
status: experimental
|
||||
references:
|
||||
- https://car.mitre.org/wiki/CAR-2013-04-002
|
||||
author: juju4
|
||||
modified: 2012/12/11
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: low
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- arp.exe
|
||||
- at.exe
|
||||
- attrib.exe
|
||||
- cscript.exe
|
||||
- dsquery.exe
|
||||
- hostname.exe
|
||||
- ipconfig.exe
|
||||
- mimikatz.exe
|
||||
- nbstat.exe
|
||||
- net.exe
|
||||
- netsh.exe
|
||||
- nslookup.exe
|
||||
- ping.exe
|
||||
- quser.exe
|
||||
- qwinsta.exe
|
||||
- reg.exe
|
||||
- runas.exe
|
||||
- sc.exe
|
||||
- schtasks.exe
|
||||
- ssh.exe
|
||||
- systeminfo.exe
|
||||
- taskkill.exe
|
||||
- telnet.exe
|
||||
- tracert.exe
|
||||
- wscript.exe
|
||||
- xcopy.exe
|
||||
# others
|
||||
- pscp.exe
|
||||
- copy.exe
|
||||
- robocopy.exe
|
||||
- certutil.exe
|
||||
- vssadmin.exe
|
||||
- powershell.exe
|
||||
- wevtutil.exe
|
||||
- psexec.exe
|
||||
- bcedit.exe
|
||||
- wbadmin.exe
|
||||
- icacls.exe
|
||||
- diskpart.exe
|
||||
timeframe: 5m
|
||||
condition: selection | count() by MachineName > 5
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- arp.exe
|
||||
- at.exe
|
||||
- attrib.exe
|
||||
- cscript.exe
|
||||
- dsquery.exe
|
||||
- hostname.exe
|
||||
- ipconfig.exe
|
||||
- mimikatz.exe
|
||||
- nbstat.exe
|
||||
- net.exe
|
||||
- netsh.exe
|
||||
- nslookup.exe
|
||||
- ping.exe
|
||||
- quser.exe
|
||||
- qwinsta.exe
|
||||
- reg.exe
|
||||
- runas.exe
|
||||
- sc.exe
|
||||
- schtasks.exe
|
||||
- ssh.exe
|
||||
- systeminfo.exe
|
||||
- taskkill.exe
|
||||
- telnet.exe
|
||||
- tracert.exe
|
||||
- wscript.exe
|
||||
- xcopy.exe
|
||||
# others
|
||||
- pscp.exe
|
||||
- copy.exe
|
||||
- robocopy.exe
|
||||
- certutil.exe
|
||||
- vssadmin.exe
|
||||
- powershell.exe
|
||||
- wevtutil.exe
|
||||
- psexec.exe
|
||||
- bcedit.exe
|
||||
- wbadmin.exe
|
||||
- icacls.exe
|
||||
- diskpart.exe
|
||||
timeframe: 5m
|
||||
condition: selection | count() by MachineName > 5
|
||||
@@ -22,9 +22,9 @@ detection:
|
||||
selection1:
|
||||
EventID: 13
|
||||
TargetObject:
|
||||
- '*SYSTEM\*ControlSet*\Control\Lsa\lmcompatibilitylevel'
|
||||
- '*SYSTEM\*ControlSet*\Control\Lsa\NtlmMinClientSec'
|
||||
- '*SYSTEM\*ControlSet*\Control\Lsa\RestrictSendingNTLMTraffic'
|
||||
- '*SYSTEM\\*ControlSet*\Control\Lsa\lmcompatibilitylevel'
|
||||
- '*SYSTEM\\*ControlSet*\Control\Lsa\NtlmMinClientSec'
|
||||
- '*SYSTEM\\*ControlSet*\Control\Lsa\RestrictSendingNTLMTraffic'
|
||||
---
|
||||
# Windows Security Eventlog: Process Creation with Full Command Line
|
||||
logsource:
|
||||
@@ -34,7 +34,7 @@ logsource:
|
||||
detection:
|
||||
selection2:
|
||||
EventID: 4657
|
||||
ObjectName: '\REGISTRY\MACHINE\SYSTEM\*ControlSet*\Control\Lsa'
|
||||
ObjectName: '\REGISTRY\MACHINE\SYSTEM\\*ControlSet*\Control\Lsa'
|
||||
ObjectValueName:
|
||||
- 'LmCompatibilityLevel'
|
||||
- 'NtlmMinClientSec'
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
title: Executable used by PlugX in Uncommon Location
|
||||
status: experimental
|
||||
description: Detects the execution of an executable that is typically used by PlugX for DLL side loading started from an uncommon location
|
||||
references:
|
||||
- 'http://www.hexacorn.com/blog/2016/03/10/beyond-good-ol-run-key-part-36/'
|
||||
- 'https://countuponsecurity.com/2017/06/07/threat-hunting-in-the-enterprise-with-appcompatprocessor/'
|
||||
author: Florian Roth
|
||||
date: 2017/06/12
|
||||
tags:
|
||||
- attack.s0013
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
|
||||
# CamMute
|
||||
selection_cammute:
|
||||
EventID: 4688
|
||||
CommandLine: '*\CamMute.exe'
|
||||
filter_cammute:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Lenovo\Communication Utility\*'
|
||||
|
||||
# Chrome Frame Helper
|
||||
selection_chrome_frame:
|
||||
EventID: 4688
|
||||
CommandLine: '*\chrome_frame_helper.exe'
|
||||
filter_chrome_frame:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Google\Chrome\application\*'
|
||||
|
||||
# Microsoft Device Emulator
|
||||
selection_devemu:
|
||||
EventID: 4688
|
||||
CommandLine: '*\dvcemumanager.exe'
|
||||
filter_devemu:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Microsoft Device Emulator\*'
|
||||
|
||||
# Windows Media Player Gadget
|
||||
selection_gadget:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Gadget.exe'
|
||||
filter_gadget:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Windows Media Player\*'
|
||||
|
||||
# HTML Help Workshop
|
||||
selection_hcc:
|
||||
EventID: 4688
|
||||
CommandLine: '*\hcc.exe'
|
||||
filter_hcc:
|
||||
EventID: 4688
|
||||
CommandLine: '*\HTML Help Workshop\*'
|
||||
|
||||
# Hotkey Command Module for Intel Graphics Contollers
|
||||
selection_hkcmd:
|
||||
EventID: 4688
|
||||
CommandLine: '*\hkcmd.exe'
|
||||
filter_hkcmd:
|
||||
EventID: 4688
|
||||
CommandLine:
|
||||
- '*\System32\*'
|
||||
- '*\SysNative\*'
|
||||
- '*\SysWowo64\*'
|
||||
|
||||
# McAfee component
|
||||
selection_mc:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Mc.exe'
|
||||
filter_mc:
|
||||
EventID: 4688
|
||||
CommandLine:
|
||||
- '*\Microsoft Visual Studio*'
|
||||
- '*\Microsoft SDK*'
|
||||
- '*\Windows Kit*'
|
||||
|
||||
# MsMpEng - Microsoft Malware Protection Engine
|
||||
selection_msmpeng:
|
||||
EventID: 4688
|
||||
CommandLine: '*\MsMpEng.exe'
|
||||
filter_msmpeng:
|
||||
EventID: 4688
|
||||
CommandLine:
|
||||
- '*\Microsoft Security Client\*'
|
||||
- '*\Windows Defender\*'
|
||||
- '*\AntiMalware\*'
|
||||
|
||||
# Microsoft Security Center
|
||||
selection_msseces:
|
||||
EventID: 4688
|
||||
CommandLine: '*\msseces.exe'
|
||||
filter_msseces:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Microsoft Security Center\*'
|
||||
|
||||
# Microsoft Office 2003 OInfo
|
||||
selection_oinfo:
|
||||
EventID: 4688
|
||||
CommandLine: '*\OInfoP11.exe'
|
||||
filter_oinfo:
|
||||
EventID: 4688
|
||||
CommandLine: '*\Common Files\Microsoft Shared\*'
|
||||
|
||||
# OLE View
|
||||
selection_oleview:
|
||||
EventID: 4688
|
||||
CommandLine: '*\OleView.exe'
|
||||
filter_oleview:
|
||||
EventID: 4688
|
||||
CommandLine:
|
||||
- '*\Microsoft Visual Studio*'
|
||||
- '*\Microsoft SDK*'
|
||||
- '*\Windows Kit*'
|
||||
- '*\Windows Resource Kit\*'
|
||||
|
||||
# RC
|
||||
selection_rc:
|
||||
EventID: 4688
|
||||
CommandLine: '*\rc.exe'
|
||||
filter_rc:
|
||||
EventID: 4688
|
||||
CommandLine:
|
||||
- '*\Microsoft Visual Studio*'
|
||||
- '*\Microsoft SDK*'
|
||||
- '*\Windows Kit*'
|
||||
- '*\Windows Resource Kit\*'
|
||||
- '*\Microsoft.NET\*'
|
||||
|
||||
condition: ( selection_cammute and not filter_cammute ) or
|
||||
( selection_chrome_frame and not filter_chrome_frame ) or
|
||||
( selection_devemu and not filter_devemu ) or
|
||||
( selection_gadget and not filter_gadget ) or
|
||||
( selection_hcc and not filter_hcc ) or
|
||||
( selection_hkcmd and not filter_hkcmd ) or
|
||||
( selection_mc and not filter_mc ) or
|
||||
( selection_msmpeng and not filter_msmpeng ) or
|
||||
( selection_msseces and not filter_msseces ) or
|
||||
( selection_oinfo and not filter_oinfo ) or
|
||||
( selection_oleview and not filter_oleview ) or
|
||||
( selection_rc and not filter_rc )
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
action: global
|
||||
title: PowerShell Base64 Encoded Shellcode
|
||||
description: Detects Base64 encoded Shellcode
|
||||
status: experimental
|
||||
references:
|
||||
- https://twitter.com/cyb3rops/status/1063072865992523776
|
||||
author: Florian Roth
|
||||
date: 2018/11/17
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1036
|
||||
detection:
|
||||
condition: selection1 and selection2
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: critical
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 4688
|
||||
ProcessCommandLine: '*AAAAYInlM*'
|
||||
selection2:
|
||||
ProcessCommandLine:
|
||||
- '*OiCAAAAYInlM*'
|
||||
- '*OiJAAAAYInlM*'
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 1
|
||||
CommandLine: '*AAAAYInlM*'
|
||||
selection2:
|
||||
CommandLine:
|
||||
- '*OiCAAAAYInlM*'
|
||||
- '*OiJAAAAYInlM*'
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
title: RDP Login from localhost
|
||||
description: RDP login with localhost source address may be a tunnelled login
|
||||
references:
|
||||
- https://www.fireeye.com/blog/threat-research/2019/01/bypassing-network-restrictions-through-rdp-tunneling.html
|
||||
date: 2019/01/28
|
||||
modified: 2019/01/29
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.t1076
|
||||
status: experimental
|
||||
author: Thomas Patzke
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4624
|
||||
LogonType: 10
|
||||
SourceNetworkAddress:
|
||||
- "::1"
|
||||
- "127.0.0.1"
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
level: high
|
||||
@@ -0,0 +1,20 @@
|
||||
title: Potential RDP exploit CVE-2019-0708
|
||||
description: Detect suspicious error on protocol RDP, potential CVE-2019-0708
|
||||
references:
|
||||
- https://github.com/zerosum0x0/CVE-2019-0708
|
||||
tags:
|
||||
- attack.initial_access
|
||||
status: experimental
|
||||
author: Lionel PRAT, Christophe BROCAS
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
detection:
|
||||
selection:
|
||||
EventID: 56
|
||||
Source: TermDD
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Bad connections or network interruptions
|
||||
level: high
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
title: RDP over Reverse SSH Tunnel WFP
|
||||
status: experimental
|
||||
description: Detects svchost hosting RDP termsvcs communicating with the loopback address and on TCP port 3389
|
||||
references:
|
||||
- https://twitter.com/SBousseaden/status/1096148422984384514
|
||||
author: Samir Bousseaden
|
||||
date: 2019/02/16
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.command_and_control
|
||||
- attack.t1076
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5156
|
||||
sourceRDP:
|
||||
SourcePort: 3389
|
||||
DestinationAddress:
|
||||
- '127.*'
|
||||
- '::1'
|
||||
destinationRDP:
|
||||
DestinationPort: 3389
|
||||
SourceAddress:
|
||||
- '127.*'
|
||||
- '::1'
|
||||
condition: selection and ( sourceRDP or destinationRDP )
|
||||
falsepositives:
|
||||
- unknown
|
||||
level: high
|
||||
@@ -1,57 +0,0 @@
|
||||
action: global
|
||||
title: Suspicious Commandline Escape
|
||||
description: Detects suspicious process that use escape characters
|
||||
status: experimental
|
||||
references:
|
||||
- https://twitter.com/vysecurity/status/885545634958385153
|
||||
- https://twitter.com/Hexacorn/status/885553465417756673
|
||||
- https://twitter.com/Hexacorn/status/885570278637678592
|
||||
- https://www.fireeye.com/blog/threat-research/2017/06/obfuscation-in-the-wild.html
|
||||
- http://www.windowsinspired.com/understanding-the-command-line-string-and-arguments-received-by-a-windows-program/
|
||||
author: juju4
|
||||
modified: 2018/12/11
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1140
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: low
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
#- '^'
|
||||
#- '@'
|
||||
# 0x002D -, 0x2013 , 0x2014 , 0x2015 ― ... FIXME! how to match hexa form?
|
||||
# - '-'
|
||||
# - '―'
|
||||
#- 'c:/'
|
||||
- '<TAB>'
|
||||
- '^h^t^t^p'
|
||||
- 'h"t"t"p'
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
#- '^'
|
||||
#- '@'
|
||||
# 0x002D -, 0x2013 , 0x2014 , 0x2015 ― ... FIXME! how to match hexa form?
|
||||
# - '-'
|
||||
# - '―'
|
||||
#- 'c:/'
|
||||
- '<TAB>'
|
||||
- '^h^t^t^p'
|
||||
- 'h"t"t"p'
|
||||
@@ -1,73 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Reconnaissance Activity with Net Command
|
||||
status: experimental
|
||||
description: 'Detects a set of commands often used in recon stages by different attack groups'
|
||||
references:
|
||||
- https://twitter.com/haroonmeer/status/939099379834658817
|
||||
- https://twitter.com/c_APT_ure/status/939475433711722497
|
||||
- https://www.fireeye.com/blog/threat-research/2016/05/targeted_attacksaga.html
|
||||
author: Florian Roth, Markus Neis
|
||||
date: 2018/08/22
|
||||
modified: 2018/12/11
|
||||
tags:
|
||||
- attack.discovery
|
||||
- attack.t1073
|
||||
- attack.t1012
|
||||
detection:
|
||||
timeframe: 15s
|
||||
condition: selection | count() by CommandLine > 4
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: medium
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- 'tasklist'
|
||||
- 'net time'
|
||||
- 'systeminfo'
|
||||
- 'whoami'
|
||||
- 'nbtstat'
|
||||
- 'net start'
|
||||
- '*\net1 start'
|
||||
- 'qprocess'
|
||||
- 'nslookup'
|
||||
- 'hostname.exe'
|
||||
- '*\net1 user /domain'
|
||||
- '*\net1 group /domain'
|
||||
- '*\net1 group "domain admins" /domain'
|
||||
- '*\net1 group "Exchange Trusted Subsystem" /domain'
|
||||
- '*\net1 accounts /domain'
|
||||
- '*\net1 user net localgroup administrators'
|
||||
- 'netstat -an'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- 'tasklist'
|
||||
- 'net time'
|
||||
- 'systeminfo'
|
||||
- 'whoami'
|
||||
- 'nbtstat'
|
||||
- 'net start'
|
||||
- '*\net1 start'
|
||||
- 'qprocess'
|
||||
- 'nslookup'
|
||||
- 'hostname.exe'
|
||||
- '*\net1 user /domain'
|
||||
- '*\net1 group /domain'
|
||||
- '*\net1 group "domain admins" /domain'
|
||||
- '*\net1 group "Exchange Trusted Subsystem" /domain'
|
||||
- '*\net1 accounts /domain'
|
||||
- '*\net1 user net localgroup administrators'
|
||||
- 'netstat -an'
|
||||
@@ -9,6 +9,7 @@ date: 2017/05/15
|
||||
author: Dimitrios Slamaris
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1073
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
|
||||
@@ -6,13 +6,16 @@ references:
|
||||
- https://technet.microsoft.com/en-us/library/cc726884(v=ws.10).aspx
|
||||
- https://msdn.microsoft.com/de-de/library/windows/desktop/aa363389(v=vs.85).aspx
|
||||
date: 2017/05/15
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1073
|
||||
author: Dimitrios Slamaris
|
||||
logsource:
|
||||
product: windows
|
||||
service: system
|
||||
service: dhcp
|
||||
detection:
|
||||
selection:
|
||||
EventID:
|
||||
EventID:
|
||||
- 1031
|
||||
- 1032
|
||||
- 1034
|
||||
|
||||
@@ -6,6 +6,9 @@ references:
|
||||
- https://medium.com/@esnesenon/feature-not-bug-dnsadmin-to-dc-compromise-in-one-line-a0f779b8dc83
|
||||
- https://technet.microsoft.com/en-us/library/cc735829(v=ws.10).aspx
|
||||
- https://twitter.com/gentilkiwi/status/861641945944391680
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1073
|
||||
author: Florian Roth
|
||||
logsource:
|
||||
product: windows
|
||||
|
||||
@@ -7,6 +7,7 @@ author: Thomas Patzke
|
||||
tags:
|
||||
- attack.persistence
|
||||
- attack.privilege_escalation
|
||||
- attack.t1098
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
title: Eventlog Cleared
|
||||
description: One of the Windows Eventlogs has been cleared
|
||||
description: One of the Windows Eventlogs has been cleared. e.g. caused by "wevtutil cl" command execution
|
||||
references:
|
||||
- https://twitter.com/deviouspolack/status/832535435960209408
|
||||
- https://www.hybrid-analysis.com/sample/027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745?environmentId=100
|
||||
author: Florian Roth
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
@@ -12,6 +13,7 @@ logsource:
|
||||
detection:
|
||||
selection:
|
||||
EventID: 104
|
||||
Source: Microsoft-Windows-Eventlog
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Unknown
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
title: Account Tampering - Suspicious Failed Logon Reasons
|
||||
description: This method uses uncommon error codes on failed logons to determine suspicious activity and tampering with accounts that have been disabled or somehow restricted.
|
||||
author: Florian Roth
|
||||
modified: 2019/03/01
|
||||
references:
|
||||
- https://twitter.com/SBousseaden/status/1101431884540710913
|
||||
tags:
|
||||
- attack.persistence
|
||||
- attack.privilege_escalation
|
||||
@@ -14,11 +17,12 @@ detection:
|
||||
- 4625
|
||||
- 4776
|
||||
Status:
|
||||
- '0xC0000072'
|
||||
- '0xC000006F'
|
||||
- '0xC0000070'
|
||||
- '0xC0000413'
|
||||
- '0xC000018C'
|
||||
- '0xC0000072' # User logon to account disabled by administrator
|
||||
- '0xC000006F' # User logon outside authorized hours
|
||||
- '0xC0000070' # User logon from unauthorized workstation
|
||||
- '0xC0000413' # Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine
|
||||
- '0xC000018C' # The logon request failed because the trust relationship between the primary domain and the trusted domain failed
|
||||
- '0xC000015B' # The user has not been granted the requested logon type (aka logon right) at this machine
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- User using a disabled account
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
title: MSHTA Suspicious Execution 01
|
||||
status: experimental
|
||||
description: Detection for mshta.exe suspicious execution patterns sometimes involving file polyglotism
|
||||
date: 22/02/2019
|
||||
modified: 22/02/2019
|
||||
author: Diego Perez (@darkquassar)
|
||||
references:
|
||||
- http://blog.sevagas.com/?Hacking-around-HTA-files
|
||||
- https://0x00sec.org/t/clientside-exploitation-in-2018-how-pentesting-has-changed/7356
|
||||
- https://docs.microsoft.com/en-us/dotnet/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script
|
||||
- https://medium.com/tsscyber/pentesting-and-hta-bypassing-powershell-constrained-language-mode-53a42856c997
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1140
|
||||
logsource:
|
||||
category: process_creation
|
||||
product: windows
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: high
|
||||
detection:
|
||||
selection1:
|
||||
CommandLine:
|
||||
- '*mshta vbscript:CreateObject("Wscript.Shell")*'
|
||||
- '*mshta vbscript:Execute("Execute*'
|
||||
- '*mshta vbscript:CreateObject("Wscript.Shell").Run("mshta.exe*'
|
||||
selection2:
|
||||
Image:
|
||||
- 'C:\Windows\system32\mshta.exe'
|
||||
CommandLine:
|
||||
- '*.jpg*'
|
||||
- '*.png*'
|
||||
- '*.lnk*'
|
||||
# - '*.chm*' # could be prone to false positives
|
||||
- '*.xls*'
|
||||
- '*.doc*'
|
||||
- '*.zip*'
|
||||
condition:
|
||||
selection1 or selection2
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: MsiExec Web Install
|
||||
status: experimental
|
||||
description: Detects suspicious msiexec proess starts with web addreses as parameter
|
||||
references:
|
||||
- https://blog.trendmicro.com/trendlabs-security-intelligence/attack-using-windows-installer-msiexec-exe-leads-lokibot/
|
||||
author: Florian Roth
|
||||
date: 2018/02/09
|
||||
modified: 2012/12/11
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: medium
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- '* msiexec*:\/\/*'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- '* msiexec*:\/\/*'
|
||||
@@ -7,8 +7,8 @@ references:
|
||||
author: Florian Roth
|
||||
date: 2018/06/08
|
||||
tags:
|
||||
- attack.credential_access
|
||||
- attack.t1208
|
||||
- attack.lateral_movement
|
||||
- attack.t1075
|
||||
logsource:
|
||||
product: windows
|
||||
service: ntlm
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Suspicious Encoded PowerShell Command Line
|
||||
description: Detects suspicious powershell process starts with base64 encoded commands
|
||||
status: experimental
|
||||
references:
|
||||
- https://app.any.run/tasks/6217d77d-3189-4db2-a957-8ab239f3e01e
|
||||
author: Florian Roth
|
||||
date: 2018/09/03
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
# Command starts with '$' symbol
|
||||
- '* -e JAB*'
|
||||
- '* -enc JAB*'
|
||||
- '* -encodedcommand JAB*'
|
||||
# Google Rapid Response
|
||||
falsepositive1:
|
||||
Image: '*\GRR\*'
|
||||
# PowerSponse deployments
|
||||
falsepositive2:
|
||||
CommandLine: '* -ExecutionPolicy remotesigned *'
|
||||
condition: selection and not 1 of falsepositive*
|
||||
falsepositives:
|
||||
- GRR powershell hacks
|
||||
- PowerSponse Deployments
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
action: global
|
||||
title: Suspicious Use of Procdump
|
||||
description: Detects suspicious uses of the SysInternals Procdump utility by using a special command line parameter in combination with the lsass.exe process. This way we're also able to catch cases in which the attacker has renamed the procdump executable.
|
||||
status: experimental
|
||||
references:
|
||||
- Internal Research
|
||||
author: Florian Roth
|
||||
date: 2018/10/30
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1036
|
||||
- attack.credential_access
|
||||
- attack.t1003
|
||||
detection:
|
||||
condition: selection and selection1 and selection2
|
||||
falsepositives:
|
||||
- Unlikely, because no one should dump an lsass process memory
|
||||
- Another tool that uses the command line switches of Procdump
|
||||
level: medium
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
selection1:
|
||||
ProcessCommandLine:
|
||||
- "* -ma *"
|
||||
selection2:
|
||||
ProcessCommandLine:
|
||||
- '* lsass.exe*'
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
selection1:
|
||||
CommandLine:
|
||||
- "* -ma *"
|
||||
selection2:
|
||||
CommandLine:
|
||||
- '* lsass.exe*'
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Suspicious Process Creation
|
||||
description: Detects suspicious process starts on Windows systems based on keywords
|
||||
status: experimental
|
||||
references:
|
||||
- https://www.swordshield.com/2015/07/getting-hashes-from-ntds-dit-file/
|
||||
- https://www.youtube.com/watch?v=H3t_kHQG1Js&feature=youtu.be&t=15m35s
|
||||
- https://winscripting.blog/2017/05/12/first-entry-welcome-and-uac-bypass/
|
||||
- https://twitter.com/subTee/status/872244674609676288
|
||||
- https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/remote-tool-examples
|
||||
- https://tyranidslair.blogspot.ca/2017/07/dg-on-windows-10-s-executing-arbitrary.html
|
||||
- https://www.trustedsec.com/2017/07/new-tool-release-nps_payload/
|
||||
- https://subt0x10.blogspot.ca/2017/04/bypassing-application-whitelisting.html
|
||||
- https://gist.github.com/subTee/7937a8ef07409715f15b84781e180c46#file-rat-bat
|
||||
- https://twitter.com/vector_sec/status/896049052642533376
|
||||
author: Florian Roth
|
||||
modified: 2012/12/11
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: medium
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
# Hacking activity
|
||||
- 'vssadmin.exe delete shadows*'
|
||||
- 'vssadmin delete shadows*'
|
||||
- 'vssadmin create shadow /for=C:*'
|
||||
- 'copy \\?\GLOBALROOT\Device\*\windows\ntds\ntds.dit*'
|
||||
- 'copy \\?\GLOBALROOT\Device\*\config\SAM*'
|
||||
- 'reg SAVE HKLM\SYSTEM *'
|
||||
- '* sekurlsa:*'
|
||||
- 'net localgroup adminstrators * /add'
|
||||
- 'net group "Domain Admins" * /ADD /DOMAIN'
|
||||
- 'certutil.exe *-urlcache* http*'
|
||||
- 'certutil.exe *-urlcache* ftp*'
|
||||
# Malware
|
||||
- 'netsh advfirewall firewall *\AppData\*'
|
||||
- 'attrib +S +H +R *\AppData\*'
|
||||
- 'schtasks* /create *\AppData\*'
|
||||
- 'schtasks* /sc minute*'
|
||||
- '*\Regasm.exe *\AppData\*'
|
||||
- '*\Regasm *\AppData\*'
|
||||
- '*\bitsadmin* /transfer*'
|
||||
- '*\certutil.exe * -decode *'
|
||||
- '*\certutil.exe * -decodehex *'
|
||||
- '*\certutil.exe -ping *'
|
||||
- 'icacls * /grant Everyone:F /T /C /Q'
|
||||
- '* wmic shadowcopy delete *'
|
||||
- '* wbadmin.exe delete catalog -quiet*' # http://blog.talosintelligence.com/2018/02/olympic-destroyer.html
|
||||
# Scripts
|
||||
- '*\wscript.exe *.jse'
|
||||
- '*\wscript.exe *.js'
|
||||
- '*\wscript.exe *.vba'
|
||||
- '*\wscript.exe *.vbe'
|
||||
- '*\cscript.exe *.jse'
|
||||
- '*\cscript.exe *.js'
|
||||
- '*\cscript.exe *.vba'
|
||||
- '*\cscript.exe *.vbe'
|
||||
# UAC bypass
|
||||
- '*\fodhelper.exe'
|
||||
# persistence
|
||||
- '*waitfor*/s*'
|
||||
- '*waitfor*/si persist*'
|
||||
# remote
|
||||
- '*remote*/s*'
|
||||
- '*remote*/c*'
|
||||
- '*remote*/q*'
|
||||
# AddInProcess
|
||||
- '*AddInProcess*'
|
||||
# NotPowershell (nps) attack
|
||||
# - '*msbuild*' # too many false positives
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
# Hacking activity
|
||||
- 'vssadmin.exe delete shadows*'
|
||||
- 'vssadmin delete shadows*'
|
||||
- 'vssadmin create shadow /for=C:*'
|
||||
- 'copy \\?\GLOBALROOT\Device\*\windows\ntds\ntds.dit*'
|
||||
- 'copy \\?\GLOBALROOT\Device\*\config\SAM*'
|
||||
- 'reg SAVE HKLM\SYSTEM *'
|
||||
- '* sekurlsa:*'
|
||||
- 'net localgroup adminstrators * /add'
|
||||
- 'net group "Domain Admins" * /ADD /DOMAIN'
|
||||
- 'certutil.exe *-urlcache* http*'
|
||||
- 'certutil.exe *-urlcache* ftp*'
|
||||
# Malware
|
||||
- 'netsh advfirewall firewall *\AppData\*'
|
||||
- 'attrib +S +H +R *\AppData\*'
|
||||
- 'schtasks* /create *\AppData\*'
|
||||
- 'schtasks* /sc minute*'
|
||||
- '*\Regasm.exe *\AppData\*'
|
||||
- '*\Regasm *\AppData\*'
|
||||
- '*\bitsadmin* /transfer*'
|
||||
- '*\certutil.exe * -decode *'
|
||||
- '*\certutil.exe * -decodehex *'
|
||||
- '*\certutil.exe -ping *'
|
||||
- 'icacls * /grant Everyone:F /T /C /Q'
|
||||
- '* wmic shadowcopy delete *'
|
||||
- '* wbadmin.exe delete catalog -quiet*' # http://blog.talosintelligence.com/2018/02/olympic-destroyer.html
|
||||
# Scripts
|
||||
- '*\wscript.exe *.jse'
|
||||
- '*\wscript.exe *.js'
|
||||
- '*\wscript.exe *.vba'
|
||||
- '*\wscript.exe *.vbe'
|
||||
- '*\cscript.exe *.jse'
|
||||
- '*\cscript.exe *.js'
|
||||
- '*\cscript.exe *.vba'
|
||||
- '*\cscript.exe *.vbe'
|
||||
# UAC bypass
|
||||
- '*\fodhelper.exe'
|
||||
# persistence
|
||||
- '*waitfor*/s*'
|
||||
- '*waitfor*/si persist*'
|
||||
# remote
|
||||
- '*remote*/s*'
|
||||
- '*remote*/c*'
|
||||
- '*remote*/q*'
|
||||
# AddInProcess
|
||||
- '*AddInProcess*'
|
||||
# NotPowershell (nps) attack
|
||||
# - '*msbuild*' # too many false positives
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: PowerShell Script Run in AppData
|
||||
status: experimental
|
||||
description: Detects a suspicious command line execution that invokes PowerShell with reference to an AppData folder
|
||||
references:
|
||||
- https://twitter.com/JohnLaTwC/status/1082851155481288706
|
||||
- https://app.any.run/tasks/f87f1c4e-47e2-4c46-9cf4-31454c06ce03
|
||||
author: Florian Roth
|
||||
date: 2019/01/09
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Administrative scripts
|
||||
level: medium
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine:
|
||||
- '* /c powershell*\AppData\Local\*'
|
||||
- '* /c powershell*\AppData\Roaming\*'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
ProcessCommandLine:
|
||||
- '* /c powershell*\AppData\Local\*'
|
||||
- '* /c powershell*\AppData\Roaming\*'
|
||||
@@ -0,0 +1,28 @@
|
||||
title: Suspicious PsExec execution
|
||||
description: detects execution of psexec or paexec with renamed service name, this rule helps to filter out the noise if psexec is used for legit purposes or if attacker uses a different psexec client other than sysinternal one
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://blog.menasec.net/2019/02/threat-hunting-3-detecting-psexec.html
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.t1077
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection1:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
RelativeTargetName:
|
||||
- '*-stdin'
|
||||
- '*-stdout'
|
||||
- '*-stderr'
|
||||
selection2:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
RelativeTargetName: 'PSEXESVC*'
|
||||
condition: selection1 and not selection2
|
||||
falsepositives:
|
||||
- nothing observed so far
|
||||
level: high
|
||||
@@ -0,0 +1,30 @@
|
||||
title: Suspicious access to sensitive file extensions
|
||||
description: Detects known sensitive file extensions
|
||||
author: Samir Bousseaden
|
||||
tags:
|
||||
- attack.collection
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection:
|
||||
EventID:
|
||||
- 5145
|
||||
RelativeTargetName:
|
||||
- '*.pst'
|
||||
- '*.ost'
|
||||
- '*.msg'
|
||||
- '*.nst'
|
||||
- '*.oab'
|
||||
- '*.edb'
|
||||
- '*.nsf'
|
||||
- '*.bak'
|
||||
- '*.dmp'
|
||||
- '*.kirbi'
|
||||
- '*\ntds.dit'
|
||||
- '*\groups.xml'
|
||||
- '*.rdp'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Help Desk operator doing backup or re-imaging end user machine or pentest or backup software
|
||||
level: high
|
||||
@@ -1,32 +0,0 @@
|
||||
action: global
|
||||
title: Suspicious RASdial Activity
|
||||
description: Detects suspicious process related to rasdial.exe
|
||||
status: experimental
|
||||
references:
|
||||
- https://twitter.com/subTee/status/891298217907830785
|
||||
author: juju4
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
- 'rasdial'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: medium
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
@@ -1,38 +0,0 @@
|
||||
action: global
|
||||
title: Suspicious Process Start Locations
|
||||
description: Detects suspicious process run from unusual locations
|
||||
status: experimental
|
||||
references:
|
||||
- https://car.mitre.org/wiki/CAR-2013-05-002
|
||||
author: juju4
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1036
|
||||
detection:
|
||||
selection:
|
||||
CommandLine:
|
||||
- "*:\\RECYCLER\\*"
|
||||
- "*:\\SystemVolumeInformation\\*"
|
||||
- "%windir%\\Tasks\\*"
|
||||
- "%systemroot%\\debug\\*"
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- False positives depend on scripts and administrative tools used in the monitored environment
|
||||
level: medium
|
||||
---
|
||||
# Windows Audit Log
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
---
|
||||
# Sysmon
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
@@ -9,7 +9,7 @@ references:
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1107
|
||||
- attack.t1116
|
||||
- attack.t1066
|
||||
- attack.s0195
|
||||
logsource:
|
||||
product: windows
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Suspicious Svchost Processes
|
||||
description: Detects suspicious svchost processes with parent process that is not services.exe, command line missing -k parameter or running outside Windows folder
|
||||
author: Florian Roth, @c_APT_ure
|
||||
date: 2018/10/26
|
||||
status: experimental
|
||||
references:
|
||||
- https://twitter.com/Moti_B/status/1002280132143394816
|
||||
- https://twitter.com/Moti_B/status/1002280287840153601
|
||||
falsepositives:
|
||||
- Renamed %SystemRoot%s
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
Image: '*\svchost.exe'
|
||||
filter1:
|
||||
ParentImage:
|
||||
- '*\services.exe'
|
||||
- '*\MsMpEng.exe'
|
||||
filter2:
|
||||
CommandLine: '* -k *'
|
||||
filter3:
|
||||
Image: 'C:\Windows\S*' # \* is a reserved expression
|
||||
condition: selection and not ( filter1 or filter2 or filter3 )
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
NewProcessName: '*\svchost.exe'
|
||||
# Deactivated as long as some backends do not fully support the 'null' expression
|
||||
# filter2:
|
||||
# ProcessCommandLine:
|
||||
# - null # Missing KB3004375 and Group Policy setting
|
||||
# - '* -k *'
|
||||
filter3:
|
||||
NewProcessName: 'C:\Windows\S*' # \* is a reserved expression
|
||||
condition: selection and not filter3
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
title: Unauthorized System Time Modification
|
||||
status: experimental
|
||||
description: Detect scenarios where a potentially unauthorized application or user is modifying the system time.
|
||||
author: '@neu5ron'
|
||||
references:
|
||||
- Private Cuckoo Sandbox (from many years ago, no longer have hash, NDA as well)
|
||||
- Live environment caused by malware
|
||||
date: 2019/02/05
|
||||
tags:
|
||||
- attack.defense_evasion
|
||||
- attack.t1099
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : System > Audit Security State Change, Group Policy : Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\Audit Policies\System\Audit Security State Change'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4616
|
||||
filter1:
|
||||
ProcessName: 'C:\Program Files\VMware\VMware Tools\vmtoolsd.exe'
|
||||
filter2:
|
||||
ProcessName: 'C:\Windows\System32\VBoxService.exe'
|
||||
filter3:
|
||||
ProcessName: 'C:\Windows\System32\svchost.exe'
|
||||
SubjectUserSid: 'S-1-5-19'
|
||||
condition: selection and not ( filter1 or filter2 or filter3 )
|
||||
falsepositives:
|
||||
- HyperV or other virtualization technologies with binary not listed in filter portion of detection
|
||||
level: high
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: Whoami Execution
|
||||
status: experimental
|
||||
description: 'Detects the execution of whoami, which is often used by attackers after exloitation / privilege escalation but rarely used by administrators'
|
||||
references:
|
||||
- https://twitter.com/haroonmeer/status/939099379834658817
|
||||
- https://twitter.com/c_APT_ure/status/939475433711722497
|
||||
author: Florian Roth
|
||||
date: 2018/05/22
|
||||
tags:
|
||||
- attack.discovery
|
||||
- attack.t1033
|
||||
detection:
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Admin activity
|
||||
- Scripts and administrative tools used in the monitored environment
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
CommandLine: 'whoami'
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
NewProcessName: '*\whoami.exe'
|
||||
@@ -0,0 +1,22 @@
|
||||
title: Remote Service Activity Detected via SVCCTL named pipe
|
||||
description: Detects remote remote service activity via remote access to the svcctl named pipe
|
||||
author: Samir Bousseaden
|
||||
references:
|
||||
- https://blog.menasec.net/2019/03/threat-hunting-26-remote-windows.html
|
||||
tags:
|
||||
- attack.lateral_movement
|
||||
- attack.persistence
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
description: 'The advanced audit policy setting "Object Access > Audit Detailed File Share" must be configured for Success/Failure'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 5145
|
||||
ShareName: \\*\IPC$
|
||||
RelativeTargetName: svcctl
|
||||
Accesses: '*WriteData*'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- pentesting
|
||||
level: medium
|
||||
@@ -5,6 +5,9 @@ references:
|
||||
- https://www.techrepublic.com/article/how-to-track-down-usb-flash-drive-usage-in-windows-10s-event-viewer/
|
||||
status: experimental
|
||||
author: Florian Roth
|
||||
tags:
|
||||
- attack.initial_access
|
||||
- attack.t1200
|
||||
logsource:
|
||||
product: windows
|
||||
service: driver-framework
|
||||
|
||||
@@ -4,6 +4,7 @@ status: stable
|
||||
author: Florian Roth
|
||||
tags:
|
||||
- attack.privilege_escalation
|
||||
- attack.t1078
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
title: Detects local user creation
|
||||
description: Detects local user creation on windows servers, which shouldn't happen in an Active Directory environment. Apply this Sigma Use Case on your windows server logs and not on your DC logs.
|
||||
status: experimental
|
||||
tags:
|
||||
- attack.persistence
|
||||
- attack.t1136
|
||||
references:
|
||||
- https://patrick-bareiss.com/detecting-local-user-creation-in-ad-with-sigma/
|
||||
author: Patrick Bareiss
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4720
|
||||
condition: selection
|
||||
fields:
|
||||
- EventCode
|
||||
- AccountName
|
||||
- AccountDomain
|
||||
falsepositives:
|
||||
- Domain Controller Logs
|
||||
- Local accounts managed by privileged account management tools
|
||||
level: low
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
action: global
|
||||
title: WMI Persistence - Script Event Consumer
|
||||
status: experimental
|
||||
description: Detects WMI script event consumers
|
||||
references:
|
||||
- https://www.eideon.com/2018-03-02-THL03-WMIBackdoors/
|
||||
author: Thomas Patzke
|
||||
date: 2018/03/07
|
||||
tags:
|
||||
- attack.execution
|
||||
- attack.persistence
|
||||
- attack.t1047
|
||||
detection:
|
||||
selection:
|
||||
Image: 'C:\WINDOWS\system32\wbem\scrcons.exe'
|
||||
ParentImage: 'C:\Windows\System32\svchost.exe'
|
||||
condition: selection
|
||||
falsepositives:
|
||||
- Legitimate event consumers
|
||||
level: high
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: sysmon
|
||||
detection:
|
||||
selection:
|
||||
EventID: 1
|
||||
---
|
||||
logsource:
|
||||
product: windows
|
||||
service: security
|
||||
definition: 'Requirements: Audit Policy : Detailed Tracking > Audit Process creation, Group Policy : Administrative Templates\System\Audit Process Creation'
|
||||
detection:
|
||||
selection:
|
||||
EventID: 4688
|
||||
@@ -1,6 +1,7 @@
|
||||
title: Antivirus Exploitation Framework Detection
|
||||
description: Detects a highly relevant Antivirus alert that reports an exploitation framework
|
||||
date: 2018/09/09
|
||||
modified: 2019/01/16
|
||||
author: Florian Roth
|
||||
references:
|
||||
- https://www.nextron-systems.com/2018/09/08/antivirus-event-analysis-cheat-sheet-v1-4/
|
||||
@@ -15,10 +16,12 @@ detection:
|
||||
selection:
|
||||
Signature:
|
||||
- "*MeteTool*"
|
||||
- "*MPreter*"
|
||||
- "*Meterpreter*"
|
||||
- "*Metasploit*"
|
||||
- "*PowerSploit*"
|
||||
- "*CobaltSrike*"
|
||||
- "*Swrort*"
|
||||
condition: selection
|
||||
fields:
|
||||
- FileName
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user