烽火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:}
上海电信最近用的是HG-5143F V2,这个方法似乎不行,192.168.1.1/cgi-bin/telnetenable.cgi 会被TCP reset,如何解? 脚本采用python编写,安装python3之后直接执行脚本就行
python3 opentelnet.py 不懂,学习学习 牛皮,学习学习 245668 发表于 2023-4-25 15:52
牛皮,学习学习
总的来说就是利用固件本身的一些未开放接口来打开开关而已。 有没有改SN码命令,开了telnet 不知道输命令 anysoft 发表于 2023-4-26 09:07
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
四川移动版本的烽火光猫可以开启telnet吗? anysoft 发表于 2023-4-26 09:07
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
四川移动烽火光猫可以这样开telnet吗? 我的光猫被限制不能用FIWI,怎么办,我不想多挂一个FIWI设备 "$BR_MAC" == "$KEY"