0%

获取中国联通VN007的root密码

中国联通VN007自带一个root(超级管理员用户)用户,但密码没有公布,获取到密码后可以进行锁定物理小区等操作。本文介绍获取root密码的方式。

原理

对VN007进行端口扫描后发现,vn007的adb端口是开放的,如下所示:

1
2
3
4
5
6
7
8
9
$ nmap -A 192.168.0.1 -Pn
Starting Nmap 7.70 ( https://nmap.org ) at 2021-11-04 23:00 CST
Nmap scan report for 192.168.0.1
Host is up (0.0076s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
53/tcp open domain dnsmasq 2.80
80/tcp open http mini_httpd 1.30 26Oct2018
5555/tcp open freeciv?

其中5555是adb端口,连接adb获取shell后,从配置文件中获取了root密码。下面是具体步骤。

第1步:安装adb

  1. 下载SDK Platform-Tools

  2. 下载得到一个压缩包platform-tools_r31.0.3-windows.zip,解压后进入其中的platform-tools文件夹.
    ADB工具.png

第2步:获取adb shell

  1. 在地址栏(上图红框中)输入cmd三个字母,打开一个命令行窗口。

  2. 在命令行窗口输入命令adb connect 192.168.0.1:5555连接路由器的adb端口,然后再输入命令adb shell获取进入shell命令行模式:
    vn007获取root shell.png

    如果adb connect连接失败怎么办??请翻到本文后面查看vn007开启adb端口的方法

进入shell后,可以看到当前用户是root用户。

第3步:获取root密码

密码存储在配置文件/tmp/mdlcfg.sysconfig中的SYS_SENIOR_LOGIN_PWD变量,使用下面的命令获取密码:

1
cat /tmp/mdlcfg.sysconfig | grep SYS_SENIOR_LOGIN_PWD

如下如所示(每台设备的密码不一样,密码已打码):
VN007的root密码.png

登录管理后台

获取到root密码后就可以登陆管理后台啦~
用户是root,密码就是前面获取的。后台管理界面如下图所示:
vn007超级管理员后台

vn007开启adb端口的方法

部分VN007、vn007+的固件版本没有开启adb端口,需要手动打开,步骤如下。

  1. 使用admin账号登录路由器管理后台。

  2. 按下F12打开浏览器控制台,切换到Network选项卡(如下图所示)。

  3. 网页会不停地发送数据包到http.cgi,随便点击一个,然后切换到Payload:
    VN007开启adb端口.png

  4. 如上图所示,在payload中有一个SessionId,复制一下。

  5. 接下来需要发送一个开启adb端口的命令到路由器,具体操作如下:

    1
    2
    3
    4
    $.post(
    'http://192.168.0.1/cgi-bin/http.cgi',
    '{"adbSwitch":1, "cmd": 237, "method":"POST", "language":"CN", "sessionId": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"}',
    function(result){ console.log(result) })

    完整复制上面这段代码,把其中的eeeeeeeeeeeeeeee部分换成刚刚复制的sessionId。

  6. 切换到Console标签,把修改后的代码粘贴进去,按回车执行,显示success即开启adb端口成功,如下图所示:
    VN007开启adb端口.png