Si vous utilisez Joomla et n'avez pas mis à jour votre site récemment, vous feriez mieux d'arrêter immédiatement ce que vous étiez en train de faire, et de le mettre à jour sur le champ. Il y a une très grave vulnérabilité dans le composant Media Manager (inclus par défaut), qui peut permettre de télécharger des fichiers malveillants sur votre site.

Les deux seules versions sûres de Joomla sont 3.1.5 et 2.5.14 . Si vous n'utilisez pas l'une ou l'autre d'entre eux, vous prenez des risques.

La vulnérabilité du téléchargement de fichier

Cette vulnérabilité est très simple à exploiter et est causée par une erreur de validation dans le composant Media Manager. C'était censé autoriser que certaines extensions soient transférées, mais si vous ajoutez un point à la fin du nom de fichier, cela permet à n'importe quoi d'être téléchargé.

Joomla Image Uploader

Le grand danger est que cela permet à quelqu'un d'envoyer un fichier PHP vers le répertoire /images/stories/. Par exemple, backdoor.php pourrait finir dans /images/stories/backdoor.php et le pirate peut alors exécuter ce fichier comme site.com/images/stories/backdoor.php.

Donc, selon ce qui est téléchargé, cela peut donner au pirate un contrôle total de votre site. Notez qu'il existe des exploits circulant pour cette vulnérabilité, et même un module Metasploit pour cela, c'est donc un exploit très simple.

Attaques sauvages

Depuis que cette vulnérabilité a été divulguée, nous avons commencé à voir quelques entrées dans notre « Security Operation Center » (SOC) charchant à voir si le téléchargement par com_media était activé, et si la page de soumission d'article publique était disponible. Voila ce à quoi ces requètes ressemblent dans nos journaux de logs :

IP - - [DATE] "GET /index.php?option=com_media&view=images&tmpl=component&e_name=jform_articletext"
IP - - [DATE] "GET /index.php/submit-an-article"

Depuis les 2 derniers jours ces demandes de reconnaissance sont sans cesse en augmentation. Nous avons également constaté des tentatives de compromission et de téléchargement d'un script shell malveillant dans l'un de nos pots de miel (honeypots):

IPADDRESS - - [DATE] "POST /index.php?option=com_media&task=file.upload&tmpl=component..

Suivi par une requète GET sur /images/stories/banner.php, le fichier malveillant choisi par eux.

Ainsi, même si nous ne voyons rien à grande échelle, cela commence à prendre. Si vous êtes propriétaire d'un site joomla, veuillez faire votre part et mettre à jour votre site !

article traduit de l'original (daniel Cid) : http://blog.sucuri.net/2013/08/joomla-media-manager-attacks-in-the-wild.html

Les auteurs de logiciels malveillants peuvent être vraiment ingénieux dès qu'il s'agit de dissimuler leur code. Et avouons-le, avec la poussée des anti-malware d'aujourd'hui, ils y sont obligés ; la moindre modification déclenchera souvent des alertes qui la fera paraître suspect et raccourcira son espérance de vie.

Quand nous parlons dissimulation la première chose à laquelle nous pensons est l'encodage base64 , gzinflate ou toute autre fonction intégrée permettant de rendre le code illisible pour l'utilisateur moyen, mais ils vont souvent sauter à l'œil exercé.

Avec cela à l'esprit, l'obfuscation du code malveillant pour le faire ressembler à un bon code est la meilleure approche pour le faire durer plus longtemps.

Prendre ce code, par exemple:

Joomla SPAM Obfuscation

À première vue cela peut être un bon code, n'est ce pas ? Juste un peu de tableaux de couleur pour faire fonctionner Joomla correctement …

Mais, cette fonction init_colors($colors) convertit en fait ces tableaux en une chaîne. Avant cela, vous pouvez trouver un appel à preg_replace qui regroupe tous ces tableaux en :

return include(base64_decode("L3dlYi9odGRvY3Mvd3d3LmZvcm1lci5iaXovaG9tZS9tZWRpYS9rMi9hc3NldHMvaW1hZ2VzL2VsZmluZGVyLy5pY29ucy8uJTZhOSUlOTJkJSU1NTIlJTlmNCUlNTlhJSU0NGYlJWVlNSUlOGM3JQ=="));;

Qui une fois décodé :

/web/htdocs/www.attackedsite.dom/home/media/k2/assets/images/elfinder/.icons/.%6a9%%92d%%552%%9f4%%59a%%44f%%ee5%%8c7%

Ce nom de fichier n'est pas codé, il est conservé avec ce nom étrange.

Ouvrez le fichier étrange et vous trouverez un outil complexe de spam, dont voici un extrait rapide :

Joomla Complex Spam Script

La partie la plus intéressante est qu'il enregistre tous les accès, si c'est un bot ou un humain, et il décide si le code de spam sera montré en fonction la qualité du référent, lla langue et d'autres variables pour améliorer l'attaque de SEO.

Si vous vous demandez ce que cela affiche, vous pouvez le voir ici :

Joomla SPAM Output

Autre chose : le code a été adapté spécialement pour le site, en utilisant des chemins complets pour toutes les inclusions, au lieu de chemins relatifs, comme d'habitude.

Cela nous montre que l'utilisation de scripts pour trouver chaînes codées en base64 n'est pas aussi efficaces (ou n'ont jamais été) comme la plupart des gens le pensent et chasser le spam est de plus en plus compliqué.

 Traduction libre de l'article ; http://blog.sucuri.net/2013/11/joomla-fancy-spam-injections.html

 

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.

  • Partie I – Phishing injection

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 :

Chase Phishing

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 :

Chase payment update

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:

  1. 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.

  2. Un site web qui peut être utilisé pour héberger les fichiers malveillants

  3. 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 : http://blog.sucuri.net/2013/08/joomla-hacks-part-i-phishing.html