Comment enregistrer et surveiller l’activité PowerShell pour les scripts et commandes suspects

Lucas Morel

Les attaquants abusent de plus en plus des outils sanctionnés pour renverser les défenses automatisées. Le suivi de l’utilisation de PowerShell de votre flotte de Windows – en particulier des postes de travail de consultant – peut fournir des indications précoces d’activité néfaste.

Les consultants sont souvent des prises de tous les métiers, embauchés par plusieurs entreprises – parfois simultanément – pour résoudre des problèmes avant de passer à l’engagement suivant. Cela leur fait des objectifs de premier ordre pour les attaquants. Gagnez un orteil sur le bureau d’un consultant et vous pouvez accéder potentiellement à plusieurs entreprises pour lesquelles le consultant travaille.

Prenez une récente séquence d’attaque à titre d’exemple: un consultant était à la maison relaxant lorsque son ordinateur a indiqué qu’il y avait une activité dessus. Il a d’abord pensé que son chat avait traversé le clavier et avait ensuite réalisé que c’était un attaquant qui avait eu accès et tentait d’accéder à diverses ressources.

Le consultant a déconnecté sa connexion Wi-Fi et a commencé à analyser la situation. L’attaquant avait installé l’agent Alpha à partir d’un fichier MSI qui était assis dans System32. Ensuite, en utilisant Winget, l’attaquant a mis à jour la version de SplashTop Business déjà sur l’ordinateur et a installé SplashTop Streamer. Cela a donné à l’attaque à distance un accès au PC lui-même. L’attaquant avait utilisé un ensemble d’outils classiques de processus normaux et d’applications existantes pour ne déclencher aucune protection antivirus ou défenseur. Ensuite, l’attaquant a installé l’agent Atera et une version personnalisée de Screen Connect. La connexion provient d’une machine virtuelle dans un centre de données hébergé aux États-Unis.

Le point d’entrée initial de l’attaque reste inconnu. Mais le résultat final est un appel de réveil pour les professionnels de la sécurité afin d’identifier de meilleures façons de protéger les postes de travail clés des scripts PowerShell, des outils d’accès à distance et d’autres techniques utilisées par les attaquants. La situation est similaire à la séquence d’attaque documentée par Microsoft plus tôt cette année dans le cadre de la campagne Badpilot.

Voici des conseils pour vous aider à empêcher votre organisation de devenir la proie à une campagne similaire.

Ajustez vos règles de réduction de la surface d’attaque

Le géo-bloquant est une mesure de sécurité que les administrateurs devraient employer, mais dans ce cas, il n’aurait pas réussi parce que les attaquants résidaient dans un centre de données américain.

Vous devez également consulter les paramètres des règles de réduction de la surface d’attaque pour empêcher les processus d’attaque courants en permettant les règles suivantes:

  • Bloquer le contenu exécutable du client de messagerie et de la carte Web
  • Bloquez les fichiers exécutables en cours d’exécution à moins qu’ils ne répondent à une prévalence, à l’âge ou à la liste de confiance Criterion
  • Bloquer l’exécution des scripts potentiellement obscurcis
  • Bloquer JavaScript ou VBScript du lancement du contenu exécutable téléchargé
  • Bloquer les créations de processus provenant des commandes psexec et WMI

Log Workstation PowerShell Commandes

Même sans Microsoft Defender Resources, vous devez activer les détections de base sur vos postes de travail, y compris ceux de vos consultants. Par exemple, sur les postes de travail Windows natifs, vous assurez de l’activer la journalisation des commandes PowerShell.

Voici comment le faire.

Politique de groupe

Si vous utilisez des outils Active Directory traditionnels, utilisez la politique de groupe pour activer la journalisation PowerShell. Ouvrez la console de gestion des politiques de groupe. Créez un nouvel objet de stratégie de groupe (GPO) ou modifiez un nouveau existant. Accédez à Configuration de l’ordinateur> Modèles d’administration> Composants Windows> Windows PowerShell. Localisez le paramètre «Allumez la journalisation du bloc de script PowerShell» et définissez-le sur activé.

PowerShell Script Block Logging

Cette journalisation vous permet de capturer le contenu de tous les scripts exécutés, y compris les commandes et les fonctions.

Instaille

De même dans Intune, effectuez les étapes suivantes: Accédez au centre d’administration Microsoft Intune et recherchez des appareils. Cliquez sur les appareils et la configuration de Windows. Cliquez sur Créer, sélectionnez une nouvelle stratégie. Sélectionnez Windows 10 et ultérieurement, sélectionnez Catalog les paramètres sous Type de profil, puis cliquez sur Créer. Entrez la configuration PowerShell comme nom, entrez une description si nécessaire, puis cliquez sur Suivant. Cliquez sur Ajouter des paramètres, entrez PowerShell dans la recherche d’une barre de réglage et cliquez sur Rechercher. Sélectionnez des modèles d’administration Windows Components Windows PowerShell, puis cliquez sur Sélectionnez tous ces paramètres, ou passez par chacun et sélectionnez ceux que vous souhaitez surveiller.

Power Paramètres Power

Une fois la journalisation activée, recherchez l’événement 4104 dans les journaux des événements. Configurez également la journalisation pour la journalisation du module. Les deux paramètres vous assureront de surveiller les scripts suspects. Vous voudrez revoir pour les commandes suspectes, les techniques d’obscurcissement, telles que la division des commandes ou l’utilisation de caractères d’échappement, ainsi que des chaînes codées qui peuvent cacher des charges utiles malveillantes.

Recherchez les techniques évidentes telles que les scripts avec une obscurité lourde, le codage de base64 ou des scripts qui téléchargent ou exécutent du contenu. Ont un référentiel central de contenu et de méthode de déploiement. Vous voudrez être alerte pour un comportement anormal des scripts dans votre environnement.

En outre, examinez votre journalisation pour des preuves de scripts qui tentent d’accéder à LSASS (service de sous-système de l’autorité de sécurité locale) ou à invoquer des outils qui tenteront d’utiliser ou d’accéder à Mimikatz pour récolter les informations d’identification.

Créez la documentation et les informations pour votre organisation sur le type de processus à l’intérieur de votre réseau est normal à vos processus. Suivez le mieux que vous le pouvez avec les scripts et processus qui ne sont pas normaux pour votre organisation.

Microsoft Defender pour le cloud

Microsoft Defender pour le cloud peut être spécifiquement permis de rechercher une activité associée à ces types d’attaques. Mais sachez que ces alertes peuvent fournir des informations erronées, suggérant que vous êtes attaqué lorsque vous ne l’êtes pas. Recherchez spécifiquement des alertes qui signalent la communication avec un domaine suspect identifié par les informations sur les menaces:

  • Activité suspecte de PowerShell détectée
  • Détected combinaison suspecte de HTA et PowerShell
  • Exécutable encodé détecté dans les données de ligne de commande
  • Ligne de commande obscurcie détectée

Assurez-vous ensuite que vous avez configuré des alertes dans Microsoft Defender Endpoint. Connectez-vous à la console et dans le volet de navigation, sélectionnez Paramètres> Points de terminaison> Général> Notifications par e-mail.

Il va sans dire que vous devez savoir quels outils d’accès à distance sont utilisés dans votre organisation. Examiner si vous devez ajouter des commandes de chasse pour rechercher des outils d’accès à distance voyous. Envisagez d’ajouter une stratégie de restriction logicielle ou Applocker pour restreindre l’utilisation de ces outils à ceux approuvés par votre organisation.

Les attaquants veulent gagner un orteil dans votre organisation et rester silencieux jusqu’à ce que vous ne recherchiez pas ou ne surveillez pas votre organisation. Ils cibleront les consultants ainsi que vos employés du personnel. Envisagez d’ajouter une surveillance supplémentaire pour les machines de consultants qui accèdent à vos ressources internes. Les attaquants essaient de garder une longueur d’avance sur nous. C’est à nous de faire de notre mieux pour ne pas leur permettre de le faire facilement.

Voir aussi:

  • Comment empêcher les attaquants d’utiliser PowerShell contre vous
  • Méfiez-vous de PowerShell: les utilisateurs trop stimulants se sont efforcés de «réparer» leurs machines avec des logiciels malveillants
  • 10 Scripts de sécurité PowerShell essentiels pour les administrateurs Windows