N ESSUS Un scanner de vulnérabilité Par Florian ARNOLD XPose IR3 le 24/11/2009 1.
-
Upload
mauger-becker -
Category
Documents
-
view
110 -
download
3
Transcript of N ESSUS Un scanner de vulnérabilité Par Florian ARNOLD XPose IR3 le 24/11/2009 1.
NESSUSUn scanner de vulnérabilitéPar Florian ARNOLD
XPose IR3 le 24/11/2009
1
Présentation
Scan distant
Scan localGestion 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
/20
09
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
3
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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 plugins4
24
/11
/20
09
Nessu
s : un sca
nner d
e
vuln
éra
bilité
Audit des failles de sécurité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
5
Nessu
s : un sca
nner d
e
vuln
éra
bilité
sudo apt-get install nessusd
sudo apt-get install nessus
sudo nessus-update-plugins
sudo nessus-adduser login
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
NESSUSD : LE SERVEUR
24
/11
/20
09
6
Nessu
s : un sca
nner d
e
vuln
éra
bilité
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)
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
NESSUS : LE CLIENT
Exemple de « targets-file » :
24
/11
/20
09
7
Nessu
s : un sca
nner d
e
vuln
éra
bilité
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
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
SCHÉMA DE FONCTIONNEMENT NESSUS
24
/11
/20
09
8
Nessu
s : un sca
nner d
e
vuln
éra
bilité
Demande de scan pour les réseaux : 192.168.0.0/24192.168.10.1192.168.20.1
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
9
Nessu
s : un sca
nner d
e
vuln
éra
bilité
ARP pingTCP pingICMP ping
9
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
10
Nessu
s : un sca
nner d
e
vuln
éra
bilité
Ex. : HTTP 1.1, OpenSSL/0.8.7a, …
Ex. : Saturation de la table de translation d’un firewall
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
SCAN DISTANT
Mono serveur Multi serveur
11
24
/11
/20
09
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
12
Nessu
s : un sca
nner d
e
vuln
éra
bilité
Ex : ferme de calcul bancaire Natixis tombé à cause du scan local
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
13
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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 RAPPORTS
24
/11
/20
09
14
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
UTILISATION DES RAPPORTS
24
/11
/20
09
15
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
16
Nessu
s : un sca
nner d
e
vuln
éra
bilité
SCAP: Security Content Automation ProtocolDRAFT NIST SP 800-126
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion 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
/20
09
17
Nessu
s : un sca
nner d
e
vuln
éra
bilité
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
NASL : FONCTIONNEMENT
Test de scripts NASL :
24
/11
/20
09
18
Nessu
s : un sca
nner d
e
vuln
éra
bilité
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
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
STRUCTURE DE SCRIPTS NASL
24
/11
/20
09
19
Nessu
s : un sca
nner d
e
vuln
éra
bilité
## 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.#
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités
EXEMPLE DE SCRIPT NASL
24
/11
/20
09
20
Nessu
s : un sca
nner d
e
vuln
éra
bilité
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
AR
NO
LD F
loria
n - IR
3 -
Présentation
Scan distant
Scan localGestion des
rapportsGestion des
vulnérabilités2
4/1
1/2
00
9
21
Nessu
s : un sca
nner d
e
vuln
éra
bilité
MERCI DE VOTRE ATTENTION
QUESTIONS ?
AR
NO
LD F
loria
n - IR
3 -