SC-037: SIM Swapping Attack → Account Takeover & Wire Fraud¶
Scenario Header
Type: Mobile / Financial Fraud | Difficulty: ★★★★☆ | Duration: 2–3 hours | Participants: 4–6
Threat Actor: MOBILE PHANTOM — financially motivated criminal group specializing in SIM swap fraud
Primary ATT&CK Techniques: T1078 (Valid Accounts) · T1556 (Modify Authentication Process) · T1539 (Steal Web Session Cookie) · T1565.001 (Stored Data Manipulation)
Threat Actor Profile¶
MOBILE PHANTOM is a financially motivated cybercriminal group active since 2023, specializing in SIM swap attacks targeting high-net-worth individuals and corporate finance officers. The group operates a hybrid model: social engineering of mobile carrier support staff combined with insider recruitment at regional carrier retail stores. Their average payout per successful operation exceeds $350K, with some operations exceeding $2M in wire fraud proceeds.
The group maintains a database of pre-researched targets sourced from LinkedIn scraping, corporate SEC filings, and data broker purchases. They prioritize targets at financial institutions where SMS-based 2FA remains the primary second factor for high-privilege operations such as wire transfers and ACH batch approvals.
Motivation: Financial — wire fraud ($200K–$2M per incident), cryptocurrency theft, business account takeover.
Executive Summary¶
Sterling Financial Services, a mid-market investment management firm with $4.2B AUM, suffered a coordinated SIM swap attack against its CFO, David Mercer. MOBILE PHANTOM conducted extensive OSINT to gather personal information, then social-engineered a mobile carrier representative into porting Mercer's phone number to an attacker-controlled SIM. With control of the phone number, the attackers intercepted SMS-based 2FA codes, gained access to corporate banking portals, and initiated three wire transfers totaling $1.87M to mule accounts before detection.
The attack exploited Sterling's reliance on SMS-based MFA for its treasury management platform and the absence of out-of-band verification procedures for wire transfers exceeding internal thresholds.
Scenario Narrative¶
Phase 1 — Reconnaissance & Target Selection (~15 min)¶
MOBILE PHANTOM identifies David Mercer, CFO of Sterling Financial Services, through LinkedIn profiling and SEC EDGAR filings. The group purchases a comprehensive background report from a data broker, obtaining Mercer's personal phone number, home address, date of birth, and SSN (last 4 digits) from a previous data breach aggregation. They also identify Sterling's primary banking relationship (First National Commercial Bank) from public ACH originator records.
The group conducts passive reconnaissance on Sterling's corporate website, confirming Mercer's role includes wire transfer authority. A review of Sterling's job postings reveals they use "TreasuryDirect Pro" for cash management — a platform known to support SMS 2FA.
Evidence Artifacts:
| Artifact | Detail |
|---|---|
| OSINT Dossier | Target: David Mercer, CFO — Phone: +1-555-0147 — Carrier: MobileFirst Wireless — Account PIN: obtained via data broker (last 4 SSN) |
| LinkedIn Activity | Profile viewed 3x from anonymous accounts between 2026-03-01 and 2026-03-08 — IP: 198.51.100.22 (VPN exit, Eastern Europe) |
| Data Broker Record | Full background report purchased for $49 from people-search.example.com — contains phone, DOB, addresses, associates |
| SEC EDGAR | Sterling Financial Services 10-K filing lists David Mercer as CFO with signatory authority |
Phase 1 — Discussion Inject
Technical: The attackers obtained the target's last 4 SSN digits from a data broker. Many mobile carriers use this as a primary verification factor. What alternative identity verification methods should carriers implement, and what can enterprises do to protect executives from this exposure?
Decision: Your executive protection program currently monitors for credential exposures on the dark web. Should you extend monitoring to data broker sites that aggregate PII? What legal mechanisms (CCPA, state privacy laws) can you use to remove executive PII from these brokers?
Expected Analyst Actions: - [ ] Identify which executives have wire transfer authority and assess their personal exposure - [ ] Review data broker sites for executive PII availability - [ ] Verify what authentication factors the corporate mobile carrier account uses - [ ] Check if executive phone numbers are enrolled in carrier port-protection features
Phase 2 — SIM Swap Execution (~20 min)¶
At 14:32 UTC on March 15, 2026, a MOBILE PHANTOM operative calls MobileFirst Wireless customer support, impersonating David Mercer. The caller provides Mercer's full name, date of birth, home address, and last 4 SSN digits — passing the carrier's standard identity verification. The operative claims their phone was damaged and requests an emergency SIM swap to a new device with ICCID 8901260012345678901.
The carrier representative processes the request. Within 90 seconds, Mercer's phone number (+1-555-0147) is active on the attacker's device. Mercer's legitimate phone loses cellular service — calls, texts, and data cease functioning. The attacker immediately receives a test SMS to confirm control of the number.
Evidence Artifacts:
| Artifact | Detail |
|---|---|
| Carrier Call Log | 2026-03-15T14:32:17Z — Inbound call to MobileFirst support — ANI: +1-555-0199 (prepaid burner) — Agent: Rep #4471 — Duration: 4m 22s |
| Carrier System Log | 14:35:41Z — SIM swap processed — MSISDN: +1-555-0147 — Old ICCID: 8901260098765432101 → New ICCID: 8901260012345678901 — Auth method: SSN-last4 + DOB |
| Carrier System Log | 14:36:03Z — Network registration — New IMEI: 353456789012345 — Cell tower: LAC:4521 CID:17832 (location: 203.0.113.0/24 subnet area) |
| Victim Report | 14:38:00Z — Mercer notices phone shows "No Service" — assumes carrier outage — does not immediately report |
Phase 2 — Discussion Inject
Technical: The SIM swap was completed in under 4 minutes. What carrier-side controls (port freeze, multi-factor carrier auth, callback verification) would have prevented this? How does the FCC's November 2023 SIM swap rule (effective 2024) address this attack vector?
Decision: Mercer's phone lost service at 14:36 UTC but he assumed it was a carrier outage. How should your executive protection or security awareness program train executives to recognize SIM swap indicators and respond within minutes?
Expected Analyst Actions: - [ ] Document the exact timeline of the SIM swap from carrier logs - [ ] Identify the ANI (calling number) used by the attacker — trace to prepaid carrier - [ ] Determine what identity verification the carrier representative performed - [ ] Check if a port-freeze or number lock was active on Mercer's account
Phase 3 — 2FA Bypass & Account Takeover (~25 min)¶
With control of Mercer's phone number, MOBILE PHANTOM initiates the account takeover sequence. At 14:41 UTC, the attacker navigates to treasury.sterlingfinancial.example.com and clicks "Forgot Password." The system sends a password reset link to Mercer's corporate email. Simultaneously, the attacker uses Mercer's phone number to trigger SMS-based password recovery on his personal email (d.mercer.personal@example.com), which is the recovery email for his corporate account.
By 14:47 UTC, the attacker has reset Mercer's personal email password, used it to access the corporate email password reset link, and established a new password on the TreasuryDirect Pro platform. Each step sends an SMS verification code to +1-555-0147 — now controlled by the attacker.
At 14:52 UTC, the attacker logs into TreasuryDirect Pro from 198.51.100.45 (residential proxy, US East) using the new credentials and the intercepted SMS 2FA code.
# Attacker's SMS interception log (reconstructed from carrier records)
14:41:12 UTC — SMS received: "Your Sterling password reset code: 847291"
14:43:55 UTC — SMS received: "Your verification code for example.com: 553018"
14:47:33 UTC — SMS received: "TreasuryDirect Pro login code: 219847"
14:52:01 UTC — SMS received: "TreasuryDirect Pro login code: 663104"
Evidence Artifacts:
| Artifact | Detail |
|---|---|
| TreasuryDirect Pro Auth Log | 14:52:08Z — Login: dmercer@sterlingfinancial.example.com — IP: 198.51.100.45 — User-Agent: Chrome/122 (Windows) — MFA: SMS code accepted — GeoIP: Virginia, US |
| Corporate Email Log | 14:41:09Z — Password reset requested for dmercer@sterlingfinancial.example.com — Source IP: 198.51.100.44 |
| Personal Email Provider | 14:43:48Z — Password reset via SMS — Account: d.mercer.personal@example.com — Recovery phone: +1-555-0147 |
| TreasuryDirect Pro Audit | 14:53:22Z — Session established — User viewed account balances — Operating account: $4.2M — Payroll account: $1.8M |
Phase 3 — Discussion Inject
Technical: The attack chain exploited a daisy-chain of SMS-based recovery mechanisms. Map the complete authentication dependency chain from carrier → personal email → corporate email → banking platform. At which link would FIDO2/WebAuthn have broken the chain?
Decision: Your treasury platform vendor offers FIDO2 support but your CFO prefers SMS "for convenience." The vendor also offers IP allowlisting and device binding. Given the current attack, what combination of controls would you mandate, and how would you handle executive pushback?
Expected Analyst Actions: - [ ] Trace the full authentication chain from SIM swap to banking platform access - [ ] Identify all accounts using the compromised phone number for 2FA - [ ] Correlate the login IP (198.51.100.45) with known proxy/VPN services - [ ] Determine if the treasury platform logged device fingerprint or geolocation anomalies
Phase 4 — Wire Fraud Execution (~30 min)¶
Between 15:01 and 15:23 UTC, the attacker initiates three wire transfers from Sterling's operating account:
| Time (UTC) | Beneficiary | Bank | Amount | Reference |
|---|---|---|---|---|
| 15:01:44 | Apex Trading Solutions LLC | First Regional Bank — Routing: 021000021 | $620,000 | "Q1 Vendor Settlement — INV-2026-0891" |
| 15:11:02 | Meridian Capital Partners | Coastal Commerce Bank — Routing: 026009593 | $750,000 | "Investment Fund Transfer — AUTH-DM-0315" |
| 15:23:18 | Pacific Rim Consulting Group | International wire — SWIFT: EXAMPLE9XXX | $500,000 | "Advisory Fee — Contract PRC-2026-044" |
The attacker crafted wire references that mimic Sterling's naming conventions (obtained from email access in Phase 3). The three beneficiary entities are shell companies with freshly opened accounts. All transfers are under the $1M single-transaction approval threshold that would require dual authorization.
// TreasuryDirect Pro wire transfer API payload (reconstructed)
{
"transaction_type": "domestic_wire",
"originator": "Sterling Financial Services",
"originator_account": "****7842",
"beneficiary_name": "Apex Trading Solutions LLC",
"beneficiary_account": "****3391",
"routing_number": "021000021",
"amount": 620000.00,
"currency": "USD",
"reference": "Q1 Vendor Settlement - INV-2026-0891",
"initiated_by": "dmercer@sterlingfinancial.example.com",
"ip_address": "198.51.100.45",
"mfa_method": "sms",
"mfa_verified": true
}
Evidence Artifacts:
| Artifact | Detail |
|---|---|
| TreasuryDirect Pro Transaction Log | Three outbound wires totaling $1,870,000 — Initiated by dmercer — All approved via SMS 2FA — IP: 198.51.100.45 |
| Banking Platform Alert | 15:24:01Z — Velocity alert: 3 wires in 22 minutes from single user — Severity: Medium — Auto-suppressed (under $1M individual threshold) |
| AML/Transaction Monitoring | 15:30:00Z — New beneficiary alert: 3 previously unknown beneficiaries added and funded within same session — Flagged for review (next business day queue) |
Phase 4 — Discussion Inject
Technical: The attacker stayed under the $1M dual-authorization threshold by splitting the fraud into three transactions. What transaction monitoring rules would detect this structuring pattern? How would you tune velocity rules to catch rapid sequential transfers to new beneficiaries?
Decision: It is now 15:30 UTC. The AML system flagged the transactions but placed them in a next-business-day review queue. Your SOC received a medium-severity velocity alert that was auto-suppressed. Meanwhile, Mercer's phone has been without service for nearly an hour. At what point should these independent signals have been correlated, and by whom?
Expected Analyst Actions: - [ ] Immediately contact the banking institution to initiate wire recall on all three transfers - [ ] Freeze the originating accounts to prevent further unauthorized transactions - [ ] Contact Mercer via alternative channel (office phone, in person) to confirm the transfers - [ ] Preserve all transaction logs, session data, and audit trails - [ ] Notify FBI IC3 and relevant financial regulators - [ ] Engage cyber insurance carrier within notification window
Detection Opportunities¶
| Phase | Technique | ATT&CK | Detection Method | Difficulty |
|---|---|---|---|---|
| 1 | OSINT/PII harvesting | T1589.001 | Dark web monitoring for executive PII exposure | Hard |
| 2 | SIM swap execution | T1556 | Carrier notification API: SIM change alerts to enterprise MDM | Medium |
| 2 | Loss of cellular service | T1556 | MDM heartbeat loss detection — device offline alert | Easy |
| 3 | Password reset chain | T1078 | SIEM correlation: password reset + new IP + SMS 2FA within 10 min | Medium |
| 3 | Anomalous login location | T1078 | Treasury platform: GeoIP anomaly detection on login | Easy |
| 4 | Rapid wire transfers | T1565.001 | Transaction monitoring: velocity rules for new beneficiaries | Medium |
| 4 | Structuring detection | T1565.001 | AML: multiple transfers just under approval threshold | Medium |
KQL Detection — SIM Swap Indicator (MDM Heartbeat Loss + Auth Anomaly)¶
// Detect potential SIM swap: MDM device goes offline followed by anomalous authentication
let MDMOffline = DeviceEvents
| where TimeGenerated > ago(4h)
| where ActionType == "DeviceHeartbeatLost"
| where DeviceOwner in ("executive_group")
| project DeviceOwner, OfflineTime = TimeGenerated, DeviceName;
let AnomalousAuth = SigninLogs
| where TimeGenerated > ago(4h)
| where ResultType == 0 // Successful login
| where AuthenticationMethodDetail == "SMS"
| where IPAddress !in (known_corporate_ips)
| project UserPrincipalName, AuthTime = TimeGenerated, IPAddress, Location;
MDMOffline
| join kind=inner AnomalousAuth on $left.DeviceOwner == $right.UserPrincipalName
| where AuthTime between (OfflineTime .. (OfflineTime + 2h))
| project UserPrincipalName, OfflineTime, AuthTime, IPAddress, Location
SPL Detection — Wire Transfer Velocity Anomaly¶
index=treasury sourcetype=wire_transfer
| transaction user maxspan=30m maxpause=15m
| where mvcount(beneficiary_name) >= 3
| where sum(amount) > 500000
| eval new_beneficiary_pct = round(mvcount(mvfilter(match(beneficiary_status, "new"))) / mvcount(beneficiary_name) * 100, 0)
| where new_beneficiary_pct >= 50
| table _time, user, mvcount(beneficiary_name) as wire_count, sum(amount) as total_amount, new_beneficiary_pct, src_ip
| sort -total_amount
KQL Detection — Password Reset Chain¶
// Detect daisy-chain password resets across multiple systems within short timeframe
AuditLogs
| where TimeGenerated > ago(1h)
| where OperationName == "Reset password (self-service)"
| summarize ResetCount = count(), Systems = make_set(TargetResources[0].displayName) by InitiatedBy.user.userPrincipalName, bin(TimeGenerated, 15m)
| where ResetCount >= 2
| project TimeGenerated, User = InitiatedBy_user_userPrincipalName, ResetCount, Systems
Response Playbook¶
Immediate Containment (0–30 min)¶
- Contact banking institution — Initiate wire recall on all three transfers immediately; time is critical for recovery
- Contact mobile carrier — Request immediate reversal of the SIM swap and lock the account with a port freeze
- Disable compromised accounts — Suspend
dmerceron TreasuryDirect Pro, corporate email, and all linked systems - Revoke all active sessions — Force logout across all platforms; revoke OAuth tokens and API keys
- Freeze originating bank accounts — Prevent further unauthorized transactions
- Notify Mercer via alternative channel — Confirm via in-person contact or verified landline
Eradication (30 min – 4 hours)¶
- Audit all accounts using the compromised phone number — Identify every service using +1-555-0147 for 2FA
- Reset credentials on all identified accounts using non-SMS methods
- Review email access logs — Determine what emails the attacker read during the account takeover window
- Analyze transaction monitoring gaps — Why were velocity alerts auto-suppressed?
- Engage carrier fraud department — Obtain full SIM swap audit trail and call recordings
Recovery (4–48 hours)¶
- Migrate all executive MFA to FIDO2/hardware keys — Eliminate SMS 2FA dependency for all wire-transfer-authorized personnel
- Implement dual-authorization for all wire transfers above $50K with out-of-band verification (callback to registered landline)
- Deploy carrier port-freeze on all executive phone numbers
- Establish new beneficiary cooling-off period — 24-hour delay before funds can be sent to newly added beneficiaries
- File SAR (Suspicious Activity Report) with FinCEN within 30 days
Key Discussion Questions¶
- Sterling relied on SMS-based 2FA for its treasury management platform. Given that SIM swap attacks have been documented since 2018, what due diligence should have flagged this risk, and who bears responsibility — the platform vendor, the enterprise, or the carrier?
- The attacker structured three transactions under the $1M dual-authorization threshold. How should you redesign approval workflows to detect structuring while avoiding excessive friction for legitimate transactions?
- Mercer's phone was without service for nearly an hour before anyone investigated. How would you design a monitoring system that correlates MDM heartbeat loss with simultaneous authentication anomalies?
- The AML system flagged the transactions but placed them in a next-business-day queue. What SLA should exist between automated transaction monitoring alerts and human review for accounts with wire transfer authority?
- MOBILE PHANTOM obtained Mercer's PII from a data broker for $49. What enterprise controls exist to reduce executive PII exposure, and should this be part of your executive protection program?
Debrief Guide¶
What Went Well¶
- Transaction monitoring system did flag the velocity anomaly — the detection logic was sound
- Carrier logs preserved the full SIM swap audit trail, enabling forensic reconstruction
- Banking platform logged all session activity including IP addresses and user agents
Key Learning Points¶
- SMS 2FA is not MFA — SIM swap attacks reduce SMS to a single factor controlled by whoever controls the phone number; FIDO2 hardware keys eliminate this vector entirely
- Authentication chains are only as strong as the weakest link — A personal email recovery phone number became the entry point to corporate treasury systems
- Transaction structuring defeats single-threshold controls — Velocity-based rules that consider multiple transactions to new beneficiaries within a session are essential
- Carrier identity verification is enterprise-relevant risk — Executive phone accounts should have enhanced security (port freeze, PIN, callback verification)
Recommended Follow-Up¶
- [ ] Migrate all wire-transfer-authorized users to FIDO2/WebAuthn — eliminate SMS 2FA entirely for financial systems
- [ ] Implement carrier port-freeze and enhanced PINs for all executive phone numbers
- [ ] Deploy dual-authorization with out-of-band callback for all wire transfers above $50K
- [ ] Establish new-beneficiary cooling-off period (24–48 hours) before first transfer
- [ ] Integrate MDM heartbeat monitoring with SIEM for executive device offline correlation
- [ ] Conduct tabletop exercise simulating SIM swap attack against finance team
- [ ] Engage data broker removal service for all C-suite executives
Lessons Learned¶
| Finding | Root Cause | Remediation | Priority |
|---|---|---|---|
| SMS 2FA bypassed via SIM swap | Reliance on phone number as authentication factor | Deploy FIDO2 hardware keys for all privileged accounts | Critical |
| Wire fraud executed under approval threshold | Single-threshold dual-auth policy | Implement velocity-based and new-beneficiary rules | Critical |
| 55-minute gap between SIM swap and detection | No correlation between MDM offline and auth anomalies | Integrate MDM heartbeat loss into SIEM correlation rules | High |
| Executive PII available from data brokers | No proactive PII exposure monitoring | Engage executive protection / data broker removal service | High |
| AML alert queued for next business day | Inadequate SLA for high-risk transaction alerts | Real-time escalation for wire transfers from privileged users | High |