SMBClient: Enumeración de recursos compartidos
En auditorías de seguridad y pruebas de penetración, la enumeración de recursos compartidos en redes Windows y Samba es un paso clave. SMBClient es una herramienta que permite interactuar con servidores SMB/CIFS para listar y acceder a recursos compartidos.
¿Qué es SMBClient? 📂
SMBClient es un cliente de línea de comandos que permite:
✔ Listar recursos compartidos en servidores Windows y Samba.
✔ Acceder a carpetas y archivos compartidos.
✔ Subir y descargar archivos.
✔ Autenticarse con credenciales de usuario o usar accesos anónimos.
Es útil tanto para administradores de red como para pentesters en la fase de reconocimiento.
Instalación de SMBClient ⚙️
En distribuciones basadas en Debian, como Kali Linux o Parrot OS, SMBClient viene preinstalado. Si necesitas instalarlo manualmente, usa:
sudo apt install smbclient
Para verificar la instalación:
smbclient --version
Uso básico de SMBClient 🔍
🔹 Listar recursos compartidos
Para descubrir recursos compartidos en un servidor:
smbclient -L //192.168.1.100 -N
Si se requieren credenciales:
smbclient -L //192.168.1.100 -U usuario
Acceso a recursos compartidos 🔑
Para acceder a un recurso compartido específico:
smbclient //192.168.1.100/Compartido -U usuario
Dentro del cliente SMB, puedes usar comandos como:
| Comando | Descripción |
|---|---|
ls | Lista archivos y carpetas en el recurso compartido. |
cd | Cambia de directorio dentro del recurso compartido. |
get | Descarga un archivo al sistema local. |
put | Sube un archivo al recurso compartido. |
Ejemplo para descargar un archivo:
smb: \> get documento.txt
Enumeración avanzada con SMBClient 🚀
🔹 Buscar recursos accesibles sin autenticación
Puedes combinar SMBClient con un bucle para escanear múltiples IPs:
for ip in $(seq 1 254); do smbclient -L //192.168.1.$ip -N; done
🔹 Conexión a un recurso con credenciales
Si tienes usuario y contraseña, usa:
smbclient //192.168.1.100/Compartido -U usuario%contraseña
Exportación de resultados 📄
Puedes guardar la salida de SMBClient en un archivo:
smbclient -L //192.168.1.100 -N > smb_resultados.txt
Para analizar los resultados, puedes usar grep o awk:
grep "Disk" smb_resultados.txt
Esto filtrará solo los recursos compartidos de tipo disco.
Desafío para ti 🎯
Utiliza SMBClient para enumerar los recursos compartidos en una red de prueba y accede a ellos si es posible:
smbclient -L //192.168.1.100 -N