解析2025强网拟态FMS
💡
原文中文,约18300字,阅读约需44分钟。
📝
内容提要
Flag管理系统存在后门,测试人员需通过分析伪随机数生成器和漏洞,恢复admin密码并读取加密flag。关键在于利用低位信息和格基规约技术,成功解密flag。
🎯
关键要点
- Flag管理系统存在后门,测试人员需通过分析伪随机数生成器和漏洞,恢复admin密码并读取加密flag。
- 系统功能包括用户登录、获取公钥、读取加密flag和退出系统。
- PRNG(伪随机数生成器)使用线性同余生成器(LCG)算法,状态空间为128位素数。
- admin密码由PRNG生成的32个随机字符组成,guest账户密码已知但权限不足。
- 后门功能泄露了LCG的参数(a, b, p),并且验证码生成机制泄露了低位信息。
- 通过多次尝试登录收集低位信息,利用这些信息恢复PRNG的初始状态。
- 构建多项式方程组,将问题转化为格基规约问题,使用LLL算法求解。
- 通过逆向LCG恢复初始种子,重现admin密码并登录获取flag。
- 解密flag需要生成AES密钥和IV,确保PRNG状态同步以正确生成密钥。
- 本题涉及的知识包括伪随机数生成器、线性同余生成器、格基规约等密码学和数学知识。
❓
延伸问答
Flag管理系统的后门是如何被利用的?
后门通过泄露伪随机数生成器的参数(a, b, p)和验证码的低位信息,使得测试人员能够恢复admin密码并读取加密flag。
如何恢复admin密码?
通过分析收集到的低位信息,构建多项式方程组并使用格基规约技术求解,最终逆向LCG恢复初始种子,从而生成admin密码。
PRNG的工作原理是什么?
PRNG使用线性同余生成器(LCG)算法,通过状态更新公式生成伪随机数,其状态空间为128位素数。
为什么LCG不适合用于密码学?
因为LCG的可预测性和状态恢复能力使得攻击者可以通过已知的输出预测未来的状态,导致安全性不足。
如何通过验证码收集低位信息?
通过多次尝试登录,系统会生成验证码,每次验证码的生成都会泄露PRNG状态的低8位信息,收集这些信息可以帮助恢复初始状态。
格基规约技术在此攻击中的作用是什么?
格基规约技术用于将恢复初始种子的多项式方程组转化为格问题,通过寻找短向量来求解,从而恢复种子。
➡️