Skip to content

Latest commit

 

History

54 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RedPhish logo

RedPhish

🌐 English | Tiếng Việt | 📚 Docs: dn9uy3n.github.io/RedPhish

Reverse-proxy phishing framework for authorized red teams — an extended fork of evilginx2 CE 3.3.0 (GPL-3.0), re-implementing Evilginx Pro-class features clean-room for internal / air-gapped environments.

⚠️ Authorized use only — for education and red-team campaigns explicitly authorized by the system owner. Not affiliated with BreakDev/Evilginx Pro; no code or binaries from the commercial product are used. Upstream GPL-3.0 applies (LICENSE).

Status

Phishlet Status
ms365 ✅ production-ready — work + consumer capture, mailbox reuse, token-gate, CSD hardening (Safe Browsing bypass field-verified)
google ✅ production-ready via real-browser relay — defeats origin-bound botguard; real-account capture with number-match 2FA; cookie replay into Gmail verified
github ✅ production-ready — login + 2FA capture verified E2E with a real account (GitHub-Mobile push 2FA); tokens __Host-user_session_same_site + _gh_sess (modern GitHub dropped domain-wide user_session); TOTP-entry capture in place, untested
gitlab ⚠️ unverified — Cloudflare Turnstile sits in front of the login (render passes through the phishing host); fields user[login]/user[password]/user[otp_attempt]
atlassian ⚠️ unverified — SPA renders through the proxy (username/password JSON creds); AWS WAF SDK + reCAPTCHA cross-origin not yet proxied
zimbra ⚠️ unverified — on-prem template with required {domain} param; classic fields username/password, token ZM_AUTH_TOKEN
yandex ⚠️ unverified — landing /auth/ currently bounces to 360.yandex.com marketing; React login fields need re-checking with an account
aws ⚠️ unverified — AWS WAF 403s datacenter IPs at /signin; fields username/password/mfaCode
claude verified E2E — login-code flow (email + 6-digit code, no password) captured as JSON creds; sessionKey token captured and replayed into a logged-in session; CF-protected — needs proxy: true + residential + tlsfp: chrome
chatgpt ⚠️ unverified — Cloudflare + Auth0 flow (auth.openai.com/u/login/password); session __Secure-next-auth.session-token
cloudflare ⚠️ unverified — dashboard login behind the CF challenge; fields email/password, session CF_Authorization
discord ⚠️ unverified — SPA proxied (login renders through it); JSON creds login/password + TOTP code; bearer token lives in localStorage — credentials capture only
akamai ⚠️ unverified — Control Center auth renders through the proxy (username/password); session cookie set needs an account test

ClickFix templates

Template Style Position
cloudflare-turnstile Cloudflare "Checking if you are human" + Turnstile checkbox before / after
windows-fix Real-campaign replica: reCAPTCHA widget → instruction panel, unified "I am not a robot" clipboard tail before / after
recaptcha Minimal reCAPTCHA widget on a clean page (title reCAPTCHA, official logo) before / after
aws-captcha AWS WAF Captcha style (navy header, checkbox → instruction gate, pill Verify) before / after
linkedin ⚠️ unverified — LinkedIn verification card (official logo, #0a66c2 pill Verify) before / after

Each template silently copies a command payload to the victim's clipboard and instructs them to run it (Win+R → Ctrl+V → Enter). The wrapped command always ends in ;'I am not a robot - reCAPTCHA Verification ID: XXXX' — the 4-digit ID is random per request and matches the one shown on the page. Templates are gitignored (campaign-specific, like phishlets). See the ClickFix guide for the full reference.

Key features

  • Full MITM session capture — credentials + reusable auth cookies (SQLite store), webhook to Gophish/credential collector
  • Hidden mTLS API — stealth base path + client certs; drive fleets from one console (tools/egconsole.py)
  • Botguard anti-bot — JA4 TLS allowlist, decoy pages for scanners/curl
  • Lure token-gate — no ?t= token → benign redirect; Safe Browsing/crawlers never see the login page
  • CSD hardening — Chrome client-side phishing detection bypass (field-verified)
  • Upstream proxy routing — per-domain-suffix egress or per-phishlet proxy: true (Google → residential, MS365 → direct, CF-protected logins → forced residential)
  • Google real-browser relay — mirrored real accounts.google.com session; HiDPI mirror, click-relay, capture {email, password, cookies}
  • ClickFix gate — fake-captcha social-engineering page (clipboard payload) with configurable before/after position; hardened against content classification
  • MCP server — AI agents (Claude/ZCode) operate the node as tools: phishlets, lures, sessions, proxy, relay — including opening captured sessions in a real browser (docs/mcp, agent skills in skills/)
  • JS obfuscation, AES lure params, multi-domain, wildcard-cert tooling, offline deploy kit

Full matrix with verification evidence: docs/FEATURES.md.

Quick start

git clone https://github.com/dn9uy3n/RedPhish.git
cd RedPhish/src && go build -o ../evilginx2 . && cd ..
./evilginx2 -phishlet <your.yaml> -api 9443 -botguard

Deploy runbook (VPS, DNS, wildcard cert, first lure): docs/getting-started. Day-2 operations + phishlet switching: docs/operations.

⚠️ No phishlets are included in this public repository — campaign phishlets (src/phishlets/*.yaml) are gitignored by design, so this framework cannot be used out-of-the-box against anyone. This is deliberate: ready-made phishlets for real identity providers are trivially abusable for unlawful phishing.

Authorized researchers and red teamers can author phishlets for their own scoped engagements using the bundled resources: skills/creating-phishlets (AI-agent authoring skill), the phishlet authoring guide and the generator (tools/make_phishlet.py), with lab examples in examples/phishlets/.

Roadmap

Done:

  • Phishlet hot-reload — add/edit/remove without restart
  • JA4 botguard (h2 Akamai fingerprint remaining)
  • Lure writer-API (GET/PUT/DELETE) + token-gate vs Safe Browsing
  • CSD hardening — Chrome client-side detection bypass (field-verified)
  • Upstream proxy with per-domain-suffix routing (#17)
  • Google real-browser relay (#18) — ms365 + google both production-ready
  • Relay exit pool + cooldown rotation (comma-separated RELAY_SOCKS)
  • Relay captures auto-import into the session store (one-click open)
  • Automated detection self-checks (tools/detect_check.sh)
  • ClickFix gate — fake captcha + clipboard payload, before/after position, detection-hardened
  • Per-phishlet JA4 exceptions — bg_ja4_allow in phishlet YAML, merged with -bg-ja4
  • MCP server for AI-agent operation + agent skills (skills/)
  • Documentation site (dn9uy3n.github.io/RedPhish)

Next:

  • Fleet console — unified multi-node view (sessions + lures across nodes)
  • HTTP/2 Akamai TLS fingerprint for botguard
  • Verify the unverified phishlets above with test accounts (gitlab, atlassian, zimbra, yandex, aws, claude, chatgpt)

Deferred (not a current threat-model blocker):

  • Evilpuppet e2e — sidecar browser telemetry for Sentinel/Abnormal-class ML detection. The shipped code (own session, no victim linkage, no mouse/typing simulation) adds no capability over the relay (#18) + MITM (ms365) + JS telemetry (botguard v2) already in production. Revisit when a target flags sessions post-login despite correct cookies (the Sentinel signal).
  • Evilpuppet proper — /visit endpoint + AES session_token linkage + interaction simulation; build only if the Sentinel/Abnormal use-case materializes.

Credits & license

About

Free, open-source evilginx-based tool for security researchers and authorized red teams — phishing simulation & security testing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages