-
Notifications
You must be signed in to change notification settings - Fork 99
Create rule: Generic Financial Document Template #4498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
missingn0pe
wants to merge
13
commits into
main
Choose a base branch
from
missingn0pe.fn.ESC-13584.new_rule_generic_financials_template
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
27d6349
Create rule: Generic Financial Document Template
missingn0pe a68fc0d
Auto-format MQL and add rule IDs
ecc4069
Merge branch 'main' into missingn0pe.fn.ESC-13584.new_rule_generic_fi…
missingn0pe 9384da2
Update link_financial_document_timeline_template.yml
missingn0pe 902d97c
Update link_financial_document_timeline_template.yml
missingn0pe e6a854f
Update link_financial_document_timeline_template.yml
missingn0pe b8a832d
Update generic financial document template - tighter scope.
missingn0pe 8b942d0
Update detection-rules/link_financial_document_timeline_template.yml
missingn0pe 50330e9
Update detection-rules/link_financial_document_timeline_template.yml
missingn0pe d8d8c93
Update detection-rules/link_financial_document_timeline_template.yml
missingn0pe 7fbefae
Update link_financial_document_timeline_template.yml
missingn0pe 9683ae6
Update link_financial_document_timeline_template.yml
missingn0pe 9e2fb5b
Update link_financial_document_timeline_template.yml
missingn0pe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
60 changes: 60 additions & 0 deletions
60
detection-rules/link_financial_document_timeline_template.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| name: "Link: Generic financial document with proceedural timeline template" | ||
| description: "Detects messages with generic greetings that reference payment releases & timelines, and exhibit unusual recipient patterns such as self-sending or missing recipients." | ||
| type: "rule" | ||
| severity: "medium" | ||
| source: | | ||
| type.inbound | ||
| // expectation of time | ||
| and regex.icontains(body.current_thread.text, | ||
| 'will be released.{0,15}(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday),\s+(?:January|February|March|April|May|June|July|August|September|October|November|December)\s+\d{1,2},', | ||
| '\b[1-4]\W[1-4]\b.{1,10}days' | ||
| ) | ||
|
|
||
| // link is malicious | ||
| and any(body.links, | ||
| // key phrasing or nlu | ||
| ( | ||
| regex.icontains(.display_text, | ||
| '(?:access|show|view).{0,10}(?:confirmation|message|payment|statement)', | ||
| 'advice', | ||
| 'deposit', | ||
| 'document', | ||
| 'eft', | ||
| 'release', | ||
| 'remit' | ||
| ) | ||
|
missingn0pe marked this conversation as resolved.
|
||
| or any(ml.nlu_classifier(body.current_thread.text).topics, | ||
| .name == "Request to View Invoice" and .confidence == "high" | ||
| ) | ||
| ) | ||
| // negate org domains | ||
| and .href_url.domain.valid != false | ||
| and .href_url.domain.root_domain not in $org_domains | ||
| ) | ||
|
|
||
| // suspicious sender behavior | ||
| and ( | ||
| ( | ||
| length(recipients.to) == 1 | ||
| and length(recipients.cc) == 0 | ||
| and sender.email.email == recipients.to[0].email.email | ||
| ) | ||
| // the recipient is undisclosed or there are no recipients | ||
| or ( | ||
| length(recipients.to) == 0 | ||
| or all(recipients.to, .email.domain.valid == false) | ||
| ) | ||
| ) | ||
|
|
||
| attack_types: | ||
| - "BEC/Fraud" | ||
| - "Credential Phishing" | ||
| tactics_and_techniques: | ||
| - "Social engineering" | ||
| - "Evasion" | ||
| detection_methods: | ||
| - "Content analysis" | ||
| - "Natural Language Understanding" | ||
| - "Header analysis" | ||
| - "Sender analysis" | ||
| id: "027cb65d-aee3-5f10-9555-20b719bbde42" | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.