anysoft 发表于 2023-4-20 11:14:39

烽火HG5143F 电信光猫开telnet整理(烽火新型号应该通用)

本帖最后由 anysoft 于 2023-6-25 10:05 编辑

固件不断地更新,厂商和运营商也不断的修补漏洞和后门一些以前的方法已经失效了。

该帖中修正一种方法中key,新增一个开telnet脚本。

闲话不多说直接上东西。


开telnet
默认其实telnet服务是开启的,只是防火墙策略禁止外部访问,而所谓开telnet其实是让防火墙放行23端口。

1. 管理后门
利用 telnetenable.cgi传入 key 和 telnetenable 参数值开启telnet,这个属于管理后门性质接口。几乎所有版本都有,通用性高,但是key在各个版本之间可能存在差异。具体可以捅菊花后获取固件内程序后文件分析。

老版本:key=FH-nE7jA%5m光猫MAC后6位全大写
新版本:参考附件




附上telnetenable.cgi代码
#!/bin/sh
echo Content-type: text/html
echo

BR_MAC=`cat /sys/class/net/br0/address | sed 's/://g' | awk '{print toupper($0)}'`
if [ -n "$QUERY_STRING" ]; then
      for paramIndex in 1 2
      do
                CGIParam=`echo "$QUERY_STRING&" | cut -d '&' -f ${paramIndex}`
                par=`echo "$CGIParam" | cut -d '=' -f 1`
                val=`echo "$CGIParam" | cut -d '=' -f 2`
                if [ "$val" != "" ]; then
                        case $par
                        in
                        "telnetenable")
                        TELNETENABLE=$val
                        ;;
                        "key")
                        KEY=$val
                        ;;
                        esac
                fi
      done
fi

if [ "$BR_MAC" == "$KEY" ]; then
      if [ "$TELNETENABLE" == "1" ]; then
                iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
                iptables -I CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
                /fhrom/bin/telnetd -p 23 >/dev/null 2>&1
      elif [ "$TELNETENABLE" == "0" ]; then
                killall telnetd >/dev/null 2>&1
                iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
      fi
else
      echo "<html>
                <head><title>404 Not Found</title></head>
                <body>
                <center><h1>404 Not Found</h1></center>
                </body>
                </html>"
      exit 0
fi


echo "<html><head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
</head>
<body>
<script type='text/javascript'>
if ( '$TELNETENABLE' == '1' )
{
      document.writeln('telnet开启');
}
else if ( '$TELNETENABLE' == '0' )
{
      document.writeln('telnet关闭');
}
else
{
      document.writeln('无操作');
}
</script>
</body>
</html>





2. 接口越权


此处利用光猫接口未做权限及操作分离的设计,在登录超级账号后脚本调用接口开启telnet

脚本参考附件






脚本实现了上述1,2 两种方案。
被坑了几千猫粮下载的固件无法刷入,所以写个教程和脚本赚点猫粮{:7_198:}


maozijx 发表于 2023-7-22 00:06:12

上海电信最近用的是HG-5143F V2,这个方法似乎不行,192.168.1.1/cgi-bin/telnetenable.cgi 会被TCP reset,如何解?

anysoft 发表于 2023-4-20 11:16:59

脚本采用python编写,安装python3之后直接执行脚本就行
python3 opentelnet.py

gzfslz 发表于 2023-4-25 11:14:28

不懂,学习学习

245668 发表于 2023-4-25 15:52:22

牛皮,学习学习

anysoft 发表于 2023-4-26 09:07:39

245668 发表于 2023-4-25 15:52
牛皮,学习学习

总的来说就是利用固件本身的一些未开放接口来打开开关而已。

ziqinyy 发表于 2023-4-26 11:27:17

有没有改SN码命令,开了telnet 不知道输命令

245668 发表于 2023-4-26 16:47:33

anysoft 发表于 2023-4-26 09:07
总的来说就是利用固件本身的一些未开放接口来打开开关而已。

四川移动版本的烽火光猫可以开启telnet吗?

245668 发表于 2023-4-26 18:08:30

anysoft 发表于 2023-4-26 09:07
总的来说就是利用固件本身的一些未开放接口来打开开关而已。

四川移动烽火光猫可以这样开telnet吗?

lizichun88 发表于 2023-5-6 09:46:18

我的光猫被限制不能用FIWI,怎么办,我不想多挂一个FIWI设备

bg5bbl 发表于 2023-5-6 16:41:09

"$BR_MAC" == "$KEY"
页: [1] 2 3 4 5 6 7
查看完整版本: 烽火HG5143F 电信光猫开telnet整理(烽火新型号应该通用)