Joomla est un CMS open source très populaire, qui domine environ 10% du marché des sites Web. Cela est formidable pour beaucoup, mais horrible pour d'autres car être populaire revient à se peindre une grosse cible dans le dos, du moins en ce qui concerne les applications CMS.
Récemment encore, Joomla a été victime d'un mauvais coup, au cours duquel une vulnerabilité permettant le téléchargement de PHP par le noyau a été découverte. Tout site qui n'est pas correctement mis à jour (ou patché), Peut être facilement compromis. Cela s'applique à n'importe quel site web utilisant Joomla 1.0.x, 1.5.x et les branches 1.6 et 1.7, Chacun doit être mis à jour pour une version suivie 2.5 ou 3.0. Une fois pris en charge, ils doivent être mis à jour de nouveau vers les dernières versions 3.1.5 ou 2.5.14.
Malheureusement pour les utilisateurs de Joomla, le parcours de mise à niveau est peut-être son maillon le plus faible. Les problèmes de compatibilité inverse sont si vastes dans les différentes branches que cela tombe pile-poil dans les objectifs des pirates en leur facilitant largement les vulnérabilités, ce qui leur permet d'avoir de sévères répercussions dans tout l'écosystème des sites web. Pour cette raison, nous allons partager dans ce post une des méthodes très spécifiques que les pirates utilisent pour accomplir des actes répréhensibles en utilisant les sites Web que vous visitez ou vos propres sites, un petit truc appelé phishing ou hameçonnage.
Qu'est-ce que le hameçonnage ?
Avant que nous puissions comprendre ce qu'ils font, nous devons comprendre ce que signifie l'hameçonnage.
Comme vous pouvez l'imaginer, comme le fait de pêcher, où vous vous trouveriez sur les rives d'un lac ou assis sur un quai, le pêcheur prépare sa canne et jette sur sa ligne avec un appât. Cet appât a un objectif, attirer les poissons. Pour chaque type de poisson il y a des règles différentes, quelle canne utiliser, comment configurer la ligne, plus important encore, quel appât sera le plus efficace. À sa plus simple expression, pêcher revient à jeter de la nourriture dans l'eau et en espérant en retour que quelque chose morde.
C'est cette simple description de la pêche qui s'applique à l'hameçonnage.
L'hameçonnage est l'acte de tenter d'acquérir des informations telles que noms d'utilisateur, mots de passe et numéros de carte de crédit (et parfois, indirectement, de l'argent) en se faisant passer pour une entité digne de confiance dans une communication électronique. – Wikipedia
C'est fait exactement de la même façon. Un pirate devra tenir compte de qui sera sa proie. Quel est le but du jeu ? Cherchent-ils de l'information financière, des renseignements personnels, etc... l'objectif décidera de quel appât à utiliser. Souvent le terme d'hameçonnage est attribué à deux modes de communication - e-mails et appels téléphoniques. Ce sont les plus courants, mais nous vous assurons qu'il y a beaucoup plus de manières. Dans tous les cas, plus souvent que ne le soupçonne le poisson sans méfiance, vous, l'utilisateur, êtes redirigés vers ce qui semble être un site bénin.
Ce site ressemblera par le look et la structure à ce que vous vous attendez de votre fournisseur de service à qui vous faites confiance. Vous vous ferez un plaisir d'entrer vos informations et de procéder à la connexion, il va vous laisser passer avec toutes les informations que vous entrez et continuera à vous poser toute une série de questions afin de mieux comprendre votre profil. Vous serez heureux de vous conformer à leurs tas de questions et quand tout sera terminé, vous allez probablement vous déconnecter en étant heureux d'avoir été réactif.
Entre-temps, toutes les informations que vous venez d'entrer dans le site web ont été volées.
Comprendre les fichiers d'hameçonnage
Comme nous le savons maintenant, la plupart des attaques de phishing ont besoin d'un site Web quelconque pour héberger les pages qui seront utilisés pour escroquer l'utilisateur. Donc, si un pirate envoie des emails de phishing demandant à l'utilisateur de réinitialiser son mot de passe PayPal, il faudra aussi une page avec un formulaire vers laquelle il peut diriger ses victimes.
Voici à quoi ressemble un vrai site de phishing ciblant Chase, une banque américaine :
Si vous n'êtes pas un habitué de cette banque, oui, cela ressemble beaucoup au vrai site Chase. La différence,cependant, est que quand les utilisateurs fournissent leur login/mot de passe, ils ne sont pas pris en compte. Au lieu de cela, ils sont redirigés vers une page qui leur demande de bien vouloir mettre à jour toutes leurs informations. Cette seconde phase leurre le visiteur pour qu'il fournisse encore plus d'informations ce qui facilitera la tâche de l'pirate dans son vol d'identité ou d'argent. Voici un exemple de ce que à quoi cela ressemble :
Lorsque l'entrée de toutes les informations est terminée, l'utilisateur est averti que tout est super, qu'il peut procéder à ses activités quotidiennes et qu'il lui suffit de se déconnecter. Pendant tout ce temps, ils n'ont pas conscience qu'ils ont tout juste commencé la pire journée de leur existence numérique.
Pour que cela fonctionne, les pirates ont besoin d'un certain nombre de choses:
-
Une liste d'utilisateurs de messagerie sans méfiance – Cela pourrait venir des divers hacks que nous avons vu sur des sites comme LinkedIn, eHarmony et plein d'autres encore.
-
Un site web qui peut être utilisé pour héberger les fichiers malveillants
-
Un serveur malveillant pour collecter toutes les données
Ceci est bien sûr réduit à sa forme la plus simple, l'ensemble du cycle est un peu plus complexe.
Avec cette information, les pirates sont en mesure d'e-mailer en masse leurs victimes innocentes. Indépendamment de la façon dont ils abusent les utilisateurs peu méfiants, le but, de nos jours, est souvent le même, attirer sur le site où l'utilisateur donnera volontiers ses informations. C'est là que les applications CMS comme Joomla entrent en jeu.
Phishing Caché dans les sites Joomla
Joomla, comme tant d'autres application CMS, a eu sa course aux vulnérabilités au fil des ans. Il y a eu récemment celle qui permettait le téléchargement volontaire de fichiers PHP dans le répertoire /images de n'importe quelle installation. Ces ajouts contenaient souvent des shells et dans certains cas des fichiers d'hameçonnage comme ceux dont nous venons de parler. Nous souhaitons pouvoir dire que c'était seul endroit où ces fichiers étaient injectés, mais la réalité est que tout est une question d'opportunité. Par exemple, cette vulnérabilité récente a permis aux pirates d'exploiter le répertoire / images de sorte que c'est là où nous les avons trouvés. Il y a eu d'autres cas cependant où nous les avons vus intégrés dans /plugins, /cache, /includes et d'autres répertoires dans la racine du CMS lui-même.
La réalité est que, souvent, ces sites d'hameçonnage ne consistent guère qu'en 1, peut-être 2, pages en PHP ou PHTML ou HTML avec un peu de JS et nécessitent peu ou pas de fonctionnalités de base du CMS lui-même. Cela permets que son placement soit vraiment facile, tout ce dont les pirates ont besoin est le chemin complet de l'emplacement et ils sont capables de masquer cette situation avec ce qui semble être un simple site, soit quelque chose comme ça:
<a href="/evilsite/chase">www.chase.com</a>
Dans cet exemple, tous les utilisateurs verraient : www.chase.com
Dans le récent cas Chase que nous avons partagé plus tôt, les pages étaient à l'intérieur du chemin d'accès suivant :
http://site.com/images/stories/2010/verify/Signon.htm?section=signinpage&=&cookiecheck=yes&=nba/signin
Comme je le disais, ce n'est pas limité à cela. Voici quelques répertoires plus réalistes ou nous avons trouvées des fichiers:
/images/stories/
/cache/
/tmp/cache/
/images/BANKNAME/
/media/com_fabrik/js/.thumbs/
Quelques astuces de renforcement
Je peux presque déjà entendre tous les experts de l'internet, “Ah, Eh bien, c'est évident.. pff… “, malheureusement ce ne sera pas le cas de tous les propriétaires ordinaires de sites web. Une façon de remédier à cette lacune pour les propriétaires de sites web est de désactiver l'exécution de PHP dans des répertoires qui ne le nécessitent pas ce qui, dans le cas de Joomla, peut constituer un bon paquet.
Comme Joomla est souvent configuré sur un package LAMP (Linux Apache MySQL PHP) vous pouvez profiter du .htaccess en l'ajoutant à chacun des répertoires dans lesquels vous n'avez pas besoin d'exécuter PHP. Ce serait quelque chose comme ceci:
# Disable PHP Execution in this folder
<Files *.php>
Deny from all
</Files>
Remarquez, c'est peut-être un peu agressif, selon la façon dont vos templates, composants, plugins et tout le reste est construit, cela pourrait casser certaines choses. Souvent, il s'agit de CSS non renvoyées ou d'images ne sont pas chargées. Vous devrez évacuer ces problèmes et pas juste supprimer les protections ajoutées, modifiez les pour quelque chose de ce genre :
Order Allow,Deny
Deny from all
<FilesMatch "^[^.]+\.(?:[Jj][Pp][Ee]?[Gg]|[Pp][Nn][Gg]|[Gg][Ii][Ff]|[Pp][Dd][Ff])$">
Allow from all
</FilesMatch>
ou:
Order Allow,Deny
Deny from all
<FilesMatch "^[^.]+\.(?i:jpe?g|png|gif|pdf)$">
Allow from all
</FilesMatch>
ou:
Order Allow,Deny
Deny from all
<FilesMatch "^[^.]+\.(?i:jpe?g|png|gif|pdf)(?i:\.gz)?$">
Allow from all
</FilesMatch>
Quoi que vous décidiez, assurez-vous de tester et d'être prêt à défaire. Les dernières parties sont souvent quelque chose que vous aurez envie de faire dans les répertoires comme « plugins » et « templates » qui sont souvent ceux générant les éléments de votre site Web que les gens voient, mais si vous l'appliquez à « components », « includes » et autres vous pouvez également un peu affiner les choses. Si vous trouvez un fichier spécifique auquel vous avez besoin d'avoir accès, vous pouvez le modifier pour lire quelque chose comme:
<Files *.php>
deny from all
</Files>
<Files yourawesomefile.php>
allow from all
</Files>
Cela fera en sorte que vous refusez tout par défaut, tout en affinant ceux qui peuvent s'exécuter. Il s'agit de la méthode préférée de la plupart des professionnels de la sécurité de l'information.
Conclusion
Malheureusement, le phishing est une attaque que nous voyons sur des applications CMS comme Joomla. Il est également l'un des plus difficiles à détecter. Contrairement au SPAM, et d'autres types de logiciels malveillants, il n'est pas souvent facilement accessible via le site principal. Souvent, son emplacement est obscur et connu seulement du pirate, lui permettant d'être utilisé dans des campagnes de phishing e-mail de masse. Heureusement, la façon dont cela arrive est presque toujours attribuée à deux choses - Problèmes de contrôle d'accès et des vulnérabilités logicielles, soit du core soit de l'extension.
Enfin, n'oubliez pas que pour être efficace dans ces escroqueries, les pirates sont dépendants de vous, utilisateurs du site, qui ne saurait pas faire la différence. Apprennez à devenir précautionneux avec vos habitudes en ligne, cela va au delà de la visite de sites, mais aussi comment vous interagissez avec vos e-mails et les médias sociaux.
Quant aux propriétaires de sites Web et les administrateurs, vous pouvez suivre certains des conseils ci-dessus, mais si vous préférez ne pas vous inquiéter à ce sujet vous devriez devenir préventif en incluant dans vos défense detection et protection.
Tutoriel traduit de l'anglais de : https://blog.sucuri.net/2013/08/joomla-hacks-part-i-phishing.html