Corregir la vulnerabilidad VMSA-2021-0028 de log4j2 en VCSA con script de python

En este otro post os explico un poco sobre la vulnerabilidad de log4j2 y como la he buscado yo en Windows.

Como sabéis VMware estaba afectado.

Estaba recopilando información del KB y he visto que en el blog de RAGASYS SISTEMAS han sido más rápidos que yo, lo explican fenomenal paso por paso.

Como es algo bastante importante voy a publicar mis pasos también, por si alguien lo necesita y haya una difusión más amplia. también me he encontrado algún fallito en el reinicio de los servicio despues de ejecutar ese script.

Como indica en el kB nos vamos a descargar el script de Python desde aquí

Buscamos la ruta donde hayamos descargado el script de Python en nuestro pc y abrimos un Notepad o algo similar yo he usado el Notepad++

notepad++

Accedemos por ssh a nuestro vcsa y vamos a /tmp y creamos un fichero nuevo con vi

vi vmsa-2021-0028-kb87081.py

phython_vcsa_script

Copiamos el contenido de nuestro Notepad en el fichero creado en el vcsa

copy_script_vcsa

Y lo guardamos con: wq!

Ejecutamos el script de Python con:

python vmsa-2021-0028-kb87081.py

execute_script

Nos informa que va a reiniciar todos los servicios, le decimos que yes

remediate vcsa

Automáticamente nos va a parar los servicios y a corregir las vulnerabilidades de nuestro vcsa y volverá a arrancar los servicios.

Este proceso ha tardado unos 10 minutos más o menos quizás algo más no so estreséis si os tarda como indica en la imagen está corrigiendo ciertos ficheros y volviendo a arrancar el vcsa.

completed

He hecho varios vcenter hoy y me he encontrado errores a veces en el servicio de vmon, por si no lo sabéis es el que inicia y detiene los servicios de vCenter Server y supervisa el estado de la API del servicio.

faield_scriptQue no cunda el pánico, suele ser por la versión de vcenter que tenéis, si falla en servicio tocaría revisarlo manualmente.

Para ello nos vamos al KB que nos indica en el fallo.

Vamos a ir a fichero en concreto donde corregimos la vulnerabilidad

vi /usr/lib/vmware-vmon/java-wrapper-vmon

comprobamos que al final del fichero tenemos cambiado esta línea

exec $java_start_bin $jvm_dynargs $security_dynargs $original_args

por estas 2 líneas

log4j_arg="-Dlog4j2.formatMsgNoLookups=true"
exec $java_start_bin $jvm_dynargs $log4j_arg $security_dynargs $original_args

revisamos el propietario y los permisos

chown root:cis /usr/lib/vmware-vmon/java-wrapper-vmon
chmod 754 /usr/lib/vmware-vmon/java-wrapper-vmon

permision scriptParamos los servicio

service-control --stop –all

stop servicesY los arrancamos

service-control --start –all

Es posible que el servicio se queda sin arrancar incluso después de para los servicios ya según que veris onde vcsa he tenido que reiniciarlo por completo.

reboot

 

como ultima comprobación voy a revisar que veo todo en mi vcenter

vcsa_ok

y podemos comprobar lo servicio en la web de administracion de nuestro vcsa

services_vcsa

Con esto tenemos corregido la vulnerabilidad de log4j2 en nuestro vcenter

Espero que os sirva

ACTUALIZACION: Esto esta siendo un locura. vmware actualiza su kb con un nuevo script en otro kb que hay que ejecutar llamado (la web va bastante saturadita) remove_log4j_class.py al finalizar  update_script

ha habido con indicaba mucho errores relacionado son el servicio vmon y el servicio de analítica este nuevo script lo corrige

Los pasos son los siguientes:

Descargamos el script adjunto a este KB (remove_log4j_class.py)

Iniciamos sesión en vCSA usando un cliente SSH (usando Putty.exe o cualquier cliente SSH similar)

Transferimos el archivo a la carpeta / tmp en vCenter Server Appliance usando WinSCP
Nota: Es necesario habilitar el shell bash antes de que WinSCP funcione. 4. Ejecute el script copiado en el paso 1: python remove_log4j_class.py

o bien hacemos lo mismo abrimos un fichero vi en temp con creamos uno nuevo y ejecutamos el script python

remove_log4j_class.py

 

El script detendrá todos los servicios de vCenter, continuará con la eliminación de JndiLookup.class de todos los archivos jar en el dispositivo y finalmente iniciará todos los servicios de vCenter. Los archivos que modifica el script se informarán como «ARCHIVO VULNERABLE» a medida que se ejecuta el script.

 

Deja un comentario