Translated ['pentesting-web/timing-attacks.md'] to it

This commit is contained in:
Translator 2024-08-19 12:41:44 +00:00
parent 82e4fab7c8
commit 396ce5d4cc
2 changed files with 68 additions and 1 deletions

View file

@ -611,6 +611,7 @@
* [Registration & Takeover Vulnerabilities](pentesting-web/registration-vulnerabilities.md)
* [Regular expression Denial of Service - ReDoS](pentesting-web/regular-expression-denial-of-service-redos.md)
* [Reset/Forgotten Password Bypass](pentesting-web/reset-password.md)
* [Reverse Tab Nabbing](pentesting-web/reverse-tab-nabbing.md)
* [SAML Attacks](pentesting-web/saml-attacks/README.md)
* [SAML Basics](pentesting-web/saml-attacks/saml-basics.md)
* [Server Side Inclusion/Edge Side Inclusion Injection](pentesting-web/server-side-inclusion-edge-side-inclusion-injection.md)
@ -637,7 +638,7 @@
* [SSTI (Server Side Template Injection)](pentesting-web/ssti-server-side-template-injection/README.md)
* [EL - Expression Language](pentesting-web/ssti-server-side-template-injection/el-expression-language.md)
* [Jinja2 SSTI](pentesting-web/ssti-server-side-template-injection/jinja2-ssti.md)
* [Reverse Tab Nabbing](pentesting-web/reverse-tab-nabbing.md)
* [Timing Attacks](pentesting-web/timing-attacks.md)
* [Unicode Injection](pentesting-web/unicode-injection/README.md)
* [Unicode Normalization](pentesting-web/unicode-injection/unicode-normalization.md)
* [UUID Insecurities](pentesting-web/uuid-insecurities.md)

View file

@ -0,0 +1,66 @@
# Timing Attacks
{% hint style="success" %}
Impara e pratica il hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Impara e pratica il hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
</details>
{% endhint %}
{% hint style="warning" %}
Per ottenere una comprensione profonda di questa tecnica controlla il rapporto originale da [https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work](https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work)
{% endhint %}
## Informazioni di base
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**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), è 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.
## Scoperte
### Superficie di attacco nascosta
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.
### Misconfigurazioni del Reverse Proxy
Nella stessa ricerca, è stato condiviso che la tecnica di timing era ottima per scoprire "SSRF a portata limitata" (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 a portata limitata, è 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
* Controllando i sottodomini è stato persino possibile scoprire e accedere a sottodomini interni non pubblicamente noti
* **Attacchi di impersonificazione Front-End**: I server front-end normalmente aggiungono intestazioni per il backend. Nei proxy aperti, se riesci a trovare queste intestazioni (cosa che potresti essere in grado di fare utilizzando di nuovo gli attacchi di timing), sarai in grado di impostare queste intestazioni e raccogliere ulteriori accessi.
## Riferimenti
* [https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work](https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work)
{% hint style="success" %}
Impara e pratica il hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Impara e pratica il hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
</details>
{% endhint %}