Az - State Configuration RCE
Consultez l'article complet sur : https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe
Résumé de la préparation de l'infrastructure du serveur distant (C2) et des étapes
Aperçu
Le processus implique la mise en place d'une infrastructure de serveur distant pour héberger une charge utile Invoke-PowerShellTcp.ps1
de Nishang modifiée, nommée RevPS.ps1
, conçue pour contourner Windows Defender. La charge utile est servie à partir d'une machine Kali Linux avec l'IP 40.84.7.74
en utilisant un serveur HTTP Python simple. L'opération est exécutée à travers plusieurs étapes :
Étape 1 — Créer des fichiers
Fichiers requis : Deux scripts PowerShell sont nécessaires :
reverse_shell_config.ps1
: Un fichier de configuration d'état souhaité (DSC) qui récupère et exécute la charge utile. Il est disponible sur GitHub.push_reverse_shell_config.ps1
: Un script pour publier la configuration sur la machine virtuelle, disponible sur GitHub.
Personnalisation : Les variables et paramètres dans ces fichiers doivent être adaptés à l'environnement spécifique de l'utilisateur, y compris les noms de ressources, les chemins de fichiers et les identifiants de serveur/payload.
Étape 2 — Zipper le fichier de configuration
Le fichier
reverse_shell_config.ps1
est compressé dans un fichier.zip
, le rendant prêt pour le transfert vers le compte de stockage Azure.
Étape 3 — Définir le contexte de stockage & Téléverser
Le fichier de configuration compressé est téléversé dans un conteneur de stockage Azure prédéfini, azure-pentest, en utilisant la commande Set-AzStorageBlobContent d'Azure.
Étape 4 — Préparation de la boîte Kali
Le serveur Kali télécharge la charge utile RevPS.ps1 à partir d'un dépôt GitHub.
Le script est modifié pour spécifier la machine virtuelle Windows cible et le port pour le shell inversé.
Étape 5 — Publier le fichier de configuration
Le fichier de configuration est exécuté, ce qui entraîne le déploiement du script de shell inversé à l'emplacement spécifié sur la machine virtuelle Windows.
Étape 6 — Héberger la charge utile et configurer l'écoute
Un serveur Python SimpleHTTPServer est démarré pour héberger la charge utile, ainsi qu'un écouteur Netcat pour capturer les connexions entrantes.
La tâche planifiée exécute la charge utile, obtenant ainsi des privilèges au niveau du SYSTEM.
Conclusion
La réussite de ce processus ouvre de nombreuses possibilités pour d'autres actions, telles que le vol d'informations d'identification ou l'extension de l'attaque à plusieurs machines virtuelles. Le guide encourage la poursuite de l'apprentissage et de la créativité dans le domaine de la configuration d'état Azure Automation DSC.
Dernière mise à jour