hacktricks/pentesting-web/timing-attacks.md

67 lines
7.6 KiB
Markdown
Raw Normal View History

# Атаки за часом
{% hint style="success" %}
Вивчайте та практикуйте 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">\
Вивчайте та практикуйте 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>Підтримайте HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</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 %}
## Основна інформація
Основна мета атаки за часом полягає в тому, щоб мати можливість відповідати на складні запитання або виявляти приховані функції, просто **перевіряючи різницю в часі у відповідях на подібні запити**.
Традиційно це було дуже складно через затримки та джиттер, які вводяться як мережею, так і сервером. Однак, з моменту відкриття та вдосконалення [**атаки Race Condition Single Packet**](race-condition.md#http-2-single-packet-attack-vs.-http-1.1-last-byte-synchronization), стало можливим використовувати цю техніку, щоб усунути всі затримки мережі з рівняння.\
Залишаючи лише **затримки сервера**, атака за часом стає легшою для виявлення та зловживання.
## Відкриття
### Прихована атакувальна поверхня
У блозі коментується, як за допомогою цієї техніки було можливо знайти приховані параметри та навіть заголовки, просто перевіряючи, що щоразу, коли параметр або заголовок були присутні в запиті, була **різниця в часі приблизно 5 мс**. Насправді, ця техніка відкриття була додана до **Param Miner** у Burp Suite.
Ці різниці в часі можуть бути викликані тим, що було виконано **DNS запит**, деякі **журнали були записані** через недійсний ввід або через те, що деякі **перевірки виконуються**, коли параметр присутній у запиті.
Щось, що потрібно пам'ятати, коли ви виконуєте такого роду атаки, це те, що через приховану природу поверхні ви можете не знати, яка насправді є справжня причина різниць у часі.
### Неправильні налаштування зворотного проксі
У тому ж дослідженні було зазначено, що техніка часу була чудовою для виявлення "обмежених SSRF" (які є SSRF, що можуть отримати доступ лише до дозволених IP/доменів). Просто **перевіряючи різницю в часі, коли встановлено дозволений домен** в порівнянні з тим, коли встановлено недозволений домен, допомагає виявити відкриті проксі, навіть якщо відповідь однакова.
Коли було виявлено обмежений відкритий проксі, стало можливим знайти дійсні цілі, аналізуючи відомі піддомени цілі, і це дозволило:
* **Обійти брандмауери**, отримуючи доступ до обмежених піддоменів через **відкритий проксі** замість Інтернету
* Більше того, зловживаючи **відкритим проксі**, також можливо **виявити нові піддомени, доступні лише внутрішньо.**
* **Атаки на підробку фронт-енду**: Сервери фронт-енду зазвичай додають заголовки для бекенду, такі як `X-Forwarded-For` або `X-Real-IP`. Відкриті проксі, які отримують ці заголовки, додадуть їх до запитуваного кінцевого пункту, отже, зловмисник зможе отримати доступ до ще більшої кількості внутрішніх доменів, додаючи ці заголовки зі значеннями, які є в білому списку.
## Посилання
* [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" %}
Вивчайте та практикуйте 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">\
Вивчайте та практикуйте 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>Підтримайте HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}