1 / 21

Nessus

Nessus. Un scanner de vulnérabilité Par Florian ARNOLD XPose IR3 le 24/11/2009. Sommaire. ARNOLD Florian - IR3 -. Présentation Scan distant Scan local Gestion des rapports Gestion des failles de sécurité. Scanner de vulnérabilité. ARNOLD Florian - IR3 -.

lotus
Download Presentation

Nessus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nessus Un scanner de vulnérabilité Par Florian ARNOLD XPose IR3 le 24/11/2009

  2. Sommaire ARNOLD Florian - IR3 - • Présentation • Scan distant • Scan local • Gestion des rapports • Gestion des failles de sécurité Nessus : un scanner de vulnérabilité

  3. Scanner de vulnérabilité ARNOLD Florian - IR3 - • Comment se caractérisent les vulnérabilités? • Services réseaux vulnérables • Accès aux données sensibles • Fautes de configuration (Ex : relais SMTP ouvert) • Patchs de sécurité non appliqués • Mots de passe par défaut • Dénis de service contre la pile TCP/IP • Notion de « vulnerability Assessment » : • Identifier / Classifier des failles de sécurité • Permet de résoudre les problèmes de sécurité • Utilisé par les scanners de vulnérabilité Nessus : un scanner de vulnérabilité

  4. Nessus, c’est quoi? ARNOLD Florian - IR3 - • Produit de Tenable Network Security depuis 1998 • Sous licence propriétaire depuis 2005 • Compatible Microsoft / Unix • Existe en GPL => OpenVAS • Scanner de vulnérabilité • Logiciel client / serveur • Mécanisme de plugins Audit des failles de sécurité Nessus : un scanner de vulnérabilité

  5. Pré-requis ARNOLD Florian - IR3 - • Installation du serveur Nessus • Installation du client Nessus • Mises à jour des vulnérabilités • Création d’un utilisateur Nessus sudo apt-get install nessusd sudo apt-get install nessus Nessus : un scanner de vulnérabilité • sudo nessus-update-plugins sudo nessus-adduser login

  6. Nessusd : le serveur ARNOLD Florian - IR3 - nessusd [-vcphdDLCR] [ -S <ip[,ip,...]> ] S <ip[,ip,...]> : send packets with a source IP of <ip[,ip...]> v : shows version number h : shows this help p <number> : use port number <number> # 1241 by default c <filename> : alternate configuration file to use (default : /etc/nessus/nessusd.conf) D : runs in daemon mode d : dumps the nessusd compilation options q : quiet (do not issue any message to stdout) Nessus : un scanner de vulnérabilité

  7. Nessus : le client ARNOLD Florian - IR3 - • Exemple de « targets-file » : nessus [–c <.rcfile>] -q <host> <port> <user> <pass> <targets-file> <result-file> host : nessusd host port : nessusd host port user : nessus login pass : nessus password targets : file containing the list of targets result : name of the file where nessus will store the results .rcfile : client configuration side (~/.nessusrc by default) Nessus : un scanner de vulnérabilité 192.168.0.1 srvnessus 192.168.0.11 192.168.0.254 193.5.83.0/24

  8. Schéma de fonctionnement Nessus ARNOLD Florian - IR3 - Demande de scan pour les réseaux : 192.168.0.0/24 192.168.10.1 192.168.20.1 Nessus : un scanner de vulnérabilité

  9. Séquence des opérations ARNOLD Florian - IR3 - • Détection des machines vivantes • Scan des ports • Récupération d’information : • Type et version des divers services (scan distant) • Liste des package installés (scan local) • Attaque simple (peu agressives) • Dénis de service (contre les logiciels visés) • Dénis de service contre la machine ARP ping TCP ping ICMP ping Nessus : un scanner de vulnérabilité 9

  10. Scan distant ARNOLD Florian - IR3 - • Avantages : • Test de connexion aux ports [1-15000] (par défaut) • Scanner de port « maison » • Tester la version des services • Scan en parallèle (Gain de temps et de perf) • Plusieurs instances de nessus[d] possibles • Inconvénients : • Faux positifs possibles • Peut surcharger le réseau inutilement Ex. : HTTP 1.1, OpenSSL/0.8.7a, … Nessus : un scanner de vulnérabilité Ex. : Saturation de la table de translation d’un firewall

  11. Scan distant ARNOLD Florian - IR3 - Mono serveur Multi serveur Nessus : un scanner de vulnérabilité

  12. Scan local ARNOLD Florian - IR3 - • Avantages : • Répond au problème de faux positif • Test de vulnérabilité des logiciels locaux • Ex : version de « dll » obsolète • Rend un scan optimal • Authentifications importantes • Utilisation de techniques de Hackers • Ex : attaque par dictionnaire sur « /etc/shadow » • Inconvénients : • Peut figer des applications locales • Nécessite le redémarrage de ces applications Nessus : un scanner de vulnérabilité Ex : ferme de calcul bancaire Natixis tombé à cause du scan local

  13. Scan local ARNOLD Florian - IR3 - • Différents accès possibles (~/.nessusrc) : • Pour Unix : • SSH (login+password) • SSH (clé privée + publique => cryptage asymétrique) • Kerberos (cryptage symétrique) • Pour Microsoft : • NTLM & NTLMv2 (par défaut) • Kerberos Nessus : un scanner de vulnérabilité

  14. Gestion des rapports ARNOLD Florian - IR3 - • Possibilités de générer des HTML, XML, NBE, TXT, TEX, NSR • Fichiers NBE (Nessus Back End Report) par défaut • Séparateur : ‘|’ timestamps|||scan_start|Wed Oct 21 18:05:26 2009| timestamps||192.168.0.2|host_start|Wed Oct 21 18:05:31 2009| results|192.168.0|192.168.0.2|general/tcp|10180|Security Note|<description> results|192.168.0|192.168.0.2|general/icmp|10114|Security Warning|<description> results|192.168.0|192.168.0.2|general/udp|10287|Security Note|<description> results|192.168.0|192.168.0.2|general/tcp|19506|Security Note|<description> results|192.168.0|192.168.0.2|general/tcp|9999|Security Hole|<description> timestamps||192.168.0.2|host_end|Wed Oct 21 18:07:53 2009| timestamps|||scan_end|Wed Oct 21 18:07:53 2009| Nessus : un scanner de vulnérabilité

  15. Utilisation des rapports ARNOLD Florian - IR3 - Nessus : un scanner de vulnérabilité

  16. Sites de référence ARNOLD Florian - IR3 - • Security Focus : http://www.securityfocus.com • CVE : http://cve.mitre.org • National Vulnerability Database : http://web.nvd.nist.gov Nessus : un scanner de vulnérabilité SCAP: Security Content Automation Protocol DRAFT NIST SP 800-126

  17. NASL : c’est quoi? ARNOLD Florian - IR3 - • Nessus Attack Scripting Language • Interpréteur maison orienté sécurité • Utilisé par Nessus pour tester les vulnérabilités • Permet d’écrire ses propres tests de vulnérabilité • Partage des scripts / Indépendant de l’OS • Environ 32 000 scripts NASL présents aujourd’hui Nessus : un scanner de vulnérabilité

  18. NASL : fonctionnement ARNOLD Florian - IR3 - • Test de scripts NASL : nasl [-vhsDL] [-p] [ -t target ] [-T trace_file] [-SX] script_file ... -h : shows this help screen -p : parse only - do not execute the script -D : run the 'description part' only -L : 'lint' the script (extended checks) -t target : Execute the scripts against the target(s) host -T file : Trace actions into the file (or '-' for stderr) -s : 'safe checks‘ enabled -v : shows the version number -X : Run the script in 'authenticated' mode Nessus : un scanner de vulnérabilité nasl –t target_host my_script.nasl

  19. Structure de scripts NASL ARNOLD Florian - IR3 - • # • # Nasl script to be used with nessusd • # • if(description) { • script_name(language1:<name>, [...]) • script_description(language1:<desc>, [...]) script_family(language1:<family>, [...]) • script_cve_id(CVE-ID1[, CVE-ID2, ..., CVE-IDN]); • script_bugtraq_id(ID1[, ID2, ..., IDN]); • script_dependencies(filename1 [,filename2, ..., filenameN]); • … • … • exit(0); • } • # Script code here. • # 'attack' section. • # Nessus : un scanner de vulnérabilité

  20. Exemple de script NASL ARNOLD Florian - IR3 - ability_ftp_overflow.nasl if(description){ script_id(15628); script_cve_id("CVE-2004-1626", "CVE-2004-1627"); script_bugtraq_id(11508); … exit(0); } # Check starts here include("ftp_func.inc"); port = get_kb_item("Services/ftp"); if ( ! port ) port = 21; if ( ! get_port_state(port) ) exit(0); banner = get_ftp_banner(port:port); if ( ! banner ) exit(0); if ( egrep(pattern:"^220 Welcome to Code-Crafters - Ability Server ([0-1]\..*|2\.([0-2]|3[0-4]))[^0-9]", string:banner) ) security_hole(port); Nessus : un scanner de vulnérabilité APPE & STOR command => buffer overflow

  21. ARNOLD Florian - IR3 - Merci de votre attention QUESTIONS ? Nessus : un scanner de vulnérabilité

More Related