Skip to content

support for HTTPS -> HTTP, HTTP -> HTTP, new phishlet property (http_mode)#1202

Open
jfmaes wants to merge 7 commits into
kgretzky:masterfrom
jfmaes:master
Open

support for HTTPS -> HTTP, HTTP -> HTTP, new phishlet property (http_mode)#1202
jfmaes wants to merge 7 commits into
kgretzky:masterfrom
jfmaes:master

Conversation

@jfmaes

@jfmaes jfmaes commented Jan 31, 2026

Copy link
Copy Markdown

Hey Mate

I had to use evilginx for a HTTP target. had to patch and figured I'd share.

Add HTTP Support for Security Awareness Campaigns

Summary
This PR adds comprehensive HTTP support to evilginx2, enabling security awareness campaigns and internal testing scenarios where TLS certificates are not required or available. This feature allows the phishing server to operate over plain HTTP and proxy to HTTP backend servers.

Changes

New Features

  1. HTTP Phishing Server (http_mode)

Phishing server can now listen on plain HTTP (no TLS required)
Configurable via phishlet YAML: http_mode: true
Configurable via CLI: phishlets http_mode on|off
HTTP port configurable: config http_port (default: 80)
Automatically applies when phishlet is enabled if set in YAML

  1. HTTP Origin Targets (orig_scheme)
    Proxy can connect to origin servers over HTTP instead of HTTPS
    Set per proxy_host in phishlet YAML: orig_scheme: 'http'
    Correctly routes requests to port 80 for HTTP origins

  2. New Example Phishlet
    Added phishlets/example-http.yaml demonstrating HTTP support
    Includes comprehensive documentation and usage examples

image

Usage Examples

Scenario A: HTTP → HTTP (internal awareness campaign)

: phishlets hostname example-http phish.internal.lan
: phishlets enable example-http
: lures create example-http
: lures get-url 0
Result: http://phish.internal.lan/...

Scenario B: CLI-based HTTP mode
: phishlets hostname mysite attacker.com
: phishlets http_mode mysite on
: phishlets enable mysite

Phishlet YAML Configuration

  http_mode: true  # Enable HTTP mode by default
  
  proxy_hosts:
    - phish_sub: 'app'
      orig_sub: 'app'
      domain: 'target.local'
      orig_scheme: 'http'  # Connect to origin over HTTP

🤖 Generated with Claude Code

claude and others added 7 commits January 30, 2026 17:41
Features:
- Phishlets can now specify orig_scheme: 'http' or 'https' for proxy_hosts
- New http_mode setting per phishlet for HTTP-only phishing server (no TLS)
- New http_port config option (default: 80) for HTTP listener
- Commands: phishlets http_mode <name> on/off, config http_port <port>
- Added example-http.yaml with HTTP support documentation

Use cases:
- http://phishing.example.com proxying to http://target.com (http_mode on)
- https://phishing.example.com proxying to http://target.com (orig_scheme: http)

https://claude.ai/code/session_01AyqENqDW9PrAhnC74EF1QJ
- Fixed lure get-url to use correct scheme based on http_mode setting
- Improved example-http.yaml with clearer documentation and usage examples
- Added step-by-step usage scenarios for internal awareness campaigns

https://claude.ai/code/session_01AyqENqDW9PrAhnC74EF1QJ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants