5.8 KiB
Timing Attacks
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Supportez HackTricks
- Consultez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR aux HackTricks et HackTricks Cloud dépôts github.
{% 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 {% 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 par paquet unique de condition de course, il est possible d'utiliser cette technique pour éliminer tous les retards de 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 juste 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 de logs 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
- En vérifiant les sous-domaines, il était même possible de découvrir et d'accéder à des sous-domaines internes non connus publiquement
- Attaques d'usurpation de Front-End : Les serveurs front-end ajoutent normalement des en-têtes pour le backend. Dans les proxies ouverts, si vous parvenez à trouver ces en-têtes (ce que vous pourriez être en mesure de faire en utilisant à nouveau des attaques par timing), vous pourrez définir ces en-têtes et obtenir un accès supplémentaire.
References
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Supportez HackTricks
- Consultez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR aux HackTricks et HackTricks Cloud dépôts github.