Se crea una aplicación cliente-servidor vulnerable (VuCSA) para aprender y presentar cómo poder realizar unas pruebas de penetración a clientes pesados que no son http, esto está escrito en Java con interfaz gráfica de usuario JavaFX.
Actualmente, la aplicación vulnerable contiene los siguientes desafíos:
- Sobrelectura de búfer (simulado)
- Ejecución de comandos
- Inyección SQL
- Enumeración
- XML
- Control de acceso horizontal
- Control de acceso vertical
Si desea saber cómo resolver estos desafíos, eche un vistazo al sitio web de PETEP , que describe cómo utilizar la herramienta de código abierto PETEP para explotarlos.
Consejo: antes de comenzar a hackear, no olvide verificar la estructura de datos de los mensajes a continuación.
Como ejecutar
Para ejecutar el servidor y el cliente vulnerables, puede usar una de las versiones en GitHub o ejecutar gradle ensamblar, 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 mediante JVM.
Estructura del proyecto
El proyecto se divide en tres módulos:
- vucsa-common : funcionalidad común tanto para el cliente como para el servidor (incluidas las utilidades de procesamiento de protocolos)
- vucsa-client : cliente vulnerable con interfaz gráfica de usuario JavaFX
- vucsa-server : servidor vulnerable para uso de terminales
Estructura de datos
Los mensajes transmitidos entre el servidor y el cliente tienen el siguiente formato simple:
[type][target][length][payload] 32b 32b 32b ???
Estas cuatro partes tienen el siguiente significado:
- type : tipo del mensaje (utilizado para serialización/deserialización)
- target – controlador de destino que recibirá el mensaje
- length – longitud de la carga útil
- payload : datos serializados en bytes
Es un conocido experto en seguridad móvil y análisis de malware. Estudió Ciencias de la Computación en la NYU y comenzó a trabajar como analista de seguridad cibernética en 2003. Trabaja activamente como experto en antimalware. También trabajó para empresas de seguridad como Kaspersky Lab. Su trabajo diario incluye investigar sobre nuevos incidentes de malware y ciberseguridad. También tiene un profundo nivel de conocimiento en seguridad móvil y vulnerabilidades móviles.