起因
听大师傅说天翼安全网关可以telnet登录,回去尝试了下发现并没有开放telnet端口,把目标转向如何开启,经过一系列搜索,最后拿下网关
信息泄露
我家这个网关型号是 HG261GS,经过一番搜索,发现访问 http://192.168.1.1/cgi-bin/baseinfoSet.cgi
可以拿到密码
然后搜索密码的加密方式,得到工程账号的密码,加密算法为加密算法:字母转换为其ASCII码+4,数字直接就是ASCII码
之后登录
命令执行
在后台转了一圈没发现开启telnet的地方,经过一番搜索,找到这个版本存在命令执行的问题,访问http://192.168.1.1/cgi-bin/telnet.cgi
通过InputCmd
参数可以直接执行系统命令,然后访问http://192.168.1.1/cgi-bin/telnet_output.log
可以看到执行结果,通过js下的telnet.js
也可以访问http://192.168.1.1/cgi-bin/submit.cgi
得到执行结果
测试一下效果
结果
这样就找到了个rce点,开始的想法是反弹shell,后来发现大部分命令都没有,是个BusyBox,打算用awk弹个shell,又碰见编码问题,试了很多种方法写不进去,这里就想着直接老老实实开启telnet登录,搜索了一波怎么进入系统
- 硬件牛盖子一拆就能长驱直入了,我也想,但是实力不允许
- 首先先导出原配置文件,在管理-设备管理,插个U盘,备份配置即可
这里导出配置感觉不太合适,万一弄坏了其他人都上不了网了,拆盖子又不会,那么只能继续摸索,转换下思路,既然有配置文件,那么肯定有读取配置文件去开启的功能,直接find搜索所有cgi文件InputCmd=find%20/%20-name%20"*cgi*"
,找到一个名叫telnetenable.cgi
的文件,这不就是开启telnet的东西嘛
直接读取内容,找到开启方法
发现还是不能连接,经过排查,网关开启了防火墙过滤,阻止了23端口的连接,这里找到对应的iptables链和规则行号,直接删除,比如要删除INPUT链的第三条规则,可以执行iptables -D INPUT 3
,然后添加23端口允许通过,效果如下
添加用户
成功进入登录页面,尝试使用读到的工程账密码和光猫背面默认密码登录,然而都登不上去
这里直添加一个Linux用户test/password@123
echo "test:advwtv/9yU5yQ:0:0:User_like_root:/root:/bin/bash" >>/etc/passwd
登录成功~
最后记得关掉telnet,光猫作为出口,会有个公网地址,开启后公网也可以远程登录进来关闭命令killall telnetd >/dev/null 2>&1
转自:先知社区