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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2019-5736-Custom-Runtime — CVE-2019-5736 を自作のコンテナランタイムに実装し、エクスプロイトを理解する。 | Kitploit
ツール/GitHubGitHub/giverofgifts/cve-2019-5736-custom-runtime
脆弱性分析エクスプロイトペネトレーションテスト学習と教育コンテナエスケープバイナリエクスプロイト
GitHubgiverofgifts/cve-2019-5736-custom-runtime

CVE-2019-5736-Custom-Runtime

CVE-2019-5736 を自作のコンテナランタイムに実装し、エクスプロイトを理解する。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
16年前未レビュー

CVE-2019-5736 カスタムサンドボックス

概要

CVE-2019-5736 は、エクスプロイトを理解するために浅い自作のコンテナランタイムを使用して実装されています。

エクスプロイトは、twistlock による runc-poc に基づいています(ほぼすべてコピーされています):https://github.com/twistlock/RunC-CVE-2019-5736/tree/master/malicious_image_POC

コンテナランタイム (quarantine)

詳細はコードドキュメントを参照してください。

root@kitploit:~
Usage: quarantine [OPTIONS] [BINARY and its ARGS]

--rootfs: (mandatory) Specify a rootfs for the container.
--urange: Specify a urange start_host:end_host,start_guest.
--grange: Specify a grange start_host:end_host,start_guest.
--uid:    Specify the desired UID in the container.
--ugd:    Specify the desired GID in the container.
--supp:   Append supplementary groups from the specified grange to the process running in the container.

ユーザー名前空間を除くすべての名前空間をアンシェアします。ユーザー名前空間は、urange、grange、uid、gid が指定された場合など、特別な状況下でアンシェアされます。

エクスプロイトのセットアップ

これは Ubuntu 18.04 でテストおよび実行されました。

  1. rootfs を取得します(例: bionic)
    • mkdir rootfs
    • sudo debootstrap bionic ./rootfs
  2. libcap ソースを取得します
    • git clone https://github.com/mhiramat/libcap
  3. libcap を変更します
    • cat exploit_code_for_shared_lib.c >> <any cap*.c, I used cap_alloc.c>
    • make
  4. rootfs に chroot し、libcap-dev をインストールして、変更した libcap.so に簡単にリンクできるようにします
    • sudo chroot rootfs
    • apt install libcap-dev
  5. 作成した libcap.so.2.25 ファイルを適切な rootfs ディレクトリにコピーします -sudo cp libcap.so.2.25 rootfs/lib/x86_64-linux-gnu
    • 注: 私の環境では、その正確な libcap ファイルバージョンを指すリンクが既に存在していたため、リンクする必要はありませんでした
    • 注: このパスは変わる可能性があります。コンパイルされた quarantine が libcap をどこに期待しているか常に確認してください: ldd quarantine

エクスプロイトの実行

例: sudo ./quarantine --rootfs rootfs /shebang_exploit または ./quarantine --rootfs rootfs --uid 1 /shebang_exploit。

これは、ホスト上で CAP_DAC_OVERRIDE または CAP_SYS_ADMIN のいずれかを保持している限り(つまり、sudo を使用するときにユーザー名前空間をアンシェアしない限り、これは親名前空間でケイパビリティをドロップするため)、またはホスト上でファイルを所有している限り機能します。

ツールをダウンロード
  • 他のファイルをコンパイルして rootfs にコピーします
    • sudo cp shebang_exploit rootfs/
    • sudo gcc -o rootfs/root/payload payload.c
    • sudo gcc -o rootfs/overwrite_sndbx_runtime overwrite_sndbx_runtime.c