5.5 KiB
Timing Attacks
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
{% 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 {% 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, es posible utilizar esta técnica para eliminar todos los ruidos de retraso de red de la ecuación.
Dejando solo los retrasos del servidor hace que el ataque de temporización sea más fácil de descubrir y abusar.
Discoveries
Hidden Attack Surface
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
oX-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.
References
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.