-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into sam.penpal.fraud
- Loading branch information
Showing
18 changed files
with
694 additions
and
30 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
41 changes: 41 additions & 0 deletions
41
detection-rules/attachment_office_suspicious_functions.yml
This file contains 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,41 @@ | ||
name: "Attachment: Office file with suspicious function calls or downloaded file path" | ||
description: "Attached Office file contains suspicious function calls or known malicious file path pattern." | ||
references: | ||
- "https://app.docguard.io/c3e75d7a32a4959724f24c1004724951482cd732db7d287989c873c09166ff95/c3036de5-89b1-49c6-9681-706f5b9af264/0/results/dashboard" | ||
type: "rule" | ||
severity: "high" | ||
source: | | ||
type.inbound | ||
and any(attachments, | ||
( | ||
// office files | ||
.file_extension in~ $file_extensions_macros | ||
or .file_extension in~ $file_extensions_common_archives | ||
or ( | ||
.file_extension is null | ||
and .file_type == "unknown" | ||
and .content_type == "application/octet-stream" | ||
and .size < 100000 | ||
) | ||
) | ||
and ( | ||
any(file.explode(.), | ||
( | ||
any(.scan.strings.strings, strings.ilike(., '*URLDownloadToFile*')) | ||
and any(.scan.strings.strings, strings.ilike(., '*Auto_Open*')) | ||
) | ||
or any(.scan.strings.strings, | ||
regex.icontains(., 'C:\\[A-Za-z]{7}\\[A-Za-z]{7}\\[A-Za-z]{7}') | ||
) | ||
) | ||
) | ||
) | ||
attack_types: | ||
- "Malware/Ransomware" | ||
tactics_and_techniques: | ||
- "Evasion" | ||
- "Scripting" | ||
detection_methods: | ||
- "Archive analysis" | ||
- "File analysis" | ||
id: "4c78b969-9df8-59e1-8f65-43afdb06c817" |
53 changes: 53 additions & 0 deletions
53
detection-rules/credential_phishing_docusign_embedded_image_lure.yml
This file contains 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,53 @@ | ||
name: "Credential Phishing: DocuSign embedded image lure with no DocuSign domains in links" | ||
description: "Detects DocuSign phishing emails with no DocuSign links, a DocuSign logo embedded in the body of the message, from a new sender." | ||
type: "rule" | ||
severity: "high" | ||
source: | | ||
type.inbound | ||
and length(attachments) == 0 | ||
and any(body.links, | ||
not strings.ilike(.href_url.domain.root_domain, "docusign.*") | ||
) | ||
and ( | ||
any(ml.logo_detect(beta.message_screenshot()).brands, | ||
.name == "DocuSign" | ||
or any(file.explode(beta.message_screenshot()), | ||
strings.ilike(.scan.ocr.raw, "*DocuSign*") | ||
and any(ml.nlu_classifier(.scan.ocr.raw).intents, | ||
.name == "cred_theft" and .confidence != "low" | ||
) | ||
) | ||
) | ||
) | ||
and any(file.explode(beta.message_screenshot()), | ||
regex.icontains(.scan.ocr.raw, | ||
"review document", | ||
"[^d][^o][^c][^u]sign", | ||
"important edocs", | ||
"completed document" | ||
) | ||
) | ||
and ( | ||
( | ||
not profile.by_sender().solicited | ||
and profile.by_sender().prevalence in ("new", "outlier") | ||
) | ||
or ( | ||
profile.by_sender().any_messages_malicious_or_spam | ||
and not profile.by_sender().any_false_positives | ||
) | ||
) | ||
attack_types: | ||
- "Credential Phishing" | ||
tactics_and_techniques: | ||
- "Impersonation: Brand" | ||
- "Social engineering" | ||
detection_methods: | ||
- "Computer Vision" | ||
- "Content analysis" | ||
- "Header analysis" | ||
- "Natural Language Understanding" | ||
- "Optical Character Recognition" | ||
- "Sender analysis" | ||
id: "dfe8715e-6318-579b-9131-ddfc9854dc95" |
This file contains 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
This file contains 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,51 @@ | ||
name: "Image as content linking to an open redirect" | ||
description: "Body contains little, no, or only disclaimer text, and an image linking to an open redirect." | ||
type: "rule" | ||
severity: "high" | ||
source: | | ||
type.inbound | ||
and length(body.links) < 3 | ||
and 0 < (length(attachments)) < 3 | ||
and all(attachments, (.file_type in $file_types_images)) | ||
and ( | ||
// body text is very short | ||
( | ||
0 <= (length(body.current_thread.text)) < 10 | ||
or body.current_thread.text is null | ||
) | ||
or ( | ||
length(body.current_thread.text) < 900 | ||
// or body is most likely all warning banner (text contains the sender and common warning banner language) | ||
and ( | ||
( | ||
strings.contains(body.current_thread.text, sender.email.email) | ||
and strings.contains(body.current_thread.text, 'caution') | ||
) | ||
or regex.icontains(body.current_thread.text, | ||
"intended recipient's use only|external email|sent from outside|you don't often|confidential" | ||
) | ||
) | ||
) | ||
) | ||
and ( | ||
any(body.links, | ||
any(.href_url.rewrite.encoders, strings.icontains(., "open_redirect")) | ||
) | ||
or any(body.links, | ||
.href_url.domain.root_domain == 'sng.link' | ||
and strings.ilike(.href_url.query_params, "*fallback_redirect*") | ||
) | ||
) | ||
attack_types: | ||
- "Credential Phishing" | ||
- "Malware/Ransomware" | ||
tactics_and_techniques: | ||
- "Evasion" | ||
- "Image as content" | ||
- "Open redirect" | ||
- "Social engineering" | ||
detection_methods: | ||
- "Content analysis" | ||
- "HTML analysis" | ||
- "URL analysis" | ||
id: "f5cec36b-76ea-5cd6-958b-74f819d73a47" |
63 changes: 63 additions & 0 deletions
63
detection-rules/impersonation_adobe_suspicious_language_link.yml
This file contains 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,63 @@ | ||
name: "Brand impersonation: Adobe with suspicious language and link" | ||
description: "Email contains an Adobe logo, at least one link, and suspicious link language from a new sender." | ||
type: "rule" | ||
severity: "high" | ||
source: | | ||
type.inbound | ||
and length(attachments) == 0 | ||
and length(body.links) > 0 | ||
and any(ml.logo_detect(beta.message_screenshot()).brands, | ||
.name == "Adobe" and .confidence in ("high") | ||
) | ||
and ( | ||
any(file.explode(beta.message_screenshot()), | ||
strings.ilike(.scan.ocr.raw, | ||
"*review*", | ||
"*sign*", | ||
"*view*", | ||
"*completed document*", | ||
"*open agreement*", | ||
"*open document*" | ||
) | ||
) | ||
or any(body.links, | ||
strings.ilike(.display_text, | ||
"*review*", | ||
"*sign*", | ||
"*view*", | ||
"*completed document*", | ||
"*open agreement*", | ||
"*open document*" | ||
) | ||
) | ||
) | ||
and ( | ||
profile.by_sender().prevalence in ("new", "outlier") | ||
or ( | ||
profile.by_sender().any_messages_malicious_or_spam | ||
and not profile.by_sender().any_false_positives | ||
) | ||
) | ||
// negate highly trusted sender domains unless they fail DMARC authentication | ||
and ( | ||
( | ||
sender.email.domain.root_domain in $high_trust_sender_root_domains | ||
and ( | ||
any(distinct(headers.hops, .authentication_results.dmarc is not null), | ||
strings.ilike(.authentication_results.dmarc, "*fail") | ||
) | ||
) | ||
) | ||
or sender.email.domain.root_domain not in $high_trust_sender_root_domains | ||
) | ||
attack_types: | ||
- "Credential Phishing" | ||
tactics_and_techniques: | ||
- "Impersonation: Brand" | ||
- "Social engineering" | ||
detection_methods: | ||
- "Computer Vision" | ||
- "Content analysis" | ||
- "Header analysis" | ||
- "Sender analysis" | ||
id: "32cc8bf1-f4d7-549f-a970-eade24b7c6ae" |
This file contains 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,41 @@ | ||
name: "Brand impersonation: Dotloop" | ||
description: "Impersonation of Dotloop, a real estate transaction management platform." | ||
type: "rule" | ||
severity: "medium" | ||
source: | | ||
type.inbound | ||
and ( | ||
strings.ilike(sender.display_name, '*dotloop*') | ||
or strings.ilike(sender.email.domain.domain, '*dotloop*') | ||
) | ||
and sender.email.domain.root_domain not in~ ('dotloop.com', 'showingtime.com') | ||
and ( | ||
( | ||
profile.by_sender().prevalence in ("new", "outlier") | ||
and not profile.by_sender().solicited | ||
) | ||
or profile.by_sender().any_messages_malicious_or_spam | ||
) | ||
and not profile.by_sender().any_false_positives | ||
// negate highly trusted sender domains unless they fail DMARC authentication | ||
and ( | ||
( | ||
sender.email.domain.root_domain in $high_trust_sender_root_domains | ||
and ( | ||
any(distinct(headers.hops, .authentication_results.dmarc is not null), | ||
strings.ilike(.authentication_results.dmarc, "*fail") | ||
) | ||
) | ||
) | ||
or sender.email.domain.root_domain not in $high_trust_sender_root_domains | ||
) | ||
attack_types: | ||
- "Credential Phishing" | ||
tactics_and_techniques: | ||
- "Impersonation: Brand" | ||
- "Social engineering" | ||
detection_methods: | ||
- "Header analysis" | ||
- "Sender analysis" | ||
id: "f997581a-ca08-5b21-8a52-ee0ca78fcea5" |
This file contains 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
Oops, something went wrong.