Configurar un Servidor SMB Local
En este paso, configurarás un servidor SMB (Server Message Block) local utilizando Samba. SMB es un protocolo de intercambio de archivos en red que permite a las aplicaciones de un equipo acceder a archivos y recursos en un servidor remoto. Samba es una reimplementación de software libre del protocolo de red SMB. Esto proporcionará un objetivo para tu ataque SMB con Hydra en pasos posteriores.
Primero, instalemos Samba. Abre tu terminal en el directorio ~/project.
sudo apt update
sudo apt install samba -y
Este comando actualiza las listas de paquetes e instala el paquete Samba. La opción -y responde automáticamente "sí" a cualquier solicitud durante la instalación.
A continuación, necesitas configurar Samba. Empezarás haciendo una copia de seguridad del archivo de configuración original.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Ahora, crearemos un archivo de configuración nuevo y limpio sobrescribiendo el existente. Este enfoque asegura que no haya conflictos con la configuración predeterminada de Samba de Ubuntu.
Copia el siguiente comando y ejecútalo en el terminal. Asegúrate de copiar el comando correctamente.
sudo tee /etc/samba/smb.conf > /dev/null << 'EOF'
[global]
workgroup = WORKGROUP
server string = Servidor Samba
netbios name = fileserver
security = user
map to guest = never
## Deshabilitar acceso anónimo
restrict anonymous = 2
## Habilitar explícitamente SMBv1 y NTLMv1 para Hydra
server min protocol = NT1
client min protocol = NT1
ntlm auth = ntlmv1-permitted
## Enlazar con localhost
interfaces = 127.0.0.1
bind interfaces only = yes
## Registro
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
debug level = 3
[share]
path = /home/labex/project/share
browsable = yes
writable = yes
guest ok = no
read only = no
valid users = labex
EOF
Este comando reemplazará completamente el contenido de /etc/samba/smb.conf con nuestra configuración limpia.
Puntos de configuración importantes:
map to guest = never - Previene el acceso anónimo de invitados.
restrict anonymous = 2 - Deshabilita completamente el acceso anónimo.
server min protocol = NT1 y client min protocol = NT1 - Habilita SMBv1 para la compatibilidad con Hydra.
ntlm auth = ntlmv1-permitted - Permite la autenticación NTLMv1 para las pruebas.
interfaces = 127.0.0.1 y bind interfaces only = yes - Restringe el acceso solo a localhost.
guest ok = no - Deshabilita el acceso de invitados al recurso compartido.
valid users = labex - Restringe el acceso solo al usuario específico.
Por qué sobrescribimos todo el archivo:
- Evita conflictos con la configuración predeterminada de Samba de Ubuntu.
- Asegura una configuración limpia y mínima optimizada para las pruebas con Hydra.
- Elimina posibles problemas con directivas duplicadas o conflictivas.
- Proporciona un punto de partida consistente para todos los usuarios.
Esta configuración asegura que Hydra pueda detectar correctamente los intentos de autenticación sin interferencias del acceso anónimo.
Ahora, creemos el directorio compartido.
mkdir ~/project/share
sudo chmod 777 ~/project/share
Esto crea un directorio llamado share en tu directorio ~/project y establece sus permisos a 777, lo que significa que todos tienen permisos de lectura, escritura y ejecución. Nota: En un escenario del mundo real, querrías usar permisos más restrictivos. Para simplificar este entorno de laboratorio, estamos usando 777.
A continuación, necesitas agregar un usuario de Samba. Este usuario se utilizará para autenticarse en el servidor SMB. Utilizarás el usuario labex que ya existe en el sistema. Primero, establece una contraseña de Samba para el usuario labex.
sudo smbpasswd -a labex
Se te pedirá que introduzcas una nueva contraseña para el usuario labex. Introduce password y confírmala.
Nueva contraseña SMB:
Repite la nueva contraseña SMB:
Usuario labex añadido.
Finalmente, reinicia el servicio Samba para aplicar los cambios.
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
Debes ver una salida similar a esta:
* Deteniendo el demonio SMB/CIFS smbd [ OK ]
* Iniciar el demonio SMB/CIFS smbd [ OK ]
* Deteniendo el servidor de nombres NetBIOS nmbd [ OK ]
* Iniciar el servidor de nombres NetBIOS nmbd [ OK ]
Este comando verificará tu configuración de Samba en busca de errores de sintaxis y mostrará la configuración activa. Deberías ver una salida que confirme tus ajustes sin errores.
Ahora, tu servidor SMB local está configurado con ajustes de seguridad adecuados. Has creado un directorio compartido llamado share y has añadido el usuario labex con una contraseña de Samba. La configuración está optimizada para funcionar correctamente con los ataques de Hydra.