破解QSYRUPWD:还原IBM i密码哈希
The Cipher Behind QSYRUPWD: Reconstructing IBM i Password Hashes

在一次IBM i渗透测试中,我发现当QPWDLVL设置为2时,QSYRUPWD API返回的加密数据格式与John the Ripper的现有破解模块不兼容,导致无法进行密码强度测试。为了搞清楚背后的机制,我编写了CL程序调用该API,并利用STRTRC工具追踪系统调用,最终定位到涉及AES解密的核心函数。通过System Service Tools (SST) 对底层汇编代码进行反汇编分析,我发现了代码通过SCV 10指令将加密操作委托给操作系统内核。本文详细记录了从发现异常、追踪调用链到逆向分析底层加密逻辑的全过程,揭示了IBM i在QPWDLVL 2及以上级别中隐藏密码哈希的真实结构。
在QPWDLVL 2到4的设置下,QSYRUPWD返回的内容发生了改变,导致现有的John the Ripper IBM i格式无法直接使用。
- kencausey
链接是从 calvin 在 lobste.rs 上偷来的。<https://lobste.rs/s/2dc0gb/cipher_behind_qsyrupwd_reconstruc...>