AWS - WAF Enum
AWS - Enumeração do WAF
AWS WAF
O AWS WAF é um firewall de aplicativos da web projetado para proteger aplicativos da web ou APIs contra vários exploits da web que podem afetar sua disponibilidade, segurança ou consumo de recursos. Ele capacita os usuários a controlar o tráfego de entrada configurando regras de segurança que mitigam vetores de ataque típicos como injeção de SQL ou scripts entre sites e também definindo regras de filtragem personalizadas.
Critérios de Monitoramento (Condições)
As condições especificam os elementos das solicitações HTTP/HTTPS de entrada que o AWS WAF monitora, que incluem XSS, localização geográfica (GEO), endereços IP, restrições de tamanho, injeção de SQL e padrões (correspondência de strings e regex). É importante observar que as solicitações restritas no nível do CloudFront com base no país não alcançarão o WAF.
Cada conta da AWS pode configurar:
100 condições para cada tipo (exceto para Regex, onde apenas 10 condições são permitidas, mas esse limite pode ser aumentado).
100 regras e 50 Web ACLs.
Um máximo de 5 regras baseadas em taxa.
Uma taxa de transferência de 10.000 solicitações por segundo quando o WAF é implementado com um balanceador de carga de aplicativo.
Configuração de Regras
As regras são elaboradas usando as condições especificadas. Por exemplo, uma regra pode bloquear uma solicitação se ela atender a 2 condições específicas. Existem dois tipos de regras:
Regra Regular: Regra padrão baseada em condições especificadas.
Regra Baseada em Taxa: Conta solicitações de um endereço IP específico ao longo de um período de cinco minutos. Aqui, os usuários definem um limite, e se o número de solicitações de um IP exceder esse limite dentro de cinco minutos, as solicitações subsequentes desse IP são bloqueadas até que a taxa de solicitação caia abaixo do limite. O limite mínimo para regras baseadas em taxa é de 2000 solicitações.
Ações
As ações são atribuídas a cada regra, com opções sendo Permitir, Bloquear ou Contar:
Permitir: A solicitação é encaminhada para a distribuição CloudFront apropriada ou Balanceador de Carga de Aplicativos.
Bloquear: A solicitação é encerrada imediatamente.
Contar: Contabiliza as solicitações que atendem às condições da regra. Isso é útil para testar a regra, confirmando a precisão da regra antes de defini-la como Permitir ou Bloquear.
Se uma solicitação não corresponder a nenhuma regra dentro do Web ACL, ela passará pela ação padrão (Permitir ou Bloquear). A ordem de execução das regras, definida dentro de um Web ACL, é crucial e geralmente segue esta sequência:
Permitir IPs na lista branca.
Bloquear IPs na lista negra.
Bloquear solicitações que correspondam a quaisquer assinaturas prejudiciais.
Integração com o CloudWatch
O AWS WAF se integra ao CloudWatch para monitoramento, oferecendo métricas como Solicitações Permitidas, Solicitações Bloqueadas, Solicitações Contadas e Solicitações Passadas. Essas métricas são relatadas a cada minuto por padrão e retidas por um período de duas semanas.
Enumeração
O escopo também pode ser CLOUDFRONT, mas ao verificar um WAF não relacionado ao Cloudfront, é necessário usar REGIONAL.
Pós-Exploração / Bypass
Do ponto de vista de um atacante, este serviço pode ajudar o atacante a identificar proteções do WAF e exposições de rede que poderiam ajudá-lo a comprometer outros sites.
No entanto, um atacante também pode estar interessado em interromper este serviço para que os sites não sejam protegidos pelo WAF.
TODO: Pull Requests são bem-vindos
Referências
https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application.
Última actualización