tplink企业vpn路由器GetShell
闲鱼上淘到某款企业vpn路由器,比较早的设备。
拿到某款设备肯定要想办法拿到固件来分析,并搞到getshell来干更多好玩的东西。
前期尝试
通过官方网站下载的升级固件,尝试升级。
寄!
尝试扫描端口查看是否开启ssh。
寄!
都无效,也没有查到历史漏洞,只能拆了。
串口通过调试,并不能获取到任何数据,可能是给关掉了。
基本思路均失败。
发现配置文件,尝试新思路
在系统工具,设备管理中发现备份设置,该品牌设备多是基于openwrt开发,所以我们将希望寄托在备份文件中。
尝试下载备份文件。
分析发现为gzip压缩文件,直接解包。
发现了dropbear,passwd,shadow等文件,思路这不就来了。
首先尝试修改dropbear配置文件,将其改为开机自启。添加自定义用户,权限组为root,并设置其密码为自定义,方便dropbear打开后能正常登陆shell。
通过关键字搜索,发现dropbear配置文件
将ssh_port_switch修改为on,使设备启动时打开ssh
并记住其端口,33400
先将其打包恢复备份,查看是否有签名校验。
成功恢复,证明没有签名校验,然后尝试ssh连接设备
成功开启ssh,下一步就是创建自定义用户,是我们能够成功登入系统
修改passwd和shadow文件
修改passwd文件,这里我创建了一个与root一样的用户pipi
在shadow中给pipi用户设置密码,这里自定义即可,也可以直接复制自己linux机器的用户名密码
在次打包,将其恢复。
成功登入,可以发现其就是一个openwrt。
cat /proc/cpuinfo后可以发现其设备为mips架构,使用的是高通骁龙QCA956X的一款芯片。
openwrt可玩性很高,这里不多赘述。
提取固件
getShell之后可以尝试使用dd命令来提取固件,大概思路如下。
使用cat /proc/mtd来查看分区
使用dd命令来直接提取分区
得益于openwrt的各种命令都比较完整,可以用nc 等方式将固件下载到本地来进行分析。
以上就是通过修改备份文件的思路来GetShell。