首页
社区
课程
招聘
[讨论][讨论]固件分析的正确姿势
2017-6-28 16:24 16283

[讨论][讨论]固件分析的正确姿势

2017-6-28 16:24
16283

更新:固件地址  链接: http://pan.baidu.com/s/1dEFRNyD 密码: itui

固件分析的问题就在于出了问题不知道在哪里。

目标设备:家庭网关,系统类型:Ralink MT751020 SOC

内存:256M

分析步骤:

1.串口接入看能否介入bootloader和linux console,发现均需要用户名密码。

2.热风枪加助焊剂吹掉nand,连接一个淘宝买的Proman牌子的编程器。

3.导出数据,使用binwalk分析,发现不太对劲,怎么这么多JFFS2文件系统。。。。

      binwalk -e能抽出几个java的class文件,其他全是空文件

      firmwaremodkit也试了,但显然问题不在分析软件上。

4.怀疑是导出数据的问题,重新插入编程器,有个检测坏块的功能,点击发现从0到529块都是坏块。。。。。

5.问淘宝店家,确认支持该型号flash。。。。

6.懵逼,问题出在哪里,有可能硬件吹坏了,有可能跟编程器不匹配,有可能固件加密?

请教各位牛,碰见类似问题,通常怎么处理?



[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (23)
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaohuopao 2017-6-30 18:15
2
0
发编程器固件啊!你发日志有什么用啊!
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
打麻将 2017-7-6 22:14
3
0
可能是你买的编程器是坏的,我也碰到过一个编程器,官方也是说支持我读取的那款芯片,但是读的时候每次读取的数据都不一样。后面请  别人用一个高级点的编程器读取就是正确的。可以试试用其他的编程器读取下,最好编程器能测试下读取时引脚是否都接好
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-7-11 18:05
4
0
xiaohuopao 发编程器固件啊!你发日志有什么用啊!
小火炮挺火爆啊,提取出来256M的二进制,传半天,下半天。这不怕浪费大家伙时间么。
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-7-11 18:08
5
0
打麻将 可能是你买的编程器是坏的,我也碰到过一个编程器,官方也是说支持我读取的那款芯片,但是读的时候每次读取的数据都不一样。后面请 别人用一个高级点的编程器读取就是正确的。可以试试用其他的编程器读取下,最好编 ...
感谢麻将的回复,其实我也觉得应该是编程器的问题。所以打算下单新装备后看看,我这个编程器测试,提示全是坏块。等buspirate,jlink,还有新点的编程器到了,鸟枪换炮试试。
雪    币: 2
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
缘来就爱你 2017-7-17 18:01
6
0
卖家大多数不会亲测硬件,还需自测啊
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-7-18 17:07
7
0
缘来就爱你 卖家大多数不会亲测硬件,还需自测啊
的确,卖家说的支持应该只是接口匹配,理论上能支持。
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-7-20 10:03
8
0
又买了个编程器xeltek,读出了固件信息,发现跟proman一样,因此认为不是编程器的问题。也不是固件问题。上传固件,请高手帮忙看看为什么binwalk读出出那么多JFFS2文件系统,无法完成正确逆向。是不是进行了地址混淆?碰见这种情况该怎么逆向?
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-7-20 10:09
9
0
carfieldqi 又买了个编程器xeltek,读出了固件信息,发现跟proman一样,因此认为不是编程器的问题。也不是固件问题。上传固件,请高手帮忙看看为什么binwalk读出出那么多JFFS2文件系统,无法完成正确逆 ...
无法提交,系统限制附件大小为8M。。。。
给出了云端地址      链接:  http://pan.baidu.com/s/1dEFRNyD  密码:  itui
请高手指点
雪    币: 251
活跃值: (1478)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
EOF 2017-7-20 15:07
10
1
这位同学把NAND  FLASH的ECC  block也读进来了吧?估计Flash的PAGE  SIZE=512bytes,每个page的ECC  block=16bytes,所以LZ将ROM将每528bytes的最后16bytes删除掉试试看
又看了一下,ROM文件大小276824064bytes,而256M=268435456bytes,而且276824064*512/528=268435456,LZ知道该怎么办了吧?
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
通宵敲代码 2017-8-15 17:02
11
0
楼上给出了答案
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-8-16 10:22
12
0
EOF 这位同学把NAND FLASH的ECC block也读进来了吧?估计Flash的PAGE SIZE=512bytes,每个page的ECC block=16bytes,所以LZ将ROM将每528byt ...
EOF说的太对了,我们把校验位删除之后,完全逆向出来了,相信“通宵敲代码”也试出来了,感谢你们的帮助
雪    币: 331
活跃值: (410)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
ljcnaix 2017-9-6 13:04
13
0
EOF 这位同学把NAND FLASH的ECC block也读进来了吧?估计Flash的PAGE SIZE=512bytes,每个page的ECC block=16bytes,所以LZ将ROM将每528byt ...
,学习了
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YP星星 2017-10-11 16:00
14
0
能不能把固件再公布一下,我学习下
雪    币: 33
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
carfieldqi 2017-10-12 16:02
15
0
YP星星 能不能把固件再公布一下,我学习下
之前的删了,重新上传了一份给你,链接:http://pan.baidu.com/s/1i5FyMrz  密码:ty3j
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YP星星 2017-10-16 09:56
16
0
carfieldqi 之前的删了,重新上传了一份给你,链接:http://pan.baidu.com/s/1i5FyMrz 密码:ty3j
谢谢
雪    币: 1412
活跃值: (4273)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2017-10-16 10:59
17
0
EOF 这位同学把NAND FLASH的ECC block也读进来了吧?估计Flash的PAGE SIZE=512bytes,每个page的ECC block=16bytes,所以LZ将ROM将每528byt ...
卧槽。大牛深藏不露啊。
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哈哈哒 2018-1-19 10:41
18
0
EOF 这位同学把NAND FLASH的ECC block也读进来了吧?估计Flash的PAGE SIZE=512bytes,每个page的ECC block=16bytes,所以LZ将ROM将每528byt ...
请问在吗
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
哈哈哒 2018-1-19 10:41
19
0
carfieldqi EOF说的太对了,我们把校验位删除之后,完全逆向出来了,相信“通宵敲代码”也试出来了,感谢你们的帮助[em_63]
请问在吗
雪    币: 199
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
callmexxaqer 2018-7-5 10:22
20
0
我想问的是,最后固件分析出什么问题了吗?有没有漏洞发现呢?

其实要获取flash内容,不需要编程器;找个嵌入式开发板,自己编程进去,基本能获取所有flash内容。
雪    币: 458
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
badboyhzg 2019-12-29 23:56
21
0
nand 都是有坏块的~~你把坏块也读出来了。 nand使用都是要写坏块处理的。
雪    币: 458
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
badboyhzg 2019-12-29 23:58
22
0
大牛不知道对于固件分析有没有什么很牛逼的思路。  帮我分析一个固件?  有偿的。分析出来文件系统就可以。
雪    币: 734
活跃值: (458)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
backahasten 1 2020-1-19 16:48
23
0
楼主后续怎么样了,洞挖出来了么(手动斜眼笑)
雪    币: 320
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
I_CAN 2020-2-12 16:04
24
0
学习了   SPI Nand Flash 确实有ECC纠错模块 
游客
登录 | 注册 方可回帖
返回