Ao longo dos anos a NSA realizou diversos ataques, incluindo o ataque à VPN da Juniper Networks.
Muitas pessoas expressam surpresa, condenação e um pouco de admiração pelas capacidades e ferramentas da NSA. Grande parte disso é injustificada. A NSA possui autoridade legal para acessar recursos aos quais nenhum de nós tem acesso (como os provedores de serviços de internet e backdoors), além de supercomputadores e outros dispositivos poderosos que os auxiliam em seus ataques. Às vezes, no entanto, a NSA faz algo inovador e criativo. É sobre um desses ataques falaremos aqui.
Há alguns anos, especificamente em 2013, a NSA e a GCHQ (a agência britânica equivalente à NSA) implementaram um ataque que ficou conhecido como “Quantum Insert.” Foi usado contra funcionários da OPEP e da Belgacom (serviço de telecomunicações da Bélgica) e é uma variação dos ataques MitM clássicos, mas com um toque especial.
Vamos dar uma olhada e ver se poderíamos fazer o mesmo.
Passo 1: Monitorar/Reconhecer o Alvo
O primeiro passo no ataque Quantum Insert é monitorar/reconhecer o alvo. A NSA tem acesso aos provedores de serviços de internet e pode ver todo o tráfego do alvo. Para um hacker que não seja da NSA, isso provavelmente exigiria estar dentro da rede local.
Por exemplo, se estivermos dentro da LAN do alvo, talvez possamos interceptar o tráfego da rede do alvo. Se conseguirmos fazer isso, podemos usar sniffers como tcpdump ou Wireshark e filtrar pelo endereço IP do alvo. Poderíamos automatizar esse processo colocando o Snort na LAN e escrevendo uma regra para detectar e alertar sobre o tráfego do endereço IP do alvo. Dessa forma, poderíamos desenvolver um padrão de atividade de navegação na web do alvo.
Passo 2: Prever os Hábitos de Navegação do Alvo
Enquanto observamos o alvo, podemos identificar os hábitos de navegação do alvo. Dessa forma, podemos prever quais sites o alvo provavelmente visitará a cada dia. No caso desse ataque da NSA, eles observaram tráfego regular para o LinkedIn e o Slashdot. Com base no que o atacante reconheceu, eles podem começar a desenvolver uma estratégia de hacking apropriada.
Passo 3: Construir um Servidor Web Falso Próximo ao Alvo
Agora que o atacante sabe quais sites o alvo provavelmente visitará, eles podem planejar o ataque. A chave é “inserir” uma resposta HTTP do nosso site falso quando o alvo solicitar o site com uma solicitação HTTP.
Se conseguirmos superar a resposta do site legítimo, o alvo receberá o site falso. Isso é frequentemente chamado de “condição de corrida”. Se a resposta HTTP falsa do atacante chegar ao alvo antes da resposta legítima – mesmo que seja por um milissegundo – o atacante vencerá a corrida e a resposta legítima será descartada quando chegar. Embora o atacante possa não vencer a “condição de corrida” todas as vezes, eles só precisam vencer uma vez.
Claro, precisamos de um servidor web e de uma réplica exata do site legítimo. Quanto mais próxima for a proximidade do servidor web do atacante em relação ao alvo, mais rápido a resposta HTTP chegará ao alvo.
Embora a NSA tenha usado essa condição de corrida, também poderíamos usar o dnsspoof para redirecionar a solicitação do alvo para nosso site, se estivermos na rede local. O problema com essa abordagem é que um administrador de segurança vigilante provavelmente detectará os pacotes do dnsspoof e o servidor web fraudulento na LAN – mas nem todo administrador de segurança é vigilante.
Quando a página falsa chega, ela contém a carga útil/rootkit que é inserida no sistema do alvo. Como sabemos, existem inúmeras vulnerabilidades do Adobe Flash que podemos explorar, bem como quase inúmeras vulnerabilidades do navegador. Teríamos que determinar qual exploit usar com base no nosso reconhecimento/monitoramento no Passo #1. Por exemplo, se determinarmos que o alvo está usando um navegador Firefox, encontraríamos um exploit para o Firefox e o incorporaríamos na página da web que eles solicitam.
Passo 4: Dominar o Sistema!
Agora que a NSA/atacante conseguiu enviar a página maliciosa para o alvo, o rootkit está incorporado no sistema do alvo e o atacante agora controla o sistema do alvo!
Agradecimentos ao WikiLeaks e a Edward Snowden pelos diagramas. Às vezes, podemos aprender observando os exploits bem-sucedidos de outros hackers, e a NSA não é diferente.