30
Nov
1

Contrôler les médias: simple comme un XSS !

L’actualité sécu est chargée en ce moment, mais j’ai surtout retenu deux informations: l’attaque menée contre Charlie Hebdo et un autre défaçage dont on a beaucoup moins parlé, celui du site ultra local Franc-Comtois de la Gazette de Besançon.

Troublantes ressemblances entre ces deux histoires, les 2 sites ayant été défacés suite à des sujets traitant de polémiques religieuses (bien que dans le cas de la Gazette le lien n’est aujourd’hui pas établi).

Suite à ces affaires on peut sérieusement se poser la question de savoir si les médias sont bien conscients de leurs besoins de sécurité ?

J’aurais bien une réponse qui tient en 3 lettres mais ce serait moins drôle, je vais donc ENCORE vous raconter une histoire ! D’ici à ce qu’on m’appelle Père Castor il n’y a qu’un pas.

Mais avant de commencer, et pour que tout le monde comprenne bien, voici un petit rappel de ce qu’est une attaque par XSS (si vous êtes un habitué vous pouvez directement vous rendre ici).

 

C’est parti…

Le cross site scripting (XSS) est un problème de sécurité bien souvent difficile à expliquer. Du fait que l’attaque se déroule coté client (dans le navigateur de l’utilisateur) et non coté applicatif (sur le serveur) il n’est pas évident de sensibiliser les utilisateurs / développeurs / managers / directeurs (etc…)  afin qu’ils soient conscients des réels risques liés à ces vecteurs d’attaque.

 

Oui mais encore ?

Le XSS est une faille de sécurité très répandue (elle truste le top 10 de l’OWASP certainement à cause des raisons évoquées ci-dessus) qui permet à une personne malveillante (ou joueuse ;)) d’insérer du code (souvent du javascript) dans une page web afin qu’il soit exécuté par le navigateur des victimes.

Le langage Javascript étant conçu pour permettre une excellente interaction avec le navigateur, il offre bien des possibilités d’attaque.

Mais avant d’aller plus loin, il est important de savoir qu’il existe 2 types de XSS:

– le XSS volatile, pour lequel il est nécessaire d’amener les victimes à cliquer sur un lien spécialement conçu, contenant le code malveillant, et qui donc impose qu’une phase de social engineering soit effectuée pour mener à bien l’attaque (d’où l’intérêt de faire attention aux liens sur lesquels on clique, tout particulièrement les liens raccourcis qui sont légion sur Twitter).

– le XSS permanent (ou stocké), qui permet d’enregistrer de manière permanente le code dans la base de données de l’applicatif qui sert de vecteur. Il suffit alors qu’une victime consulte la page concernée pour que le code malveillant soit exécuté dans son navigateur.

Une fois le navigateur compromis, les possibilités sont immenses:

  • vol de cookies de session (la base de la base)
  • redirections libres vers des sites malveillants
  • enregistrement des frappes au clavier
  • prise de contrôle de la machine

Des frameworks tels que Beef permettent une exploitation aisée et très avancée de ce genre de failles, et des attaques toujours plus spéctaculaires sont présentées dans presques toutes les conférences sécu depuis plusieurs années.

Pour ceux qui souhaiteraient approfondir, je vous renvoie vers cette vidéo explicative de l’OWASP (en anglais):

[youtube]http://www.youtube.com/watch?v=_Z9RQSnf8-g[/youtube]

 

Bon et le rapport avec le titre ?

 Note: Toutes les failles décrites ici ont été signalées et patchées

Certains médias participatifs permettent la libre création d’articles, il est même parfois possible d’éditer directement le code HTML, la tentation d’y ajouter du javascript est donc importante lorsque l’on sait que certains papiers sont vus des centaines de fois.

Il y a quelques années, avec un ami travaillant pour un de ces médias, nous avions par curiosité tenté un vol de cookie (la base de la base, souvenez vous) en utilisant ce vecteur. La balise “<script>” étant filtrée dans l’éditeur HTML je m’étais alors redirigé vers un événement “onload” qui ne l’était pas.  L’injection de code ayant fonctionné et le XSS étant permanent, il suffisait alors d’attendre que quelqu’un consulte notre article.

Les résultats de cette attaque furent pour le moins inattendus puisqu’en plus des cookies des utilisateurs du média, tombaient également ceux de l’outil utilisé par la société chargée de la modération du site (celle-ci visualisant les articles et commentaires via un flux déporté au sein d’une application maison).

Le plus drôle dans tout ça étant que les cookies de la solution de modération contenaient également les mots de passe (en clair) des modérateurs! L’attaquant n’est alors même plus tributaire de la durée de la session de l’utilisateur et peut aller et venir comme bon lui semble (et je n’aborde même pas le problème de la réutilisation systématique du même mot de passe).

Ajoutons à cela un accès sans restriction à l’applicatif de modération et une extrême facilité à trouver le point d’entrée sur Google et nous avions là un magnifique échec de sécurité.

Evidemment, la société en question ne gérant pas qu’un seul client, il aurait donc été possible de modérer les commentaires et parfois les articles de bien d’autres sites, parmi lesquels se trouvaient les plus grands sites d’informations nationaux.

Voilà, comment une attaque des plus basiques peut prendre une ampleur inattendue et mener un simple bidouilleur à une maîtrise quasi totale de ce qu’il se raconte sur de grands sites d’informations… Quand on sait à quel point les problématiques de modération peuvent être sujettes à polémiques il y avait là de quoi foutre un joyeux bordel.

Espérons, pour le bien de la liberté de la presse, que l’actualité aura permis une réelle sensibilisation chez les décideurs des groupes de presse car il y a vraiment du boulot

Heat Miser

 

P.S.:  A l’heure actuelle, la société de modération concernée présente toujours une mire d’authentification sans chiffrement SSL, comme la quasi totalité des sites web d’informations actuels, certains exposant même des interfaces d’administration sur Internet sans restriction. Parfois je me demande pourquoi certains gouvernements s’emmerdent à demander des FADET…

1 Commentaire:
  1. En Bref … - CNIS mag 2 Déc, 2011

    […] presse en ligne trop vulnérable estime Heat Miser. Pourtant, avant les attaques binaires, il existe d’autres types de menaces […]

Commenter




Celadon theme by the Themes Boutique