hacktricks/pentesting-web/timing-attacks.md

5.7 KiB

Timing Attacks

{% hint style="success" %} Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

{% hint style="warning" %} Um ein tiefes Verständnis dieser Technik zu erlangen, überprüfe den Originalbericht von https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work {% endhint %}

Grundinformationen

Das grundlegende Ziel eines Timing-Angriffs besteht darin, komplizierte Fragen zu beantworten oder versteckte Funktionen zu erkennen, indem man einfach die Zeitunterschiede in den Antworten auf ähnliche Anfragen überprüft.

Traditionell war dies sehr kompliziert, da die Latenz und das Jitter sowohl durch das Netzwerk als auch durch den Server verursacht werden. Seit der Entdeckung und Verbesserung des Race Condition Single Packet Angriffs ist es jedoch möglich, diese Technik zu verwenden, um alle Netzwerkverzögerungen aus der Gleichung zu entfernen.
Wenn nur die Serververzögerungen übrig bleiben, wird der Timing-Angriff einfacher zu entdecken und auszunutzen.

Entdeckungen

Versteckte Angriffsfläche

Im Blogbeitrag wird kommentiert, wie es mit dieser Technik möglich war, versteckte Parameter und sogar Header zu finden, indem einfach überprüft wurde, dass es immer dann einen Zeitunterschied von etwa 5 ms gab, wenn der Parameter oder Header in der Anfrage vorhanden war. Tatsächlich wurde diese Entdeckungstechnik zu Param Miner in Burp Suite hinzugefügt.

Diese Zeitunterschiede könnten darauf zurückzuführen sein, dass eine DNS-Anfrage durchgeführt wurde, einige Protokolle geschrieben wurden, weil eine ungültige Eingabe vorlag, oder weil einige Überprüfungen durchgeführt werden, wenn ein Parameter in der Anfrage vorhanden ist.

Etwas, das du dir merken musst, wenn du diese Art von Angriffen durchführst, ist, dass du aufgrund der versteckten Natur der Oberfläche möglicherweise nicht weißt, was die tatsächliche Ursache der Zeitunterschiede ist.

Reverse Proxy Fehlkonfigurationen

In derselben Forschung wurde geteilt, dass die Timing-Technik großartig war, um "scoped SSRFs" zu entdecken (das sind SSRFs, die nur auf erlaubte IPs/Domains zugreifen können). Einfach den Zeitunterschied zu überprüfen, wenn eine erlaubte Domain gesetzt ist im Vergleich zu einer nicht erlaubten Domain hilft, offene Proxys zu entdecken, selbst wenn die Antwort die gleiche ist.

Sobald ein scoped offener Proxy entdeckt wurde, war es möglich, gültige Ziele zu finden, indem bekannte Subdomains des Ziels geparst wurden, und dies ermöglichte:

  • Firewalls zu umgehen, indem auf eingeschränkte Subdomains über den offenen Proxy anstelle des Internets zugegriffen wird.
  • Darüber hinaus ist es auch möglich, durch den Missbrauch eines offenen Proxys neue Subdomains zu entdecken, die nur intern zugänglich sind.
  • Front-End-Imitationsangriffe: Front-End-Server fügen normalerweise Header für das Backend hinzu, wie X-Forwarded-For oder X-Real-IP. Offene Proxys, die diese Header empfangen, fügen sie dem angeforderten Endpunkt hinzu, daher könnte ein Angreifer in der Lage sein, noch mehr interne Domains zuzugreifen, indem er diese Header mit zugelassenen Werten hinzufügt.

Referenzen

{% hint style="success" %} Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}