烽火SR1041H,临时设置root账密,临时开启uart/ssh/telnet(TTL,SHELL注入)
本帖最后由 Blzadx 于 2024-3-28 01:29 编辑站内有拆机贴,EN7561(也叫EN7528),7905+7975,再加华邦128M的SPI。无线芯片和SPI都很常见,只要适配了EN7561,应该就能刷上固件,但我没这个本事。
初始是运营商固件,我在web页面里到处翻,找到了烽火的固件分发地址,刷了公版固件,在站内另一个帖子里。
公版固件和运营商固件的后台控制逻辑是一样的,就是页面颜色不一样,理论上本帖子的方法也适用于运营商固件。
这个固件很多东西是只读的,重启后包括设置密码都要重新来,我还没找到固化密码和ssh\telnet的方法,有能力有兴趣的朋友可以研究一下。
附个TTL启动日志给大牛看看,我看不出什么可用的漏洞。
static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.pnghttps://www.right.com.cn/forum/static/image/hrline/line7.png
下面开始说明开启方法。
必要准备:TTL转USB工具。
1.TTL进入BOOT,打开URAT。
针脚定义如下图,TTL接法:GND连GND,TX连RX,RX连TX。把线接好。
先不要连接电源,先在电脑上把串口和控制台之类的准备好。
端口号去windows的设备管理器看,其余的如下。
我用的是XSHELL,准备好了就是下图的样子。
现在再接通路由器的电源,并在控制台里快速反复按下回车键(可以是别的按键,但如果你看不懂下面的信息请按照教程做)进入BOOT的命令行模式。
下面是刚通电的时候从串口返回的信息,在开机1秒内按下x或b,会启动或跳过bootloader引导;开机3秒内按下任意键会进入BOOT的命令行模式。
KGD IC
Xtal:1
DDR3 init.
DRAMC init done.
Calculate size.
DRAM size=256MB
Set new TRFC.
ddr-1200
7528DRAMC V1.6 (0)
Press 'x' or 'b' key in 1 secs to enter or skip bootloader upgrade.
EN7528 at 2021年 05月 08日 星期六 08:17:10 CST version 1.1 free bootbase
Set SPI Clock to 40 Mhz
spi_nand_probe: mfr_id=0xef, dev_id=0xaa
Using Flash ECC.
Detected SPI NAND Flash : _SPI_NAND_DEVICE_ID_W25N01G, Flash Size=0x8000000
bmt pool size: 40
BMT & BBT Init Success
set switch,packet to cpu
Not found TC Phy
Not found TC Phy
Not found TC Phy
Not found TC Phy
GE Rext AnaCal Done! (4)(0x1c)
Press any key in 3 secs to enter boot command mode.
.....
成功进入时,会因为输入空值刷新输入台,如下图。
输入?或者help会返回所有的可用命令。
输入fhuart_enable打开uart,再输入reset重启。重启后TTL不要拔掉,一会儿还要用。
2.通过WEB页面进行SHELL注入,设置root用户密码。
先登录进后台页面(必须要登录),再将URL改为fhnetworkdiagnosis.html,进入网络调试页面。
打开开发者调试台(chrome是按F12),选择“源代码/来源”,找到fhnetworkdiagnosis.js,右键,选择替换内容。
找到getTrace = function traceSaveBtn(),
将下面圈出来的内容删除,再ctrl+s保存,然后刷新页面。
回到后台页面上,左边选择Traceroute诊断,右边输入框输入a;echo -e 'admin\nadmin' | passwd root。
下面的接口有什么选什么(如果没有就去连接好WAN口,IPOE方式拿个地址就行)。
最后点击下面的诊断,root账户的密码就改为admin了。
这里的ping诊断是不能进行注入的,Traceroute诊断的注入也没有文件系统读写权限,sed mkdir rm什么的都不起作用。
但是感兴趣的老哥可以在这里研究一下啊,也许就不需要后面这么麻烦的操作了。
3.回到TTL控制台,打开SSH/telnet。
因为一开始已经打开了UART,现在控制台里应该能看到不少信息。不要输入内容,直接按回车,会提示让你登录。
实际上这里强制要求登录,输入的任何内容都会被当作用户名,然后就要你输入密码,每失败3次就锁定1分钟,所以不要输入内容,直接按回车,确认是要你进行登录。
然后输入刚才改好的root,再输入admin,就能登录进去了。
这里用户名输入可见,密码输入不可见,输入好再回车就行了。
如果要用telnet,输入如下三条命令即可开启
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如果要用SSH,就需要手动更改/var/dropbear_passwd。
第3阶段改好的密码保存在etc/passwd中,将第一行复制过去,再在后面的“root”前面加上"dropbear ",保存即可。
随后在TTL控制台输入dropbear,即可使用SSH。
4.文件操作
固件不支持SCP,也没有SFTP服务器,只内置了vsftpd,而且默认的配置文件和文件系统的路径还有点问题。如果想用vsftpd开启FTP,可以按照下面的操作来。
另外,固件有wget,在电脑上用临时服务器是可以传文件进去的,有能力的可以通过这个方式另寻出路。
先在shell(控制台)里输入mkdir /var/mnt,根目录下有一个此目录的符号链接,但是这个目录实际上并不存在,如果不手动创建,等会儿开启服务的时候是会报错用不了的。
然后在tmp文件夹中创建一个ftp.conf,输入如下内容。
background=YES
listen=YES
anonymous_enable=YES
no_anon_password=YES
anon_root=/
local_enable=YES
write_enable=YES
local_umask=077
check_shell=NO
secure_chroot_dir=/var
chroot_list_enable=YES
chroot_list_file=/var/chroot_list
ftp_username=nobody
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
userlist_enable=YES
#userlist_deny=NO
userlist_file=/var/vsftpd.users
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#listen=YES
#dirmessage_enable=YES
# Activate logging of uploads/downloads.
#xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
#connect_from_port_20=YES
# Support authentication for multi-user accounts.
multiuser_account_enable=YES最后在shell里输入vsftpd /tmp/ftp.conf,即可开启FTP服务。之后匿名登录FTP服务器就能操作根目录下的所有文件了,但固件的文件系统是只读的,能改的东西不多。
前排置顶,坐等有巨佬捯饬出固件:) 太厉害了,虽然看不懂,但是看完了。 大佬,怎么在ttl刷固件,还有这个路由貌似是有管理员账号密码,能从telnet中搞出来不
页:
[1]