quarta-feira, 27 de novembro de 2013

Palestra sobre Pentest: CIO-SE (Sergipe 2013)

Pessoal!

Estarei apresentando nessa sexta-feira (29/11) a palestra "Penetration Testing (Pentest) - Procedimentos e Estudos de Caso" no evento CIO-SE (Chief Information Officer - Sergipe) no Radisson Hotel em Aracaju/Sergipe! O convite esta ai para os profissionais e amigos de Aracaju. Maiores informações no site oficial do evento: http://www.cio-se.org.br/6ecio/



quarta-feira, 6 de novembro de 2013

IPv6 Attacks com Python: Parte 2 (MITM)


Nesta postagem eu vou estar dando continuidade ao assunto das postagens anteriores e estarei falando sobre o ataque de Man-in-the-Middle (MITM) em redes locais IPv6.

Observação:


O conteúdo apresentado nesta postagem deve ser reproduzido apenas em um ambiente no qual você possui autorização para a realização de testes de segurança.


Introdução


Em redes tradicionais IPv4, o ataque de MITM pode ser realizado atravês de alguns métodos  como ARP Poisoning e MAC Flooding. Entretanto o protocolo ARP é substituido pelo protocolo Neighbor Discovery (implementado através de mensagens ICMPv6) em redes IPv6. O nosso estudo de ataques MITM em redes IPv6 deve começar com uma análise sobre o protocolo ICMPv6 e o Neighbor Discovery.

Neighbor Discovery e ICMPv6

 

O protocolo Neighbor Discovery esta definido na RFC 4861¹ e faz parte de um dos processos de autoconfiguração do IPv6. Um dos objetivos deste protocolo é identificar o endereço MAC (Camada de Enlace) de hosts vizinhos em uma rede local (Basicamente a mesma coisa que o ARP fazia hehe). O Neighbor Discovery é implementado através das seguintes mensagens ICMPv6:
  • ICMPv6  Neighbor Solicitation
  • ICMPv6  Neighbor Advertisement
  • ICMPv6  Router Solicitation
  • ICMPv6 Route Advertisement
Neste tópico iremos focar especialmente nos 2 primeiros tipos de mensagens.

A mensagem Neighbor Solicitation é enviada por um host com o objetivo de identificar o endereço físico (MAC address) de um host vizinho. A Figura abaixo apresenta o cabeçalho da mensagem Neighbor Solicitation.

Figura 1: Cabeçalho da mensagem Neighbor Solicitation

O campo 'Type' apresenta o valor 135 e o campo 'Target Address' apresenta o endereço IPv6 do host solicitado.

A mensagem Neighbor Advertisement representa a resposta para a mensagem de Neighbor Solicitation e contém o endereço MAC do host solicitado. A Figura abaixo apresenta o cabeçalho da mensagem Neighbor Advertisement.

Figura 2: Cabeçalho da mensagem Neighbor Advertisement

O campo 'Type' apresenta o valor 136 e o campo 'Target Address' apresenta o endereço IPv6 do host solicitado. O campo 'Options' apresenta informações 'extras' contendo o endereço físico do host solicitado. A figura abaixo apresenta um exemplo de descoberta de vizinhos através do ICMPv6.


Figura 3: Troca de mensagens ICMPv6 (Neighbor Discovery)


MITM em redes locais IPv6


O protocolo de Neighbor Discovery não realiza a autenticação de mensagens ICMPv6 e esta vulnerabilidade resulta na possibilidade de ataques MITM em redes IPv6. Um atacante pode forjar mensagens ICMPv6 do tipo Neighbor Advertisement com o objetivo de envenenar a tabela de endereços MAC de uma determinada vítima.

O endereço MAC, presente no campo 'Options' da mensagem de Neighbor Advertisement, pode ser substituído pelo endereço físico de um atacante com o objetivo de se passar por outro host da rede local. O novo pacote é enviado para os hosts da rede local e as tabelas de endereço MAC são envenenadas com o novo valor (forjado pelo atacante).

Para exemplificar o ataque descrito, eu criei um pequeno script para realizar MITM entre três máquinas (2 vítimas e 1 atacante) com endereços IPv6. O vídeo a seguir apresenta o script sendo utilizado em uma pequena prova de conceito do ataque descrito.


O script encontra-se disponível para download em:
https://github.com/pasknel/hacking-com-tapioca/blob/master/IPv6/ipv6_nd_mitm.py

 

Conclusão


Neste tópico foi apresentado o assunto de ataques de MITM em redes IPv6. Na minha próxima postagem eu vou estar mudando de assunto (talvez futuramente eu volte a falar mais sobre IPv6). Por favor escrevam suas sugestões e comentários!

Obrigado :)

Keep Hacking!

¹ http://tools.ietf.org/html/rfc4861

sábado, 2 de novembro de 2013

Palestra Caindo Na Rede 2013: Pentest - Teste de Invasão

Pessoal!

Estarei dando uma palestra sobre Pentest (Teste de Invasão) nesta segunda-feira (dia 04/11) no evento "Caindo na Rede" da faculdade Estácio de Aracaju (Sergipe). Durante a palestra eu vou estar falando sobre metodologias de ataque e vou apresentar um dos meus projetos de Pentest realizados na Morphus. O convite fica ai para os amigos, alunos e profissionais de Aracaju que são interessados no tema :)

Obrigado!

Keep Hacking!