Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/warxim/vucsa
Análisis de VulnerabilidadesExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónExplotación de Binarios
GitHubwarxim/vucsa

vucsa

Aplicación cliente-servidor deliberadamente vulnerable para aprender pruebas de penetración de clientes pesados no HTTP. Incluye desafíos de inyección SQL, RCE, ataques XML, sobrelectura de búfer y vulnerabilidades de control de acceso.

Ver Repositorio
101283hace 3 añosRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Aplicación Cliente-Servidor Vulnerable (VuCSA)

Aplicación Cliente-Servidor Vulnerable (VuCSA)

La aplicación cliente-servidor vulnerable (VuCSA) está diseñada para aprender/presentar cómo realizar pruebas de penetración en aplicaciones cliente-servidor que no son HTTP. Está escrita en Java (con interfaz gráfica JavaFX).

Actualmente, la aplicación vulnerable contiene los siguientes desafíos:

  1. Sobrellectura de búfer (simulada)
  2. Ejecución de comandos
  3. Inyección SQL
  4. Enumeración
  5. XML
  6. Control de acceso horizontal
  7. Control de acceso vertical
  8. Deserialización RCE

Si deseas saber cómo resolver estos desafíos, consulta el sitio web de PETEP, que describe cómo usar la herramienta de código abierto PETEP para explotarlos.

Consejo 1: Antes de comenzar a hackear, no olvides revisar la estructura de datos de los mensajes a continuación. Al modificar el tráfico de red, probablemente tendrás que considerar la estructura, especialmente los bytes de longitud del payload.

Consejo 2: La mayoría de los desafíos se pueden explotar mediante la modificación del tráfico de red. Por lo tanto, se recomienda usar un proxy TCP o enganches de procesos para las pruebas.

Consejo 3: Algunos desafíos tienen validación de entrada y restricciones, algo común en clientes pesados, pero eso no significa que el servidor utilice la misma validación.

Vulnerabilidad de Sobrellectura de Búfer (simulada)

En este desafío, tu objetivo es manipular el tráfico de red entre el cliente y el servidor de manera que conduzca a una sobrelectura de búfer.

Vulnerabilidad de Ejecución de Comandos

El desafío de ejecución de comandos representa una vulnerabilidad muy simple de ejecución de comandos. El objetivo es ejecutar un comando malicioso en el servidor.

Vulnerabilidad de Inyección SQL

El desafío de inyección SQL contiene una entrada de búsqueda vulnerable a inyección SQL, pero como pronto notarás, la entrada no te permite ingresar los caracteres que necesitas.

Vulnerabilidad de Enumeración

El desafío de enumeración se basa en un formulario de inicio de sesión simulado que no está protegido contra enumeración. ¿Podrás encontrar los 5 usuarios y adivinar sus contraseñas?

Vulnerabilidades XML

En este desafío, puedes encontrar múltiples vulnerabilidades XML:

  • Ataque de Entidad Externa XML (Inyección XXE)
  • Ataque XInclude
  • Ataque de Bomba XML

Vulnerabilidad de Control de Acceso Horizontal

El desafío de control de acceso horizontal representa un lector de documentos que permite al usuario ver sus propios documentos y leer su contenido. El objetivo es encontrar 5 documentos de otros usuarios.

Vulnerabilidad de Control de Acceso Vertical

El desafío de control de acceso vertical se basa en un panel de usuario simulado, que muestra información básica del usuario. El objetivo es encontrar una funcionalidad de administrador oculta y comprobar si es posible usarla como usuario Invitado.

Vulnerabilidad de Deserialización RCE

La vulnerabilidad de deserialización RCE utiliza serialización/deserialización de Java para transmitir datos a través de la red. La aplicación contiene dos rutas que puedes usar para lograr la ejecución remota de código mediante la vulnerable deserialización de Java.

Puedes encontrar ambas rutas examinando el archivo JAR del servidor o mirando el código fuente.

El objetivo es crear exploits para ambas rutas y ejecutar un comando malicioso en el servidor.

Consejo: Puedes usar el JAR del servidor como biblioteca para facilitar la creación del exploit.

Requisitos

Necesitas Java 11 o una versión más reciente para ejecutar VuCSA.

Nota: Para Mac con arquitectura ARM64 (chips M1, M2), usa la compilación especial para Java 17.

Cómo Ejecutar

Para ejecutar el servidor y el cliente vulnerables, puedes usar uno de los lanzamientos en GitHub o ejecutar gradle assemble, que crea paquetes de distribución (tanto para Windows como para Unix). Estos paquetes contienen scripts sh/bat que ejecutarán el servidor y el cliente usando JVM:

root@kitploit:~
# Linux / Mac
chmod +x client.sh server.sh
./client.sh
./server.sh

# Windows
client.bat
server.bat

Nota: Estos scripts de ejecución contienen variables útiles, incluida la ruta al ejecutable de Java. Es posible que debas cambiarla si no la tienes en PATH o si usas varias versiones de Java.

Configuración de Ejecución

La configuración del servidor se crea automáticamente si no existe y luego se carga desde server.json en el mismo directorio donde se ejecuta el servidor:

root@kitploit:~
{
  "network": {
    "serverHost": "0.0.0.0",
    "serverPort": 8765
  }
}

La configuración del cliente se puede especificar en la aplicación en ejecución.

Estructura del Proyecto

El proyecto se divide en tres módulos:

  • vucsa-common - funcionalidad común para el cliente y el servidor (incluye utilidades de procesamiento de protocolo)
  • vucsa-client - cliente vulnerable con interfaz gráfica JavaFX
  • vucsa-server - servidor vulnerable para uso en terminal

Estructura de Datos

Los mensajes transmitidos entre el servidor y el cliente tienen el siguiente formato simple:

root@kitploit:~
[tipo][destino][longitud][payload]
  32b     32b      32b      ???

Estas cuatro partes tienen el siguiente significado:

  • tipo - tipo de mensaje (se usa para serialización/deserialización)
  • destino - manejador de destino que recibirá el mensaje (identificador)
  • longitud - longitud del payload
  • payload - datos serializados en bytes

Para enviar payloads personalizados, es posible que debas actualizar la longitud del payload. De lo contrario, no funcionará correctamente. En el tutorial, se desarrolla un script automático para corregir los bytes de longitud del payload.

Tutorial (Soluciones)

La aplicación cliente-servidor vulnerable (VuCSA) contiene múltiples vulnerabilidades, que pueden explotarse de varias maneras. La guía oficial para explotar estas vulnerabilidades utiliza el Proxy de Pruebas de Penetración de código abierto (consulta Metodología PETEP).

En la metodología PETEP, se explica todo el proceso de explotación de los desafíos, incluyendo payloads útiles.

Descargar herramienta