BadStore est une application web construite sur la distribution Linux (Trinux). La distribution permet de simuler un serveur avec tous les services actifs et une librairie installée qui contient plusieurs failles de sécurité, de faire des tests de piratage et de pénétration.
BadStore ne pèse que 10 Mo et peut être utilisé depuis virtualbox pour simuler un serveur et effectuer des attaques depuis un autre ordinateur ou depuis le même.
La Plateforme Web BadStore fonctionne avec Perl, Apache et MySQL.
Le Avantages BadStore ils sont:
- Facile à configurer.
- Il peut être exécuté à partir d'une machine virtuelle.
- Nous pouvons accéder à la machine virtuelle en configurant une IP comme s'il s'agissait d'un VPS.
Nous pouvons télécharger l'ISO à partir de la page officielle de BadStore.
Ensuite, nous utiliserons l'ISO BadStore dans une machine virtuelle comme Virtualbox. Nous aurons besoin d'avoir VirtualBox installé, son installation est très simple comme expliqué dans les tutoriels Créer un serveur VPS sur un ordinateur domestique et Linux - Installer Ubuntu.
Ensuite, nous démarrons Virtualbox et nous allons créer la machine virtuelle pour héberger BadStore. Nous devons sélectionner une version 32 bits de Linux.
Puis on clique sur Prochain et nous allons allouer de la mémoire à la machine virtuelleDans ce cas, nous allouons 1,7 Go de RAM plus que suffisant pour cette version de Trinux.
Nous cliquons sur Prochain et nous allons créer le disque virtuel pour installer notre machine virtuelle.
Puis on clique sur Prochain et nous devons attribuer le type de disque virtuel. Les formats les plus utilisés que Virtualbox nous propose sont :
- VDI : C'est le format par défaut de Virtualbox.
- VMDK : est un format open source, ce type de fichier de disque virtuel peut fonctionner sur d'autres plates-formes de virtualisation telles que VMWare.
Il en existe d'autres plus spécifiques, mais les précédents sont multiplateformes et les plus recommandés. Nous devons prendre en compte avant de créer la machine virtuelle si nous allons exécuter la machine virtuelle sur d'autres plates-formes ou non, les deux formats fonctionnent sur d'autres systèmes d'exploitation. Dans ce tutoriel, nous utiliserons le format VDI.
Maintenant, nous cliquons sur Prochain et nous devons attribuer un nom au dossier qui fonctionnera comme un disque dur virtuel. Nous devrons également définir la taille du disque dur virtuel. BadStore Il n'occupe que 11 Mo mais nous attribuons entre 4 Go et 50 Go au cas où nous voudrions installer des outils de sécurité ou de test.
AGRANDIR
Puis on clique sur Prochain et nous devrons chercher l'ISO pour indiquer lequel sera installé.
Ensuite, nous allons démarrer BadStore et nous verrons comment nous connecter à ce VPS.
Il démarrera le système dans mode console et nous donnerons un Entrer Pour activer la ligne de commande, dans ce cas nous n'avons pas de domaine donc nous utiliserons l'IP du VPS pour effectuer nos attaques, ce que nous devons découvrir pour commencer est l'IP du VPS. Pour cela nous utiliserons la commande :
bash # ifconfigAinsi on obtient la configuration d'un réseau Ethernet avec ip 192.168.0.15, puis depuis un navigateur sur l'ordinateur, en dehors de la machine virtuelle, on met l'IP.
Nous avons accédé au Web et nous pouvons commencer le analyse de vulnérabilité et tests de pentest ou de piratage que nous verrons ensuite.
À) Échec de la recherche
Le magasin a un moteur de recherche dans la colonne de gauche, nous entrons n'importe quelle valeur qui serait la recherche d'un livre et nous le ferons échouer, en conséquence il nous montrera la requête SQL.
Cela se produit en ne validant pas les données saisies et les erreurs qui se produisent.
B) Vulnérabilité avec Cross Site Scripting (XSS)
Nous allons laisser un commentaire dans le livre d'or, mais nous allons mettre du code Javascript dans les champs du formulaire.
Nous ajoutons un commentaire en utilisant la fonction d'alerte Javascript pour afficher un message, ce code sera enregistré dans la base de données puis il sera exécuté à chaque chargement de la page web du livre d'or. Cette vulnérabilité nous permet d'entrer n'importe quel code Javascript, Nous pourrions même rediriger vers un autre site Web chaque fois que quelqu'un accède au livre d'or, comme
Avec cela, nous le redirigeons.
C) Utiliser Outils d'analyse
Nous pouvons utiliser le terminal informatique pour scanner le VPS avec différents outils pour obtenir plus d'informations,
Par exemple:
Nmap : Avec l'outil Nmap, nous pouvons analyser les ports pour déterminer ceux qui sont ouverts :
Nmap 192.168.0.15
Nous pouvons voir que le service mysql est actif, il pourrait donc y avoir une base de données en cours d'exécution avec le Web.
D) Attaquer le serveur MySQL avec SQLMAP
Pour tester cette vulnérabilité nous utiliserons SQLMAP, comme nous l'avons vu dans un précédent tutoriel :
Outil SQLMAP SQL Injection et piratage éthique de base de données.
Il faut chercher une URL où l'on envoie des paramètres, pour ça, rien de mieux que le moteur de recherche, si on met le code d'un livre par exemple 1000, on obtiendra le lien dans le navigateur. Ensuite, nous utilisons le commande sqlmap pour trouver quel moteur de base de données utilise le Web.
Je vérifie quel moteur de base de données utilise le Web et s'il est attaquable et nous effectuons une recherche dans la base de données à l'aide de la commande suivante :
./sqlmap.py -u "http://192.168.0.21/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" --current-db
Nous pouvons observer que le le serveur est Apache et le le moteur de base de données est Mysql 5.0.
Ensuite, nous chercherons à analyser et à répertorier les tables de base de données que nous trouvons, pour cela, nous utilisons la commande suivante :
./sqlmap.py -u "http://192.168.0.15/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" --tables
E) Obtention Accès administrateur
L'une des vulnérabilités consiste à utiliser des paramètres d'URL pour modifier des sections ou des pages du Web. BadStore a cette vulnérabilité, par exemple http://192.168.0.15/… ction = myaccount, si dans le paramètre d'action nous passons comme une section nous y irons, donc nous pouvons essayer avec admin, panel ou un autre mot qui indique un panneau de contrôle, exemple http://192.168.0.15/… i?action = admin, nous permet effectivement de voir le panneau de contrôle mais de ne rien modifier.
Une erreur courante est que lorsqu'un utilisateur s'enregistre, nous envoyons des paramètres cachés pour différencier un utilisateur d'un autre, par exemple un client d'un fournisseur ou un administrateur. Pour voir si cela se produit, nous allons installer un plugin pour le navigateur appelé Tamper Data et qui affiche les paramètres envoyés à partir d'un formulaire afin que nous puissions voir s'il y a des paramètres cachés.
Ensuite nous activons le plugin depuis le menu firefox Outils> Données d'altération, cela permettra de capturer les données envoyées via un formulaire, si nous allons au formulaire d'inscription, puis cliquez sur la vente de données d'altération l'option Commencer la modification, lors de l'envoi capture les données.
Nous pouvons voir qu'il y a un champ caché appelé rôle et c'est celui qui détermine le rôle donc U sera utilisateur et Un administrateur, si nous modifions le paramètre nous nous enregistrerons en tant qu'administrateur et nous aurons le contrôle total du panneau de contrôle.
Maintenant, nous pouvons accéder au panneau d'administration car lorsque nous nous inscrivons, nous sommes déjà connectés. Nous pouvons également accéder à toutes les annonces dans le panneau d'administration.
BadStore nous aide à effectuer toutes sortes de tests sur les vulnérabilités et propose une approche pratique pour trouver et exploiter les vulnérabilités Web. C'est une forme de formation pour savoir comment sécuriser correctement vos sites web.
Nous pouvons utiliser un logiciel pour détecter les vulnérabilités, on avait vu dans un tuto comme :
Scannez une vulnérabilité de site Web avec ZAP
Nessus - Analysez les problèmes de sécurité réseau sur les sites Web.
Nous pouvons voir un exemple de l'analyse et générer un rapport pour visualiser ce qu'est chaque vulnérabilité.
Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif