文档章节

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

微博士
 微博士
发布于 2016/05/18 23:34
字数 2305
阅读 50
收藏 2


本教程的目的是帮助大家理解如何研究未受保护的无线通信的安全风险所在,同时我们希望大家不要对技术进行滥用。我们这里采用的例子是一个流行的无人机模型: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
0
基于树莓派如何开发机器人(附PPT+视频) | 硬创公开课

导语:树莓派是为学习计算机编程教育而设计的一种微型电脑,其系统是基于Linux的, 虽然只有信用卡大小,但视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。因此自问世以来,受到了...

金红
2017/03/09
0
0
预告:基于树莓派如何开发机器人 | 硬创公开课

此前我们收到读者反馈,想听一节关于如何用树莓派开发机器人。树莓派为学习计算机编程教育设计的一种微型电脑,其系统基于Linux, 只有信用卡大小但视频、音频等功能通通皆有,可谓是“麻雀虽...

金红
2017/02/16
0
0
炸裂!小小树莓派要搭上 Google 的人工智能了

2017 年 1 月 23 日,树莓派(Raspberry Pi)在博客上发出了一则公告,表示 Google 在 2017 年将“非常有范儿地来到”树莓派社区,为“创造者(Maker)”们带来一系列智能工具,其中将包含人...

两味真火
2017/01/25
7K
9
树莓派随身工具箱:中间人劫持获取控制权

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

FreeBuf
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Elasticsearch节点角色类型node.master和node.data说明s

一般地,ElasticSearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。这些功能是由两个属性控制的(node.master和node.data)。默认情况下这两个属性的值都是tru...

傲娇字符
11分钟前
2
0
jdbcTemplate 分页 com.github.pagehelper.Page

由于项目中用了mybatis分页插件 com.github.pagehelper.Page 有时候复杂的查询分页想用jdbcTemplate。又想用分页。 分页对象 public class PageBean<T> implements Serializable { priv...

xiaomin0322
11分钟前
0
0
rem的使用

(function (doc, win) { var docEl = doc.documentElement var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize' var recalc = function () { var cl......

Js_Mei
18分钟前
0
0
idea 删除代码的注释

搜索栏使用 正则表达式搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 会搜索出来所有注释的代码 用空格replace替换掉就可以了。 或者搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\...

时刻在奔跑
21分钟前
2
0
eclipse maven 项目运行mvn clean 后无法运行

错误: 错误:找不到或无法加载主类com.yyy.test.Main 解决方法: “project” --"Clean" 参考链接:https://jingyan.baidu.com/article/cbcede07107d9802f40b4dff.html...

qimh
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部