hacktricks/pentesting-web/timing-attacks.md

7.6 KiB
Raw Blame History

Атаки за часом

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}

{% hint style="warning" %} Для отримання глибокого розуміння цієї техніки перегляньте оригінальний звіт з https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work {% endhint %}

Основна інформація

Основна мета атаки за часом полягає в тому, щоб мати можливість відповідати на складні запитання або виявляти приховані функції, просто перевіряючи різницю в часі у відповідях на подібні запити.

Традиційно це було дуже складно через затримки та джиттер, які вводяться як мережею, так і сервером. Однак, з моменту відкриття та вдосконалення атаки Race Condition Single Packet, стало можливим використовувати цю техніку, щоб усунути всі затримки мережі з рівняння.
Залишаючи лише затримки сервера, атака за часом стає легшою для виявлення та зловживання.

Відкриття

Прихована атакувальна поверхня

У блозі коментується, як за допомогою цієї техніки було можливо знайти приховані параметри та навіть заголовки, просто перевіряючи, що щоразу, коли параметр або заголовок були присутні в запиті, була різниця в часі приблизно 5 мс. Насправді, ця техніка відкриття була додана до Param Miner у Burp Suite.

Ці різниці в часі можуть бути викликані тим, що було виконано DNS запит, деякі журнали були записані через недійсний ввід або через те, що деякі перевірки виконуються, коли параметр присутній у запиті.

Щось, що потрібно пам'ятати, коли ви виконуєте такого роду атаки, це те, що через приховану природу поверхні ви можете не знати, яка насправді є справжня причина різниць у часі.

Неправильні налаштування зворотного проксі

У тому ж дослідженні було зазначено, що техніка часу була чудовою для виявлення "обмежених SSRF" (які є SSRF, що можуть отримати доступ лише до дозволених IP/доменів). Просто перевіряючи різницю в часі, коли встановлено дозволений домен в порівнянні з тим, коли встановлено недозволений домен, допомагає виявити відкриті проксі, навіть якщо відповідь однакова.

Коли було виявлено обмежений відкритий проксі, стало можливим знайти дійсні цілі, аналізуючи відомі піддомени цілі, і це дозволило:

  • Обійти брандмауери, отримуючи доступ до обмежених піддоменів через відкритий проксі замість Інтернету
  • Більше того, зловживаючи відкритим проксі, також можливо виявити нові піддомени, доступні лише внутрішньо.
  • Атаки на підробку фронт-енду: Сервери фронт-енду зазвичай додають заголовки для бекенду, такі як X-Forwarded-For або X-Real-IP. Відкриті проксі, які отримують ці заголовки, додадуть їх до запитуваного кінцевого пункту, отже, зловмисник зможе отримати доступ до ще більшої кількості внутрішніх доменів, додаючи ці заголовки зі значеннями, які є в білому списку.

Посилання

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}