# Advanced Network Scanning with Nmap

{% hint style="info" %}
**Nmap**, qui signifie "*Network Mapper*", est un outil open source utilisé pour explorer et auditer les réseaux, ainsi que pour découvrir les hôtes et les services sur un réseau. Il a été initialement créé par Gordon Lyon, également connu sous le nom de Fyodor Vaskovich. Nmap fournit des fonctionnalités de balayage de réseau qui permettent aux utilisateurs de découvrir les dispositifs connectés à un réseau, d'identifier les services en cours d'exécution sur ces dispositifs et d'obtenir des informations détaillées sur la configuration du réseau.
{% endhint %}

#### Commandes courantes et explication des paramètres :

## **Scan de ports**

```bash
nmap --open -p- -sS --min-rate 5000 -vvv -n -Pn 192.168.0.1 -oG allPorts
```

### **Explication des paramètres :**

* `--open` : Affiche uniquement les ports ouverts.
* `-p-` : Scanne tous les ports (0-65535).
* `-sS` : Réalise un scan TCP SYN (rapide et discret).
* `--min-rate 5000` : Fixe un débit minimal de 5000 paquets par seconde.
* `-vvv` : Affiche des informations détaillées en temps réel pendant le scan.
* `-n` : Désactive la résolution DNS pour accélérer le scan.
* `-Pn` : Suppose que les hôtes sont actifs, en sautant le ping initial.
* `-oG` : Sauvegarde les résultats dans un format exploitable par grep.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252Fe6BGuXp1hLil6uT3Jtic%252Fimage.png%3Falt%3Dmedia%26token%3D96d46423-ca25-4471-a563-42daeae3be1e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bcba8a61&#x26;sv=1" alt=""><figcaption></figcaption></figure>

### **Scan spécifique:**

* **`nmap -O` ide**ntifier le système d’exploitation (Linux, Windows, etc.).
* **`nmap -sT`** Scan des services TCP : Plus lent mais utile si vous n’avez pas les permissions pour effectuer un scan SYN.
* **`nmap -sU`** Scan des services UDP :&#x20;
* **`nmap --top-ports 100`** Scan des ports les plus communs

## **Scan des versions des ports**

```bash
nmap -p22,80,443 -sCV 192.168.0.1 -oN targeted
```

**Explication des paramètres :**

* `-p22,80,443` : Spécifie les ports ciblés.
* `-sV` : Détecte les versions des services sur les ports spécifiés.
* `-sC` : Lance des scripts de reconnaissance basiques.
* `-oN targeted` : Sauvegarde les résultats dans un format lisible.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252F2MsfGLpxVpuiWEE7sRjJ%252Fimage.png%3Falt%3Dmedia%26token%3D767e772a-f3ea-4fee-b266-0c73398b7a4f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b468a586&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## **Identification des appareils connectés au réseau**

```bash
nmap -sn 192.168.0.1/24
```

**Explication des paramètres :**

* `-sn` : Réalise un scan de ping sans analyser les ports. Identifie les appareils répondant au ping.
* `192.168.0.1/24` : Définit la plage d’adresses à scanner, ici de 192.168.0.1 à 192.168.0.254.
* `-oG devices.grepable` : Sauvegarde les résultats pour analyse ultérieure.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252FEFDeAo8BSjtTrsirRHC8%252Fimage.png%3Falt%3Dmedia%26token%3D679e4610-aa84-4b59-80e0-1a08f0c9140b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=753ed2d0&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## Évasion des pare-feu avec Nmap

{% hint style="info" %}
Il existe plusieurs méthodes pour contourner un pare-feu à l'aide de l'outil Nmap. Vous trouverez ci-dessous quelques-unes des techniques les plus utilisées et efficaces à cet effet&#x20;
{% endhint %}

### Ajuster la taille des paquets envoyés

> La technique d'évasion MTU ou « Maximum Transmission Unit » consiste à ajuster la taille des paquets envoyés afin d'éviter leur détection par le pare-feu. Nmap permet de configurer manuellement la taille maximale des paquets afin de s'assurer que les paquets sont suffisamment petits pour passer à travers le pare-feu sans être détectés.

```bash
nmap 192.168.0.1 -mtu 8
```

### Ajuster la taille des paquets envoyés

> Cette technique consiste à modifier la longueur des données envoyées afin qu'elles soient suffisamment courtes pour ne pas être détectées par le pare-feu. Nmap permet aux utilisateurs de configurer manuellement la longueur des données envoyées pour échapper à la détection.

```bash
nmap -p22 192.168.0.1 -data-length 21
```

### Définir manuellement le numéro de port source

> Cette technique consiste à configurer manuellement le numéro de port source des paquets envoyés pour éviter la détection. Avec Nmap, les utilisateurs peuvent spécifier un port source aléatoire ou un port spécifique pour contourner le pare-feu.

```bash
nmap -p22 192.168.0.1 --source-port 53
```

### Envoi de faux paquets au réseau

> Cette technique d'évasion permet d'envoyer des paquets usurpés sur le réseau afin de confondre les systèmes de détection d'intrusion et d'éviter la détection par le pare-feu. Avec l'option `-D`, Nmap envoie des paquets usurpés avec des paquets réels pour cacher l'activité de l'utilisateur.

```bash
nmap -p22 192.168.0.1 -D 192.168.0.100,192.168.0.152
```

### Fragmentation des paquets envoyés

> Cette technique consiste à fragmenter les paquets envoyés afin que le pare-feu ne puisse pas identifier le trafic comme un scan. L'option `-f` de Nmap permet de fragmenter les paquets et de les envoyer par morceaux pour échapper à la détection.

```bash
nmap -p22 192.168.0.1 -f
```

### Modifier l'adresse MAC du paquet

> Cette technique d'évasion consiste à modifier l'adresse MAC du paquet pour éviter sa détection par le pare-feu. Nmap permet de configurer manuellement l'adresse MAC pour déguiser le trafic.

```bash
nmap -p22 192.168.0.1 --spoff-mac f4:69:42:f4:a7:d0
```

### Effectuer des balayages furtifs

> Cette technique, l'une des plus utilisées, permet d'effectuer des balayages furtifs pour éviter la détection par le pare-feu. Avec l'option `-sS`, Nmap effectue un scan SYN sans établir de connexion complète, ce qui permet d'éviter la détection.

```bash
nmap -p22 192.168.0.1 -sS
```

## Script Scan Vulnérabilités

```bash
nmap --script "vuln and safe" -p445 10.10.10.10 -oN vulnScan
```

> Ce script Nmap permet d’analyser les vulnérabilités d’un hôte spécifique. En exécutant les scripts de la catégorie **vuln** (vulnérabilités) et **safe** (scans sûrs), il identifie d’éventuelles failles de sécurité. Les résultats sont sauvegardés dans un fichier nommé **vulnScan** pour une analyse ultérieure.

**Enumération Linux (sans identifiants)**

```bash
enum4linux -a 10.10.10.10
```

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FDsNwYwQOe0Lcfuaa5sKP%2Fimage.png?alt=media&#x26;token=46da0444-ff7a-4334-9c72-61941f34a1ea" alt=""><figcaption></figcaption></figure>

**Enumération Linux avec identifiants**

```bash
enum4linux -a 10.10.10.10 -u admin -p password1
```

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FFwP7MtLGjjFQ2lLITgmg%2Fimage.png?alt=media&#x26;token=573d06d2-784c-472b-9f80-0317b3671ee9" alt=""><figcaption></figcaption></figure>
