Hackeando drones com Software Livre

1.450 visualizações

Publicada em

Palestra apresentada sobre a pesquisa do Samy Kamkar de como controlar o drone AR. Parrot de outro, no FLISoL 2014 em Natal-RN (Brasil).

Publicada em: Dispositivos e hardware
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.450
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Hackeando drones com Software Livre

  1. 1. Hackeando Drones com Software Livre Eduardo Santos @edusantos33 http://compartilhandotic.blogspot.com.br PotiLivre.org
  2. 2. Quem sou eu? ● Técnico em Eletrônica ● 2º colocado na Olimpíada do Conhecimento do Senai – Sistema de Transporte da Informação ● Tecnólogo em Redes de Computadores ● Mantenedor e Instrutor de Eletrônica da aeronave A-29 Super Tucano
  3. 3. Objetivo ● Explicar como funciona um drone (nome genérico para VANT - Veículo Aéreo Não Tripulado), suas principais aplicações no mundo real e da diversão e como o pesquisador Samy Kamkar conseguiu hackear o Parrot AR.Drone usando Javascript, Perl, Linux, aircrack- ng e Raspberry-Pi.
  4. 4. Agenda ● O que são drones e como funciona? ● O que é o Parrot AR.Drone 2.0 e como funciona? ● Quem é Samy Kamkar e o que ele fez? ● Entenda os Software Livres usados para hackear ● Hackeando o AR. Drone
  5. 5. O que são drones? ● Drone = Zangão ● UAV (Unmanned Aerial Vehicle), VANT (Veículo Aéreo Não Tripulado) ou ARP (Aeronave Remotamente Pilotada) ● Existem vários modelos, tamanhos e aplicabilidade
  6. 6. O que são drones? ● Aplicação: – Combate ao “terrorismo”, diversão, monitoramento, patrulha, foto e filmagem, entrega de encomendas.
  7. 7. Como funciona um drone? ● GCS – Ground Control Station
  8. 8. Como funciona um drone?
  9. 9. O que é o Parrot AR.Drone 2.0 e como funciona? ● Quadricóptero radio controlado via WiFi 802.11b/g/n utilizando tablet ou smartphone (iOS ou Android) ● Autonomia: 12min a 5m/s ● Frabicado pela francesa Parrot, ● Processador: 1GHz 32bit ARM Cortex A8 com 800MHz video ● Linux 2.6.32 ● 1GB DDR2 RAM at 200MHz ● Firmware proprietário Fonte: http://ardrone2.parrot.com/
  10. 10. O que é o Parrot AR.Drone 2.0 e como funciona? ● Indoor ● Outdoor
  11. 11. O que é o Parrot AR.Drone 2.0 e como funciona? ● A Parrot publicou um SDK (Software Delopment Kit) – todo em C –Desenvolvedores mobiles ● Novos jogos e aplicações de entretenimento via WiFi ● Utiliza protocolo aberto no cliente –Recebe dados de video e dos sensores ● Para mais informações: https://projects.ardrone.org/projects/show/ardron e-api
  12. 12. O que é o Parrot AR.Drone 2.0 e como funciona?
  13. 13. Quem é Samy Kamkar e o que ele fez? ● Pesquisador de segurança e privacidade, hacker e empresário. ● Com 17 anos foi co-fundador da Fonality, hoje é co-fundador da Unleak ● Criou o Samy Worm (2005), malware para o MySpace: “but most of all, Samy is my hero”. Em 20h tinha mais de 1milhão de pessoas infectadas ● Criou o Evercookie (2010), um cookie que "aparentemente, não pode ser excluído", foi publicado na primeira página do New York Times. E em 2013, foi citado em documento revelado por Edward Snowden como método de rastrear usuários na rede Tor, pela NSA. ● SkyJack (2013) Fonte: https://en.wikipedia.org/wiki/Samy_Kamkar
  14. 14. Software Livres e Hardware usados para hackear ● Software – SkyJack ● Aircrack-ng ● node-ar-drone ● node.js ● Hardware – Raspberry-Pi – USB Battery
  15. 15. Software Livres e Hardware usados para hackear ● Hardware – Alfa AWUS036H wireless adapter (Modo monitor) – Edimax EW-7811Un wireless adapter
  16. 16. Skyjack O que é o Perl? ● Perl é uma linguagem de programação de propósito geral originalmente desenvolvida para manipulação de texto e agora usado para uma grande variedade de tarefas, incluindo a administração do sistema, desenvolvimento web, programação de rede, desenvolvimento de GUI, e muito mais. ● A linguagem pretende ser prática (fácil de usar, eficiente, completa) ao invés de bonita (pequena, elegante, mínima). Suas principais características são que é fácil de usar, suporta tanto processual e programação orientada a objetos (OO), tem poderoso built-in suporte para processamento de texto, e tem uma das mais impressionantes coleções do mundo de módulos de terceiros. Fonte: http://perldoc.perl.org/perlintro.html#What-is-Perl?
  17. 17. Skyjack
  18. 18. Hackeando o AR. Drone ● Samy utilizou um Raspberry-Pi embarcado no AR. Drone 2.0 rodando o SkyJack (Perl). – Aircrack-ng => Modo monitor [1] (placa USB WiFi Alfa) ● procurando pelos OUI dos endereços MAC da Parrot (fonte IEEE) [2] –90-03-B7 00:12:1C –A0-14-3D 00:26:7E ● Conecta-se a mesmo canal utilizado pelo “alvo” [3] [1] $airmon-ng start $interface [2] $airodump --output-format csv -w $tmpfile $interface [3] $iwconfig, $interface, "channel", $chans
  19. 19. Hackeando o AR. Drone ● ...ainda com o aircrack-ng –Desautentica o AR. Drone alvo do seu verdadeiro piloto e envia sinais de ARP Request Replay [4] ● Faz o AR.Drone Master conectar-se a mesma rede do drone alvo (Zumbi) ● Captura o IP do “alvo” [6] ● Então usa o node.js com o node-ar-drone para controlar os drones zumbis [7] [4] $aireplay, "-0", "3", "-a", $clients{$cli}, "-c", $cli, $interface) [5 ]$iwconfig, $interface2, "essid", $chans{$drone} [6] $dhclient, "-v", $interface2 [7] $nodejs, $controljs
  20. 20. node.js ● Plataforma construída em tempo de execução do JavaScript do Chrome para operações rápidas e escaláveis na rede. ● Usadas para aplicações de rede em tempo real, em substituição das threads e forks ● Usada para conexões cliente-servidor com sockets Fonte: http://nodejs.org/
  21. 21. node-ar-drone ● O protocolo do lado do cliente para controle do Parrot AR. Drone é Open ● Essa é uma implementação desse protocolo e foi criada baseado no SDK do Parrot
  22. 22. node-ar-drone
  23. 23. node-ar-drone
  24. 24. Pergunta 01 ● Cite pelo menos dois nomes dos SL usados nessa prática?
  25. 25. Resposta 01 –Node-ar-drone –Skyjack (Perl) –node.js –Aircrack-ng ● Airmon-ng ● Airodump
  26. 26. Pergunta 02 ● Qual comando GNU/Linux usado para forçar um host a receber um IP via DHCP?
  27. 27. Resposta 02 ● $ dhclient $interface
  28. 28. Pergunta 03 ● Qual o nome do “cara” que fez essa façanha usando SL e o Parrot AR. Drone?
  29. 29. Dica ● Começa com S... :D
  30. 30. Resposta 03 ● Samy Kamkar
  31. 31. Pergunta 04 ● O que é e como funciona o protocolo ARP?
  32. 32. Resposta 04 ● Address Resolution Protocol
  33. 33. Dúvidas??? Créditos: http://samy.pl/skyjack/
  34. 34. FIM “Quando tudo diz que não, Sua voz me encoraja a prosseguir...”

×