5分钟教程:如何通过UART获得root权限

标签: 极客 root UART | 发表时间:2018-03-03 13:00 | 作者:Alpha_h4ck
出处:http://www.freebuf.com

1.png

写在前面的话

你知道物联网设备以及其他硬件制造商是如何调试和测试自家设备的吗?没错,绝大多数情况下,他们都会留下一个串行接口,这样就可以利用这个接口并通过shell来读取实时的调试日志或与硬件进行交互。现在主要有两种不同的串行接口,但最常见的一种是通用异步收发器(UART)。

在这篇文章中,我们将讨论如何通过UART来与TP-Link WR841N (v9.0)进行连接,整个实际动手操作时间大约在五分钟左右。

UART

在开始之前,我想先跟大家简单介绍一下UART的工作机制,如果你已经了解了的话,可以直接跳过这个部分。

UART指的是通用异步收发器,跟其他串行接口不同的是,它是一种不依赖于时钟的串行通信接口,它可以适用于单向通信、半双工通信或全双工等场景下,通信本身主要是通过数据包实现的:

2.png

寻找UART接口

UART接口在物理设备的电路板上,一般是一个拥有3/4个针脚的面板。在我们的分析场景中(TP-Link WR841N v9.0),端口情况如下图所示:

3.png

当你找到UART端口之后,我们还需要区分每一个针脚的功能(GND, VCC, TX, RX)。此时我们需要按照以下步骤进行操作:

1. 识别GND:关掉设备,把你的万用表调到‘连续模式‘,把黑色探针接地(或接其他金属),然后把红色探针依次与上述四个针脚进行接触,如果发出了“哔哔”声,则说明这个针脚为GND。

2. 识别VCC:把万用表调到“DC Voltage(V-)”,把黑色探头接到GND,然后用红色探头去检查UART针脚。然后接点,如果哪个针脚能够出现恒定的高电压(约3.3V或5V),则说明这个针脚就是VCC。

3. 识别TX:在启动过程中的10-15秒时间里,TX针脚会引起非常大的电压波动,因为启动过程中有很多数据需要传输,方法跟寻找VCC针脚的方法相同。

4. 识别RX:RX针脚在整个过程中电压是最低的,相比不用解释太多了。

识别出了所有针脚之后,你就可以焊接一些连接器上去了(Attify Badge):

4.png

5.png

利用UART与设备交互

在我们真正与UART接口进行通信之前,我们需要先弄清楚波特率(Baud Rate)。所谓波特率,指的是数据在设备之间的传输频率。换句话来说,就是每秒传输几比特的数据。常见的波特率为9600, 38400, 19200, 57600和115200,但是理论上来说,制造商是可以随意设置的。

我们可以使用 devttys0的Python脚本来快速寻找到适当的波特率:

  $ git clone https://github.com/devttys0/baudrate
$ cd baudrate   

下载之后,我们将TP-Link路由器接电,然后在开启设备的同时运行Python脚本:

  $ sudo python baudrate.py

之后,你就可以用上下键来扫描不同的波特率了,这个过程其实跟你调整无线电台频率是一样的。

在我们的测试场景下,TP-Link路由器使用的波特率为115200。

6.png

为了通过UART来与设备进行交互,我们需要运行下列命令:

  screen/dev/ttyUSB0 115200

7.png

Boom!!我们成功拿到了shell的root访问权!没错,就是这么简单!接下来,你可以随意查看或修改设备的文件系统了。

意外情况

下面是我在测试过程中所遇到的一些有意思的情况。

TP-Link的安全性确实不容乐观

近期我还对TP-Link WR841N v.9和v.20进行了测试,而我发现当我通过UART尝试访问v.9路由器的shell时,它会要求我输入用户名和密码。但是v.20路由器却直接给我访问设备shell了。

UART+首次启动=启动失败

如果你连接好UART后首次启动设备失败的话,你可以拔掉TX和RX接头,然后再重启设备时重新连接。此时你将会看到Dropbear rsa/dss密钥的创建信息:

8.png

后续研究

我现在的主要目标是通过UART在这些路由器中创建后门,创建恶意固件,或修改目标设备上的特定文件。除此之外,我还会分析这两个版本路由器之间的区别。希望本文能够给各位同学的Hacking带来一些思路。

* 参考来源: konukoii,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.CO

相关 [uart root] 推荐:

5分钟教程:如何通过UART获得root权限

- - FreeBuf互联网安全新媒体平台 | 关注黑客与极客
你知道物联网设备以及其他硬件制造商是如何调试和测试自家设备的吗. 没错,绝大多数情况下,他们都会留下一个串行接口,这样就可以利用这个接口并通过shell来读取实时的调试日志或与硬件进行交互. 现在主要有两种不同的串行接口,但最常见的一种是通用异步收发器(UART). 在这篇文章中,我们将讨论如何通过UART来与TP-Link WR841N (v9.0)进行连接,整个实际动手操作时间大约在五分钟左右.

linux找回root密码

- - CSDN博客系统运维推荐文章
 “忘记了CentOS(Linux)root管理密码怎么办. 可以通过单用户模式进去系统来修改root密码. 有些时候在忘记了Linux的系统管理员密码的时候,我们可以在本地通过进入单用户模式来重置root密码. 对于CentOS 5.x的版本来说,进入单用户模式的方法有很多,主要的操作都是在进入grub启动菜单的时候进行的,下面说一下常用的两种:.

Linux的root密码恢复

- - 掘金 后端
1.首先,启动系统,进入开机界面,先让光标停在上面这个内核(Core)上,在界面中按“e”进入编辑界面. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的UTF-8最后面输入:init=/bin/sh. 输入完成后,直接按快捷键:Ctrl+x 进入单用户模式.

Droid Bionic 手机一键 root 和取消 root

- bill - 谷安——谷奥Android专题站
摩托罗拉 DROID BIONIC 上市才没过几天,不过一个一键 root 工具已经出现. 而且 root 之后你还可以取消 root,实际上之前已经有一个版本,不过你可以下载新的版本因为新版本中加入了取消 root 的功能. 你可以到 RootzWiki 上参阅更多资料和下载这个工具. © wode 发表于 谷安——谷奥Android专题站 ( http://android.guao.hk ), 2011.

一鍵ROOT機的Android程式《Universal Androot》

- Gene - Android 資訊雜誌 android-hk.com
最近網絡出現很多一鍵 ROOT 機的工具,令不熟悉電腦的用家都可輕鬆完成複雜的破解工作,但其實要透過 USB 連接電腦進行 ROOT 機的方法未算最簡單,最近就有台灣高手利用 Android 系統的漏洞,開發出《Universal Androot》程式,讓用家可直接在手機上一鍵 ROOT 機,而且亦設有 UnRoot 功能來回復原有的狀態,那就不怕因為 Root 機而失去官方的保養.

Kindle 4 Root后更换中文字体

- GaRY - Page to Page
编者按:Mobileread论坛的高手门已经Root了Kindle4(非触摸屏),从而使更换字体变成可能,不过操作步骤偏技术了一些,相信不久就会有更简单的越狱方案出来. 如果你不理解你在做什么,请不要继续. 打开 kindle 4/4.0.1 的ssh登录:. 1)从settings菜单中找到你的serial number.

Android 的提权 (root) 原理是什么?

- - 知乎每日精选
Android的内核就是Linux,所以Android获取root其实和Linux获取root权限是一回事儿. 你想在Linux下获取root权限的时候就是执行sudo或者su,接下来系统会提示你输入root用户的密码,密码正确就获得root权限了. Android本身就不想让你获得Root权限,大部分手机出厂的时候根本就没有su这个程序.

[图]MySQL.com被黑 黑客挂牌出售其root权限

- Adam - cnBeta.COM
Amorize的安全研究人员最近表示,已经确认黑客入侵mysql.com,并通过iframe的方法让用户感染了恶意代码,他们已经追踪到佛罗里达和瑞典两个恶意软件托管地,在当地时间周一下午依然在对mysql.com的访客实施攻击,用户凭据可能已经遭到了窃取,因此建议mysql.com注册过的用户修改自己与此相同的密码.

Nexus 7 已经 root、超频并得到了定制 ROM

- - 谷安——谷奥Android专题站
Nexus 7 平板 200 美刀的价格的确是撼动了整个 Android 平板市场,而且它将本周内正式上市. 而黑客们也是做足了准备,该平板现在已经被 root、超频、定制 ROM 以及 UI,甚至让它具有了完整的平板 UI(而不是看起来类似于手机的 UI). 与以往一样,我们会提醒你做这些操作会有风险.

HTC Super Tool 解锁 Bootloader,可 root 大部分(HTC)设备

- - 谷安——谷奥Android专题站
很显然,很多用户不敢随便拿自己的设备开刀. 因为这不仅仅是保修无效的问题,甚至有着变砖的危险. 这种一键工具倒是博得了“非技术”用户的青睐,因为简单而且也不容易出问题. XDA 的开发者们也知道很多用户折腾不起,所以他们为 HTC 用户带来了这个方便的工具. HTC Super Tool 非常类似于一些专门的工具(比如说 Revolutionary).