Ataques de Tempo

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

warning

Para obter uma compreensão profunda desta técnica, consulte o relatório original em https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work

Informações Básicas

O objetivo básico de um ataque de tempo é basicamente ser capaz de responder a perguntas complicadas ou detectar funcionalidades ocultas apenas verificando as diferenças de tempo nas respostas de solicitações semelhantes.

Tradicionalmente, isso tem sido muito complicado devido à latência e ao jitter introduzidos tanto pela rede quanto pelo servidor. No entanto, desde a descoberta e melhoria do Ataque de Pacote Único de Condição de Corrida, é possível usar essa técnica para remover todos os atrasos de rede da equação.
Deixando apenas os atrasos do servidor, o ataque de tempo se torna mais fácil de descobrir e abusar.

Descobertas

Superfície de Ataque Oculta

No post do blog, é comentado como, usando essa técnica, foi possível encontrar parâmetros ocultos e até cabeçalhos apenas verificando que sempre que o parâmetro ou cabeçalho estava presente na solicitação, havia uma diferença de tempo de cerca de 5ms. Na verdade, essa técnica de descoberta foi adicionada ao Param Miner no Burp Suite.

Essas diferenças de tempo podem ocorrer porque uma solicitação DNS foi realizada, algum log foi escrito devido a uma entrada inválida ou porque alguns verificações são realizadas quando um parâmetro está presente na solicitação.

Algo que você precisa lembrar ao realizar esse tipo de ataque é que, devido à natureza oculta da superfície, você pode não saber qual é a verdadeira causa das diferenças de tempo.

Configurações Incorretas de Proxy Reverso

Na mesma pesquisa, foi compartilhado que a técnica de tempo era ótima para descobrir "SSRFs com escopo" (que são SSRFs que podem acessar apenas IPs/domínios permitidos). Apenas verificando a diferença de tempo quando um domínio permitido é definido em comparação com quando um domínio não permitido é definido ajuda a descobrir proxies abertos, mesmo que a resposta seja a mesma.

Uma vez que um proxy aberto com escopo é descoberto, foi possível encontrar alvos válidos analisando subdomínios conhecidos do alvo e isso permitiu:

  • Contornar firewalls acessando subdomínios restritos via o proxy aberto em vez de pela internet
  • Além disso, abusar de um proxy aberto também é possível para descobrir novos subdomínios acessíveis apenas internamente.
  • Ataques de impersonação de Front-End: Servidores de front-end normalmente adicionam cabeçalhos para o backend, como X-Forwarded-For ou X-Real-IP. Proxies abertos que recebem esses cabeçalhos os adicionarão ao endpoint solicitado, portanto, um atacante poderia acessar ainda mais domínios internos adicionando esses cabeçalhos com valores na lista branca.

Referências

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks