hacktricks/generic-methodologies-and-resources/pentesting-network/network-protocols-explained-esp.md

137 lines
11 KiB
Markdown

<details>
<summary><strong>Aprende a hackear AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* 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íguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
# Multicast DNS \(mDNS\)
El protocolo **multicast DNS** \(**mDNS**\) resuelve nombres de host a direcciones IP dentro de redes pequeñas que no incluyen un servidor de nombres local.
Cuando un cliente mDNS necesita resolver un nombre de host, envía un mensaje de consulta de multidifusión IP que solicita al host que tiene ese nombre que se identifique. Esa máquina objetivo luego envía en multidifusión un mensaje que incluye su dirección IP. Todas las máquinas en esa subred pueden usar esa información para actualizar sus cachés mDNS.
Cualquier host puede renunciar a su reclamo de un nombre de dominio enviando un paquete de respuesta con un Tiempo de Vida \(TTL\) igual a cero.
Por defecto, mDNS resuelve exclusivamente nombres de host que terminan con el dominio de nivel superior **.local**. Esto puede causar problemas si ese dominio incluye hosts que no implementan mDNS pero que se pueden encontrar a través de un servidor DNS unicast convencional. Resolver tales conflictos requiere cambios en la configuración de la red.
* Al usar tramas Ethernet, la dirección MAC de multidifusión estándar es _01:00:5E:00:00:FB_ \(para IPv4\) o _33:33:00:00:00:FB_ \(para IPv6\).
* Dirección IPv4 _224.0.0.251_ o dirección IPv6 _ff02::fb_.
* Puerto UDP 5353.
Las consultas mDNS no pasarán por routers \(se difunden solo en Ethernet\).
# DNS-SD \(Descubrimiento de Servicios\)
Este protocolo se puede utilizar para descubrir hosts en la red. Para hacerlo, puedes solicitar nombres de dominio especiales \(por ejemplo, _\_printers\_tcp.local_\) y todos los dominios relacionados con ese nombre responderán \(en este caso, impresoras\). Se puede encontrar una lista completa con estos nombres especiales [aquí](http://www.dns-sd.org/ServiceTypes.html).
# SSDP
El Protocolo Simple de Descubrimiento de Servicios se utiliza para descubrir servicios en una red principalmente para utilizar el protocolo UPnP.
SSDP es un protocolo basado en texto basado en [HTTPU](https://en.wikipedia.org/wiki/HTTPU). Utiliza UDP como protocolo de transporte subyacente. Los servicios se anuncian por el sistema de alojamiento con direccionamiento de multidifusión a una dirección IP de multidifusión específicamente designada en el puerto UDP número 1900. En IPv4, la dirección de multidifusión es 239.255.255.250.
# WSD
**Servicio Web para Dispositivos**.
Este servicio permite que un dispositivo conectado en una red descubra qué servicios \(como impresoras\) están disponibles en la red.
El cliente puede enviar un paquete UDP de difusión solicitando algún tipo de servicio o el proveedor de servicios puede enviar un paquete de difusión diciendo que está ofreciendo un servicio.
# OAuth2.0
Protocolo que te permite compartir tu información, por ejemplo, de Google con otros servicios.
Básicamente **te permite compartir la información justa** y necesaria que se almacena en un servicio, con otro. De esta manera puedes iniciar sesión más rápido y tus **datos se almacenan solo en un lugar** y no tienes que introducir nombres de usuario/contraseñas en todas partes.
Funciona de la siguiente manera:
Primero debes estar ya iniciado sesión en Google o se abrirá una ventana para que inicies sesión. Inmediatamente después, el servicio solicitará al servidor de Google un token para acceder a tu información. Google mostrará una de esas pantallas de "_La aplicación XXXXX quiere acceder a esta información tuya: ..._" cuando hagas clic en aceptar, Google responderá a la aplicación con un código que la aplicación utilizará para solicitar un token con el cual Google responderá. Una vez que la aplicación tiene un token, puede usarse con la API de Google para obtener la información solicitada.
# RADIUS
Protocolo de autenticación y autorización para acceder a una red. \(Utiliza el puerto UDP 1813\)
Principalmente utilizado por proveedores de servicios de Internet para gestionar el acceso a la red de sus clientes.
Permite Autenticación, Autorización y Anotación.
¿Cómo funciona?
El usuario primero habla con el NAS \(puerta de enlace al servidor\), verifica que el nombre y la contraseña enviados sean válidos al preguntar al servidor RADIUS.
Opcionalmente, para una mayor seguridad, se puede verificar la dirección de red o el número de teléfono del servidor para ver si coincide.
Tanto el servidor RADIUS como el usuario que intenta conectarse tienen un "secreto compartido", de esta manera el servidor RADIUS envía un desafío al NAS que reenvía al usuario que está iniciando sesión, este lo cifra con dicho secreto y lo reenvía al NAS y si coincide con el cifrado que ha hecho RADIUS, el usuario ha demostrado su identidad.
Una vez que se ha demostrado la identidad, el usuario de RADIUS instruye al NAS para asignar al usuario una dirección IP. Además, cuando esto se hace, el NAS envía un mensaje de inicio a RADIUS para que lo registre. Cuando el usuario cierra la sesión, el NAS envía un mensaje de terminación. De esta manera, RADIUS registra el consumo de la sesión para poder facturar en consecuencia \(estos datos también se utilizan por razones estadísticas\)
# SMB y NetBIOS
## **SMB**
Es un protocolo de uso compartido de archivos/impresoras/puertos...
Esto puede ejecutarse directamente sobre TCP en el puerto 445 \(que si haces un escaneo de Windows verás que se llama por microsoft-ds\)
O sobre UDP 137, 138 o TCP 137, 138 que utiliza NetBIOS sobre TCP \(llamado netbios-ssn\)
El objetivo de SMB al implementarse solo sobre TCP o sobre NetBIOS + TCP es aumentar la capacidad de comunicación con más equipos que solo admiten uno u otro.
## **NetBIOS**
Su función es establecer sesiones y mantener conexiones para compartir recursos de red, pero para enviar paquetes de un sitio a otro requiere IPC/IPX o NetBEUI o TCP/IP.
Cada máquina que utiliza NetBIOS debe tener un **nombre** único que la distinga del resto. Por lo tanto, cuando llega una nueva máquina, primero se verifica que nadie esté usando el nombre que está solicitando usar. También hay **nombres de grupo** que pueden ser utilizados por tantas estaciones como deseen, pero no puede haber dos grupos con el mismo nombre. Es una forma de poder enviar mensajes a varias máquinas. Por lo tanto, puedes enviar mensajes a un usuario, a un grupo o en difusión.
La conexión puede ser sin conexión o orientada a la conexión:
**sin conexión:** Se envía un datagrama al destino pero no hay forma de saludo o mensaje recibido. La máquina de destino debe estar configurada para poder recibir datagramas.
**orientada a la conexión:** Se crea una sesión entre dos nombres \(incluso puede ser entre dos nombres de la misma máquina\) si se envía un mensaje recibido o de error.
**NetBEUI** realmente consiste en NetBIOS sobre NetBEUI que es un protocolo de red y transporte que conduce a NetBIOS, era rápido pero muy ruidoso porque emitía muchas difusiones, también se puede tener SMB sobre NetBEUI pero es más común que NetBIOS se ejecute sobre TCP.
# LDAP
Protocolo que permite gestionar directorios y acceder a bases de información de usuarios a través de TCP/IP.
Permite tanto extraer información como introducirla a través de diferentes comandos.
Por lo tanto, es un protocolo que se utiliza para acceder a diversas bases de datos que están preparadas para hablar este protocolo.
# Active Directory
Básicamente es una base de datos de objetos con información como usuarios, grupos, privilegios y recursos que es accesible desde la red \(a través de un dominio\) para que dicha información pueda ser accedida y gestionada de forma centralizada.
Servidor que guarda objetos. Estos objetos son visibles en la red a través de un dominio. Un dominio puede tener dentro de él su servidor donde está implementado, grupos, usuarios...
También se pueden tener subdominios que tienen su propio servidor asociado con sus grupos, usuarios...
De esta manera, la gestión de los usuarios de una red está centralizada, ya que los usuarios que pueden iniciar sesión pueden generarse en este servidor, con los permisos que tienen para saber si pueden acceder a ciertos recursos de red y así todo esto se puede controlar de una manera sencilla.
De esta manera puedes consultar el directorio con un nombre de usuario y obtener información como el correo electrónico o el número de teléfono. También puedes hacer consultas generales como: ¿dónde están las impresoras? ¿Cuáles son los nombres de dominio?
<details>
<summary><strong>Aprende a hackear AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* 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íguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>