
OpenSSH Enumeração de Nome de Usuário - CVE-2016-6210
CVE-2016-6210Postado por Eddie Harari no Full Disclosure http://seclists.org/fulldisclosure/2016/Jul/51
Ao enviar senhas grandes, um usuário remoto pode enumerar usuários em um sistema que executa SSHD. Esse problema existe na maioria das configurações modernas devido ao fato de que leva muito mais tempo para calcular o hash SHA256/SHA512 do que o hash BLOWFISH.
Quando o SSHD tenta autenticar um usuário inexistente, ele utiliza uma estrutura de senha falsa codificada no código-fonte do SSHD. Nessa estrutura de senha codificada, o hash da senha é baseado no algoritmo BLOWFISH ($2). Se as senhas de usuários reais são hashadas usando SHA256/SHA512, então enviar senhas grandes (10KB) resultará em um tempo de resposta mais curto do servidor para usuários inexistentes.
NOTA: O Sr. Harari testou isso no opensshd-7.2p2, enquanto meus testes foram feitos no OpenSSH_6.9p1.
O script atualmente se baseia em uma faixa de desvio de 10-30% para os tempos de resposta de nomes de usuário válidos versus inválidos. Atualmente, apenas valores >20% são aceitos como nomes de usuário válidos e adicionados à lista de saída (fique à vontade para ajustar isso dentro do script). Isso se mostrou eficaz para mim.
Trazendo este projeto do Bitbucket para o GitHub.