# [CTI] Nuclei

## Introduction

Le logiciel Nuclei permet de tester l'exploitabilité d'une vulnérabilité sur des systèmes grâce à des templates au format YML.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-07/scaled-1680-/image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-07/image.png)

## Installation &amp; MAJ

#### Projet

- [https://github.com/projectdiscovery/nuclei](https://github.com/projectdiscovery/nuclei)

#### Installation  


Pour installer Nuclei (go doit être installé au préalable) :

```bash
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
```

#### MAJ

Pour mettre à jour **Nuclei** :

```bash
nuclei -update
```

Pour mettre à jour les **templates** :

```bash
nuclei update
```

## Manuel

#### Exemple template

Voici un exemple de template pour une CVE SSH (**cve-2024-6387.yaml**) :

```yaml
id: CVE-2024-6387

info:
  name: RegreSSHion detect (based on software version)
  author: UnaPibaGeek
  severity: High
  description: Regression (CVE-2024-6387) software version checker.
  classification:
    cve-id: CVE-2024-6387
  metadata:
    max-request: 2
    vendor: OpenSSH
    product: OpenSSH
    tags: cve,cve2024,regression,openssh,ssh

tcp:
  - host:
    - '{{Hostname}}'
    - '{{Host}}:22'

    inputs:
      - data: "SSH-2.0-OpenSSH_9.0\r\n"

    matchers:
      - type: regex
        part: body
        regex:
        - 'OpenSSH_(8\.[5-9]p[1-2]?|9\.[0-7]p[1-2]?|[0-3]\.[0-9]p[1-2]?|4\.[0-3]p[1-2]?)'
```

#### Liste des cibles

Ici nous ciblerons des adresses IPs que nous indiquerons dans le fichier **ips.txt** :

```
192.168.5.40
```

<p class="callout info">En cas d'attaque web, il peut s'agir d'URL et non d'adresse IP.</p>

#### Exécution d'un template

```bash
nuclei -t cve-20224-6387.yaml -l ips.txt
```