3. 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
4. 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.
5. 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
6. 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
7. O que são drones?
● Aplicação:
– Combate ao “terrorismo”, diversão,
monitoramento, patrulha, foto e filmagem,
entrega de encomendas.
10. 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/
11. O que é o Parrot AR.Drone 2.0 e como funciona?
● Indoor ● Outdoor
12. 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
13. O que é o Parrot AR.Drone 2.0 e como funciona?
14. 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
15. Software Livres e Hardware usados
para hackear
● Software
– SkyJack
● Aircrack-ng
● node-ar-drone
● node.js
● Hardware
– Raspberry-Pi
– USB Battery
17. 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?
19. 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
20. 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
21. 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/
22. 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