欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[翻译]用UART黑安卓手机硬件

[翻译]用UART黑安卓手机硬件

我听到你们有些人在问了:“UART是什么?”。不需要怕,这并不是出于你身怀不治之症的哀嚎,UART全写为“Universal Asynchronous Receiver/Transmitter”(通用非同步收发传输器)。这样说可能不太清楚,如果叫他做“RS232”或者“RS423”的话,或许你们当中有些老鸟开始明白了,这是一块将系统资料转换成序列资料的晶片(译者注:然后我们就可以通过这块晶片提供的特殊接口进入系统)。


我们当中或许还有些人记得在那悠久的黄金时代(认真的吗?)我们把玩着Unix系统和整间房子大小的大型主机所提供的命令行,我们大声诅咒者让我们艰苦难熬的串行端口,但是这些端口确实提供一种方法让我们可以读取甚至可能输入资料到这些机器的控制台,从而容许我们暂停开机程序并且在装置上刷入自己的代码和固件。这些端口通常都在设计阶段就已经包含到装置里,所以除非你把主板改造一番,不然在装置报废之前都无法关闭他们。


大部分的消费电子产品都有一些串行端口存在,例如和UART功能类似的JTAG端口:在生产的时候或者在收回和修复的时候用来测试他们的装置(作者的blog还有关于JTAG的文章)。这些端口的接口通常都会在出厂之前移除掉,例如在作者的一个旧Belkin无线路由器上就只有些洞留下来(而移除了接口的介面):


右边的四个洞洞是UART端口(右边的洞则是给USB端点用的),这个路由器让我们可以轻易上手,因为这些洞都已经标记好应该对应哪条线。进行实际操作我们需要把这些洞连到一个USB接收器,然后我们可以访问路由器的系统控制台(指令行一样的东西,视乎工程师的细心程度可以让你主动进行操作或者只能让你被动地看系统输出的资料)。


为了让我们更容易接线,我们先焊接一些针接头到这些洞里,就好像下图所示。因为本人不擅长焊接所以我是不会给你看背面的:)


好了,现在我们可以把这些线接到一个“USB to UART module”(USB转UART模块)。这些东西很便宜,刚刚看到天猫有卖。这个东西会处理好所有无关痛痒的事情,你只需要把线插好然后当它是一个串接端口用就可以了。


最后我们只需要对齐这些线,不要插错了:

 功能路由器针脚  USB转UART模块针脚 信号接收RX TX  信号传输TX RX  3.3V供电VCC 不要接线  地线GND GND 

把他们连好之后就可以插进电脑里了:


你们或许会感觉被我骗了,因为我那个蓝色的路由器不可能插了线就变绿了。其实不是我骗你,是因为这个绿色的老古董Sagem路由器才是我真正测试的设备,只不过我忘记拍照片指出UART那几个洞洞是什么样子所以只好用其他路由器来补了两张照片放在前面。


总之你现在可以用你喜欢的串接端口工具,例如HyperTerm或者minicom之类的,然后给路由器接上电源看他开机的过程:


这是个简单的技巧,你现在可以尝试传输恶意的固件到你的路由器撷取经过这个无线路由器的封包……除非你的路由器很严格而你也觉得这样太麻烦还不如课金去买个小小的装置插到路由器上来监听封包。


不过我们不是教你如何进行无线网络攻防,所以我们继续看怎么把这个小伎俩应用到手机上。


作者一位同事写了一篇文章关于如何通过耳机插孔来接入Nexus 4的UART端口(译者注:这篇文章似乎已经佚失,链接好像已经死了:how to connect to UART on a Nexus 4)。


简而言之,如果你测试发现一个装置的耳麦插孔在没有播放声音的时候有超过2.8伏特的电压的话,那么这个耳麦插孔很可能是连接着一个UART端口。


于是,我们又再焊接了一些东西,把一些线焊接到一个耳麦插针上,我们省却了一个电阻器,因为反正这个插孔很安全(USB转UART模块的电压是3.3伏特,耳机用的电压也差不多所以就懒得焊电阻了)


这次我没办法把我的焊接点藏起来,只好硬着头皮献丑了:


然后我们就可以把这个东西连接到另一个USB转UART模块上面然后连到我的电脑上:


然后我们可以通过手机的指令行界面看到这个装置开机的过程:


当系统开启完毕之后,它还会继续更新有关硬件状态的的资料,你可以试试在装置运行途中进行连接,大概也能进入这个界面。

有些手机(例如三星的Galaxy S2)容许通过UART进行双向沟通,于是我们可以进行一些低层次的技术操作,例如我们可以重置手机的 “yellow flag”标识(当一个未经官方签署的ROM被刷进手机的时候会自动设置“yellow flag”表示手机使用的系统不是官方的)。


总结来说,执行简单的硬件操作是可以相当迅速的,最慢的步骤是要等淘宝买的零件到货,最长的手续则是焊接工序(尤其是对于不擅长焊接的人来说)。虽然这看起来并没有及时的危害,但是我们可以换自己喜欢的固件进去随意把玩(换恶意固件然后再卖出去?)。继续研究下去的话,或许还会发现些什么。


原文https://www.pentestpartners.com/security-blog/how-to-hardware-hack-android-over-uart/


注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功