文档章节

我是如何使用树莓派击落&劫持无人机

微博士
 微博士
发布于 2016/05/18 23:34
字数 2305
阅读 41
收藏 2
点赞 2
评论 0


本教程的目的是帮助大家理解如何研究未受保护的无线通信的安全风险所在,同时我们希望大家不要对技术进行滥用。我们这里采用的例子是一个流行的无人机模型:Parrot AR.Drone 2.0。
四轴无人机能够以独特视角记录下高质量的视频,但是联邦航空管理局(FAA)称,这些无人驾驶系统在安全和隐私方面的可靠性有待商榷,许多安全专家都在暗示无人机使用量增加后可能带来的风险。除了持续监控以外,有心人可能通过无人机收集移动设备的信息。
更多关于无人机介绍
因此研究攻击无人机的产业正在成型,hack设备的尺寸从大到小都有。在这里,我将向您展示如何构建自己的平台,从而对特定类型的四轴无人机进行网络攻击。
我这里不会去进行信号干扰和定向波,这会产生严重的安全风险而且是非法的。我们这里的实验仅限于自己的网络和设备,或得到了其他许可。
为什么是802.11
Wifi是控制当前主流四轴飞行器的关键接口,一些用它作为控制器和平板设备之间的接口,用它显示无人机映射情况和测到的数据。而如Parrot’s Bebop和AR.Drone 2.0等无人机,则完全是通过wifi来控制。这些类型的设备降低了无人机的门槛,因为飞行员可以用自己的设备进行控制。但是在一定的情况下,现有的基于网络的攻击可以用来对付这些设备。AR.Drone 2.0有许多有意思的特性和传感器,用户都可以访问到。这款低成本的设备,能够成为大家实验和学习的理想平台。
它是如何工作的?
AR.Drone 2.0会创建一个用户智能手机能访问的热点,名字叫ardrone2_*,*号代表随机数。这个默认的热点是开放的,并没有提供身份验证和加密。一旦用户将设备连接到热点,就可以启动相应的应用获取无人机的控制权。这个认证过程虽然方便了用户,却让黑客可以更加容易地控制无人机。
测试开始
实验将用到一台笔记本、USB无线网卡以及天线,我们将模拟一个简单的攻击过程。启动AR.Drone 2.0,使用相应的应用控制它。几秒钟后,你就可以在wifi网络中看见它发出的热点了。连接到该网络,启动你最习惯的终端应用,默认的网关地址是192.168.1.1。在此时,你就可以远程登陆到这个开放的系统上了。
telnet是一个老旧的远程访问计算机的协议,你可以通过它浏览系统内容,甚至借助它在无人知晓的情况下突然关掉计算机。使用一套免费工具打组合拳,你可以很容易地在你电脑做到这些。
现在我们来看看如何进行自动化攻击,下面要用到的工具有:树莓派、触屏,以及一些Bash脚本。
我使用的是一个由Adafruit提供的教程,用触屏设置我的树莓派,从而在点击之间完成我的攻击。这里我假设你有一个配置好的树莓派,下面告诉你如何自动化实现。
首先你需要SSH连进你的树莓派: 

改变目录,进入树莓派的桌面(或者你习惯的操作目录),对你的脚本进行访问操作。

使用你最喜欢的文本编辑器(我这里是nano),建立一个新文件。我将其命名为join_network.sh,因为我需要用它自动化连入AR.Drone 2.0开放的热点。 

将下面8行加入你的脚本,在第7行,键入AR.Drone 2.0的全名,做完后这些后请进行保存:
 

你会自动连上你此前测试的连接,并且发送一个命令来关闭无人机。现在我们来创建另一个脚本,我称之为poweroff.sh:

把这些加入你的脚本,这将向无人机发起一个连接请求,IP为192.168.1.1,然后发送关机命令(这同普通计算机的模式其实是差不多的):

现在我们需要确定脚本是可执行的,输入sudo chmod u+x filename,这个命令对以上两个文件都要来一遍。我们想要检查脚本是否可执行,可以输入ls –la,看看它们的读写执行(rwx)权限情况:

现在两个脚本已经可用,当你确认没有啥东西在你无人机的攻击范围之内时,就请尽情狂欢吧!

创建一个Cantenna(罐子天线)
你可以使用一个由罐子制造的定向天线,来增强你的无线信号。
无线世界里,连接稳定性为王。你的无线设备上有一个好的天线能够大大提高你的信号质量,延展你的影响范围。你只需要花费不到一个小时,就可以制作自己的定向cantenna,连接远处的无线热点,或者与某些无人机或者类似的无线设备进行交互。

1.计算
这个玩意儿的最难点在于需要计算安装无线连接器的最佳位置,以及有线部分发挥理想效果的正确长度。幸运的是,有很多网上的资料能帮助你解决这个问题,比如这里。下面的插图将给你讲述如何进行测量计算:
 

给定罐子的尺寸,直径约100毫米,N型连接器大概需要罐子底算起约44毫米的高度。我们通常感兴趣的的是2.4GHz频段,所以铜线需要的总长约为31毫米。
2.测量和标记

在你罐子底部测量起约44毫米的位置,为N型连接器标记一个永久性位置。
3.钻孔
在罐子上钻出4个孔,你可以用螺丝把它跟连接器固定。当然,你可以不要螺丝,直接把连接器跟罐子焊在一起。

4.把线焊到N型连接器上
你需要在安装前准备下连接器,准备4“的直铜线,越直越好,而且需要将上面的涂料全部弄掉。
然后你得把短铜线焊到连接器的顶部,因为有点麻烦我找人事先固定好了:

把线焊到连接器上后进行调整,将线修剪为第一步计算出的长度,我这儿是31毫米。
5.安上连接器

如果你不想把连接器焊到罐子上,你可以通过螺丝把它从罐子外面向里拧紧。如果需要的话,你可以切掉罐子的底部,在做完后盖上去,
6.连上无线网卡

连线你的卡和N连接器,就能使用cantenna了。
你可以加上一层涂层让它更有效,或者给他加一个支架以针对特定方向的目标。
其他相关无人机的思考
这仅仅是黑客能玩的冰山一角,包括改删系统文件、截取视频和传感,将无人机引导向另一个位置,以及各种手段的综合实施。安全项目RollJam和MagSpoof的缔造者Samy Kamkar,甚至发布了一个项目可以允许黑客在wifi所达的范围里自动化寻找Parrot无人机,夺取原主人的控制,最终结果就是把它们变成“僵尸”无人机。
我们还在Make: office用wifi环境测试了一些无人机,这些无人机都容易被夺取控制权,造成无人机连接的丢失。

我们diy的cantenna对于扩大信号范围是非常有用的,使用树莓派组装的平台,我们可以灵活编程进行一系列攻击。比如,我们可以用来攻击咖啡店的热点。黑客可以设计一个假的热点(Better Wi-Fi),用来收集大家的认证凭证。本来知道咖啡店原wifi热点的顾客是不会来连这个假热点的,但是黑客可以利用工具进行热点夺取,迫使所有用户都连入他的热点。
如何保护自己
第一步当然是培养自己操作无人机的能力,了解其局限性,拥有良好的实践力。使用wifi有优势,意味着你可以控制机器,但你需要从安全的角度,比如无线安全协议、加密和开放端口来考虑这些问题。对于更敏感的应用程序,进行命令操作时需要有更安全的选项以及权限控制。

© 著作权归作者所有

共有 人打赏支持
微博士
粉丝 2
博文 4
码字总数 3538
作品 0
杭州
CEO
极客教学:如何使用树莓派击落&劫持无人机

极客教学:如何使用树莓派击落&劫持无人机 本教程的目的是帮助大家理解如何研究未受保护的无线通信的安全风险所在,同时我们希望大家不要对技术进行滥用。我们这里采用的例子是一个流行的无人...

技术小牛人 ⋅ 2017/11/22 ⋅ 0

树莓派随身工具箱:中间人劫持获取控制权

  *本文原创作者:Rc4x,本文属FreeBuf原创奖励计划,未经许可禁止转载   导读   上文讲解了树莓派随身工具箱的环境搭建,这段时间又对其进行了一些优化,主要是从便携美观上面改进。同...

FreeBuf ⋅ 04/26 ⋅ 0

树莓派3b连接串口类型GPS使用使用串口并关闭蓝牙板载方法

树莓派3上用户目前无法正常是使用GPIO中的UART串口(GPIO14&GPIO15),也就是说用户无论是想用串口来调试树莓派,还是想用GPIO中的串口来连接GPS,蓝牙,XBEE等等串口外设目前都是有问题的。 原因...

huazwz ⋅ 04/11 ⋅ 0

树莓派pi3 串口问题的解决办法

转载: https://blog.csdn.net/aguangg6655la/article/details/54985423 其他参考1:https://blog.csdn.net/xukai871105/article/details/22713925 其他参考2:https://www.briandorey.com/......

zhenguo26 ⋅ 04/18 ⋅ 0

树莓派摄像头VLC网络监控

备忘 树莓派有网口,又有摄像头可以用,当然不能浪费资源,下面我就用红外摄像头来做个昼夜均可使用的摄像头监控~ 连接好树莓派的CSI摄像头,我用的是带有红外灯的,并且有光感控制的,只有在...

乐_然 ⋅ 03/11 ⋅ 0

树莓派开启VNC,电脑远程实时操控树莓派桌面

一般远程控制树莓派,命令行使用SSH服务,但是有的时候,我们想远程控制树莓派的桌面。这时就要启用VNC了。 1.在树莓派上开启VNC服务: 这样在树莓派上就开启了VNC服务,开启成功后,在桌面右...

乐_然 ⋅ 03/07 ⋅ 0

如何使用树莓派制作一个数字针孔摄像头

学习如何使用一个树莓派 Zero、高清网络摄像头和一个空的粉盒来搭建一个简单的相机。 在 2015 年底的时候,树莓派基金会发布了一个让大家很惊艳的非常小的 树莓派 Zero。更夸张的是,他们随 ...

19% ⋅ 06/21 ⋅ 0

如何使用树莓派测定颗粒物(PM 2.5)

使用两个简单的硬件设备和几行代码构建一个空气质量探测器。 我们在东南亚的学校定期测定空气中的颗粒物。这里的测定值非常高,尤其是在二到五月之间,干燥炎热、土地干旱等各种因素都对空气...

作者: Stephan Tetzel ⋅ 05/08 ⋅ 0

树莓派可视化编程软件 - BlocklyPi

本项目是一个基于Blockly的树莓派可视化编程软件,类似于Mixly,可以让让零基础不会编程的人玩转树莓派gpio。 使用说明 见项目 地址 更多说明详见BlocklyPi 实际使用 详见 http://hgccloud....

王逸伦 ⋅ 06/11 ⋅ 0

PHP再学习5——RESTFul框架 远程控制LED

0.前言 去年(2013年)2月第一次接触yeelink平台,当时该平台已经运行了一些时间也吸引了不少极客。试想自己也将投身IoT(物联网)行业,就花了些时间研究了它。陆陆续续使用和研究了一年,大...

thinkyoung ⋅ 2014/12/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 18分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 19分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 20分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 23分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 33分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 36分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 38分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 39分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 51分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 52分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部