首先要深深感谢“晓风残月”,没有他的深入研究、详细说明、以及程序贡献,就不会有所谓的Root shell;
! t/ ` g' Y1 G9 w( D7 S其次感谢sdgaojian,没有他的实践、介绍,我就根本不可能解决问题!5 ~. T) x; m3 H8 C" D) F. g {
3 \* t" S W2 F9 D* d2 K
为了方便各位坛友阅读,我先进行无差别扫盲:
) x8 V9 a2 z/ t$ EHGU:Home Gateway Unit 家庭网关单元,说白了就是直接可以充当路由器的光猫(甚至可能封掉了桥接的功能);
, v. D- z8 O( ~1 ]7 F* h6 ]SFU:SingleFamilyUnit,单个家庭用户单元;
* I& c2 ?/ _4 T+ e# pSBU:SingleBusinessUnit,单个商业用户单元;* U- j: Z& e1 ]# }4 K3 z0 \6 H
MDU:Multi-DwellingUnit,多住户单元;0 P n( E3 l; B. F; e# s
MTU:Multi-TenantUnit,多租户单元;& j4 I- y# c5 b( L
EPON:Ethernet Passive Optical Network,以太网无源光网络(理论上GPON技术更优于EPON,但实际使用上各有千秋)- i' M: f& V/ A, e- B2 I1 A' f
GPON:Gigabit Passive Optical Network,千兆无源光网络2 b/ Y9 F0 y1 z- W \3 B3 ?6 h! O
ONU:Optical Network Unit,光网络单元(ONT是ONU的组成部分),我们可以理解为ONU是多局域网口的光猫,而ONT是单网口的光猫。
' _% a- w0 V+ O- Q0 r/ tONT:Optical Network Terminal,光网络终端。( m' }- P" m1 O: v$ o
/ N4 l' ~, S# [' e
问题描述:6 W+ L/ X4 I& s: H
我目前家里使用的光猫是烽火HG220G-U,北京联通EPON ONU定制版。各种被锁,无法搞定,因此网购了新光猫准备替换,网购的是华为HG8347R,联通天津HGU-EPON定制版。为了达到光猫替换的目的,我们必须先修改华为HG8347R的/mnt/jffs2/hw_boardinfo.xml硬件配置文件中的设备MAC地址为烽火的MAC,来欺骗局端。要修改该文件首先需要获得系统shell的root权限。HG8347R的web管理员帐户密码没有被锁,标准的华为telecomadmin/admintelecom,进入后开telnet,再使用终端登录,用root/admin可进。如telnet被封,可使用华为专用使能工具开telnet。telnet的WAP命令字符界面下,使用命令su,进入SuWAP,再敲入shell,进入busybox,发现被阉割,ls、cd 、vi等基础指令都禁止使用,怎么办?发现了sdgaojian关于ROOT Shell的帖子,研究之。
& ^. s4 T/ \+ b! R5 |4 f4 j7 a0 `; |# o3 [( c* D+ x8 W# ^% n
问题处理:
; G3 Y+ L2 I0 i% {. q根据sdgaojian的帖子,得知已有由晓风残月提供的解决方案,但具体使用过程中,表述的不是很清楚,这里我详细说明下。
) R+ ], N! @. v, X3 w8 |- `1.我们分别需要tftpd、puttygen、putty三个程序,和晓风残月编译好的payload-mod程序包(内含payload-mod.bin、dropbear、duit9rr.sh、hostkey四个关键文件)。7 \6 ~+ L# q2 I2 e: ]
* E0 G7 X. q' n5 ?, E' ]
( I, r0 K Q& _8 ]
2.运行puttygen分别生成RSA公钥和私钥
h4 B1 a! y* S# X7 t a.点击生成证书,提示在界面内移动鼠标生成随机数据,不停移动鼠标一会儿后,证书生成:% V* o5 b4 o# m5 ~
4 m2 ]0 [2 a3 g( y9 C5 p b.获得公钥:上右图中字符串即为authorized_keys,可以复制另存为rsa.pub文件得到,也可点击“Save public key”,另存为rsa.pub文件得到(该文件上传至HG8347R系统后会被duit9rr.sh脚本自动改名为authorized_keys)。后续公钥会连同payload-mod程序包一起使用,公钥主要用于配合ssh服务器端(dropbear)使用。
# {* k1 I0 P) q" @' x c.获得私钥:点击“Save private key”得到与公钥相配套的私钥文件(PPK结尾),即为用于ssh客户端使用的私钥文件。' l6 k9 x5 p4 u7 `- ~5 B8 m- [
6 |) D: v0 k7 a/ L8 i. V# z/ F+ L
4 u) B3 A8 B e
3.方案思路:先使用telnet登录HG8347R终端,然后将payload-mod.bin文件通过指令从tftpd服务器上传到HG8347R系统并自动加载执行,结果为HG8347R系统自动调用并执行duit9rr.sh脚本,分别再将dropbear、hostkey、rsa.pub从tftpd服务器上传至HG8347R系统后,自动启动SSH服务器dropbear。然后我们再在pc端运行putty,登录SSH,获得ROOT SHELL权限。
/ e# _1 J! o+ A# h$ Q0 s! e6 e
! }% p3 Z. o) y# q/ V! k4 U [# Z% U/ u6 a9 D( `, ~
4.具体步骤:4 t; x( s9 B3 w8 u9 c
a.确认光猫IP为192.168.1.1,设置连接光猫的PC的ip为192.168.1.2。运行tftpd,指定网卡为192.168.1.2。将payload-mod.bin、dropbear、duit9rr.sh、hostkey、rsa.pub五个文件放至tftpd同目录下;
' Q2 C6 _7 ~$ s' W3 T) U
# J% l4 ]% d' T3 \& D2 @ b.telnet登录192.168.1.1,使用用户名:root,密码:admin登录。在WAP命令字符界面下,输入加载指令:
6 [3 _+ V# z0 f- @load pack by tftp svrip 192.168.1.2 remotefile payload-mod.bin
1 b5 S0 v! U: E; N9 S3 G 如一切操作正确会显示:" u$ Q" T8 h; Z: Q* u; l
WAP>load pack by tftp svrip 192.168.1.2 remotefile payload-mod.bin success!# S! ~+ T) A3 ]
WAP>Software Operation Successful!RetCode=0x0!$ d& n8 q9 q- `- w+ ?
c.在PC端运行putty,进行配置,服务器ip:192.168.1.1,端口:2222,登录名:root,auth证书:选择您生成的PPK结尾的私钥文件。
2 e5 r3 W/ q( }7 N% w H) e5 x/ m
4 ~! N# W! N. u1 Z $ q! g1 G; r* F- u8 g; z5 ]
确认配置正确后,点击Open按钮,呵呵登录成功了。1 [- T9 c' |; O; R" | f
9 _6 Q3 L4 s4 s4 P
经过验证,已经获取root shell权限,下面的不用我教了,呵呵。祝各位愉快。相关文件我会一并提供。
" ^; l) w( @8 `( s7 }
: D$ v+ v8 c& |% h }! L- ~* K/ @ |