Upload
netis
View
29
Download
2
Embed Size (px)
DESCRIPTION
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 -. - PowerPoint PPT Presentation
Citation preview
NESSUSUn scanner de vulnérabilitéPar Florian ARNOLDXPose IR3 le 24/11/2009
1
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SOMMAIRE Présentation
Scan distant
Scan local
Gestion des rapports
Gestion des failles de sécurité 2
24/11/2009Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SCANNER DE VULNÉRABILITÉ 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é
24/11/2009
3
Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
NESSUS, C’EST QUOI? 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
4
24/11/2009Nessus : un scanner de vulnérabilité
Audit des failles de sécurité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
PRÉ-REQUIS Installation du serveur Nessus
Installation du client Nessus
Mises à jour des vulnérabilités
Création d’un utilisateur Nessus
24/11/2009
5
Nessus : un scanner de vulnérabilité
sudo apt-get install nessusd
sudo apt-get install nessus
sudo nessus-update-plugins
sudo nessus-adduser login
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
NESSUSD : LE SERVEUR24/11/2009
6
Nessus : un scanner de vulnérabilité
nessusd [-vcphdDLCR] [ -S <ip[,ip,...]> ]
S <ip[,ip,...]> : send packets with a source IP of <ip[,ip...]>v : shows version numberh : shows this helpp <number> : use port number <number> # 1241 by defaultc <filename> : alternate configuration file to use
(default : /etc/nessus/nessusd.conf)D : runs in daemon moded : dumps the nessusd compilation optionsq : quiet (do not issue any message to stdout)
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
NESSUS : LE CLIENT
Exemple de « targets-file » :
24/11/2009
7
Nessus : un scanner de vulnérabilité
nessus [–c <.rcfile>] -q <host> <port> <user> <pass> <targets-file> <result-file>
host : nessusd hostport : nessusd host portuser : nessus loginpass : nessus passwordtargets : file containing the list of targetsresult : name of the file where nessus will store the results.rcfile : client configuration side (~/.nessusrc by default)
192.168.0.1srvnessus192.168.0.11192.168.0.254193.5.83.0/24
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilitésSCHÉMA DE FONCTIONNEMENT NESSUS
24/11/2009
8
Nessus : un scanner de vulnérabilité
Demande de scan pour les réseaux : 192.168.0.0/24192.168.10.1192.168.20.1
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SÉQUENCE DES OPÉRATIONS 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
24/11/2009
9
Nessus : un scanner de vulnérabilité
ARP pingTCP pingICMP ping
9
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SCAN DISTANT 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
24/11/2009
10
Nessus : un scanner de vulnérabilité
Ex. : HTTP 1.1, OpenSSL/0.8.7a, …
Ex. : Saturation de la table de translation d’un firewall
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SCAN DISTANTMono serveur Multi serveur
11
24/11/2009Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SCAN LOCAL 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
24/11/2009
12
Nessus : un scanner de vulnérabilité
Ex : ferme de calcul bancaire Natixis tombé à cause du scan local
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SCAN LOCAL 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
24/11/2009
13
Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
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|
GESTION DES RAPPORTS24/11/2009
14
Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
UTILISATION DES RAPPORTS24/11/2009
15
Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
SITES DE RÉFÉRENCE
Security Focus : http://www.securityfocus.com
CVE : http://cve.mitre.org
National Vulnerability Database : http://web.nvd.nist.gov
24/11/2009
16
Nessus : un scanner de vulnérabilité
SCAP: Security Content Automation ProtocolDRAFT NIST SP 800-126
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
NASL : C’EST QUOI? 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
24/11/2009
17
Nessus : un scanner de vulnérabilité
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
NASL : FONCTIONNEMENT
Test de scripts NASL :
24/11/2009
18
Nessus : un scanner de vulnérabilité
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
nasl –t target_host my_script.nasl
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
STRUCTURE DE SCRIPTS NASL24/11/2009
19
Nessus : un scanner de vulnérabilité
## 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.#
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités
EXEMPLE DE SCRIPT NASL24/11/2009
20
Nessus : un scanner de vulnérabilité
if(description){script_id(15628); script_cve_id("CVE-2004-1626", "CVE-2004-1627");
script_bugtraq_id(11508);…exit(0);
}
# Check starts hereinclude("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);
ability_ftp_overflow.nasl
APPE & STOR command => buffer overflow
ARNOLD Florian - IR3 -
Présentation
Scan distant Scan local Gestion des
rapportsGestion des
vulnérabilités24/11/2009
21
Nessus : un scanner de vulnérabilité
MERCI DE VOTRE ATTENTION
QUESTIONS ?
ARNOLD Florian - IR3 -