Download - Hackeando drones com Software Livre
Hackeando Drones com Software Livre
Eduardo Santos@edusantos33
http://compartilhandotic.blogspot.com.brPotiLivre.org
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
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.
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
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
O que são drones?
● Aplicação:
– Combate ao “terrorismo”, diversão, monitoramento, patrulha, foto e filmagem, entrega de encomendas.
Como funciona um drone?
● GCS – Ground Control Station
Como funciona um drone?
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/
O que é o Parrot AR.Drone 2.0 e como funciona?
● Indoor ●Outdoor
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/ardrone-api
O que é o Parrot AR.Drone 2.0 e como funciona?
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
Software Livres e Hardware usados para hackear
● Software
– SkyJack
● Aircrack-ng● node-ar-drone● node.js
● Hardware
– Raspberry-Pi
– USB Battery
Software Livres e Hardware usados para hackear
●Hardware– Alfa AWUS036H wireless adapter (Modo
monitor)
– Edimax EW-7811Un wireless adapter
SkyjackO 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?
Skyjack
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
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
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/
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
node-ar-drone
node-ar-drone
Pergunta 01●Cite pelo menos dois nomes dos SL usados nessa prática?
Resposta 01–Node-ar-drone
–Skyjack (Perl)
–node.js
–Aircrack-ng● Airmon-ng● Airodump
Pergunta 02●Qual comando GNU/Linux usado para forçar um host a receber um IP via DHCP?
Resposta 02●$ dhclient $interface
Pergunta 03●Qual o nome do “cara” que fez essa façanha usando SL e o Parrot AR. Drone?
Dica●Começa com S...
:D
Resposta 03●Samy Kamkar
Pergunta 04●O que é e como funciona o protocolo ARP?
Resposta 04●Address Resolution Protocol
Dúvidas???
Créditos: http://samy.pl/skyjack/
FIM
“Quando tudo diz que não, Sua voz me encoraja a prosseguir...”