P4CHAINS: Encapsulating P4 in SSL to full compromise SAP systems over the Internet

P4CHAINS: Encapsulating P4 in SSL to full compromise SAP systems over the Internet

Pablo Artuso

En 2022 empecé con dos proyectos de investigación distintos: Análisis de un protocolo propietario llamado P4 y búsqueda de webapps expuestas sin autenticación en sistemas SAP basados en JAVA.
P4 es un protocolo propietario basado en RMI que usualmente está expuesto sólo a redes confiables. Empezando desde encontrar un puerto TCP abierto, mostraré no solo los resultados obtenidos sino las trabas y piedras en el camino que hubo que sortear para poder alcanzar dichos resultados. Dado que no considero relevante mostrar detalles de cómo explotar un path traversal o una SQLi sin ningún nuevo truco, el foco estará en compartir las técnicas y estrategias utilizadas con el fin de que otros investigadores puedan adaptarlas y usarlas en sus propios trabajos. Más de 15 vulnerabilidades incluyendo time-based blind SQLi, ejecución de comandos y exfiltraciones de archivos fueron reportadas y parcheadas como resultado de esta investigación. Sin embargo, como mencionamos, es un protocolo expuesto solamente a redes internas.

En simultáneo e independientemente, durante la búsqueda de webapps sin autenticación, se encontró una vulnerabilidad de tipo “”JNDI arbitrary lookup””. Luego de tratar de aplicar las formas de explotación conocidas, se concluyó que no iban a funcionar dado que el contexto donde esta aplicación corría era muy particular. Analizando muy detenidamente la implementación de JNDI y adaptando técnicas conocidas, fue posible descubrir un vector de ataque muy específico pero capaz de abusar de esta vulnerabilidad. Además, fue posible encontrar una forma de explotación que no requería el uso de conexiones reversas para su explotación, algo bastante único para este tipo de familia de vulnerabilidades. Dicho descubrimiento, explotable a través de HTTP, fue reportado y catalogado con un CVSS de 6.5. No muy crítico.

Finalmente, la frutilla del postre: Se descubrió que existía una forma de combinar estos ataques. Utilizando la vulnerabilidad de JNDI, fue posible encontrar una manera de embeber el tráfico P4 dentro de HTTP y poder explotar las 15 vulnerabilidades reportadas a través de Internet. En simples palabras, un atacante sin autenticación podría leer archivos o incluso cualquier información de la base de datos de sistemas expuestos a Internet. Incluso, usando técnicas de post explotación, dicho atacante podría alcanzar credenciales en texto plano para luego conectarse al sistema con permisos elevados y/o combinar con otras vulnerabilidades para alcanzar privilegios root.

 

Speaker:

Pablo Artuso: As Security Research Tech Lead at Onapsis, Pablo Artuso is actively involved in developing vulnerability research projects, and coordinating and executing Penetration tests in SAP landscapes. In his spare time, Pablo enjoys playing CTF’s as well as developing useless but funny tools.

More Upcoming Events

No hay próximos eventos en este momento.