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

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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: N ESSUS Un 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 -

Page 3: N ESSUS Un 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

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 -

Page 4: N ESSUS Un 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

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 -

Page 5: N ESSUS Un 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

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 -

Page 6: N ESSUS Un 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

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 -

Page 7: N ESSUS Un 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

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 -

Page 8: N ESSUS Un 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

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 -

Page 9: N ESSUS Un 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

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 -

Page 10: N ESSUS Un 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

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 -

Page 11: N ESSUS Un 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

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 -

Page 12: N ESSUS Un 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

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 -

Page 13: N ESSUS Un 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

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 -

Page 14: N ESSUS Un 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

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 -

Page 15: N ESSUS Un 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

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 -

Page 16: N ESSUS Un 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

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 -

Page 17: N ESSUS Un 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

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 -

Page 18: N ESSUS Un 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

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 -

Page 19: N ESSUS Un 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

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 -

Page 20: N ESSUS Un 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

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 -

Page 21: N ESSUS Un 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é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 -