
# grafana CVE-2021-43798 익스플로잇
Grafana는 모니터링 및 관측성을 위한 오픈 소스 플랫폼입니다. Grafana 버전 8.0.0-beta1부터 8.3.0까지(패치된 버전 제외)는 디렉터리 트래버설(directory traversal) 취약점에 영향을 받으며, 로컬 파일에 접근할 수 있습니다. 취약한 URL은 다음과 같습니다: <grafana_host_url>/public/plugins/<plugin_id>/, 여기서 <plugin_id>는 설치된 플러그인의 ID입니다. Grafana Cloud는 이 취약점에 영향을 받지 않습니다. 사용자는 패치 버전인 8.0.7, 8.1.8, 8.2.7 또는 8.3.1로 업데이트하는 것이 좋습니다.
이 Python 스크립트는 Grafana의 CVE-2021-43798 취약점을 악용하기 위한 개념 증명(PoC)입니다.
이 스크립트를 실행하려면 먼저 저장소를 클론하고 프로젝트 디렉터리로 이동하세요:
git clone https://github.com/FAOG99/GrafanaDirectoryScanner.git
cd GrafanaDirectoryScanner
취약한 랩을 구축하려면 다음 단계를 따르세요:
cd CVE-2021-43798
docker-compose up -d
서버가 시작된 후 http://localhost:3000에 접속하여 로그인 페이지로 이동할 수 있습니다. 이 익스플로잇에는 자격 증명이 필요하지 않습니다.
그런 다음 Python 3을 사용하여 스크립트를 실행할 수 있습니다.
올바른 경로에서 익스플로잇을 실행해야 합니다(랩 폴더에 들어간 경우 루트 폴더로 돌아오세요).
필요한 인자는 -d (사이트의 도메인 또는 IP), -p (포트), -f (찾고자 하는 파일 경로, 이 옵션을 사용하지 않으면 기본값으로 /etc/passwd를 사용합니다)입니다. 예시는 다음과 같습니다:
python3 GrafanaDirectoryScanner -d dominio.com -p 80 -f /etc/passwd
스크립트가 파일을 찾아 읽을 수 있으면 파일 내용을 출력합니다. 파일을 찾을 수 없으면 오류 메시지를 출력합니다.
