SMB (445)

SMB (Server Message Block) es un protocolo diseñado para la compartición de archivos en red, facilitando la interconexión de archivos y periféricos como impresoras y puertos serie entre ordenadores dentro de una red local (LAN).

  • SMB utiliza el puerto 445 (TCP). Sin embargo, originalmente, SMB se ejecutaba sobre NetBIOS utilizando puerto 139.

  • SAMBA es la implementación Linux de código abierto de SMB, y permite a los sistemas Windows acceder a recursos compartidos y dispositivos Linux acceder a recursos compartidos y dispositivos Linux.

El protocolo SMB utiliza dos niveles de autenticación, a saber:

  • Autenticación de usuario: los usuarios deben proporcionar un nombre de usuario y una contraseña para autenticarse con el servidor SMB para acceder a un recurso compartido.

  • Autenticación de recurso compartido: los usuarios deben proporcionar una contraseña para acceder a un recurso compartido restringido.

Nmap

Scripts de nmap utiles para este servicio:

  • smb-ls

  • smb-protocols

  • smb-security-mode

  • smb-enum-sessions

  • smb-enum-shares

  • smb-enum-users

  • smb-enum-groups

  • smb-enum-domains

  • smb-enum-services

Sintaxis:

smbclient

Es un cliente que nos permite acceder a recursos compartidos en servidores SMB.

smbmap

SMBMap permite a los usuarios enumerar las unidades compartidas samba en todo un dominio. Enumera las unidades compartidas, los permisos de las unidades, el contenido compartido, la funcionalidad de carga/descarga, la coincidencia de patrones de descarga automática de nombres de archivo e incluso la ejecución de comandos remotos.

enum4linux

Enum4linux es una herramienta utilizada para extraer información de hosts de Windows y Samba. La herramienta está escrita en Perl y envuelta en herramientas de samba smbclient, rpcclient, net y nslookup.

NetExec

Rpcclient

Rpcclient es una utilidad que forma parte del conjunto de herramientas Samba. Se utiliza para interactuar con el protocolo Remote Procedure Call (RPC) de Microsoft, que se utiliza para la comunicación entre los sistemas basados en Windows y otros dispositivos. rpcclient se utiliza principalmente para fines de depuración y pruebas, y se puede utilizar para consultar y manipular sistemas remotos.

El protocolo SMB se utiliza principalmente para compartir archivos, impresoras y otros recursos en una red, pero también puede aprovechar RPC para ciertas funcionalidades y operaciones específicas.

Por ejemplo, cuando accedes a recursos compartidos en una red Windows, como carpetas compartidas o impresoras, estás utilizando el protocolo SMB. Sin embargo, para algunas operaciones administrativas y de gestión, como enumerar usuarios y grupos, modificar permisos de archivos o impresoras, o acceder a la configuración del sistema remoto, SMB puede utilizar RPC para realizar estas tareas.

Cuando utilizas herramientas como rpcclient para interactuar con un sistema remoto que ejecuta servicios SMB, estás esencialmente aprovechando el protocolo RPC subyacente que forma parte de la implementación de SMB en ese sistema. De esta manera, rpcclient puede actuar como una interfaz para realizar consultas y ejecutar comandos a través del protocolo RPC en el contexto de un servidor SMB.

El parámetro -c en rpcclient se utiliza para especificar un comando o una secuencia de comandos que se ejecutarán en el servidor remoto una vez que se haya establecido la conexión. Esto permite realizar operaciones específicas de forma automática sin necesidad de interactuar manualmente con rpcclient después de establecer la conexión.

La sintaxis básica del parámetro -c es la siguiente:

RID Cycling Attack

SMB desde Windows

Recursos compartidos comunes en Windows:

  • C$ corresponde a C:/

  • ADMIN$ se asigna a C:/Windows

  • IPC$ se utiliza para RPC

  • Print$ aloja controladores para impresoras compartidas

  • SYSVOL sólo en DCs

  • NETLOGON sólo en los DC

Interactuar con el cliente SMB

Montar una carpeta compartida

Fuerza bruta de credenciales

Última actualización