对TP-Link TL-WR841N无线路由器的逆向剖析实战 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

对TP-Link TL-WR841N无线路由器的逆向剖析实战

申博_新闻事件 申博 186次浏览 已收录 0个评论

TL-WR841N是一款价格低廉(18美圆)且异常受欢迎的Amazon.com路由器。它是截止到如今Amazon.com上十大最热销的路由器之一。作为一款盛行的路由器,TP-Link已在TL-WR841N这款装备上宣布了屡次版本更新。

OpenWRT支撑此路由器的旧版本更新多是此路由器云云受欢迎的浩瀚缘由之一。OpenWRT是嵌入式装备的Linux发行版,网上有许多操纵指南和教程,内容触及怎样为此装备的旧版本设置硬件调试接口。然则,因为OpenWRT已不再支撑此装备的后续版本,因而有关较新更新的教程数目已逐步削减。

在这篇文章中,我们将运用TL-WR841Nv14路由器,并概述运用BusyBox和gdbserver在此装备上设置长途调试所需的步骤。

0x01 TL-WR841Nv14路由器

该路由器运用的是IEEE 802.11n手艺,可提供高达300 Mbps的吞吐量。它有两个不可拆开的天线,此路由器的外壳仅经由过程底部的两个螺钉牢固,标签下面没有任何螺丝钉。

对TP-Link TL-WR841N无线路由器的逆向剖析实战

图2 – 路由器的底部

除了螺钉外,外壳还经由过程7个夹子紧紧牢固,这些夹子异常牢固,我们花了很长时刻去掉这些夹子。

翻开路由器外壳,我们可以看到一切重要组件:带有MIPS24Kc处理器的MEDIATEK MT7628NN片上体系(SoC),ZENTEL A3S56D40GTP-50 256MB SDRAM和GigaDevice 25Q32CSIG SPI闪存。

电路板由4个registration marks牢固,没有运用任何螺钉。PCB的下面只要用于通孔元件的焊盘,外表的组件只要顶部装置。这些设想细节表明PCB已优化过,如许可以降低成本。

在电路板正面四周,在SPI闪存四周的J1处有一个UART调试接口。电路设想师标记了RX和TX引脚,运用万用表疾速丈量Vcc引脚显现它是3.3V接口。如许可以轻易我们在一些针头上焊接。

0x02 get shell

在我们的试验室中,我们只要一个5V USB到串行TTL的电线。荣幸的是,我们另有一个基于BSS138的双向逻辑电平转换器。逻辑电平转换器许可我们的5V电缆经由过程将USB信号从USB转换为路由器所需的3.3V信号,与3.3V UART接口通讯。我们可以经由过程逻辑电平转换器将5V电缆的RX,TX和接地引脚衔接到PCB的3.3V UART接口。有意将Vcc引脚坚持未衔接状况,以防止破坏目的板。

运用PuTTY衔接到串行接口,波特率为115200。

衔接胜利了!我们如今从路由器的UART输出,但路由器对键盘输入没有响应,究竟是怎么回事?以下是我对设置举行毛病消除的步骤:

1 .考证串行线路是不是一般

线路的TX衔接可以断开了,而没有将信号发送到路由器。为了考证线路的连通性,我用跳线短接了电缆的RX和TX引脚,并运用PuTTY检察屏幕上涌现的本身的按键。如许做有助于我们考证我们的USB转串口线路是不是一般事变。

2.考证逻辑电平转换器是不是有用

运用硬件时,任何事变都是可以发作,逻辑电平移位器可以具有弱焊点而且不能准确地将TX信号传输到路由器。我们可以经由过程用示波器视察逻辑电平转换来考证逻辑电平转换器的功用。我们设置CH1来探测来自电缆的TX信号,并设置CH2来探测逻辑电平移位器的输出。在本试验中,我们仅将电平转换器输出衔接到示波器的CH2,并将其与路由器断开衔接。

然后,我们运用PuTTY衔接发送空格字符以建立信号并取得以下输出:

从上图中,我们可以看到CH2的波形与CH1婚配并具有预期的电平移位信号。另外,数字示波器准确解码UART信号并显现正在传输的空格字符(ASCII 0x20),这一步协助我们考证了我们有一个一般事变的逻辑电平转换器。

到这个时刻,我们晓得线路,逻辑电平转换器和路由器都在按预期事变,但不知何以,它们在衔接在一起时不起作用。我将这个题目发到了Twitter:

对TP-Link TL-WR841N无线路由器的逆向剖析实战

运用osquery举行长途取证

Osquery是一个SQL驱动操作系统检测和分析工具,它由Facebook创建,支持像SQL语句一样查询系统的各项指标,可以用于OSX和Linux操作系统。另外,osquery是一个多平台软件,可以安装在Linux,Windows,MacOS和FreeBSD上。它允许我们使用基于SQL的查询来处理操作系统的配置文件、性能和安全检查等。 另外,系统管理员使用osquery可以对端口进行远程控制和日常监控,安全管理员也可以使用它来寻找系统上潜藏的攻击指标。现在,取证人员也开始注意到osquery了。虽然osquery 的核心服务

3.调试悉数设置

完成上述两个步骤后,我们可以看出一切组件都可以零丁事变,但连在一起就不行了。这表明设置中存在体系毛病,我们根据图9中的原理图从新衔接了一切部件,并继承运用示波器举行检察。此次,我们设置CH1来探测来自电缆的TX信号,并设置CH2来探测路由器RX引脚上的信号。在PuTTY终端中发送空格字符会从示波器中发作以下输出:

CH2仍在转换电平,除了逻辑高电平如今只要1.52V!须要进一步检察。。。。。

4.测试路由器

假如仔细视察J1 UART讨论四周的电路,可以找到引脚头四周的三个SMT电阻,即R18,R87和R89。运用万用表上的连续性测试功用,我们肯定R18是衔接到RX引脚的1kΩ电阻。这就是题目所在!

我们不想去除SMT元件,接受了破坏路由器的风险,直接将5V RX信号从串行电缆插进去路由器的RX引脚。

如今涌现了功用完全的双向串行终端:

以下是完成的硬件设置,不须要示波器了。

0x03 检察shell

当我们在shell中检索时,发明固件是基于Linux的,而且运转着一个异常陈旧的Linux内核。

为了节约空间,许多Linux有用程序已从装备中删除,装备上的shell功用异常有限,而且装备上的BusyBox有用程序也异常简朴。

对TP-Link TL-WR841N无线路由器的逆向剖析实战

图17 – 路由器shell上的可用敕令

0x04 上传BusyBox和gdbserver

BusyBox是一个经由大小优化的Linux有用程序包。因为文件比较小,因而异常适用于嵌入式Linux装备。我们从串行接口取得的shell具有有限的功用就是BusyBox精简版本。经由过程装备上现有的TFTP客户端上传我们本身的full BusyBox,可以让轻易剖析逆向。可以在官方网站上找到预编译的小端MIPS BusyBox二进制文件。

运用该mount敕令,可以看到/var是存储BusyBox二进制文件的唯一可用分区。因为/var是一个ramfs范例的文件体系,当路由器从新启动时,写入的文件将会悉数消逝。

可以运用以下敕令将BusyBox和gdbserver文件传输到路由器上:

对TP-Link TL-WR841N无线路由器的逆向剖析实战

图19 – 装置BusyBox和gdbserver

在向文件增加实行权限后,可以实行我们的BusyBox版本并可以接见更多Linux有用程序。

0x05 设置GDB

假定我们想调试dropbear路由器上的SSH服务器。在启动GDB服务器之前,应当提取目的二进制文件并将其保存到将要运转GDB客户端的盘算机上,这有助于将调试标记加载到GDB客户端。

找到dropbear SSH服务器的PID后,在路由器上运转以下敕令启动GDB服务器:

 gdbserver localhost:23947 --attach <PID>

在GDB客户端主机上,运转以下敕令:

 gdb-multiarch -x dbgscript

gdbscript的内容以下:

对TP-Link TL-WR841N无线路由器的逆向剖析实战

如今已胜利衔接到了gdbserver,如许就可以逆向剖析并发掘一些破绽了:

0x06 总结

许多研讨员不愿意深入研讨硬件破绽研讨,个中一个缘由是,环境中会涌现许多没法预感的事变。发作这类状况时,起首考证每一个组件是不是零丁一般事变, 然后从已知的事变组件,经由过程丈量连续性,电压和信号来考证衔接是不是一般。末了,运用示波器有助于对硬件举行毛病消除。

本文翻译自:https://www.zerodayinitiative.com/blog/2019/9/2/mindshare-hardware-reversing-with-the-tp-link-tl-wr841n-router


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明对TP-Link TL-WR841N无线路由器的逆向剖析实战
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址