hacktricks/pentesting-web/timing-attacks.md

67 lines
8.1 KiB
Markdown
Raw Permalink Normal View History

# Timing Attacks
{% hint style="success" %}
Learn & practice AWS Hacking:<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">\
Learn & practice GCP Hacking: <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>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
{% hint style="warning" %}
рдЗрд╕ рддрдХрдиреАрдХ рдХреА рдЧрд╣рд░реА рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [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 %}
## Basic Information
Timing attack рдХрд╛ рдореВрд▓ рд▓рдХреНрд╖реНрдп рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдпрд╛ рдЫрд┐рдкреА рд╣реБрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ **рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛** рд╣реИред
рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд▓реЗрдЯреЗрдВрд╕реА рдФрд░ рдЬрд┐рдЯрд░ред рд╣рд╛рд▓рд╛рдБрдХрд┐, [**Race Condition Single Packet attack**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization) рдХреА рдЦреЛрдЬ рдФрд░ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рдж, рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рдиреЗрдЯрд╡рд░реНрдХ рджреЗрд░реА рдХреЛ рд╕рдореАрдХрд░рдг рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред\
рдХреЗрд╡рд▓ **рд╕рд░реНрд╡рд░ рдХреА рджреЗрд░реА** рдЫреЛрдбрд╝рдиреЗ рд╕реЗ timing attack рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИред
## Discoveries
### Hidden Attack Surface
рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдпрд╣ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд┐рдкреЗ рд╣реБрдП рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рд╣реЗрдбрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ рдЬрдм рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рд╣реЗрдбрд░ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдореМрдЬреВрдж рдерд╛, рддреЛ **рд▓рдЧрднрдЧ 5ms рдХрд╛ рд╕рдордп рдХрд╛ рдЕрдВрддрд░** рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдЦреЛрдЬ рддрдХрдиреАрдХ рдХреЛ Burp Suite рдореЗрдВ **Param Miner** рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рдпреЗ рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдЗрд╕ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ **DNS рдЕрдиреБрд░реЛрдз** рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреБрдЫ **рд▓реЙрдЧ рд▓рд┐рдЦрд╛ рдЧрдпрд╛** рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрдорд╛рдиреНрдп рдЗрдирдкреБрдЯ рдерд╛ рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ **рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИрдВ** рдЬрдм рдЕрдиреБрд░реЛрдз рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣рдорд▓реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рддрд╣ рдХреА рдЫрд┐рдкреА рд╣реБрдИ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг, рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдХрд┐ рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИред
### Reverse Proxy Misconfigurations
рдЙрд╕реА рд╢реЛрдз рдореЗрдВ, рдпрд╣ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ timing рддрдХрдиреАрдХ "scoped SSRFs" рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рдереА (рдЬреЛ SSRFs рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЕрдиреБрдордд IP/рдбреЛрдореЗрди рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ)ред рдХреЗрд╡рд▓ **рдЕрдиреБрдордд рдбреЛрдореЗрди рд╕реЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛** рдмрдирд╛рдо рдЬрдм рдПрдХ рдЧреИрд░-рдЕрдиреБрдордд рдбреЛрдореЗрди рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЦреБрд▓реА рдкреНрд░реЙрдХреНрд╕реА рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реЛред
рдПрдХ scoped open proxy рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд▓рдХреНрд╖рд┐рдд рдЬреНрдЮрд╛рдд рдЙрдкрдбреЛрдореЗрди рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдХреЗ рд╡реИрдз рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдВрднрд╡ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рдпрд╣ рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА:
* **рдлрд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░реЗрдВ** рджреНрд╡рд╛рд░рд╛ **рдЦреБрд▓реА рдкреНрд░реЙрдХреНрд╕реА** рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЙрдкрдбреЛрдореЗрди рддрдХ рдкрд╣реБрдВрдЪрдирд╛, рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВред
* рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ **рдЦреБрд▓реА рдкреНрд░реЙрдХреНрд╕реА** рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ **рдирдП рдЙрдкрдбреЛрдореЗрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВред**
* **рдлреНрд░рдВрдЯ-рдПрдВрдб рдЕрдиреБрдХрд░рдг рд╣рдорд▓реЗ**: рдлреНрд░рдВрдЯ-рдПрдВрдб рд╕рд░реНрд╡рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ `X-Forwarded-For` рдпрд╛ `X-Real-IP`ред рдЦреБрд▓реА рдкреНрд░реЙрдХреНрд╕реА рдЬреЛ рдЗрди рд╣реЗрдбрд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рдПрдВрдбрдкреЙрдЗрдВрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреА, рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрди рд╣реЗрдбрд░реЛрдВ рдХреЛ рд╡реНрд╣рд╛рдЗрдЯрд▓рд┐рд╕реНрдЯреЗрдб рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдЕрдзрд┐рдХ рдЖрдВрддрд░рд┐рдХ рдбреЛрдореЗрди рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
## References
* [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" %}
Learn & practice AWS Hacking:<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">\
Learn & practice GCP Hacking: <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>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}