Skip to content

Commit

Permalink
Merge branch 'main' into patch-44
Browse files Browse the repository at this point in the history
  • Loading branch information
morriscode authored Oct 17, 2023
2 parents f474634 + 234287d commit 1f358bd
Show file tree
Hide file tree
Showing 178 changed files with 917 additions and 671 deletions.
9 changes: 3 additions & 6 deletions detection-rules/attachment_adobe_image_lure_fts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,10 @@ source: |
)
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,10 @@ source: |
and any(file.explode(.), .depth > 0 and .file_extension in~ ("html", "htm"))
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
11 changes: 3 additions & 8 deletions detection-rules/attachment_any_html_new_sender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,11 @@ severity: "medium"
source: |
type.inbound
and any(attachments, .file_extension in~ ('htm', 'html') or .file_type == "html")
// first-time sender
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
12 changes: 2 additions & 10 deletions detection-rules/attachment_any_html_unsolicited.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,9 @@ severity: "low"
source: |
type.inbound
and any(attachments, .file_extension in~ ('htm', 'html') or .file_type == "html")
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
)
not profile.by_sender().any_false_positives
and not profile.by_sender().solicited
)
tags:
- "Attack surface reduction"
Expand Down
9 changes: 3 additions & 6 deletions detection-rules/attachment_callback_phish_with_img.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,10 @@ severity: "high"
source: |
type.inbound
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
and sender.email.domain.root_domain in $free_email_providers
Expand Down
9 changes: 3 additions & 6 deletions detection-rules/attachment_callback_phish_with_pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,10 @@ severity: "high"
source: |
type.inbound
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
Expand Down
10 changes: 4 additions & 6 deletions detection-rules/attachment_docusign_image_suspicious_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,11 @@ source: |
)
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
9 changes: 3 additions & 6 deletions detection-rules/attachment_dropbox_image_suspicious_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,10 @@ source: |
)
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
11 changes: 3 additions & 8 deletions detection-rules/attachment_eml_cred_theft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,11 @@ source: |
and not any(attachments, .content_type == "message/delivery-status")
// if the "References" is in the body of the message, it's probably a bounce
and not any(headers.references, strings.contains(body.html.display_text, .))
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
11 changes: 3 additions & 8 deletions detection-rules/attachment_eml_with_html_attachment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,11 @@ source: |
and not any(attachments, .content_type == "message/delivery-status")
// if the "References" is in the body of the message, it's probably a bounce
and not any(headers.references, strings.contains(body.html.display_text, .))
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,10 @@ source: |
)
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
9 changes: 3 additions & 6 deletions detection-rules/attachment_encrypted_ole_unsolicited.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,10 @@ source: |
and file.oletools(.).indicators.encryption.exists
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
10 changes: 3 additions & 7 deletions detection-rules/attachment_html_attachment_login_page.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,11 @@ source: |
)
)
)
// Unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,10 @@ authors:
source: |
type.inbound
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
and any(attachments,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,10 @@ source: |
)
)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
// allow Microsoft domains just to be safe
Expand Down
10 changes: 3 additions & 7 deletions detection-rules/attachment_js_file_execution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,11 @@ source: |
)
)
)
// first-time sender
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
9 changes: 3 additions & 6 deletions detection-rules/attachment_malwarebazaar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ source: |
type.inbound
and any(attachments, .sha256 in $abuse_ch_malwarebazaar_sha256_trusted_reporters)
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $sender_emails
)
profile.by_sender().prevalence in ("new", "outlier")
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $sender_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
tags:
Expand Down
11 changes: 3 additions & 8 deletions detection-rules/attachment_mht_embedded_vbscript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,11 @@ source: |
and any(file.explode(.), .file_extension =~ "mht")
and any(file.explode(.), any(.scan.html.scripts, .language == "VBScript"))
)
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
20 changes: 11 additions & 9 deletions detection-rules/attachment_microsoft_image_lure_qr_code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,18 @@ source: |
type.inbound
and (
any(attachments,
.file_type in $file_types_images
(.file_type in $file_types_images or .file_type == "pdf")
and any(ml.logo_detect(.).brands, strings.starts_with(.name, "Microsoft"))
)
or any(ml.logo_detect(beta.message_screenshot()).brands, strings.starts_with(.name, "Microsoft"))
or (any(attachments, .file_type in~ $file_extensions_macros))
)
and any(attachments,
.file_type in $file_types_images
(
.file_type in $file_types_images
or .file_type == "pdf"
or .file_type in $file_extensions_macros
)
and (
any(file.explode(.),
regex.icontains(.scan.ocr.raw, 'scan|camera')
Expand Down Expand Up @@ -56,22 +61,19 @@ source: |
and sender.email.domain.domain == "microsoft.com"
)
)
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
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"
- "PDF"
- "QR code"
- "Social engineering"
detection_methods:
Expand Down
10 changes: 3 additions & 7 deletions detection-rules/attachment_office365_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,11 @@ source: |
and sender.email.domain.domain in ("microsoft.com", "sharepointonline.com")
)
)
// unsolicited
and (
(
sender.email.domain.root_domain in $free_email_providers
and sender.email.email not in $recipient_emails
)
not profile.by_sender().solicited
or (
sender.email.domain.root_domain not in $free_email_providers
and sender.email.domain.domain not in $recipient_domains
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_false_positives
)
)
attack_types:
Expand Down
Loading

0 comments on commit 1f358bd

Please sign in to comment.