¿Cómo utilizar Microsoft SMB para la detección del sistema operativo?

por | Sep 23, 2021 | Consejos técnicos para la prueba de penetración

El estudio de los diferentes enfoques de 4 conocidos proveedores

Te preguntarás «¿cómo sabe una herramienta de pruebas de penetración de la caja negra de la información de mi servidor si sólo tiene la dirección IP de este?» El secreto es que un protocolo, como el Sever Message Block (SMB), revela esa información en la respuesta a sus peticiones especiales.

En nuestro último blog, hablamos del papel esencial que desempeña SMB en el reconocimiento de las huellas dactilares del sistema operativo (SO). En este blog, repasaremos cómo los diferentes proveedores utilizan SMB, y los pros y los contras de cada enfoque; y al final, los resumimos en unos pocos principios a seguir para conseguir un reconocimiento preciso del SO.

1. Nmap

Primero, veamos el enfoque de Nmap. Nmap utiliza básicamente «nse script – nmap/scripts/smb-os-discovery.nse» para realizar esta función.  Su método se muestra como sigue:

O utilice los siguientes comandos para lograr el mismo resultado:

Sin embargo, se ha confirmado que este enfoque con «smb-os-discovery.nse» no puede reconocer los sistemas operativos de Windows Server 2016 y superiores. Además, no puede detectar los hosts que solo admiten SMBv2.

2. Censys

Lo más probable es que Censys utilice la opción Nmap -sV para detectar el sistema operativo SMB. Después de examinar cuidadosamente la respuesta de Censys a nuestra máquina de prueba, llegamos a esta conclusión. Debido a la misma falla, detectó falsamente nuestra máquina de prueba Windows Server 2016 como Windows Server 2008 R2 -2012 microsoft -ds.  (ver Imagen 1)

Imagen 1: Reconocimiento de huellas dactilares del sistema operativo de Censys a través de SMBv2.1vbvc

3. Shodan

Revisamos el reconocimiento del sistema operativo de Shodan con SMBv1 (Imagen 2) y SMBv2 (Imagen 3), y descubrimos que Shodan utiliza su enfoque prioritario para tratar la regconición del sistema operativo, y escanea el directorio común que se considera un escaneo más intrusivo.

Imagen 2: Reconocimiento del sistema operativo de Shodan con SMB v1

Imagen 3: Reconocimiento del sistema operativo de Shodan con SMB v2

Vale la pena mencionar que mediante el uso de los siguientes campos:

  • Sistema operativo: correspondiente a NativeOS Microsoft definido en el protocolo SMB
  • Software: correspondiente a NaveLanMan en el protocolo SMB

El sistema operativo del objetivo puede determinarse combinando la información obtenida de estos dos campos.

  • Ejemplo 1: La máquina de prueba es Windows Server 2016
    • Campo SO nativo: Windows Server 2016 Datacenter 14393
    • Campo NativeLanMan: Windows Server 2016 Datacenter 6.3
  • Ejemplo 2: La máquina de prueba es Ubuntu
    • Campo SO nativo: Windows 6.1
    • NativeLanMan: Samba 4.3.1-Ubuntu

En el ejemplo 2, NativeLanMan muestra información correcta y Native OS presentó un reconocimiento falso.

4. Metasploit

MSF utiliza el módulo «auxiliary/scanner/smb/smb_version» para detectar el sistema operativo SMB. La prueba muestra que su precisión es tan buena como la de Shodan. Imagen 4 es la exportación de MSF de la información del sistema operativo a través de SMB:

Imagen 4: Exportación de MSF de la información del sistema operativo a través de SMB

Y cuando se prueba con un objetivo que sólo soporta SMBv2, MSF muestra un análisis relativamente completo, como se muestra a continuación.

Y para la detección de SMBv1, MSF básicamente envía una solicitud como «Session Setup AndX Request, NTLMSSP_NEGOTIATE». Y a partir de la captura de paquetes mostrada en la Imagen 5, MSF también escaneó el directorio común.

Imagen 5: Detección de MSF SMBv1