
InfraGuard एक Command & Control Redirection Proxy और Manager है जो आपके Red Team Infrastructure को थ्रेट एट्रिब्यूशन के विरुद्ध सुरक्षा प्रदान करता है।
रेड टीम इंफ्रास्ट्रक्चर ट्रैकर और C2 रीडायरेक्टर -- RedWarden का एक आधुनिक विकल्प।
InfraGuard इंटरनेट और आपके C2 टीमसर्वर के बीच बैठकर, आपके malleable C2 प्रोफ़ाइल के विरुद्ध हर इनबाउंड अनुरोध को मान्य करता है और जो कुछ भी अनुरूप नहीं होता उसे ब्लॉक करता है। स्कैनर, बॉट और ब्लू टीम प्रोब को एक डिकॉय साइट पर रीडायरेक्ट किया जाता है, जबकि वैध बीकन ट्रैफ़िक आपके टीमसर्वर तक पहुँचता है।


mythic_file बैकएंड clean URLs पर Mythic के /direct/download/{uuid} को प्रॉक्सी करता है; फिक्स्ड UUID या प्रॉक्सी मोड; एक्सेस नियंत्रण InfraGuard के फ़िल्टर स्टैक द्वारा प्रदान किया जाता है।/metrics एंडपॉइंट जो अनुरोध काउंटर, अपस्ट्रीम लेटेंसी हिस्टोग्राम, सर्किट ब्रेकर स्थिति, फ़ीड ताज़गी और सक्रिय कनेक्शन उजागर करता है।on_event हुक, प्रति-प्लगइन कॉन्फ़िग और इवेंट फ़िल्टरिंग के साथ इवेंट-संचालित आर्किटेक्चर।.env फ़ाइल समर्थन के साथ age (पूर्ण-फ़ाइल) और SOPS (प्रति-मान) एन्क्रिप्शन।.htaccess और robots.txt फ़ाइलों से IP ब्लॉकलिस्ट और User-Agent पैटर्न आयात करें।.env फ़ाइल स्वचालित रूप से लोड होती है; ${VAR} सिंटैक्स सभी कॉन्फ़िग मानों और कुंजियों में काम करता है।इंस्टॉलेशन के लिए Wiki पेज देखें
infraguard --version Show version infraguard --help Show help
infraguard run -c config.yaml Start the reverse proxy infraguard run -c config.yaml --port 8443 Override listen port infraguard run -c config.yaml --host 0.0.0.0 Override bind address
infraguard dashboard -c config.yaml Start the web dashboard infraguard dashboard -c config.yaml --port 9090 Override dashboard port
infraguard tui Launch TUI with login screen infraguard tui --url http://host:8080 --token TOK Auto-connect to dashboard infraguard tui -c config.yaml Read URL/token from config
infraguard command-post -c command-post.yaml Start multi-instance dashboard infraguard command-post --instance name:url:token Add instance via CLI (repeatable)
infraguard profile parse Parse and display a C2 profile infraguard profile parse --format json Output as JSON infraguard profile parse --type brute_ratel Force profile type infraguard profile convert -o out.json Convert profile to JSON
infraguard ingest <files...> Ingest .htaccess/robots.txt rules infraguard ingest <files...> --format blocklist Output as IP blocklist infraguard ingest <files...> --format json Output as JSON infraguard ingest <files...> -o banned_ips.txt Write blocklist to file
infraguard generate nginx -c config.yaml Generate Nginx config infraguard generate caddy -c config.yaml Generate Caddyfile infraguard generate apache -c config.yaml Generate Apache VirtualHost
infraguard init -o config.yaml Generate starter config infraguard validate -c config.yaml Validate config file
### जनरेटर विकल्प
`generate` कमांड ऑपरेटर अनुकूलन के लिए अतिरिक्त फ़्लैग स्वीकार करता है:
| फ़्लैग | विवरण |
|---|---|
| `--listen-port PORT` | लिसन पोर्ट ओवरराइड करें (डिफ़ॉल्ट: कॉन्फ़िग से) |
| `--ssl-cert PATH` | SSL प्रमाणपत्र पथ ओवरराइड करें |
| `--ssl-key PATH` | SSL कुंजी पथ ओवरराइड करें |
| `--redirect-url URL` | ब्लॉक किए गए अनुरोधों के लिए रीडायरेक्ट URL ओवरराइड करें |
| `--default-action redirect\|404` | गैर-मिलान वाले अनुरोधों के लिए कार्रवाई |
| `--no-ip-filter` | IP अनुमति/अस्वीकार ब्लॉक हटाएँ |
| `--no-header-check` | हेडर सत्यापन नियम हटाएँ |
| `--alias DOMAIN:ALIAS` | सर्वर नाम उपनाम जोड़ें (दोहराने योग्य) |
| `--header NAME:VALUE` | कस्टम प्रतिक्रिया हेडर जोड़ें (दोहराने योग्य) |
## कमांड पोस्ट (मल्टी-इंस्टेंस डैशबोर्ड)
जब विभिन्न VPS या क्लाउड प्रदाताओं पर कई InfraGuard इंस्टेंस चल रहे हों, तो Command Post सभी नोड्स से स्टैट्स, अनुरोध और लाइव इवेंट एकत्र करके उन्हें एक ही डैशबोर्ड में प्रदर्शित करता है।```
┌─────────────────────────────┐
│ Command Post Dashboard │
│ http://localhost:9090 │
└──────────┬──────────────────┘
│ parallel fetch
┌─────┼──────┬──────────┐
▼ ▼ ▼ ▼
IG-1 IG-2 IG-3 ... IG-N

infraguard command-post -c config/command-post.yaml
infraguard command-post
--instance "prod:https://ig1.example.com:8080:TOKEN1"
--instance "staging:https://ig2.example.com:8080:TOKEN2"
--port 9090
docker compose --profile command-post up -d command-post
### विन्यास
बनाएँ `config/command-post.yaml`:```yaml
instances:
- name: "prod-cs"
url: "https://ig1.example.com:8080"
token: "${IG_PROD_TOKEN}"
- name: "prod-mythic"
url: "https://ig2.example.com:8080"
token: "${IG_MYTHIC_TOKEN}"
- name: "staging"
url: "https://ig3.example.com:8080"
token: "${IG_STAGING_TOKEN}"
port: 9090
# auth_token: "${COMMAND_POST_TOKEN}"
cp .env.example .env
docker compose up -d
यह दो सेवाएँ शुरू करता है:
- **proxy** -- पोर्ट 443 और 80 पर रीडायरेक्टर
- **dashboard** -- पोर्ट 8080 पर वेब UI
### Let's Encrypt के साथ```bash
# Set in .env:
# INFRAGUARD_LETSENCRYPT=true
# INFRAGUARD_DOMAIN=cdn.example.com
# [email protected]
# Obtain the initial certificate
docker compose --profile letsencrypt up certbot
# Start the proxy (will use the LE cert)
docker compose up -d proxy dashboard
# Start auto-renewal (checks every 12 hours)
docker compose --profile letsencrypt up -d certbot-renew
Let's Encrypt के लिए आवश्यकताएँ:
INFRAGUARD_DOMAIN इस होस्ट के सार्वजनिक IP पर रिज़ॉल्व होना चाहिएINFRAGUARD_DOMAIN_EMAIL एक मान्य ईमेल पता होना चाहिएdocker compose --profile geoip up geoip-update
docker compose up -d proxy dashboard
### PwnDrop के साथ (पेलोड वितरण)```bash
# Start PwnDrop alongside the proxy
docker compose --profile pwndrop up -d pwndrop
# Access PwnDrop admin UI at https://localhost:8443
# InfraGuard reaches it internally at http://pwndrop:80
फिर अपने config में PwnDrop के लिए पेलोड पथों को प्रॉक्सी करने हेतु content routes कॉन्फ़िगर करें:```yaml domains: cdn.example.com: content_routes: - path: "/downloads/*" backend: type: "pwndrop" target: "http://pwndrop:80" auth_token: "${PWNDROP_TOKEN}"
### Ollama के साथ (AI-सहायता प्राप्त प्रोफ़ाइल निर्माण)```bash
# Start the Ollama service
docker compose --profile ollama up -d ollama
# Pull the default model (~5 GB)
docker compose --profile ollama exec ollama ollama pull qwen3:8b
# The dashboard's AI chat panel will connect automatically
डैशबोर्ड पर्यावरण चर INFRAGUARD_OLLAMA_URL docker-compose.yml में पूर्व-कॉन्फ़िगर किया गया है। जब Ollama चल रहा होता है, तो AI असिस्टेंट टॉगल डैशबोर्ड के डिकॉय और प्रोफ़ाइल पृष्ठ पर दिखाई देता है।
docker compose up -d --scale proxy-node=3
`docker-compose.yml` में `proxy-node` सेवा को सक्षम करने के लिए अनकमेंट करें।
### वॉल्यूम
| वॉल्यूम | उद्देश्य |
|---|---|
| `./config` | कॉन्फ़िगरेशन फ़ाइलें (केवल-पठन माउंटेड) |
| `./examples` | C2 प्रोफ़ाइल (केवल-पठन माउंटेड) |
| `./rules` | इन्जेस्ट की गई ब्लॉकलिस्ट और नियम स्रोत फ़ाइलें (केवल-पठन माउंटेड) |
| `./data` | SQLite डेटाबेस और जनरेट की गई प्रोफ़ाइल (संग्रहीत) |
| `certs` | TLS प्रमाणपत्र (प्रॉक्सी और certbot के बीच साझा) |
| `geoip` | GeoLite2 डेटाबेस (`geoip-update` सेवा द्वारा भरा गया) |
| `pwndrop-data` | PwnDrop अपलोड की गई फ़ाइलें और डेटाबेस |
| `ollama-data` | Ollama मॉडल वेट और कॉन्फ़िगरेशन |
## आर्किटेक्चर```
infraguard/
__init__.py Package init
__main__.py python -m infraguard entry
main.py Click CLI
config/ YAML config loading, .env support, Pydantic validation
core/ ASGI proxy engine (app, proxy, router, TLS, drop actions, content delivery)
profiles/ C2 profile parsers and generators (8 types)
pipeline/ Request validation filters (JA3, IP, bot, header, DNS, geo, profile, replay, enumeration, sandbox)
intel/ IP intelligence (blocklists, GeoIP, rDNS, feeds, rule ingestion)
tracking/ SQLite persistence (request logging, stats, node registry)
plugins/ Plugin system (protocol, loader, builtins)
ui/
api/ REST API + WebSocket (Starlette)
web/ SPA dashboard (HTML/JS/CSS)
tui/ Terminal UI (Textual) with login screen
command_post/ Multi-instance aggregation dashboard
listeners/ Protocol listeners (HTTP, DNS, MQTT, WebSocket)
backends/ Config generators (Nginx, Caddy, Apache)
models/ Shared types and event models
यदि आप परियोजना में योगदान करना चाहते हैं, तो कृपया वर्शन नाम के साथ एक नई ब्रांच बनाएँ और पुल रिक्वेस्ट में वही वर्शन नाम निर्दिष्ट करें। उदा. branch=v1.2.3 | [v1.2.3] Added blah item.
BSD 2-Clause लाइसेंस। विवरण के लिए LICENSE देखें।
कॉपीराइट (c) 2026, Whispergate
| एंडपॉइंट | विधि | विवरण |
|---|
/api/instances | GET | स्वास्थ्य स्थिति के साथ सभी इंस्टेंसों की सूची बनाएं |
/api/stats | GET | सभी इंस्टेंसों से मर्ज किए गए आँकड़े |
/api/requests | GET | सभी इंस्टेंसों से इंटरलीव्ड अनुरोध लॉग |
/api/intel/whitelist | POST | सभी इंस्टेंसों पर एक IP को व्हाइटलिस्ट करें |
/api/intel/blocklist | POST | सभी इंस्टेंसों पर एक IP को अवरुद्ध करें |
/api/intel/blocklist | DELETE | सभी इंस्टेंसों पर एक IP को अनब्लॉक करें |
/ws/events | WS | सभी इंस्टेंसों से मल्टीप्लेक्स किए गए लाइव इवेंट |
| सुविधा | RedWarden | InfraGuard |
|---|
| आर्किटेक्चर | एकल ~99KB फ़ाइल | मॉड्यूलर पैकेज |
| प्रोफ़ाइल पार्सिंग | रेगेक्स स्टेट मशीन | संरचित पार्सर जिसमें पूर्ण ब्लॉक/ट्रांसफ़ॉर्म समर्थन है |
| C2 समर्थन | केवल Cobalt Strike | Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk, PoshC2 |
| प्रोफ़ाइल प्रबंधन | मैनुअल फ़ाइल संपादन | डैशबोर्ड विज़ार्ड जनरेट, इम्पोर्ट, हॉट-स्वैप और AI सहायता के साथ |
| प्रोटोकॉल | केवल HTTP | HTTP, DNS, MQTT, WebSocket |
| फ़िल्टर मॉडल | बाइनरी पास/फ़ेल | स्कोरिंग-आधारित (0.0--1.0 सीमा), 10-फ़िल्टर श्रृंखला |
| TLS फ़िंगरप्रिंटिंग | कोई नहीं | JA3 ब्लॉकिंग (Masscan, ZGrab2, Shodan, curl, Python requests, Nmap) |
| सैंडबॉक्स डिटेक्शन | कोई नहीं | हेडलेस ब्राउज़र / Safe Links / सैंडबॉक्स UA और हेडर स्कोरिंग |
| एन्यूमरेशन डिटेक्शन | कोई नहीं | पाथ एन्यूमरेशन + DNS NXDOMAIN ट्रैकिंग स्वचालित-ब्लॉक के साथ |
| बर्न डिटेक्शन | कोई नहीं | CT लॉग मॉनिटरिंग, डोमेन प्रतिष्ठा, क्रॉस-डोमेन विश्लेषक डिटेक्शन, कॉन्फिडेंस स्कोरिंग |
| इंफ्रास्ट्रक्चर लचीलापन | कोई नहीं | सर्किट ब्रेकर, प्रोटोकॉल फ़ेलओवर, डेड मैन्स स्विच, इंफ्रास्ट्रक्चर रोटेशन |
| पेलोड डिलीवरी | कोई नहीं | PwnDrop, Mythic फ़ाइल स्टोर, फ़ाइलसिस्टम, HTTP प्रॉक्सी सशर्त डिलीवरी के साथ |
| पेलोड सुरक्षा | कोई नहीं | वन-टाइम टोकन, प्रति-रूट रेट लिमिटिंग, डिलीवरी गार्ड |
| फ़िशिंग सुरक्षा | कोई नहीं | कैम्पेन टोकन वैलिडेशन (स्टैटिक सूची या HMAC-साइन्ड) |
| ऑपरेटर UI | कोई नहीं | वेब डैशबोर्ड + टर्मिनल UI + मल्टी-इंस्टेंस कमांड पोस्ट |
| अवलोकनीयता | कोई नहीं | Prometheus मेट्रिक्स, एंगेजमेंट रिपोर्ट, संरचित लॉगिंग |
| कॉन्फ़िग जनरेशन | कोई नहीं | पूर्ण कस्टमाइज़ेशन के साथ Nginx, Caddy, Apache |
| नियम इन्जेशन | कोई नहीं | .htaccess + robots.txt पार्सर |
| थ्रेट इंटेल फ़ीड | कोई नहीं | 5 सार्वजनिक स्रोतों से ऑटो-अपडेट |
| प्लगइन सिस्टम | बुनियादी 4-विधि इंटरफ़ेस | इवेंट-संचालित on_event हुक के साथ + प्रति-प्लगइन कॉन्फ़िग |
| SIEM एकीकरण | कोई नहीं | Elasticsearch, Wazuh, Syslog (CEF/JSON) |
| वेबहुक अलर्ट | कोई नहीं | Discord, Slack, जेनेरिक वेबहुक |
| व्हाइटलिस्ट इंटेलिजेंस | कोई नहीं | स्टार्टअप पर ASN/संगठन/देश के साथ CIDRs का ऑटो-एनरिचमेंट |
| एंटी-रिप्ले | SQLite हैश | इन-मेमोरी L1 कैश के साथ पर्सिस्टेंट SQLite, रिस्टार्ट पर बना रहता है |
| ड्रॉप एक्शन | redirect, reset, proxy | redirect, reset, proxy, tarpit |
| TLS प्रबंधन | केवल मैनुअल | ऑटो सेल्फ-साइन्ड + Let's Encrypt एकीकरण |
| एज डिप्लॉयमेंट | कोई नहीं | डोमेन फ्रंटिंग के साथ Cloudflare Worker + AWS Lambda एज प्रॉक्सी |
| कॉन्फ़िग सुरक्षा | कोई नहीं | age और SOPS एन्क्रिप्शन, वैलिडेशन जाँच, API कुंजी प्रबंधन |
| डिप्लॉयमेंट | मैनुअल | हेल्थ चेक के साथ Docker Compose |
| Async | Tornado कॉलबैक | नेटिव async/await (ASGI + uvicorn) |