首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

TP-Link TL-841N 的生根、固件分析和持久凭证

摘要

The rooting, firmware analysis and hardcoded, reset-persistent credentials of the TP-Link TL-841N! 2 Aug 2026 Now, let me just preface this with a disclaimer: … and get used to this puppo, as you may ...

the UART this firmware and for get router was end
2026-08-03 1 阅读 约6分钟阅读 mindracer
分享:
字号:
TP-Link TL-841N 的生根、固件分析和硬编码、重置持久凭证! 2026 年 8 月 2 日 现在,让我以免责声明作为序言:……并习惯这个 puppo,因为您可能会在这篇文章中多次看到它:')。鉴于我继续笨手笨脚地涉足硬件黑客领域,我在 Facebook Marketplace 上从一个随机的家伙那里购买了一台 10 美元的最便宜的 TP-Link TL-841N(EU) 路由器,这是在附近一家购物中心进行的一次令人兴奋的高风险交易。在这种大胆的交流背后,我的目的是练习拆开物联网设备来查看它的端到端过程,访问调试日志,可能获得 root shell,练习各种固件提取(通过 UART 和片上闪存),甚至对文件系统进行一些研究,以防止以后出现一些潜在的安全漏洞。以下是迄今为止的旅程的简短概述,记录如下: 1. 破解它:查找 UART 并进行连接 2. 转储固件(方法 1. - UART 和 tftp) 3. 转储固件(方法 2. - 片上 flashrom 芯片提取) 4. 取消压缩根文件系统 5. 看看 - 初步窥探/分析 坚持到最后发现什么可以在该设备上找到来自前任所有者(经过审查)的各种明文、硬编码的信用信息……其中之一甚至可以在完全“路由器重置”后幸存下来。是的。有点……没有布埃诺?让我们深入研究一下。 1. 破解:找到 UART 并进行连接 我首先在 FCCID 上搜索路由器型号,检查其数据表,获取有关 PCB、电压水平和板上可用芯片的信息。打开它并找到用于串行/调试接口访问的标记良好的 UART 端口非常简单,但有一个奇怪的地方是闪存位于我的板的底部 - 型号为 GD25Q64CSIG(数据表)。找到带壳路由器(左)上的 UART 端口(右图的四个“红绿灯”孔) 如果您的设备对标签不太友好,您还可以在启动时使用万用表探测每个可疑的 UART 端口,以确定哪个引脚是哪个 - 设备的 TX 引脚在启动过程中应该有波动的电压(因为它以串行 1 和 0 的形式传输各种启动日志,对应于电压的波动),并且 GND 引脚应该是0V。在启动时探测可疑的 UART 引脚,直到发现一个电压电平波动的引脚(即不是我的路由器的标准稳定 3.3V 或 0V),表明它可能是“TX”端口。我值得信赖的 AliExpress USB-to-UART 适配器(我检查确认它支持 3.3V 和 5V 输出,所以我们不会炒任何东西)具有以下引脚分配/电线颜色: # 四色杜邦终端接线 红色:5V 黑色:GND 绿色:TX 白色:RX 因此,我将 USB GND 连接到路由器的 GND 端口(或者可以只触摸板上的接地金属),将 USB RX 连接到发现的路由器路由器的 TX 端口,以及 USB TX 到路由器可疑的 RX 端口(可以通过尝试剩余的两个引脚来找到该端口,直到连接后通过在键盘上乱按一个键来获得成功的输入)。我将其焊接起来以获得更好/持久的连接和即插即用功能😜。焊接“GND”、“RX”和“TX”引线即可免提访问调试界面!一旦我确定了我的 USB-to-UART 设备是什么 /mnt/dev 设备并与 picocom -b 115200 --logfile bootlog-tplink.txt /dev/tty.usbserial-1210 (使用通用波特率 115200 ,有效)连接,我们可以看到我们再次进入 root shell!太容易了😅。 (我还尝试将手机连接到生成的 TP-Link Wifi 网络,这会生成上面看到的额外日志)通过路由器的 LAN 端口之一直接连接我的计算机,我们可以分配一个 IP 并按预期访问管理控制台:Home sweet home...但是我们如何进入? 2. 转储固件(方法#1 - UART 和 tftp)所以,现在我可以查看并导航文件系统,我想将其转储并传输到我的本地设备以执行一些初步分析!在 /proc/mtd 中列出闪存分区以及一些其他安装详细信息,为我们提供了一个很好的起点:有关路由器配置的内存分区的一些初步详细信息准备我们的接收 TFTP 服务器因此我们可以传输固件文件,我在我的 Mac 上使用 tftp-now 服务安装并启动了 tftp-now 服务器(使用 brew ,就像在苹果硅上一样)。注意:确保在您的主目录中创建一个与您在路由器上传输文件的位置相对应的文件夹(对我来说,从 ~/var ),否则当 tftp 代理尝试将其远程文件放到您的计算机上时,您会收到“不存在这样的文件”错误(因为它在上传文件的路径相同, /var/ )。为了解决下面显示的(许多)错误,我在 ~ 主目录中创建了一个临时 var 文件夹,以与路由器的 tftp 想要“放置”到的文件路径相匹配:我的 tftp-now 服务器
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱