Vulnerabilidad de deserialización de JBoss5.x6.x

JBOSS 下载地址:http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

EXP 下载地址:https://github.com/yunxu1/jboss-_CVE-2017-12149

2)
.Configuración del entorno wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

Inserte la descripción de la imagen aquí
Paso 2: Modifique el archivo de configuración para que todos los hosts de la red puedan acceder a JBOSS

vim ~ / jboss-6.1.0.Final / server / default / deploy / jbossweb.sar / server.xml

Inserte la descripción de la imagen aquí
Paso 3: Inicie JBOSS

./jboss-6.1.0.Final/bin/run.sh

Inserte la descripción de la imagen aquí
Paso 4: Descarga EXP

clon de git https://github.com/yunxu1/jboss-_CVE-2017-12149

Inserte la descripción de la imagen aquí

Hay métodos de uso de script EXP, pero también métodos de uso gráficos

Inserte la descripción de la imagen aquí

3). Recopilación de información

Paso 1: use nmap para escanear puertos comunes del host de destino

nmap -p 1-65535 -A 192.168.1.107

Inserte la descripción de la imagen aquí
Paso 2: Visite el puerto 8080 del host de destino para ver si se puede acceder normalmente

Inserte la descripción de la imagen aquí
4). Explotación de vulnerabilidades

Utilice la EXP descargada para aprovechar la vulnerabilidad y abra la herramienta gráfica jboss para deserializar_CVE-2017-12149.jar

Inserte la descripción de la imagen aquí

github ha lanzado un proyecto para detectar jboss: https://github.com/joaomatosf/jexboss

Cree la verificación del entorno aquí:

IP de vulnerabilidad: 192.168.127.128

Clona el proyecto directamente para usarlo localmente

Inserte la descripción de la imagen aquí
Si el icono es rojo, significa que hay un problema.
Inserte la descripción de la imagen aquí

Puede ver que el caparazón se ha recuperado con éxito.

Este proyecto también puede lograr un escaneo por lotes, lo que generalmente es muy bueno.

Comprender las vulnerabilidades de deserialización de Java

Se recomienda aprender Paper: las vulnerabilidades de deserialización de Java desde la entrada hasta en profundidad: https://xz.aliyun.com/t/2041. El contenido es más, primero comprenda la estructura de sintaxis simple de Java y los conceptos básicos de la programación orientada a objetos, y luego aprenda los conceptos básicos de serialización y deserialización y las causas de las vulnerabilidades.

(1) Serialización: el proceso de convertir objetos Java en secuencias de bytes es fácil de almacenar en memoria, archivos y bases de datos. El método writeObject () de la clase ObjectOutputStream se puede serializar.

(2) Deserialización: El proceso de restaurar una secuencia de bytes a un objeto Java. El método readObject () de la clase ObjectInputStream se utiliza para la deserialización.

(3) La causa de la vulnerabilidad: al exponer la API de deserialización o los puntos entrantes, el usuario puede manipular los datos entrantes, y el método readObject () de deserialización no realiza una detección de seguridad efectiva en los datos entrantes del usuario, y el atacante puede construir cuidadosamente el método anti-serialización Serializar el objeto y ejecutar código malicioso.

Supongo que te gusta

Origin blog.csdn.net/weixin_44110913/article/details/109521747
Recomendado
Clasificación