香港AI x Cybersecurity Challenge 2026复盘:Misc、Crypto、Reverse解题思路全记录

发布时间:2026/7/10 3:15:10

香港AI x Cybersecurity Challenge 2026复盘:Misc、Crypto、Reverse解题思路全记录 前言香港AI x Cybersecurity Challenge人工智能網絡安全挑戰賽是由数字政策办公室、香港网络安全专业协会CSPA、中国网络空间研究院、中国移动香港有限公司主办的新兴网络安全赛事。比赛采用动态计分机制——先完成解题的队伍获得更高分数。初赛为12小时线上Jeopardy-style解题赛决赛为香港线下一日赛结合AI攻防与现实情境挑战。不同于传统CTF本次比赛要求参赛队伍设计、构建和运行AI驱动的自动化系统自动分析靶场环境、识别并利用漏洞。题型覆盖程序漏洞、密码学、AI网络安全、电脑鉴证、逆向工程、网站漏洞等。笔者队伍在初赛中成功晋级线下笔者负责逆向与二进制分析部分且已全解。以下是各方向的完整解题思路。一、Reverse逆向工程1.1 SimpleSocket —— 混合加密与数据包重排题目背景“A lightweight client-server program protects its returned message through a custom communication flow. Reverse the logic behind the exchange and recover the final content.”解压附件后得到4个文件textSimpleSocket.zip ├── py # Python源码1540字节 ├── packet1 # 数据包196字节 ├── packet2 # 数据包2900字节 └── packet3 # 数据包3256字节Step 1源码分析打开py文件发现典型的RSA AES混合加密体系pythonfrom Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP, AES from Crypto.Util.Padding import pad, unpad服务端生成1024位RSA密钥对pythondef generate_rsa_keys(): key RSA.generate(1024) private_key key.export_key() public_key key.publickey().export_key() return private_key, public_key客户端逻辑生成16字节AES密钥用RSA公钥加密后发送给服务端pythondef client_logic(public_key): aes_key os.urandom(16) cipher_rsa PKCS1_OAEP.new(RSA.import_key(public_key)) encrypted_aes_key cipher_rsa.encrypt(aes_key)服务端用RSA私钥解密获得AES密钥后续通信全部使用AES加密。Step 2数据包分析packet196字节 RSA加密的AES密钥packet2900字节 AES加密的密文数据packet3256字节 另一段AES密文关键发现数据包顺序存在错位。正常流程中客户端先发RSA加密的AES密钥服务端回复AES加密数据。但抓包数据中packet2和packet3的顺序被调换了。Step 3解密流程从py源码中提取RSA私钥源码中硬编码了测试用的私钥用私钥解密packet1获得AES密钥按正确顺序packet2 → packet3拼接AES密文用AES密钥解密密文去除padding后获得flagpython# 核心解密逻辑伪代码 rsa_key RSA.import_key(private_key_pem) cipher_rsa PKCS1_OAEP.new(rsa_key) aes_key cipher_rsa.decrypt(packet1) cipher_aes AES.new(aes_key, AES.MODE_ECB) plaintext unpad(cipher_aes.decrypt(packet2 packet3), AES.block_size) # flag HKAI{...}关键技巧CTF中混合加密题目的突破口往往在于提取硬编码密钥或识别数据包结构而非暴力破解。1.2 CodeSign —— Android APK签名证书逆向题目类型Android APK逆向涉及APK签名机制。Step 1初探APK将APK解包后发现关键逻辑程序使用APK签名证书的SHA1指纹作为XOR密钥对flag进行加密。Step 2APK签名结构解析Android APK V2签名APK Signature Scheme v2将签名信息存储在APK文件的签名块Signing Block中。需要从APK中提取v2签名证书textAPK文件结构 [ZIP Central Directory] ← 文件末尾 [APK Signing Block] ← V2/V3签名存储位置 [ZIP Entries]Step 3提取证书并计算SHA1使用apksigner或自行解析签名块结构提取X.509证书计算其SHA1指纹bash# 方法1使用keytool keytool -printcert -jarfile app.apk # 方法2使用apksigner apksigner verify --print-cert app.apkStep 4XOR解密将SHA1指纹作为XOR密钥对加密数据进行异或解密pythonimport hashlib from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.serialization import Encoding # 提取证书 → 计算SHA1 cert_der extract_cert_from_apk(app.apk) sha1 hashlib.sha1(cert_der).digest() # XOR解密 encrypted bytes.fromhex(...) key sha1 flag bytes([encrypted[i] ^ key[i % len(key)] for i in range(len(encrypted))])知识点延伸APK签名证书的SHA1指纹在正常应用中用于校验应用完整性但在CTF中常被用作隐藏的密钥材料。这种设计思路在实际恶意软件分析中也很常见——攻击者会用合法证书的哈希作为解密密钥以绕过检测。二、Crypto密码学初赛Crypto题目围绕RSA低指数攻击与LCG随机数预测展开。2.1 RSA LCG —— 当RSA遇上线性同余生成器题目特征服务端使用LCG生成RSA密钥对中的素数导致素数之间存在线性关系从而可以被分解。核心原理LCG定义为X_{n1} (a * X_n c) mod m如果RSA模数N p * q中的p和q由同一个LCG生成或存在已知线性关系则可构造方程求解。解题思路收集多组LCG输出值通常服务端会提供多次交互的密文利用LCG的线性关系恢复参数a、c、m预测素数p和q分解N计算私钥d解密密文python# LCG参数恢复已知连续输出x0, x1, x2 # x1 (a*x0 c) mod m # x2 (a*x1 c) mod m # → a (x2 - x1) * inv(x1 - x0, m) mod m2.2 通用Crypto解题框架在CTF中应对密码学题目建议遵循以下流程识别算法从题目描述或源码中判断使用的加密算法RSA、AES、ECC、LCG等提取参数获取模数、指数、密文、已知明文等识别漏洞判断是否存在低指数、共模攻击、选择密文攻击、填充预言等漏洞编写利用脚本使用PyCryptodome、gmpy2、SageMath等工具三、Misc杂项Misc题型在本次比赛中主要涉及隐写术、流量分析与数据恢复。3.1 图片隐写 —— 藏在像素里的秘密常用工具链工具用途StegSolve检测LSB隐写、不同颜色通道的隐藏信息Zsteg命令行检测PNG/BMP的LSB隐写binwalk检测文件中嵌入的其他文件foremost文件 carving 恢复解题流程先用file命令确认文件类型用binwalk检查是否有嵌入文件用StegSolve逐通道检查像素异常若发现LSB隐写用zsteg -a提取3.2 流量分析 —— 在数据包中寻找FlagWireshark是流量分析的核心工具筛选HTTP请求http.request或http contains flag筛选TCP流右键 → Follow TCP Stream导出对象File → Export Objects → HTTP检查DNS查询中的异常子域名可能为DGA或数据外泄3.3 压缩包破解当遇到加密的ZIP/RAR文件时优先尝试弱口令或题目中隐含的提示使用fcrackzip或John the Ripper进行字典攻击若为ZIP伪加密修改加密标志位即可绕过四、参赛心得与技巧总结4.1 动态计分机制下的策略本次比赛采用动态计分意味着速度至关重要。建议先易后难优先解决Misc和简单Crypto快速积累分数并行作战队内分工同时推进多个方向的题目脚本复用提前准备好常用解题脚本XOR、RSA、AES等4.2 AI在CTF中的角色本次比赛的一大特色是AI驱动攻防。参赛队伍需要构建AI自动化系统分析靶场、识别漏洞。实际比赛中AI辅助主要体现在自动化信息收集扫描端口、识别服务版本漏洞模式匹配将靶场特征与已知CVE或漏洞模式匹配脚本生成根据漏洞类型自动生成利用脚本4.3 通用解题方法论无论哪个方向CTF解题都可归纳为四步信息收集识别题目类型、提取附件中的关键信息漏洞定位找到可被利用的弱点利用实现编写脚本或手工操作获得flagFlag提取注意flag格式通常为HKAI{...}或flag{...}结语香港AI x Cybersecurity Challenge 2026是一次融合AI与网络安全的创新赛事。初赛12小时的Jeopardy-style解题赛覆盖了Reverse、Crypto、Misc、Web、Pwn等多个方向决赛则进一步考验AI攻防实战能力。对于参赛者而言系统化的方法论比零散的技巧更重要——信息收集→漏洞定位→利用实现→Flag提取的闭环思维配合跨模块的联动能力才是高效解题的关键。笔者队伍已成功晋级线下决赛后续将继续分享决赛阶段的AI攻防实战经验。欢迎关注交流本文基于香港AI x Cybersecurity Challenge 2026初赛实战经历整理。相关Writeup参考了gm7.org的技术文章及CTFtime赛事页面。

相关新闻