找回密码
 注册

QQ登录

只需一步,快速开始

查看: 25926|回复: 68

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

[复制链接]
发表于 2023-4-20 11:14:39 | 显示全部楼层 |阅读模式
本帖最后由 anysoft 于 2023-6-25 10:05 编辑
9 ^7 D  \! T5 F3 [  x* c9 i/ I. k2 T6 u" C& l; ]5 x
固件不断地更新,厂商和运营商也不断的修补漏洞和后门一些以前的方法已经失效了。5 t( S" U5 n4 q: S

+ o$ r0 F7 Q, s* o  |6 n该帖中修正一种方法中key,新增一个开telnet脚本。
3 A5 d! e2 Z$ U7 L% d# J
; R* j& v: `) T+ n% z4 @' D) }3 @9 X闲话不多说直接上东西。5 ]; L9 n! ^6 R. k& \2 m7 I; n- p
9 F$ c9 V# R8 L
6 a9 Z1 ^2 t" S
开telnet$ M& p5 e+ m, n3 T
默认其实telnet服务是开启的,只是防火墙策略禁止外部访问,而所谓开telnet其实是让防火墙放行23端口。
) R2 d+ j8 s  }8 L1 S

4 m9 S- j6 j7 x" I* V! \1. 管理后门, ?; t8 f/ s7 e3 c" j
利用 telnetenable.cgi  传入 key 和 telnetenable 参数值开启telnet,这个属于管理后门性质接口。几乎所有版本都有,通用性高,但是key在各个版本之间可能存在差异。具体可以捅菊花后获取固件内程序后文件分析。
4 M: H3 ^  |" I$ M9 V- ]" c
- `5 `2 T8 ]7 r7 E  X6 X4 R2 S老版本:key=FH-nE7jA%5m光猫MAC后6位全大写+ D& d% Z/ m0 n+ F2 @
新版本:参考附件' A( f) h% M7 d% O

# ^3 D$ R" |9 L3 N4 B4 ]0 d/ s/ Q. N' X

3 u; F3 m( h" S! B: j3 ^* o! k/ n0 X. `; |: p
附上  telnetenable.cgi  代码! P4 N& d9 R1 t; }$ T
  1. #!/bin/sh
    6 V# ?. Q1 G" |) e
  2. echo Content-type: text/html  d/ t' z+ g3 c
  3. echo
    9 D( x" V! V  k& @

  4. , J! g: L( N! X. Y
  5. BR_MAC=`cat /sys/class/net/br0/address | sed 's/://g' | awk '{print toupper($0)}'`
    ! H  u& s7 B% D( T
  6. if [ -n "$QUERY_STRING" ]; then
    : o% C8 Z. G$ \0 ~# `6 \
  7.         for paramIndex in 1 2
    - d; G. V; X1 A# L/ u/ G
  8.         do3 }7 f3 f6 _4 n3 @7 u- v; f( A
  9.                 CGIParam=`echo "$QUERY_STRING&" | cut -d '&' -f ${paramIndex}`8 T9 d% t8 @% x8 q4 N7 W
  10.                 par=`echo "$CGIParam" | cut -d '=' -f 1`  g4 s, p4 Q. H, P2 V3 P1 h
  11.                 val=`echo "$CGIParam" | cut -d '=' -f 2`8 c* B, H' `) n- F
  12.                 if [ "$val" != "" ]; then
    / N; a+ t* G2 j+ e
  13.                         case $par3 V: T! T4 a3 e9 e, F. t  ]2 J: @
  14.                         in
    ) }# L4 |" `! }+ ?! W' }
  15.                         "telnetenable")7 J, ]6 l6 ~* j" M0 S0 P+ G$ n! Q
  16.                         TELNETENABLE=$val3 F% b& |& E  _( n) m2 b9 r, m
  17.                         ;;2 `$ m% X. A. v6 z+ X
  18.                         "key")
    # r! n; F4 `* N  _5 B
  19.                         KEY=$val
      M/ l- s: u4 E( b
  20.                         ;;0 f3 R3 h2 Y4 p# X3 k! Y2 R. o
  21.                         esac
    % f! v  Q6 [& S4 B& h
  22.                 fi: ?7 V4 J1 d4 ~  G- L5 L
  23.         done
    2 w  V9 O& u$ @" j9 g3 [7 l* [
  24. fi
    2 m, Q* X' n0 o) o6 \- @$ B+ }, K
  25. ) f8 e* `+ T6 B5 p& d- l( m' ^, p1 i3 @
  26. if [ "$BR_MAC" == "$KEY" ]; then, w7 z! N0 s: X5 f/ D8 q/ Z
  27.         if [ "$TELNETENABLE" == "1" ]; then
    . T* U9 _" R, Z# s0 E
  28.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    + f) K: H3 w: L5 i( a
  29.                 iptables -I CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    6 [9 V4 u9 Q" l; }+ @5 {
  30.                 /fhrom/bin/telnetd -p 23 >/dev/null 2>&1
    7 y2 H' F9 Y# k: U
  31.         elif [ "$TELNETENABLE" == "0" ]; then
    ! [& z* X: A1 X2 [" D5 G! p1 P
  32.                 killall telnetd >/dev/null 2>&1' B6 C$ j/ u" n! q& n: d" |+ O$ h
  33.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    " T7 i) b0 w4 Y$ }* X3 T* R
  34.         fi
    ) w+ v: S8 f/ }3 c+ m
  35. else
    , {3 |+ ]# S% J+ q" C
  36.         echo "<html>* N$ k: Q7 e7 O& t
  37.                 <head><title>404 Not Found</title></head>) r4 n7 P2 h, g
  38.                 <body>
    2 C$ Y% o- [' H7 V4 e  U
  39.                 <center><h1>404 Not Found</h1></center>
    $ X3 W: {/ ^# i
  40.                 </body>
    3 c3 `2 Z7 u: r* O
  41.                 </html>"8 Z: z4 n8 Q5 D, s1 x
  42.         exit 0& Y2 q; q/ I- @' Y9 Y# x) e
  43. fi
    " Y9 c0 d' c7 P3 x+ j) s5 ~. v
  44. 5 f: W- c( G( }2 I

  45. " x% N7 R0 w& h: X" g
  46. echo "<html><head>9 O4 a# r/ v8 G0 Q. Y' J0 y! F
  47. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    3 n$ h6 [6 C9 X% P
  48. </head>
    ! J0 p. T. s- j
  49. <body>$ a, T- n* S0 f8 n
  50. <script type='text/javascript'>
    # [0 h* ~! L- c, `  N
  51. if ( '$TELNETENABLE' == '1' )
    2 i3 k  b) g9 i$ v1 }1 a, m$ h+ t4 `
  52. {& ~/ D' i- \" Z3 ?$ Y& G
  53.         document.writeln('telnet开启');
    0 Z* T# @9 ], O& d
  54. }- ?5 y9 L1 `; O5 a9 x
  55. else if ( '$TELNETENABLE' == '0' )
    , M( j- ?( ?3 o; t6 n
  56. {
    " h- j5 T, ^! E3 m$ s$ D
  57.         document.writeln('telnet关闭');
    7 q. P* o' |$ k! Y3 j# E' v
  58. }  W, ?$ o, J9 T$ c/ Z3 u5 Y8 b6 H
  59. else  u% @8 a( T# W. y, D. k  G' y/ z
  60. {/ I5 n+ c0 F( @% B6 }/ Z3 l+ X
  61.         document.writeln('无操作');
    6 s- F5 V6 t. j/ W1 m
  62. }
    9 G. y' P( o' z( m
  63. </script>
    , {7 G: Y. E: j5 e
  64. </body>+ a* H9 T; L) l7 C: N! Y% g
  65. </html>
复制代码
- x" @; S! D- c3 k
) g7 k" }5 s% {" E2 w

  ~5 Z( n- Y" j1 S' D" `2 R# {
: s3 P, a' ~  t8 ?, V. F7 ~/ T3 f. y# M1 n/ E

6 j6 s# P* Z2 k" V8 p6 @; C+ |2. 接口越权
4 G' x. \! S; w3 h6 l! t0 j% w4 f. F

( l" K: ?1 p/ |3 i! W9 t0 C此处利用光猫接口未做权限及操作分离的设计,在登录超级账号后脚本调用接口开启telnet  E) _. x5 e  W6 f
7 ~1 _4 C4 P) x: E
脚本参考附件6 c. e% a6 _+ k6 G

% j1 Q; [: Q. V2 R+ r
9 z) C" N; K; _4 h  ?& B  P9 J+ E, S* @* B! f, U

7 `* e0 s9 g, S& _, [0 S( y
% V8 C/ X, m% \2 u' B* H$ V% J% ~% O* p
脚本实现了  上述1,2 两种方案。
; d2 P) T7 S, W8 U2 y% w被坑了几千猫粮下载的固件无法刷入,所以写个教程和脚本赚点猫粮{:7_198:}
' @. R0 i' |2 O5 }2 ^1 Z, T
0 G' _* W5 J- v7 W  S5 B/ \$ k* h0 t3 y1 T

本帖子中包含更多资源

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

×
发表于 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之后直接执行脚本就行
8 |* F$ q3 @6 d. P( ipython3 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
: b$ D6 h3 G% \牛皮,学习学习
+ s) |2 u0 U: u7 H3 a3 {- T! R
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
发表于 2023-4-26 11:27:17 | 显示全部楼层
有没有改SN码命令,开了telnet 不知道输命令
发表于 2023-4-26 16:47:33 | 显示全部楼层
anysoft 发表于 2023-4-26 09:073 I: ?. m& P6 p  U( T; c' L6 K
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
& T4 r) Y8 ~9 ^6 ]8 Q$ |6 q
四川移动版本的烽火光猫可以开启telnet吗?
发表于 2023-4-26 18:08:30 | 显示全部楼层
anysoft 发表于 2023-4-26 09:072 U& L( E  A+ H) e
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
% W  ^! J, ]: {8 p- D+ C+ a
四川移动烽火光猫可以这样开telnet吗?
发表于 2023-5-6 09:46:18 | 显示全部楼层
我的光猫被限制不能用FIWI,怎么办,我不想多挂一个FIWI设备
发表于 2023-5-6 16:41:09 | 显示全部楼层
"$BR_MAC" == "$KEY"
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-16 03:10 , Processed in 0.029341 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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