首页
社区
课程
招聘
[原创]KCTF2020 智能设备Crackme 题目提交
发表于: 2020-10-29 22:55 2414

[原创]KCTF2020 智能设备Crackme 题目提交

2020-10-29 22:55
2414

题目类型:
智能硬件Crackme题目

  1. flag:2296dc2f09144713

  2. 设计: 使用64位椭圆曲线,设计为弱私钥,私钥可在3分钟内爆破
    曲线参数如下:
    p = 0xc021a12750820335
    a = 0x2b7874ef148937d1
    b = 0x496412a7502c4cd5
    G = (0x4d8acf91aac0ba96, 0x79e9ac784679a36d)
    n = 0xc021a1277f8b7ee7

flag为一个固定的签名(ECC签名中的s),检查flag过程为ECC验签过程中的检查s过程。
验签过程在duktape虚拟机中运行。
题目需要在arm模拟器下运行.运行命令为:
qemu-system-arm -M versatilepb -dtb ./versatile-pb.dtb -kernel zImage -append "console=ttyAMA0" -nographic
命令在ubuntu18.04环境下测试通过.qemu版本4.2.1.

 

当输入错误时无显示,当输入正确时显示"you got it"
正确flag 的计算时间约为50秒左右.

  1. 破解
    从zImage中提取出k2020程序,直接运行strings,可以得到部分曲线参数。

跟踪验签过程得到公钥:(0xb520ee455c4e5c68, 0x8d2984eb2d7fd1ce)

 

根据曲线参数和公钥爆破得到私钥: 125591, 使用sage运行爆破时间在2分钟左右.

 

跟踪验签过程得到k值130516937431,和待验签数据 0x4b43544632303230

 

就能根据签名过程计算出flag

 

参考:
210K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0M7%4u0U0i4K6u0W2L8X3W2K6N6q4)9J5k6h3N6G2N6W2)9J5c8X3y4K6M7X3y4Q4x3V1k6E0k6h3c8A6j5g2)9J5c8X3g2$3k6h3&6@1M7#2)9J5c8Y4N6G2M7X3E0K6K9r3!0H3i4K6u0V1L8$3&6Q4x3X3c8W2L8r3I4A6M7s2c8A6j5#2)9J5k6r3y4#2M7Y4k6W2i4K6u0V1j5%4u0&6M7s2c8G2k6%4u0S2M7r3S2&6i4K6u0V1M7%4c8S2L8X3c8S2M7X3c8K6i4K6u0r3k6r3!0U0N6h3#2W2L8Y4c8K6i4K6u0r3M7r3q4H3k6i4u0K6i4K6u0r3M7$3g2K6M7$3W2G2L8U0k6Q4x3X3c8S2k6r3q4D9K9h3g2J5i4K6u0V1L8h3g2Z5L8h3g2@1i4K6u0W2M7r3c8X3


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2020-12-12 12:34 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回