Nessus : Le scanner de vulnérabilités
Nessus est un scan
de
vulnérabilité, il est utilisé pour
scanner tous
les ordinateurs d'un réseau et énumérer les
failles de sécurité trouvées sur
chacun des
ordinateurs. Ceci afin bien sûr de corriger les failles.
L'installation
Il y a de grandes chances que nessus soit disponible sous forme de
package pour votre distribution.
Nessu a aussi besoin de nmap et OpenSSL
Si Nessus n'est pas disponible sous forme de package, ou si vous
désirez utiliser la toute dernière version de
nessu, vous pouvez télécharger les sources
à partir de ce
lien.
Il suffit ensuite de détarer, un petit coup de ./configure
suivi de make et make install :)
Utilisation &
Configuration
Nessus fonctionne en client / serveur. Vous pouvez bien
entendu lancer la partie serveur et cliente sur la même
machine.
Sachez qu'il existe aussi un client pour Windows. Vous devez donc vous
logguer sur le serveur pour utiliser nessus.
Avant de démarrer la partie serveur et de vous connecter,
vous devez créer un utilisateur à partir de la
commande
nessus-adduser
nessus vous posera des questions avant de créer un user :
Add a new nessusd user
----------------------
Login : Malekal_morte
Authentication (pass/cert) [pass] :
Login password :
Login password (again) :
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that Malekal_morte has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for the rules syntax
Enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rules set)
Login
: Malekal_morte
Password
: ***********
DN
:
Rules
:
Is that ok ? (y/n) [y] y
Dans cette exemple, aucune règle n'est appliquée
(la ligne Rules est vide), vous avez la possibilité
d'appliquer des règles à un user pour l'interdire
de scanner certaines machines du réseau, pour que
l'utilisateur n'ait que le droit de scanner sa machine etc..
Ici l'utilisateur aura le droit de scanner tout le réseau.
L'utilisateur s'authentifiera à l'aide d'un mot de passe
(ligne avec [pass]), si vous spécifiez [cert]
l'authenfication se fera à l'aide d'un certificat ssl. Dans
ce cas là, vous devrez créer un certificat avec
la commande :
nessus-mkcert et
répondre aux diverses questions.
L'utilisateur est alors ajouté.
La partie serveur se lance avec la commande :
nessusd -D
Vous devez ensuite démarrer le
client nessus avec la commande :
nessus
(Le fichier de configuration du serveur sur une debian est
/etc/nessus/nessusd.conf)
La Partie cliente
Le premier onglet permet de se loguer sur le serveur. Vous
devez donc entrer l'utilisateur ainsi que son mot de passe
créé dans la partie
précédente.

La partie plugin vous
permet de choisir les plugins qui seront utilisés par nessus
lors du scan. Ces plugins sont en fait les tests qui seront
réalisés afin de vérifier si la
machine à telle ou telle vulnérabilité.
Certains plugins peuvent faire planter la machine testée,
ces plugins ont une icône avec un triangle.

Cet onglet vous permet de
définir le type de scan utilisé par nessus (par
nmap, SYN scan etc.. ).
Vous pouvez aussi définir l'intervalle de ports qui seront
scannés, par ex: 1-8000 soit donc de 1 à 8000,
une liste de ports séparés par des virgules, par
ex: 21,22,25,80,111 ou scanner seulement les ports utilisés
par des services connus.
Enfin cet onglet
définit la ou les machines qui seront scannées.
Vous pouvez séparer les machines par des virgules,
définir une classe par les netmask ou transférer
une zone DNS à partir du bouton "perform a DNS zone
transfer" à partir du serveur DNS.

Pour démarrer le
scan, cliquez sur le bouton en bas à gauche "Start the
scan". A la fin du scan, vous pouvez visualiser le résultat
machine par machine. Vous avez ensuite la possibilité d'exporter le
rapport en divers formats notamment html afin de le publier sur un
serveur WEB.
voici un exemple de rapport:
Nessus Scan Report
| Nessus Scan Report |
| This report gives details on hosts that were tested
and issues that were found. Please follow the recommended
steps and procedures to eradicate these threats.
| |
| Scan Details |
| Hosts which were alive and responding during test |
4 |
| Number of security holes found |
0 |
| Number of security warnings found |
1 |
|
| Analysis of Host |
| Address of Host |
Port/Service |
Issue regarding Port |
| 212.xx.xx.xx |
telnet (23/tcp) |
No Information |
|
| Security Issues and Fixes: 212.xx.xx.xx |
| Type |
Port |
Issue and Fix |
|
| Analysis of Host |
| Address of Host |
Port/Service |
Issue regarding Port |
| 212.xx.xx.xx |
ftp (21/tcp) |
Security notes found |
| 212.xx.xx.xx |
ssh (22/tcp) |
Security notes found |
| 212.xx.xx.xx |
smtp (25/tcp) |
Security notes found |
| 212.xx.xx.xx |
www (80/tcp) |
Security warning(s) found |
| 212.xx.xx.xx |
https (443/tcp) |
Security notes found |
| 212.xx.xx.xx |
pop3 (110/tcp) |
No Information |
|
| Security Issues and Fixes: 212.xx.xx.xx |
| Type |
Port |
Issue and Fix |
| Informational |
ftp (21/tcp) |
An FTP server is running on this port.
Here is its banner :
220 (vsFTPd 2.0.3)
Nessus ID : 10330 |
| Informational |
ftp (21/tcp) |
Remote FTP server banner :
220 (vsFTPd 2.0.3)
Nessus ID : 10092 |
| Informational |
ssh (22/tcp) |
An ssh server is running on this port
Nessus ID : 10330 |
| Informational |
ssh (22/tcp) |
Remote SSH version : SSH-2.0-OpenSSH_3.8.1p1 Debian-8.sarge.4
Remote SSH supported authentication : publickey,password,keyboard-interactive
Nessus ID : 10267 |
| Informational |
smtp (25/tcp) |
An SMTP server is running on this port
Here is its banner :
220 mail-ext.xxxxxx.com ESMTP
Nessus ID : 10330 |
| Informational |
smtp (25/tcp) |
Remote SMTP server banner :
220 mail-ext.xxxxxx.com ESMTP
This is probably: Qmail
Nessus ID : 10263 |
| Informational |
smtp (25/tcp) |
This server could be fingerprinted as being Qmail 1.0.3
Nessus ID : 11421 |
| Warning |
www (80/tcp) |
We could upload the file '/puttest1.html' onto your web server
This allows an attacker to run arbitrary code on your server, or set a trojan horse
Solution : disable this method
Risk factor : High
BID : 12141
Nessus ID : 10498 |
| Informational |
www (80/tcp) |
A web server is running on this port
Nessus ID : 10330 |
| Informational |
www (80/tcp) |
The remote web server type is :
Apache Tomcat/4.1.31 (HTTP/1.1 Connector)
and the 'ServerTokens' directive is ProductOnly
Apache does not permit to hide the server type.
Nessus ID : 10107 |
| Informational |
www (80/tcp) |
An information leak occurs on Apache based web servers
whenever the UserDir module is enabled. The vulnerability allows an external
attacker to enumerate existing accounts by requesting access to their home
directory and monitoring the response.
Solution:
1) Disable this feature by changing 'UserDir public_html' (or whatever) to
'UserDir disabled'.
Or
2) Use a RedirectMatch rewrite rule under Apache -- this works even if there
is no such entry in the password file, e.g.:
RedirectMatch ^/~(.*)$ http://my-target-webserver.somewhere.org/$1
Or
3) Add into httpd.conf:
ErrorDocument 404 http://localhost/sample.html
ErrorDocument 403 http://localhost/sample.html
(NOTE: You need to use a FQDN inside the URL for it to work properly).
Additional Information:
http://www.securiteam.com/unixfocus/5WP0C1F5FI.html
Risk factor : Low
CVE : CAN-2001-1013
BID : 3335
Nessus ID : 10766 |
| Informational |
www (80/tcp) |
There might be a caching proxy on the way to this web server
Nessus ID : 11040 |
| Informational |
https (443/tcp) |
A SSLv2 server answered on this port
Nessus ID : 10330 |
| Informational |
https (443/tcp) |
A web server is running on this port through SSL
Nessus ID : 10330 |
| Informational |
https (443/tcp) |
The remote web server type is :
Apache-Coyote/1.1
and the 'ServerTokens' directive is ProductOnly
Apache does not permit to hide the server type.
Nessus ID : 10107 |
| Informational |
https (443/tcp) |
An information leak occurs on Apache based web servers
whenever the UserDir module is enabled. The vulnerability allows an external
attacker to enumerate existing accounts by requesting access to their home
directory and monitoring the response.
Solution:
1) Disable this feature by changing 'UserDir public_html' (or whatever) to
'UserDir disabled'.
Or
2) Use a RedirectMatch rewrite rule under Apache -- this works even if there
is no such entry in the password file, e.g.:
RedirectMatch ^/~(.*)$ http://my-target-webserver.somewhere.org/$1
Or
3) Add into httpd.conf:
ErrorDocument 404 http://localhost/sample.html
ErrorDocument 403 http://localhost/sample.html
(NOTE: You need to use a FQDN inside the URL for it to work properly).
Additional Information:
http://www.securiteam.com/unixfocus/5WP0C1F5FI.html
Risk factor : Low
CVE : CAN-2001-1013
BID : 3335
Nessus ID : 10766 |
| Informational |
https (443/tcp) |
There might be a caching proxy on the way to this web server
Nessus ID : 11040 |
| Informational |
https (443/tcp) |
Here is the SSLv2 server certificate:
Certificate:
Data:
Version: 1 (0x0)
Serial Number:
b6:a8:bf:04:53:fc:52:90
Signature Algorithm: md5WithRSAEncryption
Issuer: C=FR, ST=92, L=COLOMBES, O=AGELID, CN=service.asp.xxxxxx.com/emailAddress=webmaster@xxxxxx.com
Validity
Not Before: Jun 14 10:57:21 2005 GMT
Not After : Jun 12 10:57:21 2015 GMT
Subject: C=FR, ST=92, L=COLOMBES, O=AGELID, CN=service.asp.xxxxxx.com/emailAddress=webmaster@xxxxxx.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c1:bd:98:ab:43:e2:16:51:20:e0:76:84:16:20:
30:27:2b:22:06:d7:06:7a:97:2d:14:8b:71:81:b6:
9d:b7:a3:96:42:be:03:82:ba:e8:83:bf:90:6b:9d:
a5:20:5c:70:a3:67:0e:51:ac:52:ef:f7:a3:81:e1:
f8:5b:09:29:fe:9d:a7:39:97:2b:96:55:08:38:f7:
39:1d:0e:2d:0a:e5:37:b1:29:43:1d:00:d7:7f:a0:
28:d8:11:5d:b9:6b:31:f6:9e:b9:d7:cd:9c:b3:c8:
64:b2:a2:84:99:0a:86:c6:32:b3:2c:77:1a:a9:c2:
c3:14:37:8c:99:64:74:81:59
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
53:73:3c:44:6d:b0:3e:d1:24:12:16:66:57:f3:d0:d6:51:38:
14:f3:f2:ac:ab:40:a7:4b:ea:37:ee:5a:95:b2:78:02:f8:f9:
c1:5f:89:bd:d8:5d:cf:1c:65:59:4b:fe:52:43:1d:e6:a7:06:
86:01:83:dd:54:f3:e8:5c:3a:9f:3d:12:45:e7:45:e7:ee:73:
e3:23:1b:c9:41:f3:75:5e:eb:76:d1:fa:05:97:16:33:a4:a2:
1d:bb:d0:51:54:f7:9d:03:29:16:a3:de:a0:64:03:e3:ba:12:
23:01:34:a8:f3:03:14:ad:06:16:db:33:ec:90:a5:cf:5e:45:
10:ea
Here is the list of available SSLv2 ciphers:
RC4-MD5
EXP-RC4-MD5
RC2-CBC-MD5
EXP-RC2-CBC-MD5
DES-CBC-MD5
DES-CBC3-MD5
RC4-64-MD5
The SSLv2 server offers 5 strong ciphers, but also
0 medium strength and 2 weak "export class" ciphers.
The weak/medium ciphers may be chosen by an export-grade
or badly configured client software. They only offer a
limited protection against a brute force attack
Solution: disable those ciphers and upgrade your client
software if necessary.
See http://support.microsoft.com/default.aspx?scid=kb;en-us;216482
or http://httpd.apache.org/docs-2.0/mod/mod_ssl.html#sslciphersuite
This SSLv2 server also accepts SSLv3 connections.
This SSLv2 server also accepts TLSv1 connections.
Nessus ID : 10863 |
|
| Analysis of Host |
| Address of Host |
Port/Service |
Issue regarding Port |
| 212.xx.xx.xx |
irc (6668/tcp) |
Security notes found |
| 212.xx.xx.xx |
ssh (22/tcp) |
No Information |
| 212.xx.xx.xx |
domain (53/tcp) |
No Information |
| 212.xx.xx.xx |
imap2 (143/tcp) |
No Information |
| 212.xx.xx.xx |
irc (6667/tcp) |
No Information |
| 212.xx.xx.xx |
domain (53/udp) |
Security notes found |
|
| Security Issues and Fixes: 212.xx.xx.xx |
| Type |
Port |
Issue and Fix |
| Informational |
irc (6668/tcp) |
An unknown server is running on this port.
If you know what it is, please send this banner to the Nessus team:
00: 4e 4f 54 49 43 45 20 41 55 54 48 20 3a 2a 2a 2a NOTICE AUTH :***
10: 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 79 6f 75 72 Looking up your
20: 20 68 6f 73 74 6e 61 6d 65 2e 2e 2e 0d 0a hostname.....
Nessus ID : 11154 |
| Informational |
domain (53/udp) |
BIND 'NAMED' is an open-source DNS server from ISC.org.
Many proprietary DNS servers are based on BIND source code.
The BIND based NAMED servers (or DNS servers) allow remote users
to query for version and type information. The query of the CHAOS
TXT record 'version.bind', will typically prompt the server to send
the information back to the querying source.
The remote bind version is : 9.2.4
Solution :
Using the 'version' directive in the 'options' section will block
the 'version.bind' query, but it will not log such attempts.
Nessus ID : 10028 |
|
| Analysis of Host |
| Address of Host |
Port/Service |
Issue regarding Port |
| 212.xx.xx.xx |
pptp (1723/tcp) |
No Information |
|
| Security Issues and Fixes: 212.xx.xx.xx |
| Type |
Port |
Issue and Fix |
|
This file was generated by Nessus, the open-sourced security scanner.