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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gitlab-cve-2020-10977 — GitLab 任意ファイル読み取りエクスプロイト | Kitploit
ツール/GitHubGitHub/vandycknick/gitlab-cve-2020-10977
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubvandycknick/gitlab-cve-2020-10977

gitlab-cve-2020-10977

GitLab 任意ファイル読み取りエクスプロイト

リポジトリを見る
225年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

GitLab CVE2020-10977

はじめに

このスクリプトは、GitLab Community Edition (CE) および Enterprise Edition (EE) に対するリモートコード実行を提供します。このCVEは任意ファイル読み取りであり、GitLabのsecrets.yamlファイルをダウンロードすることでRailsのsecret_key_baseを抽出できます。さらに、GitLabがA/Bテストのために内部的に使用しているexperimentation_subject_idクッキーを自分で署名することでコード実行が可能になります。クッキーに埋め込まれたペイロードには、GitLabインスタンス上でコードを実行できる逆シリアル化の脆弱性が含まれています。

この任意ファイル読み取りはGitLab EE/CE 8.5以降に存在します。これは12.9.1、12.8.8、12.7.8で修正されました。ただし、RCEは、脆弱なexperimentation_subject_idクッキーが導入された12.4.0以降にのみ影響します。

12.8.1でテスト済み

使用方法

このモジュールはpython 3.9でテストされており、次の依存関係が必要です:

  • requests
  • beautifulsoup4

pipenvがインストールされていれば、pipenv installとpipenv shellを実行してpipenv仮想環境のシェルをすぐに開始できます。

root@kitploit:~
 $ ./cve_2020_10977.py --help

usage: cve_2020_10977.py [-h] --url URL -u USERNAME -p PASSWORD [--cmd CMD]

optional arguments:
  -h, --help            show this help message and exit
  --url URL             Target URL
  -u USERNAME, --username USERNAME
                        Gitlab username
  -p PASSWORD, --password PASSWORD
                        Gitlab password
  --cmd CMD             Command to execute

開発

ローカルでの開発やエクスプロイトのテストを容易にするためにMakefileが含まれています。このCVEに対して脆弱なGitLabのローカルバージョンをすばやく立ち上げるために、dockerとdocker-composeに依存しています。

root@kitploit:~
make up

GitLabのローカルインスタンスと、リバースシェルをテストしやすくするためのdebianインスタンスが起動します。GitLabインスタンスはlocalhostのポート5580で利用可能になります。この追加イメージにより、dockerネットワーク内から到達可能なIPが得られます。localhostをdockerコンテナから到達可能にすることも可能ですが、労力に見合わないと思います。また、--privilegedの使用を推奨したくはありません。

RHOST debianインスタンスへの接続は、次のコマンドで簡単に行えます:

root@kitploit:~
make shell

これにより、nc -lnvp 9000でリバースシェルを準備できます。

これが完了したら、エクスプロイトをテストする準備が整います。次のコマンドを実行できます:

root@kitploit:~
make exploit

エクスプロイトを実行しますが、RCEは行わず、代わりにGitLabのrails secretを出力します。

root@kitploit:~
make exploit-rce

上記のRCEペイロードとこのCVEを組み合わせて、リバースシェルを取得します。

ハッピーハッキング!

参照

  • https://hackerone.com/reports/827052
  • https://nvd.nist.gov/vuln/detail/CVE-2020-10977
  • https://www.exploit-db.com/exploits/48431
ツールをダウンロード