路由器串口新思路
串口对于搞IoT的同学一定不陌生,关于如何辨别串口,利用串口获取敏感数据,甚至获取权限的思路也有很多人分享。这里介绍另外一种比较有意思的获取权限的方式。
拆开路由器外壳后,发现PCB的丝印明确标记了VCC/RX/GND/TX,厂家真贴心,省去了辨别引脚定义和顺序的时间,直接接上串口开搞。
将串口连上电脑后,发现路由器上电无法启动了,拔掉串口之后才可以正常启动。经过排查,串口的TX的线连接到了PCB另一面的主控芯片一侧,由于主控是BGA封装的,无法确认具体连接到主控芯片的哪个引脚。根据现象,推测是连接到了主控芯片的BOOT相关的引脚,当TX连接到电脑后,引脚电平被拉高,导致主控芯片无法启动。
既然这样,就只能先让设备启动,然后再连接串口,这样就可以获取到路由器启动日志信息了。在尝试打断uboot查看环境变量时,发现无法打断,设备启动完成之后也没办法输入用户名密码,有点懵了,连console都没有吗?经过检查之后,发现串口的RX引脚旁边有一个下拉电阻,会把所有串口从外部输入的数据屏蔽掉,导致无法打断uboot,也无法在系统启动完成之后输入用户和密码。
拆掉RX引脚的下拉电阻后,就可以打断uboot了,然后看到uart_en=1,路由器的串口应该是被使能的,后面如果能拿到密码的话,可以通过串口干一些事情。
串口可以正常使用了,设备启动完成之后,先简单尝试一下弱口令吧,万一呢,正当准备输入时,却发现。。。。
ARE U OK
没想到权限来的这么突然,后面就可以愉快的调试了。
总结
这个路由器在硬件层面对串口做了两层防护,应该会对硬件基础不太好的同学比较麻烦,但是排除掉硬件方面的防护后,系统层面该有的鉴权却是空白的,实属不应该啊。在这里又验证了信息安全的木桶理论,一个产品的信息安全水平取决于最短的那块木板,即使其他木板加固的很好,有一块短板都会给攻击者提供可乘之机。
以上,希望可以对大家有帮助。