139,445 - Pentesting SMB
पोर्ट 139
नेटवर्क बेसिक इनपुट आउटपुट सिस्टम** (NetBIOS)** एक सॉफ्टवेयर प्रोटोकॉल है जो स्थानीय क्षेत्र नेटवर्क (LAN) में एप्लिकेशन, पीसी और डेस्कटॉप को नेटवर्क हार्डवेयर के साथ बातचीत करने और नेटवर्क के माध्यम से डेटा के प्रेषण को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है। नेटबायोस नेटवर्क पर काम कर रहे सॉफ्टवेयर एप्लिकेशनों की पहचान और स्थान उनके NetBIOS नामों के माध्यम से होती है, जो 16 वर्णों तक हो सकते हैं और अक्सर कंप्यूटर नाम से अलग होते हैं। दो एप्लिकेशन के बीच एक NetBIOS सत्र को आरंभ किया जाता है जब एक एप्लिकेशन (जो क्लाइंट के रूप में कार्य कर रहा है) एक अन्य एप्लिकेशन (जो सर्वर के रूप में कार्य कर रहा है) को एक "कॉल" कमांड जारी करता है जो TCP पोर्ट 139 का उपयोग करता है।
पोर्ट 445
तकनीकी रूप से, पोर्ट 139 को 'NBT ओवर आईपी' के रूप में संदर्भित किया जाता है, जबकि पोर्ट 445 को 'SMB ओवर आईपी' के रूप में पहचाना गया है। एक्रोनाइम SMB 'सर्वर मैसेज ब्लॉक्स' के लिए है, जिसे आधुनिक रूप में कॉमन इंटरनेट फ़ाइल सिस्टम (CIFS) के रूप में भी जाना जाता है। एक एप्लिकेशन-स्तर का नेटवर्क प्रोटोकॉल के रूप में, SMB/CIFS का मुख्य रूप से उपयोग फ़ाइलों, प्रिंटर, सीरियल पोर्ट्स तक का साझा उपयोग सक्षम करने और नेटवर्क पर नोड्स के बीच विभिन्न प्रकार की संचार को सुविधाजनक बनाने के लिए किया जाता है।
उदाहरण के लिए, Windows के संदर्भ में, इस बात को हाइलाइट किया गया है कि SMB सीधे TCP/IP के ओवर काम कर सकता है, NetBIOS over TCP/IP के लिए आवश्यकता को खत्म करते हुए, पोर्ट 445 का उपयोग करके। उल्टे, विभिन्न सिस्टमों पर, पोर्ट 139 का उपयोग देखा जाता है, जिसका संकेत है कि SMB NetBIOS over TCP/IP के साथ कार्यान्वित हो रहा है।
SMB
सर्वर संदेश ब्लॉक (SMB) प्रोटोकॉल, जो एक क्लाइंट-सर्वर मॉडल में काम करता है, फ़ाइलों, निर्देशिकाओं, और प्रिंटर और राउटर जैसे अन्य नेटवर्क संसाधनों तक का पहुंच नियंत्रण के लिए डिज़ाइन किया गया है। मुख्य रूप से Windows ऑपरेटिंग सिस्टम श्रृंखला के भीतर उपयोग किया जाता है, SMB पिछले संस्करणों के साथ संगतता सुनिश्चित करता है, जिससे माइक्रोसॉफ्ट के ऑपरेटिंग सिस्टम के नए संस्करणों वाले उपकरण पुराने संस्करण चलाने वाले उपकरणों के साथ सहजता से आपसी क्रियान्वयन कर सकते हैं। इसके अतिरिक्त, Samba परियोजना एक मुफ्त सॉफ़्टवेयर समाधान प्रदान करती है, जिससे SMB का अंमल Linux और Unix सिस्टमों पर संचालन किया जा सकता है, जिससे SMB के माध्यम से प्लेटफ़ॉर्म के बीच संचार सुविधा प्रदान की जा सकती है।
एक SMB सर्वर द्वारा प्रदान किए गए स्थानीय फ़ाइल सिस्टम के विभिन्न हिस्से को शेयर किया जा सकता है, जिससे सर्वर की वास्तविक संरचना से अधिकांश रूप से अलग क्लाइंट को दृश्यमान हो जाता है। पहुंच नियंत्रण सूची (ACLs), जो पहुंच अधिकार को परिभाषित करती हैं, उपयोगकर्ता अनुमतियों पर सूक्ष्म नियंत्रण की अनुमति देती हैं, जिसमें क्रियान्वयन
, पढ़ना
, और पूर्ण पहुंच
जैसी विशेषताएँ शामिल हैं। ये अनुमतियाँ व्यक्तिगत उपयोगकर्ताओं या समूहों को शेयरों पर निर्धारित की जा सकती हैं, और सर्वर पर स्थानीय अनुमतियों से भिन्न होती हैं।
IPC$ शेयर
IPC$ शेयर तक पहुंच एक नामहीन शून्य सत्र के माध्यम से प्राप्त की जा सकती है, जिससे नामित पाइप के माध्यम से उजागरित सेवाओं के साथ बातचीत की जा सकती है। उपयोगिता enum4linux
इस उद्देश्य के लिए उपयुक्त है। सही ढंग से उपयोग किया जाए, यह निम्नलिखित प्राप्त करने की सुविधा प्रदान करता है:
ऑपरेटिंग सिस्टम पर जानकारी
मूल डोमेन पर विवरण
स्थानीय उपयोगकर्ताओं और समूहों का संकलन
उपलब्ध SMB शेयरों पर जानकारी
प्रभावी सिस्टम सुरक्षा नीति
यह कार्यक्षमता SMB (सर्वर संदेश ब्लॉक) सेवाओं पर नेटवर्क में सुरक्षा स्थिति का मूल्यांकन करने के लिए नेटवर्क प्रशासकों और सुरक्षा विशेषज्ञों के लिए महत्वपूर्ण है। enum4linux
लक्ष्य सिस्टम के SMB वातावरण का व्यापक दृश्य प्रदान करता है, जो संभावित कमजोरियों की पहचान के लिए आवश्यक है और सुनिश्चित करता है कि SMB सेवाएं ठीक से सुरक्षित हैं।
ऊपर का कमांड एक उदाहरण है कि enum4linux
कैसे उपयोग किया जा सकता है एक लक्ष्य द्वारा निर्दिष्ट किया गया target_ip
के खिलाफ पूर्ण जांच करने के लिए।
NTLM क्या है
अगर आपको पता नहीं है कि NTLM क्या है या आप जानना चाहते हैं कि यह कैसे काम करता है और इसका दुरुपयोग कैसे किया जा सकता है, तो आपको बहुत रोचक लगेगा यह पृष्ठ NTLM के बारे में जहां विस्तार से समझाया गया है कि यह प्रोटोकॉल कैसे काम करता है और आप इसका लाभ कैसे उठा सकते हैं:
pageNTLMसर्वर जांच
स्कैन एक नेटवर्क में होस्टों की खोज करने के लिए:
SMB सर्वर संस्करण
SMB संस्करण के लिए संभावित दुरुपयोग की खोज करने के लिए यह महत्वपूर्ण है कि कौन सा संस्करण उपयोग किया जा रहा है। यदि यह जानकारी अन्य उपयोग किए गए उपकरणों में नहीं दिखाई देती है, तो आप:
MSF ऑक्सिलरी मॉड्यूल _auxiliary/scanner/smb/smb_version का उपयोग करें
या यह स्क्रिप्ट:
खोज शोध
संभावित क्रेडेंशियल
उपयोगकर्ता नाम(एस) | सामान्य पासवर्ड |
(खाली) | (खाली) |
guest | (खाली) |
Administrator, admin | (खाली), पासवर्ड, व्यवस्थापक, एडमिन |
arcserve | arcserve, बैकअप |
tivoli, tmersrvd | tivoli, tmersrvd, व्यवस्थापक |
backupexec, backup | backupexec, बैकअप, आर्काडा |
test, lab, demo | पासवर्ड, test, lab, demo |
ब्रूट फोर्स
SMB परिवेश सूचना
जानकारी प्राप्त करें
उपयोगकर्ता, समूह और लॉग इन किए गए उपयोगकर्ताओं का जांच करें
यह जानकारी पहले से ही enum4linux और enum4linux-ng से एकत्र की जानी चाहिए।
स्थानीय उपयोगकर्ताओं का जांच
एकलाइनर
Metasploit - स्थानीय उपयोगकर्ताओं का जांच करें
LSARPC और SAMR rpcclient का जाँच
pagerpcclient enumerationLinux से GUI कनेक्शन
टर्मिनल में:
xdg-open smb://cascade.htb/
फ़ाइल ब्राउज़र विंडो (nautilus, thunar, आदि)
smb://friendzone.htb/general/
साझा फ़ोल्डर्स की जाँच
साझा फ़ोल्डर्स की सूची
हमेशा सिफारिश की जाती है कि आप देखें कि क्या आप किसी चीज़ तक पहुँच सकते हैं, यदि आपके पास क्रेडेंशियल नहीं हैं तो null क्रेडेंशियल/मेहमान उपयोगकर्ता का प्रयास करें।
किसी साझा फ़ोल्डर से कनेक्ट/सूची बनाएं
Windows शेयरों की सूची बनाएं और उनसे कनेक्ट करें
शायद आपको मान्यता हो कि मेज़बान मशीन के किसी भी शेयर को प्रदर्शित करने से प्रतिबंधित किया गया है और जब आप उन्हें सूचीत करने का प्रयास करते हैं तो ऐसा लगता है कि कनेक्ट करने के लिए कोई शेयर नहीं है। इसलिए यह महत्वपूर्ण हो सकता है कि एक शेयर के लिए मैन्युअल कनेक्ट करने का प्रयास किया जाए। शेयरों को मैन्युअल जांचने के लिए आपको NT_STATUS_ACCESS_DENIED और NT_STATUS_BAD_NETWORK_NAME जैसे प्रतिक्रियाएँ देखना चाहिए, जब एक मान्य सत्र (उदाहरण के लिए, नल सत्र या मान्य प्रमाणपत्र) का उपयोग कर रहे हों। ये इसका संकेत दे सकते हैं कि क्या शेयर मौजूद है और आपको उसका उपयोग करने की अनुमति नहीं है या शेयर पूरी तरह से मौजूद नहीं है।
Windows लक्ष्यों के लिए सामान्य शेयर नाम हैं
C$
D$
ADMIN$
IPC$
PRINT$
FAX$
SYSVOL
NETLOGON
(सामान्य शेयर नाम नेटवर्क सुरक्षा मूल्यांकन 3 वीं संस्करण से)
आप इनमें से किसी के साथ कनेक्ट करने की कोशिश कर सकते हैं निम्नलिखित कमांड का उपयोग करके
इस स्क्रिप्ट के लिए (नल सेशन का उपयोग करके)
उदाहरण
Windows से शेयरों की जांच करें / तीसरे पक्ष के उपकरण के बिना
PowerShell
कमांड कंसोल
MMC स्नैप-इन (ग्राफिकल)
एक्सप्लोरर.एक्सई (ग्राफिकल), \\<ip>\
दर्ज करें ताकि उपलब्ध गैर-छिपी साझाकरण देख सकें।
एक साझी फ़ोल्डर माउंट करें
फ़ाइलें डाउनलोड करें
पासवर्ड/हैश पास करने के लिए कनेक्ट करने के लिए पिछले खंड पढ़ें।
डोमेन साझा फ़ोल्डर खोज
Snaffler****
CrackMapExec स्पाइडर।
-M spider_plus [--share <share_name>]
--pattern txt
विशेष रूप से रुचिकर हैं वे फ़ाइलें जिन्हें Registry.xml
कहा जाता है क्योंकि वे उपयोगकर्ताओं के लिए पासवर्ड रख सकती हैं जो समूह नीति के माध्यम से ऑटोलॉगऑन के साथ कॉन्फ़िगर किए गए हो सकते हैं। या web.config
फ़ाइलें क्योंकि वे क्रेडेंशियल्स को संभालती हैं।
SYSVOL share डोमेन में सभी प्रमाणित उपयोगकर्ताओं द्वारा पढ़ने योग्य है। वहां आपको कई विभिन्न बैच, वीबीस्क्रिप्ट, और पावरशेल स्क्रिप्ट मिल सकते हैं। आपको इसके अंदर के स्क्रिप्ट की जाँच करनी चाहिए क्योंकि आपको पासवर्ड जैसी संवेदनशील जानकारी मिल सकती है।
रजिस्ट्री पढ़ें
आप कुछ पाए गए क्रेडेंशियल का उपयोग करके रजिस्ट्री पढ़ सकते हैं। Impacket reg.py
आपको यह कोशिश करने की अनुमति देता है:
Post Exploitation
Samba सर्वर की डिफ़ॉल्ट कॉन्फ़िग आम तौर पर /etc/samba/smb.conf
में स्थित होती है और कुछ खतरनाक कॉन्फ़िग हो सकती हैं:
सेटिंग | विवरण |
| क्या मौजूदा शेयर्स की सूची देने की अनुमति है? |
| फ़ाइलों की रचना और संशोधन को निषेधित करें? |
| क्या उपयोगकर्ताओं को फ़ाइलें बनाने और संशोधित करने की अनुमति है? |
| क्या बिना पासवर्ड का उपयोग किए सेवा से कनेक्ट करने की अनुमति है? |
| क्या विशिष्ट SID को सौंपी गई विशेषाधिकारों का सम्मान करना है? |
| नवनिर्मित फ़ाइलों को किस अनुमति का सौंपना है? |
| नवनिर्मित निर्देशिकाओं को किस अनुमति का सौंपना है? |
| उपयोगकर्ता के लॉगिन पर कौन सा स्क्रिप्ट निष्पादित करना है? |
| स्क्रिप्ट बंद होने पर कौन सा स्क्रिप्ट निष्पादित करना है? |
| जादu स्क्रिप्ट का आउटपुट कहाँ संग्रहित किया जाना चाहिए? |
Smbstatus
कमांड सर्वर के बारे में जानकारी और कौन कनेक्ट है के बारे में जानकारी देता है।
Kerberos का उपयोग करके प्रमाणीकरण करें
आप smbclient और rpcclient उपकरणों का उपयोग करके kerberos में प्रमाणीकरण कर सकते हैं:
कमांड्स को निषेधित करें
crackmapexec
crackmapexec किसी भी mmcexec, smbexec, atexec, wmiexec में से किसी का दुरुपयोग करके कमांड्स को निषेधित कर सकता है, जिसमें wmiexec डिफ़ॉल्ट विधि है। आप इसे पैरामीटर --exec-method
के साथ उपयोग करने के लिए इंडिकेट कर सकते हैं:
दोनों विकल्प एक नई सेवा बनाएंगे (SMB के माध्यम से \pipe\svcctl का उपयोग करके) शिकार मशीन में और इसका उपयोग कुछ करने के लिए करेंगे (psexec एक एक्जीक्यूटेबल फ़ाइल को ADMIN$ सेयर पर अपलोड करेगा और smbexec cmd.exe/powershell.exe की ओर इशारा करेगा और ताकतवर --फ़ाइल-लेस तकनीक---- को ताकतवर --फ़ाइल-लेस तकनीक----). psexec और smbexec के बारे में अधिक जानकारी। काली में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है।
पैरामीटर-k
का उपयोग करके आप NTLM की बजाय केरबेरोस के खिलाफ प्रमाणीकरण कर सकते हैं
wmiexec/dcomexec
पोर्ट 135 के माध्यम से DCOM का उपयोग करके डिस्क को छूए बिना या नए सेवा चलाए बिना एक कमांड शैल को गुप्त रूप से क्रियान्वित करें। काली में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है।
आप पैरामीटर -k
का उपयोग करके NTLM की बजाय केरबेरोस के खिलाफ प्रमाणीकरण कर सकते हैं।
कार्य सूचीकरणकर्ता के माध्यम से आदेशों को क्रियान्वित करें (\pipe\atsvc का उपयोग करके SMB के माध्यम से)। kali में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है।
Impacket संदर्भ
https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/
ब्रूटफोर्स उपयोगकर्ता क्रेडेंशियल
यह सिफारिश नहीं है, यदि आप अधिकतम अनुमत प्रयासों को पार कर दें तो एक खाता ब्लॉक कर सकते हैं
SMB रिले हमला
यह हमला रिस्पॉन्डर टूलकिट का उपयोग करता है आंतरिक नेटवर्क पर SMB प्रमाणीकरण सत्र को कैप्चर करने के लिए, और उन्हें एक लक्षित मशीन पर रिले करता है। यदि प्रमाणीकरण सत्र सफल होता है, तो यह आपको स्वचालित रूप से एक सिस्टम शैल में डाल देगा। इस हमले के बारे में अधिक जानकारी यहाँ।
SMB-ट्रैप
Windows पुस्तकालय URLMon.dll स्वचालित रूप से होस्ट को प्रमाणीकरण करने का प्रयास करती है जब कोई पृष्ठ कुछ सामग्री को SMB के माध्यम से एक्सेस करने की कोशिश करता है, उदाहरण के लिए: img src="\\10.10.10.10\path\image.jpg"
यह फ़ंक्शन के साथ होता है:
URLDownloadToFile
URLDownloadToCache
URLOpenStream
URLOpenBlockingStream
जो कुछ ब्राउज़र्स और उपकरणों (जैसे Skype) द्वारा उपयोग किए जाते हैं।
MitMf का उपयोग करके SMBTrap
NTLM चोरी
SMB ट्रैपिंग के समान, लक्षित सिस्टम पर दुर्भाग्यपूर्ण फ़ाइलें रखने (उदाहरण के रूप में SMB के माध्यम से) से एक SMB प्रमाणीकरण प्रयास को उत्पन्न कर सकता है, जिससे NetNTLMv2 हैश को रिस्पॉन्डर जैसे उपकरण से बीच में आने दिया जा सकता है। हैश फिर ऑफ़लाइन में क्रैक किया जा सकता है या इसे SMB रिले हमले में उपयोग किया जा सकता है।
HackTricks स्वचालित कमांड
Last updated