dimanche 12 janvier 2014

Suivre le berger par sécurité (Security Shepherd 101)

Il y a quelques temps déjà l’OWASP nous proposait Security Shepherd, une application permettant de découvrir les vulnérabilités des applications web sous la forme amusante d’un CTF (Capture The Flag) ou bien sous la forme plus classique permettant un accès à toutes les vulnérabilités.

Depuis peu l’OWASP fournit également une machine virtuelle contenant Security Shepherd. Et ça c’est plutôt sympathique.

On peut ainsi très facilement publier sur internet le CTF pour jouer avec des amis ou bien proposer des exercices aux étudiants.

L’OWASP devrait également fournir prochainement la possibilité d’ajouter ces propres exercices.

Ce que l’on reproche généralement à ce type d’outil c’est la nécessité de trouver la vulnérabilité telle qu’elle a été pensée par les concepteurs. Et généralement le hacker en herbe n’a pas la possibilité de faire preuve d’imagination et de sortir du carcan du concepteur. C’est en particulier le cas de Webgoat (de l'OWASP également) qui reste malgré tout un très bon outil pédagogique (pour plus d’informations sur Webgoat vous pouvez jeter un œil à Un bug dans Webgoat 5.2? Non! Pas un mais deux…).

Au travers des premiers tests que j’ai pu réaliser avec Security Shepherd, il ne semble pas être aussi contraignant que Webgoat.

Dans ce qui suit nous allons décrire les étapes permettant de mettre en place un petit CTF entre amis.

Je ne m’attarde pas sur la mise en place de la VM, et la publication de Security Shepherd sur internet. C’est assez standard !

1ère étape : Créer une classe


2ème étape : Créer vos participants dans une classe


Vous pouvez ensuite visualiser ou changer la liste des participants à une classe donnée.


3ème étape : Configurer le mode « Capture The Flag »


4ème étape : Jouer


Après la connection, le participant doit impérativement changer son mot de passe pour pouvoir commencer les exercices.




Un premier exercice est proposé au participant qui peut choisir ses propres outils pour le résoudre.


Une fois l'exercice résolu, une clef est affichée. Cette clef doit ensuite être copiée dans la champ rservé à cet effet en haut de la page, puis soumise au serveur pour que le résultat de l'exercice soit finalement pris en compte.


5ème étape : Visualiser les résultats en temps réel


L'administrateur peut suivre en direct les résultats du concours. on voit ici que c'est le participant "student1" qui vient de prendre la tête de la course!

Amusez-vous bien !


Note : comme vous pouvez le constater je ne vous donne pour l’instant aucune information sur comment résoudre les exercices pour vous permettre de prendre plus de plaisir dans la recherche des solutions ! Les solutions devraient faire l'objet d'un prochain article très certainement !

dimanche 5 janvier 2014

BeEF, je kiffe...

Voilà bientôt 2 ans que je traîne un « post-it » dans ma poche sur lequel on trouve le message suivant « Installer et tester BeEF ». J’ai du re-écrire ce message au moins 3 fois car l’encre finissait par disparaître. Et ce n’est qu’aujourd’hui que je prends enfin le temps de vous faire part de ma petite expérimentation.


J’ai repris ma vieille Ubuntu sur laquelle fonctionne toujours mon filtre « parental » basé sur « DansGuardian » (voir l’article Protégeons nos chères têtes blondes des dangers d’internet) et j’ai installé la version 11.10.

 

Les étapes sont les suivantes.

 

Je télécharge et installe BeEF en suivant les conseils du « github » de BeEF (https://github.com/beefproject/beef/wiki/Installation) pour la partie Ubuntu. Pour information, il est nécessaire d’installer quelques « packages » supplémentaires absents de mon OS.

Après avoir autorisé les accès à BeEF à partir d’internet, je modifie le fichier de configuration de BeEF avec les informations suivantes pour le rendre accessible:



Puis je lance BeEF avec la commande « ruby beef »

 

Je vérifie ensuite l’accès à la console d’administration à partir d’internet

 

Puis je crée un site « web » dans lequel j’ajoute un lien vers le script par défaut de BeEF permettant de corrompre un browser


A partir de ma machine cible j’accède à mon site web corrompu et je saisis mon login et mon mot de passe

 

 

 Sur le serveur on voit alors apparaître mon browser corrompu

 

 
Et sur la page d’administration de BeEF je récupère les informations concernant le browser corrompu

 


Et je récupère également le nom d’utilisateur et le mot de passe

 


Mais avec BeEF il est aussi possible de faire des choses plus drôles comme par exemple permettre la lecture d’un son de révolver sur la machine cible. C’est ce que nous allons faire. Tout d’abord on choisit le fichier « .wav » à jouer sur la cible



Et on exécute l’action. Comme toujours côté « serveur » on retrouve un trace de nos actions



Et le coup de feu explose sur le poste de notre cible.



Mais il est possible de faire beaucoup plus avec BeEF, et en particulier on peut combiner BeEF et Metasploit afin de prendre la main sur la machine pour la corrompre définitivement.


Partager avec...