hacktricks/pentesting-web/timing-attacks.md

5.9 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)

Support HackTricks
{% 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 {% 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, 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

{% 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)

Support HackTricks
{% endhint %}