Timing-Angriffe
Reading time: 3 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
warning
Für ein tiefes Verständnis dieser Technik überprüfen Sie den Originalbericht von https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work
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 eingeführt werden. Seit der Entdeckung und Verbesserung des Race Condition Single Packet Angriffs ist es jedoch möglich, diese Technik zu verwenden, um alle netzwerkbedingten Verzögerungen aus der Gleichung zu entfernen.
Wenn nur die Serververzögerungen übrig bleiben, wird es einfacher, Timing-Angriffe zu entdecken und auszunutzen.
Entdeckungen
Versteckte Angriffsfläche
In dem Blogbeitrag wird kommentiert, wie es mit dieser Technik möglich war, versteckte Parameter und sogar Header zu finden, indem einfach überprüft wurde, dass immer dann, wenn der Parameter oder Header in der Anfrage vorhanden war, ein Zeitunterschied von etwa 5 ms bestand. 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 Sie sich merken sollten, wenn Sie diese Art von Angriffen durchführen, ist, dass Sie aufgrund der versteckten Natur der Oberfläche möglicherweise nicht wissen, 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 (die SSRFs sind, 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 dieselbe 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-Impersonationsangriffe: Front-End-Server fügen normalerweise Header für das Backend wie
X-Forwarded-For
oderX-Real-IP
hinzu. 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
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.