SMB
Pentesting SMB - TCP Ports 445,139
Last updated
Was this helpful?
Pentesting SMB - TCP Ports 445,139
Last updated
Was this helpful?
The Server Message Block Protocol (SMB Protocol) is a client-server communication protocol used for sharing access to files, printers, serial ports, and data on a network. It can also carry transaction protocols for authenticated inter-process communication.
SMB protocol operate on different ports depending on the type of communication:
Port 445 (TCP): This port is used for direct SMB communication over TCP/IP, including file and printer sharing, remote administration, and inter-process communication.
Port 139 (TCP): This port is used for SMB over , which is an underlying protocol that SMB relies on for name resolution and session establishment.
Null session
refers to an unauthenticated session established with an SMB server where the client does not provide any credentials.
SMBClient is a native tool that allow us to interact with SMB shares. We can use it to list shares as follow
The smbcacls program allow us to get ACLs on an NT file or directory on a SMB file shares.
If you see a lot off files and folders, the following commands will make a recursive permissions check on each item
Eternalblue is a flaw that allows remote attackers to execute arbitrary code on a target system by sending specially crafted messages to the SMBv1 server.
The MS08-067 vulnerability is a buffer overflow vulnerability in the Windows Server service.The vulnerability could allow remote code execution if an affected system received a specially crafted RPC request. On Microsoft Windows 2000, Windows XP, and Windows Server 2003 systems, an attacker could exploit this vulnerability without authentication to run arbitrary code.
Tools like can be used to enumerate supported protocols, dialects and signing configuration of SMB.
Tools like can be used to enumerate supported protocols, dialects and signing configuration of SMB.
can be used to enumerate users over SMB.
's can be used to enumerate users over SMB.
can be used to enumerate groups over SMB.
's can be used to enumerate groups over SMB.
can be used to enumerate SMB shares.
's can be used to enumerate groups over SMB.
One useful tool for enumerating SMB shares from a Windows host is .
can be used to enumerate active sessions and logged in users over SMB.
's can be used to enumerate active sessions over SMB.
can be used to enumerate various objects over SMB like the domain password policy.
Tools like can be used to detect the presence of the EternalBlue vulnerability.
(Python) can be used to check if the target is vulnerable to MS17-010.
To exploit, we may use the Worawit on GitHub
To exploit, we may use the helviojunior on GitHub. He forked the worawit repo and added a single send_and_execute.py
, which is really handy.
Tools like can be used to to detect the presence of the MS08-067 vulnerability.
To exploit, we may use the jivoi on GitHub.