AWS - WAF Enum

AWS - WAF Enum

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

AWS WAF

AWS WAF to zapora aplikacji internetowych zaprojektowana do ochrony aplikacji internetowych lub interfejsów API przed różnymi atakami internetowymi, które mogą wpływać na ich dostępność, bezpieczeństwo lub zużycie zasobów. Użytkownicy mogą kontrolować przychodzący ruch, ustawiając zasady bezpieczeństwa, które łagodzą typowe wektory ataku, takie jak wstrzyknięcie SQL lub skryptowanie międzywitrynowe, a także definiując niestandardowe zasady filtrowania.

Kryteria monitorowania (warunki)

Warunki określają elementy przychodzących żądań HTTP/HTTPS, które monitoruje AWS WAF, w tym XSS, lokalizację geograficzną (GEO), adresy IP, ograniczenia rozmiaru, wstrzyknięcie SQL i wzorce (dopasowanie ciągów i wyrażeń regularnych). Ważne jest zauważenie, że żądania ograniczone na poziomie CloudFront na podstawie kraju nie dotrą do WAF.

Każde konto AWS może skonfigurować:

  • 100 warunków dla każdego typu (z wyjątkiem wyrażeń regularnych, gdzie dozwolone jest tylko 10 warunków, ale ten limit można zwiększyć).

  • 100 zasad i 50 Web ACL.

  • Maksymalnie 5 zasad opartych na częstości.

  • Przepustowość 10 000 żądań na sekundę, gdy WAF jest wdrożony z balanserem obciążenia aplikacji.

Konfiguracja zasad

Zasady są tworzone przy użyciu określonych warunków. Na przykład, zasada może blokować żądanie, jeśli spełnia 2 konkretne warunki. Istnieją dwa rodzaje zasad:

  1. Zasada standardowa: Standardowa zasada oparta na określonych warunkach.

  2. Zasada oparta na częstości: Liczy żądania z określonego adresu IP przez okres pięciu minut. Użytkownicy określają próg, i jeśli liczba żądań z danego adresu IP przekracza ten limit w ciągu pięciu minut, kolejne żądania z tego adresu IP są blokowane, dopóki częstość żądań nie spadnie poniżej progu. Minimalny próg dla zasad opartych na częstości to 2000 żądań.

Działania

Działania są przypisywane do każdej zasady, a opcje to Allow, Block lub Count:

  • Allow: Żądanie jest przekazywane do odpowiedniego rozprowadzenia CloudFront lub balansera obciążenia aplikacji.

  • Block: Żądanie jest natychmiastowo zakończone.

  • Count: Liczy żądania spełniające warunki zasady. Jest to przydatne do testowania zasad, potwierdzania dokładności zasady przed ustawieniem jej na Allow lub Block.

Jeśli żądanie nie pasuje do żadnej zasady w Web ACL, podlega domyślnej akcji (Allow lub Block). Kolejność wykonywania zasad, zdefiniowana w ramach Web ACL, jest istotna i zazwyczaj podąża za tą sekwencją:

  1. Pozwól na adresy IP z białej listy.

  2. Zablokuj adresy IP z czarnej listy.

  3. Zablokuj żądania pasujące do jakichkolwiek szkodliwych sygnatur.

Integracja z CloudWatch

AWS WAF integruje się z CloudWatch w celu monitorowania, oferując metryki takie jak AllowedRequests, BlockedRequests, CountedRequests i PassedRequests. Te metryki są raportowane domyślnie co minutę i przechowywane przez okres dwóch tygodni.

Wyliczenie

Zakres może również być CLOUDFRONT, ale przy sprawdzaniu WAF niezwiązanego z CloudFront należy użyć 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

Post Exploitation / Bypass

Z perspektywy atakującego, ta usługa może pomóc atakującemu zidentyfikować ochronę WAF i narażenia sieciowe, które mogą mu pomóc w kompromitacji innych stron internetowych.

Jednak atakujący może również być zainteresowany zakłóceniem tej usługi, aby strony nie były chronione przez WAF.

TODO: PRy są mile widziane

References

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

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated