Threat intel · Phishing investigation
Phishing site investigation from the targeted region
Phishing investigation means confirming what a reported URL serves to its intended victims, capturing it as evidence and getting it taken down, before the campaign moves on. Kits routinely show a harmless page to security vendors and foreign visitors, so fetch from an ordinary exit in the region the lure targets.
Pay per GB · No subscription · Prices in EUR, excl. VAT
- €2.00
- per GB on ARC Fast, excl. VAT
- −44%
- at 1 TB (€1.12 / GB)
- 185+
- countries, city targeting
- Never
- expires — no subscription
Written for
- SOC analysts
- Brand abuse and takedown teams
- Fraud investigators
- CERT and abuse desk staff
The short answer
- Kits filter visitors by country, by network (security vendor and datacentre ranges), by device and by script support. From your corporate range you often see a decoy or a 404.
- In the PhishFarm study, simple cloaking by geolocation, device type or JavaScript reduced the likelihood of a site being blacklisted by over 55% on average.
- Campaigns are short: the average campaign studied in 'Sunrise to Sunset' took 21 hours from start to its last victim. Triage has to run in hours, not days.
- Capture everything on the first fetch: redirect chain, HAR, screenshot, DOM and hashes, with timestamps and exit location. A second chance often does not come.
- Observe only. Never submit real or fake credentials, never interact with a kit's back end, and investigate from an isolated, disposable browser.
The problem
What goes wrong without the right IPs
The decoy page wins the triage
Analyst opens the reported link, sees a parked domain or a 404, closes the ticket. The kit served a decoy because the request came from a known security range or the wrong country.
Your organisation tips off the operator
Visits from your own netblock tell the operator that you are looking and when. A kit that blocklists the address can then serve every later visit from your range the decoy.
The redirect chain breaks across addresses
Lures commonly pass through a shortener, a compromised site and a gate before the kit. If the IP changes mid-chain, the gate sees a different visitor and stops serving.
Mobile victims get a different page
Smishing lures often target phones, and some kits check for a carrier network as well as the user agent. A desktop fetch from a residential line sees the fallback.
Evidence that cannot be reproduced
A screenshot without a timestamp, source address or hash is weak support for a takedown request, and the site may be gone by the time the host checks.
What to collect
What you can collect
- Reported URL and full redirect chain
- Every hop with status code and timestamp. Shorteners and gates in the chain are often reportable infrastructure in their own right.
- Final landing page: HTML, DOM and screenshot
- What the targeted visitor saw. The core of the takedown evidence.
- HAR file with SHA-256 hash
- A complete, verifiable record of the session. Hash it at capture time and log the hash with the case.
- Exit country, city and network type
- Shows which audience the content was served to, and explains why a host checking from elsewhere may see a decoy.
- Impersonated brand and kit fingerprints
- Page titles, asset paths and form targets. Lets you cluster reports that come from the same kit or operator.
- Hosting, registrar and certificate details
- Where to send the takedown, and links to other domains on the same infrastructure.
- Control fetch result
- What the same URL served to a non-target context. The difference is evidence of deliberate cloaking.
- Liveness checks after the report
- Up or down over time, so you know when to escalate and when to close.
How it runs
How a collection run works
- 01
Triage the report and pick the audience
From the lure itself (language, brand, sender, SMS or email), decide which country and device the campaign targets. That decides the exit: residential in the target country, or a carrier exit for a phone lure.
- 02
Fetch once, from an isolated browser, on one sticky exit
Run a disposable browser in a container or VM, hold one sticky session for the whole redirect chain, and record a HAR, screenshot and DOM. Do not type into forms.
Evidence capture on a sticky residential exit22 linesimport hashlibimport pathlibfrom datetime import datetime, timezonefrom playwright.sync_api import sync_playwrightSERVER, PASSWORD = "http://proxy.arcproxies.io:8000", "PASSWORD"def capture(case_id: str, url: str, country: str, out: pathlib.Path): user = f"USERNAME_pool-arcfast_country-{country}_session-{case_id}_sesstime-10" har = out / f"{case_id}.har" with sync_playwright() as p: browser = p.chromium.launch(proxy={"server": SERVER, "username": user, "password": PASSWORD}) ctx = browser.new_context(record_har_path=str(har)) page = ctx.new_page() page.goto(url, wait_until="load") # observe only: never fill or submit forms page.screenshot(path=str(out / f"{case_id}.png"), full_page=True) (out / f"{case_id}.html").write_text(page.content()) ctx.close() # flushes the HAR browser.close() digest = hashlib.sha256(har.read_bytes()).hexdigest() return {"case": case_id, "captured_at": datetime.now(timezone.utc).isoformat(), "exit_country": country, "har_sha256": digest} - 03
Run a control fetch
Fetch the same URL from a non-target context, such as another country, and record what it serves. A decoy there and a lure in the target region documents the cloaking for the host.
- 04
Report with the evidence attached
Send the takedown to the host and registrar, and submit the URL to the blocklists your organisation uses. Include the exit location so the recipient knows where to look from.
- 05
Re-check until it is gone
Check liveness every few hours from the target region with a light request, and escalate if the site is still up after the host's stated response time.
Setup
Recommended setup
Match the exit to the campaign's audience and keep investigations off your own range. Never use these exits for anything but observation.
| Plan | Role | Session | Targeting | Price |
|---|---|---|---|---|
ARC Fast Rotating residential | Default for evidence capture Residential exits in the targeted country, held for the whole redirect chain so every hop sees one visitor. | Sticky, 10 minutes per case | Country + city | €2.00 / GB €1.12 at 1 TB (−44%) |
ARC Mobile Mobile 4G/5G | For SMS and mobile-only lures Genuine 4G/5G carrier exits for kits that branch on the network. Four countries, no city targeting. | Sticky up to 60 minutes | Country only — DE, GB, US, JP | €3.50 / GB €3.15 at 1 TB (−10%) |
ARC Basic Rotating ISP | For liveness re-checks Our lowest price per GB, for the light, repeated check that a reported site is still serving. | Rotating | Country | €0.75 / GB €0.59 at 1 TB (−21%) |
Prices are list prices in EUR, excl. VAT. Volume discounts apply automatically at checkout — full ladder on the pricing page.
Connect
One connection string per market
The country, city and sticky session are tokens in the username. Change the token, change the market; keep the session handle, keep the IP.
http://USERNAME_pool-arcfast_country-de_session-k3f9a1x2_sesstime-10:PASSWORD@proxy.arcproxies.io:8000Swap _country-de for any market you quote. The full grammar is on the residential proxies page.
Illustration
What reported-URL triage for a brand abuse team costs
An illustration with round numbers — your pages, payloads and retry rate will differ. The arithmetic is the real price ladder.
Assumptions
- Reported URLs
- 80 a day
- Captures per URL
- 3 (target region, mobile or second region, control) at 4 MB
- Open cases re-checked
- 2,000, every 2 hours at 60 KB
- Period
- 30 days
- Bandwidth per month
- ≈ 72 GB
On ARC Fast
€115.20per month, excl. VAT
72 GB bought in one purchase at €1.60 / GB (−20% volume rung, applied automatically).
The same 72 GB on ARC Basic: €51.84 at €0.72 / GB. Move down as soon as the cheaper pool holds up.
Two workloads in one figure: full captures, which belong on residential or mobile exits, and liveness checks, which belong on ARC Basic. Splitting them is what keeps the bill at this size. Bandwidth bought for a quiet month waits for the busy one; it does not expire.
Bandwidth never expires, so a bigger single purchase is only ever cheaper per GB. See the ladder.
In depth
Phishing investigation, in depth
How phishing kits cloak, and what that means for an investigator
Cloaking is the kit deciding, per request, whether to show the lure or something harmless. The PhishFarm study (IEEE Symposium on Security and Privacy, 2019) built its test filters from the .htaccess rules of real kits, and the most elaborate of them blocked anti-phishing organisations by hundreds of IP addresses, hostnames, referrers and user agents.
| Filter | What the kit checks | What the investigator needs |
|---|---|---|
| Geolocation | Visitor country, sometimes region | An exit in the targeted country |
| Network | Known security vendor, cloud and datacentre ranges | A residential or carrier address |
| Device | Mobile vs desktop user agent, sometimes carrier network | A matching browser profile, a carrier exit for phone lures |
| JavaScript | Whether the client runs scripts | A real browser, not a plain HTTP client |
| Referrer and one-time tokens | Arrival from the lure link, first visit only | The full original link, fetched once and captured completely |
The researchers found that these simple filters reduced the likelihood of blacklisting by over 55% on average, and delayed it where it happened. The investigator's job is to be counted as part of the intended audience for one fetch, record what that audience sees, and hand it to the people who can take it down.
Why speed decides the outcome
APWG counted 1,069,681 phishing attacks in the second quarter of 2026, up 10.1% on the first quarter, with SaaS and webmail the most-attacked category at 29.1% of attacks according to its member Crane Authentication. At that volume, every report competes with thousands of others for a host's attention.
Campaigns are also brief. The 'Sunrise to Sunset' study (USENIX Security 2020) found that the average campaign took 21 hours from start to its last victim. A report triaged the next morning, from an address the kit filters, often arrives after the damage is done.
Safe handling of live phishing infrastructure
- Isolate. Use a disposable browser in a container or VM with no access to internal systems, and discard it after each case.
- Observe, do not interact. No credentials, real or invented, no form submissions, no probing of the kit's back end or admin panels. That moves from investigation into territory our acceptable use policy does not allow.
- Control your own fingerprint. The exit hides your netblock, not your headers, cookies or timing. A browser profile from your corporate build can still identify you.
- Keep a chain of custody. Hash captures at creation, log who captured what, when and from where, and store evidence read-only.
- Share through the proper channels. Hosts, registrars, CERTs and blocklist operators, with the evidence and the region to check from.
Where this sits in a threat intelligence programme
Phishing investigation is the reactive end of the work: a report comes in, you confirm and remove it. The parent page on threat intelligence covers broader indicator monitoring, and brand protection covers the proactive side, such as lookalike domains and fake listings. For the mobile side of the network, see mobile proxies.
Works with anything that takes a proxy URL
Playwright
- Python requests / httpx
- curl
- Go net/http
- Docker
- n8n
FAQ
Questions
Something not covered? Write to contact@arcproxies.io.
Why does a reported phishing link show a harmless page?
Many kits filter visitors and serve a decoy, a redirect or a 404 to anyone outside the targeted country, on a known security or datacentre range, on the wrong device or without JavaScript. Fetching from an ordinary exit in the targeted region shows what victims were served.
Is investigating phishing sites through your network allowed?
Defensive investigation of publicly reachable phishing infrastructure is: fetching, observing and capturing evidence for takedown. Submitting credentials, attacking a kit's infrastructure, scanning without authorisation or delivering malicious traffic is not, and we act on reports.
Should I submit fake credentials to see the next stage?
No. Submitting anything interacts with the operator's system and can expose your organisation or pollute other investigations. Capture what the page serves without interacting, and leave deeper analysis to teams with the legal authority and controls for it.
How do I see the mobile version of a smishing site?
Use a mobile browser profile on a carrier exit in the targeted country. ARC Mobile offers genuine 4G/5G IPs in Germany, the UK, the US and Japan, at country level, with sticky sessions of up to 60 minutes.
What evidence does a host need for a takedown?
The URL and redirect chain, a timestamped screenshot, the page source or HAR with its hash, the brand impersonated and the country you fetched from. Noting that the site cloaks helps the host check from the right place.
Sources & review
Last reviewed by the ARC Proxies team. Prices are read from the live catalog at build time.
- [1]IEEE Symposium on Security and Privacy (Oest et al.): PhishFarm: A Scalable Framework for Measuring the Effectiveness of Evasion Techniques against Browser Phishing Blacklists
- [2]USENIX Security Symposium (Oest et al.): Sunrise to Sunset: Analyzing the End-to-end Life Cycle and Effectiveness of Phishing Attacks at Scale
- [3]Anti-Phishing Working Group (APWG): Phishing Activity Trends Report, 2nd Quarter 2026
Get started
Buy a gigabyte and try it on your own targets.
No subscription, no sales call. Code WELCOME15 takes 15% off your first purchase, and whatever you do not use is still there next quarter.