Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
NachoVPN — एक स्वादिष्ट, लेकिन दुर्भावनापूर्ण SSL-VPN सर्वर 🌮 | Kitploit
उपकरण/GitHubGitHub/amberwolfcyber/nachovpn
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंटप्रतिकूल हमला
GitHubamberwolfcyber/nachovpn

NachoVPN

एक स्वादिष्ट, लेकिन दुर्भावनापूर्ण SSL-VPN सर्वर 🌮

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

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

सभी देखें →

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

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

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

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

NachoVPN 🌮🔒

NachoVPN एक प्रूफ ऑफ कॉन्सेप्ट (Proof of Concept) है जो एक दुष्ट (rogue) VPN सर्वर का उपयोग करके SSL-VPN क्लाइंट्स के शोषण को प्रदर्शित करता है।

यह प्लगइन-आधारित आर्किटेक्चर का उपयोग करता है ताकि अतिरिक्त SSL-VPN उत्पादों के लिए समर्थन समुदाय द्वारा योगदान किया जा सके। यह वर्तमान में कई लोकप्रिय कॉर्पोरेट VPN उत्पादों का समर्थन करता है, जैसे Cisco AnyConnect, SonicWall NetExtender, Palo Alto GlobalProtect, और Ivanti Connect Secure।

अधिक जानकारी के लिए, हमारी ब्लॉग पोस्ट और HackFest Hollywood 2024 प्रस्तुति [स्लाइड्स|वीडियो] देखें।

स्थापना

पूर्वापेक्षाएँ

  • Python 3.9 या उससे नया
  • Docker (वैकल्पिक)
  • osslsigncode (केवल Linux)
  • msitools (केवल Linux)
  • python3-netfilter (केवल Linux)
  • git

Linux सेटअप

NachoVPN को Ubuntu 22.04 पर बनाया और परीक्षण किया गया है।

  • python3-nftables और nftables इंस्टॉल करें

  • वैकल्पिक रूप से sudo की आवश्यकता से बचने के लिए setcap का उपयोग करें:

    root@kitploit:~
    sudo setcap 'cap_net_raw,cap_net_bind_service,cap_net_admin=eip' /usr/bin/python3.10
    
  • IP फॉरवर्डिंग सक्षम करें:

    root@kitploit:~
    sudo sysctl -w net.ipv4.ip_forward=1
    

स्रोत से स्थापना

NachoVPN को pip का उपयोग करके GitHub से इंस्टॉल किया जा सकता है। ध्यान दें कि इसके लिए git इंस्टॉल होना आवश्यक है।

सबसे पहले, एक वर्चुअल एनवायरनमेंट बनाएँ।

Linux पर, सुनिश्चित करें कि वर्चुअल एनवायरनमेंट के पास सिस्टम site-packages तक पहुँच हो, ताकि nftables काम करे:

root@kitploit:~
python3 -m venv env --system-site-packages
source env/bin/activate

Windows पर, nftables (और इस प्रकार पैकेट फॉरवर्डिंग) अक्षम है, इसलिए उपयोग करें:

root@kitploit:~
python -m venv env
.\env\Scripts\activate

फिर, NachoVPN इंस्टॉल करें:

root@kitploit:~
pip install git+https://github.com/AmberWolfCyber/NachoVPN.git

यदि आप Docker का उपयोग करना पसंद करते हैं, तो आप GitHub Container Registry से कंटेनर खींच सकते हैं:

root@kitploit:~
docker pull ghcr.io/AmberWolfCyber/nachovpn:release

वितरण के लिए निर्माण

wheel फ़ाइल बनाना

सबसे पहले, इस रिपॉजिटरी को क्लोन करें, और pip के माध्यम से setuptools और wheel इंस्टॉल करें। फिर आप setup.py स्क्रिप्ट चला सकते हैं:

root@kitploit:~
git clone https://github.com/AmberWolfCyber/NachoVPN
pip install -U setuptools wheel
python setup.py bdist_wheel

यह dist निर्देशिका में एक wheel फ़ाइल उत्पन्न करेगा, जिसे pip के साथ इंस्टॉल किया जा सकता है:

root@kitploit:~
pip install dist/nachovpn-1.0.0-py3-none-any.whl

स्थानीय विकास के लिए निर्माण

वैकल्पिक रूप से, स्थानीय विकास के लिए आप पैकेज को editable मोड में इंस्टॉल कर सकते हैं:

root@kitploit:~
pip install -e .

कंटेनर इमेज बनाना

आप निम्न कमांड के साथ कंटेनर इमेज बना सकते हैं:

root@kitploit:~
docker build -t nachovpn:latest .

चलाना

सर्वर को स्टैंडअलोन के रूप में चलाने के लिए, उपयोग करें:

root@kitploit:~
python -m nachovpn.server

वैकल्पिक रूप से, आप Docker का उपयोग करके सर्वर चला सकते हैं:

root@kitploit:~
docker run -e SERVER_FQDN=connect.nachovpn.local -e EXTERNAL_IP=1.2.3.4 -v ./certs:/app/certs -p 80:80 -p 443:443 --rm -it nachovpn

यह certbot का उपयोग करके SERVER_FQDN के लिए एक प्रमाणपत्र उत्पन्न करेगा, और इसे certs निर्देशिका में सहेजेगा, जिसे हमने कंटेनर में माउंट किया है।

वैकल्पिक रूप से, परीक्षण उद्देश्यों के लिए, आप SKIP_CERTBOT एनवायरनमेंट वेरिएबल सेट करके प्रमाणपत्र निर्माण को छोड़ सकते हैं।

इसके बजाय यह एक सेल्फ-साइनेड प्रमाणपत्र उत्पन्न करेगा।

root@kitploit:~
docker run -e SERVER_FQDN=connect.nachovpn.local -e SKIP_CERTBOT=1 -e EXTERNAL_IP=1.2.3.4 -p 443:443 --rm -it nachovpn

सुविधा के लिए एक उदाहरण docker-compose फ़ाइल भी प्रदान की गई है।

डिबगिंग

आप लॉगिंग की विस्तृतता बढ़ाने के लिए nachovpn को -d या --debug कमांड लाइन आर्ग्युमेंट्स के साथ चला सकते हैं, जो डिबगिंग में सहायता कर सकता है।

वैकल्पिक रूप से, यदि लॉगिंग बहुत अधिक शोरगुल वाली है, तो आप इसके बजाय q या --quiet कमांड लाइन आर्ग्युमेंट का उपयोग कर सकते हैं।

प्लगइन्स

NachoVPN निम्नलिखित प्लगइन्स और क्षमताओं का समर्थन करता है:

URI हैंडलर

  • Ivanti Connect Secure (Pulse Secure) URI हैंडलर को NachoVPN सर्वर पर /pulse URL पर जाकर ट्रिगर किया जा सकता है।
  • SonicWall NetExtender URI हैंडलर को NachoVPN सर्वर पर /sonicwall URL पर जाकर ट्रिगर किया जा सकता है। इसके लिए आवश्यक है कि क्लाइंट मशीन पर SonicWall Connect Agent इंस्टॉल हो।
  • Delinea URI हैंडलर को NachoVPN सर्वर पर /delinea URL पर जाकर ट्रिगर किया जा सकता है।

परिचालन नोट्स

  • एक विश्वसनीय प्रमाणपत्र प्राधिकरण (Certificate Authority) द्वारा हस्ताक्षरित TLS प्रमाणपत्र का उपयोग करने की अनुशंसा की जाती है। Docker कंटेनर certbot का उपयोग करके इस प्रक्रिया को आपके लिए स्वचालित करता है। यदि आप विश्वसनीय प्रमाणपत्र का उपयोग नहीं करते हैं, तो NachoVPN इसके बजाय एक सेल्फ-साइनेड प्रमाणपत्र उत्पन्न करेगा, जो अधिकांश मामलों में या तो क्लाइंट को प्रमाणपत्र चेतावनी के साथ संकेत देगा, या जब तक आप सेल्फ-साइनेड प्रमाणपत्र स्वीकार करने के लिए क्लाइंट सेटिंग्स को संशोधित नहीं करते, तब तक कनेक्ट करने से मना कर देगा। Palo Alto GlobalProtect प्लगइन के लिए, यह MSI इंस्टॉलर को भी विफल कर देगा।
  • SonicWall प्लगइन के लिए एक वैध कोडसाइनिंग प्रमाणपत्र का अनुकरण करने के लिए, NachoVPN NACAgent.exe पेलोड को एक सेल्फ-साइनेड प्रमाणपत्र के साथ हस्ताक्षरित करेगा। परीक्षण उद्देश्यों के लिए, आप एक्सप्लॉइट ट्रिगर करने से पहले इस CA प्रमाणपत्र को /sonicwall/ca.crt से डाउनलोड और इंस्टॉल कर सकते हैं। प्रोडक्शन उपयोग-मामलों के लिए, आपको एक सार्वजनिक CA से वैध कोडसाइनिंग प्रमाणपत्र प्राप्त करना होगा, अपने NACAgent.exe पेलोड पर हस्ताक्षर करना होगा, और इसे payloads निर्देशिका में रखना होगा (या docker का उपयोग करने पर इसे /app/payloads में वॉल्यूम माउंट करें)।
  • सुविधा के लिए, SonicWall प्लगइन के लिए एक डिफ़ॉल्ट NACAgent.exe पेलोड उत्पन्न किया जाता है, और payloads निर्देशिका में लिखा जाता है। यह बस वर्तमान उपयोगकर्ता के डेस्कटॉप पर SYSTEM के रूप में चलने वाली एक नई cmd.exe प्रक्रिया को स्पॉन करता है।

प्लगइन अक्षम करना

किसी प्लगइन को अक्षम करने के लिए, इसे DISABLED_PLUGINS एनवायरनमेंट वेरिएबल में जोड़ें। उदाहरण के लिए:

root@kitploit:~
DISABLED_PLUGINS=CiscoPlugin,SonicWallPlugin

एनवायरनमेंट वेरिएबल्स

NachoVPN को एनवायरनमेंट वेरिएबल्स का उपयोग करके कॉन्फ़िगर किया जाता है। यह इसे कंटेनराइज़्ड डिप्लॉयमेंट्स के साथ आसानी से संगत बनाता है।

वैश्विक एनवायरनमेंट वेरिएबल्स:

प्लगइन-विशिष्ट एनवायरनमेंट वेरिएबल्स:

शमन उपाय

हम निम्नलिखित शमन उपायों की अनुशंसा करते हैं:

  • सुनिश्चित करें कि SSL-VPN क्लाइंट विक्रेता से उपलब्ध नवीनतम संस्करण में अपडेट किए गए हैं।
  • अधिकांश VPN क्लाइंट VPN प्रोफ़ाइल को किसी विशिष्ट एंडपॉइंट तक लॉक करने, या ऑलवेज-ऑन VPN मोड का उपयोग करने की अवधारणा का समर्थन करते हैं। जहाँ संभव हो इसे सक्षम किया जाना चाहिए।
  • दुर्भाग्य से, कुछ मामलों में इस लॉकडाउन को एक दुर्भावनापूर्ण स्थानीय उपयोगकर्ता द्वारा हटाया जा सकता है, इसलिए उन IP पतों को प्रतिबंधित करने के लिए होस्ट-आधारित फ़ायरवॉल नियमों का उपयोग करने की भी अनुशंसा की जाती है, जिनसे VPN क्लाइंट संचार कर सकता है।
  • यह सुनिश्चित करने के लिए WDAC जैसी एप्लिकेशन कंट्रोल नीति, या किसी EDR समाधान का उपयोग करने पर विचार करें कि केवल स्वीकृत एक्ज़ीक्यूटेबल्स और स्क्रिप्ट्स ही VPN क्लाइंट द्वारा निष्पादित की जा सकें।
  • गैर-मानक चाइल्ड प्रोसेस निष्पादित करने वाले VPN क्लाइंट्स पर पता लगाएँ और अलर्ट करें।

संदर्भ

  • AmberWolf Blog: NachoVPN
  • HackFest Hollywood 2024: Very Pwnable Networks: रिमोट रूट और SYSTEM शेल्स के लिए शीर्ष कॉर्पोरेट VPN क्लाइंट्स का शोषण, Rich Warren और David Cash [वीडियो]
  • BlackHat 2008: Leveraging the Edge: SSL VPNs का दुरुपयोग, Mike Zusman
  • BlackHat 2019: NSA की तरह कॉर्पोरेट इंट्रानेट में घुसपैठ, Orange Tsai और Meh Chang
  • NCC Group: नए कनेक्शन बनाना: पेलोड्स को ड्रॉप और रन करने के लिए Cisco AnyConnect क्लाइंट का लाभ उठाना, David Cash और Julian Storr
  • The OpenConnect प्रोजेक्ट

योगदान

हम योगदान का स्वागत करते हैं! कृपया एक issue खोलें या Pull Request बनाएँ।

यदि आप एक नया प्लगइन विकसित करने में रुचि रखते हैं, तो आरंभ करने के लिए आप ExamplePlugin पर एक नज़र डाल सकते हैं।

लाइसेंस

NachoVPN MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।

टूल डाउनलोड करें
प्लगइनउत्पादCVEWindows RCEmacOS RCEविशेषाधिकार प्राप्तURI हैंडलरपैकेट कैप्चरडेमो
CiscoCisco AnyConnectN/A✅✅❌❌✅Windows / macOS
SonicWallSonicWall NetExtenderCVE-2024-29014✅❌✅✅❌Windows
PaloAltoPalo Alto GlobalProtectCVE-2024-5921 (आंशिक सुधार)✅✅✅❌✅Windows / macOS / iOS
PulseSecureIvanti Connect SecureCVE-2020-8241 (बायपास किया गया)✅✅✅✅ (केवल विंडोज़ - 22.8R1 में डिफ़ॉल्ट रूप से अक्षम)✅Windows
NetskopeNetskopeCVE-2025-0309✅❌✅❌❌Windows
DelineaProtocol HandlerCVE-2026-????✅✅❌✅❌Windows
  • Palo Alto GlobalProtect प्लगइन के लिए आवश्यक है कि MSI इंस्टॉलर और msi_version.txt फ़ाइल downloads निर्देशिका में मौजूद हों। इन्हें या तो मैन्युअल रूप से जोड़ें, या डाउनलोड करने के लिए msi_downloader.py स्क्रिप्ट चलाएँ।
  • Palo Alto GlobalProtect डाउनग्रेड हमले को करने के लिए, सुनिश्चित करें कि GlobalProtect.msi.old और GlobalProtect64.msi.old downloads फ़ोल्डर में मौजूद हैं। इन फ़ाइलों में 6.2.6 से पहले के संस्करण के लिए असंशोधित MSI इंस्टॉलर होने चाहिए (जैसे 6.2.5)।
  • वेरिएबलविवरणडिफ़ॉल्ट
    SERVER_FQDNसर्वर का पूर्ण योग्य डोमेन नाम।connect.nachovpn.local
    EXTERNAL_IPसर्वर का बाहरी IP पता।127.0.0.1
    WRITE_PCAPकैप्चर की गई PCAP फ़ाइलों को डिस्क पर लिखना है या नहीं।false
    DISABLED_PLUGINSअक्षम करने के लिए प्लगइन्स की अल्पविराम-पृथक सूची।
    USE_DYNAMIC_SERVER_THUMBPRINTसर्वर प्रमाणपत्र थंबप्रिंट की गणना सर्वर से गतिशील रूप से करनी है या नहीं (प्रॉक्सी के पीछे होने पर उपयोगी)।false
    SERVER_SHA1_THUMBPRINTसर्वर प्रमाणपत्र के लिए गणना किए गए SHA1 थंबप्रिंट को ओवरराइड करने की अनुमति देता है।
    SERVER_MD5_THUMBPRINTसर्वर प्रमाणपत्र के लिए गणना किए गए MD5 थंबप्रिंट को ओवरराइड करने की अनुमति देता है।
    SMB_ENABLEDSMB शेयर को सक्षम करता है, जो टनल के माध्यम से \\10.10.0.1\<SMB_SHARE_NAME> पर उपलब्ध हैfalse
    SMB_SHARE_NAMESMB शेयर के लिए उपयोग किया जाने वाला नामSHARE
    SMB_SHARE_PATHSMB शेयर के लिए उपयोग की जाने वाली निर्देशिका का पथsmb
    TUNNEL_PRIVATEtrue पर सेट होने पर, टनलिंग सक्षम करता है लेकिन VPN क्लाइंट्स के लिए इंटरनेट फॉरवर्डिंग अक्षम करता है। क्लाइंट केवल SMB शेयर तक पहुँच सकते हैं।false
    TUNNEL_FULLtrue पर सेट होने पर, पूर्ण टनलिंग सक्षम करता है और VPN क्लाइंट्स को इंटरनेट तक पहुँचने की अनुमति देता है। साथ ही TUNNEL_PRIVATE=true का संकेत देता है।false
    वेरिएबलविवरणडिफ़ॉल्ट
    VPN_NAMEVPN प्रोफ़ाइल का नाम, जो Cisco AnyConnect के लिए क्लाइंट को प्रस्तुत किया जाता है।NachoVPN
    PULSE_LOGON_SCRIPTPulse Secure लॉगऑन स्क्रिप्ट का पथ।C:\Windows\System32\calc.exe
    PULSE_LOGON_SCRIPT_MACOSmacOS के लिए Pulse Secure लॉगऑन स्क्रिप्ट का पथ।
    PULSE_DNS_SUFFIXPulse Secure कनेक्शन्स के लिए उपयोग किया जाने वाला DNS सफ़िक्स।nachovpn.local
    PULSE_USERNAMEPulse Secure लॉगऑन डायलॉग में पहले से भरा जाने वाला उपयोगकर्ता नाम।
    PULSE_SAVE_CONNECTIONउपयोगकर्ता के क्लाइंट में Pulse Secure कनेक्शन सहेजना है या नहीं।false
    PULSE_ANONYMOUS_AUTHPulse Secure कनेक्शन्स के लिए अनाम प्रमाणीकरण का उपयोग करना है या नहीं। true पर सेट होने पर, उपयोगकर्ता से उपयोगकर्ता नाम या पासवर्ड नहीं पूछा जाएगा।false
    PULSE_HOST_CHECKER_RULES_FILEICS के लिए रजिस्ट्री-आधारित होस्ट-चेकर नियमों की सूची वाली एक JSON फ़ाइल। उदाहरण src/nachovpn/plugins/pulse/test/example_rules.json में देखें
    PALO_ALTO_MSI_ADD_FILEPalo Alto इंस्टॉलर MSI में जोड़ी जाने वाली फ़ाइल का पथ।
    PALO_ALTO_MSI_COMMANDPalo Alto इंस्टॉलर MSI द्वारा निष्पादित की जाने वाली कमांड।net user pwnd Passw0rd123! /add && net localgroup administrators pwnd /add
    PALO_ALTO_FORCE_PATCHयदि MSI इंस्टॉलर पहले से payloads निर्देशिका में मौजूद है तो उसकी पैचिंग को बलपूर्वक करना है या नहीं।false
    PALO_ALTO_PKG_COMMANDmacOS पर Palo Alto इंस्टॉलर PKG द्वारा निष्पादित की जाने वाली कमांड।touch /tmp/pwnd
    CISCO_COMMAND_WINWindows पर Cisco AnyConnect OnConnect.vbs स्क्रिप्ट द्वारा निष्पादित की जाने वाली कमांड।calc.exe
    CISCO_COMMAND_MACOSmacOS पर Cisco AnyConnect OnConnect.sh स्क्रिप्ट द्वारा निष्पादित की जाने वाली कमांड।touch /tmp/pwnd