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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gitlab-rce-demo — Ojパーサーにおける2つのRubyメモリ破壊バグをノートブックの差分レンダリングを通じて悪用する、GitLab RCEの自己完結型デモ。 | Kitploit
ツール/GitHubGitHub/wupco/gitlab-rce-demo
エクスプロイトウェブアプリケーション悪用バイナリエクスプロイトラボと実践
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

Ojパーサーにおける2つのRubyメモリ破壊バグをノートブックの差分レンダリングを通じて悪用する、GitLab RCEの自己完結型デモ。

リポジトリを見る
9422126日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

GitLab Oj RCE デモ

このリポジトリには、当社の調査で説明した GitLab notebook-diff RCE チェーンを再現する自己完結型デモが含まれています。フレッシュな GitLab 18.11.3 コンテナを起動し、パブリックな HTTP インターフェースを通じて一般ユーザーを作成し、そのインスタンスに対して PoC を実行します。

技術詳細: Going depthfirst: Achieving GitLab RCE via Two Ruby Memory Corruption Vulnerabilities

要件

  • x86-64 (amd64) 上の Linux
  • Docker Compose v2 を備えた Docker Engine
  • Bash、Python 3、curl、Git、iproute2、netcat

デモの実行

まず、フレッシュな GitLab 環境を構築します:

root@kitploit:~
./setup_env.sh

これにより、以前のデモコンテナとそのボリュームが削除され、GitLab が起動し、準備完了になるまで待機してから、通常のユーザーをプロビジョニングします。新しい GitLab の起動には数分かかる場合があります。

2 つのターミナルを開きます。最初のターミナルでコールバックリスナーを起動します:

root@kitploit:~
./run_poc.sh listen 4555

2 番目のターミナルでエクスプロイトを実行します:

root@kitploit:~
./run_poc.sh exploit 4555

コールバックが届いたら、リスナーのターミナルに切り替えて id や whoami などのコマンドを実行します。ASLR の探索時間は実行ごとに異なります。

Successful demo run

仕組み

GitLab は、リポジトリが制御する JSON をネイティブな Ruby JSON パーサーである Oj に渡すことで、Jupyter ノートブックの差分をレンダリングします。このチェーンは 2 つのパーサーのバグを組み合わせます。1 つはパーサーの状態を破壊して最終的にコールバックポインターを制御し、もう 1 つは ASLR 探索範囲を絞り込むために使用されるヒープポインターを開示します。PoC は事前計算されたルックアップテーブルを読み込み、通常の GitLab HTTP リクエストを通じて一致するライブラリレイアウトを見つけ、Puma ワーカーを git ユーザーとしてリスナーに接続させます。

このデモは、同梱のローカルラボ環境でのみ使用してください。

ツールをダウンロード