找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10425|回复: 47

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

[复制链接]
发表于 2023-4-20 11:14:39 | 显示全部楼层 |阅读模式
本帖最后由 anysoft 于 2023-6-25 10:05 编辑 5 R) x- O) H4 U9 u4 |% x% y

, u8 T& s, p( f) U- b, ~固件不断地更新,厂商和运营商也不断的修补漏洞和后门一些以前的方法已经失效了。
+ v( c( g2 E5 r( L0 h) x9 S" }1 A  d0 r7 u
该帖中修正一种方法中key,新增一个开telnet脚本。0 n4 d( v# |4 [
& H* Q1 \4 g! I. W
闲话不多说直接上东西。) E) N/ Z  b9 A7 s8 Y" F( p* J2 U' y
+ E7 P+ g/ |4 @. e" i4 ?% b/ m
8 w( l* O* S3 m# s
开telnet4 G, I7 [; \! r0 \
默认其实telnet服务是开启的,只是防火墙策略禁止外部访问,而所谓开telnet其实是让防火墙放行23端口。  h8 N" \* I9 m8 k2 t+ Q) P
! \; c6 N6 J8 h' M+ U6 `
1. 管理后门# f9 e4 d  O9 P' p' X4 L
利用 telnetenable.cgi  传入 key 和 telnetenable 参数值开启telnet,这个属于管理后门性质接口。几乎所有版本都有,通用性高,但是key在各个版本之间可能存在差异。具体可以捅菊花后获取固件内程序后文件分析。! j/ |  a) j5 R. U9 g  i0 U$ \: k

! [- v! f9 c9 z, F: F& h* n: r- q; j老版本:key=FH-nE7jA%5m光猫MAC后6位全大写
- {- c* ~9 X6 u新版本:参考附件/ E* C6 Z  p2 y! v
  B! l; X" q0 S5 b# t
  j& m$ r+ q1 Y

0 X, u! q, A$ @2 b; |; d
) k0 X" n" v* _附上  telnetenable.cgi  代码* T+ x* |$ ^9 F- E% _
  1. #!/bin/sh) f- b- I$ {. I$ `
  2. echo Content-type: text/html
      E1 \: G! m* b9 W& W5 y
  3. echo9 K8 y# j" b( B& Q* C

  4. / |9 \# G% r- g, I" z+ o
  5. BR_MAC=`cat /sys/class/net/br0/address | sed 's/://g' | awk '{print toupper($0)}'`* g0 m8 j" H& e/ }8 i7 {5 H
  6. if [ -n "$QUERY_STRING" ]; then
    ; O+ q" L  ]( c* Z$ B; {; i, A
  7.         for paramIndex in 1 2
    7 Y/ o6 d) M2 G2 k- B7 c. B
  8.         do
    + d$ [) I4 {9 _+ z4 I& A8 U
  9.                 CGIParam=`echo "$QUERY_STRING&" | cut -d '&' -f ${paramIndex}`
    6 n# u6 F6 e0 T# u' w9 M
  10.                 par=`echo "$CGIParam" | cut -d '=' -f 1`# }1 F1 e5 ~' b; q, H# q
  11.                 val=`echo "$CGIParam" | cut -d '=' -f 2`+ C5 X# b  {1 c  S; L+ f
  12.                 if [ "$val" != "" ]; then
    ( N9 o6 n  t% e- [; F
  13.                         case $par% B* ?9 }. D! c# _( f8 t8 D
  14.                         in# g& q/ _, [6 ?3 I( q
  15.                         "telnetenable")
    ( c1 `, {) D" y
  16.                         TELNETENABLE=$val0 \5 T3 a% s# B9 s) j4 H
  17.                         ;;/ r# K% K! R1 N* t& c. m
  18.                         "key")
    4 |8 d& R, V$ }
  19.                         KEY=$val4 P, S% _, r+ R) m* u  t& X7 L
  20.                         ;;
    0 E0 v  Y) v( H8 ]
  21.                         esac$ K( G# D$ ^" w" x
  22.                 fi
    . c, O* d, d. `' `/ j, I. [" d
  23.         done) |9 j1 c9 K: B. I+ ]% V- @8 n
  24. fi
    - y/ D$ ]' I/ K) s

  25. % A% F/ n# l. V5 s7 J' Q
  26. if [ "$BR_MAC" == "$KEY" ]; then3 S5 S! w+ ^0 W" X2 h7 `! z6 T$ [
  27.         if [ "$TELNETENABLE" == "1" ]; then. r7 }+ G/ j5 e8 M; |. x
  28.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1
    9 r: h8 `( B9 w) g6 ]
  29.                 iptables -I CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&13 @% ~7 y& F6 o0 e6 R
  30.                 /fhrom/bin/telnetd -p 23 >/dev/null 2>&1
    / v1 j! A& s& e# Z0 D6 [: R! @
  31.         elif [ "$TELNETENABLE" == "0" ]; then
    3 u+ K5 b- ?$ S" x$ y5 W$ g
  32.                 killall telnetd >/dev/null 2>&1# P+ I+ ^3 ?3 F2 x0 k* ?! h
  33.                 iptables -D CHAIN_SERVICE -i br0 -p tcp --dport 23 -j ACCEPT >/dev/null 2>&1+ E: @9 z6 {: k  P: \
  34.         fi3 Q' i- }7 y; L/ M4 w& I9 H
  35. else
    , ^6 [( F3 A0 U5 J" W
  36.         echo "<html>5 D8 A. N& o% g) ~4 o1 b
  37.                 <head><title>404 Not Found</title></head>
    6 H! H. J4 k9 |! p3 x$ i. F
  38.                 <body>& g3 b, F! G  A+ }9 n( e2 K# @& |
  39.                 <center><h1>404 Not Found</h1></center>  [0 b. P" X  @) P7 |! i
  40.                 </body>
    . ?1 D3 O& i& Y7 Q) {% ^+ ~: Y& e
  41.                 </html>"
    4 d* D  j0 N* ]5 v: e$ b
  42.         exit 0. }2 n' y3 [' F1 w9 _
  43. fi
    ; B, k( q7 m4 H% X1 A% j

  44. % d4 G4 p2 u) c3 p) n7 m

  45. ) l7 \0 K; Y) f  i3 m$ o
  46. echo "<html><head>2 e! _/ A7 b) E' A) u: D
  47. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">, R$ t* Q9 k( V: i# _, r) l; v
  48. </head>
    " `3 x4 s9 D/ ^" O
  49. <body>  B# @# d6 C# G: _4 J/ c6 k
  50. <script type='text/javascript'>
    / E" ?8 ~* a. n3 Q" ?: M
  51. if ( '$TELNETENABLE' == '1' )
    6 q( J! c( P" A; v  V
  52. {
    % e0 L4 M) D! j1 D$ }  p
  53.         document.writeln('telnet开启');
    + S4 R) L" C: R0 [. P
  54. }
    9 h7 g: ], ?  n8 W+ p7 \
  55. else if ( '$TELNETENABLE' == '0' )
    + N- h: {- w7 Z* w% Y5 I# E
  56. {+ N* W' X0 O& k- i2 q! x
  57.         document.writeln('telnet关闭');
    , V* O, Y% D, ^: K2 `/ u
  58. }6 Q6 M* d- v& `, c
  59. else" p% l3 ~( w* J. H: s( y2 A* Y
  60. {
    0 M, G. H6 n4 M# S; }0 I
  61.         document.writeln('无操作');. B& ^3 ]  u3 @) d9 Q
  62. }
    ) l2 h5 H/ K3 K% U
  63. </script>
    ( {$ f; [+ _# P
  64. </body>) W( z# e3 |, h$ V
  65. </html>
复制代码

5 O4 s/ L+ f8 M
: l& @6 X; {0 g6 [/ b+ W9 p! _0 ^/ m8 w3 W6 d- O& [% B; v  y, h2 T

* g( K% l9 Y: _% J6 Q+ D$ A/ A" o6 W! J

) G: J# _0 U. k! X+ A5 B2. 接口越权6 z: [8 {1 |3 T1 }+ A. {
0 @6 q7 p4 R% d/ ?4 s+ o' D
  q) o- N2 ^" e
此处利用光猫接口未做权限及操作分离的设计,在登录超级账号后脚本调用接口开启telnet
9 y$ m3 s0 J8 L& c' r) i5 B: W' X/ v& L, P
脚本参考附件
' q2 H( q. I+ t7 X! K0 J" n& c- u" N+ M/ j; G+ g8 }$ w
: Q; ?+ ?; S9 h4 w% r" _; u8 x+ M
9 O! b1 y/ f* R8 x4 j
  |* ~  n4 g9 T  r' N; _7 M
: R5 ]/ w1 |9 b0 f/ U

, j8 x3 M( M+ R6 H. r1 K% s. f脚本实现了  上述1,2 两种方案。# X; r  X/ @/ W: w9 J
被坑了几千猫粮下载的固件无法刷入,所以写个教程和脚本赚点猫粮{:7_198:}5 x; {, m. P( n8 J2 j$ J, f
- R( z' V1 n1 }  O* p. k( s
6 D8 @" _; q' q/ v  b& s0 }

本帖子中包含更多资源

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

×
 楼主| 发表于 2023-4-20 11:16:59 | 显示全部楼层
脚本采用python编写,安装python3之后直接执行脚本就行
0 C/ x# _) k( `9 b7 ipython3 opentelnet.py
发表于 2023-4-25 11:14:28 | 显示全部楼层
不懂,学习学习
发表于 2023-4-25 15:52:22 | 显示全部楼层
牛皮,学习学习

点评

总的来说就是利用固件本身的一些未开放接口来打开开关而已。  详情 回复 发表于 2023-4-26 09:07
 楼主| 发表于 2023-4-26 09:07:39 | 显示全部楼层
245668 发表于 2023-4-25 15:521 f2 s2 w+ n6 f
牛皮,学习学习
9 ]8 n( ^6 Y9 t6 ]! `8 e
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
发表于 2023-4-26 11:27:17 | 显示全部楼层
有没有改SN码命令,开了telnet 不知道输命令

点评

我还真想不出来有什么是我不能玩的光猫  详情 回复 发表于 2023-5-7 08:52
发表于 2023-4-26 16:47:33 | 显示全部楼层
anysoft 发表于 2023-4-26 09:07: u, C8 N' V2 G% r
总的来说就是利用固件本身的一些未开放接口来打开开关而已。
3 V: C* S0 m2 n, t
四川移动版本的烽火光猫可以开启telnet吗?

点评

我这个脚本,只要版本相差不大,官方未升级版本修复漏洞那么理论上所有烽火支持该接口的猫都可以用 必须浏览器先登录超级账号,然后运行账号  详情 回复 发表于 2023-5-7 08:19
发表于 2023-4-26 18:08:30 | 显示全部楼层
anysoft 发表于 2023-4-26 09:078 s  E! P$ E$ E
总的来说就是利用固件本身的一些未开放接口来打开开关而已。

( Q. t# A$ y) D四川移动烽火光猫可以这样开telnet吗?
发表于 2023-5-6 09:46:18 | 显示全部楼层
我的光猫被限制不能用FIWI,怎么办,我不想多挂一个FIWI设备
发表于 2023-5-6 16:41:09 | 显示全部楼层
"$BR_MAC" == "$KEY"

点评

是的 紫薯补丁  详情 回复 发表于 2023-5-7 08:16
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2024-3-29 14:42 , Processed in 0.027715 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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