quarta-feira, 22 de julho de 2015

Hacking TRENDnet THA-103AC (Parte 01)

Pessoal,

Eu vou estar começando uma nova série de vídeos sobre o tema de IoT (Internet das Coisas). Nesta série eu vou mostrar a metodologia utilizada para a descoberta e exploração de vulnerabilidades em sistemas embarcados. Eu escolhi começar a série de videos com o "THA-103AC" da TRENDnet.


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

Obrigado :)

Keep Hacking !

quinta-feira, 14 de maio de 2015

ROADSEC 2015

Pessoal!

Mais uma vez estarei palestrando no evento de segurança ROADSEC em Fortaleza. O evento será no IFCE (Av. Treze de Maio 2081) neste sábado (16/05/2015). A minha palestra vai começar as 15h10 (vai ser uma das últimas hehe). Eu vou estar falando um pouco sobre Internet das Coisas e sistemas embarcados (Vou apresentar alguns estudos de casos novos).

Mais informações no link abaixo:

http://roadsec.com.br/fortaleza2015/




domingo, 10 de maio de 2015

Levantamento de Informações com Twitter e Instagram

Eu acredito que todo bom projeto de Pentest começa com uma boa fase de levantamento de informações. É importante passar um bom tempo obtendo informações sobre a topologia de um determinado alvo (Ex: Faixas de endereços, Servidores e Aplicações) e sobre os seus funcionários. Nesta postagem eu queria focar um pouco sobre algumas técnicas bem simples para realizar o levantamento de informações de funcionários de um determinado alvo.

As redes sociais são grandes fontes de informações para a descoberta dos funcionários de um determinando ambiente. É comum ver pessoas publicando informações sensíveis nas redes sociais (na maioria das vezes de forma inconsciente). Exemplos de informações que eu ja encontrei "garimpando" redes sociais durante a etapa de levantamento de informações em alguns projetos:

  • Nome completo e função de funcionário
  • Telefone/ramal de funcionário
  • Crachás de todos os tipos (Ex: Funcionário / Visitante)
  • Fotos do ambiente interno
  • Mensagens de e-mail
  • Informações sobre a rede interna
  • Usuários de sistemas internos
  • Planta do prédio (Não é brincadeira hehe)
  • Entre outros...

Nesta postagem eu vou falar um pouco sobre como podemos utilizar o Twitter e o Instagram para realizar buscas "avançadas" durante o levantamento de informações.

Geolocalização e redes sociais


Acredito que a utilização de geolocalização (Ex: latitude e longitude) nas buscas torna o processo de levantamento de informações bem mais eficiente. O que eu gosto de fazer é primeiro descobrir a localização do prédio de um determinado alvo e obter as suas coordenadas. Eu gosto de utilizar o site abaixo para obter as coordenadas de um local.

http://www.latlong.net/

Podemos "filtrar" as buscas com geolocalização para aumentar a probabilidade de encontrar publicações de funcionários (A ideia é "pegar" os funcionários publicando nas redes sociais de dentro do ambiente corporativo).


Twitter


Geolocalização no Twitter é bem simples e pode ser executado da seguinte forma:

https://twitter.com/search?q=geocode:latitude,longitude,raio

O raio de busca deve ser definido em quilômetros. Por exemplo:

https://twitter.com/search?q=geocode:48.858370,2.294481,1km


Instagram


Eu tenho visto MUITA gente utilizando o Instagram durante o levantamento de informações em alguns projetos e vejo que atualmente ele tem sido uma das principais fontes de "pérolas". Para realizar as buscas de geolocalização do Instagram precisamos chamar funções específicas de sua API. A função abaixo pode ser chamada com as coordenadas desejadas.

https://api.instagram.com/v1/media/search?lat=<latitude>&lng=<longitude>&access_token=ACCESS-TOKEN

O Instagram retorna o resultado da busca em JSON (por isso tem que fazer um trabalho de parsing dos resultados). Para utilizar a API do Instagram você precisa criar uma conta de desenvolvedor (simples de fazer) e depois obter um token de acesso para utilizar as funções de busca. Você pode encontrar a documentação completa da função no link abaixo:

https://instagram.com/developer/endpoints/media/

Conclusão 


Nesta postagem eu falei um pouco sobre levantamento de informações com redes sociais (Twitter e Instagram). A geolocalização é um ótimo parâmetro para otimização de buscas com o objetivo de identificar os funcionários de uma determinada empresa. Por favor escrevam suas sugestões e comentários!

Obrigado :)

Keep Hacking!

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.