我正在研究基于 QNX ARM 的汽车导航,似乎该系统有一个后门,如果质询/响应成功,则无需密码即可通过 telnet 访问系统。
当一个被调用的文件challenge
被放置在 U 盘上并插入系统时,它会在其中写入一些字节。这里有几个例子: eaxj2ABs4BeMQqQJamOH?smOCVEC KKUcw5m:vvJXmCIK3SBDDqv9p:Or odlwY@ed6B?8OKCmaqIDdFz7YSnv BBqGoWKocmAuvSDacMAkZ:83:QVq
我在固件中找到了处理质询/响应的 ELF 文件(可以根据请求共享),它读取一个公钥文件:
hChallengePub = sub_1030A0((int)"/ifs/challenge.pub", &v11, &v13)
Challenge.pub 包含以下字节:
30 29 03 02 07 00 02 01 0E 02 0F 00 9C 9C A4 5A
FA 1E 2D 32 2A 93 9D 37 41 93 02 0F 00 95 AB 6B
DB 94 29 4D C3 C6 07 3B B7 31 40
ELF 中的调试文本指向源文件src/pk/ecc/ecc_import.c
,这让我相信它是 ECC 公钥,但它似乎不完整(例如没有 ASN.1 标头)。
我希望能够将此密钥转换为 pem 格式,以便我可以使用 openssl 运行一些测试,因此我正在寻找如何执行此操作的指针。
最终,我想看看我是否可以创建适当的响应并获得访问权限,但如果它需要私钥(如果有好处的话应该这样做),这可能是不可能的。