Break Into THC4... EkoParty Here We Go...

Aqui na Tempest, desde o ano passado foi criada uma política de incentivo interno para a galera que trabalha aqui, e um dos frutos dessa nova política chama-se THC (Tempest Hacking Challenge), que é um desafio no estilo capture the flag criado por um dos nossos diretores Marco "Kiko" Carnut com o objetivo de premiar os vencedores com passagens, hospedagem e ingresso para algum evento de segurança da informação tudo pago pela Tempest. Na semana passada foi dado início a uma nova edição do THC onde, dessa vez carimbava o passaporte dos campeões para EkoParty 2011 que acontecerá em Buenos Aires (Argentina) nos dias 21, 22 e 23 de setembro!

Às 19:30 do dia 31/08 Kiko enviou um e-mail para lista interna da Tempest avisando que o THC4 estava no ar. Dessa vez o desafio era burlar um formulário de login e os competidores tinham até as 15:00 horas do dia 02/09 para enviar os resultados ou os "passaportes da alegria" seriam sorteados.

A aplicação foi disponibilizada na seguinte URL:

http://thc4.tempest.com.br/

A imagem a seguir ilustra o formulário de autenticação que deveria ser burlado:

Observando o formulário de login, a primeira coisa que tentei foi encontrar vulnerabilidades de validação de entrada... sem sucesso. Em seguida, eu cadastrei um usuário na aplicação para autenticar-me e ver se tinha alguma informação interessante. Os passos de criação do usuário e o login na aplicação são ilustrados nas imagens a seguir:

Criando um usuário:

Autenticando-se na aplicação:

Como pode ser observado, não foi fornecido nenhuma informação interessante ou relevante... então, esse não era o caminho...

O próximo passo foi realizar uma varredura de diretórios na aplicação, oque revelou um diretório interessante: /state/ (BINGO!). Ao acessar esse diretório, encontrei mais 2 diretórios: /history/ e /users/. Quando acessei o diretório /users/ percebi que haviam várias pastas, inclusive uma pasta com o nome do usuário que eu criei: pimpao. Quando acessei o diretório /state/users/pimpao/ encontrei uma pasta onde o nome era um hash md5 e um arquivo com o nome email onde seu conteúdo era o e-mail que cadastrei. O próximo passo foi verificar se o hash md5 que encontrei era a senha que eu havia cadastrado (12345678), e de fato era.

Observando isso comecei a procurar pelos usuários (diretórios) que foram criados perto do horário em que Kiko disponibilizou a aplicação, ou seja 19:30 do dia 31/08. Dessa forma encontrei 4 usuários interessantes: sicrano, fulano, myakoshi e aurelian. Aparentemente esses eram os usuários que possuíam troféus. O instinto imediato, foi pegar o hash de todos esses usuários e tentar quebrá-los (acho que o instinto de todo mundo que tava participando rsrsrs)... sem sucesso...

As vezes não é força... é jeito!

Então, verifiquei quais os e-mails que estavam cadastrados para esses usuários, e percebi que o e-mail cadastrado para o usuário myakoshi era [email protected]. Sem confiar muito, acessei a página do hotmail e fui verificar se esse e-mail estava cadastrado, e para minha surpresa não estava! Observando isso, rapidamente cadastrei esse e-mail e fui tentar utilizar a funcionalidade de recuperar senha da aplicação. A imagem a seguir ilustra essa etapa:

Após isso, acessei o e-mail que havia acabado de cadastrar ([email protected]) e na caixa de entrada estava o e-mail com a senha recuperada. A imagem a seguir ilustra essa etapa:

Então, tentei acessar a aplicação com o usuário myakoshi e a senha recuperada. A imagem a seguir ilustra o resultado:

WIN!!! :D

Com isso, consegui conquistar uma das vagas para EkoParty 2011 e ser um dos campeões da quarta edição do Tempest Hacking Challenge!!

EkoParty 2011... Here we go!!!

O que eu acho legal nos THCs é que o Kiko sempre procura colocar uma vulnerabilidade "diferente" do "feijão-com-arroz" de SQLi, XSS, etc. Esse caso é um exemplo perfeito de como o recurso de "trocar senha" junto com uma conta de email antiga que expirou ou nunca foi criada pode se tornar uma porta de entrada.

Próxima parte

Comentários
Aceita-se formatação à la TWiki. HTML e scripts são filtrados. Máximo 15KiB.

 
Enviando... por favor aguarde...
Comentário enviado com suceso -- obrigado.
Ele aparecerá quando os moderadores o aprovarem.
Houve uma falha no envio do formulário!
Deixei uma nota para os admins verificarem o problema.
Perdoe-nos o transtorno. Por favor tente novamente mais tarde.
Dimmy Magalhães | 2011-09-29 10:24:36 | permalink | topo

Nem sempre a força é o caminho. Good, parabéns!