前段时间做的一个简单固件提取分析的杂项题,一直没去整理 。。,第一次做这种题,感觉还不错,记录一下,并分享给大家。
题目描述1
题目分成两个部分,第一部分是固件解密,给了提示 ^,明显是异或加密,但异或加密需要密钥,密钥是什么呢??
使用010editor打开固件
原来固件的末位本来是0000填充,但这里是0x13 0x37填充,所以猜测密钥可能是0x13,0x37,解密代码如下
from Crypto.Util.number import *
with open("spiked_firmware.bin","rb") as f:
data = f.read()
output = ""
for i in range(0,len(data),2):
output += chr(ord(data[i]) ^ 0x13) + chr(ord(data[i+1]) ^ 0x37)
with open("output","wb") as f:
f.write(output)
题目描述2
题目二
-
获取shadow文件内容
-
列出有shell的用户
-
网站的序列号以及证书的算法
-
证书什么时候到期
-
固件中cloud密码是什么
Answer:
1.首先通过binwalk -e 分离提取固件,然后通过find查找shadow文件
2.查看passwd即可
3.网站的证书 rsa算法
4.上传证书到网站进行解析 可以获取证书的到期时间以及序列号
https://myssl.com/cert_decode.htm
5.通过搜索关键字pass 找到cloud密码信息
公众号回复misc2 可下载文中固件。
原文始发于微信公众号(格格巫和蓝精灵):ctf之杂项-固件提取分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论