- Introduction
- Types de vulnérabilités
- Taxonomie des vulnérabilités
- Analyse des vulnérabilités avec Kali Linux
- Analyse de la vulnérabilité des applications Web
- Nikto2
- OWASP ZAP
- Nessus
- Analyse des vulnérabilités réseau
- Analyse CISCO
- Analyse SNMP
- Évaluation des bases de données dans Kali Linux
- SQLMap
- Conclusion
Introduction
La cartographie des vulnérabilités est une activité réalisée pour identifier les failles de sécurité pouvant entraîner la compromission d’un système. Parfois, les chercheurs utiliseront le terme « évaluation de la vulnérabilité » au lieu de « cartographie de la vulnérabilité ». »Ils sont cependant la même chose.
Dans le pentesting et le piratage malveillant, la cartographie des vulnérabilités est une étape qui suit une fois que le testeur ou le pirate informatique a correctement effectué la collecte d’informations et l’énumération du réseau ou de l’hôte cible.
Dans cet article, nous examinerons comment divers outils du système d’exploitation Linux Kali peuvent être implémentés pour découvrir des vulnérabilités qui pourraient conduire à compromettre des cibles et ainsi entraîner une violation de la confidentialité, de l’intégrité et de la disponibilité d’un système d’entreprise par le pirate ou le testeur de pénétration.
Types de vulnérabilités
Aujourd’hui, il existe trois grandes classes de vulnérabilités à partir desquelles une distinction claire peut être faite. Les trois classes sont:
- Vulnérabilités de conception: Ceux-ci seront découverts via des faiblesses résultant des spécifications logicielles. Ce sont de loin les plus difficiles à résoudre, car ils nécessitent l’application de correctifs en fonction des exigences de sécurité données par les vulnérabilités d’implémentation pentester
- : Chaque fois que des problèmes dans le code logiciel sont découverts, ils sont classés ici.
- Vulnérabilités opérationnelles : Ces vulnérabilités résulteront d’une configuration et d’un déploiement incorrects du logiciel.
Les classes de vulnérabilités ci-dessus se produiront localement ou à distance dans l’environnement cible.
Les vulnérabilités locales nécessiteront que le testeur ou l’attaquant ait un accès local au système cible afin de les exploiter. Un bon exemple de ceci est le CVE-2013-0232, autrement connu sous le nom de GP Trap Handler nt!KiTrap0D, qui permettrait à un attaquant ou un testeur ayant accès à une machine Windows Server 2008 vulnérable d’obtenir un accès privilégié accru.
Les vulnérabilités distantes permettent une exploitation sans accès physique au système cible. Ceux-ci peuvent se produire à partir d’Internet ou du réseau sur lequel se trouve le système vulnérable. Un exemple courant de ceci est la vulnérabilité du service Windows Server MS08-067, qui affecte les systèmes Windows XP.
Taxonomie des vulnérabilités
Au fur et à mesure que le nombre de technologies augmente quotidiennement, de nombreuses tentatives ont été faites pour concevoir une taxonomie qui pourrait mieux répondre aux vulnérabilités couramment identifiables. Malgré ces efforts, il n’est toujours pas possible de rendre compte de toutes les erreurs de codage qui peuvent être commises.
Les organisations ont mis au point les normes suivantes qui ont même été implémentées dans de nombreux outils pouvant être utilisés lors de la recherche de vulnérabilités.
Taxonomie de sécurité | Lien de ressource |
Énumération des Faiblesses Communes | http://cwe.mitre.org/data/index.html |
Haut de gamme OWASP 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
Classification des Menaces WASC | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
Base de Données Nationale sur les Vulnérabilités | https://nvd.nist.gov/vuln |
Base de données de piratage Google (GHDB) | https://www.exploit-db.com/google-hacking-database/ |
Analyse des vulnérabilités avec Kali Linux
Kali Linux est livré avec de nombreux outils pour le testeur de pénétration. Certains de ces outils peuvent être utilisés efficacement lors d’un engagement pentest pour effectuer une cartographie des vulnérabilités dans les trois classes discutées ci-dessus.
Analyse de la vulnérabilité des applications Web
Les applications Web sont générées quotidiennement, mais la plupart des programmeurs n’observent pas les principes de codage sécurisé qui doivent être suivis lors de la conception des applications. Les outils suivants permettent à un développeur ou à un pentester de découvrir des vulnérabilités qui relèvent de la documentation disponible dans le tableau ci-dessus.
Nikto2
Nikto2 est un scanner de vulnérabilité d’application Web très simple construit sur LibWhisker2, ce qui signifie qu’il possède de nombreuses capacités. Par exemple, il peut être déployé multiplateforme, il prend en charge SSL, il peut gérer l’authentification de l’hôte via NTLM et peut même gérer l’évasion des identifiants.
Lancer Nikto contre un hôte comme indiqué ci-dessus avec la commande « nikto-h » renverra des résultats qui varieront en fonction de la vulnérabilité de la cible. Vous pouvez être sûr que Nikto détectera les implémentations de serveur obsolètes, les fichiers d’installation par défaut, les erreurs de configuration du serveur et de nombreux autres problèmes de sécurité. Vous pouvez également spécifier le port en ajoutant « -p » après avoir spécifié la cible afin de trouver les problèmes sur les ports souhaités.
OWASP ZAP
Le proxy d’attaque Zed OWASP (ZAP) est créé par le projet OWASP, l’une des parties du tableau couvert ci-dessus. Il s’agit d’un outil proxy d’application Web open source et offre de bonnes fonctionnalités telles que l’analyse des vulnérabilités des applications Web.
Sous Kali Linux, il vous suffit de le démarrer en émettant la commande ci-dessous dans le terminal:
#owasp-zap
L’écran principal vous sera présenté. Effectuer une analyse est cependant assez simple. Vous émettrez la cible à analyser comme indiqué ci-dessous:
Une fois que vous appuyez sur le bouton « Attaque », la numérisation commencera et vous verrez une activité dans la section ci-dessous sur votre écran.
OWASP ZAP explore le site Web cible à la recherche de vulnérabilités. Il identifiera également certaines erreurs de configuration qui apparaîtront dans l’onglet Alertes, alors gardez également un œil sur cet onglet. OWASP ZAP vous permettra de réduire les liens affectés, comme indiqué ci-dessous:
Un concurrent commercial de ZAP est BurpSuite, qui offre des fonctionnalités similaires avec sa version gratuite mais beaucoup plus dans sa version commerciale.
Nessus
Nessus vous fournira une analyse automatisée des vulnérabilités des applications Web pour les situations où vous êtes limité dans le temps et avez besoin d’une évaluation rapide de la vulnérabilité ou d’un pentest.
Nessus peut être exécuté gratuitement avec des capacités limitées, ou comme un outil commercial avec beaucoup plus de capacités qui peuvent être utiles — en particulier pour les grandes équipes et les engagements pentest.
Pour effectuer une analyse de vulnérabilité, vous devez d’abord installer la version gratuite de Nessus, puis naviguer dans votre navigateur jusqu’à https://localhost:8834. Voir ci-dessous:
Vous cliquez ensuite sur le bouton « Nouvelle analyse » ci-dessus et sélectionnez le type d’analyse à effectuer parmi les nombreux modèles disponibles.
Les modèles indiqués ci-dessus seront limités dans la version gratuite de Nessus si vous l’exécutez, mais sont beaucoup plus nombreux et dotés de capacités dans la version commerciale.
Vous émettriez alors vos cibles. Nessus est capable d’effectuer des analyses sur plusieurs cibles séparées par des virgules ou émises au format CIDR.
Une fois que vous avez terminé de remplir les champs obligatoires, l’écran ci-dessus vous sera présenté. Cliquez sur l’icône « Lecture » pour lancer votre analyse.
Les vulnérabilités seront présentées de la manière indiquée dans l’écran ci-dessus, résumant la gravité et les cas de problèmes découverts.
Nessus vous permet même d’explorer des hôtes et des vulnérabilités spécifiques et d’obtenir plus d’informations sur la façon dont ils ont été découverts, ainsi que des recommandations sur la façon de corriger les risques identifiés.
Analyse des vulnérabilités réseau
Kali Linux fournit également des outils capables d’analyser des périphériques réseau tels que des bases de données, des routeurs, des commutateurs et des protocoles tels que SNMP et SMB. Il existe de nombreux outils, mais nous examinerons les plus courants.
Analyse CISCO
Les périphériques CISCO sont sensibles à un certain nombre de vulnérabilités qui peuvent être évaluées avec quelques outils. Lors de l’audit des routeurs, Kali Linux est livré avec l’outil d’audit Cisco (CAT), qui peut aider un attaquant ou un testeur de pénétration à identifier des vulnérabilités allant des chaînes de communauté SNMP aux anciens bogues CISCO et aux informations d’identification par défaut pouvant être utilisées pour obtenir un accès illégal au routeur.
Pour tester notre hôte sur Kali, nous avons exécuté la commande ci-dessous:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
CAT procède à l’audit des informations d’identification par défaut et des chaînes de communauté SNMP comme indiqué ci-dessus.
Analyse SNMP
Kali Linux permet également aux attaquants et aux pentesters d’obtenir des informations auprès des hôtes avec le protocole SNMP (Simple Network Management Protocol). Cela peut être extrêmement vital pour préparer d’autres attaques ciblant l’hôte.
Sur notre machine attaquante, nous avons exécuté la commande ci-dessous et avons pu obtenir une tonne d’informations sur notre cible.
Comme on peut le voir ci-dessus, nous avons pu identifier les informations de la carte Ethernet, la durée de connexion du système via cette carte, le nom d’hôte et, comme indiqué ci-dessous, le nombre d’interfaces réseau avec leurs informations respectives.
Évaluation des bases de données dans Kali Linux
Kali Linux permet de tester les bases de données MSSQL de MySQL, Oracle et Microsoft pour détecter des vulnérabilités telles que l’injection SQL. Les tests sur les stratégies de mot de passe et les vérifications de mot de passe par défaut sont également pris en charge par certains outils.
SQLMap
SQLMap est un outil soigné de Kali Linux capable d’effectuer divers tests d’injection SQL sur quelques bases de données telles que PostgreSQL, MSSQL, Oracle et MySQL. Il est capable de détecter et d’exploiter les défauts détectés, ce qui en fait un outil très courant pour les attaquants et les testeurs. SQLMap peut rapidement vous aider à mener les attaques suivantes, qui autrement seraient difficiles et chronophages:
- Injection SQL aveugle inférentielle
- Injection SQL de requête SYNDICALE
- Injection SQL de requête empilée
- Injection SQL aveugle basée sur le temps
Sur notre système Linux Kali, nous avons exécuté la commande ci-dessous pour tenter de découvrir des informations sur notre base de données sous-jacente dans notre système cible.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
Le résultat ci-dessus nous montre les bases de données disponibles et nous permet également de connaître les paramètres injectables dans notre application Web à l’URL donnée.
Pour trouver le contenu de la base de données « owasp10 », nous émettrons la commande ci-dessous:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
L’option -D spécifie la base de données à utiliser et -tables demande à SQLMap de lister les tables disponibles.
SQLMap offre beaucoup plus de fonctionnalités qui ne seront pas couvertes, mais que vous devriez vérifier dans la documentation d’aide avec la commande « sqlmap-h ».
D’autres outils existent également, tels que SQLNinja, dont les fonctionnalités sont similaires à SQLMap.
Conclusion
Après avoir cartographié les vulnérabilités à l’aide des outils disponibles discutés ci-dessus, vous pouvez maintenant passer à la phase suivante qui lors d’un test de pénétration ou d’une attaque serait l’exploitation. Cependant, vous ne pouvez être intéressé que par l’énumération des vulnérabilités pour une évaluation de la vulnérabilité. Dans ce cas, les outils ci-dessus fonctionneront.