Demostración en vídeo de este post:

Una de las actividades habituales cuando se ejecuta una auditoría en un entorno de Active Directory es la enumeración SMB y si ya se cuenta con un usuario, es posible aprovechar las características de dicho servicio para extraer información útil. Para ello existen herramientas como Nmap que cuenta con una buena colección de scripts NSE orientados a SMB y por supuesto, también es posible utilizar otras herramientas como enum4linux, smbclient o rpcclient. No obstante hay dos utilidades que son especialmente interesantes para enumerar un servicio SMB, son SMBMap y CrackMapExec. En este primer post hablaré de SmbMap.

Si es interesante para ti todo lo relacionado con la seguridad en Active Directory y los ataques más interesantes que se pueden llevar a cabo en estos entornos, te recomiendo que te apuntes al volumen 1 y volumen 2 del entrenamiento en sistemas Windows que tenemos disponible en Securízame.

Uso de SMBMap

Se trata de una herramienta con múltiples opciones que permite enumerar los recursos compartidos de un servicio SMB/Samba, ver los contenidos y permisos de unidades compartidas, descargar y subir ficheros e incluso, si las condiciones son las adecuadas, permite la ejecución de comandos. Tanto SMBMap como CrackMapExec son herramientas que están pensadas para la etapa de post-explotación de sistemas, dado que es necesario indicar un usuario y contraseña válidos para que la herramienta pueda hacer su trabajo.

Enumerar los contenidos de los recursos compartidos

La labor más común a la hora de enumerar SMB consiste en listar los recursos compartidos. SMBMap permite hacerlo y además, cuenta con opciones para consultar de forma recursiva los recursos a los que se tiene acceso.

Enumerar un recurso compartido concreto

Si se encuentra algún recurso que sea interesante, se le puede indicar a la herramienta que liste los contenidos de ese directorio concreto.

Subir y eliminar ficheros en la máquina remota

La herramienta cuenta con una opción (–upload) que permite la subida de ficheros que se encuentran en la máquina del atacante. Solamente hace falta especificar el directorio en el servidor SMB en donde se quiere subir el fichero y contar con permisos de escritura para ejecutar la operación.

Como es natural, si se cuenta con permisos para subir ficheros, también será posible eliminarlos. Nuevamente, en SMBMap hay una opción (–delete) que permite eliminar el fichero especificado.

Ejecución remota de comandos

Finalmente, si las condiciones son adecuadas y se cuenta con los permisos de administrador, será posible utilizar la herramienta para ejecutar comandos sobre el servidor. La opción «-x» permite la ejecución remota de instrucciones, en donde solamente es necesario indicar el comando a ejecutar.


Si es posible subir ficheros y ejecutar comandos, se puede ejecutar la operación básica de generar una muestra maliciosa, subirla y finalmente ejecutarla.

SMBMap es una herramienta que merece la pena tener en cuenta cuando se realizan labores de post-explotación sobre sistemas Windows, especialmente en entornos de directorio activo. En el siguiente post hablaré de otra herramienta que permite ejecutar las mismas acciones que SMBMap y alguna más, se trata de CrackMapExec.

Un saludo y Happy Hack!
Adastra.