La plupart des développeurs, lorsqu'on leur montre une faille XSS avec un pop-up JavaScript du genre « hack » ou « bonjour », ne sont pas impressionnés. Ils répondent souvent que JavaScript est sécurisé et que son exécution se limite au côté client.
Comme je n’ai pas le temps de coder avec JavaScript pour démontrer que la faille XSS est dangereuse, je vais utiliser l’outil Beef, un framework d’exploitation Web développé en PHP et JavaScript.
Beef est un puissant outil de sécurité professionnelle. Contrairement à d’autres outils de sécurité, Beef se concentre sur l’exploitation des vulnérabilités côté navigateur (client) pour évaluer le niveau de sécurité d’une cible. Grâce à Beef et à son vecteur d’attaque XSS, il est possible de transformer l'ordinateur d'une victime en PC zombie.
Qu’est ce qu’on peut faire avec beef ?
- Récupération d’informations sensibles.
- Vol de cookies (comme attendu dans le cadre des attaques XSS).
- Keylogger : capture des saisies clavier effectuées dans le navigateur.
- Liste des sites et domaines visités.
- Fingerprinting du navigateur : identification du système d’exploitation, des plugins installés, et d’autres caractéristiques techniques.
- Accès à la webcam (si les permissions sont mal configurées).
Architecture Beef
Lorsqu'un utilisateur exécute BeeF, deux composants principaux sont lancés : l'interface utilisateur et le serveur de communication (SC). Ces deux éléments constituent les bases fonctionnelles de BeeF.
Interface utilisateur
L'interface utilisateur est le tableau de bord de contrôle de BeeF. À partir de cet espace, l'utilisateur peut :
- Visualiser les victimes en ligne et hors ligne,
- Lancer des exploits contre elles,
- Consulter les résultats des actions menées.
Serveur de communication
Le serveur de communication (SC) est le composant chargé d'assurer les échanges avec les navigateurs compromis. Il communique via le protocole HTTP pour recevoir et envoyer des instructions.
Installation
Beef est disponible sur Linux, notamment avec la distribution Kali Linux. Si vous utilisez un ordinateur sous Windows, je vous recommande d’installer une distribution Linux (par exemple Kali Linux) sur une machine virtuelle avant de continuer. Pour ce faire, téléchargez simplement VMware et une image de Kali Linux. Beef est déjà préinstallé sur cette distribution. Voici un guide pour installer Kali Linux sur une machine Windows.
Pour l’installer sur une autre distribution Linux, référez-vous à : Guide d'installation pour Linux .
Comment utiliser Beef ?
Pour commencer, lancez le serveur Beef dans BackTrack. Pour ce faire, accédez au menu suivant :
Applications -> BackTrack -> Applications -> Exploitation Tools -> Social Engineering Tools -> Beef XSS Framework -> Beef
Le serveur démarrera en quelques secondes. Une fenêtre apparaîtra, fournissant des informations sur les liens utilisés pour l'interface web ainsi que le script à injecter dans des pages vulnérables.
Dans l'exemple ci-dessus, vous pouvez voir plusieurs interfaces réseau. Vous pouvez maintenant accéder à l'interface d’administration (interface web) en utilisant l’une des URL fournies.
Dans mon cas :
- URL de l’interface d’administration :
http://192.168.230.128:3000/ui/panel
- Script à injecter :
http://192.168.230.128:3000/hook.js
Après avoir ouvert la page d’administration, vous serez redirigé vers une page d’authentification. Connectez-vous au serveur Beef en utilisant les identifiants par défaut : beef/beef.
Une fois connecté, vous accéderez à une interface divisée en 4 sections principales :
- Partie Zombie : Cette section affiche les victimes connectées.
- Partie Commande : Vous trouverez ici une liste de commandes pouvant être exécutées sur les cibles. Chaque commande est accompagnée d’un indicateur coloré indiquant son niveau de sécurité relatif. Cette section constitue l’un des aspects les plus puissants du framework Beef.
- Partie Résultat : Les résultats des commandes exécutées sur les cibles seront affichés ici.
- Partie Description : Cette section fournit des descriptions détaillées pour chaque commande.
Il vous reste maintenant à injecter le script hook.js
dans un forum vulnérable ou toute application web contenant une faille XSS.
Si vous souhaitez tester Beef localement, vous pouvez utiliser la page de démonstration disponible à cette adresse :
http://127.0.0.1:3000/demos/basic.html
Une fois le navigateur infecté, une cible apparaîtra dans la colonne de gauche du panneau d’administration.
Enfin, sélectionnez ce navigateur pour afficher des informations sur la cible et exécuter des commandes, comme :
- Obtenir la liste des derniers sites visités,
- Placer un keylogger,
- Démarrer la caméra de la cible.
Comment s’en protéger ?
- Mettre à jour vos navigateurs et plugins :
Assurez-vous que vos navigateurs et leurs extensions sont toujours à jour. Cela permet de corriger les failles de sécurité connues et de réduire les risques d’exploitation. - Installer un pare-feu sur votre machine :
Un pare-feu aide à protéger votre système contre les attaques externes en bloquant les connexions non autorisées. - Utiliser un Anti-XSS sur votre navigateur :
Installez une extension comme NoScript. Cette extension empêche l’exécution de scripts JavaScript, sauf sur les domaines de confiance que vous aurez spécifiés. Elle protège efficacement contre les failles XSS (Cross-Site Scripting) et CSRF (Cross-Site Request Forgery) tout en conservant les fonctionnalités essentielles.
Conclusion
Beef est un outil simple d’utilisation et très pratique. Grâce à Beef, les attaques XSS avancées deviennent faciles à réaliser.
J’espère avoir réussi à vous convaincre que l’impact d’une faille XSS peut être dévastateur. Avec un outil comme Beef, une simple faille XSS peut être exploitée pour devenir une vulnérabilité extrêmement dangereuse.
Avant que je n’oublie… N’hésitez pas à partager ce guide informatique. Cela me fera très plaisir !
Avez-vous trouvé ce guide utile ?
Nous aimerions connaître votre avis pour améliorer nos tutoriels. Avez-vous trouvé ce guide utile ?
Questions & Réponses
Posez votre question
Question :
Je ne comprend toujours pas l'utilisation de beef ...
A quoi sert cet outil ? à infecter son propre navigateur ? si non, comment injecter la page hook.js (qui à était créer sur notre pc), sur le site de la victime, même avec une faille XSS et tout le tralala on ne peut pas (en pratique) sur un site distant.
Enfin j’espère me tromper afin que vous m'expliquez plus en détail le fonctionnement de cet outil et l'injection du script dans un site vulnérable.
Merci beaucoup.
Réponse :
D'ailleurs, si tu le faisais toi-même sans Beef, il te suffirait d'injecter un script via la faille XSS pour que ce script soit exécuté discrètement lorsque l'utilisateur arrivera sur la page.
Même un simple alert("Hello world!"); affichera un popup chez l'utilisateur. Après tu peux t'amuser à faire apparaitre 50 millions de popups aussi. Tout dépend du type d'attaque que tu veux effectuer ;)
Question :
j'ai une question à propos de beef comment l'utiliser en ligne (avec un mon de domaine)