本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
作者:7tem7,文章来源:先知社区
听大师傅说天翼安全网关可以 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
戳
“阅读原文”
体验免费靶场!