Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mitm-proxy-ja3-ja4 — TLS, HTTP/2 और TCP फिंगरप्रिंट स्पूफिंग के साथ कॉन्फ़िगर करने योग्य Rust HTTP MITM प्रॉक्सी। | Kitploit
उपकरण/GitHubGitHub/3radiance/mitm-proxy-ja3-ja4
पैकेट स्निफिंग और विश्लेषणएन्क्रिप्शन/डिक्रिप्शन उपकरणवेब प्रॉक्सी और अवरोधनवेब सुरक्षानेटवर्क सुरक्षागोपनीयताउपयोगिताएँ और फ्रेमवर्कक्रॉलरएंटी-बॉटफिंगरप्रिंट स्पूफिंग
GitHub3radiance/mitm-proxy-ja3-ja4
57222 दिन पहलेअभी तक समीक्षित नहीं

mitm-proxy-ja3-ja4

TLS, HTTP/2 और TCP फिंगरप्रिंट स्पूफिंग के साथ कॉन्फ़िगर करने योग्य Rust HTTP MITM प्रॉक्सी।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

mitm-proxy-ja3-ja4

English | Русский

Rust, tokio और btls के साथ बनाया गया एक HTTP MITM प्रॉक्सी।

इस प्रोजेक्ट को उन्नत TLS फिंगरप्रिंटिंग क्षमताओं के लिए btls (BoringSSL) का उपयोग करने के लिए पूरी तरह से फिर से लिखा गया है। TLS फिंगरप्रिंटिंग परत (JA3/JA4) अब पूरी तरह से स्पूफ़ करने योग्य है — सिफर सूट, कर्व्स, सिग्नेचर एल्गोरिदम, ALPN, रिकॉर्ड साइज़ लिमिट, सर्टिफिकेट कम्प्रेशन, GREASE, एक्सटेंशन परम्युटेशन/ऑर्डरिंग, OCSP स्टेपलिंग, सर्टिफिकेट ट्रांसपेरेंसी (SCT), सेशन टिकट, ALPS, और एन्क्रिप्टेड क्लाइंट हेलो (ECH, DoH के माध्यम से लाइव रिज़ॉल्व किया गया, GREASE फ़ॉलबैक के साथ) — ये सभी एक YAML प्रोफ़ाइल द्वारा नियंत्रित होते हैं। HTTP/2 फिंगरप्रिंटिंग (Akamai) और HTTP/1.1 हेडर ऑर्डरिंग/रिराइटिंग भी पूरी तरह से कॉन्फ़िगर करने योग्य हैं। TCP (L4) फिंगरप्रिंटिंग भी लाइव है: अपस्ट्रीम कनेक्शन के SYN पैकेट NFQUEUE में रिराइट किए जाते हैं (TTL, विंडो साइज़, MSS, विंडो स्केल, DF फ़्लैग, टाइमस्टैम्प, सटीक TCP विकल्प क्रम, प्रति-डोमेन मार्क) स्वचालित iptables प्रबंधन के साथ।

TLS फिंगरप्रिंट स्पूफ़िंग कॉन्फ़िगरेशन

TLS

HTTP/2 फिंगरप्रिंट स्पूफ़िंग कॉन्फ़िगरेशन

HTTP/2

TCP फिंगरप्रिंट स्पूफ़िंग कॉन्फ़िगरेशन

TCP

विशेषताएँ (वर्तमान कार्यान्वयन)

  • MITM (Man-in-the-Middle) — पारदर्शी HTTPS इंटरसेप्शन। यह प्रदर्शन के लिए moka के माध्यम से उन्हें कैश करते हुए, गतिशील रूप से प्रमाणपत्र जारी करने और हस्ताक्षर करने के लिए rcgen का उपयोग करता है।

  • BoringSSL एकीकरण — TLS हैंडशेक हैंडलिंग और MITM इंटरसेप्शन के लिए btls और tokio-btls का उपयोग करता है।

  • TLS फिंगरप्रिंट स्पूफ़िंग (JA3/JA4) — पूर्ण। अपस्ट्रीम TLS कनेक्शन पूरी तरह से -c / --config <path> के माध्यम से पास किए गए YAML प्रोफ़ाइल से बनाया जाता है (प्रारूप के लिए config.yaml देखें):

    • सिफर सूट, कॉलर-परिभाषित सख्त क्रम में।
    • एलिप्टिक कर्व्स।
    • सिग्नेचर एल्गोरिदम।
    • अपस्ट्रीम सर्वर द्वारा वास्तव में चयनित प्रोटोकॉल के आधार पर ALPN नेगोशिएशन।
    • रिकॉर्ड साइज़ लिमिट।
    • सर्टिफिकेट कम्प्रेशन (brotli, zlib, zstd) वास्तविक डीकम्प्रेशन समर्थन के साथ।
    • GREASE।
    • ClientHello में सटीक TLS एक्सटेंशन ऑर्डरिंग, या Chrome-शैली यादृच्छिक परम्युटेशन।
    • OCSP स्टेपलिंग, सर्टिफिकेट ट्रांसपेरेंसी (SCT), सेशन टिकट, और ALPS (Application-Layer Protocol Settings) टॉगल।
    • एन्क्रिप्टेड क्लाइंट हेलो (ECH) — वास्तविक ECH कॉन्फ़िग प्रत्येक अपस्ट्रीम होस्ट के लिए DoH (HTTPS/SVCB रिकॉर्ड लुकअप) के माध्यम से लाइव रिज़ॉल्व किया जाता है, DoH अनुरोध के लिए समान TLS/HTTP2 फिंगरप्रिंट प्रोफ़ाइल का उपयोग करते हुए; जब कोई कॉन्फ़िग नहीं मिलता है तो ECH GREASE (या कुछ भी नहीं) पर फ़ॉलबैक करता है, स्वतंत्र रूप से कॉन्फ़िगर करने योग्य — विवरण के लिए TLS.md देखें।
  • अपस्ट्रीम-फ़र्स्ट ALPN नेगोशिएशन — प्रॉक्सी ब्राउज़र-साइड TLS हैंडशेक पूरा करने से पहले अपस्ट्रीम सर्वर के साथ TLS स्थापित और नेगोशिएट करता है। अपस्ट्रीम सर्वर द्वारा चयनित ALPN का उपयोग फिर क्लाइंट-साइड TLS एक्सेप्टर को कॉन्फ़िगर करने के लिए किया जाता है, जिससे ब्राउज़र को ऐसा प्रोटोकॉल चुनने से रोका जाता है जिसे अपस्ट्रीम कनेक्शन समर्थित नहीं करता।

  • HTTP/2 फिंगरप्रिंट स्पूफ़िंग (Akamai) — YAML प्रोफ़ाइल के माध्यम से पूरी तरह से कॉन्फ़िगर करने योग्य HTTP/2 फिंगरप्रिंटिंग:

    • HTTP/2 SETTINGS मान और सटीक SETTINGS ऑर्डरिंग।
    • कनेक्शन-स्तरीय फ़्लो-कंट्रोल विंडो अपडेट।
    • प्रायोरिटी फ़्रेम कॉन्फ़िगर होने पर स्वचालित गणना के साथ कॉन्फ़िगर करने योग्य प्रारंभिक स्ट्रीम ID।
    • HTTP/2 प्रायोरिटी फ़्रेम और अनुरोध हेडर प्रायोरिटी।
    • खाली अनुरोधों के लिए कॉन्फ़िगर करने योग्य END_STREAM प्लेसमेंट।
    • स्यूडो-हेडर ऑर्डरिंग।
    • HTTP हेडर ऑर्डरिंग।
    • HTTP हेडर प्रतिस्थापन, जोड़ना, और हटाना।
    • पूरे बॉडी को बफ़र किए बिना स्ट्रीमिंग अनुरोध और प्रतिक्रिया बॉडी फ़ॉरवर्डिंग।
    • HTTP/2 ट्रेलर्स समर्थन।
  • HTTP/1.1 हेडर स्पूफ़िंग — सादे HTTP/1.1 अपस्ट्रीम कनेक्शन के लिए कॉन्फ़िगर करने योग्य हेडर क्रम और सामग्री (जब ALPN h2 नेगोशिएट नहीं करता), HTTP/2 के लिए उपयोग किए जाने वाले समान ओवरराइड/रिमूवल सिमैंटिक्स को दर्शाता है।

  • TCP फिंगरप्रिंट स्पूफ़िंग (L4) — पूर्ण। आउटगोइंग अपस्ट्रीम कनेक्शन Linux NFQUEUE (src/tcp_fingerprint/) के माध्यम से पैकेट स्तर पर फिंगरप्रिंट किए जाते हैं:

    • SYN rewriting: TTL, विंडो आकार, DF फ़्लैग, MSS / विंंडो-स्केल मान, टाइमस्टैम्प टॉगल, सटीक TCP विकल्प क्रम (या जब कोई क्रम सेट न हो तो इन-प्लेस मान पैचिंग), चेकसम पुनर्गणना के साथ।
    • स्थापित-फ़्लो कतार पैचिंग केवल TTL/DF (IPv6 हॉप सीमा समर्थित); प्रत्येक पैकेट को डिफ़ॉल्ट रूप से एक Accept निर्णय मिलता है ताकि कतारें कभी रुकें नहीं।
    • SO_MARK-आधारित रूटिंग से प्रति-डोमेन TCP प्रोफ़ाइल तक, स्वचालित iptables प्रबंधन (zapret/nfqws जैसे टूल के ऊपर टॉप-इंसर्टेड, डुप्लिकेट हटाए गए, Ctrl+C शटडाउन पर हटाए गए) --queue-bypass सुरक्षा के साथ।
    • TCP.md और config.yaml में tcp ब्लॉक देखें।
  • अपस्ट्रीम HTTP प्रॉक्सी समर्थन — CONNECT विधि के माध्यम से अपस्ट्रीम HTTP प्रॉक्सी के ज़रिए कनेक्शन प्रॉक्सी कर सकता है।

  • प्रति-डोमेन प्रोफ़ाइल रूटिंग — -d / --domain <path> पास करें, जिसमें डोमेन पैटर्न से आंशिक प्रोफ़ाइल ओवरले का मैप हो (देखें domain.yaml)। प्रत्येक कनेक्शन SNI द्वारा मिलान किया जाता है (सटीक → *.root → *.label.* → label.* → बेस प्रोफ़ाइल) और अपनी स्वयं की TCP/TLS/HTTP2/HTTP1/अपस्ट्रीम सेटिंग्स के साथ परोसा जाता है, जो स्टार्टअप पर एक बार पहले से बनाई जाती हैं। केवल वे फ़ील्ड निर्दिष्ट करने की आवश्यकता होती है जो बेस प्रोफ़ाइल से भिन्न हैं; बाकी सब कुछ विरासत में मिलता है।

  • अतुल्यकालिक — उच्च-प्रदर्शन, नॉन-ब्लॉकिंग अतुल्यकालिक I/O के लिए tokio पर निर्मित।

आवश्यकताएँ

  • Rust (संस्करण 2021)
  • Linux (NFQUEUE L4 सुविधाओं के लिए आवश्यक)
  • रूट या cap_net_admin,cap_net_raw=+eip (SO_MARK, NFQUEUE बाइंड, और स्वचालित iptables के लिए; इसके बिना tcp ब्लॉक में "auto_iptables": false सेट करें और mangle नियमों को मैन्युअल रूप से लागू करें — देखें TCP.md)
  • Multi-Account Containers के साथ Firefox (एक साथ कई फ़िंगरप्रिंट का लाभ उठाने के लिए अत्यधिक अनुशंसित)

लॉगिंग

प्रॉक्सी RUST_LOG के माध्यम से प्रति-मॉड्यूल फ़िल्टरिंग के साथ tracing का उपयोग करता है।

उदाहरण:

RUST_LOG='H2=error' cargo run --release -- -c profile.yaml
RUST_LOG='TCP=debug,H2=error,TLS=warn' cargo run --release -- -c profile.yaml
RUST_LOG='CA=info,TLS=warn,H2=error' cargo run --release -- -c profile.yaml

समर्थित टैग वही मॉड्यूल नाम हैं जो कोड में उपयोग किए गए हैं: TCP, HTTP, H1, H2, TLS, CA, ECH, CFG, IPT, NFQUEUE, Runtime।

लॉग पंक्तियों में डिफ़ॉल्ट रूप से एक टाइमस्टैम्प शामिल होता है, इसलिए डिबगिंग सत्रों को सहसंबंधित करना आसान हो जाता है।

इंस्टॉलेशन और उपयोग

1. बिल्ड

git clone https://github.com/3Radiance/mitm-proxy-ja3-ja4.git
cd mitm-proxy-ja3-ja4
cargo build --release

2. चलाएँ

सभी सेटिंग्स — पोर्ट, अपस्ट्रीम प्रॉक्सी, और CA फ़ाइल पथ — -c / --config <path> के माध्यम से पास किए गए YAML कॉन्फ़िग में मौजूद होती हैं। कोई --port / --upstream CLI फ़्लैग नहीं हैं।

config: 
  port: 9090
  upstream_proxy: "127.0.0.1:10808"
  cert: "/path/to/ca.crt"
  key: "/path/to/ca.key"

अपस्ट्रीम प्रॉक्सी के बिना चलाने के लिए, upstream_proxy: null सेट करें।

cargo run --release -- --config profile.yaml
# or
cargo run --release -- -c profile.yaml

पहले रन पर, यदि cert/key अभी तक मौजूद नहीं हैं, तो प्रॉक्सी कॉन्फ़िगर किए गए पाथ पर CA फ़ाइलें जनरेट करेगा:

  • ca.crt — रूट CA प्रमाणपत्र। आपको इसे Firefox/अपने ब्राउज़र में इम्पोर्ट करना होगा और वेबसाइटों की पहचान के लिए इसे ट्रस्ट करना होगा।
  • ca.key — CA के लिए निजी कुंजी।

3. प्रति-डोमेन ओवरराइड (वैकल्पिक)

cargo run --release -- -c profile.yaml -d domain.yaml

domain.yaml डोमेन पैटर्न को आंशिक ओवरले से मैप करता है — केवल वे फ़ील्ड जो बेस प्रोफ़ाइल से भिन्न हैं:

टूल डाउनलोड करें