O documento descreve técnicas de OSINT (Inteligência de fontes abertas) para descobrir informações sobre a infraestrutura de uma empresa e encontrar possíveis vulnerabilidades para burlar soluções de WAF (Web Application Firewall). As técnicas incluem enumeração de subdomínios, busca em registros Whois, verificação de banners em endereços IP e uso de ferramentas como Shodan e pastebins para vazamento de dados.
1. Utilizando Técnicas de OSINT
para Inutilizar Soluções de
Web Application Firewall
(WAF)
Julio Cesar Stefanutto
2. Julio Cesar Stefanutto
Consultor em Segurança da Informação
● Pentest
● Code Review
● Hardening / Arquitetura de Ambientes
● Threat Intelligence
● Bug Bounty (nas horas vagas)
○ Tesla Hall of Fame
○ Fiat Hall of Fame
3. Alguns pontos importantes
Vamos definir 2 tipos de WAF:
● Como "modulo" ou "inhouse"
○ É um "plugin" do Serviço Web;]
○ Normalmente responde no mesmo ip:porta do Servidor-Final;]
○ Você tem mais controle (teoricamente)
● SaaS
○ Software (WAF) as a Service
○ Normalmente em outra localidade
○ Pode ser um "Appliance contratado"
○ In-a-Box: DDoS, CDN, etc
○ Você tem menos controle sobre ele.
4. Motivações
1. Compartilhamento de Experiências;
2. Reforçar que não existe bala de prata em SI;
3. Gerar conteúdo sobre SI em português;
4. Meu primeiro Pentest de gente grande (aka FULL) tinha WAF.
5. Pra quem interessa esse conteúdo?
● Entusiastas em Segurança da Informação
● Red Team / Pentester
● Blue Team / Sysadmin
● Você
7. Web Application Firewall - Arquitetura
● Intermediario entre Cliente - Servidor
● Atua como "Proxy Reverso"
● Busca proteger contra ataques WEB
conhecidos
(Mas não só TOP 10 OWASP)
● Exploits / Web common attacks /
Assinaturas de ataques
● Pode ter, inclusive, a função de:
○ CDN - Content Delivery Network
- Com Cache de Conteúdo
○ Black List
○ Malware Scanner
○ Sensitive Data Detection (Data Leak)
8. Onde fica o WAF no Modelo OSI ?
WAF
Firewall
Convencional
10. Open Source Intelligence ou Inteligencia de fontes livres
Inteligência em Informações
Dados disponíveis publicamente
Exemplo de Fontes publicas
- Internet
- Mecanismos de Buscas
- Arquivos governamentais
- Jornais/Revistas
11. Onde podemos buscar esses dados?
Indexador de Sites e Conteúdos
GHDB - Google Hacking Database
● Servidores Web
● Arquivos com nomes de usuários
● Arquivos com senhas
● Informações de cartão de crédito
● Mensagens de erro
● Páginas de login
● Vários serviços online
12. Sites de Compartilhamento de Arquivos
Exemplo de Arquivos Compartilhados
● 4Shared
● Mega
● Dropbox
● OneDrive
● Minha Teca
● Docs.com
● etc.
22. Não é sobre atacar o WAF, na verdade,
queremos distância dele.
23. Cenário Hipotético
● Empresa muito visada
○ Nome hipotético:
■ Lorem Ipsum Press
○ Cronologia:
■ Site principal já foi "Pichado" 3 vezes (Por 3 grupos diferentes)
■ Em algum momento eles contrataram um WAF (com CDN, cache, etc...)
■ Empresa continua sendo atacada e tendo períodos de indisponibilidade
24. Missão:
● Descobrir o IP real da aplicação
● Acessar o site sem passar pelo WAF
○ Ou obter o maior número de informações internas possíveis para
elaborar um possível ataque
25. Perguntas que ficaram no ar:
● Todos os sites da empresa estão no WAF?
● Quantos domínios/subdomínios a empresa tem?
● Quem cuida do Desenvolvimento e da Segurança desses sites?
● Ou melhor:
○ Quem deveria cuidar?
26. Começo de tudo: Enumeração
● Subdomínios
○ Onde a empresa hospeda os
seus outros sites:
■ Na própria rede?
■ Nuvem pública
(AWS/Azure/Google)?
○ Enumerar possíveis ranges de
IP
Leitura recomendada:
https://blog.sweepatic.com/art-of-subdomain
-enumeration/
27. Começo de tudo: Enumeração
● Subdomínios
○ Onde a empresa hospeda os
seus outros sites:
■ Na própria rede?
■ Nuvem pública
(AWS/Azure/Google)?
○ Enumerar possíveis ranges de
IP
Leitura recomendada:
https://blog.sweepatic.com/art-of-subdomain
-enumeration/
29. Whois / Registrobr nesses endereços IP's
Buscas por CNPJ com "Informações de Contato":
● Dominios registrados
● Ranges de IP adquiridos
● CNPJ da empresa
● Email dos Responsáveis:
○ Outros Domínios
○ Outros Ranges de IP
○ CNPJ da empresa responsável
30. Que informações eu tenho?
1. Subdomínios do domínio principal
2. Endereços IP's dos sites da empresa
3. Outros Domínios (e seus subdomínios)
4. Ranges de IP da empresa
5. Nome da Empresa Responsável pelo site
a. Domínios
b. Ranges de IP
31. A busca pelo banner perfeito - Nível 1
● Buscar pelo Banner do site em todos os IP's
enumerados anteriormente
● Que falhas estamos buscamos?
○ A aplicação está publicamente acessível
pela internet (diretamente pelo endereço
IP)
○ Falta de bloqueio de acesso à aplicação a
nível de Firewall
32. A busca pelo banner perfeito - Nível 1
● Buscar pelo Banner do site em todos os IP's
enumerados anteriormente
● Que falhas estamos buscamos?
○ A aplicação está publicamente acessível
pela internet (diretamente pelo endereço
IP)
○ Falta de bloqueio de acesso à aplicação a
nível de Firewall
Resultado:
33. A busca pelo banner perfeito - Nível 1
Resultado:
34. A busca pelo banner perfeito - Nível 2
● Nada foi encontrado exposto para a Internet pelo script anterior
● Será que a aplicação só responde via DNS?
○ Um exemplo de cenário:
■ A aplicação compartilha o Endereço IP com outras aplicações
● O Famoso Virtual Hosts (Apache)
● Falhas que estamos buscando
○ A aplicação está publicamente acessível pela internet (mas só responde
via DNS)
○ Falta de bloqueio de acesso à aplicação a nível de Firewall
36. Arquitetura de resolução de DNS
1 - Checa o cache local
(Arquivo hosts está pré-carregado no
cache)
[...]
37. A busca pelo banner perfeito - Nível 2 (agora sim!)
Linha 6 - Define o domínio que estamos buscando
Linha 10 - Colocamos o domínio e o IP no hosts
Exemplo:
Linha 12 - O curl faz a requisição do domínio
(Que esta no hosts)
38. A busca pelo banner perfeito - Nível 2
Resultado:
39. Outras formas de descobrir o IP Real da Aplicação
● Sites que fazem "Timestamp" do seu IP
40. Outras formas de descobrir o IP Real da Aplicação
● Sites que fazem "Timestamp" do seu IP
41. Outras formas de descobrir o IP Real da Aplicação
● Crawlers:
○ Shodan / Censys