找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24988|回复: 67

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

[复制链接]
发表于 2023-4-20 11:14:39 | 显示全部楼层 |阅读模式
本帖最后由 anysoft 于 2023-6-25 10:05 编辑 8 ?/ k. R7 f7 ?+ L- m) ?9 x; w
( d3 A$ ?, \& R3 G1 U. I  }9 _  |
固件不断地更新,厂商和运营商也不断的修补漏洞和后门一些以前的方法已经失效了。$ x1 _* X- |! Y) `$ |4 |& s: x3 Z
5 b) _& l/ T( _) P, f
该帖中修正一种方法中key,新增一个开telnet脚本。
, v2 V3 {/ O7 o; u' e: O. i( S: M+ n6 c
闲话不多说直接上东西。
8 Q" [! N9 x; H& w7 F* C: x( n, w8 T& D" Q! m, _! D
. S4 u1 Q+ m: C, J  _
开telnet7 g& n! ^, o8 j6 U# ]
默认其实telnet服务是开启的,只是防火墙策略禁止外部访问,而所谓开telnet其实是让防火墙放行23端口。
+ F3 O0 |7 `5 }0 H1 X2 r

" |: u2 `* b: Q0 @$ R/ c1. 管理后门
) k8 |% m0 w; d) c3 b  J利用 telnetenable.cgi  传入 key 和 telnetenable 参数值开启telnet,这个属于管理后门性质接口。几乎所有版本都有,通用性高,但是key在各个版本之间可能存在差异。具体可以捅菊花后获取固件内程序后文件分析。, L$ x& p9 R7 F( ~, [- Y* G
$ n! R1 V% @4 X  K$ D
老版本:key=FH-nE7jA%5m光猫MAC后6位全大写! ^* O; v5 U! H( o* f! H
新版本:参考附件4 H% [3 X* q1 k1 F9 `8 x
: d6 J: X% P! @& A4 i7 T

/ A0 G  O* ?  r* {- W( w; i: X+ F$ Z* I# _1 }+ C

+ X5 `, L! g0 V/ Y( [4 t# k; r附上  telnetenable.cgi  代码
' ^. e( M8 G  j$ x) C# ?$ U
  1. #!/bin/sh3 G, B$ G) f% [& Y2 p8 d
  2. echo Content-type: text/html
    5 }2 |! h% b( N0 Z) D+ Q. u
  3. echo! V7 e, p, i- a% ~' v
  4. " K' ?9 J" u4 ?, Y3 ?
  5. BR_MAC=`cat /sys/class/net/br0/address | sed 's/://g' | awk '{print toupper($0)}'`
    6 c4 V# S/ c9 I9 c
  6. if [ -n "$QUERY_STRING" ]; then
    , {7 W' M) p5 Y
  7.         for paramIndex in 1 2
    ; h& u: [' r  V/ f- i
  8.         do
    ) Z& u% x' n% y  h" [3 u4 B
  9.                 CGIParam=`echo "$QUERY_STRING&" | cut -d '&' -f ${paramIndex}`
    4 y% r9 n0 {$ r; M
  10.                 par=`echo "$CGIParam" | cut -d '=' -f 1`7 o  ?: e8 A2 {8 w* ~, n9 @* b
  11.                 val=`echo "$CGIParam" | cut -d '=' -f 2`* H$ x, o- C# ~$ I3 J9 B! h
  12.                 if [ "$val" != "" ]; then' l: ]" W- _5 s% j. U
  13.                         case $par
    ; [1 l' o& p/ U' Q2 C& V
  14.                         in
    % h! L) }% q# w( _
  15.                         "telnetenable")# X( P% n3 Y. v  e7 w9 J% q9 ^0 {
  16.                         TELNETENABLE=$val
    5 s! a# `$ [- s) _
  17.                         ;;
    ! [) k2 J' w( T: w$ f
  18.                         "key")' ^3 e. z3 r9 ]# R- G& C5 ]
  19.                         KEY=$val
    / t9 {; k0 O. |/ k0 B4 S' H
  20.                         ;;
    2 o+ S, W0 a' I- ]$ i9 b1 |
  21.                         esac
    ) _$ U7 Z3 }" v: I
  22.                 fi
    1 r. N3 G$ T8 m" b: E; w6 P  m: ]
  23.         done- @" t! Z4 x/ A# b4 u
  24. fi" z! }3 k; r: O/ f6 b+ y# ]
  25. ; {; _" C' [: ?% P% I6 y
  26. if [ "$BR_MAC" == "$KEY" ]; then: H/ p1 X. v, c/ @) t
  27.         if [ "$TELNETENABLE" == "1" ]; then4 e; u3 z+ n0 O3 ?( c9 ~( o
  28.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    # ?- B0 G: s9 n
  29.                 iptables -I CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1" L& s; D7 c- y5 p5 q
  30.                 /fhrom/bin/telnetd -p 23 >/dev/null 2>&1; n2 d1 A, P# }& Y9 ~
  31.         elif [ "$TELNETENABLE" == "0" ]; then
    2 H; H$ l0 n$ s1 N5 F" b  I$ j
  32.                 killall telnetd >/dev/null 2>&12 A9 l- R* a; h7 Q4 m& [- m
  33.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    1 h! v6 O9 z( M+ d% Z; n
  34.         fi
    ( j* i* A; H. r) e3 ]2 P/ F
  35. else! i8 F0 l: c' J8 f. n* o
  36.         echo "<html>/ R0 P1 ^, v. L
  37.                 <head><title>404 Not Found</title></head>) j+ S7 A) s: Y+ o. F
  38.                 <body>, e9 z8 k% v0 i& g4 T7 m' h
  39.                 <center><h1>404 Not Found</h1></center>7 W, `/ F# Z4 U8 [6 j1 F" l' b& {
  40.                 </body>
    . Q1 k6 r( n; Q/ e+ z
  41.                 </html>"3 U1 M% z' e( M/ E; b
  42.         exit 0
    " e; W. a6 f( W3 R
  43. fi
    8 \9 M* {+ p" }" X/ v: \9 c: i
  44. 6 Z4 }: P! q4 J& x4 a7 _% b5 e6 i

  45. 9 Q! q$ H+ I# F5 l- F7 k: N" Z4 }' s
  46. echo "<html><head>& _, A) T7 \# w6 i: S0 s7 W( a, e
  47. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">% i( i, l8 t3 n4 \' g
  48. </head>
    - B+ }/ D5 X5 u& |$ g' z5 y
  49. <body>
    ! e& F2 c' T& Z. ]# d
  50. <script type='text/javascript'>* |8 h  d* d6 h3 K2 B. C
  51. if ( '$TELNETENABLE' == '1' )
    0 @% i* Z$ A! ~' z
  52. {
    ( f* [- ?7 V0 L6 G2 q7 g/ N) C
  53.         document.writeln('telnet开启');0 [! E4 i1 R( L" ?
  54. }
    " K8 o& l, A% H% T( I
  55. else if ( '$TELNETENABLE' == '0' ), O/ g4 M- a5 ^
  56. {& H6 r; Y. i7 y; W* n8 h( ~6 o6 N
  57.         document.writeln('telnet关闭');
    ( d3 u* J4 S% J- ~2 U
  58. }0 r3 |$ q3 N' Z) R6 A
  59. else
    7 g# X; M8 O0 ]; c, t
  60. {
    2 o- j8 f+ Z% f: Z) Y) t
  61.         document.writeln('无操作');" @& `7 U  ]/ q3 x# G
  62. }
    , a+ G" ^/ ?& E- d" x: V
  63. </script>
    $ M, t3 g: h" t, l% E5 K9 P" ~
  64. </body>
    9 }( U$ [6 B* ^; r0 S& D
  65. </html>
复制代码

& k; x# ^+ s3 w$ c2 t5 O! L
6 u0 F. L, {( i' o3 `2 ?, {" o
% O2 X  X: o, X* Y3 f( B7 S1 h. v. _- N" S  I
6 r# k# b6 [' @  \
2 x8 @- L8 [' Y+ ^2 i
2. 接口越权2 {3 O# \+ S  [! V# K
# S$ ?& z3 C/ U  V& x

7 P$ k1 K9 ]5 u/ N- I+ O' q此处利用光猫接口未做权限及操作分离的设计,在登录超级账号后脚本调用接口开启telnet; t4 s% J0 J$ t( M. _

( f3 e2 z+ T7 b$ w2 J脚本参考附件
' m) i4 c) r) ^# w% Q
' ?4 }& R0 K% A+ m  w( s
' O7 c2 h$ T2 G" T: A. g3 c/ F# T7 J# ^4 e2 Z# v$ [

0 z- V* i+ S# _7 u" `' Z0 f/ x6 l; m8 c& [# O- o; D1 H1 n; f
3 k+ ?! q# n3 U9 L1 t: e5 T+ _# C/ s" j
脚本实现了  上述1,2 两种方案。
+ x, x5 ]; ~, P) C+ w$ Y% V0 y被坑了几千猫粮下载的固件无法刷入,所以写个教程和脚本赚点猫粮{:7_198:}% g6 q+ c2 U/ J+ C
8 ]  W! K0 g) r7 J* P/ q* k

4 Q/ h, a) J: _7 ~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2023-7-22 00:06:12 | 显示全部楼层
上海电信最近用的是HG-5143F V2,这个方法似乎不行,192.168.1.1/cgi-bin/telnetenable.cgi 会被TCP reset,如何解?
 楼主| 发表于 2023-4-20 11:16:59 | 显示全部楼层
脚本采用python编写,安装python3之后直接执行脚本就行  W) U  [. q+ I1 C! H
python3 opentelnet.py
发表于 2023-4-25 11:14:28 | 显示全部楼层
不懂,学习学习
发表于 2023-4-25 15:52:22 | 显示全部楼层
牛皮,学习学习
 楼主| 发表于 2023-4-26 09:07:39 | 显示全部楼层
245668 发表于 2023-4-25 15:52
5 N" {3 Z0 ]9 S6 I6 ]1 C牛皮,学习学习

- K3 n9 y& g) N总的来说就是利用固件本身的一些未开放接口来打开开关而已。
发表于 2023-4-26 11:27:17 | 显示全部楼层
有没有改SN码命令,开了telnet 不知道输命令
发表于 2023-4-26 16:47:33 | 显示全部楼层
anysoft 发表于 2023-4-26 09:07( v0 |! N( d9 W+ J4 Z5 C
总的来说就是利用固件本身的一些未开放接口来打开开关而已。

% I$ M6 V9 D/ z3 @2 R6 i7 I四川移动版本的烽火光猫可以开启telnet吗?
发表于 2023-4-26 18:08:30 | 显示全部楼层
anysoft 发表于 2023-4-26 09:07: F  c; g/ {6 {" x! _+ I' u
总的来说就是利用固件本身的一些未开放接口来打开开关而已。

, T/ w. W8 H# }; @& r6 R/ s四川移动烽火光猫可以这样开telnet吗?
发表于 2023-5-6 09:46:18 | 显示全部楼层
我的光猫被限制不能用FIWI,怎么办,我不想多挂一个FIWI设备
发表于 2023-5-6 16:41:09 | 显示全部楼层
"$BR_MAC" == "$KEY"
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-1 23:12 , Processed in 0.027712 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表