Aujourd’hui, nous présentons et expliquons un outil d’attaque qui devient de plus en plus répandu parmi nos clients : l’Account Checker.
Cet outil de piratage d’identifiants n’est pas nouveau, mais son utilisation augmente considérablement pour des raisons que nous aborderons ci-dessous. Bien que très simples sur le plan conceptuel et faciles à utiliser, les vérificateurs de comptes sont extrêmement puissants.
Un vérificateur de compte est un outil d'attaque qui prend des listes de paires nom d'utilisateur/mot de passe divulguées (c'est-à-dire des « informations d'identification ») et les teste par rapport à un site Web cible.
Les puissants packages de vérification de compte coûtent aussi peu que 100 $, et les adversaires peuvent également créer leurs propres vérificateurs de compte à partir de boîtes à outils d'automatisation Web prêtes à l'emploi comme Mechanize, PhantomJS, IEC.py, Sikuli, Selenium ou iMacros. Ces boîtes à outils réduisent la charge technique liée à l’écriture de vérificateurs de compte et à la conduite d’attaques de vol d’informations d’identification.
Vous trouverez ci-dessous un vérificateur de compte « bénin » appelé namechk.com qui illustre le fonctionnement des vérificateurs de compte. Cet outil vérifie si un nom d'utilisateur donné est disponible sur divers réseaux sociaux. Nous avons vérifié le nom d’utilisateur « shapesecurity » et cet outil a correctement identifié tous les sites sur lesquels ce nom d’utilisateur a été utilisé.
Ce service utilise un script qui teste automatiquement un nom d'utilisateur donné par rapport à tous les sites Web visibles dans l'image (par exemple Blogger, Facebook, Youtube, Twitter, etc.).
Un vérificateur de compte criminel fonctionne de la même manière que l'outil ci-dessus et ajoute des fonctionnalités supplémentaires telles que la vérification si divers mots de passe (basés sur des algorithmes de devinette ou l'un des 25 principaux mots de passe ) fonctionnent sur ce site. Le processus complet de vérification des noms d'utilisateur et des mots de passe, ainsi que les intentions malveillantes, conduisent à l'attaque généralisée de bourrage d'informations d'identification.
Une étude de Microsoft a révélé que l’utilisateur moyen dispose d’un peu plus de six mots de passe, que chaque mot de passe est partagé sur quatre sites différents et que chaque utilisateur dispose d’environ 25 comptes nécessitant des mots de passe. Cela signifie que toute violation de sécurité n'importe où aura pour conséquence que les mots de passe de 3,9 sites principaux deviendront publics.
Brian Krebs a écrit à propos du vérificateur de compte prêt à l'emploi ci-dessous. Il s'agit du même type d'outil utilisé pour pirater Hilton .
Ce vérificateur est capable de vérifier si les informations d'identification sont valides et d'extraire le solde de points, les quatre derniers chiffres du numéro de carte de crédit et l'adresse de facturation de la carte.
Vous trouverez ci-dessous un exemple du code sous-jacent d’un vérificateur de compte. Ce vérificateur de compte teste un grand nombre d'informations d'identification. Lorsqu'il trouve une paire d'informations d'identification valide, il récupère les informations personnelles identifiables et vole la valeur stockée et les détails de la carte de crédit du compte.
Le carburant de tout vérificateur de compte est une liste d’informations d’identification. Heureusement pour les attaquants, il existe un grand nombre d’identifiants publics.
Des centaines d'autres informations d'identification sont divulguées chaque jour sur ce compte Twitter : twitter.com/dumpmon . De nombreux professionnels de la sécurité utilisent cette liste pour identifier les comptes d’utilisateurs sur leurs sites respectifs qui ont été compromis et pour verrouiller les comptes compromis. De toute évidence, les attaquants utilisent également cette liste, en conjonction avec des vérificateurs de comptes, pour trouver des comptes vulnérables qu’ils utilisent ensuite pour diverses activités frauduleuses.
La réponse nécessite une compréhension du mécanisme par lequel fonctionnent les vérificateurs de comptes.
Les vérificateurs de compte fonctionnent en utilisant les éléments de formulaire statiques de la page de connexion comme API implicite. Dans l'exemple de code ci-dessus, l'attaquant fait référence à divers noms d'éléments de formulaire afin d'interagir avec la page Web cible. La plupart des sites Web ne peuvent pas distinguer ces interactions des interactions humaines normales.
et acceptent donc volontiers le trafic d'attaque. Cela permet à l'attaquant d'automatiser le site Web à l'aide de vérificateurs de compte et d'exécuter facilement des millions de tests sur une période de quelques jours ou semaines (en utilisant souvent un grand botnet distribué et un grand nombre d'adresses IP afin d'éviter les limites de débit et de volume). Ainsi, même des attaquants très peu sophistiqués peuvent lancer de manière triviale des attaques puissantes contre de nombreux sites Web parmi les plus importants au monde.
Pour défendre les sites Web contre de telles activités, que nous appelons « automatisation indésirable », nous utilisons une approche familière aux attaquants : nous modifions le code sous-jacent du site à chaque consultation de page. Tout comme les auteurs de logiciels malveillants utilisent depuis longtemps du code polymorphe pour échapper aux produits antivirus en présentant constamment des signatures différentes, la solution de Shape crée une cible mouvante qui frustre les scripts qui cherchent à automatiser un site Web. Cela permet aux administrateurs système d’augmenter l’effort qu’un attaquant doit investir pour réussir à écrire un script ou à automatiser un site Web donné.
Bien sûr, les lecteurs avertis souligneront de nombreuses façons de mener des attaques de différentes manières. Il n’entre pas dans le cadre de cet article (mais peut-être dans le cadre d’articles futurs) de considérer de telles attaques (DOM, GUI et autres). Shape se concentre bien sûr sur la lutte contre toutes ces attaques et propose des solutions à chacun de ces niveaux.