Log4Shell: conoce si eres vulnerable y soluciona este grave fallo

Log4Shell: conoce si eres vulnerable y soluciona este grave fallo

Javier Jiménez

Log4Shell es la última vulnerabilidad que trae de cabeza a muchos administradores que han visto cómo sus servidores son vulnerables a ataques remotos. Se trata de un fallo de seguridad severo, que puede ser explotado de una manera sencilla. Además, puede afectar a una gran cantidad de usuarios. Se ha descubierto que afecta a servicios en la nube como Apple iCloud o Steam. En este artículo explicamos qué es exactamente, cómo funciona y por supuesto qué hacer para solucionar este problema.

Qué es Log4Shell

Se trata de una vulnerabilidad que afecta a la popular librería de registro de Java Log4j, desarrollada por Apache. Es muy utilizada en todo tipo de servicios y software. Por ejemplo en juegos como Minecraft, además de servicios en la nube. Sirve para que las aplicaciones almacenen un registro o log durante su funcionamiento. Podéis visitar nuestro tutorial sobre qué es el archivo htaccess en Apache.

Podemos decir que este problema afecta a millones de servidores en todo el mundo. Todos ellos son vulnerables y pueden sufrir ataques remotos. Al aprovechar el fallo Log4Shell, un atacante podría colar malware y tomar el control total de ese servidor. Básicamente tendría vía libre para hacer lo que quisiera.

La vulnerabilidad ha sido registrada como CVE-2021-44228 y una puntuación CVSS de 10. El atacante, para poder explotarla, simplemente necesita que la aplicación registre una cadena especial, una serie de caracteres. El investigador de seguridad informática Matthew Prince, en su perfil de Twitter, informa de evidencias de que el exploit estaba disponible al menos 9 días antes de su publicación, aunque no hay evidencias de que se haya utilizado ampliamente hasta entonces.

No obstante, ahora sí que hay muchos atacantes que están explotando la vulnerabilidad Log4Shell y poder llevar a cabo sus ataques. Pueden, por ejemplo, instalar mineros de criptomonedas en un servidor o convertir los dispositivos afectados en una botnet.

Cómo detectar esta vulnerabilidad

Se calcula que Java está presente en unos 3.000 millones de dispositivos en todo el mundo. La gran mayoría de programadores utilizan Log4j, por lo que son muchos los que pueden ser vulnerables a este problema. ¿Es posible saber si un sistema es vulnerable a Log4Shell? Hay varias formas de hacerlo y una de las más sencillas es conocer la versión de Log4j que tiene instalada. Las vulnerables van desde la 2.0-beta9 hasta la 2.14.1.

Además, en GitHub podemos encontrar los pasos para ejecutar comandos y detectar si la vulnerabilidad registrada como CVE-2021-44228 está presente o no. Este escáner basado en Python actúa como detector de la vulnerabilidad Log4Shell.

Podemos decir que la forma más sencilla de detectar si un punto final remoto es vulnerable es activar una consulta de DNS. Lo que hace el exploit es que el hipotético servidor vulnerable intente obtener código remoto. Si usamos la dirección de una herramienta gratuita de registro de DNS en la cadena de explotación, podremos detectar cuándo se activa la vulnerabilidad. Como explican en Lunasec, podemos usar CanaryTokens para ello.

Comprobar ataques Log4Shell

Cómo solucionarla en tu sistema

Si sabes que tu sistema es vulnerable y quieres protegerlo, hay diferentes formas. La más recomendable ahora mismo es actualizar la versión de Log4j a la 2.15.0, que corrige el problema. Lo puedes descargar de la web oficial de Apache. Es muy importante siempre contar con las últimas versiones y este es un ejemplo claro de ello.

También puedes consultar el anuncio oficial de seguridad de Log4j, donde encontrarás toda la información de los pasos para corregir la vulnerabilidad e instalar los parches necesarios.

No obstante, debido a la enorme importancia que tiene este fallo de seguridad, han surgido diferentes opciones que actuaban como “parches momentáneos” y poder así corregir o al menos disminuir el problema. Un ejemplo es el script lanzado por Cybereason, que se basa en la propia vulnerabilidad para desactivar una configuración en una instancia remota y vulnerable de Log4Shell.

Además, otra mitigación temporal hasta que hubiera parche fue la de establecer el parámetro log4j2.formatMsgNoLookups; en True al iniciar la máquina virtual Java.

En definitiva, la vulnerabilidad Log4Shell es muy peligrosa y ha puesto en riesgo a millones de dispositivos en todo el mundo. Es esencial corregir el problema lo antes posible y no hay nada mejor que actualizar a la última versión.

¡Sé el primero en comentar!