पोर्ट 445 / SMB टेकओवर (केवल अधिकृत कार्यों के लिए)
SMB पोर्ट 445 पर सुनें और रिमोट SMB एंडपॉइंट पर फ़ॉरवर्ड करें। जब 445 स्थानीय पोर्ट होता है तो टूल पहले विंडोज के अंतर्निहित SMB सर्वर से पोर्ट को मुक्त करता है:
root@kitploit:~
PortForwarder.exe 445 10.0.0.50 445 192.168.1.100
जब स्थानीय पोर्ट 445 होता है, बाइंड करने से पहले टूल स्वचालित रूप से:
विशेषाधिकार सत्यापित करेगा — पुष्टि करेगा कि प्रक्रिया उन्नत (एडमिनिस्ट्रेटर) चल रही है। यदि नहीं, तो यह स्पष्ट संदेश के साथ रुक जाता है।
वर्तमान धारक दिखाएगा — पोर्ट 445 पर बंधी PID/प्रक्रिया की पहचान करेगा (सामान्यतः System, PID 4, srvnet कर्नेल ड्राइवर के माध्यम से)।
SMB अक्षम करेगा और पोर्ट मुक्त करेगा — LanmanServer और srv2 / srvnet ड्राइवरों को रोकेगा (किसी भी आश्रित सेवाओं को पुनरावर्ती रूप से रोकते हुए), दृश्यता के लिए प्रत्येक चरण प्रिंट करेगा।
सत्यापित करेगा और बाइंड करेगा — पुष्टि करेगा कि पोर्ट 445 मुक्त है, फिर हमेशा की तरह बाइंड और फ़ॉरवर्ड करेगा।
उदाहरण आउटपुट:
root@kitploit:~
[445] === Port 445 / SMB takeover ===
[445] Privilege check: running elevated (administrator). OK
[445] Port 445 currently held by PID 4 (System (kernel / srvnet))
[445] Disabling SMB server and releasing port 445...
[445] Stopping 'LanmanServer'...
[445] service 'LanmanServer' stopped
[445] Stopping 'srv2'...
[445] service 'srv2' stopped
[445] Stopping 'srvnet'...
[445] service 'srvnet' stopped
[445] Port 445 is now free. Proceeding to bind.
[445] (Restore SMB later with: net start LanmanServer)
⚠️ इन सेवाओं को रोकने से कार्य की अवधि के लिए होस्ट पर फ़ाइल/प्रिंटर साझाकरण अक्षम हो जाता है। बाद में इसे net start LanmanServer से पुनर्स्थापित करें (ड्राइवर मांग पर या अगले बूट पर पुनः प्रारंभ होते हैं)। केवल उन सिस्टम पर उपयोग करें जिनका परीक्षण करने के लिए आप अधिकृत हैं।
उपयोग के मामले
स्थानीय विकास
कंटेनरों या VM में चल रही सेवाओं तक पहुँचें
WSL2 से विंडोज होस्ट पर पोर्ट फ़ॉरवर्ड करें
स्थानीय रूप से वेबहुक एंडपॉइंट का परीक्षण करें
नेटवर्क ब्रिजिंग
विभिन्न नेटवर्क खंडों को ब्रिज करें
फ़ायरवॉल प्रतिबंधों को बायपास करें (केवल अधिकृत उपयोग)
DMZ से आंतरिक सेवाओं तक पहुँचें
डेटाबेस एक्सेस
IP व्हाइटलिस्टिंग के साथ सुरक्षित डेटाबेस कनेक्शन
जम्प होस्ट के माध्यम से डेटाबेस ट्रैफ़िक को टनल करें
रिमोट डेवलपमेंट के लिए स्थानीय डेटाबेस प्रदर्शित करें
सुरक्षा परीक्षण
TCP ट्रैफ़िक पैटर्न की निगरानी और विश्लेषण करें
IP-आधारित एक्सेस नियंत्रण का परीक्षण करें
वर्बोज़ मोड के साथ कनेक्शन प्रयासों का ऑडिट करें
आउटपुट जानकारी
फ़ॉरवर्डर विस्तृत लॉगिंग प्रदान करता है:
root@kitploit:~
[INFO] Configuration:
Local port: 8080
Remote host: 192.168.1.100
Remote port: 80
Allowed IP: 192.168.1.50 (filtered mode)
Verbose: OFF
[INFO] Listening on port 8080...
[INFO] Press Ctrl+C to stop
[INFO] New connection from 192.168.1.50:54321 ACCEPTED
[INFO] Connected to remote 192.168.1.100:80
[INFO] Connection established, forwarding traffic...
[INFO] Closing connection (Sent: 1024 bytes, Received: 2048 bytes, Total: 3072 bytes)
वर्बोज़ मोड आउटपुट
जब -v फ़्लैग सक्षम होता है, तो अस्वीकृत कनेक्शन भी लॉग किए जाते हैं:
root@kitploit:~
[INFO] Connection from 192.168.1.99:54322 REJECTED (IP not allowed)
तकनीकी विवरण
प्रदर्शन अनुकूलन
बफ़र आकार: कुशल डेटा स्थानांतरण के लिए 8KB बफ़र
TCP_NODELAY: कम विलंबता के लिए Nagle का एल्गोरिदम अक्षम
Keepalive: मृत कनेक्शन का पता लगाने के लिए आक्रामक सेटिंग्स (10s प्रारंभिक, 1s अंतराल)
थ्रेड पूल: समर्पित फ़ॉरवर्डिंग थ्रेड्स के साथ 100 समवर्ती कनेक्शन तक
नॉन-ब्लॉकिंग स्वीकार: उत्तरदायी शटडाउन के लिए टाइमआउट-आधारित select()
कनेक्शन हैंडलिंग
प्रत्येक कनेक्शन एक समर्पित फ़ॉरवर्डिंग थ्रेड बनाता है जो:
रिमोट होस्ट से कनेक्शन स्थापित करता है
सॉकेट विकल्प सेट करता है (टाइमआउट, keepalive, TCP_NODELAY)
द्विदिश फ़ॉरवर्डिंग के लिए select() का उपयोग करता है
प्रत्येक दिशा में स्थानांतरित बाइट्स को ट्रैक करता है
समाप्ति पर दोनों सॉकेट्स को सुचारू रूप से बंद करता है
त्रुटि हैंडलिंग
फ़ॉरवर्डर सामान्य नेटवर्क त्रुटियों को सुचारू रूप से संभालता है:
WSAECONNRESET - सहकर्मी द्वारा कनेक्शन रीसेट
WSAECONNABORTED - कनेक्शन निरस्त
WSAENETRESET - नेटवर्क के कारण डिस्कनेक्ट
WSAETIMEDOUT - कनेक्शन का समय समाप्त
थ्रेड सुरक्षा
क्रिटिकल सेक्शन कनेक्शन ऐरे की रक्षा करते हैं
साफ शटडाउन के लिए वोलाटाइल running फ़्लैग
सफाई के दौरान थ्रेड सिंक्रनाइज़ेशन
सुरक्षा संबंधी विचार
⚠️ महत्वपूर्ण सुरक्षा नोट्स:
IP व्हाइटलिस्टिंग: प्रोडक्शन में पहुँच प्रतिबंधित करने के लिए [allowed_ip] पैरामीटर का उपयोग करें
कोई एन्क्रिप्शन नहीं: यह फ़ॉरवर्डर ट्रैफ़िक को एन्क्रिप्ट नहीं करता है। संवेदनशील डेटा के लिए SSH टनल या VPN का उपयोग करें
प्रमाणीकरण: कोई अंतर्निहित प्रमाणीकरण नहीं। सुनिश्चित करें कि रिमोट सेवा में उचित सुरक्षा है।
फ़ायरवॉल: सुनने वाले पोर्ट तक पहुँच प्रतिबंधित करने के लिए विंडोज फ़ायरवॉल कॉन्फ़िगर करें।
लॉगिंग: लॉग फ़ाइल के आकार को बढ़ने से रोकने के लिए प्रोडक्शन में वर्बोज़ मोड अक्षम करें।
संसाधन सीमाएं: 100 कनेक्शन सीमा संसाधन थकावट को रोकती है।
समस्या निवारण
पोर्ट पहले से उपयोग में है
root@kitploit:~
[ERROR] bind() failed: 10048
समाधान: कोई दूसरा एप्लिकेशन पोर्ट का उपयोग कर रहा है। कोई भिन्न स्थानीय पोर्ट चुनें या विरोधी सेवा रोकें।
रिमोट से कनेक्ट नहीं हो सकता
root@kitploit:~
[ERROR] connect() to remote failed: 10061
समाधान: सत्यापित करें कि रिमोट होस्ट पहुँच योग्य है और निर्दिष्ट पोर्ट पर सेवा चल रही है।
अनुमति अस्वीकृत
root@kitploit:~
[ERROR] bind() failed: 10013
समाधान: 1024 से नीचे के पोर्ट के लिए एडमिनिस्ट्रेटर विशेषाधिकारों की आवश्यकता हो सकती है। एडमिनिस्ट्रेटर के रूप में चलाएं या उच्च पोर्ट नंबर का उपयोग करें।
कनेक्शन अस्वीकृत
root@kitploit:~
[INFO] Connection from X.X.X.X:XXXXX REJECTED (IP not allowed)
समाधान: अस्वीकृत IP देखने के लिए वर्बोज़ मोड (-v) सक्षम करें, या IP फ़िल्टरिंग हटाएं।
फ़ॉरवर्डर को रोकना
फ़ॉरवर्डर को सुचारू रूप से रोकने के लिए Ctrl+C दबाएं। यह:
नए कनेक्शन स्वीकार करना बंद करेगा
सक्रिय कनेक्शनों के पूरा होने की प्रतीक्षा करेगा (5 सेकंड तक)
सभी सॉकेट बंद करेगा
संसाधनों को साफ करेगा
सफाई की पुष्टि प्रदर्शित करेगा
सीमाएं
केवल विंडोज: Winsock2 API का उपयोग करता है (Linux/macOS पर पोर्टेबल नहीं)
केवल IPv4: वर्तमान में केवल IPv4 पतों का समर्थन करता है
एकल IP फ़िल्टर: केवल एक अनुमत IP पता निर्दिष्ट किया जा सकता है
कोई लोड बैलेंसिंग नहीं: ट्रैफ़िक एकल रिमोट एंडपॉइंट पर फ़ॉरवर्ड किया जाता है
कोई ट्रैफ़िक निरीक्षण नहीं: सामग्री विश्लेषण के बिना कच्चा TCP फ़ॉरवर्डिंग
कोई बैंडविड्थ सीमित नहीं: कोई अंतर्निहित थ्रॉटलिंग या QoS नहीं
भविष्य में सुधार
भविष्य के संस्करणों के लिए संभावित सुविधाएं:
IPv6 समर्थन
एकाधिक IP व्हाइटलिस्ट/ब्लैकलिस्ट
SSL/TLS एन्क्रिप्शन रैपर
ट्रैफ़िक सांख्यिकी डैशबोर्ड
कॉन्फ़िगरेशन फ़ाइल समर्थन
बैंडविड्थ सीमित
राउंड-रॉबिन लोड बैलेंसिंग
कनेक्शन दर सीमित
क्रॉस-प्लेटफ़ॉर्म समर्थन (Linux/macOS)
लाइसेंस
यह सॉफ़्टवेयर शैक्षिक और वैध नेटवर्क प्रशासन उद्देश्यों के लिए 'जैसा है' प्रदान किया गया है। जिम्मेदारी से और लागू कानूनों और विनियमों के अनुपालन में उपयोग करें।
योगदान
योगदान का स्वागत है! कृपया सुनिश्चित करें:
कोड मौजूदा शैली का पालन करता है
परिवर्तन विंडोज पर अच्छी तरह से परीक्षण किए गए हैं
टिप्पणियाँ जटिल तर्क को समझाती हैं
नई सुविधाओं के लिए README अपडेट किया गया है
सहायता
समस्याओं, प्रश्नों या सुविधा अनुरोधों के लिए, कृपया प्रोजेक्ट रिपॉजिटरी पर एक इश्यू खोलें।