Enumeración activa al protocolo SMB con Nmap

Enumeración activa al protocolo SMB con Nmap

SMB, Server Message Block o, Bloque de mensajes del servidor según una traducción literal (en español se lee horrible, mejor en inglés), es un protocolo de red que se ha estado utilizando durante muchísimos años y que, a rasgos muy generales, permite el poder compartir recursos a diferentes nodos que están dentro de una red, este protocolo a lo largo de la historia ya ha tenido una serie de incidentes de seguridad enormes, en este caso, solamente vamos a tratar una forma de reconocimiento activa con nmap para intentar descubrir esos recursos que están disponibles y de los cuales podremos obtener más información para ayudarnos en, por ejemplo, un pentesting.

Para esta prueba, me apoyare de Kali Linux (desde donde usaré nmap) y metasploitable 3 Windows (la cual será la máquina victima), además, cabe acotar del servicio SMB es que se utiliza en distintos puertos, por ejemplo, el 445, 139 en combinación con NetBIOS, entro otros, en este caso, voy a centrar los escaneos sobre estos dos puertos.

Es completamente evidente que todos estos procedimientos se realizan en entornos controlados y, es aún más evidente que la realización de estos procedimientos en entornos de los que no se tenga autorización son considerados delitos informáticos, así que ya sabes, no caigas nunca tan bajo en la existencia misma como para ser un ciberdelincuente, sin más, empezamos.

Primeramente, haré une escaneo SYN con nmap para determinar si estos puertos en cuestión están abiertos:

sudo nmap -v -sS -p139,445 <IP>
clear ya funciona

Escaneo TCP SYN a los puertos 193 y 445 con nmap

Una vez detectados los puertos abiertos, ahora vamos a usar algunos scripts de nmap, scripts que se encuentran en /usr/share/nmap/scripts y de los cuales solo usaremos los que nos puedan ayudar a recopilar más información sobre este protocolo en cuestión, el SMB.

clear ya funciona

Scripts de enumeración destinados al protoclo SMB

Por ejemplo, para enumerar los recursos compartidos que este sirviendo la máquina víctima, podemos usar el script smb-enum-shares.

clear ya funciona

Uso del script en cuestión con nmap en el escaneo

En este caso vemos que nos ha llegado a listar las carpetas compartidas, aunque también nos comenta que no ha podido obtener más detalles sobre las carpetas en cuestión, esto puede deberse a que se haya hecho una buena configuración y el acceso ha sido denegado, con esta misma técnica, podemos obtener los nombres de dominio, usuarios y demás información, aunque ten en cuenta que, si el servicio tiene una mínima capa de seguridad, esto se nos hará difícil usando solo nmap y sus scripts.

Por otro lado, también podemos comprobar si el servicio es vulnerable a una vulnerabilidad común, por ejemplo, este servicio a lo largo de la historia ha sido víctima de muchísimos fallos de seguridad que han sido mundialmente conocidos, por ejemplo, la vulnerabilidad identificada por Microsoft como MS17-010 que se puede explotar con el exploit EternalBlue, con el script “smb-vuln-ms17-010” de nmap, podremos comprobar si este host es vulnerable o no, para ello:

sudo nmap -v -sS -p139,445 <IP> --script=smb-vuln-ms17-010
clear ya funciona

Uso del script en cuestión para comprobar si el host es vulnerable

Y en efecto lo es, esto de la enumeración es cuestión de ir probando varias técnicas, evidentemente usando el sentido común, hay herramientas que enumerar de una forma muy extensa este protocolo pero son increíblemente ruidosas, solo basta abrir Wireshark cuando se ejecuta una de estas técnicas para ver la cantidad de tráfico que se envía por detrás y esto, en un pentesting, puede provocar que un sistema de seguridad ya sea un IPS, Firewall, SIEM pueda detectarnos, que bueno de cierta forma es la intención, que la empresa esté securizada, pero nosotros como pentesters necesitamos darle la vuelta a todo eso e intentar evadir cualquier sistema de seguridad y descubrir fallos que posteriormente deberán securizarse.

Anuncio

Sobre el Autor

Martin Frias

Founder of Coldd Security

8 Comentarios

  1. Dr José Jiménez

    Excelente como siempre, Martin, saludos desde Murcia 🙂 .

    Responder
    • Martin Frias

      Gracias 🙂

      Responder
  2. Rafael vilchez

    Mi primera vez en este blog tio pinta bien xd

    Responder
  3. paul

    nmap solo tiene esos scripts??

    Responder
    • Martin Frias

      Hola Paul, de hecho nmap tiene muchos más scripts, en concreto puedes saber cuántos exactamente haciendo un ls /usr/share/nmap/scripts | wc -l

      Responder
    • H3cJP

      al estar haciendo grep a la salida, supongo que ahí estarán todos los scripts de nmap que contengan en su nombre “smb”

      PD: Me encanta este blog, c0ldd un grande

      Responder
      • Martin Frias

        Buenas H3cJP,

        Muchas gracias 🙂 y si, en efecto, igualmente solo fue para refrescar el uso de los pipes, igualmente con un ls /usr/share/nmap/scripts/smb* se pueden visualizar en este caso.

        Responder
    • paul

      Aaah ya entendi gracias a los dos, se aprecia que alla gente que tenga la humildad de responder una duda :DD

      Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información adicional sobre protección de datos:
Responsable: Martin Frias.
Finalidad: Moderar los comentarios de este sitio web.
Cesión: NO se cederán a nadie, salvo obligación legal.
Derechos: Acceso, rectificación, cancelación y borrado de tus datos.
Legitimación: Tu consentido expreso.

REDES SOCIALES

Newsletter

Estadísticas

  • 163.169
  • 55

TheHackerSnow

0

Share This