Aller au contenu

Quelques outils pour pentester son site web


Ldfa

Messages recommandés

Dans cet article, je vais vous montrer quelques outils avec des exemples de base afin de vérifier la sécurité de votre site internet. Vous ne serez pas un hacker en lisant ces quelques lignes, mais en tout cas et si le sujet vous intéresse, vous aurez quelques notions afin de mieux vous défendre contre les prochaines attaques !

🚩 Les outils suivants doivent être utilisés uniquement lorsque vous y êtes autorisé ou dans votre propre environnement de test. 🚩

À l'aide de ces outils, vous allez pouvoir collecter des informations pertinentes sur votre site. Et vous pourrez les analyser, afin d' éventuellement trouver des vulnérabilités.

Nous allons bien sur utiliser ces outils dans un environnement Docker !

Pré-requis

  • Installer Docker sur votre système :
https://docs.docker.com/engine/install/

Enfin nous allons lancer une instance de Kali :

$ docker run -it kalilinux/kali-rolling bash

J'utilise la version Kali-rolling qui est mise à jour toute les semaines.

Commençons avec notre premier outil !

WhatWeb

whatweb.png

Il faut bien commencer son analyse avec un premier outil, WhatWeb peut faire partie de cela ! ( nmap étant sûrement le premier 😉 ).

Cet outil permet d'identifier - toute ou partie - de la stack technologique utilisée par le site web ciblé. Il va reconnaître les technologies utilisées, notamment l'utilisation de gestionnaire de contenu ( CMS ), l'utilisation d'outils analytics/statistiques, les librairies JavaScript, votre serveur web, etc...

Il dispose pour cela d'un nombre important de plugins, plus de 1800 actuellement, et le projet est toujours actif.

Il permet également de renvoyer le résultat de vos analyses dans plusieurs types de format :

Brief (greppable), Verbose (human readable), XML, JSON, MagicTree, RubyObject, MongoDB, SQL, and ElasticSearch.

Installons ça tout de suite dans notre environnement :

lfache@Midgar:~$ docker run -it kalilinux/kali-rolling bash
root@a75aa732b495:/# apt update && apt install whatweb -y
root@a75aa732b495:/# whatweb http://mywebsite.com

Il est possible de paramétrer le niveau d'agressivité de vos recherches avec le paramètre -a, sans argument WhatWeb utilisera le niveau 1 qui ne requiert qu'une seule requête HTTP.

A contrario le niveau 4 sera bien plus agressif :

$ whatweb -a 4 http://example.com/ 

J'adore également la possibilité de réaliser des tests de façon nmap en passant avec l'option -i une liste d'URL !

Nikto

Deuxième outil de ma liste, Nikto. Il est conçu pour trouver divers fichiers/programmes ( plus de 6700 ) considérés comme dangereux, il va également vérifier vos versions de serveurs/applications. Ce programme permet aussi de scruter la présence de certaines options de votre serveur HTTP, de la présence de certains fichiers d'index ou encore de certains répertoires susceptibles de dévoiler des informations sur votre installation.  

Attention Nikto n'est pas conçu pour être un outil stealth mode, c'est à dire que la détection d'un scan par cet outil est facile à relever dans les journaux ou pour un éventuel pare-feu applicatif.

Pour installer et lancer l'outil, rien de plus simple :

lfache@Midgar:~$ docker run -it kalilinux/kali-rolling bash
root@a75aa732b495:/# apt update && apt install nikto -y
root@a75aa732b495:/# nikto -h monsiteweb.com

Cet outil permet d'avoir un aperçu très rapidement de la sécurité de son serveur applicatif.

Skipfish

L'outil suivant est développé par Google.

google_skipfish.jpg

C'est un outil très performant qui est capable d'envoyer plus de 500req/s à votre serveur. Il renvoie les résultats de sa recherche au format HTML que vous pourrez consulter par la suite.

Ce retour est un sitemap interactif de votre cible annotée avec les retours des sondes effectuées par le logiciel. Skipfish va effectuer de lui-même une analyse récursive de votre site.

C'est un outil très agressif et qui ne passe donc pas inaperçu dans des journaux d’événements !

Pour l'installer sur Kali :

lfache@Midgar:~$ docker run -it kalilinux/kali-rolling bash
root@a75aa732b495:/# apt update && apt install skipfish -y

Enfin pour lancer un scan :

root@a75aa732b495:/# skipfish -o /tmp/mydirectory http://mywebsite.com

Il faudra récupérer sur votre hôte le dossier avec les éléments du reporting  HTML :

lfache@Midgar:~$ docker cp a75aa732b495:/tmp/mydirectory /tmp/
lfache@Midgar:~$ firefox /tmp/mydirectory

Quelques petits mots sur deux applications que j'utilise et que vous ne pourrez pas lancer dans un conteneur très facilement :

OWASP ZAP

OWASP Zed Attack (ZAP) possède une interface graphique qui peut vous aider à trouver automatiquement les failles de sécurité dans vos applications Web et les essayer pendant que vous développez... !

zap.png

C'est également un excellent outil pour les pentesters expérimentés car il possède un nombre important d'options.

Simple d'utilisation au premier abord : il suffit de donner l'adresse du site à attaquer et l'outil va se charger d'effectuer un scan récursif de celui-ci ( première étape ) avant d'essayer différents types d'attaques ( seconde étape ) sur chacune des pages ( XSS, Path transversal, SQL injection, etc ).

Une fois réalisé, les attaques ayant un retour positif seront classées en catégories, de la plus petite à la plus grande menace.

Arachni

Arachni est un framework Ruby, complet et modulaire. Il est également très performant.

L'outil possède une interface web, mais il est possible de le lancer en ligne de commande :

$ arachni http://example.com/ --output-only-positives --report-save-path=/var/tmp/arachni-example-com

Sur le conteneur Kali - à jour - , impossible de lancer le scan sur un site en HTTPS. J'utilise de mon côté cette image pour mes essais :

https://hub.docker.com/r/ahannigan/docker-arachni/

Vous pouvez lancer celle-ci avec la commande suivante :

$ docker run -d --name arachni -p 9292:9292 ahannigan/docker-arachni bin/arachni_web -o 0.0.0.0

Et ensuite accédez à l'outil via votre navigateur : http://127.0.0.1:9292

Les accès par défaut sont les suivants :

Administrator account
E-mail: admin@admin.admin
Password: administrator

🚩 Attention, je le garde dans ma liste mais le projet n'est plus maintenu depuis ce début d'année🚩


Vous avez maintenant quelques outils pour valider la sécurité de votre site ! J'aurais également pu citer  w3af , Vega , Paros , Hydra ... et tant d'autres 😂

Si cet article vous plaît, n'hésitez pas à me le faire savoir. Je me ferais un plaisir de continuer à en réaliser quelques-uns sur ces sujets comme par exemple : Comment détecter et réaliser ma première injection SQL ?

Certains d'entre vous se posent peut-être encore cette question : Mon site, un blog personnel comme celui-ci,  peut-il être la cible de pirate ?

La réponse est très clairement oui ! Même si votre site n'est pas une cible qui va lui permettre de glaner des informations qui se monétisent ( base de données utilisateurs par exemple ), votre serveur peut toujours servir pour relancer d'autres attaquent.

Une simple vérification de vos access.log par exemple devrait vous convaincre, même si vous n'hébergez pas un WordPress :

$ cat /var/log/apache2/access.log | grep "wp-admin"

Dès que vous mettez en ligne une ressource, celle-ci sera une cible !

En tout cas  n'hésitez pas à m'apporter des remarques ou des commentaires sur Twitter ! C'est toujours un plaisir d'avoir des retours ! 😘

Afficher l’article complet

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.