Sat-Hacking(3):Starlink终端逆向分析

前言

Starlink终端是SpaceX推出的卫星互联网终端设备,它的目的是为了提供高速、低延迟的卫星互联网服务。该终端设备采用了一种平板天线设计,可以自动搜索、跟踪并连接卫星信号,同时还具有数据处理、无线网络传输等多种功能。在
Starlink 卫星互联网系统中,用户设备端采用了专门设计的 UE 终端,可以实现与卫星网络的连接和通信。为了更好地了解 Starlink UE
终端的工作原理和内部结构,我们对其进行了固件进行了逆向分析。

本文将分享 Starlink UE 终端的硬件和软件架构,Starlink固件的逆向方法以及其相关的通信协议和安全机制。希望通过这篇文章,为大家提供有关
Starlink UE 终端的详细信息和技术参考,以促进更广泛的技术交流和研究。

![](https://img-
blog.csdnimg.cn/img_convert/6cd08c475d3df2e8aa4022305037e706.jpeg)

地面站卫星天线

一、Starlink终端介绍

  1. 本文在下面USA 2022 年Blackhat议题Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal的基础上展开对 Starlink终端的安全分析。

该议题的PDF下载连接如下,也可从文末获取:

https://i.blackhat.com/USA-22/Wednesday/US-22-Wouters-Glitched-On-Earth.pdf

![](https://img-
blog.csdnimg.cn/img_convert/7b1526842fc2ceab98d3cc22f146d38a.png)

图1-1 StarLink 卫星通信地面段和空间段

  1. 通过对设备拆解后发现,发现硬件终端设备开放了UART硬件端口。

串口在安全调试和攻击硬件设备中的作用很大,因为串口可以直接与硬件设备进行通信,从而获得对硬件设备的控制和访问权限。在安全调试中,串口可以被用于硬件设备的调试和故障排除。通过串口可以直接获取硬件设备的运行状态和数据,从而帮助调试人员发现问题和解决问题。

而在攻击硬件设备中,攻击者可以通过串口进行非法访问和控制硬件设备,从而实现恶意操作。攻击者可以通过串口获取硬件设备的敏感数据、修改设备的配置参数、执行恶意代码等,从而导致设备失效、数据泄漏等安全问题。

![](https://img-
blog.csdnimg.cn/img_convert/7af4247cae9c7ecd1df0066f9e59f355.png)

图1-2 StarLink 终端串口终端

  1. 通过进一步分析,发现设备的eMMC芯片,预留了测试点,通过测试点,可以对eMMC中存放的固件进行提取。为了在线读取eMMC芯片,需要识别时钟(CLK)、命令(CMD)和数据0(D0)信号。通常,这些信号通过测试点进行连接。

通过对StarLink主SoC上方的10个测试点进行识别和捕获,可以识别出所需的信号。其中CLK信号是唯一的重复信号,CMD是时钟开始切换后第一个激活的信号,D0是发送数据的第一条数据线。在实际操作中,需要使用逻辑分析器等工具进行信号捕获。

![](https://img-
blog.csdnimg.cn/img_convert/d4ca867840f39eb5a2b87d98fcc79674.png)

图1-3 StarLink eMMC芯数据时序

  1. 提取eMMC固件的具体方法和步骤因设备型号和测试点位置的不同而异,通常需要使用专业的测试设备和软件。不同的测试设备和软件可能需要不同的连接线,但通常需要以下三根线:

CLK(时钟线):负责提供时钟信号,用于同步数据传输。

CMD线(状态线):负责指示当前测试设备处于何种状态,例如测试、读取或写入。

D0线(数据输入线):负责传输数据输入信号,用于向测试设备发送指令或数据。

![](https://img-
blog.csdnimg.cn/img_convert/3465540cae3a824832dcac40e55549da.jpeg)

图1-4 StarLink eMMC测试点

  1. 然后利用eMMC读卡器设备即可对StarLink固件进行提取。

![](https://img-
blog.csdnimg.cn/img_convert/fc3511368b7fcfbcbd30d247e7747d5b.png)

图1-5 StarLink eMMC固件提取

二、Starlink终端固件逆向及终端提权

  1. 固件提取后,便可以利用binwalk的Starlink的固件进行逆向分析。

  2. 通过对Starlink固件文件分析发现,Starlink在启动后会通过对变量is_production_hardware进行代码校验,如果is_production_hardware=0,系统则会进入开发者模式。

同时发现,系统在打印输出Development login
enable后,大约2.3S然后再输出no,所以这中间的代码执行,就是执行的is_production_hardware是否为0的代码校验。

![](https://img-
blog.csdnimg.cn/img_convert/c3b550546cf6d34e1ab60a63f8c8e2cd.png)

图2-1 StarLink 开发者模式校验

  1. 于是可得出安全猜想,在is_production_hardware是否为0的代码校验的过程中进行电源毛刺注入,有可能引起代码逻辑运行异常,进入开发者root模式shell。

![](https://img-
blog.csdnimg.cn/img_convert/ec1e91f5be40dee3afbdb014235079ba.png)

图2-2 StarLink 开发者模式校验电源毛刺注入

  1. 通过ChipWhisperer进行电源侧信道攻击测试,发现经过多次试验后,可成功绕过is_production_hardware是否为0的代码校验过程,进而获取开发者root shell。

ChipWhisperer是一种开源硬件和软件平台,主要用于侧信道攻击和安全评估等领域。通过ChipWhisperer,可以进行低功耗设备的攻击和安全分析,包括使用电磁辐射分析(Electromagnetic
Analysis,EMA)和功耗分析(Power Analysis,PA)等技术来破解密码和获取设备的敏感信息。

通过ChipWhisperer平台,安全研究人员可以进行侧信道攻击和安全分析等操作,以测试设备的安全性和可靠性,并提出改进建议和安全措施,以保障设备的安全性和保密性。

![](https://img-
blog.csdnimg.cn/img_convert/b06110482a71e73febcfeb34859d55fc.png)

图2-3 StarLink ChipWhisperer电源侧信道攻击

  1. 另外,在Glitched on Earth by Humans:A Black-Box Security Evaluation of the SpaceX Starlink User Terminal中,同时介绍了绕过uboot安全启动的方法。

![](https://img-
blog.csdnimg.cn/img_convert/6fdf9fbd6e6f013febc45fd2155e1353.png)

图2-4 Uboot安全启动流程

  1. 作者利用其开发的硬件设备,成功实现了Uboot安全启动流程的绕过机制。

![](https://img-
blog.csdnimg.cn/img_convert/a82b5399ddcd0d67bf616fc83dd05224.png)

图2-5 Uboot安全Hack工具

三、Starlink终端固件逆向总结

1. 本文主要介绍了 SpaceX 推出的 Starlink
终端设备的硬件固件安全分析方法,以及其相关的通信协议和安全机制。通过对终端设备的拆解和逆向分析,发现该设备开放了 UART
硬件端口,可以通过串口进行安全调试和攻击。同时,该设备的 eMMC 芯片预留了测试点,可以通过测试点提取存放在其中的固件。本文还介绍了利用
ChipWhisperer 进行电源侧信道攻击的测试,以绕过设备的代码校验过程并获取开发者 root shell。

2. 本文所提到的固件及相关资料可从下面连接获取:

https://github.com/MasterTaiBai/Sat-Hacking

Sat-Hacking愿景:成为一名合格的卫星黑客需要长时间的学习和实践。只有通过持续的努力,掌握各种卫星安全知识和技能,才能真正成为一个专业的卫星白帽子。

在此祝愿安全爱好者及从业人员都能够取得成功,实现自己的梦想,为网络安全贡献自己的力量!

![](https://img-
blog.csdnimg.cn/img_convert/327012a5944a7962c1392fa57eec518f.png)

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值