
CVE-2022-22963(Spring Cloud FunctionのSpELインジェクション)のエクスプロイト。リモートコード実行とリバースシェルを可能にします。脆弱性のテストと学習用のDockerベースのラボを含んでいます。
Spring Cloud Function バージョン 3.1.6、3.2.2 およびサポートされていない古いバージョンでは、ルーティング機能を使用する際に、ユーザーが特別に細工した SpEL を routing-expression として提供することが可能であり、リモートコード実行やローカルリソースへのアクセスを引き起こす可能性があります。詳細は CVE-2022-22963 詳細 を参照してください。
AayushmanThapaMagar が提供した PoC に基づいて、この脆弱性の簡単なエクスプロイトを作成し、脆弱なサーバーからリバースシェルを取得します。
このプロジェクトの目的は、脆弱性のテストを容易にし、その悪用方法を学ぶことです。後日、この脆弱性の背後にある理由についてさらに詳細を追加します。
このエクスプロイトを実行するには、Docker のみ必要です。
リポジトリをクローンし、次のコマンドを実行します:
docker-compose up -d
これにより、2つのコンテナが起動します。1つは脆弱なサーバー、もう1つは攻撃者マシンです。
これでエクスプロイトを実行できます:
Linux では、次のコマンドでエクスプロイトを実行できます:
./run.sh
注: 上記のコマンドを実行するには sudo が必要な場合があります。
........
コンテナを停止するには、次のコマンドを実行します:
docker-compose down