sexta-feira, 25 de novembro de 2016

Palestra + Workshop: E-FASE 2016

Pessoal,

Nesta segunda-feira (28/11), eu estarei no evento "E-FASE 2016" em Aracaju (Sergipe). Eu vou ministrar um workshop sobre "Introdução a Pentest" e também vou realizar uma palestra sobre o tema de SDR (Software Defined Radio). 

As inscrições podem ser realizadas pelo link: E-FASE 2016





terça-feira, 25 de outubro de 2016

MorphusLabs: Domain Hijacking (Parte 01)

Pessoal,

Compartilhando um artigo escrito com o Renato Marinho no Morphus Labs.

Domain Hijacking (Versão: Inglês)
Domain Hijacking (Versão: Português)

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

Obrigado :)

Keep Hacking !


terça-feira, 18 de outubro de 2016

Treinamento: Reversing RF Signals with SDR 101 (BSides SP)

Pessoal,

Eu estarei ministrando o treinamento "Reversing RF Signals with SDR 101" na BSides São Paulo. Neste treinamento eu vou apresentar uma introdução ao tópico de SDR e demonstrar uma metodologia para engenharia reversa de sinais de rádio frequência. A conferência vai ocorrer nos dias 19 e 20 de Novembro na PUC-SP. 

Para maiores informações: http://sp13.securitybsides.com.br


quinta-feira, 22 de setembro de 2016

Jamming com Yard Stick + RfCat

Pessoal,

Nesta postagem temos uma demonstração de Jamming com Yard Stick e RfCat.


*** Este video foi criado para fins educacionais :) ***

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

Obrigado :)

Keep Hacking !

sexta-feira, 26 de agosto de 2016

Palestra: BWCON

Pessoal,

Eu estarei palestrando em Recife na BWCON neste sábado (27/08). A palestra vai ser sobre análise de vulnerabilidades em equipamentos embarcados (Internet das Coisas). Vou apresentar uma metodologia de análise e algumas vulnerabilidades encontradas em produtos (Ex: Roteadores, Câmeras, DVRs). 

Para maiores informações, acessar a URL oficial do evento:

http://bwcon.com.br/


sexta-feira, 29 de julho de 2016

Análise: Padrões de Senhas

Nesta postagem eu vou apresentar uma análise sobre padrões de senhas.


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

Obrigado :)

Keep Hacking !

segunda-feira, 27 de junho de 2016

Hacking IoT: Roteador Kross KP8696X (Parte 03)

Pessoal,

Nesta postagem eu vou apresentar a parte final da análise do roteador KP8696X.

Resumo da parte 02:
  1. Serviço de TFTP habilitado por padrão: Possível realizar o download do arquivo de configuração do roteador sem qualquer autenticação (o arquivo contém informações sensíveis como as credenciais do servidor web e rede wifi)
  2. Falta de autenticação em diversas páginas do servidor web: Algumas páginas de configuração do servidor web do roteador podem ser acessadas diretamente sem a necessidade de autenticar o cliente.
Link para a segunda parte: Kross KP8696X (Parte 02)

Analisando o Hardware

A próximo etapa da análise consistiu em verificar o hardware do roteador. A figura 01 apresenta o roteador aberto (sem a tampa superior) e podemos ver a presença de uma porta serial UART.

Figura 01: Porta serial (UART)

O esquema de pinos identificado foi (da esquerda para direita):
  • Pino 1: Terra
  • Pino 2: Fonte (VCC)
  • Pino 3: RX
  • Pino 4: TX

O processo de boot do roteador pode ser verificado através do acesso via porta serial. Para acessar o menu de boot, precisamos apertar ESC no inicio da ativação do dispositivo. O menu apresenta alguns comandos que foram importantes para o estudo. A partir do comando ‘info’, podemos identificar alguns endereços de memória e o tamanho da memória flash (figura 02).

Figura 02: Menu de boot

Podemos utilizar o comando ‘d’ para realizar dump de memória (figura 03) !

Figura 03: Menu de boot (Dump de bytes)

O próximo passo foi realizar um dump da memória (Application Address: 0x9FC10000) com o comando ‘d’ e utilizar um script em python para converter os caracteres em hexa para um arquivo em binário (‘dump.bin’).

Figura 04: Realizando o dump de memória

Podemos agora realizar algumas pesquisas no arquivo binário ‘dump.bin’. Algumas strings interessantes foram encontradas (Figuras 05, 06 e 07). Estas strings representam páginas utilizadas pelo servidor web do roteador que recebem comandos como parâmetros de entrada. Estas páginas podem ser utilizadas para execução de comandos remotos no roteador.

Figura 05: Strings encontradas no dump de memória

Figura 06: Strings encontradas no dump de memória (2)

Figura 07: Strings encontradas no dump de memória (3)

Conclusão

Nesta postagem eu apresentei a terceira parte de uma análise realizada no roteador KP8696X da Kross. Principais pontos identificados nesta análise:
  1. Acesso via porta serial (UART): Conexão serial via UART encontra-se habilitada no equipamento por padrão. A partir desta conexão, é possível ter acesso ao processo de boot do roteador e realizar um dump de memória do equipamento.
  2. Command Injection no servidor web: Comandos de shell podem ser executados diretamente no servidor web em algumas páginas encontradas do dump de memória do roteador.
O fabricante foi informado em novembro de 2015 sobre todas as vulnerabilidades identificadas neste estudo. O novo firmware (v1.00.07) foi lançado pelo fabricante em Janeiro de 2016.

Keep Hacking :)

quarta-feira, 1 de junho de 2016

Hacking IoT: Roteador Kross KP8696X (Parte 02)

Pessoal,

Nesta postagem eu vou continuar a análise do roteador KP8696X da Kross.

Resumo da parte 01:
  1. Serviço de Telnet habilitado por padrão (23/TCP)
  2. Conta secreta de administrador (Backdoor) presente no dispositivo.
  3. Senha de backdoor = 4 últimos números do endereço MAC + string "airocon"
Link para a primeira parte: Kross KP8696X (Parte 01)

Explorando o serviço de TFTP

O comando "show processes" no serviço de Telnet apresenta todos os processos sendo executados no dispositivo (a figura 01 demonstra a existência de um serviço de TFTP sendo executado no roteador por padrão).

Figura 01: Lista de processos sendo executados
A figura 02 apresenta os arquivos de configuração sendo utilizados pelo roteador.

Figura 02: Arquivos de configurações
Podemos utilizar o serviço de TFTP para realizar o download destes arquivos (figura 03). O serviço de TFTP não exige autenticação do usuário (portanto os arquivos de configurações podem ser obtidos remotamente por qualquer usuário da rede local).

Figura 03: Obtendo arquivo de configuração
A figura 04 apresenta o conteúdo do arquivo de configuração “wscd.conf”. Este arquivo contém informações sensíveis como as senhas da rede sem fio (WPA/WPA2), a senha do servidor web e número de PIN (WPS).

Figura 04: Arquivo de configuração "wscd.conf"

Analisando o servidor web

O servidor Telnet apresenta um comando "show web” que permite listar os arquivos utilizados pelo servidor web. A figura 05 apresenta alguns dos arquivos presentes na aplicação web do roteador.

Figura 05: Paginas do servidor web
Um script em python foi criado para acessar diretamente todas páginas listadas pelo comando ‘show web’. A figura 06 mostra que algumas páginas de configurações do servidor web podem ser acessadas sem autenticação (Ex: um atacante pode acessar a página ‘wizard_setup.htm’ sem autenticação e alterar informações como o ESSID e a senha do roteador).

Figura 06: Páginas de configurações acessadas sem autenticação

Conclusão

Nesta postagem eu apresentei a segunda parte de uma análise realizada no roteador KP8696X da Kross. Principais pontos identificados nesta análise:

  1. Serviço de TFTP rodando por padrão: Arquivo de configuração do roteador (contendo informações sensíveis como credenciais) pode ser obtido sem autenticação por qualquer usuário na rede local. 
  2. Falta de autenticação no servidor web: Diversas páginas de configuração do roteador podem ser acessadas diretamente sem autenticação no servidor web.

A versão v1.00.06 do firmware apresenta o serviço de Telnet habilitado por padrão e uma conta de backdoor habilitada no dispositivo. O fabricante foi informado em novembro de 2015. O novo firmware (v1.00.07) foi lançado em Janeiro de 2016.

Keep Hacking :)

quarta-feira, 4 de maio de 2016

Hacking IoT: Roteador Kross KP8696X (Parte 01)

Pessoal,

Nesta postagem eu vou apresentar uma análise do roteador KP8696X da Kross.

Observações:

A configuração padrão de fábrica do dispositivo foi utilizada em todos os testes.
  • Firmware: 1.00.06 (Versão de fábrica)
  • IP padrão: 192.168.1.254
  • Endereço MAC: XX:XX:XX:XX:17:97 (lembrar dos 2 últimos bytes)
  • Senha padrão: admin / <vazio>


Análise Inicial


O primeiro passo da análise dinâmica foi realizar uma varredura de portas no dispositivo. A figura 01 apresenta as portas TCP encontradas abertas no roteador.

Figura 01: Portas abertas TCP (Nmap)
Podemos verificar a existência de três serviços sendo executados:
  1. Porta 23/TCP: Serviço de Telnet habilitado por padrão no dispositivo.
  2. Porta 80/TCP: Aplicação web padrão de controle do roteador
  3. Porta 5431/TCP: Servidor UPnP (Universal Plug and Play)

Levantamento de informações com Telnet


O segundo passo da análise dinâmica foi acessar o serviço de Telnet encontrado na etapa anterior. O serviço pode ser acessado utilizando a senha padrão: “admin/<vazio>”. A figura 2 apresenta o acesso inicial ao serviço de Telnet e o menu de comandos. 

Figura 02: Acesso ao serviço de Telnet
A partir do acesso obtido através de Telnet, é possível obter diversas informações sobre o roteador. A figura 3 apresenta as conexões TCP existentes no dispositivo (podemos confirmar os resultados obtidos na varredura de portas e também encontramos um segundo serviço de UPnP rodando na porta 55001/TCP).

Figura 03: Listando conexões TCP

Conta de Backdoor em serviço de Telnet


O roteador apresenta uma segunda credencial utilizada com a conta “admin”. Através do comando “login show”, podemos ver a senha padrão (em texto claro) utilizada: “1797airocon”.

Figura 04: Senha "secreta" de administrador
Esta senha é utilizada por uma conta “secreta” de administrador (backdoor) no roteador. A figura 5 mostra um trecho do arquivo de configuração obtido na aplicação web do roteador. Podemos ver a presença de duas contas “admin” (segunda conta tem o atributo “BACKDOOR” com valor 0x1)

Figura 05: Conta de backdoor no roteador
A senha de backdoor é gerada dinamicamente utilizado os últimos quatro números do endereço MAC do roteador. Eu acabei realizando o mesmo teste com outro exemplar do roteador e comprovei a utilização dos últimos dígitos do endereço MAC para gerar a senha de backdoor. Esta informação seria facilmente obtida através de uma simples requisição ARP ou realizando um ataque de força-bruta. A figura 06 demonstra a conta de backdoor em um segundo dispositivo.

Figura 06: Conta de backdoor no segundo roteador

Conclusão


Nesta postagem eu apresentei a primeira parte de uma análise realizada no roteador KP8696X da Kross. A versão v1.00.06 do firmware apresenta o serviço de Telnet habilitado por padrão e uma conta de backdoor habilitada no dispositivo. O fabricante foi informado em novembro de 2015. O novo firmware (v1.00.07) foi lançado em Janeiro de 2016.

Keep Hacking :)

sábado, 16 de abril de 2016

Palestra: EmNomeDo.py (Roadsec Teresina)

Pessoal,

Hoje eu estarei apresentando a palestra "EmNomeDo.py" no ROADSEC em Teresina ! Nesta palestra eu vou estar falando sobre a linguagem de programação Python e aplicações para as áreas de segurança da informação e redes de computadores. A palestra vai realizada na faculdade Mauricio de Nassau (Avenida Jóquei Clube 710).

Para maiores informações: http://roadsec.com.br/teresina2016/


terça-feira, 15 de março de 2016

Palestra: Pentest em IoT (Unifor)

Pessoal,

Nesta quinta-feira (17/03) eu estarei fazendo mais uma palestra sobre "Pentest em IoT". Nesta palestra eu vou apresentar uma metodologia para identificação de vulnerabilidades em sistemas embarcados. Eu também vou demonstrar diversos exemplos de falhas encontradas em dispositivos nacionais e internacionais.

A palestra vai ser realizada às 19:00 na sala B48 da Universidade de Fortaleza.

A palestra é gratuita mas tem limite de vagas ! 

Confirme sua presença pelo e-mail: educacaocorporativa@unifor.br  


segunda-feira, 15 de fevereiro de 2016

Palestra - Pentest em IoT: Episódio 2.0

Pessoal,

Estarei palestrando neste sábado no primeiro ROADSEC de 2016 !

O evento vai ser realizado em Campo Grande (MS). 

O nome da palestra é: "Pentest em IoT: Episódio 2.0".

Nesta palestra eu vou demonstrar as principais técnicas de análise para a identificação de vulnerabilidades em sistemas embarcados (IoT) e também vou apresentar algumas vulnerabilidades identificadas em 2015. 

Site oficial do evento: http://roadsec.com.br/campogrande2016/


segunda-feira, 18 de janeiro de 2016

BackGram: Utilizando Telegram como C&C

Pessoal,

Nesta postagem eu vou apresentar uma nova ferramenta minha: BackGram !

O BackGram é uma ferramenta de Pentest criada para prover acesso remoto utilizando o Telegram como canal de comunicação (C&C). A primeira versão do BackGram é uma simples prova de conceito (PoC) e implementa algumas funcionalidades básicas de qualquer Backdoor.

Dependências


Backgram foi desenvolvido em Python e utiliza a biblioteca 'Telepot' para acessar a API do Telegram. Você pode facilmente instalar o Telepot com pip:

sudo pip install telepot

É necessário criar uma nova conta para receber um token de API (que será utilizado pelo BackGram). O github oficial do Telepot descreve o passo-a-passo de como criar uma nova conta e receber o token de API.

https://github.com/nickoala/telepot#installation

BackGram possui uma variável "master_id", na qual você deve inserir o ID da conta do Telegram do atacante (criei essa regra para a vítima responder os comandos de apenas um único usuário). O ID da conta pode ser facilmente encontrado em qualquer mensagem (comentei uma das linhas do código para informar o ID). 

Execução


Eu montei um pequeno vídeo para demonstrar a execução da ferramenta.


terça-feira, 12 de janeiro de 2016

Hacking Intelbras WRN 150

Pessoal, 

Ano passado eu decidir dar uma olhada na segurança dos roteadores nacionais então vou começar 2016 já falando sobre algumas coisas que descobri durante essa minha pesquisa (algumas coisas eu ja posso ir divulgando e outras ainda preciso esperar por correções de fabricantes).

Nesta postagem eu vou estar falando sobre uma vulnerabilidade que eu descobri no roteador wireless WRN 150 da Intelbras. É importante comentar que analisei o dispositivo utilizando as configurações de fábrica ! (Apenas mudei a senha padrão do roteador mas ainda continua sendo a versão de firmware inicial de caixa).

A falha encontrada se trata de um "Authentication Bypass" que pode ser realizado no console de administração web do roteador. Um atacante pode utilizar um valor estático específico de cookie para acessar diretamente as páginas de configuração do roteador (sem saber a senha do usuário administrador). Eu gravei um vídeo como prova de conceito da vulnerabilidade identificada.


A vulnerabilidade foi informada para a Intelbras em dezembro de 2015 e o retorno deles foi bem rápido (até ligaram para mim hehe). Uma versão nova de firmware já esta disponível no site da Intelbras corrigindo o problema.