5.5 KiB
Timing Attacks
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
{% hint style="warning" %} For obtaining a deep understanding of this technique check the original report from https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work {% endhint %}
Basic Information
L'obiettivo di base di un attacco di timing è fondamentalmente quello di essere in grado di rispondere a domande complicate o rilevare funzionalità nascoste semplicemente controllando le differenze di tempo nelle risposte a richieste simili.
Tradizionalmente, questo è stato molto complicato a causa della latenza e del jitter introdotti sia dalla rete che dal server. Tuttavia, dalla scoperta e dal miglioramento dell'attacco Race Condition Single Packet, è possibile utilizzare questa tecnica per rimuovere tutti i ritardi di rete dal calcolo.
Lasciando solo i ritardi del server rende l'attacco di timing più facile da scoprire e abusare.
Discoveries
Hidden Attack Surface
Nel post del blog si commenta come utilizzando questa tecnica sia stato possibile trovare parametri nascosti e persino intestazioni semplicemente controllando che ogni volta che il parametro o l'intestazione era presente nella richiesta c'era una differenza di tempo di circa 5ms. In realtà, questa tecnica di scoperta è stata aggiunta a Param Miner in Burp Suite.
Queste differenze di tempo potrebbero essere dovute a una richiesta DNS eseguita, a qualche log scritto a causa di un input non valido o perché alcuni controlli vengono eseguiti quando un parametro è presente nella richiesta.
Qualcosa che devi ricordare quando esegui questo tipo di attacchi è che, a causa della natura nascosta della superficie, potresti non sapere qual è la vera causa delle differenze di tempo.
Reverse Proxy Misconfigurations
Nella stessa ricerca, è stato condiviso che la tecnica di timing era ottima per scoprire "SSRF limitati" (che sono SSRF che possono accedere solo a IP/domini consentiti). Semplicemente controllando la differenza di tempo quando è impostato un dominio consentito rispetto a quando è impostato un dominio non consentito aiuta a scoprire proxy aperti anche se la risposta è la stessa.
Una volta scoperto un proxy aperto limitato, è stato possibile trovare obiettivi validi analizzando i sottodomini noti del target e questo ha permesso di:
- Evitare i firewall accedendo a sottodomini riservati tramite il proxy aperto invece che attraverso internet
- Inoltre, abusando di un proxy aperto è anche possibile scoprire nuovi sottodomini accessibili solo internamente.
- Attacchi di impersonificazione Front-End: I server front-end normalmente aggiungono intestazioni per il backend come
X-Forwarded-For
oX-Real-IP
. I proxy aperti che ricevono queste intestazioni le aggiungeranno all'endpoint richiesto, quindi, un attaccante potrebbe essere in grado di accedere a ancora più domini interni aggiungendo queste intestazioni a valori autorizzati.
References
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.