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

Nessus

  • 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

Page 1: Nessus

NESSUSUn scanner de vulnérabilitéPar Florian ARNOLDXPose IR3 le 24/11/2009

1

Page 2: Nessus

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 -

Page 3: Nessus

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 -

Page 4: Nessus

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 -

Page 5: Nessus

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 -

Page 6: Nessus

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 -

Page 7: Nessus

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 -

Page 8: Nessus

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 -

Page 9: Nessus

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 -

Page 10: Nessus

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 -

Page 11: Nessus

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 -

Page 12: Nessus

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 -

Page 13: Nessus

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 -

Page 14: Nessus

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 -

Page 15: Nessus

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 -

Page 16: Nessus

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 -

Page 17: Nessus

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 -

Page 18: Nessus

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 -

Page 19: Nessus

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 -

Page 20: Nessus

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 -

Page 21: Nessus

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 -