今天看啥  ›  专栏  ›  看雪学苑

长城杯初赛WP xiran_encrypto

看雪学苑  · 公众号  · 互联网安全  · 2024-10-21 17:39

主要观点总结

该文章是关于CTF题目与恶意脚本结合的问题,涉及cha和clickme的解密逻辑。文章介绍了cha题目的解题思路和爆破脚本,以及clickme的加密逻辑和解密脚本。同时,文章还探讨了在解决cha题目时如何分析私钥以及应对反调试措施的思路。

关键观点总结

关键观点1: 文章主题

介绍CTF题目与恶意脚本结合的问题,涉及cha和clickme的解密逻辑。

关键观点2: cha题目的解题思路

使用DFS爆破,利用前面的数据求和信息,筛选唯一解。

关键观点3: 爆破脚本描述

脚本中包含convert函数用于处理加密标志,以及brup函数用于递归解密。

关键观点4: clickme的加密逻辑

采用curve25519算法生成密钥和nonce,使用chacha20进行加密,每0xA00000加密0x100000,最后写入公钥和固定标识。

关键观点5: 解密脚本

解密脚本使用curve25519算法和chacha20算法进行解密操作。

关键观点6: 私钥分析

在解决cha题目时,分析了私钥的获取难度,提到了反调试措施,如ptrace追踪和内存值检查。


文章预览

该题为正常ctf题与恶意脚本相结合的题目,cha为常规的re题目,clickme为恶意样本,在cha中拿到信息,然后根据clickme的逻辑解密。 cha的核心为比较经过换表base64然后与自己xor之后与内存中的32字节相比较 求解思路: 1.DFS爆破,因为前面的字节会影响后面的状态 2.利用前面的数据求和信息,筛选唯一解 爆破脚本: convert_table = b'APet8BQfu9CRgv+DShw/ETixFUjyGVkzHWl0IXm1JYn2KZo3Lap4Mbq5Ncr6Ods7' encrypted_flag = [ 0xD9 , 0x40 , 0x6F , 0xCA , 0x3D , 0x8F , 0x53 , 0xB1 , 0x8B , 0x34 , 0x92 , 0x8E , 0xF7 , 0x19 , 0x94 , 0x61 , 0x68 , 0x71 , 0x55 , 0xB6 , 0xCE , 0x5B , 0x71 , 0x1A , 0x79 , 0x42 , 0x9D , 0x02 , 0x93 , 0x38 , 0xAD , 0x1F , 0xD3 , 0x24 , 0x48 , 0xFF , 0x21 , 0xA2 , 0x24 , 0xBE , 0x95 , 0x3A , 0xC1 , 0xD2 ] def convert ( flag,index ): group = (index // 4 ) * 3 if index % 4 == 0 : return convert_table[f ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览