Nmap et NESSUS sont des logiciels de cartographie de réseaux et de détection de vulnérabilités utilisés dans le domaine de la cybersécurité.
Note : Cet article est composé de notes de la réunion du 7 février 2025.
1 – NMAP
Nmap est un logiciel de cartographie de réseaux utilisé dans le domaine de la cybersécurité qui utilise des paquets IP pour identifier les périphériques connectés à un réseau et découvrir les hôtes, services, ports et systèmes d’exploitation actifs sur ce réseau.
Il fonctionne en ligne de commande sur plusieurs plateformes (Windows, Linux, Free BSD, …
Installé avec Nmap, Zenmap est une interface graphique également multi-plateformes de Nmap qui permet d’être utilisé autant par les utilisateurs avancés que les débutants et facilitant les audits de réseau.
Cet outil, comme beaucoup d’outils de sécurité peut être utilisé de façon éthique ou malveillante, aussi il est nécessaire de respecter certaines règles.
- A n'utiliser que sur des réseaux dont on est responsable ou avec une autorisation explicite du propriétaire.
- Documenter tous les scans et modifications.
- Faire des sauvegardes avant d'appliquer des corrections.
- Planifier les scans pendant les périodes de faible activité.
- Valider les corrections par de nouveaux scans.
De plus il est important de :
- Désactiver les services non nécessaires.
- Utiliser des configurations sécurisées.
- Surveiller régulièrement les logs.
- Maintenir une documentation précise.
- Établir un calendrier régulier de scans.
- Définir un processus de correction.
1.1 - Quelques exemple de scans
Scan de base pour découvrir les hôtes actifs
- nmap -sn 192.168.1.0/24 # Scan du réseau sans scan de ports
Scan de ports basique
- nmap -sS -p- 192.168.1.100 # Scan SYN de tous les ports
Détection de version des services
- nmap -sV -p22,80,443 192.168.1.100
Résultat exemple :
# PORT STATE SERVICE VERSION
# 22/tcp open ssh OpenSSH 8.2p1
# 80/tcp open http Apache 2.4.41
# 443/tcp open https Apache 2.4.41
Scan avec scripts de sécurité NSE
- nmap --script vuln 192.168.1.100
Script pour détecter les serveurs SMB vulnérables
- nmap --script smb-vuln* -p445 192.168.1.100
# Détection du système d'exploitation
- nmap -O 192.168.1.100
Scan complet pour l'audit
- nmap -sS -sV -O -p- --script vuln 192.168.1.100
Exemple de correction pour vulnérabilités courantes :
1. Port SSH ouvert avec ancienne version :
- Mettre à jour OpenSSH :
- sudo apt update
- sudo apt install openssh-server
- Configurer /etc/ssh/sshd_config :
- PermitRootLogin no
- PasswordAuthentication no
Protocol 2
2. Serveur web exposé :
- Configurer Apache (httpd.conf) :
- ServerTokens Prod
- ServerSignature Off
- TraceEnable Off
3. SMB vulnérable :
- Désactiver SMBv1 :
- sudo vi /etc/samba/smb.conf
- [global]
- min protocol = SMB2
4. Services non nécessaires :
- sudo systemctl stop service_name
- sudo systemctl disable service_name
2 - NESSUS
Nessus est un scanner de vulnérabilités de l’entreprise Tenable Network Security qui permet de détecter des failles de sécurité du hardware, des applications web, des infrastructures cloud et des systèmes exposés à Internet. Nessus fonctionne sur de nombreuses plateformes (Windows, MacOS, Linux, …).
Nessus prend en charge plus de 82 000 CVE, et peut intégrer environ 200 000 plugins (scripts NASL). Si Nessus a une version gratuite et une version payante beaucoup plus puissante.
Comme beaucoup d’outils de sécurité il peut être utilisé de façon éthique ou malveillante, aussi il est nécessaire de respecter les mêmes règles qui ont été citées précédemment pour NMAP.certaines règles Toujours obtenir les autorisations nécessaires avant de scanner
- Commencer par des scans basiques puis affiner.
- Prioriser les vulnérabilités critiques.
- Valider les corrections par des rescans ciblés.
Conseils :
- Maintenir une documentation précise.
- Établir un calendrier régulier de scans.
- Définir un processus de correction.
- Former les équipes à l'interprétation des résultats.
2.1 - Petit guide d'utilisation de Nessus pour l'audit de sécurité réseau
2.1.1. Configuration initiale
Installation
- Télécharger Nessus depuis le site officiel de Tenable
- Installer et activer votre licence
- Accéder à l'interface web (https://localhost:8834)
- Créer un compte administrateur
Configuration de base
- Vérifier que les plugins sont à jour.
- Configurer les credentials pour les scans authentifiés.
- Définir les plages horaires de scan.
2.1.2. Types de scans principaux
Basic Network Scan
- Utilisé pour une première analyse rapide
- Configuration minimale requise :
- Plage IP cible
- Nom du scan
- Fréquence (si récurrent)
Credentialed Patch Audit
- Nécessite des identifiants système
- Détecte les mises à jour manquantes
- Plus précis que le scan basique
Web Application Tests
- Analyse des applications web
- Détection des vulnérabilités OWASP Top 10
- Configuration spécifique par application
2.1.3. Exemples de configurations de scan
Scan système complet
Name: Full System Audit
Targets: 192.168.1.0/24
Scan Type: Credentialed Patch Audit
Schedule: Weekly, Sunday 01:00
Scan web applicatif
Name: Web Security Audit
Targets: http://internal-app.local
Scan Type: Web Application Tests
Authentication: Form-based
Schedule: Daily, 23:00
2.1.4. Analyse des résultats
Prioritisation
- Critical (CVSS 9.0-10.0)
- High (CVSS 7.0-8.9)
- Medium (CVSS 4.0-6.9)
- Low (CVSS 0.1-3.9)
2.1.5. Exemples de vulnérabilités et corrections
a. SSL/TLS Obsolète
- Vulnérabilité: SSL v3 enabled
- Correction:
# Apache
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256...
b. SMB Signing Disabled
- Vulnérabilité: SMB signing not required
- Correction:
# Windows (Group Policy)
Computer Configuration > Security Settings > Local Policies > Security Options
Microsoft network server: Digitally sign communications (always) = Enabled
c. Outdated Software
- Vulnérabilité: PHP 5.6 detected
- Correction:
bash
# Ubuntu/Debian
apt update
apt install php7.4
2.1.6. Bonnes pratiques de remédiation
- Documentation
- Enregistrer tous les changements
- Maintenir un journal des corrections
- Documenter les exceptions
- Processus de correction
- Tester en environnement de test
- Planifier les interventions
- Valider les corrections
- Refaire un scan ciblé
- Suivi
- Rapports hebdomadaires
- Tendances mensuelles
- Métriques d'amélioration
2.1.7. Automatisation
Exemple d'intégration API
Python
import requests
def get_scan_results(scan_id):
url = f"https://nessus:8834/scans/{scan_id}"
headers = {
'X-ApiKeys': 'accessKey=xxx;secretKey=xxx'
}
return requests.get(url, headers=headers, verify=False)
Export automatique
Bash
# Export PDF quotidien
curl -X POST "https://nessus:8834/scans/{scan-id}/export" \
-H "X-ApiKeys: accessKey=xxx;secretKey=xxx" \
-d '{"format":"pdf"}'