mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
66 lines
5.9 KiB
Markdown
66 lines
5.9 KiB
Markdown
# Timing Attacks
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le hacking AWS :<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le hacking GCP : <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
{% hint style="warning" %}
|
|
Pour obtenir une compréhension approfondie de cette technique, consultez le rapport original sur [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
|
|
|
|
L'objectif de base d'une attaque par timing est essentiellement de pouvoir répondre à des questions compliquées ou de détecter des fonctionnalités cachées en **vérifiant les différences de temps dans les réponses à des requêtes similaires**.
|
|
|
|
Traditionnellement, cela a été très compliqué en raison de la latence et du jitter introduits par le réseau et le serveur. Cependant, depuis la découverte et l'amélioration de l'[**attaque Race Condition Single Packet**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), il est possible d'utiliser cette technique pour éliminer tous les retards réseau du bruit de l'équation.\
|
|
Ne laissant que les **retards du serveur**, ce qui rend l'attaque par timing plus facile à découvrir et à exploiter.
|
|
|
|
## Discoveries
|
|
|
|
### Hidden Attack Surface
|
|
|
|
Dans le billet de blog, il est commenté comment, en utilisant cette technique, il a été possible de trouver des paramètres cachés et même des en-têtes simplement en vérifiant que chaque fois que le paramètre ou l'en-tête était présent dans la requête, il y avait une **différence de temps d'environ 5 ms**. En fait, cette technique de découverte a été ajoutée à **Param Miner** dans Burp Suite.
|
|
|
|
Ces différences de temps peuvent être dues à une **requête DNS** effectuée, à l'écriture d'un **journal** en raison d'une entrée invalide ou parce que certaines **vérifications sont effectuées** lorsqu'un paramètre est présent dans la requête.
|
|
|
|
Quelque chose que vous devez garder à l'esprit lors de l'exécution de ce type d'attaques est qu'en raison de la nature cachée de la surface, vous pourriez ne pas savoir quelle est la véritable cause des différences de temps.
|
|
|
|
### Reverse Proxy Misconfigurations
|
|
|
|
Dans la même recherche, il a été partagé que la technique de timing était excellente pour découvrir des "SSRFs à portée" (qui sont des SSRFs qui ne peuvent accéder qu'aux IP/domaines autorisés). Juste **en vérifiant la différence de temps lorsqu'un domaine autorisé est défini** par rapport à lorsqu'un domaine non autorisé est défini, cela aide à découvrir des proxies ouverts même si la réponse est la même.
|
|
|
|
Une fois qu'un proxy ouvert à portée est découvert, il était possible de trouver des cibles valides en analysant des sous-domaines connus de la cible, ce qui a permis de :
|
|
|
|
* **Contourner les pare-feu** en accédant à des sous-domaines restreints via le **proxy ouvert** au lieu de passer par Internet.
|
|
* De plus, en abusant d'un **proxy ouvert**, il est également possible de **découvrir de nouveaux sous-domaines uniquement accessibles en interne.**
|
|
* **Attaques d'usurpation d'identité Front-End** : Les serveurs front-end ajoutent normalement des en-têtes pour le backend comme `X-Forwarded-For` ou `X-Real-IP`. Les proxies ouverts qui reçoivent ces en-têtes les ajouteront au point de terminaison demandé, par conséquent, un attaquant pourrait être en mesure d'accéder à encore plus de domaines internes en ajoutant ces en-têtes avec des valeurs sur liste blanche.
|
|
|
|
## References
|
|
|
|
* [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)
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le hacking AWS :<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le hacking GCP : <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|