Quelques outils de pentest et d’audit sécurité

hacker_symbolJe 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.

Le site de Nessus.

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é.

Le site de OpenVAS.

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):

  1. 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) ;
  2. Vérifier si le système cible visée est sensible à l’exploit choisi ;
  3. 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
  4. Choisir la technique d’encodage pour encoder le payload de sorte que les systèmes de préventions IDS ne le détectent pas ;
  5. Exécuter l’exploit.

Le site de metasploit.

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.

Le site d’Hyenae ici.

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.

Le site de UDP Unicorn.

2.3 PyLoris

PyLoris est un outils qui permet de simuler une attaque par DoS en SOCKS, SSL ou HTTP.

Le site de Pyloris.

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.

Le site de Inundator.

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.

Le site de TFTPTheft.

2.6 Vasto

Vasto est un outils de pentest à destination des environnement virtualisé se basant sur Metasploit.

Le site de Vasto ici.

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.

Le site de TCH Hydra.

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.

Le site de PenTBox.

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.

Le site de Nikto2.

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.

Le site de Websecurify.

3.3 Hexjector

Hexjector est un outil d’injection SQL multiplateforme qui permet d’automatiser la recherche de vulnérabilité SQL.

Le site d’Hexjector ici.

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.

Le site de WhatWeb ici.

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.

Le site de JavaSnoop.

3.6 Vulnérabilité DLL Windows : DLLHijack

DLLHijackAuditKit est probablement le meilleur outils pour trouver des vulnérabilité DLL d’application Windows.

Le site de DLLHijackAuditKit.

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.

Le site de seccubus.

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.

Le site de ProcNetMonitor.

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é.

Le site de SET.

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 :