Le cyber groupe PowerPool a maîtrisé la vulnérabilité du jour zéro dans l'appel de procédure locale avancée

Le 27 août 2018, des informations sur la vulnérabilité zero-day ont été publiées sur Twitter par un spécialiste de la sécurité des informations sous le surnom SandboxEscaper. La vulnérabilité affecte les versions de Microsoft Windows de 7 à 10, plus précisément, l'interface Advanced Local Procedure Call (ALPC) dans le Planificateur de tâches Windows. Il fournit Local Privilege Escalation, qui permet à un attaquant d'augmenter les droits du code malveillant du niveau Utilisateur vers SYSTEM. Nous ne parlons pas de divulgation coordonnée de la vulnérabilité - le compte SandboxEscaper a rapidement été supprimé, il n'y a pas eu de correctifs de fermeture.

Le lien du tweet a conduit au référentiel GitHub avec le code d'exploitation Proof-of-Concept - non seulement la version compilée, mais aussi le code source. Par conséquent, n'importe qui peut modifier et recompiler l'exploit afin de l'améliorer, d'éviter la détection ou de l'inclure dans son propre code.

En général, il n'est pas surprenant que deux jours plus tard, l'exploit soit apparu dans la nature dans la campagne du cybergroupe PowerPool. Selon la télémétrie ESET, les pays cibles des attaquants sont la Russie, l'Ukraine, la Pologne, l'Allemagne, le Royaume-Uni, les États-Unis, l'Inde, les Philippines et le Chili. Il y a relativement peu de victimes, ce qui peut indiquer une campagne très ciblée.



Boîte à outils PowerPool


ESET a enregistré un nouveau groupe relativement récemment, cependant, à la disposition des pirates de PowerPool une gamme assez large d'outils. Ensuite, nous examinons brièvement certains d'entre eux.

Exploit par élévation de privilèges locale dans ALPC


Les développeurs de PowerPool n'ont pas utilisé le fichier binaire publié par SandboxEscaper - ils ont légèrement modifié le code source et l'ont recompilé. Cet exploit a également été constaté par des chercheurs en sécurité et des équipes du CERT .


Figure 1. Description de l'exploit du droit d'auteur

La violation se trouve dans la SchRpcSetSecurity API SchRpcSetSecurity , qui ne valide pas correctement les droits des utilisateurs. Ainsi, l'utilisateur peut écrire n'importe quel fichier dans C:\Windows\Task , quelles que soient les autorisations réelles - s'il existe une autorisation de lecture, il est possible de remplacer le contenu d'un fichier protégé en écriture.

Tout utilisateur peut écrire des fichiers dans C:\Windows\Task , donc dans ce dossier, vous pouvez créer un fichier qui est un lien dur vers n'importe quel fichier cible . Ensuite, en appelant la fonction SchRpcSetSecurity , vous pouvez accéder à l'accès en écriture à ce fichier cible. Pour fournir une élévation de privilèges locale, l'attaquant doit sélectionner le fichier cible qui sera écrasé - il est important que ce fichier soit exécuté automatiquement avec les droits d'administrateur. Il peut également s'agir d'un fichier système ou d'un utilitaire de mise à jour de logiciels précédemment installés, qui s'exécute régulièrement. La dernière étape consiste à remplacer le contenu du fichier cible par du code malveillant. Ainsi, lors de la prochaine exécution automatique, le malware aura des droits d'administrateur, quels que soient les droits d'origine.

Les développeurs de PowerPool ont décidé de modifier le contenu du fichier C:\Program Files (x86)\Google\Update\GoogleUpdate.exe . Il s'agit d'un programme de mise à jour légitime pour les applications Google, il est régulièrement exécuté avec des droits d'administrateur via la tâche Microsoft Windows.


Figure 2. Création d'un lien dur vers Google Updater


Figure 3. Utilisation de SchRpcCreateFolder pour modifier les autorisations de l'exécutable Google Updater

La séquence d'opérations de la figure ci-dessus permet aux opérateurs PowerPool d'obtenir des autorisations d'écriture pour le fichier exécutable GoogleUpdate.exe . Ensuite, ils le remplacent, les remplaçant par une copie de leur logiciel malveillant de deuxième étape (que nous décrirons ci-dessous) pour obtenir des droits d'administrateur la prochaine fois que le programme de mise à jour est appelé.

Compromis initial


L'équipe PowerPool utilise différentes méthodes pour compromettre d'abord la victime. L'un d'eux est l'envoi de spam avec des logiciels malveillants de la première étape de la pièce jointe. Il est tôt pour tirer des conclusions, mais jusqu'à présent, nous avons observé très peu d'échantillons dans les données de télémétrie, nous supposons donc que les destinataires sont soigneusement sélectionnés et nous ne parlons pas d'envoi massif.

D'un autre côté, nous savons que dans le passé, PowerPool pratiquait déjà les envois de spam. Selon un article de blog SANS publié en mai 2018, ils ont utilisé un schéma avec des fichiers de liens symboliques (.slk) pour diffuser des logiciels malveillants. Microsoft Excel peut charger ces fichiers qui mettent à jour la cellule et obligent Excel à exécuter le code PowerShell. Il semble que ces fichiers .slk soient également distribués dans les messages de spam. Sur la base du premier fichier mentionné dans le post SANS (SHA-1: b2dc703d3af1d015f4d53b6dbbeb624f5ade5553), vous pouvez trouver l'exemple de spam correspondant sur VirusTotal (SHA-1: e0882e234cba94b5cf3df2c05949e2e228beddb)


Figure 4. Spam PowerPool

Portes dérobées Windows


Le groupe PowerPool fonctionne généralement avec deux portes dérobées: la porte dérobée du premier étage est utilisée après le compromis initial, la porte dérobée du deuxième étage est implémentée uniquement sur les machines concernées.

Porte dérobée du premier étage


Il s'agit du malware de base utilisé pour le renseignement. Se compose de deux exécutables Windows.

Le premier d'entre eux est la porte dérobée principale, qui assure la persistance via le service. Il crée également un mutex appelé MyDemonMutex%d , où %d est compris entre 0 et 10. La porte dérobée collecte des informations de proxy, l'adresse du serveur C&C est codée en dur dans un fichier binaire. Les logiciels malveillants peuvent exécuter des commandes et exécuter des informations de base dans le système, en transférant des données vers le serveur C&C.


Figure 5. Collecte des informations de proxy

Le second des fichiers exécutables a un objectif. Il prend une capture d'écran et l'écrit dans le fichier MyScreen.jpg , qui peut ensuite être filtré par la porte dérobée principale.

Porte dérobée du deuxième étage


Malvar est chargé lors de la première étape, probablement si la machine semble intéressante pour les opérateurs. Cependant, le programme n'est pas comme une porte dérobée ART moderne.

L'adresse du serveur C&C est codée en dur au format binaire, il n'y a pas de mécanisme pour mettre à jour cet élément de configuration important. La porte dérobée recherche les commandes depuis http://[C&C domain]/cmdpool et télécharge des fichiers supplémentaires depuis http://[C&C domain]/upload . Les fichiers supplémentaires sont principalement des outils de déplacement horizontal, mentionnés ci-dessous.

Commandes prises en charge:
- exécuter la commande
- terminer le processus
- envoyer un fichier
- télécharger le fichier
- afficher le contenu du dossier

Les commandes sont envoyées au format JSON. Les exemples ci-dessous sont des demandes d'exécution de commandes et de listage des dossiers:


Figure 6. Exemples de commandes de porte dérobée

Outils pour le mouvement horizontal


En fournissant un accès constant au système à l'aide de la porte dérobée du deuxième étage, les opérateurs PowerPool utilisent plusieurs outils open-source, écrits principalement dans PowerShell, pour le déplacement horizontal sur le réseau.

- PowerDump : module Metasploit qui peut récupérer les noms d'utilisateur et les hachages du Security Account Manager.
- PowerSploit : une collection de modules PowerShell, à la Metasploit.
- SMBExec : un outil PowerShell pour exécuter des attaques pass-the-hash en utilisant le protocole SMB.
- Quarks PwDump : un exécutable Windows qui peut extraire les informations d'identification.
- FireMaster : exécutable Windows qui peut extraire les mots de passe enregistrés d'Outlook, des navigateurs Web, etc.

Conclusion


La divulgation de vulnérabilité avant la publication des mises à jour met les utilisateurs en danger. Dans ce cas, même la dernière version de Windows peut être compromise. CERT-CC propose une solution de contournement pour le problème, qui, cependant, n'a pas été officiellement approuvée par Microsoft.

L'attaque PowerPool cible un nombre limité d'utilisateurs. Cependant, l'incident montre que les attaquants sont toujours à jour et implémentent rapidement de nouveaux exploits.

Les spécialistes d'ESET continuent de surveiller l'exploitation de la nouvelle vulnérabilité. Des indicateurs de compromis sont également disponibles sur GitHub .

Indicateurs de compromis


Hashs


Porte dérobée Stage One (Win32 / Agent.SZS) 038f75dcf1e5277565c68d57fa1f4f7b3005f3f3
Porte dérobée Stage One (Win32 / Agent.TCH) 247b542af23ad9c63697428c7b77348681aadc9a
Porte arrière de deuxième étage (Win32 / Agent.TIA) 0423672fe9201c325e33f296595fb70dcd81bcd9
Porte dérobée de deuxième étage (Win32 / Agent.TIA) b4ec4837d07ff64e34947296e73732171d1c1586
LPPC exploiter ALPC (Win64 / Exploit.Agent.H) 9dc173d4d4f74765b5fc1e1c9a2d188d5387beea

Détection ESET


- Win32 / Agent.SZS
- Win32 / Agent.TCH
- Win32 / Agent.TEL
- Win32 / Agent.THT
- Win32 / Agent.TDK
- Win32 / Agent.TIA
- Win32 / Agent.TID

Serveurs C&C


- newsrental [.] Net
- rosbusiness [.] Eu
- afishaonline [.] Eu
- collectionneurs sportifs [.] Com
- 27.102.106 [.] 149

Source: https://habr.com/ru/post/fr422613/


All Articles