• PENTEST > outils pour sécuriser un serveur web

       

      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

      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.

      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… !
      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

 

Aucun commentaire

 

Laissez un commentaire