* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **हैकिंग ट्रिक्स साझा करें और PRs के माध्यम से [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में सबमिट करें।**
**NetBIOS** का अर्थ होता है _नेटवर्क बेसिक इनपुट आउटपुट सिस्टम_. यह एक सॉफ़्टवेयर प्रोटोकॉल है जो स्थानीय क्षेत्र नेटवर्क (LAN) पर एप्लिकेशन, पीसी और डेस्कटॉप को नेटवर्क हार्डवेयर के साथ संचार करने और नेटवर्क पर डेटा प्रेषित करने की अनुमति देता है। NetBIOS नेटवर्क पर चलने वाले सॉफ़्टवेयर एप्लिकेशन अपने NetBIOS नामों के माध्यम से एक दूसरे को खोजते हैं और पहचानते हैं। एक NetBIOS नाम 16 वर्णों तक लंबा होता है और आमतौर पर कंप्यूटर नाम से अलग होता है। जब एक एप्लिकेशन (क्लाइंट) एक अन्य क्लाइंट (सर्वर) को "कॉल" करने के लिए एक कमांड भेजता है, तो दो एप्लिकेशन एक NetBIOS सत्र शुरू करते हैं (टीसीपी पोर्ट 139 के माध्यम से)। (यहां से निकाला गया है [यहां](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
जबकि पोर्ट 139 को तकनीकी रूप से 'NBT over IP' के रूप में जाना जाता है, पोर्ट 445 को 'SMB over IP' कहा जाता है। **SMB** का मतलब है '**Server Message Blocks**'। आधुनिक भाषा में सर्वर मैसेज ब्लॉक को 'कॉमन इंटरनेट फ़ाइल सिस्टम' भी कहा जाता है। यह सिस्टम मुख्य रूप से फ़ाइलों, प्रिंटरों, सीरियल पोर्ट्स और नेटवर्क पर नोड के बीच संचार के लिए साझा पहुंच प्रदान करने के लिए एक एप्लिकेशन-लेयर नेटवर्क प्रोटोकॉल के रूप में कार्य करता है।
उदाहरण के लिए, Windows पर, SMB TCP/IP के बिना सीधे TCP/IP पर चल सकता है। जैसा कि आपने बताया है, इसके लिए पोर्ट 445 का उपयोग होगा। अन्य सिस्टमों पर, आप पोर्ट 139 का उपयोग करते हुए सेवाएं और एप्लिकेशन्स पाएंगे। इसका मतलब है कि SMB NetBIOS over TCP/IP के साथ चल रहा है\*\*।\*\* (यहां से निकाला गया है: [यहां](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
सर्वर संदेश ब्लॉक (`SMB`) एक **क्लाइंट-सर्वर** प्रोटोकॉल है जो **फ़ाइलों** और पूरे नेटवर्क संसाधनों जैसे प्रिंटर, राउटर या इंटरफ़ेस तक का **पहुंच नियंत्रित** करता है। प्रोटोकॉल का मुख्य अनुप्रयोग क्षेत्र विशेष रूप से **Windows** ऑपरेटिंग सिस्टम श्रृंखला रही है, जिसकी नेटवर्क सेवाएं SMB का समर्थन एक नीचे के संगत तरीके से करती हैं - जिसका मतलब है कि नवीनतम संस्करणों वाले उपकरण आसानी से पुराने माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम स्थापित उपकरणों के साथ संवाद कर सकते हैं।\
**Samba** नामक मुफ्त सॉफ़्टवेयर परियोजना के साथ, लिनक्स और यूनिक्स वितरणों में SMB का उपयोग करने और इसलिए SMB के माध्यम से प्लेटफ़ॉर्मों के बीच संचार करने की संभावना भी है।
एक SMB सर्वर **अपने स्थानीय फ़ाइल सिस्टम के विभिन्न हिस्सों को शेयर के रूप में प्रदान** कर सकता है। इसलिए, एक क्लाइंट के लिए **दिखाई देने वाली पदानुक्रम** आंशिक रूप से **सर्वर** पर **संरचना** से **स्वतंत्र** होती है। **पहुंच अधिकार**`पहुंच नियंत्रण सूची` (`ACL`) द्वारा परिभाषित किए जाते हैं। वे एक **बारीकी से नियंत्रित** तरीके से **`एक्सीक्यूट`**, **`पढ़ें`**, और **`पूर्ण पहुंच`** के आधार पर व्यक्तिगत उपयोगकर्ताओं या उपयोगकर्ता समूहों के लिए परिभाषित किए जा सकते हैं। **ACLs****शेयरों** पर **परिभाषित** होते हैं और इसलिए स्थानीय रूप से सर्वर पर निर्धारित अधिकारों से मेल नहीं खाते हैं।
एक गुमनाम शून्य सत्र के साथ आप IPC$ शेयर तक पहुंच सकते हैं और नामित पाइप्स के माध्यम से उभरती सेवाओं के साथ संवाद कर सकते हैं। Kali Linux में enum4linux उपयोगी है; इसके साथ, आप निम्नलिखित प्राप्त कर सकते हैं:
अगर आपको NTLM के बारे में पता नहीं है या आप जानना चाहते हैं कि यह कैसे काम करता है और इसका उपयोग कैसे कर सकते हैं, तो आपको यह पृष्ठ बहुत रोचक लगेगा जहां **NTLM** के बारे में विस्तार से बताया गया है और यह भी बताया गया है कि आप इसका लाभ कैसे उठा सकते हैं:
SMB संस्करण के लिए संभावित उत्पादों की खोज करने के लिए, यह महत्वपूर्ण है कि जाना जाए कि कौन सा संस्करण उपयोग किया जा रहा है। यदि यह जानकारी अन्य उपयोग की गई उपकरणों में नहीं दिखाई देती है, तो आप कर सकते हैं:
SMB (Server Message Block) एक नेटवर्क प्रोटोकॉल है जो फ़ाइल और प्रिंटर साझा करने के लिए उपयोग होता है। यह Windows ऑपरेटिंग सिस्टम पर आधारित है और नेटवर्क के माध्यम से डेटा को सुरक्षित रूप से ट्रांसफर करने की क्षमता प्रदान करता है।
## SMB पेंटेस्टिंग क्यों महत्वपूर्ण है?
SMB पेंटेस्टिंग के माध्यम से हैकर्स नेटवर्क में सुरक्षा की कमियों को खोज सकते हैं और उन्हें उपयोग करके अनधिकृत रूप से नेटवर्क में प्रवेश कर सकते हैं। यह उन्हें नेटवर्क के अंदर डेटा को चोरी करने, नेटवर्क के अन्य उपयोगकर्ताओं के साथ अनधिकृत रूप से संवाद करने और नेटवर्क के अन्य संसाधनों को अनुप्रयोगों के रूप में उपयोग करने की अनुमति देता है।
## SMB पेंटेस्टिंग टेक्निक्स
1. SMB वर्जन का पता लगाएं
2. नेटवर्क में SMB शेयर्स का पता लगाएं
3. अनधिकृत रूप से SMB शेयर्स तक पहुंचें
4. SMB शेयर्स के लिए उपयोगकर्ता नाम पता करें
5. SMB शेयर्स के लिए उपयोगकर्ता क्रेडेंशियल्स प्राप्त करें
6. SMB शेयर्स के लिए उपयोगकर्ता क्रेडेंशियल्स का उपयोग करें
7. SMB शेयर्स में फ़ाइलें और फ़ोल्डर्स खोजें
8. फ़ाइलें और फ़ोल्डर्स को अपलोड और डाउनलोड करें
9. SMB शेयर्स के लिए अनधिकृत रूप से उपयोगकर्ता निर्माण करें
10. SMB शेयर्स के लिए अनधिकृत रूप से उपयोगकर्ता को हटाएं
## SMB पेंटेस्टिंग उपकरण
1. enum4linux
2. smbclient
3. smbmap
4. crackmapexec
5. impacket
6. metasploit
7. nmap
## SMB पेंटेस्टिंग के लिए उपयोगी लिंक्स
- [SMB पेंटेस्टिंग के लिए HackTricks वेबसाइट](https://book.hacktricks.xyz/pentesting/pentesting-smb)
- [SMB पेंटेस्टिंग के लिए Metasploit वेबसाइट](https://www.metasploit.com/)
- [SMB पेंटेस्टिंग के लिए Impacket वेबसाइट](https://github.com/SecureAuthCorp/impacket)
`smbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP>` # यदि आप पासवर्ड को छोड़ देते हैं, तो यह प्रश्न पूछा जाएगा। --pw-nt-hash के साथ, प्रदान किया गया पासवर्ड NT हैश होता है।
smbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP>#अगर आप pwd को छोड़ देते हैं, तो यह प्रश्न पूछा जाएगा। --pw-nt-hash के साथ, प्रदान किया गया pwd NT हैश होता है।
#--no-pass -c 'recurse;ls' का उपयोग करके smbclient के साथ रिकर्सिव रूप से सूची बनाएँ
It may be possible that you are restricted to display any shares of the host machine and when you try to list them it appears as if there aren't any shares to connect to. Thus it might be worth a short to try to manually connect to a share. To enumerate the shares manually you might want to look for responses like NT\_STATUS\_ACCESS\_DENIED and NT\_STATUS\_BAD\_NETWORK\_NAME, when using a valid session (e.g. null session or valid credentials). These may indicate whether the share exists and you do not have access to it or the share does not exist at all.
यहां दिए गए कमांड के द्वारा एक नेटवर्क सेवा को पेंटेस्ट करने के लिए Snaffler.exe उपयोग किया जाता है। इस कमांड के माध्यम से आप एक डोमेन (domain.local) के साथ संचालित हो रही सेवा को स्कैन कर सकते हैं और उसके डेटा को विस्तार से लॉग फ़ाइल (snaffler.log) में रिकॉर्ड कर सकते हैं। इसके अलावा, आप वर्बोस मोड (verbose mode) में चल रही सभी जानकारी को भी देख सकते हैं।
यहां आपको एक उदाहरण दिया गया है जहां आपको SMB सेवा का उपयोग करके एक नेटवर्क पर पेंटेस्टिंग करने के लिए एक कमांड दिखाई दी है। इस उदाहरण में, हमने crackmapexec टूल का उपयोग किया है जो SMB प्रोटोकॉल का उपयोग करके नेटवर्क पर पेंटेस्टिंग करने के लिए उपयोगी होता है। इस कमांड के माध्यम से हम निर्दिष्ट IP पते (10.10.10.10), उपयोगकर्ता नाम (username), पासवर्ड (pass), और शेयर का नाम ('Department Shares') देकर नेटवर्क के विभिन्न शेयरों की जांच कर सकते हैं। यहां spider_plus एक शेयर का उदाहरण है, लेकिन आप अपनी आवश्यकतानुसार इसे बदल सकते हैं।
Specially interesting from shares are the files called **`Registry.xml`** as they **may contain passwords** for users configured with **autologon** via Group Policy. Or **`web.config`** files as they contains credentials.
{% hint style="info" %}
The **SYSVOL share** is **readable** by all authenticated users in the domain. In there you may **find** many different batch, VBScript, and PowerShell **scripts**.\
You should **check** the **scripts** inside of it as you might **find** sensitive info such as **passwords**.
यह कमांड smbclient को केरबेरोस के साथ उपयोग करता है और निर्दिष्ट विंडोज सर्वर पर संचालित होने वाले SMB सेवा के साथ संपर्क स्थापित करता है। यहां "//ws01win10.domain.com/C$" निर्दिष्ट सर्वर का नाम और साझा फ़ोल्डर का पथ है जिसके साथ संपर्क स्थापित करना है।
## rpcclient -k ws01win10.domain.com
यह कमांड rpcclient को केरबेरोस टिकट के साथ उपयोग करता है और निर्दिष्ट विंडोज सर्वर के साथ संपर्क स्थापित करता है। यहां "ws01win10.domain.com" निर्दिष्ट सर्वर का नाम है जिसके साथ संपर्क स्थापित करना है।
<p>यह कमांड smbclient को केरबेरोस के साथ उपयोग करता है और निर्दिष्ट विंडोज सर्वर पर संचालित होने वाले SMB सेवा के साथ संपर्क स्थापित करता है। यहां "//ws01win10.domain.com/C$" निर्दिष्ट सर्वर का नाम और साझा फ़ोल्डर का पथ है जिसके साथ संपर्क स्थापित करना है।</p>
<h2>rpcclient -k ws01win10.domain.com</h2>
<p>यह कमांड rpcclient को केरबेरोस टिकट के साथ उपयोग करता है और निर्दिष्ट विंडोज सर्वर के साथ संपर्क स्थापित करता है। यहां "ws01win10.domain.com" निर्दिष्ट सर्वर का नाम है जिसके साथ संपर्क स्थापित करना है।</p>
crackmapexec can execute commands **abusing** any of **mmcexec, smbexec, atexec, wmiexec** being **wmiexec** the **default** method. You can indicate which option you prefer to use with the parameter `--exec-method`:
Both options will **create a new service** (using _\pipe\svcctl_ via SMB) in the victim machine and use it to **execute something** (**psexec** will **upload** an executable file to ADMIN$ share and **smbexec** will point to **cmd.exe/powershell.exe** and put in the arguments the payload --**file-less technique-**-).\
ridenum.py <IP> 500 50000 /root/passwds.txt #उन उपयोगकर्ताओं को प्राप्त करें जिनके रिड्स को bruteforcing करके और फिर प्रत्येक उपयोगकर्ता नाम को bruteforce करने का प्रयास करें
This attack uses the Responder toolkit to **capture SMB authentication sessions** on an internal network, and **relays** them to a **target machine**. If the authentication **session is successful**, it will automatically drop you into a **system****shell**.\
[**More information about this attack here.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
The Windows library URLMon.dll automatically try to authenticaticate to the host when a page tries to access some contect via SMB, for example: `img src="\\10.10.10.10\path\image.jpg"`
Similar to SMB Trapping, planting malicious files onto a target system (via SMB, for example) can illicit an SMB authentication attempt, allowing the NetNTLMv2 hash to be intercepted with a tool such as Responder. The hash can then be cracked offline or used in an [SMB relay attack](pentesting-smb.md#smb-relay-attack).
जबकि पोर्ट 139 को तकनीकी रूप से 'NBT over IP' के रूप में जाना जाता है, पोर्ट 445 'SMB over IP' है। SMB का मतलब है 'सर्वर मैसेज ब्लॉक्स'। आधुनिक भाषा में सर्वर मैसेज ब्लॉक को सामान्य इंटरनेट फ़ाइल सिस्टम के रूप में भी जाना जाता है। यह सिस्टम मुख्य रूप से एक एप्लिकेशन-लेयर नेटवर्क प्रोटोकॉल के रूप में कार्य करता है जिसका प्रयोग फ़ाइलों, प्रिंटरों, सीरियल पोर्ट्स और नेटवर्क पर नोडों के बीच संचार के लिए साझा पहुंच प्रदान करने के लिए किया जाता है।
#मैं हर बार जब भी खुला SMB पोर्ट देखता हूँ तो ये कमांड चलाता हूँ
With No Creds
nbtscan {IP}
smbmap -H {IP}
smbmap -H {IP} -u null -p null
smbmap -H {IP} -u guest
smbclient -N -L //{IP}
smbclient -N //{IP}/ --option="client min protocol"=LANMAN1
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.