News

Cette semaine en sécurité : Malwarebytes devient fou, Uber

J’ai eu un réveil brutal mercredi matin cette semaine. Les écrivains HaD ne respectent pas nécessairement les heures normales – ne jugez pas. Un client local a appelé, se plaignant que Google Maps bloquait sur l’un de ses ordinateurs, et le navigateur a déclaré qu’il s’agissait d’un site malveillant. Eh bien, cela a attiré mon attention. Réponse d’incident standard : “Éteignez les ordinateurs concernés, je suis en route.” Il s’avère que c’était Malwarebytes qui se plaignait et bloquait Google Maps, ainsi que plusieurs autres domaines Google. Cette machine particulière avait une nouvelle installation du programme et était encore dans la période d’essai de Malwarebytes premium, qui inclut la fonctionnalité de blocage des adresses IP et des domaines malveillants.

Ouf, ça pourrait être mauvais. La première possibilité qui m’est venue à l’esprit était un détournement de DNS. Le DNS du poste de travail a été défini sur le routeur et le DNS du routeur sur celui du FAI. Peut-être que le FAI a compromis ses serveurs DNS ? Il en est sorti le téléphone portable, déconnecté du WiFi, pour les recherches DNS sur certains domaines Google. Parce que Google opère à une telle échelle, ils ont plusieurs adresses IP desservant chaque domaine, mais comme les deux résultats différents provenaient du même sous-réseau, le serveur DNS suspect était probablement OK. UN whois sur l’adresse IP bloquée a également confirmé qu’il s’agissait d’une adresse appartenant à Google. Nous manquions d’explications et, comme le disait un certain détective de fiction, “ce qui reste, même improbable, doit être la vérité”. Et oui, Malwarebytes a en effet accidentellement ajouté Google à sa mauvaise liste. L’avantage était que mon client n’était pas compromis. Le mauvais côté? J’ai dû répondre à un appel téléphonique avant ma première tasse de café. Blégh.

Uber

Dans les nouvelles de p0wnage cette semaine, Uber a été compromis via le compte VPN d’un employé. Uber utilise une authentification à deux facteurs pour ces comptes, et l’attaquant a utilisé une attaque de «fatigue MFA» pour le vaincre. Essentiellement, envoyez des demandes 2FA répétées et espérez que l’utilisateur s’en lasse et confirme. Ou bien, contactez-les après quelques tentatives, prétendez être du service informatique de l’entreprise et demandez-leur d’approuver l’invite ou relisez le numéro. Cet attaquant est [Tea Pot]en quelque sorte affilié à Lapsus$.

L’accès VPN a permis à TP d’accéder à l’intranet de l’entreprise, et quelques reniflements ont trouvé un partage accessible contenant des scripts Powershell. Et dans ces scripts se trouvaient des informations d’identification d’administrateur codées en dur sur le compte Thycotic d’Uber, le service qui gère l’ensemble de leur authentification. Bref c’était les clefs du royaume. “En utilisant cela, j’ai pu extraire des secrets pour tous les services, DA, DUO, Onelogin, AWS, Gsuite.”

Uber a publié une déclaration qui indique essentiellement qu’il n’y a aucune preuve de falsification de code ou d’accès aux données de l’utilisateur. Aussi profondément que TP a pu pénétrer dans les systèmes d’Uber, cela semble quelque peu surprenant, mais une bonne nouvelle. Bien sûr, il peut éventuellement être révélé qu’une altération plus grave s’est produite.

Vulnérabilités du haut du rack

Je ne sais pas si une unité de distribution d’alimentation (PDU) compte comme IoT, mais le S est apparemment toujours synonyme de sécurité. L’iBoot PDU a eu de sérieux problèmes. La première était une page de l’interface web, apparemment abandonnée par le constructeur, qui n’incluait pas le code d’authentification. Il est assez courant, lors de l’écriture d’une interface Web en PHP, d’avoir le code d’authentification dans un seul fichier, et de l’inclure simplement à partir de chaque page qui doit être protégée. Le code pour le git-update.php point de terminaison manquait qui incluent. Cela ne devrait pas poser de problème, il était codé en dur pour télécharger les mises à jour à partir des référentiels GitHub des fabricants et utilisait un jeton d’accès, qui n’est plus pris en charge par GitHub. Code mort, rien à craindre.

Oui, c’était vulnérable. Ce point de terminaison prend deux arguments en tant que paramètres HTTP POST, branchet token. Aucun de ceux-ci n’est nettoyé du tout, de sorte que le paramètre de branche peut utiliser la traversée de chemin pour pointer vers un compte GitHub complètement différent, et le paramètre de jeton peut être défini sur &, ce qui signifie essentiellement qu’il est masqué dans la demande à GitHub. Une seule demande de pré-autorisation et l’appareil télécharge poliment un webshell pour vous.

Ah, mais nous ne sommes pas dupes. N’exposez jamais ce genre de choses à Internet non filtré. Ils ont une fonction d’accès au cloud pour cela. Pour vous connecter, vous vous authentifiez, puis envoyez un paramètre deviceID dans une demande d’URL. Mais ces ID d’appareil sont séquentiels et tout cookie d’authentification valide fonctionne pour se connecter à n’importe quel appareil. Donc, si vous pouvez vous connecter à un PDU, vous pouvez vous connecter à tous. Et parce que l’accès au cloud est un simple proxy inverse, la page de mise à jour peut être abusée comme indiqué ci-dessus. Aie! Les problèmes ont été corrigés, et si vous avez un PDU Dataprobe, allez vérifier la mise à jour du firmware ! Et peut-être le déconnecter complètement d’Internet et le rendre accessible uniquement par VPN. Un grand merci à Team82 de Claroty pour avoir trouvé celui-ci et l’avoir signalé en privé.

Escalade des privilèges Seagate

Dans une belle écriture, [x86matthew] partage un exploit très simple à l’aide de Seagate Media Sync, pour ajouter un service arbitraire à une machine Windows. Media Sync utilise le paradigme de l’interface utilisateur et du service, où un service s’exécute en tant que SYSTEM pour effectuer le gros du travail, et une application d’interface utilisateur s’exécute en tant qu’utilisateur connecté. Un peu de recherche et de débogage révèle que le format utilisé pour la communication inter-processus (IPC) est un simple canal nommé. Ce tuyau prend en charge une poignée de commandes, mais la plus intéressante appelle une fonction dans le service, MXOSRVSetRegKey.

Comme on pouvait s’y attendre, il définit une clé de registre sur une valeur, créant la clé si elle est absente. Dans ce cas particulier, il n’y a pas de contrôle sur l’endroit où cette clé est créée, donc toute personne pouvant parler au canal peut créer une clé dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Et si vous pouvez créer un service arbitraire sur une machine Windows, vous possédez la machine.

Escalade OpenRazer – Presque

Et parce que l’exploitation de Linux mérite aussi notre amour, le Le projet OpenRazer avait un problème d’exploitation similaire récemment corrigé. Pour ceux qui ne sont pas au courant, nous, les geeks de Linux, aimons nos claviers clacky, éclairés par LED, tout autant que les utilisateurs de Windows, mais Razer ne publie malheureusement que des pilotes et des outils Windows. Pour combler le vide, des projets comme OpenRazer réimplémentent le contrôle LED Razer et d’autres fonctions pour Linux. Une partie du projet OpenRazer est un module de noyau Linux hors arbre, qui permet à certains des bits de communication USB délicats utilisés de communiquer avec les contrôleurs de l’appareil. C’est un peu un hack, et la qualité du code n’est pas tout à fait à la hauteur du noyau principal, comme en témoigne le débordement de tampon classique découvert par Cyberark. Cela aurait dû être un chemin simple vers l’exploitation, mais à partir du noyau 5.18, le Fortifier la source fonction est activée pour empêcher memcpy() fonctions à partir de champs débordants dans une structure. Ainsi, dans un noyau suffisamment récent, avec cette protection activée, vous obtenez simplement un plantage au lieu d’un exploit. Soigné!

Conseils pour les pentes

L’une des tâches d’un test d’équipe rouge consiste à rechercher des comptes d’utilisateurs. Le problème que vous pouvez rencontrer est que forcer brutalement les noms d’utilisateurs possibles laisse des entrées de journal, ce qui peut vous faire prendre. [Lars Karlslund] a pris vent des requêtes LDAP Ping et a immédiatement établi la connexion avec l’énumération des utilisateurs. L’objectif était à l’origine de tester facilement l’accessibilité des contrôleurs de domaine, ainsi que certaines fonctionnalités ou configurations. L’une des spécifications de test que vous choisissez est le nom d’utilisateur. [Lars]le nouvel outil de ldapnomnom, utilise cette fonction pour interroger 10 000 noms d’utilisateur par seconde. Trouvez tous les utilisateurs !


Source link

Articles similaires