HackPathHackPath
CoursesRoadmapPracticePricing
>_
HackPath

Spot a Phishing Site in 60 Seconds

0%
Lessons
Phishing Analysis
01Analyze a Suspicious URL Before You Click
30 min
02Read Email Headers to Find the Real Sender
30 min
03Reverse a Phishing Kit
35 min

Lesson 01

Analyze a Suspicious URL Before You Click

Lesson details coming soon.

The Click That Changes Everything

Phishing doesn't require a sophisticated exploit. It requires one moment of inattention. A URL that looks right. A page that looks right. A login form that looks right.

The good news: you can spot a phishing site in under 60 seconds — without touching it — using five techniques that any analyst uses. In this lesson, you'll learn each one and apply them to a real workflow.

No clicking required

Every technique in this lesson lets you investigate a suspicious URL without loading it in your browser. This is the correct way to analyze unknown links.


Diagram showing a fast workflow to analyze a suspicious URL without visiting it: parse the real domain, expand shorteners, check WHOIS age, inspect TLS certificate dates, scan with urlscan.io, and check history via Wayback.

Workflow: domain parsing → expand → WHOIS → TLS dates → urlscan → history. Don’t click to investigate.

Technique 1 — Decode the URL Structure

Before anything else, read the URL carefully. Phishing URLs are designed to look legitimate at first glance.

The anatomy of a deceptive URL:

https://account-security.paypal.com.phishingsite.ru/login

The real domain here is phishingsite.ru. paypal.com is just a subdomain of it. The trusted-looking part is on the left. The actual domain is always the part just before the first /.

Common tricks:

TechniqueExampleReal domain
Subdomain abusepaypal.com.evil.ru/loginevil.ru
Homograph attackаpple.com (Cyrillic а)Different unicode character
Typosquattingpaypa1.com (digit 1 not L)paypa1.com
Hyphen trickspay-pal-secure.compay-pal-secure.com
Long path obfuscationevil.com/paypal.com/loginevil.com
URL shortenerbit.ly/3xF9z2Unknown until expanded

Expand short URLs before clicking:

bash
You type
$curl -sI https://bit.ly/3xF9z2 | grep -i location
Terminal prints
Location: https://paypa1-account-verify.com/login

Technique 2 — Run a WHOIS Lookup

Legitimate services have domains registered for years. Phishing sites are registered days or weeks before a campaign.

bash
You type
$whois paypa1-account-verify.com | grep -E 'Creation|Registrar|Registrant|Updated'
Terminal prints
Creation Date: 2024-11-28T14:32:00Z
Updated Date: 2024-11-28T14:32:00Z
Registrar: NameCheap, Inc.
Registrant Country: PA

Red flags:

  • Registered in the past 30 days
  • Registrant country doesn't match the alleged company's country
  • Privacy-protected registrant (common in phishing to hide identity)
  • Registered via low-cost registrars (NameCheap, GoDaddy bulk, Tucows)

Check online at whois.domaintools.com or who.is if you don't have whois locally.


Technique 3 — Check the SSL Certificate

A padlock doesn't mean safe. Phishers get free Let's Encrypt certificates in minutes. But the certificate still tells you things.

bash
You type
$openssl s_client -connect paypa1-account-verify.com:443 -servername paypa1-account-verify.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates
Terminal prints
subject=CN=paypa1-account-verify.com
issuer=CN=R10, O=Let's Encrypt, C=US
notBefore=Nov 28 00:00:00 2024 GMT
notAfter=Feb 26 00:00:00 2025 GMT

What to look for:

  • Certificate issued same day as domain registration → automated phishing kit
  • Certificate only covers the exact domain (no SAN for www., no wildcard) → minimal setup
  • Let's Encrypt on a financial/banking domain → unusual (banks use expensive EV certs)
  • notBefore within the last 30 days → newly launched

Technique 4 — Scan with URLScan.io

URLScan.io visits the page for you, takes a screenshot, captures all network requests, and shows you the DOM — without you ever loading it.

What URLScan reveals:

  • Screenshot of the page (phishing landing page visible)
  • All external domains contacted (CDN, tracking, redirect chains)
  • JavaScript files loaded (obfuscation indicators)
  • IPs and ASNs (hosting provider, bulletproof hosts)
  • Whether the page was flagged by Google Safe Browsing

API (no browser needed):

bash
You type
$curl -X POST https://urlscan.io/api/v1/scan/ \\
$ -H 'API-Key: YOUR_KEY' \\
$ -H 'Content-Type: application/json' \\
$ -d '{"url": "https://paypa1-account-verify.com", "visibility": "public"}'
Terminal prints
{
"message": "Submission successful",
"uuid": "4f8a2c1d-...",
"result": "https://urlscan.io/result/4f8a2c1d-...",
"api": "https://urlscan.io/api/v1/result/4f8a2c1d-..."
}

A free account gives you 100 scans per day.


Technique 5 — Check the Wayback Machine

Legitimate domains have history. Phishing domains don't — or they had a completely different purpose last week.

bash
You type
$curl 'https://archive.org/wayback/available?url=paypa1-account-verify.com'
Terminal prints
{
"url": "paypa1-account-verify.com",
"archived_snapshots": {}
}

An empty archived_snapshots on a domain claiming to be a major service = instant red flag.

If there are snapshots, check what the site looked like 6 months ago. A domain now pretending to be PayPal that was a casino site in July is definitively phishing.


Putting It Together: The 60-Second Checklist

When you receive a suspicious link, run this in order:

StepCheckTool
1Parse the real domain from the URLYour eyes
2Expand if shortenedcurl -sI <url> | grep location
3Check registration datewhois or who.is
4Check SSL cert issuance dateopenssl s_client
5Scan without visitingurlscan.io
6Check historyarchive.org/wayback

Five positives out of six? It's phishing. In the next lesson, you'll analyze the email that delivered it — because the URL is only half the story.

Hands-on challenge

Practice what you learned — run it on your machine.

Do the challenge →

You're on a free lesson

Ready to go further?

Unlock all courses, exercises, real-world scenarios and flashcards — everything to build real skills.

Unlock full access →

No commitment · Cancel anytime

Sign in to track your progress.

Sign in to validate →

2 lessons locked in this course · 800+ students enrolled

$99/year — save 31% vs monthly

Unlock full access →