What Is Log4shell And How To Protect Your Linux System Against It Featured Image

¿Qué es Log4Shell y cómo proteger su sistema Linux contra él?

Muchos investigadores y expertos en ciberseguridad describen la vulnerabilidad Log4Shell (CVE-2021-44228) como la vulnerabilidad de día cero más crítica de todos los tiempos. Afecta a una utilidad de Java ampliamente utilizada con el nombre de Log4j, que existe desde 2001 para registrar y comunicar eventos, como operaciones rutinarias del sistema y errores de software. Aquí le mostramos cómo proteger su sistema Linux contra él.

¿Cómo funciona la vulnerabilidad de Log4Shell?

En un nivel fundamental, la vulnerabilidad es causada por una validación de entrada incorrecta. Esto sucede cuando el software no valida correctamente los datos que recibe, lo que genera posibles vulnerabilidades, ya que la entrada validada incorrectamente puede usarse para hacer que el programa realice acciones que no debería.

Log4Shell aprovecha específicamente las solicitudes que Log4j envía a los servidores, utilizando LDAP y JNDI. Al aprovechar estas solicitudes, un atacante puede ejecutar código en cualquier sistema vulnerable, lo que puede llevar a que un actor malicioso tome el control total del sistema y tenga la capacidad de instalar ransomware o robar datos.

¿Qué Afecta Log4Shell?

Dado que Java es un lenguaje de programación extremadamente popular, una gran cantidad de software escrito en Java que usa Log4j para su funcionalidad de registro se ve afectado por esta vulnerabilidad. Algunos de los programas más conocidos y utilizados afectados por esta vulnerabilidad incluyen Apache y el videojuego llamado Minecraft.

¿Cómo saber qué software está afectado?

Log4Shell, como cualquier otra vulnerabilidad de ciberseguridad, se mitiga parcheando el software afectado. Sin embargo, el caso de Log4Shell es un poco más singular, ya que afecta a una amplia gama de software y puede ser difícil mantener una lista de lo que se ve afectado y lo que no.

Afortunadamente, el Centro Nacional de Seguridad Cibernética de los Países Bajos ha publicado una lista completa sobre GitHubque incluye nombres de software desarrollado por diferentes organizaciones, que informa si son vulnerables a Log4Shell.

Cómo escanear su servidor Apache en busca de la vulnerabilidad

Dado que esta vulnerabilidad ha afectado en gran medida a las comunidades de ciberseguridad y software, no sorprende que haya herramientas disponibles para que los administradores escaneen sus servidores en busca de la vulnerabilidad.

Uno de esos escáneres es Log4j-RCE-escánerque le permite buscar vulnerabilidades de ejecución de comandos remotos en Apache Log4j en varias direcciones.

Instalación de Log4j-RCE-Scanner

Antes de comenzar, necesitamos instalar sus dependencias, httpx y curl.

Curl se puede instalar fácilmente en sistemas basados ​​en Ubuntu y Debian usando el apt dominio:

instalación de dependencia curl

Lo mismo se puede hacer en Arch Linux usando el pacman dominio:

Y en las instalaciones de CentOS y Fedora usando el yum dominio:

La instalación de httpx se puede hacer con los siguientes comandos:

git clone https://github.com/projectdiscovery/httpx
cd httpx/cmd/httpx && go build .
sudo mv httpx /usr/local/bin/

clon de git de dependencia de httpx

Después de instalar todas las dependencias necesarias, clone el repositorio de Log4J-RCE-Scanner:

git clone https://github.com/adilsoybali/Log4j-RCE-Scanner

bash apache log4j rce escáner git clon

Acceda al directorio recién creado:

Finalmente, agregue los permisos ejecutables necesarios para el script Bash:

chmod +x log4j-rce-scanner.sh

bash apache log4j rce escáner chmod

Usando Log4j-RCE-Escáner

Después de haber instalado el escáner, finalmente puede llegar a la parte divertida de usarlo.

Lea la sección de ayuda del script escribiendo:

bash log4j-rce-scanner.sh -h

bash apache log4j rce ayuda del escáner

Ahora, puede escanear su servidor Apache en busca de la vulnerabilidad Log4shell.

bash log4j-rce-scanner.sh -d [domain] -b [Burp collaborator]

Puede especificar su dominio y Burp Collaborator usando el -d y -b banderas Si su dominio es vulnerable, las devoluciones de llamada de DNS con el nombre de dominio vulnerable se envían al Colaborador de eructos.

Alternativamente, el -l flag también se puede utilizar para especificar una lista de dominios.

bash apache log4j escaneo de prueba del escáner

Instalación y uso de un escáner basado en Python

Si prefiere usar un script de Python en su lugar, puede usar el escáner log4que es desarrollado por la Agencia de Seguridad de Infraestructura y Ciberseguridad de los Estados Unidos.

Para instalarlo:

git clone https://github.com/cisagov/log4j-scanner/

Accede al directorio:

cd log4j-scanner/log4-scanner/

Puede instalar las dependencias requeridas usando el programa basado en Python pip3 dominio:

pip3 install -r requirements.txt

python log4j rce escáner git clon

Puede ver la «ayuda» proporcionada por el script usando el -h bandera:

python apache log4j ayuda del escáner rce

Escanear una sola URL es simple y se puede hacer usando el -u bandera:

python3 log4j-scan.py -u example.com

python apache log4j rce escáner escaneo único

También puede escanear una lista de URL utilizando el -l bandera:

python3 log4j-scan.py -l list.txt

python apache log4j rce escaneo de lista de escáneres

Cómo parchear Apache

Para combatir esta vulnerabilidad, es extremadamente importante mantener actualizada la configuración de Apache.

La verificación de la versión de Apache se puede hacer de muchas maneras: verificando desde su panel de administración, como CPanel o WebHost Manager. También puede comprobar la versión ejecutando el httpd comando con el -v bandera:

Apache se puede actualizar a la versión más reciente y segura mediante el apt comando en los sistemas Debian y Ubuntu:

sudo apt update && sudo apt upgrade apache2

El mismo resultado también se logra usando el yum Comando en CentOS:

Preguntas frecuentes

1. ¿Qué versiones de Log4j están afectadas por la vulnerabilidad?

Las versiones anteriores a la 2.1.7.1 son vulnerables al exploit. La versión 2.15.0 corrigió los elementos más fáciles de explotar, y la 2.17.1 corrigió una vulnerabilidad de ejecución remota de código difícil de explotar.

2. ¿Necesito la utilidad Burp Collaborator para recibir devoluciones de llamadas de DNS con nombres de dominio vulnerables?

Según el desarrollador del escáner basado en Bash, Burp Collaborator se usa junto con el script para recibir las devoluciones de llamada de DNS con nombres de dominio vulnerables. Como alternativa, se puede utilizar una dirección Interact.sh.

3. ¿Necesito otras dependencias para usar el escáner basado en Bash?

Para un uso básico, solo necesita tener httpx y Curl instalados en su sistema como dependencias. Sin embargo, para desbloquear algunas funciones, también necesitará Subbuscador, buscador de activosy Acumular Para ser instalado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas