Learn & practice AWS Hacking:<imgsrc="../.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="../.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="../.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="../.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% hint style="warning" %}
For obtaining a deep understanding of this technique check the original report from [https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work](https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work)
{% endhint %}
## Basic Information
El objetivo básico de un ataque de temporización es básicamente poder responder preguntas complicadas o detectar funcionalidades ocultas simplemente **verificando las diferencias de tiempo en las respuestas de solicitudes similares**.
Tradicionalmente, esto ha sido muy complicado debido a la latencia y el jitter introducidos tanto por la red como por el servidor. Sin embargo, desde el descubrimiento y mejora del [**Race Condition Single Packet attack**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), es posible utilizar esta técnica para eliminar todos los ruidos de retraso de red de la ecuación.\
En la publicación del blog se comenta cómo, utilizando esta técnica, fue posible encontrar parámetros ocultos e incluso encabezados simplemente verificando que cada vez que el parámetro o encabezado estaba presente en la solicitud había una **diferencia de tiempo de aproximadamente 5 ms**. De hecho, esta técnica de descubrimiento se ha añadido a **Param Miner** en Burp Suite.
Estas diferencias de tiempo pueden deberse a que se realizó una **solicitud DNS**, se **escribió un registro** debido a una entrada no válida o porque se **realizan verificaciones** cuando un parámetro está presente en la solicitud.
Algo que debes recordar al realizar este tipo de ataques es que, debido a la naturaleza oculta de la superficie, es posible que no sepas cuál es la causa real de las diferencias de tiempo.
### Reverse Proxy Misconfigurations
En la misma investigación, se compartió que la técnica de temporización era excelente para descubrir "SSRFs con alcance" (que son SSRFs que solo pueden acceder a IPs/domains permitidos). Simplemente **verificando la diferencia de tiempo cuando se establece un dominio permitido** frente a cuando se establece un dominio no permitido ayuda a descubrir proxies abiertos, incluso si la respuesta es la misma.
Una vez que se descubre un proxy abierto con alcance, fue posible encontrar objetivos válidos analizando subdominios conocidos del objetivo y esto permitió:
* **Eludir cortafuegos** accediendo a subdominios restringidos a través del **proxy abierto** en lugar de a través de internet.
* Además, abusando de un **proxy abierto** también es posible **descubrir nuevos subdominios solo accesibles internamente.**
* **Ataques de suplantación de Front-End**: Los servidores de front-end normalmente añaden encabezados para el backend como `X-Forwarded-For` o `X-Real-IP`. Los proxies abiertos que reciben estos encabezados los añadirán al endpoint solicitado, por lo tanto, un atacante podría acceder a aún más dominios internos añadiendo estos encabezados con valores en la lista blanca.
Learn & practice AWS Hacking:<imgsrc="../.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="../.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="../.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="../.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.