Curiosidades De Hackers
ENUMERACIÓN DE SERVICIOS COMUNES

SMB


SMB

SMB se abrevia como Server Message Block, un protocolo de comunicación en redes empleado para el intercambio de archivos, impresoras y otros recursos entre dispositivos conectados en red. Este protocolo pertenece a Microsoft y es empleado en sistemas operativos Windows.

En contraste, Samba constituye una implementación de código abierto y gratuita del protocolo SMB. Su uso es predominante en sistemas operativos basados en Unix y Linux. Samba posibilita el compartir de archivos y recursos entre dispositivos de red que operan en diferentes sistemas, como Windows y Linux.

Aunque tanto SMB como Samba comparten funcionalidades semejantes, presentan notorias diferencias. Mientras que SMB es un protocolo patentado de Microsoft, Samba se erige como un proyecto de software libre y de código abierto. Además, SMB destaca por ser una implementación más compleja y completa del protocolo, a diferencia de Samba, que se caracteriza por su enfoque más ligero y limitado.

A continuación, se proporciona el enlace al repositorio de GitHub que utilizamos para desplegar un laboratorio de práctica que permite enumerar y explotar el servicio Samba:

Samba Authenticated RCE

Dentro de la fase de reconocimiento, empleamos la herramienta ‘smbmap’. Smbmap se presenta como una utilidad en línea de comandos para listar recursos compartidos y permisos en servidores SMB (Server Message Block) o Samba. Es particularmente valiosa para el escaneo de redes y la identificación de posibles vulnerabilidades de seguridad.

Smbmap permite el listado de recursos compartidos en un servidor SMB, ofreciendo detalles exhaustivos sobre cada recurso, como los permisos de acceso, usuarios y grupos autorizados, así como archivos y carpetas compartidos. La herramienta también puede señalar recursos compartidos sin autenticación, una preocupación de seguridad potencial.

Adicionalmente, smbmap posibilita a administradores y auditores de seguridad verificar rápidamente la configuración de permisos en recursos compartidos, lo que facilita la identificación y mitigación de posibles vulnerabilidades de seguridad.

A continuación, se brinda una breve descripción de algunos parámetros usuales de smbmap:

  • -H: Indica la dirección IP o nombre de host del servidor SMB al cual conectarse.
  • -P: Especifica el puerto TCP utilizado para la conexión SMB. El puerto predeterminado es 445, pero puede variar.
  • -u: Define el nombre de usuario para la conexión SMB.
  • -p: Establece la contraseña de la conexión SMB.
  • -d: Define el dominio del usuario empleado en la conexión SMB.
  • -s: Indica el recurso compartido específico a enumerar. Si no se especifica, smbmap intentará listar todos los recursos compartidos del servidor SMB.

Otra herramienta relevante es ‘smbclient’. A diferencia de smbmap, smbclient se emplea para interactuar con servidores SMB y Samba mediante una interfaz de línea de comandos. Facilita la descarga y subida de archivos, ejecución de comandos remotos y navegación del sistema de archivos remoto.

Para simplificar el proceso de montar carpetas y transferir archivos desde la máquina víctima, se puede utilizar la herramienta cifs-utils. La instalación se realiza con el comando apt install cifs-utils. La eliminación es tan sencilla como umount /mnt/mounted.

En relación a los parámetros más comunes de smbclient:

  • -L: Enumera los recursos compartidos disponibles en el servidor SMB o Samba.
  • -U: Define nombre de usuario y contraseña para la autenticación.
  • -c: Especifica un comando a ejecutar en el servidor SMB o Samba.

Existen otros parámetros disponibles; para más información, consultar la documentación oficial de la herramienta.

Finalmente, ‘CrackMapExec’, conocido como CME, es una utilidad de línea de comandos empleada en pruebas de penetración. Se basa en las bibliotecas de Python ‘impacket’, siendo compatible con Windows, Linux y macOS. CME es utilizado para auditorías en entornos de Active Directory, permitiendo enumeración de usuarios y grupos, detección de contraseñas débiles, identificación de sistemas vulnerables y búsqueda de vectores de ataque.

CME automatiza numerosas tareas de auditoría comunes en entornos de Active Directory, optimizando la eficiencia del proceso. Además de auditorías, CME soporta ataques de diccionario de contraseñas, Pass-the-Hash y explotación de vulnerabilidades conocidas en sistemas Windows. Su flexibilidad es aumentada por una variada gama de módulos y opciones de configuración.

A continuación, se proporciona el enlace directo a la Wiki para la instalación de CrackMapExec:

CrackMapExec