hacktricks/pentesting-web/abusing-hop-by-hop-headers.md

54 lines
6.1 KiB
Markdown

# Cabeceras hop-by-hop
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de HackTricks AWS)</strong></a><strong>!</strong></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS 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 exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**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/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
**Este es un resumen del post [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)**
Las cabeceras hop-by-hop son específicas de una única conexión a nivel de transporte, utilizadas principalmente en HTTP/1.1 para gestionar datos entre dos nodos (como cliente-proxy o proxy-proxy), y no están destinadas a ser reenviadas. Las cabeceras hop-by-hop estándar incluyen `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` y `Proxy-Authenticate`, según lo definido en [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1). Cabeceras adicionales pueden ser designadas como hop-by-hop a través de la cabecera `Connection`.
### Abuso de las cabeceras hop-by-hop
La gestión incorrecta de las cabeceras hop-by-hop por parte de los proxies puede llevar a problemas de seguridad. Si bien se espera que los proxies eliminen estas cabeceras, no todos lo hacen, lo que crea posibles vulnerabilidades.
### Pruebas de manejo de cabeceras hop-by-hop
El manejo de las cabeceras hop-by-hop se puede probar observando los cambios en las respuestas del servidor cuando se marcan ciertas cabeceras como hop-by-hop. Herramientas y scripts pueden automatizar este proceso, identificando cómo los proxies gestionan estas cabeceras y potencialmente descubriendo configuraciones incorrectas o comportamientos de proxy.
El abuso de las cabeceras hop-by-hop puede llevar a diversas implicaciones de seguridad. A continuación se presentan un par de ejemplos que demuestran cómo estas cabeceras pueden ser manipuladas para posibles ataques:
### Saltarse controles de seguridad con `X-Forwarded-For`
Un atacante puede manipular la cabecera `X-Forwarded-For` para saltarse los controles de acceso basados en IP. Esta cabecera suele ser utilizada por los proxies para rastrear la dirección IP de origen de un cliente. Sin embargo, si un proxy trata esta cabecera como hop-by-hop y la reenvía sin una validación adecuada, un atacante puede falsificar su dirección IP.
**Escenario de ataque:**
1. El atacante envía una solicitud HTTP a una aplicación web detrás de un proxy, incluyendo una dirección IP falsa en la cabecera `X-Forwarded-For`.
2. El atacante también incluye la cabecera `Connection: close, X-Forwarded-For`, lo que hace que el proxy trate `X-Forwarded-For` como hop-by-hop.
3. El proxy mal configurado reenvía la solicitud a la aplicación web sin la cabecera falsificada `X-Forwarded-For`.
4. La aplicación web, al no ver la cabecera original `X-Forwarded-For`, podría considerar la solicitud como proveniente directamente de un proxy de confianza, lo que potencialmente permite el acceso no autorizado.
### Envenenamiento de caché mediante la inyección de cabeceras hop-by-hop
Si un servidor de caché almacena incorrectamente contenido basado en cabeceras hop-by-hop, un atacante podría inyectar cabeceras maliciosas para envenenar la caché. Esto serviría contenido incorrecto o malicioso a los usuarios que soliciten el mismo recurso.
**Escenario de ataque:**
1. Un atacante envía una solicitud a una aplicación web con una cabecera hop-by-hop que no debería ser almacenada en caché (por ejemplo, `Connection: close, Cookie`).
2. El servidor de caché mal configurado no elimina la cabecera hop-by-hop y almacena la respuesta específica de la sesión del atacante.
3. Los usuarios futuros que soliciten el mismo recurso reciben la respuesta en caché, que fue adaptada para el atacante, lo que potencialmente lleva al secuestro de sesión o la exposición de información sensible.
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de HackTricks AWS)</strong></a><strong>!</strong></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS 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 exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**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/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>