Le forum dédié au jeu « Clash of Kings » vient d’être victime d’un piratage et du vol de 1,6 million de comptes utilisateurs, comprenant les identifiants avec mot de passe (hashé), l’adresse email, l’adresse IP et les tokens liés aux réseaux sociaux (Facebook, …). Ce vol de données personnelles était prévisible selon Matthieu Dierick, Ingénieur avant-vente chez F5 Networks.
C’est la société Elex qui produit le jeu sur mobile « Clash of Kings ». Ce jeu est utilisé par des millions de joueurs sur leurs mobiles. Ces joueurs s’enregistrent sur le forum du jeu afin d’échanger avec les autres joueurs.
Techniquement, le forum de « Clash of Kings » repose sur une plateforme (un « framewok ») très souvent utilisée sur internet, vBulletin. Or vBulletin a subi à plusieurs reprises des failles de sécurité, constate Matthieu Dierick (ci-contre). L’ANSSI, dès 2012, avait déjà alerté les autorités d’une faille sur vBulletin : http://www.cert.ssi.gouv.fr/site/CERTA-2012-AVI-626/index.html, pointe-t-il.
Pour détecter si un serveur est vulnérable, Matthieu Dierick rappelle qu’il suffit de lancer une requête HTTP sur une liste de serveurs et d’attendre un code retour.
Voici un exemple de requête utilisée pour détecter la vulnérabilité d’un serveur : http://[REMOVED]/ajax/api/hook/decodeArguments?arguments=O:12: »vB_dB_Result »:2{s:5: »*db »;O:11: »vB_Database »:1:{s:9: »functions »;a:1{s:11: »free_result »;s:6: »assert »;}}s:12: »*recordset »;s:20: »print_r(md5(233333)) »;}
Si le code retour contenait le hash 233333, alors le serveur était vulnérable.
Les utilisateurs du forum doivent donc changer leur mot de passe même si ceux-ci étaient hashés au niveau de la base de donnée. Un mot de passe trop simple peut en effet être « dé-hashé » très facilement, prévient Matthieu Dierick.
Et de rappeler le mode opératoire utilisé lors des dernières campagnes de piratage sur vBulletin. Les pirates ont réussi à envoyer leur SHELL sur le serveur et a exécuter des requêtes SQL en mode « root ». Pour cela, ils passaient par des fonctions PHP, par exemple la fonction system() qui permet l’exécution de commande shell.