O documento discute vários tipos de ataques client-side como XSS, JSON Hijacking e DNS Pinning e seus impactos na confidencialidade, disponibilidade e integridade. Também apresenta vetores interessantes como clipboard e network discovery usando o framework BeEF, além de técnicas como cache poisoning e uso indevido de Google Tag Manager. Por fim, aborda medidas de proteção como Content Security Policy e Sub Resource Integrity.
5. CONFIDENCIALIDADE
▸ Acesso a dados sensíveis na máquina da vítima
▸ Sequestro de sessão e comprometimento da conta
▸ Acesso a histórico de navegação
▸ Análise de comportamento da vítima
6. DISPONIBILIDADE
▸ Causar indisponibilidade por consumo excessivo de
recursos
▸ Disparar uma série de eventos como poup-up para
advertisement
▸ Gerar múltiplas requisições de DNS e causar um flood
7. INTEGRIDADE
▸ Hospedar malwares do tipo drive-by-download
▸ Controlar completamente o navegador da vítima (BeEF)
▸ Explorar vulnerabilidades de remote code execution na
máquina (BeEF + Metasploit)
9. CLIPBOARD
‣ O clipboard da máquina sempre contem informações
interessantes
‣ O BeEF possui um módulo para capturar essas informações
https://github.com/beefproject/beef/wiki/Network-Discovery
10. NETWORK DISCOVERY
A partir de um vetor de XSS/HTML injection você pode
carregar o BeEF e descobrir os hosts e serviços da rede
interna
https://github.com/beefproject/beef/wiki/Network-Discovery
11. TUNNELING
Use o navegador da vitima “hookado" pelo BeEF como túnel
para analisar a aplicação com as credenciais do usuário
https://github.com/beefproject/beef/wiki/Tunneling
12. GAME OVER
O BeEF tem integração com o metasploit e pode ser
executado direto da console
https://github.com/beefproject/beef/wiki/Metasploit
13. CACHE POISONING
CACHES.OPEN('PREFETCH-CACHE-V1').THEN(FUNCTION(CACHE){CACHE.PUT(NEW
REQUEST('INDEX.HTML', {MODE: 'NO-CORS'}), NEW
RESPONSE('X3CSCRIPT>ALERT(1)X3C/SCRIPT>', {HEADERS: {'CONTENT-TYPE': 'TEXT/
HTML'}}))})
O service worker do navegador sempre vai dar prioridade
ao conteúdo em cache, portanto podemos armazenar um
script que será executado sempre que carregar essa página
http://sirdarckcat.blogspot.com.br/2015/05/service-workers-new-apis-new-vulns-fun.html
14. GOOGLE TAG MANAGER
Através do comprometimento de uma conta no Google Tag
Manager você pode inserir scripts que serão carregados na
página da vítima
16. CONTENT SECURITY POLICY (CSP)
‣ Header HTTP que implementa políticas de renderização no
navegador
‣ Políticas muito elaboradas que vão desde de controle de
acesso a que script e origem é permitido executar
https://github.com/beefproject/beef/wiki/Network-Discovery