破解文件系统telnet密码

Tracy_9216 2017-11-16 11:37:49 2875

因工作需要需要调试某公司的3531板子,运行我们的程序,从整个调试过程中还是学到一些知识的现在记录下。
拿到板子找到串口挂上,上电串口消息如下:
[bash]
U-Boot 2010.06-svn83 (Jan 06 2013 - 17:36:14)
DRAM: 256 MiB
NAND: Special Nand id table Version 1.35
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
0 MiB
Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"MX25L128"
envcrc 0x8197ccc1
ENV_SIZE = 0x3fffc
In: serial
Out: serial
Err: serial
boardvalue: 0x1
PHY 0x02: OUI = 0x1374, Model = 0x07, Rev = 0x02, PHY not link!
user init finish.
Press CTRL-C to abort autoboot in 0 secondsCFG_BOOT_ADDR:0x58080000
[/bash]
这个板子的硬件参数就出来了
DDR:256MB
Flash:16M spi-flash
串口继续打印消息内核加载后消息就不输出了,很明显串口信息被关闭了,等整个板子完全启动了telnet下
telnet 192.168.1.10
输入root密码为空尝试登入,登入不了,试了试几个其他的简单密码也登不上,看来telnet 暂时无法连上了得另某出路
看了看uboot的启动信息有这么依据Press CTRL-C to abort autoboot in 0 secondsCFG_BOOT_ADDR:0x58080000
重启设备,果断按下Ctrl+c很是走运boot没有加密,有搞头。

在uboot里输入printenv查看下启动参数:
bootargs=mem=160M console=ttyAMA0,115200 root=1f01 rootfstype=cramfs mtdparts=hi_sfc:512K(boot),4M(romfs),5632K(usr),1536K(web),3M(custom),256K(logo),1280K(mtd)
可以看到rootfstype=cramfs整个根文件系统是cramfs的,cramfs制作的根文件系统可以挂载到本地的,这样我们就可以查看修改到里面的文件了
还可以基于原来的cramfs重新制作写回去,破解telnet密码的思路顿时有了。
从启动信息里看出来分了6个区,计算出各个分区的偏移地址:
uboot(uboot_xm.bin): 0x0~0x80000 512K(0x80000)
romfs(romfs.cramfs): 0x80000~0x480000 4M(0x400000)
user(user.cramfs): 0x480000~0xA00000 5632K(0x580000)
web(web.cramfs): 0xA00000~0xB80000 1536K(0x180000)
custom(custom.cramfs):0xB80000~0xE80000 3M(0x300000)
logo(not dump): 0xE80000~0xEC0000 512k(0x80000)
mtd(not dump): 0xEC0000~0xFFFFFF 1280K(0x140000)

怎样把4M(romfs)弄出来呢?其实很简单,只要把flash读到内存再从内存了tftp到tftp服务器上就可以了
将uboot里面的tftp服务器地址修改为我的tftp服务器地址:
setenv serverip 192.168.0.7
sa #保存修改的参数,否则重启就丢失了
插上网线使用如下的命令即可将romfs上传到tftp服务器上了
[bash]
mw.b 0x82000000 0xff 0xb00000
sf probe 0
sf read 0x82000000 0x80000 0x400000
tftp 0x82000000 romfs.cramfs 0x400000
[/bash]
没有错误的话就上传到tftp服务器上了,将romfs.cramfs拷贝到本地目录,执行如下命令
cramfsck romfs.cramfs -x romfs
(如果找不到cramfsck 或 mkcramfs 命令请参见我的另一篇博文)
这样就把romfs.cramfs解压到romfs里了,查看了下他的启动脚本
etc/inittab 没有什么可看的
etc/init.d/rcS倒是有很多信息
[bash]

!/bin/sh

mount -t cramfs /dev/mtdblock2 /usr
mount -t cramfs /dev/mtdblock3 /mnt/web
mount -t cramfs /dev/mtdblock4 /mnt/custom
mount -t cramfs /dev/mtdblock5 /mnt/logo
mount -t jffs2 /dev/mtdblock6 /mnt/mtd
.....
...
cd /usr/etc
./loadmod
.....
.....
[/bash]
这里只给出一些重要的信息,可以看到分区基本上都是cramfs ,也就是说这里面的文件对我们没有秘密可言了
使用相同的方法我们就可以将他里面的文件全部弄出来了。
现在要做的就是先破解telnet密码,我们知道telnet密码在etc/password里面打开他将里面的root用户和密码替换成
root:$1$$qRPK7m23GJusamGpoGLby/:0:0::/root:/bin/sh
我们就可以使用root密码为空登入,执行如下命令制作一个cramfs文件系统
mkcramfs romfs rom_root.cramfs
这样就做好cramfs文件系统了,使用刚才tftp命令写回板子上的flash,重启进uboot输入如下命令
[bash]
mw.b 0x82000000 0xff 0xb00000
tftp 0x82000000 romfs.cramfs
sf probe 0
sf erase 0x80000 0x400000
sf write 0x82000000 0x80000 0x400000 #千万要注意不要把地址搞错否则会破坏flash里面的固件
reset
[/bash]
//=====================================================================
帖子中有对cramfs文件破解的方法,现在就借楼主的宝地附上解决jffs2文件破解方法:
a.同上获取文件系统,通过uboot查看文件系统相关参数,并通过tftp上传至本地pc.不过文件系统后缀为jffs2.
b.在本地linux PC上挂载获取的文件系统并修改里面的密码文件/etc/passwd.
建立mtd模块,然后拷贝从开发板上弄下来的jffs2文件,将文件系统挂载到/mnt/mtd目录中。(这个是在本地linux机器上进行,我的文件系统为5M)
modprobe mtdblock
modprobe mtdram total_size=5120 erase_size=64
modprobe mtdram total_size=11264 erase_size=64
dd if=romfs.jffs2 of=/dev/mtdblock0
mount -t jffs2 /dev/mtdblock0 /mnt/mtd
修改passwd里面的密码为空。
导出文件系统。
dd if=/dev/mtdblock0 of=change.jffs2 bs=5M count=1
再将change.jffs2的文件系统烧入开发板,telnet进去后无密码成功。
//=====================================================================
使用telnet 登入也OK了,

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 收藏 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • Stranger 2023-08-18 20:28:52
    回复
    优秀
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Tracy_9216
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区