如何劫持大疆Spark无人机

写在前面的话

对于我们每个人来说,被犯罪分子骗走血汗钱那肯定是件很悲伤的事。随着物联网(IoT)的快速发展,可远程控制的设备已成为我们日常生活中不可或缺的一部分。但在享受方便的同时有一个明显的缺点暴露出来———它们也可以被犯罪分子利用。有没有想过攻击者可能只是坐在家中上,就可以控制您的设备飞到他们手里。是不是觉得不可能?但是我们已经成功劫持了大疆Spark无人机,将上面的假想照进现实。看看我们是怎么做到的吧!

介绍

一直以来,大疆无人机深受黑客的关注。他们主要对破解无人机的某些功能,比如设置更高的控制通道频率,消除飞行高度限制或禁飞区等限制感兴趣。此外,还有一些关于越狱无人机的信息。公开的知识你可以在这个Github,还有这个wiki中找到。

大疆Spark是大疆无人机非专业系列中的一款设备。于2017年发布,作为业余航空摄影的无人机销售。在一些方面上,它比其他型号差一些:例如,电池满电的情况下只能持续16分钟的飞行时间。但他与(Phantom 4和Mavic)相比,Spark便宜了499美元。

Spark采用Android 4.4为核心的Leadcore LC1860C ARMv7-A CPU。更新文件带有.sig扩展名,使用RSA-SHA256进行签名,其中一些文件使用AES算法进行加密。其他网络安全爱好者已经公开了这种AES密钥,因此可以使用该工具从文件中提取加密的字段数据。在无人机固件中,发现有大量来确保设备正常运行的原生应用程序。

大疆Spark配备了一组外部接口:

  1. 用于PC连接的USB接口;
  2. 用于闪存连接器的扩展;
  3. 通过Wi-Fi来控制设备的手机应用;
  4. 通过2.412-2.462 GHz的遥控器来管理设备。

大疆还设计了大疆 Assistant 2应用程序。该应用程序可以通过USB操作连接到台式电脑的设备,可以为其更新固件,更改Wi-Fi网络设置等。

在浏览社区资料时,我们发现了改变无人机达到最大高度的脚本websocket_tool.py。每次请求会在web-socket server写入新的值。这个web-socket server是由大疆 Assistant 2应用程序启动的。换句话说,该应用程序有2个接口:

  1. 图形用户界面
  2. web-socket接口。

从一台你认为安全的计算机上感染系统比使用传统方法更容易。正因为这样导致了连接到PC的手机被各种恶意软件感染。所以,我们决定复现这个场景并仔细研究web-socket接口。

二.Web-socket服务器

我们推出了最新的大疆 Assistant 2 1.1.6版本,并将带有V01.00.0600固件版本的大疆 Spark连接到电脑。让我们尝试访问Web-socket服务器。为了使用web sockets,我们使用了websocket-client包中的wsdump.py工具。

服务器响应表示在URL ws:// victim:19870 /上没有服务。在运行web_socket_tool.py脚本后,我们找到了一个有效的URL - / general。

可以看见,服务器不需要授权就可以使用。但是它的响应是加密的,这说明接口只能用于大疆软件而不是用户。那么问题来了:它传递了什么?我们再看客户端和服务器之间的消息是如何加密的。在分析旧版大疆 Assistant 2版本时,我们发现它们以纯文本与服务器通信。之后,我们了解到加密机制已用于1.1.6版本,这就是为什么来自社区资料的脚本没有加密。

三.加密算法

首先,我们检查了加密的文本属性。每次应用程序重新运行时,加密文本保持相似。无人机重启也不会改变它。在Mac上运行也得到相同的结果。这些表明加密密钥不依赖于会话或使用的操作系统。因此,我们假设是硬编码的。

web-socket服务器的代码存储在大疆WebSocketServer.dll库中。借助工具(例如,用于PEiD的Krypto ANALyzer),我们确定了算法 – AES和本地化加密程序。

即使对AES知之甚少,也可以确定使用的加密方式。唯一需要的是将反编译的代码与Github的开放源代码进行比较。发现使用CBC模式。通过分析交叉引用,我们可以找到初始化的加密密钥。

四.破解用户界面

我们所需要做的就是将传输的数据加密/解密到wsdump.py脚本中,并且我们将获得应用程序发送给我们的解密数据。在我们的github修改了wsdump.py脚本。

除了关于应用程序版本,设备类型等的信息外,还有无人机管理服务的URL列表。

这些服务可以通过web-socket接口远程处理。

五.计划一次攻击

即使没有专门的控制器,大疆无人机还可以通过智能手机进行控制。控制器可以作为Spark Combo包的一部分销售,也可以单独销售。如果没有控制器,智能手机应用程序是控制大疆Spark的唯一选择。无人机会创建一个Wi-Fi热点,该热点通过WPA2协议进行保护,手机可以连接此热点来控制无人机,但该热点只允许一个用户连接。 我们进行了一系列实验,从Wi-Fi热点对驾驶员进行认证。如果无人机在低空飞行时丢失了驾驶员的信号,它最终会掉落到地面。但是,如果驾驶员在无人机达到高空后取消了身份验证,则该设备的行为会十分奇怪,它会提高RPM的速度并达到更高的高度。所以,需要一个线路不让无人机像鸽子一样飞走。我们在实验使用的线路不够长,无法检查无人机可以达到的最大高度,事实证明Spark只是一个无线网络的囚徒。

web-socket接口授予Wi-Fi网络的完全访问权限。通过与已启动 web-socket服务器的计算机建立网络连接,攻击者可以查看到Wi-Fi设置并连接到另一个人的无人机。但是如果设置发生了变化。无人机将失去与用户的连接,这样攻击者将成为无人机的唯一拥有者。

总而言之,典型的攻击场景可能如下所示(我们从GitHub脚本中复制了json-commands格式)。

为了使攻击成功,网络犯罪分子会感染受害者的系统并远程追踪无人机,通 过连接受害者计算机,启动大疆 Assistan 2。确切的时间可以通过19870端口来确定,连接到web-socket服务器ws://victim:19870 执行以下操作将密码更改为无人机wi-fi热点: 1.请求ws://victim:19870/generalurl从服务器响应中获取文件值。

"FILE":"1d9776fab950ec3f441909deafe56b1226ca5889"

2.发送以下命令

ws://victim:19870/controller/wifi/<FILE> {"SEQ":"12345","CMD":"SetPasswordEx","VALUE":"12345678"

3.之后,Wi-Fi密码将在不知情的情况下更改为受害者。 改之前:

改之后:

4.要使更改生效,重新启动Wi-Fi模块

{"SEQ":"12345","CMD":"DoRebootWifi"}

5.然后用智能手机连接到无人机。

6.等待USB拔出并劫持无人机。

这个场景在大疆Spark无人机上进行了测试,但它应该与所有兼容大疆 Assistant 2的无人机都有关。发行说明中提供了无人机的列表。

这种类型的攻击适用于所有支持的操作系统和默认防火墙。它可以在有线和公共无线网络中进行。为了不手动执行所有程序,这里是我们的PoC

USB和物联网

到目前为止,几乎所有的智能设备都可以通过USB连接(如PC或笔记本电脑)上传一些文件,更新设备固件(大多数设备只能通过USB进行充电)等日常行为,这可能会造成很大程度的威胁,因为被感染的设备可能很容易感染其他设备。网络犯罪分子还可以根据自己的喜好更改设置,将恶意固件上传到设备。当设备连接到其他PC /笔记本电脑时,感染会蔓延。

在物联网时代,问题会变得更加严重,所以智能设备开发人员应集中注意力在设备连接场景上,并设计身份验证和授权机制以及签名固件的受信任引导。否则,当智能汽车通过接口受到感染,车主不得不向犯罪分子支付赎金。

时间线:

09/25/2017 – 关于发送漏洞的第一个通知; 09/28/2017 – 发送技术细节; 10/12/2017 – 接受的漏洞和赏金的数量; 12/20/2017 – 赏金支付。

结论

大疆公司被认为是消费和商业无人机市场的领导者。根据维基百科,它在消费无人机市场占有巨大的市场份额; 到2021年它将生产约400万架无人机。可见一旦无人机出现漏洞那将十分危险——它们影响到大量用户和组织。这种情况已经发生过,例如SSL密钥和XSS漏洞。还有自从一架无人驾驶飞机撞上白宫的南草坪,美国陆军禁止大疆无人机。

由于大疆软件存在以下安全问题,可能会出现以下攻击方法。

1.Web-socket服务器侦听所有网络接口。 2.使用硬编码加密密钥与Web-socket服务器通信。 3.使用Web-socket界面的授权。 4.数据可以很容易获得。

Wi-Fi攻击可以劫持无人驾驶飞机,可能的情况也不止这样,Web-socket接口具有许多功能,可能使攻击者可以更改无人机的设置访问机密数据。

github:https://github.com/embedi/dji-ws-tools/blob/master/dji_wsdump.py 工具:    https://github.com/fvantienen/dji_rev/blob/master/tools/image.py

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

D-Link 路由器信息泄露和远程命令执行漏洞分析及全球数据分析报告

PDF 版报告下载:D-Link 路由器信息泄露和远程命令执行漏洞分析及全球数据分析报告

42990
来自专栏腾讯研究院的专栏

新形势下,互联网金融发展与监管问题研究

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?...

21750
来自专栏华章科技

国内影响已扩散,Wannacry蠕虫勒索软件袭击全球(含修复方案)

一旦电脑感染了Wannacry病毒,受害者要高达300美元比特币的勒索金才可解锁。否则,电脑就无法使用,且文件会被一直封锁。

7910
来自专栏安恒信息

如何保护计算机不被恶意软件勒索

英国国家犯罪局已经发出了国家紧急警报,1千万英国用户被Cryptolocker勒索软件瞄准,这种恶意软件限制被感染的计算机,并要求受害者支付赎金后返还控制权。 ...

34360
来自专栏云上大文件传输

AWS海外数据中心到腾讯云广州-文件传输对比评测集合

ftp客户端--FileZilla ftp服务端--FileZilla Server 软件下载地址:https://filezilla-project.org/...

573110
来自专栏安恒信息

新型敲诈病毒盯紧企业,办公文件被深度加密

近日,一类名为“Worm.Win32.CryptoLocker”的新型敲诈型蠕虫病毒开始流行。该病毒通过伪装企业电子邮件形式进行传播,一旦感染,电脑中的所有办公...

25750
来自专栏安恒信息

重磅 | “暗云Ⅲ”APT检测分析报告解读

1.概述 近期,一款名为“暗云Ⅲ”的木马程序正在互联网上大量传播,小心你的电脑成为“肉鸡”。国家互联网应急中心(CNCERT)监测发现,该木马已感染主机超过16...

31190
来自专栏域名资讯

背靠大终端 长尾域名3万元被秒

一长尾域名dentalwings.com.cn以一口价3万元被秒。

234100
来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–含客户预付款的销售订单处理(201)-3开票

一、VA02销售订单变更(移除开票冻结) 在此活动中,移除销售订单的开票冻结。 必须手动移除开票冻结才能处理第一个预付款请求。 后勤® 销售和分销 ® 销售® ...

72370
来自专栏编程思想之路

Android6.0源码分析之录音功能(一)

Android源码录音功能说起来似乎也很简单,只不过就是一个录音的功能然后进行了一个保存的操作。为什么要研究这个呢?毕竟现 在语音通话、直播亦或者是语音助手比...

45580

扫码关注云+社区

领取腾讯云代金券