- WRAVEN
- Posts
- Disrupting a Phishing Operation: Technical Breakdown
Disrupting a Phishing Operation: Technical Breakdown
How we found, dissected, and crippled an active phishing site targeting Illinois residents: breaking down their scam, exposing their backend, and trashing their data.
Overview
We identified an active phishing site impersonating Illinois government services at:
The site targeted victims via SMS and harvested sensitive data including credit card information.
This post breaks down how the scam worked, where it failed, and how we disrupted the backend by reverse engineering the frontend, identifying the C2 endpoint, and flooding it with invalid data.
1. Initial Behavior: Cloaked Payloads
The phishing site responded differently depending on how it was accessed:
Clicking the SMS link displayed the full scam form
Visiting directly showed a fake “site can’t be reached” page
We suspected filtering based on the referrer or user-agent. Using Burp Suite, we confirmed this. Spoofing header with a fake imessage referrer triggered the real scam content.
Example User-Agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1

The false “this site can’t be reached” to disguise the page
2. Reverse Engineering the Frontend
The main HTML loaded scripts from:
/assets/us_illinois/
The JavaScript was only lightly obfuscated, common wrappers, junk variables, but not encrypted or minified.
Inside the scripts, we found:
Credit card validation (Luhn check, CVC rules)
Address/email/phone field checks
Submission logic POSTing to: /app/(with a dynamic url)

Scammers code
3. Understanding the Backend Requirements
From the validation logic, we recovered the exact POST parameters:
full_name
address1
city
state
zip
email
phone
card_holder
card_number
validity_time (MM/YY)
cvv
The endpoint had no protections:
No authentication
No rate-limiting
No CAPTCHA
No server-side validation
4. Countermeasure: Disrupting the C2
We wrote a Python script to spam the endpoint with valid-looking fake data.
The script:
Generates Luhn-valid card numbers
Rotates user-agents and IPs (via proxy lists)
Randomizes names, addresses, and expiry dates
Sends continuous submissions with slight timing variation
This flooded their database with junk, making it harder to filter real victims.

Some of our fake data generator
5. Technical Weaknesses
They made a few major mistakes:
Exposed C2 endpoint with no checks
Client-side validation only
Readable scripts with minor obfuscation
WebSocket logging with no input filtering
No evasion against automation tools

6. Outcome
We:
Identified their infrastructure
Extracted the endpoint
Validated the payload structure
Flooded it with false positives
Reported the domain to Cloudflare & Google, and started takedown efforts
Their operation is now far less useful.
This case shows how poorly built phishing kits can be disrupted with no special access. Careful analysis and targeted response can wreck their value.
Tips for investigating phishing kits:
Trace data flow end-to-end
Reverse the frontend logic
Check for exposed endpoints
Always test from isolated networks
Report and document everything
Disclaimer: This activity was conducted strictly for educational and research purposes. No real user data was accessed, stored, or interacted with. No unauthorized access or exploitation occurred. All testing was performed in isolated environments using researcher-owned hardware and networks. No university systems, sponsors, or third-party infrastructure were involved or impacted.