Server Message Block#
Resumen#
SMB es un protocolo que permite el acceso compartido a recursos como archivos, directorios o impresoras (entre otros). También sirve como túnel para comunicación entre procesos (IPC).
Los puertos sobre los que se expone dependen del protocolo sobre el que se ejecuta, pueden aparecer ambos activos a la vez:
- TCP/139 -> SMB ejecutado sobre NetBIOS sobre TCP/IP. Obsoleto pero se suele mantener abierto para tener retrocompatibilidad con sistemas legacy.
- TCP/445 -> SMB ejecutado sobre TCP/IP directamente. El método “moderno”.
Enumeración#
Linux#
Para listar los shares disponibles en una determinada IP:
| |
Otros programas para enumerar que pueden ser útiles:
SMBMapenum4linux- Usa varias herramientas manuales (rpcclient, smbclient, etc.) para automatizar la enumeración del servidor SMB.
Para enumerar SMB mediante MSRPC, podemos acceder a RPC a través de SMB usando rpcclient:
| |
RPCClient usa MSRPC sobre SMB, la comunicación se establece mediante los named pipes (
IPC$) de SMB, no sobre el puerto 135 del endpoint mapper. Para más info mirarrpc.md.
Si se permite la conexión, podremos consultar más información.
| |
Para determinados queries necesitaremos los RID del usuario específico, podemos sacarlos por fuerza bruta con samrdump:
| |
Windows#
Para listar archivos en un share desde cmd/powershell:
| |
Conexión y montaje#
Linux#
Para conectarse a determinado share (desde Linux):
| |
Para montar un share como partición:
| |
Windows#
Para conectarse a determinado share (desde Windows, GUI):
Pulsar [WIN]+[R], en la ventana “ejecutar” que se abra:
| |
Bruteforcing#
Si no podemos enumerar archivos sin autenticarnos y necesitamos unas credenciales de las que no disponemos, podemos usar netexec para hacer bruteforce o password spraying:
| |
Es necesario poner
--local-authsi quieremos autenticarnos con el SAM del servidor si no hay AD DC disponible, netexec no recurre a la autenticación contra el SAM automáticamente si no se detecta un Domain Controller.
Pass-the-Hash (PtH)#
Mirar Pass-the-Hash
Movimiento lateral#
SMB se usa como canal de comunicación para la subida de archivos y la recepción y envío de comandos y respuestas al usar PsExec. Más info en movimiento lateral

