<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**NetBIOS** significa _Sistema Básico de Entrada/Salida de Red_. Es un protocolo de software que permite que aplicaciones, PCs y escritorios en una red de área local (LAN) se comuniquen con el hardware de red y transmitan datos a través de la red. Las aplicaciones de software que funcionan en una red NetBIOS localizan e identifican a cada una a través de sus nombres NetBIOS. Un nombre NetBIOS tiene hasta 16 caracteres de longitud y generalmente es diferente del nombre de la computadora. Dos aplicaciones inician una sesión NetBIOS cuando una (el cliente) envía un comando para "llamar" a otro cliente (el servidor) a través del **Puerto TCP 139**. (extraído de [aquí](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
Mientras que el Puerto 139 es conocido técnicamente como 'NBT sobre IP', el Puerto 445 es 'SMB sobre IP'. **SMB** significa '**Server Message Blocks**'. Server Message Block en lenguaje moderno también es conocido como **Common Internet File System**. El sistema opera como un protocolo de red de la capa de aplicación principalmente utilizado para ofrecer acceso compartido a archivos, impresoras, puertos serie y otros tipos de comunicaciones entre nodos en una red.
Por ejemplo, en Windows, SMB puede ejecutarse directamente sobre TCP/IP sin la necesidad de NetBIOS sobre TCP/IP. Esto utilizará, como señalas, el puerto 445. En otros sistemas, encontrarás servicios y aplicaciones utilizando el puerto 139. Esto significa que SMB se está ejecutando con NetBIOS sobre TCP/IP. (extraído de [aquí](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
El protocolo `SMB` (**Server Message Block**) es un protocolo **cliente-servidor** que regula el **acceso a archivos** y directorios enteros, así como a otros recursos de red como impresoras, routers o interfaces disponibles para la red. El principal ámbito de aplicación del protocolo ha sido la serie de sistemas operativos **Windows**, cuyos servicios de red soportan SMB de manera compatible hacia atrás - lo que significa que dispositivos con ediciones más recientes pueden comunicarse fácilmente con dispositivos que tienen instalado un sistema operativo Microsoft más antiguo.\
Con el proyecto de software libre **Samba**, también existe una solución que permite el uso de **SMB en Linux** y distribuciones Unix, y así la comunicación multiplataforma a través de SMB.
Un servidor SMB puede proporcionar **partes arbitrarias de su sistema de archivos local como recursos compartidos**. Por lo tanto, la **jerarquía visible** para un cliente es parcialmente **independiente** de la **estructura** en el **servidor**. Los **derechos de acceso** están definidos por `Listas de Control de Acceso` (`ACL` por sus siglas en inglés). Se pueden controlar de manera **detallada** basándose en atributos como **`ejecutar`**, **`leer`** y **`acceso total`** para usuarios individuales o grupos de usuarios. Las **ACL** se definen **en base a los recursos compartidos** y por lo tanto no corresponden a los derechos asignados localmente en el servidor.
Con una sesión nula anónima puedes acceder al recurso compartido IPC$ e interactuar con servicios expuestos a través de tuberías con nombre. La utilidad enum4linux dentro de Kali Linux es particularmente útil; con ella, puedes obtener lo siguiente:
Si no sabes qué es NTLM o quieres saber cómo funciona y cómo abusar de él, encontrarás muy interesante esta página sobre **NTLM** donde se explica **cómo funciona este protocolo y cómo puedes aprovecharlo:**
Para buscar posibles exploits para la versión de SMB es importante saber qué versión se está utilizando. Si esta información no aparece en otras herramientas utilizadas, puedes:
Puede ser posible que estés restringido para mostrar cualquier recurso compartido de la máquina anfitriona y cuando intentas listarlos parece como si no hubiera recursos compartidos a los que conectarse. Por lo tanto, podría valer la pena intentar conectarse manualmente a un recurso compartido. Para enumerar los recursos compartidos manualmente, es posible que quieras buscar respuestas como NT\_STATUS\_ACCESS\_DENIED y NT\_STATUS\_BAD\_NETWORK\_NAME, al usar una sesión válida (por ejemplo, sesión nula o credenciales válidas). Estas pueden indicar si el recurso compartido existe y no tienes acceso a él o si el recurso compartido no existe en absoluto.
Especialmente interesantes en los recursos compartidos son los archivos llamados **`Registry.xml`** ya que **pueden contener contraseñas** para usuarios configurados con **autologon** a través de Política de Grupo. O archivos **`web.config`** ya que contienen credenciales.
El recurso compartido **SYSVOL** es **legible** por todos los usuarios autenticados en el dominio. Allí puedes **encontrar** muchos scripts diferentes de batch, VBScript y PowerShell.\
Debes **revisar** los **scripts** dentro de él ya que podrías **encontrar** información sensible como **contraseñas**.
La **configuración por defecto de** un servidor **Samba** generalmente se encuentra en `/etc/samba/smb.conf` y podría tener algunas **configuraciones peligrosas**:
crackmapexec puede ejecutar comandos **abusando** de cualquiera de **mmcexec, smbexec, atexec, wmiexec** siendo **wmiexec** el método **predeterminado**. Puedes indicar qué opción prefieres usar con el parámetro `--exec-method`:
Ambas opciones **crearán un nuevo servicio** (usando _\pipe\svcctl_ vía SMB) en la máquina víctima y lo usarán para **ejecutar algo** (**psexec** **subirá** un archivo ejecutable al recurso compartido ADMIN$ y **smbexec** apuntará a **cmd.exe/powershell.exe** e introducirá en los argumentos el payload --**técnica sin archivos**--).\
Este ataque utiliza el kit de herramientas Responder para **capturar sesiones de autenticación SMB** en una red interna y **retransmitirlas** a una **máquina objetivo**. Si la **sesión de autenticación es exitosa**, automáticamente te dará acceso a una **shell del sistema**.\
[**Más información sobre este ataque aquí.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
La biblioteca de Windows URLMon.dll intenta automáticamente autenticarse con el host cuando una página intenta acceder a algún contenido a través de SMB, por ejemplo: `img src="\\10.10.10.10\path\image.jpg"`
Similar al SMB Trap, colocar archivos maliciosos en un sistema objetivo (a través de SMB, por ejemplo) puede provocar un intento de autenticación SMB, permitiendo que el hash NetNTLMv2 sea interceptado con una herramienta como Responder. Luego, el hash puede ser descifrado fuera de línea o utilizado en un [ataque de retransmisión SMB](pentesting-smb.md#smb-relay-attack).
While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).