Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
  1. Livres et vidéos
  2. Cybersécurité et PowerShell
  3. PowerShell Empire
Extrait - Cybersécurité et PowerShell De l'attaque à la défense du système d'information
Extraits du livre
Cybersécurité et PowerShell De l'attaque à la défense du système d'information
4 avis
Revenir à la page d'achat du livre

PowerShell Empire

Historique et présentation

Le développement de malware à la main comme cela a été mis en œuvre dans le chapitre précédent est certainement la technique privilégiée par les attaquants de manière à avoir des codes ésotériques à la fois difficiles à comprendre pour les équipes de défense des SI et complexes à détecter par les antivirus. Néanmoins, d’autres acteurs de la sécurité informatique peuvent avoir besoin de mettre en œuvre des logiciels "malveillants" basés sur PowerShell sans souhaiter pour autant redévelopper un écosystème de gestion de malware complet digne du budget d’une agence de renseignements. Nous pensons ici entre autres aux pentesters et aux équipes menant des actions de sensibilisation.

C’est dans ce cadre qu’une équipe de hackers menée par Will Schroeder, plus connu sous le pseudonyme de "Harmj0y", a développé PowerShell Empire de 2015 à 2019. Ce framework a trouvé écho au sein de la communauté et est devenu une référence de fait sur ce créneau de niche. L’objectif du projet était d’avoir un ensemble d’outils de post-exploitation avec une cryptographie à l’état de l’art, le tout...

Déploiement

1. Les sources et la documentation

La première étape consiste à se rendre sur le GitHub du projet (https://github.com/BC-SECURITY/Empire) pour récupérer la dernière version de la procédure d’installation d’Empire.

Le wiki (https://bc-security.gitbook.io/empire-wiki/quickstart) et le site officiel (https://www.powershellempire.com/) sont également des sources d’information à consulter avant de débuter avec Empire.

Il n’y a pas de recommandations matérielles pour le déploiement d’un serveur Empire, car la configuration nécessaire dépend du nombre d’agents que ce dernier aura à gérer. Conçu pour s’exécuter dans un cadre offensif où la maîtrise de la configuration du serveur n’est pas garantie, Empire ne nécessite pas beaucoup de ressources pour gérer quelques machines. La VM Kali installée en début de cet ouvrage est amplement suffisante pour la gestion de quelques agents.

2. Installation

a. Empire

Plusieurs stratégies d’installation sont proposées par les développeurs. La plus simple et la plus rapide, à condition d’utiliser la distribution Kali partenaire du projet, est d’utiliser le dépôt officiel à l’aide des deux commandes suivantes :

$ sudo apt install powershell-empire 
$ sudo powershell-empire 

Pour les puristes, il est bien sûr...

Utilisation d’Empire pour attaquer un système d’information

1. Help !

Dans cette partie, nous allons voir comment fonctionne Empire et comment mener une attaque avec lui sur le système d’information virtuel que nous avons déployé au premier chapitre. Dans ce cadre, nous allons voir comment mettre le serveur Empire en écoute et en attente de connexions de victimes, puis utiliser Empire pour construire un malware simple entièrement basé sur PowerShell. Nous encapsulerons ensuite ce virus dans un autre fichier plus susceptible de piéger un utilisateur avant de nous intéresser enfin à l’exploitation de ces machines une fois celles-ci compromises par le vecteur initial. Nous terminerons par le développement d’un module maison pour Empire.

Mais avant toute chose, une fois dans le Shell d’Empire, la première commande à connaître est help.

 Saisissez la commande suivante pour afficher l’aide :

(Empire) > help 
 
┌Help Options───┬─────────────────────┬─────────────────────────┐ 
│ Name          │ Description         │ Usage                   │ 
├───────────────┼─────────────────────┼─────────────────────────┤ 
│ admin         │ View admin menu     │ admin                   │ ...

Conclusion

Dans ce chapitre nous avons vu comment des outils offensifs en pur PowerShell, industrialisés dans le projet Empire, peuvent réaliser une attaque complète sur un système d’information. L’attaque ci-dessus n’a pas exploité de vulnérabilité technique majeure comme ZeroLogon mais simplement une succession d’erreurs techniques de configuration et de mauvaises pratiques organisationnelles. 

En effet, si l’on récapitule les étapes :

  • Accès au travers d’une macro exploitant la crédulité de l’utilisateur non sensibilisé et l’absence de blocage technique par une stratégie de sécurité par les administrateurs.

  • Élévation locale via la présence d’un système d’exploitation obsolète Windows 7 dans le SI et de nouveau en demandant simplement à l’utilisateur. Cette élévation n’aurait pas été possible aussi facilement avec une séparation propre des comptes utilisateur et administrateur locaux des machines nécessitant un mot de passe pour réaliser l’opération.

  • Persistance au travers de fonctions intégrées à Windows.

  • Propagation et élévation dans l’infrastructure présentée à l’aide de deux vecteurs. Le...