Je préfère prévenir tout de suite. Cet article n’est pas écrit pour les guru 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é d’un vrai audit de sécurité ne repose pas dans les outils utilisé mais dans le savoir faire et l’expérience des auditeurs.
Maintenant que cela est dit, attaquons nous à se bon marronnier. Dans cet article je vais uniquement me consacrer à quelques outils d’audit gratuit (parfois même libre) 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 disponible pour faire du pentest. Des solutions de LiveCD tel 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 Kiddies doit connaitre :
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 fingerprint.
2 / Découverte des vulnérabilités éventuelle 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 référence et 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 Nessus2 ce dernier étant passer 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é. Ils se basent sur des bases de données de vulnérabilité connus, mise à jour quotidiennement. Ces outils permettent de donner une idée des éventuelles failles de sécurité. Mais ils restent très généraliste.
1.2.1 : Nessus
Nessus est un scanner de vulnérabilité 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 personnel. 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é multiplateforme revendiquant une base de données de 18000 vulnérabilité.
1.3 Exploitation des vulnérabilités : Metasploit Framework
Le Metasploit Framework est probablement le plus connus 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 ; environs 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 comporte les éléments actifs du réseau (switch, routeur, firewall, IDS, IPS) lors du attaque.
2.1 Hyenae
Hyenae est un outils de génération de packet. Il permet de reproduire des scénarios d’attaque de bas niveau (tel que MITM, DoS, DDoS) et donc de révélé des failles de sécurité potentiel sur le réseau. Hyenae possède aussi daemon qui peut être configuré pour être massivement déployé afin de simuler des stress test réseau ou DDOS.
Une video 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 un attaque par flooding UDP de bas niveau, générant pour la machine cibler une génération d’un grand nombre de paquet ICMP et donc la rendre indisponible. C’est un bon produit pour valider des protections pour luter contre ce type d’attaque basique sur les réseaux ou pour tester des sondes IDS.
2.3 PyLoris
PyLoris est un outils qui permet de simuler une attaque par DoS en SOCKS, SSL ou HTTP.
2.4 Inundator
Inundator est outil de flooding d’IDS. Cet outil permet de tester les IDS (surtout SNORT) en émettant un grand nombre de faux positif 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 contenu. Le protocole TFTP ne possédant ni d’authentification ni de chiffrement. TFTPTheft se base sur une liste de nom connu de fichier contenu dans les switch et routeur Cisco.
2.6 Vasto
Vasto est un outils de pentest à destination des environnement virtualisé se basant sur Metasploit.
2.7 THC Hydra
THC Hydra est un outils parralellisé de crack de login compatible avec un grand nombre de protocole (Telnet, FTP, HTTP, SMB, MYSQL, SSH, Cisco, etc). C’est un outils intéressant pour tester un IDS.
Dans la même famille il existe aussi SSHatter.
2.8 PenTBox
PenTBox est un paque de logiciel de pentest comportant des cracker de password, un port scanner, et des outils d’attaque DoS.
3. Des outils de pentest applicatifs
3.1 Nikto2
Nikto est scanner de serveur web, qui inclus plus de 6400 vulnérabilité connu sur plus de 1000 version de serveurs. Il permet aussi de vérifier la configuration du serveur, tel que la présence de multiple fichier d’index, des options de serveurs http trop permissive, et enfin le fingerprint du serveur. Element sympa de nikto c’est qu’il peut se mettre à jour automatiquement. Enfin même si nikto n’est pas fait pour un outil de pénétration invisible, il intègre des fonctionnalité anti-IDS qui lui permette de se rendre plus discret. C’est donc aussi un outils intéressant pour tester votre IDS.
3.2 Websecurify
Websecurify est un outil multiplateforme d’audit de service web. Il permet d’automatiser des test :
- 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é SQL.
3.4 RIPS
RIPS est 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 analyseur de code statique il existe aussi RATS, etc.
3.4 WhatWeb
WhatWeb est un outils de Fingerprint destiné aux applications web CMS, Blog, phpBB, OSCommerce, Javascript etc.
3.5 JavaSnoop
JavcaSnoop est un outil qui permet d’intercepter les méthode, d’alterer les donnée et bien encore afin de tester une application Java sur un ordinateur.
3.6 Vulnérabilité DLL Windows : DLLHijack
DLLHijackAuditKit est probablement le meilleur outils pour trouver des vulnérabilité DLL d’application Windows.
4 Divers
4.1 Seccubus
Seccubus est un outils qui tire partis de OpenVAS et Nessus. Il permet de faire un comparatif de leurs résultat dans le temps afin de faire ressortir uniquement les données intéressantes.
4.2 ProcNetMonitor
ProcNetMonitor est 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 connections active 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 faudruleux afin que le payload soit chargé, soit en utilisant un fichier bugé (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és internationale :
- OSVDB Open Source Vulnerability Database est une base de donnée indépendante et opensource sur les vulnérabilités.
- OSWAP Open Web Application Security Project est une association qui diffuse régulièrement des bulletins sur les vulnérabilités les plus utilisés.
- PacketStorm Security est un site regroupant les derniers outils de sécurité, les exploits, les papiers et mise en garde.
- Sec Worm est un forum sur la sécurité hébergé en Inde.
- Inj3ct0r est une base de donnée d’exploit, de vulnérabilités, de 0day et de shellcode. C’est l’ancien Milw0rm.
- Exploit DB est une base de donnée d’exploit créer par Offensive Sécurity.
- PentestIT est un des blog sécurité les plus actifs.
- Security Tube est un site de tutorial vidéo sur la sécurité
Ainsi que quelques blog 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