Magazine High tech

Comment exploiter une faille XSS avec le framework Beef ?

Publié le 08 février 2013 par Ahmed El Jaouari @funinformatique

La plupart des développeurs quand leur montre une faille XSS avec un pop-up JavaScript du genre « hack » ou «bonjour » ça ne les impressionnent pas… et ils répondent que le JavaScript c’est sécurisé, et que ça tourne au coté client.
Alors comme je n’ai pas le temps de coder avec JavaScript pour vous démontrer que la faille XSS est dangereuse, je vais le démontrer avec l’outil Beef, un framework d’exploitation Web 2.0 codé en PHP & JavaScript.

Beef est un puissant outil de sécurité professionnelle, contrairement à d’autres outils de sécurité, beef se concentre sur l’exploitation de vulnérabilités du coté 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 une victime en zombie.

Qu’est ce qu’on peut faire avec beef ?

  • Récupération d’informations
  • Vol de cookies (évidemment)
  • Keylogger
  • Liste des sites/domaines visités
  • Fingerprint du navigateur (OS, plugins…)
  • Webcam !

Architecture Beef

architecture beef Comment exploiter une faille XSS avec le framework Beef ?
Lorsqu’un utilisateur exécute BeEF, deux composantes sont ouvertes: l’interface utilisateur et le serveur de communication (CRC). Ces deux éléments sont les composants de base de Beef.

Interface utilisateur
Ceci est l’interface de contrôle de l’utilisation du beef. De là, un utilisateur peut voir les victimes qui sont en ligne et hors ligne, exécuter des exploits contre eux et voir les résultats.

Communication Server
Le serveur de communication (CS) est le composant qui communique via HTTP avec les navigateurs infectés.

Installation

Beef est disponible sous Linux avec la distribution backtrack 5. Si vous avez un ordinateur sous Windows alors je vous conseille avant d’aller plus loin d’installer une distribution Linux (genre BackTrack) sur une machine virtuelle. Il suffit de télécharger VMware et une image de Backtrack 5 R1. Beef est déjà pré-installé dessus.

Toutefois vous pouvez installer beef sur Windows, pour cela voir : http://code.google.com/p/beef/wiki/WindowsInstall
Pour l’installer sur une autre distribution Linux ou OSX – voir : http://code.google.com/p/beef/wiki/Install

Comment utiliser Beef  ?

Pour commencer, lancer le serveur beef dans Backtrack. Pour cela, aller dans le menu :
Application ->backtrack-> Application ->Exploitation tools ->Social Engineering Tools -> Beef XSS Framwork->Beef

beef backtrack Comment exploiter une faille XSS avec le framework Beef ?

Le serveur va démarrer en quelques secondes puis vous aurez une fenêtre avec des informations sur les liens utilisés pour l’interface web ainsi que le script que vous devez injecter dans des pages vulnérables.

beef url Comment exploiter une faille XSS avec le framework Beef ?

Dans l’exemple ci-dessus, vous pouvez voir, il y a plusieurs interfaces réseau. Vous pouvez maintenant accéder à l’interface d’administration (interface web) en utilisant ces URL.
Dans mon cas, l’interface d’administration c’est : http://192.168.230.128:3000/ui/panel et le script à injecter c’est : http://192.168.230.128:3000/hook.js
Après avoir lancé la page d’administration, vous aurez une page d’authentification. Connectez-vous au serveur Beef en utilisant les informations d’identification par défaut (beef/beef).

beef login Comment exploiter une faille XSS avec le framework Beef ?

Une fois connecté, vous aurez une page découpé sur 4 parties :

beef panel Comment exploiter une faille XSS avec le framework Beef ?

  • Partie zombie : c’est là ou se trouve vos victimes connectés
  • Partie commande : dans cette partie contient un certain nombre de commandes qui peuvent être exécutées sur la cible avec un indicateur colorés au sujet de leur, sécurité relative. c’est la partie la plus puissante de Beef framework.
  • Parti résultat : les résultats des commande exécutés seront listés ici.
  • Parti description : ici, vous aurez la description de chaque commande.

Il reste maintenant d’injecter le hook.js dans un forum vulnérable ou tout simplement une application web qui contient une faille XSS.
Toutefois vous pouvez tester beef localement en utilisant la page de démonstration de beef : http://127.0.0.1:3000/demos/basic.html

beef hook Comment exploiter une faille XSS avec le framework Beef ?

Apres l’infection du navigateur, vous devriez voir une cible ajoutée à gauche du panel d’administration.
Enfin, sélectionnez ce navigateur pour afficher les informations sur la cible, ainsi vous pourrez lancer des commandes pour avoir les derniers sites visités ou pour placer un keylogger ou encore pour démarrer la caméra de la cible.

Comment s’en protéger ?

  • Mettre à jour les navigateurs et plugins est la première règle !
  • Installer un par-feu sur votre machine
  • Installer un Anti XSS sur votre navigateur comme par exemple « Noscript « .  Il ne permet l’exécution de scripts JavaScript que sur les domaines de confiance de votre choix . Il empêche l’exploitation de failles XSS ou CSRF sans perte de fonctionnalités.

Conclusion

Beef est un outil facile à utiliser et très pratique. Grâce à beef les attaques XSS avancées deviennent simples à réaliser.
J’espère que j’ai pu vous convaincre que l’impact d’une faille XSS est terrible et qu’avec un outil comme beef, on peut transformer une simple faille XSS à une vulnérabilité très dangereuse.
Et avant que je n’oublie… Pensez à partager cet article en cliquant sur les boutons des réseaux sociaux. Ca me fera énormément plaisir !

icon smile Comment exploiter une faille XSS avec le framework Beef ?

Pour plus de nouveautés, merci de vous abonner à la newsletter du blog ou à son flux RSS. N’hésitez pas aussi à faire un tour sur Twitter, Google+ ou encore Facebook pour d’autres news.


Retour à La Une de Logo Paperblog

LES COMMENTAIRES (1)

Par vemesnd From
posté le 09 avril à 16:43
Signaler un abus

Bonjour et merci pour cet article. Je suis moi même en train de le tester et c'est d'une facilité d'utilisation déconcertante! Presque dangereuse: l'utilisateur lambda pouvant facilement hooker (vu le nombre de site vulnérable au XSS)... Outil à creuser car offrant pas mal de possibilité intéressante...

A propos de l’auteur


Ahmed El Jaouari 25328 partages Voir son profil
Voir son blog

Magazines