Magazine Gadgets

Comment rechercher des vulnérabilités sur un site Web

Publié le 11 mars 2021 par Mycamer
Comment rechercher des vulnérabilités sur un site Web

Internet héberge environ 1,8 milliard de sites Web. Beaucoup d’entre eux ont des vulnérabilités qui les transforment en proies faciles pour cybercriminels. Selon les chercheurs découvertes récentes, plus de 56% des installations de systèmes de gestion de contenu (CMS) sont obsolètes et donc susceptibles d’être compromises. Une autre étude dit 19% des applications Web exécutées sur des sites Web sont vulnérables.

Dans un contexte mondial, ces statistiques se traduisent par un gigantesque surface d’attaque.

Évaluation de la vulnérabilité du site Web 101

De manière générale, tous les sites Web existants peuvent être divisés en trois catégories principales:

  • Codé à la main (écrit manuellement en HTML, créé avec un générateur de site statique tel que Jekyll, ou conçu à l’aide d’un outil de développement Web tel qu’Adobe Dreamweaver).
  • Créé avec des constructeurs de sites Web (pour la plupart, il s’agit de sites simples ne contenant pas de bases de données et d’éléments d’interaction avec l’utilisateur).
  • Basé sur CMS (réalisé avec des systèmes de gestion de contenu clé en main).

Une plate-forme CMS unique en son genre conçue sur mesure pour un site spécifique est un type plus exotique. Il devient de plus en plus obsolète de nos jours en raison des coûts de développement élevés que peu d’entreprises peuvent se permettre. Cela dit, la grande majorité des sites Web sont basés sur des systèmes de gestion de contenu.

Pour un pirate informatique, les plates-formes CMS ne diffèrent guère des autres services Web en termes d’exploitation. Leur code sous-jacent est accessible au public, et par conséquent, n’importe qui peut l’examiner à la recherche de bogues ainsi que de failles de sécurité. Cela explique pourquoi les sites Web basés sur des CMS sont rarement victimes d’attaques ciblées. Au lieu de cela, ils ont tendance à être piratés «en masse».

Cette forme de compromis est automatisée et suit généralement une voie bien tracée. Tout d’abord, un malfaiteur identifie une vulnérabilité zero-day ou une faille récemment découverte dans le CMS cible. Ensuite, il crée un exploit et conçoit un robot qui scanne tous les sites Web dans une plage spécifiée pour la vulnérabilité en question.

À première vue, il peut sembler que repousser ces hacks automatisés consiste à maintenir l’installation du CMS à jour. Cependant, comme les fonctionnalités de ces sites Web sont étendues à travers divers plugins sur toute la ligne, il est problématique de se tenir au courant de cet écosystème de plus en plus complexe.

Lorsqu’un test de pénétration est en cours, l’objectif du chapeau blanc est d’inspecter minutieusement un site Web spécifique pour détecter les vulnérabilités afin qu’un attaquant potentiel ne puisse pas les exploiter. Jetons un coup d’œil à ce processus à plusieurs volets.

Reconnaissance du site Web

Avant d’essayer de compromettre un site, un pentester (testeur de pénétration) doit collecter des informations à son sujet. Un outil appelé WhatWeb peut faire l’affaire. Il récupère les détails concernant le CMS et les composants supplémentaires en cours d’utilisation.

Il est préférable de lancer WhatWeb avec la touche «-a», puis de spécifier la valeur 3 ou 4. La seule différence entre les deux est que dans ce dernier scénario, l’utilitaire traversera en plus les sous-répertoires. Gardez à l’esprit que l’une ou l’autre option déclenche un mécanisme d’interrogation simple qui couvre l’intégralité des journaux diffusés vers le serveur.

S’il est correctement configuré, l’outil renverra la géolocalisation du site et les détails du CMS. Il permettra également au pentester de savoir si le site utilise PHP ou jQuery. Cette information suffit pour lancer un procès d’attaque. Au cas où vous auriez simplement besoin de déterminer le type de CMS, il existe des services qui fournissent ces informations en un clin d’œil.

Au fait, voici les dernières statistiques reflétant la part de marché des différentes plateformes CMS:

  • WordPress: 64,1%
  • Shopify: 5,2%
  • Joomla: 3,5%
  • Espace carré: 2,5%
  • Drupal: 2,4%.

Comment vérifier les vulnérabilités d’un site WordPress

Parce que WordPress domine actuellement l’écosystème CMS, passons d’abord en revue les méthodes pour repérer les faiblesses des sites Web qui l’exécutent. Il existe un scanner extrêmement efficace que vous pouvez utiliser – il s’appelle WPScan.

Il peut récupérer la version WordPress, forcer brutalement le tableau de bord d’administration via un dictionnaire intégré, repérer les répertoires ouverts vulnérables, détecter tous les plugins installés et faire beaucoup d’autres choses intéressantes. Il est également inclus en tant que module séparé dans Kali Linux et d’autres instruments de pentestage populaires. Vous pouvez utiliser son Version Docker Hub si vous le désirez, aussi.

D’où je suis, les commandes et les touches de WPScan pourraient utiliser une certaine simplification. Par exemple, l’outil est livré avec deux modules d’aide: un bref et un détaillé. C’est un peu redondant.

Vous devrez mettre à jour la base de données de WPScan si vous êtes sur le point de l’utiliser pour la première fois. Une fois terminé, vous pouvez exécuter une analyse. Voici les détails importants que le rapport d’analyse comprendra:

  • Version WordPress;
  • répertoires ouverts;
  • vulnérabilités potentielles; et
  • des hyperliens vers des ressources décrivant ces vulnérabilités.

L’outil affiche des points d’exclamation pour signaler les éléments qui ne correspondent pas aux bonnes pratiques de sécurité. Un exemple est un fichier wp-config.php non sécurisé contenant les informations d’identification d’accès à la base de données.

Comme mentionné précédemment, cet utilitaire peut également forcer brutalement le nom d’utilisateur et le mot de passe du panneau d’administration. Ce flux de travail est ultra-rapide car il tire parti du multithreading. En d’autres termes, WPScan ne prendra pas longtemps pour récupérer les informations d’identification faibles. L’accès à la base de données WP est tout aussi simple si l’administrateur a spécifié un mot de passe qui n’est pas assez fort.

Alors que ces détails pourraient suffire à un attaquant pour prendre le contrôle du site moyen, il y a encore pas mal de choses à vérifier. Ceux-ci incluent des plugins WP et d’autres points d’entrée potentiels.

Si le scanner ne détecte aucun plug-in sur le site Web cible, cela ne signifie pas nécessairement qu’aucun plug-in n’est installé. Cela pourrait être le résultat de restrictions inhérentes à un mode d’analyse passive. Pour identifier les plugins plus efficacement, envisagez d’appliquer un mode d’exploration agressif.

De cette façon, le scanner peut localiser avec précision tous les plugins, y compris les plus vulnérables. Sachez que cela prend généralement un temps décent. Si le site est hébergé sur un serveur distant, la vitesse sera plus faible. En règle générale, cela ne prendra pas moins d’une demi-heure.

De plus, utilisez le CVE service de vérification des identifiants des vulnérabilités documentées. Par exemple, vous voudrez peut-être passer en revue les failles de la version PHP que le CMS utilise. Dans le cadre de la recherche, recherchez des Modules Metasploit pour WP et leur donner une chance.

Vérification d’un site Joomla pour les vulnérabilités

Joomla, un autre CMS populaire, peut être sondé pour les faiblesses à l’aide d’un outil appelé JoomScan. Il a été créé par des chercheurs du projet Open Web Application Security (OWASP). Il ressemble à WPScan à bien des égards, sauf qu’il n’a pas autant de fonctionnalités sous le capot. Il est intégré à de nombreux outils de pentesting (test de pénétration) et son manuel d’utilisation ne contient que quelques lignes de texte.

JoomScan prend en charge une méthode agressive d’analyse des composants du site Web. Son rapport d’analyse inclut la version du CMS, les CVEs correspondant aux vulnérabilités détectées, et des liens menant à des exploits connus qui peuvent être déclenchés pour compromettre le site. De plus, il répertorie tous les répertoires du site et un lien hypertexte vers le fichier de configuration si l’administrateur a négligé de le masquer.

Cet outil ne peut pas forcer brutalement le tableau de bord d’administration Joomla. Pour exécuter de telles attaques, vous aurez besoin d’une solution puissante qui fonctionne en tandem avec une série de serveurs proxy. C’est en partie parce que de nombreux sites Joomla utilisent le très efficace Arrêt de force brutale brancher. Il bloque l’adresse IP d’un malfaiteur si le nombre de tentatives d’authentification infructueuses atteint un seuil spécifié.

Si votre site utilise HTTP, ce qui est assez rare de nos jours, essayez d’exécuter le Script Nmap d’évaluer sa résistance aux attaques par force brute.

Vérification de Drupal et d’autres sites CMS

Dans le cas de Drupal et d’autres plates-formes CMS moins populaires, les choses sont plus compliquées. Il n’y a pas de scanner efficace pour auditer ces sites pour les imperfections de sécurité. DroopeScan est peut-être le seul outil automatique utile que vous puissiez utiliser, mais avec la mise en garde qu’il ne récupère pas les détails au-delà des informations de base sur le site.

Vous devrez creuser manuellement le site ou effectuer une recherche sur le Web pour obtenir des données détaillées dont vous pourriez avoir besoin. Les bases de données de vulnérabilité comme les détails CVE ou les exploits de preuve de concept sur GitHub peuvent orienter un pentester dans la bonne direction.

Un exemple de ce que vous pouvez rencontrer est la vulnérabilité CVE-2018-7600, qui affecte les versions Drupal 7.x et 8.x et permet à un pirate de provoquer des redirections et même exécuter du code arbitraire à distance. Un exploit pour ce PoC peut être trouvé ici. Si le scanner ne renvoie rien d’autre que la version CMS d’un site cible, cela peut suffire à exploiter la vulnérabilité tant que la version Drupal est dans la plage vulnérable.

Dans l’ensemble, il n’y a pas de différence fondamentale entre la compromission de plates-formes CMS telles que Drupal et la violation de tout autre service Internet. Des failles de sécurité existent ou n’ont pas encore été découvertes.

Comment vérifier les vulnérabilités d’un site Web codé à la main

La recherche de failles de sécurité dans un site Web codé à la main est plus facile à dire qu’à faire. Vous ne pouvez pas trouver un scanner qui dira: « Cette application Web particulière est obsolète, elle a une vulnérabilité connue, et voici un lien vers l’exploit correspondant plus un tutoriel complet sur la façon de l’utiliser. »

En d’autres termes, vous avez une longue liste de faiblesses potentielles à rechercher sur le site. Des audits comme celui-là reposent sur la méthodologie OWASP ou sur des flux de travail uniques.

Sonder un site Web pour trouver des points d’entrée non sécurisés est une activité profondément créative. Vous n’êtes pas limité à l’utilisation d’un cadre clair ou d’outils spécifiques, surtout s’ils sont open-source. Néanmoins, l’audit de sécurité n’est pas une blague. Il n’est pas surprenant que certaines entreprises essaient d’appliquer des directives pour la mise en œuvre de ces contrôles afin qu’un testeur d’intrusion ne manque rien dans un élan d’imagination.

L’un des meilleurs moyens d’y parvenir est d’utiliser le Guide de test de sécurité Web OWASP. Il s’agit d’un aperçu détaillé des règles de détection des vulnérabilités des applications Web. Ses auteurs ont compilé et décrit les méthodes de test des vulnérabilités qui relèvent des dix catégories les plus courantes (OWASP Top 10).

Si vous avez besoin de vérifier la faisabilité de compromettre un site codé à la main, l’utilisation de l’outil WhatWeb mentionné ci-dessus est un bon point de départ. Gardez à l’esprit, cependant, que vous n’inspectez pas un CMS dans ce scénario – à la place, vous recherchez tous les services intégrés et leurs versions.

Des tonnes de versions de framework sont susceptibles d’être exploitées. Par exemple, des éditions obsolètes d’Apache Tomcat ou de Ruby on Rails peuvent être violées à l’aide d’exploits accessibles au public.

La détermination des versions du langage de programmation peut également vous donner des indices importants. Par exemple, de nouvelles vulnérabilités PHP font surface, et elles peuvent rester non corrigées pendant des semaines après leur découverte.

Votre prochaine étape consiste à tirer parti d’un scanner de sécurité. Même s’il ne parsème pas tous les i et ne traverse pas tous les t, cela pourrait vous donner des informations exploitables sur les conditions de sécurité du site Web examiné. Par exemple, un outil appelé DIRB parcourra les répertoires ouverts et analysera les réponses.

Pour rechercher les faiblesses courantes, pensez à utiliser des scanners à taille unique tels que OWASP ZAP, w3af, skipfish et Nikto. Garder le Boîte à outils de sécurité Mantra à portée de main aussi. Pour analyser en profondeur un site Web à la recherche de vulnérabilités d’application Web, vous pouvez utiliser un outil plus sophistiqué appelé Suite Burp.

Bonnes pratiques de protection

Si votre site Web est construit avec un CMS, la tactique de sécurité la plus efficace consiste à s’abstenir d’installer des plugins douteux, à supprimer les plugins que vous n’utilisez pas activement et à maintenir tous les logiciels à jour. Les concepteurs Web doivent s’en tenir à des pratiques de codage sûres telles que le filtrage des caractères spéciaux dans les requêtes de base de données et la vérification approfondie des scripts trouvés en ligne.

Si vous possédez un site Web personnalisé, assurez-vous d’examiner ses composants Web, de vous débarrasser de ceux qui sont redondants et de garder le reste à jour. Assurez-vous également que le site est soutenu par un support technique approprié.

De plus, vous ne pouvez pas vous tromper avec les tests de pénétration effectués par un professionnel tiers. En parlant de cela, de nombreuses grandes entreprises mettent en place des programmes de prime aux bogues et paient des chapeaux blancs pour identifier les liens faibles dans leurs services en ligne. D’un autre côté, ce type d’activité pourrait être une excellente rampe de lancement pour une brillante carrière de pentesting.

La ligne du bas

Si vous souhaitez trouver des vulnérabilités dans les services Web, vous pouvez affiner vos compétences à l’aide du guide OWASP Top 10. De plus, avant de rechercher des failles de sécurité sur de vrais sites Web, pensez à vous essayer à l’inspection d’environnements de test tels que des machines virtuelles criblées de failles connues.

Comment rechercher des vulnérabilités sur un site Web
Basé à Amsterdam David Balaban est le fondateur de la Confidentialité-PC.com projet et est un chercheur en sécurité informatique avec plus de 17 ans d’expérience dans l’analyse de logiciels malveillants.

— to www.eweek.com


Retour à La Une de Logo Paperblog

A propos de l’auteur


Mycamer Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazines