Referencia: https://devco.re/blog/2020/09/12/how-I-hacked-Facebook-again-unauthenticated-RCE-on-MobileIron-MDM/
- Descubrí que Facebook usa MobileIron como su solución MDM. Aunque no lo encontré en el sitio web oficial, encontré el paquete rpm utilizado por el desarrollador para realizar pruebas a través de Google.
Al analizar el código, se encuentra que los puertos abiertos son los siguientes:
- 443 Interfaz de registro para dispositivo de usuario
- 8443 es la interfaz de administración de dispositivos
- 9997 es un protocolo de sincronización de dispositivos patentado de MobileIron (Protocolo MI)
-
Las aplicaciones web de Apache proxy inverso Tomcat y las aplicaciones web se desarrollan basándose en Spring MVC.
-
Omita las reglas de reescritura de Apache:
https://mobileiron/mifs/.;/services/someService
-
Utilice la deserialización hessiana de Spring AOP JNDI para inyectar esta cadena.
-
Omita las restricciones de JEP 290 en la inyección remota de JNDI (según el dispositivo en la ruta de clase).
-
Cuando me estaba preparando para el método de ataque de inyección JNDI, descubrí que las solicitudes de alcance JNDI no eran compatibles.
-
Finalmente, la versión baja de Groovy dependency se utilizó para explotar la vulnerabilidad de deserialización de Hessian.