Je préfère prévenir tout de suite. Cet article n’est pas écrit pour les gurus de la sécurité mais simplement pour des gens qui s’intéressent un peu à la sécurité et qui voudraient tester leur système d’information. Je sais que j’enfonce des portes en disant ça, mais la valeur ajoutée d’un vrai audit de sécurité ne repose pas dans les outils utilisés mais dans le savoir-faire et l’expérience des auditeurs.
Maintenant que cela est dit, attaquons-nous à ce bon marronnier. Dans cet article je vais uniquement me consacrer à quelques outils d’audit gratuits (parfois même libres) et non aux méthodes (MEHARI, EBIOS, OSSTM, etc). Je vais massivement utiliser les présentations Youtube des différents outils afin de le rendre accessible. Cet article n’énumère qu’une infime partie de tous les outils disponibles pour faire du pentest. Des solutions de LiveCD telles que Backtrack et le plus récent NodeZero Linux contiennent une quantité bien plus importante d’outils d’investigations et d’audit que ce qui est décrit dans cet article.
En matière d’audit, avant toute chose, il faut forcément que je parle du Trio de base que tout bon script kiddie doit connaître :
1 / Nmap pour découvrir le réseau (NmapSi4 est sympa si vous voulez un GUI).
2 / Nessus / OpenVAS pour découvrir les vulnérabilités des machines et des éléments actifs du réseau « découverts par nmap».
3 / Metasploit/Meterpreter pour exploiter les vulnérabilités «découvertes avec nessus» et en faire POC (Proof Of Concept).
Bon c’est une base. Maintenant il faut voir ce que l’on peut trouver comme outils par famille de pentest. Je vais classer ces outils en 3 familles :
- Les outils d’audit Généraliste (le trio de choc)
- Les outils d’audit Réseau et Système (Cisco, Juniper, Virtualisation, etc)
- Les outils d’audit Applicatifs (web, java, etc)
1. Les outils d’audit Généraliste
Comme on l’a vu plus haut un audit de surface se déroule en 3 phases :
1 / Découverte du réseau, des ports en écoute, des fingerprints.
2 / Découverte des vulnérabilités éventuelles des ports en écoute.
3 / Exploitation des vulnérabilités.
1.1 Découverte du réseau : Nmap
L’outil de découverte de réseau par excellence est le bon nmap que l’on ne présente plus. Il est conçu pour détecter les ports ouverts, identifier les services hébergés et obtenir des informations sur le système d’exploitation d’un ordinateur distant.
Le site de nmap.
1.2 Découverte des vulnérabilités : Nessus / OpenVAS
Dans la famille des outils de découverte de vulnérabilités, il existe 2 accessibles sans vraiment de connaissance : Nessus et OpenVAS. OpenVAS étant un fork de Nessus 2, ce dernier étant passé en propriétaire avec la version 3. OpenVAS et Nessus sont donc 2 outils qui vont automatiser un scan puis une recherche de vulnérabilité sur un système d’information afin de générer un rapport des vulnérabilités. Ils se basent sur des bases de données de vulnérabilités connues, mises à jour quotidiennement. Ces outils permettent de donner une idée des éventuelles failles de sécurité. Mais ils restent très généralistes.
1.2.1 : Nessus
Nessus est un scanner de vulnérabilités multiplateforme. A partir de la version 3, Nessus est devenu propriétaire et ne peut être utilisé sans licence que dans le cadre d’une utilisation personnelle. Nessus est le seul outil propriétaire de cet article. Mais étant incontournable je devais le citer.
1.2.2 OpenVAS
Tout comme Nessus, OpenVAS est un scanner de vulnérabilités multiplateforme revendiquant une base de données de 18 000 vulnérabilités.
1.3 Exploitation des vulnérabilités : Metasploit Framework
Le Metasploit Framework est probablement le plus connu des projets sécurité. C’est un outil de développement et d’exécution d’exploits. Metasploit fonctionne ainsi (wikipedia):
- Choisir et configurer un exploit (code permettant de pénétrer un système cible en profitant de l’un de ses bogues ; environ 600 exploits sont disponibles pour les systèmes Windows, Unix/Linux et Mac OS X) ;
- Vérifier si le système cible visée est sensible à l’exploit choisi ;
- Choisir et configurer un payload (code qui s’exécutera après s’être introduit dans la machine cible, par exemple pour avoir accès à un shell distant ou un serveur VNC) ; environ 200 payloads
- Choisir la technique d’encodage pour encoder le payload de sorte que les systèmes de préventions IDS ne le détectent pas ;
- Exécuter l’exploit.
1.4 Récapitulatif
Une vidéo présentant les 3 étapes :
1 / Nmap
2 / Nessus
3 / Metasploit
2. Des outils de pentest Réseau et Système
Ces outils permettent de voir comment se comportent les éléments actifs du réseau (switch, routeur, firewall, IDS, IPS) lors d’une attaque.
2.1 Hyenae
Hyenae est un outil de génération de paquets. Il permet de reproduire des scénarios d’attaque de bas niveau (tel que MITM, DoS, DDoS) et donc de révéler des failles de sécurité potentielles sur le réseau. Hyenae possède aussi un daemon qui peut être configuré pour être massivement déployé afin de simuler des stress tests réseau ou DDOS.
Une vidéo de démonstration (DHCP discover packet flooding).
2.2 UDP Unicorn
UDP Unicorn est un outil de flooding UDP multithreading. Cet utilitaire va permettre de simuler une attaque par flooding UDP de bas niveau, générant pour la machine ciblée la génération d’un grand nombre de paquets ICMP et donc la rendre indisponible. C’est un bon produit pour valider des protections pour lutter contre ce type d’attaque basique sur les réseaux ou pour tester des sondes IDS.
2.3 PyLoris
PyLoris est un outil qui permet de simuler une attaque par DoS en SOCKS, SSL ou HTTP.
2.4 Inundator
Inundator est un outil de flooding d’IDS. Cet outil permet de tester les IDS (surtout SNORT) en émettant un grand nombre de faux positifs afin de masquer la véritable attaque.
2.5 TFTPTheft
TFTPTheft est un ensemble de 2 scripts : 1 pour découvrir les serveurs TFTP et 1 pour télécharger les fichiers contenus. Le protocole TFTP ne possède ni authentification ni chiffrement. TFTPTheft se base sur une liste de noms connus de fichiers contenus dans les switchs et routeurs Cisco.
2.6 Vasto
Vasto est un outil de pentest à destination des environnements virtualisés se basant sur Metasploit.
2.7 THC Hydra
THC Hydra est un outil parallélisé de crack de login compatible avec un grand nombre de protocoles (Telnet, FTP, HTTP, SMB, MYSQL, SSH, Cisco, etc). C’est un outil intéressant pour tester un IDS.
Dans la même famille il existe aussi SSHatter.
2.8 PenTBox
PenTBox est un pack de logiciels de pentest comportant des crackers de mots de passe, un port scanner, et des outils d’attaque DoS.
3. Des outils de pentest applicatifs
3.1 Nikto2
Nikto est un scanner de serveur web qui inclut plus de 6 400 vulnérabilités connues sur plus de 1 000 versions de serveurs. Il permet aussi de vérifier la configuration du serveur, telle que la présence de multiples fichiers d’index, des options de serveurs HTTP trop permissives, et enfin le fingerprint du serveur. Élément sympa de nikto : il peut se mettre à jour automatiquement. Enfin même si nikto n’est pas fait pour être un outil de pénétration invisible, il intègre des fonctionnalités anti-IDS qui lui permettent de se rendre plus discret. C’est donc aussi un outil intéressant pour tester votre IDS.
3.2 Websecurify
Websecurify est un outil multiplateforme d’audit de service web. Il permet d’automatiser des tests :
- SQL Injection
- Local and Remote File Include
- Cross-site Scripting
- Cross-site Request Forgery
- Information Disclosure Problems
- Session Security Problems
- Ainsi que d’autres du TOP 10 d’OWASP
Websecurify Promo from WEBSECURIFY on Vimeo.
3.3 Hexjector
Hexjector est un outil d’injection SQL multiplateforme qui permet d’automatiser la recherche de vulnérabilités SQL.
3.4 RIPS
RIPS est un analyseur de code statique pour PHP qui permet d’analyser le code PHP et de mettre en avant quelques vulnérabilités. Le site de RIPS. Dans la famille des analyseurs de code statique il existe aussi RATS, etc.
3.4 WhatWeb
WhatWeb est un outil de fingerprint destiné aux applications web CMS, Blog, phpBB, OSCommerce, Javascript etc.
3.5 JavaSnoop
JavaSnoop est un outil qui permet d’intercepter les méthodes, d’altérer les données et bien plus encore afin de tester une application Java sur un ordinateur.
3.6 Vulnérabilité DLL Windows : DLLHijack
DLLHijackAuditKit est probablement le meilleur outil pour trouver des vulnérabilités DLL d’application Windows.
4 Divers
4.1 Seccubus
Seccubus est un outil qui tire parti d’OpenVAS et Nessus. Il permet de faire un comparatif de leurs résultats dans le temps afin de faire ressortir uniquement les données intéressantes.
4.2 ProcNetMonitor
ProcNetMonitor est un logiciel qui permet de monitorer l’activité réseau de tous les processus fonctionnant sur un système Windows. Il affiche tous les ports ouverts (TCP/UDP) et toutes les connexions actives pour chaque processus.
Dans la même famille, il existe aussi Process Hacker.
4.3 Social-Engineering Toolkit (SET)
Social-Engineering Toolkit (SET) est un outil qui permet d’aider à tester l’élément humain d’un système d’information. Il permet de simuler une attaque par social engineering. Soit en utilisant Metasploit pour créer un site web frauduleux afin que le payload soit chargé, soit en utilisant un fichier piégé (pdf) ou du mail phishing pour charger le payload. Le but de SET est de tester l’attaque sur le facteur humain souvent négligé.
Ressources :
Et pour finir, des ressources sécurité internationales :
- OSVDB Open Source Vulnerability Database est une base de données indépendante et open source sur les vulnérabilités.
- OWASP Open Web Application Security Project est une association qui diffuse régulièrement des bulletins sur les vulnérabilités les plus exploitées.
- PacketStorm Security est un site regroupant les derniers outils de sécurité, les exploits, les publications et les mises en garde.
- Sec Worm est un forum sur la sécurité hébergé en Inde.
- Inj3ct0r est une base de données d’exploits, de vulnérabilités, de 0day et de shellcodes. C’est l’ancien Milw0rm.
- Exploit DB est une base de données d’exploits créée par Offensive Security.
- PentestIT est un des blogs sécurité les plus actifs.
- Security Tube est un site de tutoriels vidéo sur la sécurité
Ainsi que quelques blogs sécurité français :










Merci pour le link 🙂
A rajouter dans ta liste également, NetCat http://systemf4ilure.blogspot.com/search/label/NetCat
Salut, juste pour te dire que c’etait du bon boulot, et que je vais me faire une joie de découvrir les tools que je ne connaissais pas.
Encore merci
P0k
très bon tutoriel, assez exaustif!
juste un petit hic est ce que quelqu’un a essayé de tester hyenae je n’arrive pas à exécuter la cmd sur la vidéo (error pcap can’t open the specified network)j’ai essayé sur +ieurs pc , tjr la même chose, svp j’ai vraiment besoin d’un outil comme Hyenae
Bonjour, très bon tuto.
A rajouter dans la liste : un outil de surveillance et monitoring sécurité temps réel développé par une société française et basé sur Openvas : http://www.ikare-monitoring.com
A ouai ! Netcat, faut pas oublier le chat hein ! miaou
Salut,
Super bien expliqué. merci