SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Utilizando Técnicas de OSINT
para Inutilizar Soluções de
Web Application Firewall
(WAF)
Julio Cesar Stefanutto
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
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.
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.
Pra quem interessa esse conteúdo?
● Entusiastas em Segurança da Informação
● Red Team / Pentester
● Blue Team / Sysadmin
● Você
O que é WAF?
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)
Onde fica o WAF no Modelo OSI ?
WAF
Firewall
Convencional
O que é OSINT?
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
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
Sites de Compartilhamento de Arquivos
Exemplo de Arquivos Compartilhados
● 4Shared
● Mega
● Dropbox
● OneDrive
● Minha Teca
● Docs.com
● etc.
Redes Sociais - O Pote de Ouro (1/5)
● Busca por telefone
Redes Sociais - O Pote de Ouro (2/5)
Redes Sociais - O Pote de Ouro (3/5)
Buscas por:
● Photos liked by [...]
Redes Sociais - O Pote de Ouro (4/5)
StalkScan
Redes Sociais - O Pote de Ouro (5/5)
Buscas por:
● Pages liked by [...]
Mas e quanto a sua Infraestrutura?
Exemplo de Cenário Ruim
Exemplo de Cenário Ruim
Exemplo de Cenário Ruim
Não é sobre atacar o WAF, na verdade,
queremos distância dele.
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
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
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?
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/
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/
Whois / Registrobr nesses endereços IP's
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
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
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
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:
A busca pelo banner perfeito - Nível 1
Resultado:
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
Mas o DNS aponta para o WAF!!
Arquitetura de resolução de DNS
1 - Checa o cache local
(Arquivo hosts está pré-carregado no
cache)
[...]
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)
A busca pelo banner perfeito - Nível 2
Resultado:
Outras formas de descobrir o IP Real da Aplicação
● Sites que fazem "Timestamp" do seu IP
Outras formas de descobrir o IP Real da Aplicação
● Sites que fazem "Timestamp" do seu IP
Outras formas de descobrir o IP Real da Aplicação
● Crawlers:
○ Shodan / Censys
Github é uma faca de dois gumes:
Sites de vazamento de dados:
● Pastebin
Sites de vazamento de dados:
Sites de vazamento de dados:
"WAF acaba sendo apenas mais uma camada
de proteção se todo o resto é negligenciado"
Obrigado!
Contato:
Julio Cesar Stefanutto
jcesarstef@gmail.com
https://twitter.com/jcesarstef
https://www.linkedin.com/in/jcesa
rstef

Mais conteúdo relacionado

Semelhante a Técnicas OSINT para contornar WAF

PHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesPHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesrjsmelo
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesBruno Alexandre
 
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011Eduardo Souza
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvemIgnacio Nin
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0Ale Uehara
 
See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010Marcelo Fleury
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name systemMariana Amorim
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Informática aplicada à engenharia i
Informática aplicada à engenharia iInformática aplicada à engenharia i
Informática aplicada à engenharia iDavid Hansen
 
Trabalho de Auditoria e Segurança - Gloogle Hacking
Trabalho de Auditoria e Segurança - Gloogle HackingTrabalho de Auditoria e Segurança - Gloogle Hacking
Trabalho de Auditoria e Segurança - Gloogle HackingAndré Valbert de Jesus Alves
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapClavis Segurança da Informação
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 

Semelhante a Técnicas OSINT para contornar WAF (20)

PHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesPHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicações
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
 
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvem
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0
 
See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name system
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Informática aplicada à engenharia i
Informática aplicada à engenharia iInformática aplicada à engenharia i
Informática aplicada à engenharia i
 
Casa hacker openwrt
Casa hacker openwrtCasa hacker openwrt
Casa hacker openwrt
 
Trabalho de Auditoria e Segurança - Gloogle Hacking
Trabalho de Auditoria e Segurança - Gloogle HackingTrabalho de Auditoria e Segurança - Gloogle Hacking
Trabalho de Auditoria e Segurança - Gloogle Hacking
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Kali linux
Kali linux Kali linux
Kali linux
 

Técnicas OSINT para contornar WAF

  • 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ê
  • 6. O que é WAF?
  • 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
  • 9. O que é OSINT?
  • 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.
  • 13. Redes Sociais - O Pote de Ouro (1/5) ● Busca por telefone
  • 14. Redes Sociais - O Pote de Ouro (2/5)
  • 15. Redes Sociais - O Pote de Ouro (3/5) Buscas por: ● Photos liked by [...]
  • 16. Redes Sociais - O Pote de Ouro (4/5) StalkScan
  • 17. Redes Sociais - O Pote de Ouro (5/5) Buscas por: ● Pages liked by [...]
  • 18. Mas e quanto a sua Infraestrutura?
  • 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/
  • 28. Whois / Registrobr nesses endereços IP's
  • 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
  • 35. Mas o DNS aponta para o WAF!!
  • 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
  • 42. Github é uma faca de dois gumes:
  • 43. Sites de vazamento de dados: ● Pastebin
  • 44. Sites de vazamento de dados:
  • 45. Sites de vazamento de dados:
  • 46. "WAF acaba sendo apenas mais uma camada de proteção se todo o resto é negligenciado"