Title: Nessus
1Nessus
- Un scanner de vulnérabilité
- Par Florian ARNOLD
- XPose IR3 le 24/11/2009
2Sommaire
ARNOLD Florian - IR3 -
- Présentation
- Scan distant
- Scan local
- Gestion des rapports
- Gestion des failles de sécurité
3Scanner 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é
4Nessus, cest quoi?
ARNOLD Florian - IR3 -
- Produit de Tenable Network Security depuis 1998
- Sous licence propriétaire depuis 2005
- Compatible Microsoft / Unix
- Existe en GPL gt OpenVAS
- Scanner de vulnérabilité
- Logiciel client / serveur
- Mécanisme de plugins
5Pré-requis
ARNOLD Florian - IR3 -
- Installation du serveur Nessus
- Installation du client Nessus
- Mises à jour des vulnérabilités
- Création dun utilisateur Nessus
sudo apt-get install nessusd
sudo apt-get install nessus
sudo nessus-update-plugins
sudo nessus-adduser login
6Nessusd le serveur
ARNOLD Florian - IR3 -
nessusd -vcphdDLCR -S ltip,ip,...gt S
ltip,ip,...gt send packets with a source IP of
ltip,ip...gt v shows version
number h shows this help p
ltnumbergt use port number ltnumbergt
1241 by default c ltfilenamegt 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)
7Nessus le client
ARNOLD Florian - IR3 -
- Exemple de  targets-fileÂ
nessus c lt.rcfilegt -q lthostgt ltportgt ltusergt
ltpassgt lttargets-filegt ltresult-filegt 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)
192.168.0.1 srvnessus 192.168.0.11 192.168.0.254 1
93.5.83.0/24
8Sché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
9Séquence des opérations
ARNOLD Florian - IR3 -
- Détection des machines vivantes
- Scan des ports
- Récupération dinformation
- 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
9
10Scan 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 nessusd possibles
- Inconvénients
- Faux positifs possibles
- Peut surcharger le réseau inutilement
11Scan distant
ARNOLD Florian - IR3 -
12Scan 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
Ex ferme de calcul bancaire Natixis tombé Ã
cause du scan local
13Scan local
ARNOLD Florian - IR3 -
- Différents accès possibles (/.nessusrc)
- Pour Unix
- SSH (loginpassword)
- SSH (clé privée publique gt cryptage
asymétrique) - Kerberos (cryptage symétrique)
- Pour Microsoft
- NTLM NTLMv2 (par défaut)
- Kerberos
14Gestion 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
timestampsscan_startWed Oct 21 180526
2009 timestamps192.168.0.2host_startWed Oct
21 180531 2009 results192.168.0192.168.0.2ge
neral/tcp10180Security Noteltdescriptiongt result
s192.168.0192.168.0.2general/icmp10114Securit
y Warningltdescriptiongt results192.168.0192.168.
0.2general/udp10287Security Noteltdescriptiongt
results192.168.0192.168.0.2general/tcp19506Se
curity Noteltdescriptiongt results192.168.0192.16
8.0.2general/tcp9999Security
Holeltdescriptiongt timestamps192.168.0.2host_en
dWed Oct 21 180753 2009 timestampsscan_end
Wed Oct 21 180753 2009
15Utilisation des rapports
ARNOLD Florian - IR3 -
16Sites 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
SCAP Security Content Automation Protocol DRAFT
NIST SP 800-126
17NASL cest 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 lOS
- Environ 32 000 scripts NASL présents aujourdhui
18NASL fonctionnement
ARNOLD Florian - IR3 -
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
19Structure de scripts NASL
ARNOLD Florian - IR3 -
Nasl script to be used with
nessusd if(description) script_name(language1
ltnamegt, ...) script_description(language1ltdescgt
, ...) script_family(language1ltfamilygt,
...) 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.
20Exemple de script NASL
ARNOLD Florian - IR3 -
21ARNOLD Florian - IR3 -
Merci de votre attention QUESTIONS ?