FUNIX

Mettez un manchot dans votre PC


Encourager FUNIX

La consultation du site est totalement libre et gratuite, sans publicités. Les dons sont néanmoins appréciés pour payer l'hébergement et encourager son auteur


Tester la vulnérabilité de son réseau
PrésentationAvertissement |   NmapPrésentation, Installation   ,  SyntaxeQuelques exemples   , Le front end nmap   )   |  OpenVAS ( PrésentationInstallation   , Utilisation)  ]

Dernière modification 27 décembre 2016

Auditer la sécurité de son réseau avec un scanner de vulnérabilités

Sécurité


Présentation

Le but de cette page est de vous présenter  de outils qui vous permettront de tester la sécurisation des machines de votre réseau, ils vous révéleront vos trous de sécurité et vous avertiront des problèmes potentiels, à partir de là libre à vous de "boucher" les trous en question et d'upgrader certains programmes présentant quelques déficiences de sécurité. Ces outils procèdent en scannant votre machine, en testant tous les ports ouverts notamment et en testant un grand nombre de trous de sécurité connus.
Les outils présentés sont nmap qui est un puissant "scanneur" et OpenVAS qui est un fork libre de nessus qui est devenu propriétaire.

AVERTISSEMENT

Je vous déconseille évidemment fortement de tenter de scanner une machine ne vous appartenant pas se trouvant sur le net, le scan sera considéré comme une attaque, vous vous exposez à des problèmes en proportion avec la machine visitée.
 
 
 

Nmap

Présentation

Nmap est un puissant outil qui permet de scanner les ports, il a pour but de tester la sécurisation des postes de vos réseau, vous devez vous en servir uniquement pour votre réseau, si vous tentez de scanner quelqu'un d'autres sur le réseau internet, sachez que ce sera considéré comme une attaque, c'est donc à vos risques et périls...
Pour info nmap se trouve maintenant intégré dans la plupart des distributions, je vous présenterai  l'installation avec le tarball avec la dernière version stable, l'installation avec les rpm de la Mageia se réduit à sa plus simple expression. L'utilisation de nmap que vous l'ayez installé avec le rpm ou avec le tarball reste la même.
 
 
 

Installation avec le tarball

Vous pouvez trouver nmap sur le site www.insecure.org/nmap La dernière version stable est la 7.40 qu'on peut récupérer sous forme de tarball. Pour décompresser le tarball rien de plus simple.

tar xvfj nmap-7.40.tar.bz2

Cela va créer dans le répertoire courant un répertoire nmap-7.40. Au préalable vous veillerez à installer si ce n'est déjà fait sur votre Mandrake  les packages suivants: byacc, glib-devel, gtk+-devel, flex et libpcap

Puis la commande classique:

./configure

Tapez maintenant

make

Puis en tant que root

make install

Cela va installer les exécutables nmap et nmapfe sous /usr/local/bin, et d'autres fichiers sous /usr/local/share/nmap, si ça ne vous convient pas, vous pouvez changer les chemins en tapant configure avec les arguments qui vont bien (./configure --help pour la syntaxe).
 
 
 

Syntaxe

La syntaxe est classique:

nmap [options éventuelles] cible

Les options principales sont:

   -sT scanning des ports TCP ouverts, on ouvre une connexion sur tous les ports ouverts, toutes les connexion sont visibles sur la machine cible (dans les fichiers de log notamment),
   -sS scanning des ports TCP, on envoit un message SYN pour dire qu'on va ouvrir une connexion TCP puis on attend la réponse, après réponse on sait que le port est ouvert, l'avantage de cette option est que l'action n'est pas logué par la cible,
   -sF,-sX,-sN Stealth FIN, Xmas, ou Null scan (marche que sous UNIX) scan des ports plus discrets (voir man nmap pour plus de détails)
   -sP équivalent à ping, pour voir si la cible est "alive", ne fait pas de scan,
   -sU scanning des ports UDP ouverts (plutôt lent),
   -b <ftp_relay_host> ftp "bounce attack" port scan, en gros ça exploite un trou de sécurité sur certain proxy, je vous en dirais pas plus (voir le man).

D'autres options intéressantes (liste non exhaustive):

   -O permet de connaître sur quel OS tourne la cible (fingerprinting en anglais),
   -p <range> syntaxe pour avoir un ensemble de ports à scanner, exemple :
        -p 23 on va regarder que le port 23
         -p 20-30,63000- va scanner les ports de 20 à 30 et supérieur à 63000 (jusqu'à 65535 en fait)
         par défaut il scrute uniquement de 1 à 1024 plus les ports se trouvant dans/etc/services ,
   -F  scan rapide, scanne uniquement les ports contenus dans  /etc/services,
   -I permet d'avoir plus d'info sur les ports TCP ouverts, notamment le proprio,
   -o <logfile> log le résultat dans le fichier <logfile>,
   -v Verbose, mode verbeux (recommandé),
   -h help, pour avoir la liste complète des options,
   -V pour avoir uniquement le numéro de version, pas la peine de rentrer de cible,
   -e <devicename>, avec ça on peut spécifier une interface particulière pour envoyer les paquets (eth0, ppp0,etc.).

Maintenant la cible peut être identifié par son nom sur internet ou son adresse IP. On peut désigner un ensemble d'adresse aussi, ou des sous-masques de réseau particulier. Par exemple  domaine.org/24 ou 192.88.209.5/24, 192.88.209.0-255 ou bien encore '128.88.209.*'. 
 

Quelques exemples

L'utilisation la plus simple est celle-ci:

nmap -v tosh

voilà le résultat

Starting Nmap 7.40 ( https://nmap.org ) at 2016-12-27 11:10 CET

Initiating ARP Ping Scan at 11:10
Scanning mana (192.168.0.11) [1 port]
Completed ARP Ping Scan at 11:10, 0.21s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 11:10
Scanning mana (192.168.0.11) [1000 ports]
Discovered open port 3306/tcp on 192.168.0.11
Discovered open port 80/tcp on 192.168.0.11
Discovered open port 587/tcp on 192.168.0.11
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:1076 S ttl=58 id=52727 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:17877 S ttl=38 id=44916 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:33354 S ttl=43 id=42092 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:3261 S ttl=51 id=25706 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:9003 S ttl=52 id=44647 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:1755 S ttl=47 id=48647 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:51493 S ttl=49 id=55653 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:17 S ttl=45 id=19909 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:5002 S ttl=39 id=2901 iplen=44  seq=32688265 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:65080 > 192.168.0.11:2196 S ttl=41 id=13319 iplen=44  seq=32688265 win=1024 <mss 1460>
Omitting future Sendto error messages now that 10 have been shown.  Use -d2 if you really want to see them.
Discovered open port 110/tcp on 192.168.0.11
Discovered open port 25/tcp on 192.168.0.11
Discovered open port 995/tcp on 192.168.0.11
Discovered open port 111/tcp on 192.168.0.11
Discovered open port 22/tcp on 192.168.0.11
Discovered open port 2049/tcp on 192.168.0.11
Discovered open port 4002/tcp on 192.168.0.11
Increasing send delay for 192.168.0.11 from 0 to 5 due to 148 out of 491 dropped probes since last increase.
Discovered open port 10000/tcp on 192.168.0.11
Increasing send delay for 192.168.0.11 from 5 to 10 due to 40 out of 131 dropped probes since last increase.
Increasing send delay for 192.168.0.11 from 10 to 20 due to 11 out of 33 dropped probes since last increase.
Increasing send delay for 192.168.0.11 from 20 to 40 due to 11 out of 36 dropped probes since last increase.
Increasing send delay for 192.168.0.11 from 40 to 80 due to 11 out of 31 dropped probes since last increase.
Discovered open port 389/tcp on 192.168.0.11
Completed SYN Stealth Scan at 11:11, 57.83s elapsed (1000 total ports)
Nmap scan report for mana (192.168.0.11)
Host is up (0.0019s latency).
rDNS record for 192.168.0.11: mana.kervao.fr
Not shown: 988 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    open  smtp
80/tcp    open  http
110/tcp   open  pop3
111/tcp   open  rpcbind
389/tcp   open  ldap
587/tcp   open  submission
995/tcp   open  pop3s
2049/tcp  open  nfs
3306/tcp  open  mysql
4002/tcp  open  mlchat-proxy
10000/tcp open  snet-sensor-mgmt
MAC Address: 78:2B:CB:62:8F:CE (Dell)

Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 58.13 seconds
           Raw packets sent: 1358 (59.736KB) | Rcvd: 2107 (133.032KB)

La commande suivante va permettre de scanner tous les ports TCP réservés :

nmap -sS -O tosh

voilà le résultat

Starting Nmap 7.40 ( https://nmap.org ) at 2016-12-27 11:13 CET
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:1501 S ttl=46 id=30268 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:9002 S ttl=49 id=49460 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:3372 S ttl=44 id=9422 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:52869 S ttl=53 id=9841 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:2046 S ttl=59 id=23321 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:1352 S ttl=44 id=39446 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:32768 S ttl=52 id=59932 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:49999 S ttl=58 id=24880 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:3325 S ttl=51 id=4088 iplen=44  seq=2698645332 win=1024 <mss 1460>
sendto in send_ip_packet_sd: sendto(5, packet, 44, 0, 192.168.0.11, 16) => Operation not permitted
Offending packet: TCP 192.168.0.16:59791 > 192.168.0.11:1234 S ttl=59 id=29091 iplen=44  seq=2698645332 win=1024 <mss 1460>
Omitting future Sendto error messages now that 10 have been shown.  Use -d2 if you really want to see them.
Nmap scan report for mana (192.168.0.11)
Host is up (0.0050s latency).
rDNS record for 192.168.0.11: mana.kervao.fr
Not shown: 988 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    open  smtp
80/tcp    open  http
110/tcp   open  pop3
111/tcp   open  rpcbind
389/tcp   open  ldap
587/tcp   open  submission
995/tcp   open  pop3s
2049/tcp  open  nfs
3306/tcp  open  mysql
4002/tcp  open  mlchat-proxy
10000/tcp open  snet-sensor-mgmt
MAC Address: 78:2B:CB:62:8F:CE (Dell)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.40%E=4%D=12/27%OT=22%CT=1%CU=39493%PV=Y%DS=1%DC=D%G=Y%M=782BCB%
OS:TM=58623EF9%P=x86_64-unknown-linux-gnu)SEQ(SP=106%GCD=1%ISR=10D%TI=Z%CI=
OS:I%TS=7)OPS(O1=M5B4ST11NW7%O2=M5B4ST11NW7%O4=M5B4NNT11NW7%O4=M5B4ST11NW7%
OS:O5=M5B4ST11NW7%O6=M5B4ST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5=7120%W
OS:6=7120)ECN(R=Y%DF=Y%T=40%W=7210%O=M5B4NNSNW7%CC=N%Q=)T1(R=Y%DF=Y%T=40%S=
OS:O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD
OS:=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0
OS:%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1
OS:(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI
OS:=N%T=40%CD=S)

Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 73.44 seconds

Maintenant on va tester si sshd, DNS, pop3d, imapd (ports respectifs 22, 53, 110 et 143) tournent sur le système et si le port 4564 est utilisé:

nmap -sX -p 22,53,110,143,4564 tosh

Nmap scan report for mana (192.168.0.11)
Host is up (0.0029s latency).
rDNS record for 192.168.0.11: mana.kervao.fr
PORT     STATE         SERVICE
22/tcp   open|filtered ssh
53/tcp   closed        domain
110/tcp  open|filtered pop3
143/tcp  closed        imap
4564/tcp closed        unknown
MAC Address: 78:2B:CB:62:8F:CE (Dell)

Nmap done: 1 IP address (1 host up) scanned in 1.53 seconds

Le front end de nmap

En tant que root, il suffit de lancer nmapfe, voici ce que ça donne:



Vous voyez qu'il devient très simple d'utiliser nmap.
 

OpenVAS

Présentation

OpenVAS (Open Vulnerability Assessment System) est un scanner de vulnérabilités, il permet de tester la sécurisation des postes de votre réseau, il se base entre autres sur nmap que vous devez avoir installé préalablement, mais en plus de tester vos ports, il va scruter les composants logiciels de votre machine, pour déterminer les trous de sécurité et vous avertir sur certaines faiblesses.
Il est basé sur :
- des clients accessible en ligne de commande (OpenVAS cli) ou via une interface web (greenbone security assistant), l'avantage du premier est le mode batch et l'avantage du dernier est la convivialité
- un serveur manager qui gèree les données et les configs via une base de donnée intégrée
- un scanner contrôlé par le manager via le protocole OTP (OpenVAS transfert protocol)
- une base de donnée de tests de vulnérabilité ou Network Vulnerability Tests (NVTs). Il y en a près de 50000. Cette base est évidemment utilisée par le scanner

Installation

Tout d'abord vous devez vous procurer les packages de OpenVAS que vous trouverez à l'URL suivante http://www.openvas.org/. On installera d'abord cette batterie de packages:

urpmi lib64hiredis-devel lib64uuid-devel lib64gpgme-devel popt-devel heimdal-devel mingw32-binutils mingw32-gcc lib64ssh-devel lib64microhttpd-devel lib64xslt-devel sqlite3-tools xsltproc redis texlive nsis alien

on commence par installer openvas-smb on décompresse l'archive en tapant

tar xvfz openvas-smb-1.0.2.tar.gz

cela donne le répertoire openvas-smb-1.0.2 dans lequel on tape

mkdir build
cd build
cmake ..
make


à un moment il ne trouvait pas krb5.h j'ai dû faire les manips suivantes

cd /usr/include
mkdir heimdal
ln -s /usr/include/krb5.h /usr/include/heimdal


on retape make puis en tant que root

make install

on installe maintenant openvas-libraries, on décompresse l'archive en tapant

tar xvfz openvas-libraries-8.0.8.tar.gz


cela donne le répertoire openvas-libraries-8.0.8 dans lequel on tape

mkdir build
cd build
cmake ..


voici le résultat

-- Configuring the Libraries...
-- Install prefix: /usr/local
-- checking for module 'libopenvas_wmiclient>=0.0.1'
--   package 'libopenvas_wmiclient>=0.0.1' not found
-- checking for module 'libopenvas_wincmd>=0.0.1'
--   package 'libopenvas_wincmd>=0.0.1' not found
-- checking for module 'libssh>=0.5.0'
--   found libssh, version 0.6.5
-- Looking for pcap...
-- Looking for pcap... /usr/lib64/libpcap.so
-- Looking for pcap-config...
-- Looking for pcap-config... /usr/bin/pcap-config
-- Looking for gpgme...
-- Looking for gpgme... /usr/lib64/libgpgme.so
-- Looking for ksba...
-- Looking for ksba... KSBA-NOTFOUND
-- Looking for netsnmp...
-- Looking for netsnmp... SNMP-NOTFOUND
-- Looking for libgcrypt...
-- Looking for libgcrypt... /usr/lib64/libgcrypt.so
-- Looking for libldap...
--   Found /usr/local/lib/libldap.so - ldap support enabled
-- Looking for bison...
-- Looking for bison... /usr/bin/bison
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/linux/securite/openvas-libraries-8.0.8/build


on tape make j'obtiens

../misc/libopenvas_misc.so.8.0.8: référence indéfinie vers « freeReplyObject »
../misc/libopenvas_misc.so.8.0.8: référence indéfinie vers « redisConnectUnix »
../misc/libopenvas_misc.so.8.0.8: référence indéfinie vers « redisFree »
../misc/libopenvas_misc.so.8.0.8: référence indéfinie vers « redisCommand »
../misc/libopenvas_misc.so.8.0.8: référence indéfinie vers « redisvCommand »


il faut éditer le fichier openvas-libraries-8.0.9/build/misc/CMakeFiles/openvas_misc_shared.dir/link.txt et au lieu de

-llber -L -lhiredis -lgcrypt

on écrit
 
-llber -lhiredis -L -lgcrypt


on installe maintenant openvas-scanner on décompresse l'archive en tapant

tar xvfz openvas-scanner-5.0.7.tar.gz


à ce moment j'ai dû taper la commande suivante dans le shell

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/

on décompresse l'archive en tapant

tar xvfz openvas-cli-1.4.5.tar.gz

cela donne le répertoire openvas-cli-1.4.5 dans lequel on tape

mkdir build
cd build
cmake ..

puis en tant que root

make install


on va faire exactement pareil avec les tarballs suivants

openvas-manager-6.0.9.tar.gz
greenbone-security-assistant-6.0.11.tar.gz


on installe maintenant ospd on décompresse l'archive en tapant

tar xvfz ospd-1.0.2.tar.gz


cela donne le répertoire ospd-1.0.2 dans lequel on tape en tant que root

python setup.py install

on termine par un ldconfig

on crée maintenant un certificat SSL pour OpenVAS en tapant

openvas-mkcert


voici le résultat

/usr/local/var/lib/openvas/private/CA created
/usr/local/var/lib/openvas/CA created
'xterm-256color': unknown terminal type.
-------------------------------------------------------------------------------
                        Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------

This script will now ask you the relevant information to create the SSL certificate of OpenVAS.
Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your OpenVAS daemon will be able to retrieve this information.


CA certificate life time in days [1460]:
Server certificate life time in days [365]:
Your country (two letter code) [DE]: FR
Your state or province name [none]: Bzh
Your location (e.g. town) [Berlin]: Brest
Your organization [OpenVAS Users United]:
'xterm-256color': unknown terminal type.
-------------------------------------------------------------------------------
                        Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------

Congratulations. Your server certificate was properly created.

The following files were created:

. Certification authority:
   Certificate = /usr/local/var/lib/openvas/CA/cacert.pem
   Private key = /usr/local/var/lib/openvas/private/CA/cakey.pem

. OpenVAS Server :
    Certificate = /usr/local/var/lib/openvas/CA/servercert.pem
    Private key = /usr/local/var/lib/openvas/private/CA/serverkey.pem

Press [ENTER] to exit

on récupère maintenant la base de données de tests de vulnérabilité (NVTs) en tapant

openvas-nvt-sync

voici le résultat

[i] This script synchronizes an NVT collection with the 'OpenVAS NVT Feed'.
[i] The 'OpenVAS NVT Feed' is provided by 'The OpenVAS Project'.
[i] Online information about this feed: 'http://www.openvas.org/openvas-nvt-feed.html'.
[i] NVT dir: /usr/local/var/lib/openvas/plugins
[w] Could not determine feed version.
[i] rsync is not recommended for the initial sync. Falling back on http.
[i] Will use wget
[i] Using GNU wget: /usr/bin/wget
[i] Configured NVT http feed: http://www.openvas.org/openvas-nvt-feed-current.tar.bz2
[i] Downloading to: /root/tmp/openvas-feed-2016-12-27-14210.tar.bz2
--2016-12-27 14:23:09--  http://www.openvas.org/openvas-nvt-feed-current.tar.bz2
Résolution de www.openvas.org (www.openvas.org)… 5.9.98.186
Connexion à www.openvas.org (www.openvas.org)|5.9.98.186|:80… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 27994449 (27M) [application/x-bzip2]
Sauvegarde en : « /root/tmp/openvas-feed-2016-12-27-14210.tar.bz2 »


(...)

zabbix_web_detect.nasl.asc
znc_detect.nasl
znc_detect.nasl.asc
zone_alarm_local_dos.nasl
zone_alarm_local_dos.nasl.asc
[i] Download complete
[i] Checking dir: ok
[i] Checking MD5 checksum: ok

on lance maintenant le scanner en tapant

openvassd

pour voir s'il est bien lancé en faisant un ps aux | grep openvassd j'obtiens bien

root     14373 89.0  0.8 128020 34124 ?        Ss   14:25   3:24 openvassd: Waiting for incoming connections

on récupère alors encore des données (dites SCAP data) en tapant

openvas-scapdata-sync

voilà le résultat

[i] This script synchronizes a SCAP data directory with the OpenVAS one.
[i] This script is for the SQLite3 backend.
[i] SCAP dir: /usr/local/var/lib/openvas/scap-data
[i] Will use rsync
[i] Using rsync: /usr/bin/rsync
[i] Configured SCAP data rsync feed: rsync://feed.openvas.org:/scap-data
OpenVAS community feed server - http://www.openvas.org/
This service is hosted by Greenbone Networks - http://www.greenbone.net/

All transactions are logged.

If you have any questions, please use the OpenVAS mailing lists
or the OpenVAS IRC chat. See http://www.openvas.org/ for details.

By using this service you agree to our terms and conditions.

Only one sync per time, otherwise the source ip will be blocked.

receiving incremental file list
./
COPYING
          1,493 100%    1.42MB/s    0:00:00 (xfr#1, to-chk=65/67)


on récupère maintenant des données de certification en tapant

openvas-certdata-sync

voilà le résultat

[i] This script synchronizes a CERT advisory directory with the OpenVAS one.
[i] This script is for the SQLite3 backend.
[i] CERT dir: /usr/local/var/lib/openvas/cert-data
[i] Will use rsync
[i] Using rsync: /usr/bin/rsync
[i] Configured CERT data rsync feed: rsync://feed.openvas.org:/cert-data
OpenVAS community feed server - http://www.openvas.org/
This service is hosted by Greenbone Networks - http://www.greenbone.net/

All transactions are logged.

If you have any questions, please use the OpenVAS mailing lists
or the OpenVAS IRC chat. See http://www.openvas.org/ for details.

By using this service you agree to our terms and conditions.

Only one sync per time, otherwise the source ip will be blocked.

receiving incremental file list
./
CB-K13.xml
      1,430,197 100%  860.55kB/s    0:00:01 (xfr#1, to-chk=30/32)
CB-K13.xml.asc
            181 100%    0.29kB/s    0:00:00 (xfr#2, to-chk=29/32)
CB-K14.xml
      4,771,036 100%  721.80kB/s    0:00:06 (xfr#3, to-chk=28/32)


maintenant on crée un certificat client en tapant

openvas-mkcert-client -i

voilà le résultat

This script will now ask you the relevant information to create the SSL client certificates for OpenVAS.

Client certificates life time in days [365]:
Your country (two letter code) [DE]: FR
Your state or province name [none]: Bzh
Your location (e.g. town) [Berlin]: Brest
Your organization [none]: none
Your organizational unit [none]: none
**********
We are going to ask you some question for each client certificate.

If some question has a default answer, you can force an empty answer by entering a single dot '.'

*********
Client certificates life time in days [365]:
Country (two letter code) [FR]:
State or province name [Bzh]:
Location (e.g. town) [Brest]:
Organization [none]:
Organization unit [none]:
e-Mail []: olivier.hoarau@funix.org
Generating RSA private key, 4096 bit long modulus
.................................................................................++
.................................++
e is 65537 (0x010001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [DE]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, your name or your server's hostname) []:Email Address []:Using configuration from /root/tmp/openvas-mkcert-client.16644/stdC.cnf
Can't open /root/tmp/openvas-mkcert-client.16644/index.txt.attr for reading, No such file or directory
140241836689152:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:74:fopen('/root/tmp/openvas-mkcert-client.16644/index.txt.attr','r')
140241836689152:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:81:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'FR'
stateOrProvinceName   :ASN.1 12:'Bzh'
localityName          :ASN.1 12:'Brest'
organizationName      :ASN.1 12:'none'
organizationalUnitName:ASN.1 12:'none'
commonName            :ASN.1 12:'om'
emailAddress          :IA5STRING:'olivier.hoarau@funix.org'
Certificate is to be certified until Dec 27 14:34:20 2017 GMT (365 days)

Write out database with 1 new entries
Data Base Updated

il y a une erreur mais ça a l'air de marcher ensuite...

on reconstruit la base de données en tapant

openvasmd --rebuild --progress

voilà le résultat

Rebuilding NVT cache... done.

création du compte admin en tapant

openvasmd --create-user=admin --role=Admin

voilà le résultat, le mot de passe est à noter dans un coin il servira plus tard

User created with password '5780b493-0abf-465a-b168-31a219c758ea'.

on lance maintenant le manager en tapant

openvasmd

puis on lance le service web de greenbone security assistant

gsad --http-only

Pour ces deux dernières commandes vous pouvez faire un man qui vous donnera les options pour changer l'adresse IP ou le port de travail.
Ca y est ! Pour être sûr que tout est bon, sur cette page http://www.openvas.org/setup-and-start.html on récupèrera un utilitaire pour vérifier la config générale d'OpenVAS. On lui donne des droits d'exe en tapant

chmod 755 openvas-check-setup


et on lance en tapant ./openvas-check-setup --v8 --server

si vous avez cette erreur

ERROR: redis-server is not running or not listening on socket: /tmp/redis.sock

il faudra éditer le fichier /etc/redis.sock et décommenter les deux lignes suivantes

unixsocket /tmp/redis.sock
unixsocketperm 755


on relance le service redis

systemctl stop redis.service
systemctl start redis.service


on retape

./openvas-check-setup --v8 --server

voici le résultat

openvas-check-setup 2.3.7
  Test completeness and readiness of OpenVAS-8
  (add '--v6' or '--v7' or '--v9'
   if you want to check for another OpenVAS version)

  Please report us any non-detected problems and
  help us to improve this check routine:
  http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss

  Send us the log-file (/tmp/openvas-check-setup.log) to help analyze the problem.

Step 1: Checking OpenVAS Scanner ...
        OK: OpenVAS Scanner is present in version 5.0.7.
        OK: OpenVAS Scanner CA Certificate is present as /usr/local/var/lib/openvas/CA/cacert.pem.
        OK: redis-server is present in version v=2.8.13.
        OK: scanner (kb_location setting) is configured properly using the redis-server socket: /tmp/redis.sock
        OK: redis-server is running and listening on socket: /tmp/redis.sock.
        OK: redis-server configuration is OK and redis-server is running.
        OK: NVT collection in /usr/local/var/lib/openvas/plugins contains 51201 NVTs.
        WARNING: Signature checking of NVTs is not enabled in OpenVAS Scanner.
        SUGGEST: Enable signature checking (see http://www.openvas.org/trusted-nvts.html).
        OK: The NVT cache in /usr/local/var/cache/openvas contains 51201 files for 51201 NVTs.
Step 2: Checking OpenVAS Manager ...
        OK: OpenVAS Manager is present in version 6.0.9.
        OK: OpenVAS Manager client certificate is present as /usr/local/var/lib/openvas/CA/clientcert.pem.
        OK: OpenVAS Manager database found in /usr/local/var/lib/openvas/mgr/tasks.db.
        OK: Access rights for the OpenVAS Manager database are correct.
        OK: sqlite3 found, extended checks of the OpenVAS Manager installation enabled.
        OK: OpenVAS Manager database is at revision 146.
        OK: OpenVAS Manager expects database at revision 146.
        OK: Database schema is up to date.
        OK: OpenVAS Manager database contains information about 51201 NVTs.
        OK: At least one user exists.
        OK: OpenVAS SCAP database found in /usr/local/var/lib/openvas/scap-data/scap.db.
        OK: OpenVAS CERT database found in /usr/local/var/lib/openvas/cert-data/cert.db.
        OK: xsltproc found.
Step 3: Checking user configuration ...
        WARNING: Your password policy is empty.
        SUGGEST: Edit the /usr/local/etc/openvas/pwpolicy.conf file to set a password policy.
Step 4: Checking Greenbone Security Assistant (GSA) ...
        OK: Greenbone Security Assistant is present in version 6.0.11.
Step 5: Checking OpenVAS CLI ...
        SKIP: Skipping check for OpenVAS CLI.
Step 6: Checking Greenbone Security Desktop (GSD) ...
        SKIP: Skipping check for Greenbone Security Desktop.
Step 7: Checking if OpenVAS services are up and running ...
        OK: netstat found, extended checks of the OpenVAS services enabled.
        OK: OpenVAS Scanner is running and listening on all interfaces.
        OK: OpenVAS Scanner is listening on port 9391, which is the default port.
        OK: OpenVAS Manager is running and listening on all interfaces.
        OK: OpenVAS Manager is listening on port 9390, which is the default port.
        OK: Greenbone Security Assistant is running and listening on all interfaces.
        OK: Greenbone Security Assistant is listening on port 9392, which is the default port.
Step 8: Checking nmap installation ...
        WARNING: Your version of nmap is not fully supported: 6.47
        SUGGEST: You should install nmap 5.51 if you plan to use the nmap NSE NVTs.
Step 10: Checking presence of optional tools ...
        OK: pdflatex found.
        WARNING: PDF generation failed, most likely due to missing LaTeX packages. The PDF report format will not work.
        SUGGEST: Install required LaTeX packages.
        OK: ssh-keygen found, LSC credential generation for GNU/Linux targets is likely to work.
        OK: rpm found, LSC credential package generation for RPM based targets is likely to work.
        OK: alien found, LSC credential package generation for DEB based targets is likely to work.
        OK: nsis found, LSC credential package generation for Microsoft Windows targets is likely to work.

It seems like your OpenVAS-8 installation is OK.

If you think it is not OK, please report your observation
and help us to improve this check routine:
http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss
Please attach the log-file (/tmp/openvas-check-setup.log) to help us analyze the problem.


S'il y a un OK on peut penser qu'on est pas trop mal.

 
 

Utilisation

En supposant que tout est lancé, dans un navigateur on mettra l'adresse du serveur web Greenbone Security Assistant avec le port par défaut 9392 (http://votre-serveur:9392) et on obtient cette fenêtre de login


c'est à ce moment là qu'il faut saisir le login admin et le mot de passe vu plus haut.

voilà la page d'accueil, on est prêt à saisir une adresse IP dans la case qui va bien.


une fois l'adresse saisie on clique sur Start Scan.


le scan est terminé, il faut cliquer sur le lien "Immediate scan" pour voir le résultat.


voilà la page de résultat du scan, en cliquant sur le chiffre 12 de Results, on obtient la liste des vulnérabilités détectées.


La liste des vulnérabilités apparait classées suivant leur sévérité, on peut cliquer sur chaque vulnérabilité pour avoir plus de détail.


Exemple de détail sur une vulnérabilité.

Pour plus d'info http://openvas.org/documentation.html
 
[Retour page d'accueil FUNIX] [Retour haut de la page ]