<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Ú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** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
El **_Sistema Básico de Entrada/Salida de Red_ (NetBIOS)** es un protocolo de software diseñado para permitir que aplicaciones, PC y escritorios dentro de una red de área local (LAN) interactúen con el hardware de red y **faciliten la transmisión de datos a través de la red**. La identificación y ubicación de aplicaciones de software que operan en una red NetBIOS se logran a través de sus nombres NetBIOS, que pueden tener hasta 16 caracteres de longitud y a menudo son distintos del nombre de la computadora. Una sesión NetBIOS entre dos aplicaciones se inicia cuando una aplicación (actuando como cliente) emite un comando para "llamar" a otra aplicación (actuando como servidor) utilizando el **Puerto TCP 139**.
Técnicamente, el Puerto 139 se conoce como 'NBT sobre IP', mientras que el Puerto 445 se identifica como 'SMB sobre IP'. El acrónimo **SMB** significa '**Server Message Blocks**', que también se conoce modernamente como el **Common Internet File System (CIFS)**. Como protocolo de red de capa de aplicación, SMB/CIFS se utiliza principalmente para permitir el acceso compartido a archivos, impresoras, puertos serie y facilitar diversas formas de comunicación entre nodos en una red.
Por ejemplo, en el contexto de Windows, se destaca que SMB puede operar directamente sobre TCP/IP, eliminando la necesidad de NetBIOS sobre TCP/IP, a través del uso del puerto 445. Por el contrario, en diferentes sistemas, se observa el uso del puerto 139, lo que indica que SMB se está ejecutando en conjunto con NetBIOS sobre TCP/IP.
El protocolo **Server Message Block (SMB)**, que opera en un modelo **cliente-servidor**, está diseñado para regular el **acceso a archivos**, directorios y otros recursos de red como impresoras y enrutadores. Utilizado principalmente en la serie de sistemas operativos **Windows**, SMB garantiza la compatibilidad hacia atrás, permitiendo que los dispositivos con versiones más nuevas del sistema operativo de Microsoft interactúen sin problemas con aquellos que ejecutan versiones más antiguas. Además, el proyecto **Samba** ofrece una solución de software libre que permite la implementación de SMB en sistemas **Linux** y Unix, facilitando así la comunicación entre plataformas a través de SMB.
Los recursos compartidos, que representan **partes arbitrarias del sistema de archivos local**, pueden ser proporcionados por un servidor SMB, lo que hace que la jerarquía sea visible para un cliente en parte **independiente** de la estructura real del servidor. Las **Listas de Control de Acceso (ACLs)**, que definen los **derechos de acceso**, permiten un **control detallado** sobre los permisos de usuario, incluidos atributos como **`ejecutar`**, **`leer`** y **`acceso completo`**. Estos permisos pueden asignarse a usuarios individuales o grupos, basados en los recursos compartidos, y son distintos de los permisos locales establecidos en el servidor.
El acceso al recurso IPC$ se puede obtener a través de una sesión nula anónima, lo que permite la interacción con servicios expuestos a través de tuberías con nombre. La utilidad `enum4linux` es útil para este propósito. Utilizado correctamente, permite la adquisición de:
- Información sobre los recursos compartidos SMB disponibles
- La política de seguridad del sistema efectiva
Esta funcionalidad es fundamental para los administradores de red y profesionales de seguridad para evaluar la postura de seguridad de los servicios SMB (Server Message Block) en una red. `enum4linux` proporciona una vista completa del entorno SMB del sistema objetivo, lo cual es esencial para identificar posibles vulnerabilidades y garantizar que los servicios SMB estén adecuadamente seguros.
```bash
enum4linux -a target_ip
```
El comando anterior es un ejemplo de cómo `enum4linux` podría ser utilizado para realizar una enumeración completa contra un objetivo especificado por `target_ip`.
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 host y al intentar listarlos parezca que no hay 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 desees buscar respuestas como NT\_STATUS\_ACCESS\_DENIED y NT\_STATUS\_BAD\_NETWORK\_NAME, al usar una sesión válida (por ejemplo, una sesión nula o credenciales válidas). Estas respuestas pueden indicar si el recurso compartido existe y no tienes acceso a él o si el recurso compartido no existe en absoluto.
Especialmente interesantes de las comparticiones son los archivos llamados **`Registry.xml`** ya que **pueden contener contraseñas** de usuarios configurados con **autologon** a través de la Política de Grupo. O archivos **`web.config`** ya que contienen credenciales.
La compartición **SYSVOL** es **legible** por todos los usuarios autenticados en el dominio. Allí puedes **encontrar** muchos scripts diferentes de lotes, VBScript y PowerShell.\
Deberías **verificar** los **scripts** dentro de ella ya que podrías **encontrar** información sensible como **contraseñas**.
La **configuración predeterminada 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_ a través de SMB) en la máquina víctima y lo utilizarán para **ejecutar algo** (**psexec** **subirá** un archivo ejecutable al recurso ADMIN$ y **smbexec** apuntará a **cmd.exe/powershell.exe** y pondrá en los argumentos el payload --**técnica sin archivo-**-).\
Este ataque utiliza la herramienta 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 llevará 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 autenticarse automáticamente en 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 Trapping SMB, al colocar archivos maliciosos en un sistema objetivo (a través de SMB, por ejemplo) se puede provocar un intento de autenticación SMB, lo que permite interceptar el hash NetNTLMv2 con una herramienta como Responder. Luego, el hash se puede descifrar sin conexión o utilizar 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 tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Ú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** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.