Puerto 139 y 445: SMB - CIFS

SMB (Server Message Block) y CIFS (Common Internet File System) son protocolos de red utilizados principalmente para compartir archivos, impresoras y otros recursos en una red. SMB se ejecuta sobre los puertos 139 y 445, y es fundamental para la comunicación en redes Windows.

Descripción de SMB/CIFS

  • Puerto 139 (NetBIOS Session Service):

    • Utiliza NetBIOS (Network Basic Input/Output System) para compartir archivos e impresoras en redes locales.

    • Generalmente se utiliza en versiones más antiguas de Windows y sistemas que dependen de NetBIOS.

  • Puerto 445 (Direct Hosting of SMB):

    • Permite que SMB se ejecute directamente sobre TCP/IP sin la necesidad de NetBIOS.

    • Utilizado en versiones modernas de Windows para compartir archivos y recursos de red de manera más eficiente.

Relevancia en Pentesting

Importancia de SMB/CIFS en Pentesting:

  • Vulnerabilidades: SMB ha sido históricamente vulnerable a varios tipos de ataques, como la ejecución remota de código y la escalación de privilegios.

    • EternalBlue (MS17-010): Una de las vulnerabilidades más famosas que afecta SMBv1, explotada por el ransomware WannaCry.

    • Null Sessions: Conexiones anónimas que permiten a un atacante enumerar recursos compartidos y usuarios en un sistema.

  • Enumeración de Recursos: Los pentesters utilizan SMB para enumerar usuarios, grupos, recursos compartidos y otras configuraciones de red.

  • Transferencia de Archivos: SMB puede ser utilizado para transferir archivos entre sistemas comprometidos y estaciones de trabajo de pentesting.

Ejemplo de Escaneo de SMB con Nmap

Para identificar servidores SMB activos y recopilar información adicional sobre los servicios SMB/CIFS, se puede utilizar Nmap con scripts NSE específicos.

Comando Nmap

nmap -p 139,445 --script smb-enum-shares,smb-enum-users,smb-os-discovery,smb-vuln-ms17-010 target-ip

Explicación del Comando

  • nmap: Ejecuta el comando Nmap.

  • -p 139,445: Especifica que Nmap debe escanear los puertos 139 y 445, los puertos utilizados por SMB.

  • --script smb-enum-shares,smb-enum-users,smb-os-discovery,smb-vuln-ms17-010: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en los servicios SMB.

    • smb-enum-shares: Enumera los recursos compartidos en el servidor SMB.

    • smb-enum-users: Enumera los usuarios en el servidor SMB.

    • smb-os-discovery: Detecta la versión del sistema operativo a través del servicio SMB.

    • smb-vuln-ms17-010: Detecta la vulnerabilidad EternalBlue (MS17-010).

Ejemplo de Salida de Nmap

Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 21:15 UTC
Nmap scan report for 192.168.1.100
Host is up (0.0015s latency).

PORT    STATE SERVICE
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
| smb-os-discovery:
|   OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
|   Computer name: server
|   NetBIOS computer name: SERVER\x00
|   Domain name: example
|   FQDN: server.example.local
|_  System time: 2024-05-18T21:14:00+00:00
| smb-enum-shares:
|   account_used: guest
|   \\server\IPC$:
|     Type: STYPE_IPC_HIDDEN
|     Comment: Remote IPC
|     Anonymous access: READ/WRITE
|   \\server\Public:
|     Type: STYPE_DISKTREE
|     Comment: 
|     Anonymous access: READ/WRITE
| smb-enum-users:
|   guest:
|     User Comment: Built-in account for guest access to the computer/domain
|     Full Name: 
|   administrator:
|     User Comment: Built-in account for administering the computer/domain
|     Full Name: 
|_  john:
|     User Comment: 
|     Full Name: John Doe
| smb-vuln-ms17-010:
|   VULNERABLE:
|   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
|     State: VULNERABLE
|     IDs:  CVE:CVE-2017-0144
|     Risk factor: HIGH
|       A critical remote code execution vulnerability exists in Microsoft SMBv1
|       servers (ms17-010). The vulnerability is due to an error when the vulnerable
|       software handles a maliciously crafted SMB packet. A remote attacker could
|       exploit this vulnerability to execute arbitrary code on the target machine.
|
|     Disclosure date: 2017-03-14
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0144
|       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
|_      https://blogs.technet.microsoft.com/msrc/2017/04/14/security-update-ms17-010-released/

Nmap done: 1 IP address (1 host up) scanned in 8.53 seconds

Interpretación de la Salida

  • Host is up: Indica que el sistema objetivo está en línea y responde.

  • 139/tcp open netbios-ssn: El puerto 139 está abierto y el servicio NetBIOS-SSN (NetBIOS Session Service) está activo.

  • 445/tcp open microsoft-ds: El puerto 445 está abierto y el servicio Microsoft-DS (SMB Direct Hosting) está activo.

  • smb-os-discovery: Proporciona información sobre el sistema operativo y el dominio del servidor.

    • OS: Versión del sistema operativo (Windows Server 2016 Standard 14393).

    • Computer name: Nombre del equipo.

    • Domain name: Nombre del dominio.

    • FQDN: Nombre de dominio completo.

    • System time: Hora del sistema.

  • smb-enum-shares: Enumera los recursos compartidos en el servidor SMB.

    • \server\IPC$: Recurso compartido IPC$ con acceso anónimo de lectura/escritura.

    • \server\Public: Recurso compartido Public con acceso anónimo de lectura/escritura.

  • smb-enum-users: Enumera los usuarios en el servidor SMB.

    • guest: Cuenta de invitado.

    • administrator: Cuenta de administrador.

    • john: Usuario normal (John Doe).

  • smb-vuln-ms17-010: Detecta la vulnerabilidad EternalBlue (MS17-010), indicando que el servidor es vulnerable a la ejecución remota de código a través de SMBv1.

Última actualización