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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cuddlephish — हथियारबंद ब्राउज़र-इन-द-मिडल (BitM) पेनिट्रेशन टेस्टर्स के लिए | Kitploit
उपकरण/GitHubGitHub/fkasler/cuddlephish
फ़िशिंग उपकरणवेब एप्लिकेशन शोषणफिशिंगपेनिट्रेशन टेस्टिंगसामाजिक इंजीनियरिंगरेड टीमिंग
GitHubfkasler/cuddlephish

cuddlephish

हथियारबंद ब्राउज़र-इन-द-मिडल (BitM) पेनिट्रेशन टेस्टर्स के लिए

रिपॉजिटरी देखें
673806512 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CuddlePhish

phishy

प्रवेश परीक्षकों के लिए शस्त्रीकृत बहु-उपयोगकर्ता ब्राउज़र-इन-द-मिडिल (BitM)। यह हमला कई उच्च-मूल्य वाले वेब अनुप्रयोगों पर बहु-कारक प्रमाणीकरण को बायपास करने के लिए इस्तेमाल किया जा सकता है। यह उन अनुप्रयोगों पर भी काम करता है जो सत्र टोकन का उपयोग नहीं करते हैं, और इसलिए पारंपरिक टोकन चोरी हमलों का उपयोग करके शोषण योग्य नहीं होंगे। यह एक सामाजिक इंजीनियरिंग उपकरण है और लक्ष्य सेवा में किसी भी तकनीकी खामी का शोषण नहीं करता है।

QuickStart

यह उपकरण एक विशिष्ट वेब सर्वर है। इसे Debian 11 (Bullseye) Linux सर्वर पर चलाने के लिए डिज़ाइन किया गया है और प्रशासन कार्यक्षमता की सुरक्षा के लिए सार्वजनिक IP जानकारी पर निर्भर करता है। कुछ गंभीर बाधाओं को पार किए बिना स्थानीय रूप से परीक्षण करने की अपेक्षा न करें।

चेतावनी: Chromium ARM पर समर्थित नहीं है। हालांकि ARM क्रोमियम बाइनरी का उपयोग करने के लिए मजबूर करना तकनीकी रूप से संभव है, आप puppeteer-extra की सभी अतिरिक्त सुविधाओं/सुरक्षाओं को खो देंगे।

यह उदाहरण सेटअप TLS, SNI को संभालने और प्रत्येक अनुरोध में 'X-Real-IP' जैसे कुछ कस्टम हेडर जोड़ने के लिए Caddy का उपयोग करता है। Cuddlephish के साथ Caddy का उपयोग करना आवश्यक नहीं है, क्योंकि वही रिवर्स प्रॉक्सी Nginx, Apache आदि का उपयोग करके सेट किया जा सकता है। मुझे Caddy पसंद है क्योंकि इसे Docker के साथ स्थापित करना आसान है, और इसमें अधिकांश डोमेन रजिस्ट्रारों के लिए Letsencrypt प्रमाणपत्र प्रबंधित करने के लिए प्लगइन हैं। उदाहरण Caddyfile दिखाता है कि आप इसे Gandi के लिए कैसे सेट करेंगे। अपने रजिस्ट्रार के दस्तावेज़ देखें।

Docker, Node, XVFB और कुछ अन्य निर्भरताएँ स्थापित करें:

git clone https://github.com/fkasler/cuddlephish
cd cuddlephish
sudo bash install_deps.sh

फिर आप अपने रजिस्ट्रार के लिए वाइल्डकार्ड सर्ट प्लगइन के साथ Caddy बनाने के लिए Docker का उपयोग कर सकते हैं। उदाहरण Gandi के लिए है। दस्तावेज़ यहाँ और DNS प्रदाता मॉड्यूल की सूची यहाँ देखें। आप बनाने से पहले अपने रजिस्ट्रार के लिए Dockerfile को संशोधित कर सकते हैं:

sudo docker build -t caddy .

अब अपने डोमेन और Gandi (या अन्य रजिस्ट्रार) API कुंजी को बदलने के लिए Caddyfile को संशोधित करें, और Caddy शुरू करें। मैं इसे screen या tmux विंडो में शुरू करने की सलाह देता हूँ ताकि आप एक क्षण में दूसरी विंडो में Node सर्वर चला सकें:

sudo docker run -p 80:80 -p 443:443 -p 2019:2019 -v $PWD/Caddyfile:/etc/caddy/Caddyfile --network=host caddy:latest

Caddy के साथ 80 और 443 पर हमारे लिए ट्रैफिक संभालने के बाद, हम अंततः उपकरण चला सकते हैं!

Node निर्भरताएँ स्थापित करें:

npm install

कुछ कॉन्फ़िग ट्वीक: महत्वपूर्ण कदम: सुनिश्चित करें कि उदाहरण config.json को संशोधित करके प्रशासन पहुंच के लिए अपने स्वीकृत सार्वजनिक IP(s) जोड़ें। IPs की यह श्वेतसूची "/admin" वेब इंटरफ़ेस तक पहुंच निर्धारित करती है। आपको डिफ़ॉल्ट सॉकेट कुंजी को भी अधिक सुरक्षित में बदलना चाहिए।

उपकरण डिफ़ॉल्ट रूप से किसी भी लॉगिन को लक्षित करने के लिए सेट नहीं है, इसलिए आपको कुछ जोड़ने की आवश्यकता होगी। इस चरण को आसान बनाने के लिए एक 'add_target.js' स्क्रिप्ट है। बस स्क्रिप्ट चलाएँ और संकेत मिलने पर उस लॉगिन पोर्टल का URL पेस्ट करें जिसे आप लक्षित करना चाहते हैं:

node add_target.js

यह आपके लिए सेवा का नाम, टैब शीर्षक और फ़ेविकॉन प्राप्त करेगा और 'targets.json' में एक प्रविष्टि जोड़ेगा। आप इस स्क्रिप्ट को कई बार चला सकते हैं और यह आपके नए लक्ष्यों को जोड़ देगी। स्क्रिप्ट प्रत्येक सेवा का नाम डोमेन के आधार पर रखेगी, शीर्ष स्तर के बिना। इसलिए, 'https://www.example.com/login.php' के लिए सेवा सिर्फ 'example' होगी जब आप अपने लक्ष्य को निर्दिष्ट करेंगे जब आप...

इसे चलाएँ!

node index.js example

कुछ सेकंड के बाद, आपको कंसोल में एक संदेश दिखना चाहिए जब आपका पहला स्वचालित क्रोम इंस्टेंस websockets पर चेक इन करता है। अब आपके फ़िशिंग साइट के आगंतुकों को वह दिखना चाहिए जो लक्ष्य लॉगिन पृष्ठ प्रतीत होता है, लेकिन वास्तव में यह आपके स्वचालित ब्राउज़र इंस्टेंस का वीडियो फ़ीड है। वे आपके ब्राउज़र इंस्टेंस के साथ बातचीत भी कर सकते हैं और आपके लिए लॉग इन कर सकते हैं।

यदि आपने config.json में अपने प्रशासन IP(s) को ठीक से कॉन्फ़िगर किया है, तो आपको उपयोगकर्ताओं को ट्रैक करने, कुंजी लॉग देखने, लॉग इन किए गए ब्राउज़र इंस्टेंस पर नियंत्रण लेने, कुकीज़ चुराने और अवांछित ब्राउज़र इंस्टेंस को हटाने के लिए एक विशेष '/admin' वेब इंटरफ़ेस देखने में सक्षम होना चाहिए।

नोट: आपको प्रशासन पृष्ठ में तब तक कुछ नहीं दिखेगा जब तक आपके कुछ पीड़ित न हों। एक बार जब आपके पास कोई पीड़ित हो, तो उनका ब्राउज़र इंस्टेंस प्रशासन UI पर पॉप अप होना चाहिए।

समस्या निवारण ("मुझे सिर्फ एक खाली पृष्ठ दिखता है")

मेरे पास कई लोगों ने "Blank White Page" के बारे में समस्या खोली है, जो कई संभावित समस्याओं का एक लक्षण है, और अपने आप में कोई समस्या नहीं है। कृपया अस्पष्ट लक्षण नामों के तहत समस्या न खोलें। इसके बजाय, यदि आपके पास उपयोगकर्ता पक्ष पर एक खाली पृष्ठ है, तो पहले निम्नलिखित में देखने का प्रयास करें:

  • जाँचें कि लक्ष्य सेवा का टैब शीर्षक में कोई विशेष वर्ण नहीं है। हम अपने स्वचालित ब्राउज़र को बताने के लिए "--auto-select-desktop-capture-source" का उपयोग करते हैं कि कौन सा टैब स्ट्रीम करना है। यह विकल्प विशेष वर्णों वाले शीर्षकों के लिए विफल हो जाता है। हालांकि, आपको पूर्ण टैब शीर्षक से मेल खाने की आवश्यकता नहीं है, और अद्वितीय मिलान के लिए पर्याप्त सबस्ट्रिंग की आवश्यकता है।
  • इसी तर्ज पर, यदि आपकी लक्ष्य सेवा आपके स्वचालित ब्राउज़र को 302 या समान रीडायरेक्ट भेजती है, और पीड़ित को WebRTC प्रसारण शुरू करने से पहले टैब शीर्षक बदल जाता है, तो "--auto-select-desktop-capture-source" विफल हो जाएगा। आप देख सकते हैं कि add_target.js इस जानकारी को कैसे पकड़ता है, और इसे index.js पर एक console.log() कथन के साथ दोहराएँ यह देखने के लिए कि क्या WebRTC पर बातचीत करने से पहले शीर्षक बदल गया है।
  • जाँचें कि cuddlephish HTML लोड हो रहा है, और फ्रंट-एंड पर डेवलपर कंसोल में कोई स्पष्ट JavaScript त्रुटियाँ नहीं हैं। उदाहरण Caddy कॉन्फ़िग में curl जैसे उपयोगकर्ता एजेंट स्ट्रिंग पर कुछ बुनियादी ब्लॉक हैं। कम से कम, आपको देखना चाहिए कि टैब शीर्षक और फ़ेविकॉन स्पूफ किए जा रहे हैं।
  • सुनिश्चित करें कि आप अपने सर्वर से उदाहरण STUN सेवा और पोर्ट (stun.l.google.com:19302) के साथ बातचीत कर सकते हैं।
  • सुनिश्चित करें कि आप जिस नेटवर्क से काम कर रहे हैं वह STUN की अनुमति भी देता है। STUN केवल "full-cone NAT", "(Address)-restricted-cone NAT", और "Port-restricted cone NAT" के साथ काम करता है। यह "Symmetric NAT" के साथ काम नहीं करता है।
  • सुनिश्चित करें कि आप अपने परीक्षण पीड़ित ब्राउज़र से उदाहरण STUN सेवा और पोर्ट (stun.l.google.com:19302) के साथ बातचीत कर सकते हैं। https://icetest.info/ का उपयोग करने का प्रयास करें।
  • यदि आपका नेटवर्क उदाहरण STUN सर्वर तक नहीं पहुँच सकता है, तो इसे उस सर्वर में बदलें जिस तक आप पहुँच सकते हैं। यदि आपका नेटवर्क STUN की अनुमति नहीं देता है, तो cuddlephish और broadcast HTML पृष्ठों में TURN सर्वर के लिए एक उदाहरण कॉन्फ़िग है। आपको अपना स्वयं का TURN सर्वर सेट अप या भुगतान करना होगा। नोट: एक TURN सर्वर में फ़िशिंग पीड़ितों को आपके ब्राउज़र इंस्टेंस से जोड़ने का सबसे अच्छा मौका है।

उच्च स्तर पर, यदि आप फ्रंट-एंड पर सिर्फ एक खाली पृष्ठ देखते हैं, तो इसका मतलब है कि डेटा प्रवाह की श्रृंखला में "Start WebRTC" > "Select Tab to Broadcast" > "Negotiate ICE with Victim's Browser" > "Stream Video" में कुछ टूट-फूट हो रही है। उपरोक्त समस्या निवारण कदम आपको इस प्रक्रिया के माध्यम से डेटा का अनुसरण करने में मदद करने के लिए हैं। जब ठीक से काम कर रहा हो, तो आपको सर्वर पर निम्नलिखित के समान एक लॉग स्ट्रीम देखने की उम्मीद करनी चाहिए:

troubleshoot

मुझे आशा है कि यह किसी भी समस्या में मदद करता है, और हमेशा की तरह, किसी समस्या को लगातार दोहराने के लिए पर्याप्त जानकारी आगे की जांच के लिए समस्या प्रस्तुत करने के लिए एक शर्त है।

प्रशासन सुविधाएँ

पेलोड भेजें:

JavaScript के माध्यम से पीड़ित के सिस्टम पर डाउनलोड करने के लिए मैन्युअल रूप से एक पेलोड ट्रिगर करें। प्रत्येक लक्ष्य एक परीक्षण पेलोड के रूप में 'payload.txt' से शुरू होता है। कस्टम पेलोड भेजने के लिए बस targets.json में फ़ाइल स्थान बदलें।

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