Saltar al contenido
Protocolos
Índice de contenidos

Protocolo SAMBA (SMB)

Server Message Block (SMB) es un protocolo de compartición de archivos e impresoras utilizado principalmente en sistemas Windows, aunque también es compatible con sistemas Linux mediante Samba. Durante una auditoría es habitual enumerar recursos compartidos, usuarios, permisos y posibles vulnerabilidades antes de intentar su explotación.


Enumeración

Identificar el servicio

nmap -Pn -sV -p139,445 <IP>
nmap --script smb-protocols,smb-os-discovery -p139,445 <IP>

Enumerar recursos compartidos

smbclient

smbclient -L //<IP> -N
smbclient -L //<IP> -U <usuario>

enum4linux

enum4linux <IP>
enum4linux -a <IP>

enum4linux-ng

enum4linux-ng <IP>

crackmapexec

crackmapexec smb <IP>

Enumerar usuarios

rpcclient -U "" -N <IP>

Dentro de rpcclient:

enumdomusers
querydispinfo
enumdomgroups

Acceder a un recurso compartido

smbclient //<IP>/<recurso> -N
smbclient //<IP>/<recurso> -U <usuario>

Explotación

Acceso con credenciales

smbclient //<IP>/<recurso> -U <usuario>

Descargar archivos

get archivo.txt
mget *

Subir archivos

put shell.aspx

Montar un recurso SMB

sudo mount -t cifs //<IP>/<recurso> /mnt/smb -o username=<usuario>,password=<contraseña>

Ejecución remota (credenciales válidas)

Impacket - psexec

psexec.py <dominio>/<usuario>:<contraseña>@<IP>

Impacket - smbexec

smbexec.py <dominio>/<usuario>:<contraseña>@<IP>

Impacket - wmiexec

wmiexec.py <dominio>/<usuario>:<contraseña>@<IP>

NetExec (CrackMapExec)

netexec smb <IP> -u <usuario> -p <contraseña>
netexec smb <IP> -u <usuario> -p <contraseña> --shares
netexec smb <IP> -u <usuario> -p <contraseña> --sessions
netexec smb <IP> -u <usuario> -p <contraseña> --sam

Vulnerabilidades comunes

EternalBlue (MS17-010)

nmap --script smb-vuln-ms17-010 -p445 <IP>

Enumeración de vulnerabilidades SMB

nmap --script smb-vuln* -p445 <IP>

Herramientas útiles

HerramientaDescripción
smbclientCliente SMB para acceder a recursos compartidos.
enum4linuxEnumeración de usuarios, grupos y recursos SMB.
enum4linux-ngVersión mejorada de enum4linux.
rpcclientEnumeración mediante RPC.
NetExecFramework para auditorías SMB, WinRM, LDAP, MSSQL, etc.
ImpacketSuite de herramientas para autenticación y ejecución remota.
nmapDetección de servicios y vulnerabilidades SMB.

Nota: SMB suele ser uno de los primeros servicios a enumerar en una auditoría de Active Directory, ya que puede revelar usuarios, recursos compartidos, credenciales expuestas y vectores de movimiento lateral.