quarta-feira, 18 de março de 2015

Analisando TRENDnet THA-101


Nesta postagem eu vou estar apresentando uma análise sobre uma pequena vulnerabilidade que eu encontrei em Outubro de 2014 (mas ainda não tinha parado para escrever sobre ela no blog). O equipamento analisado nesta postagem é o THA-101 da TRENDnet. A vulnerabilidade trata-se de uma senha hardcoded no servidor web do dispositivo.




Analisando o firmware


O firmware do THA-101 analisado (na época) era o v1.01 (disponibilizado na seção de suporte do site da TRENDnet). O primeiro passo da análise foi verificar o conteudo do firmware do dispositivo. O firmware apresenta dois arquivos interessantes (ver figura 01)

Figura 01: Extraindo o firmware

O sistema de arquivos encontra-se no arquivo '3E5000.tar' (ver figura 02).

Figura 02: Sistema de arquivos


Analisando o Servidor Web


Durante a análise estática do servidor web (o binário encontra-se em '/bin/boa'), eu identifiquei uma string suspeita no executável (ver figura 3)

Figura 03: String suspeita

A string suspeita é utilizada pela função 'sub_4739A8' (ver figura 04)

Figura 04: Referências da string suspeita


Disassembly da Função


No disassembly da função 'sub_4739A8' é possível ver que a string suspeita (“3089rp3090”) é comparada com outra string através da função 'strcmp' (ver figura 05).

Figura 05: Disassembly da função (01)


Caso as duas strings sejam iguais, o servidor web redireciona o usuário para a página de upload de firmware: “/adm/upload_firmware.asp” (ver figura 06).

Figura 06: Disassembly da função (02)


Conclusão


Nesta postagem eu apresentei uma pequena análise sobre uma vulnerabilidade (senha hardcoded) presente no THA-101 da TRENDnet. A minha teoria é que os desenvolvedores do dispositivo devem ter esquecido esta funcionalidade ativa no equipamento (a qual era provavelmente utilizada em testes internos). O primeiro contato com a TRENDnet foi realizado em 08/10/2014. A TRENDnet lançou a versão nova do firmware (v1.02) no dia 29/10/2014.

Por favor escrevam suas sugestões e comentários!

Obrigado :)

Keep Hacking!

sábado, 21 de fevereiro de 2015

Palestra: Atacando a internet das coisas

Pessoal,

Divulgando aqui a minha primeira palestra aberta ao público de 2015. O titulo da palestra é "Atacando a Internet das Coisas". A palestra vai estar ocorrendo no próximo sábado (28/02/2015) na Unichristus durante o evento "6º Sábado com TIC".

Nesta palestra eu vou estar falando sobre ataques em sistemas embarcados. Eu vou demonstrar algumas técnicas e exemplos de vulnerabilidades encontradas em alguns sistemas embarcados. Aqui vai o banner do evento para maiores informações.



quarta-feira, 4 de fevereiro de 2015

GitHub Hacking

Nesta postagem eu vou estar falando um pouco sobre o tópico de "GitHub Hacking". Este assunto de explorar métodos públicos de pesquisa ja é um pouco batido (Ex: Google/Bing Hacking), porém, recentemente eu acabei descobrindo algumas das operações "avançadas" do GitHub. Eu vou demonstrar alguns exemplos interessantes de informações que podemos achar no GitHub.

Operadores avançados


Aqui vai a lista de alguns operadores avançados de pesquisa do GitHub
  • extension: pesquisar por um tipo específico de arquivo
  • language: linguagem específica de programação
  • location: localização do usuário/repositório
  • user: apenas arquivos de um determinado autor

Exemplos de utilização


Vamos começar pesquisando por repositórios de um determinado usuário.


Pesquisar por repositórios de um determinado país.


Pesquisar por repositórios em PHP de um determinado país


Procurando arquivos PHP com as palavras "connect" e "senha"




Encontrando vulnerabilidades em aplicações web (Zero Day ?)


 Encontrando senhas de e-mail em arquivos PHP


Chaves privadas !?!?!?!


Arquivos de configurações com senhas !



Conclusões


Nesta postagem foi apresentado a exploração de alguns operadores do GitHub para realizar pesquisas avançadas. Esta postagem é um ótimo exemplo para alertar desenvolvedores sobre os perigos de publicar seus códigos em repositórios públicos na Internet.