IBM i の QSYRUPWD が返す暗号化パスワードを解読:John the Ripper では解析できない新形式
The Cipher Behind Qsyrupwd: Reconstructing IBM i Password Hashes

IBM i の QSYRUPWD API は、ユーザーのパスワード関連データを暗号化して返す。しかし、QPWDLVL 2〜4 のシステムでは、John the Ripper の既存フォーマット(as400_des, as400_ssha1)と互換性のない形式で出力されることが判明。著者は CL プログラムとトレース、SST による逆アセンブルを駆使し、内部で呼ばれる qsy_cipher と qsy_aes_decrypt 関数が SCV 10 で LIC コードに処理を委譲していることを突き止めた。SCV 10 のハンドラ #cfmir の解析から、関数番号 346 が何を意味するのかを特定しようと試みる。
SCV (Supervisor Call Vectored) は、プログラムが scv 命令を実行して特権的な IBM i/LIC コードに切り替え、オペレーティングシステムがユーザープログラムでは直接実行できない処理を実行できるようにするシステムコールメカニズムです。