Montréal, le 31 août 2016
Avec la multiplication des cyber-attaques signalées dans les médias et les populaires séries télévisées comme Mr. Robot, que je recommande vivement d’ailleurs, nous pouvons dire que les pirates informatiques et leurs tours de magie ont saisi l’imaginaire des gens. Mais comment font-ils? Cela peut sembler presque magique d’un point de vue extérieur. Eh bien, dans ce billet, nous allons brièvement présenter un outil relativement nouveau et qui fait passer la magie des pirates à la réalité en quelques lignes de commande simples.
L’outil est PowerShell Empire et il ne marque rien de moins que le début d’une nouvelle ère. Il a fait son entrée au grand jour il y a un peu plus d’un an, en août 2015, au BSides de Las Vegas. Armé de cet outil, on peut générer un petit morceau de code qui, une fois exécuté sur une machine cible Windows, peut accorder le contrôle complet de l’ordinateur de la victime.
Il y a plusieurs aspects de PowerShell Empire qui le rend si spécial. C’est un « agent de post-exploitation construit sur des communications cryptographiquement sécurisées et une architecture flexible. Empire permet d’exécuter des agents PowerShell sans avoir besoin powershell.exe, de rapidement déployer des modules de post-exploitation allant d’enregistreurs de touches, à Mimikatz, à des communications adaptables pour échapper à la détection sur le réseau et le tout enveloppé dans une solution axée sur l’employabilité ». Étant donné que PowerShell est basé sur « .NET Framework » et qu’il est étroitement intégré à Windows, il passera inaperçu aux yeux de la plupart des Anti-virus et IDS / IPS. En outre, « […] il n’y a pas besoin de déposer des fichiers sur le disque. Tout, à l’exception possible du script lui-même, est entièrement géré en mémoire ».
Pour commencer avec Empire, l’une des premières choses à faire est d’installer un listener avec un certificat auto-signé qui vous permettra, comme son nom l’indique, d’écouter votre cible. Ensuite, grâce à l’utilisation de divers types de « stagers / launchers » on peut alors créer et exécuter un agent. Fondamentalement, un agent est un morceau de code encodé en Base64 et qui doit être transmis à et exécuté par la cible. Ceci fait, la cible se connecte de façon transparente vers les listeners via un canal encrypté.
Une fois que la connexion est établie, PowerShell Empire permet l’utilisation d’une large gamme de modules variant d’enregistreurs de touches à la récupération de mots de passe, et le tout est exécutable au sein de la mémoire. L’un des modules les plus connus et appréciés par la communauté des hackers est Mimikatz: « Il permet l’extraction d’information d’identification en clair à partir de la mémoire comme les mots de passe des bases de données SAM/NTDS.dit locales et des fonctionnalités avancées de Kerberos. » Il peut […] « également effectuer des attaques « passe-the-hash » et « passe-the-ticket » ou de construire des « Golden tickets ». »
Pour toutes ces raisons, on peut entrevoir le vaste potentiel de PowerShell Empire. Maintenant, la question est, de quelle manière la communauté de la sécurité informatique va-t-elle réagir et se défendre contre une telle bête? Et si vous croyez que vous êtes en sécurité parce que vous utilisez un Mac OS, réfléchissez à nouveau. Empyre pour Mac est en route, mais ce sera une discussion pour une autre fois. En attendant, n’hésitez pas à laisser vos commentaires et discussions ci-dessous
David-Alexandre Alarie
Conseiller, Sécurité des TI