AWS - WAF Enum

AWS - WAF Enum

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

AWS WAF

AWS WAF - це веб-брандмауер, призначений для захисту веб-додатків або API від різних веб-експлойтів, які можуть вплинути на їх доступність, безпеку або споживання ресурсів. Він дозволяє користувачам контролювати вхідний трафік, налаштовуючи правила безпеки, які пом'якшують типові вектори атак, такі як SQL-ін'єкція або міжсайтовий скриптінг, а також визначаючи власні правила фільтрації.

Критерії моніторингу (Умови)

Умови вказують елементи вхідних запитів HTTP/HTTPS, які моніторить AWS WAF, включаючи XSS, географічне розташування (GEO), IP-адреси, обмеження за розміром, SQL-ін'єкцію та шаблони (відповідність рядків та регулярні вирази). Важливо зауважити, що запити, обмежені на рівні CloudFront за країною, не досягнуть WAF.

Кожен обліковий запис AWS може налаштувати:

  • 100 умов для кожного типу (крім Regex, де дозволяється лише 10 умов, але це обмеження можна збільшити).

  • 100 правил та 50 веб-ACL.

  • Максимум 5 правил на основі швидкості.

  • Пропускну здатність 10 000 запитів на секунду, коли WAF реалізований з балансувальником навантаження додатків.

Налаштування правил

Правила створюються за допомогою вказаних умов. Наприклад, правило може блокувати запит, якщо воно відповідає 2 конкретним умовам. Існують два типи правил:

  1. Звичайне правило: Стандартне правило на основі вказаних умов.

  2. Правило на основі швидкості: Підраховує запити з певної IP-адреси протягом п'ятихвилинного періоду. Тут користувачі визначають поріг, і якщо кількість запитів з IP перевищує цей ліміт протягом п'яти хвилин, наступні запити з цієї IP-адреси блокуються, поки швидкість запитів не знизиться нижче порогу. Мінімальний поріг для правил на основі швидкості - 2000 запитів.

Дії

До кожного правила призначаються дії, з варіантами Дозволити, Заблокувати або Порахувати:

  • Дозволити: Запит переадресовується на відповідний розподільник CloudFront або балансувальник навантаження додатків.

  • Заблокувати: Запит негайно припиняється.

  • Порахувати: Підраховує запити, які відповідають умовам правила. Це корисно для тестування правила, підтверджуючи точність правила перед встановленням його на Дозволити або Заблокувати.

Якщо запит не відповідає жодному правилу в межах веб-ACL, він проходить стандартну дію (Дозволити або Заблокувати). Порядок виконання правил, визначений в межах веб-ACL, є важливим і зазвичай слідує цій послідовності:

  1. Дозволити IP-адреси з білого списку.

  2. Заблокувати IP-адреси з чорного списку.

  3. Блокувати запити, які відповідають будь-яким шкідливим підписам.

Інтеграція з CloudWatch

AWS WAF інтегрується з CloudWatch для моніторингу, пропонуючи метрики, такі як AllowedRequests, BlockedRequests, CountedRequests та PassedRequests. Ці метрики повідомляються кожну хвилину за замовчуванням і зберігаються протягом двох тижнів.

Перелік

Обсяг також може бути CLOUDFRONT, але при перевірці WAF, не пов'язаного з CLoudfront, потрібно використовувати REGIONAL.

# Get web acls
aws wafv2 list-web-acls --scope REGIONAL
aws wafv2 get-web-acl --scope REGIONAL --name <name> --id <id>
aws wafv2 list-resources-for-web-acl --web-acl-arn <web-acl-arn> #Resources associated with the ACL
aws wafv2 get-web-acl-for-resource --resource-arn <arn> # Get web acl of the resource

# Rule groups
aws wafv2 list-rule-groups --scope REGIONAL
aws wafv2 get-rule-group --scope REGIONAL --name <name> --id <id>

# Get IP sets
aws wafv2 list-ip-sets --scope=REGIONAL
aws wafv2 get-ip-set --scope=REGIONAL --name <name> --id <id>

# Get regex patterns
aws wafv2 list-regex-pattern-sets --scope REGIONAL

# Get logging config (buckets storing the logs)
aws wafv2 list-logging-configurations --scope=REGIONAL

Пост-експлуатація / Обхід

З погляду атакувальника, ця служба може допомогти атакувальнику виявити захист WAF та мережеві вразливості, які можуть допомогти йому скомпрометувати інші веб-сайти.

Однак атакувальник також може бути зацікавлений у розрушенні цієї служби, щоб веб-сайти не були захищені WAF.

TODO: Pull Requests вітаються

Посилання

  • https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application.

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated