# Introduction to Metasploit

Le **projet Metasploit** est une plateforme modulaire d'audit de sécurité, développée en Ruby, permettant de rédiger, tester et exécuter du code d'exploitation (exploit). Ce code peut être personnalisé ou issu d'une vaste base de données contenant les dernières vulnérabilités découvertes. Le **Metasploit Framework** intègre une suite d'outils pour identifier les vulnérabilités, analyser les réseaux, exécuter des attaques et échapper à la détection. Il constitue un environnement complet dédié aux tests d'intrusion et au développement d'exploits.

### 🔀 Deux versions de Metasploit

```
Metasploit Project
├── Metasploit Framework → Open Source, Communautaire, Gratuit
└── Metasploit Pro       → Commercial, Payant, Orienté entreprise
```

* **Metasploit Framework** : version libre et open-source, utilisée par la majorité des pentesters.
* **Metasploit Pro** : version payante avec interface graphique, intégrations avancées, et automatisations supplémentaires.

<figure><img src="https://428993362-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMFND1xZe6YAGbm2iLxIv%2Fuploads%2FTu2KwH5xtJRzH71lK1t4%2Fimage.png?alt=media&#x26;token=44fbc6df-7075-4fb4-a261-11fafc3d73c3" alt=""><figcaption></figcaption></figure>

### 🧩 Modules et exploitations

Les modules intégrés dans Metasploit sont des preuves de concept réelles d'exploits testés dans la nature. Chaque module est conçu pour une version ou un service spécifique. En couplant un **exploit** à une **cible vulnérable** et un **payload**, il devient possible d'obtenir un accès automatisé à la machine cible. Cela permet de basculer rapidement d'une cible à une autre pendant la post-exploitation.

### 💼 Fonctionnalités de Metasploit Pro

Metasploit Pro ajoute plusieurs fonctionnalités à la version classique, notamment :

* **Chaînes de tâches** (Task Chains)
* **Ingénierie sociale**
* **Validation des vulnérabilités**
* **Interface graphique** (GUI)
* **Intégration avec Nexpose**
* **Wizards d'automatisation**

#### Exemple de capacités avancées :

| Infiltration          | Collecte de données       | Remédiation            |
| --------------------- | ------------------------- | ---------------------- |
| Exploitation manuelle | Scan et import de données | Bruteforce             |
| Évasion antivirus     | Découverte de réseaux     | Replay de sessions     |
| Pivot VPN/Proxy       | Génération de payloads    | Gestion de credentials |
| Ingénierie sociale    | Tests Web/App             | Collaboration d'équipe |
| Sessions persistantes | Intégration Project Sonar | Rapport et export      |

### 💻 Msfconsole : interface principale

**msfconsole** est l'interface en ligne de commande principale du Metasploit Framework. Elle permet un accès rapide à toutes les fonctionnalités de l'outil.

#### Fonctionnalités clés :

* Interface console centralisée
* Complétion automatique et support readline
* Exécution de commandes externes
* Interface la plus stable et riche en fonctionnalités

### 🏗️ Architecture interne

Comprendre l'architecture de Metasploit est crucial pour sa bonne utilisation en audit. Sous ParrotOS (ou Kali), les fichiers sont localisés sous :

```
/usr/share/metasploit-framework/
```

#### Répertoires principaux :

* `data/`, `lib/`, `documentation/` : éléments internes du framework
* `modules/` : contient les modules classés par type :

```bash
$ ls /usr/share/metasploit-framework/modules
auxiliary  encoders  evasion  exploits  nops  payloads  post
```

* `plugins/` : modules facultatifs étendant les capacités :

```bash
$ ls /usr/share/metasploit-framework/plugins/
openvas.rb  nessus.rb  sqlmap.rb  session_tagger.rb  etc.
```

* `scripts/` : scripts d’automatisation et scripts pour Meterpreter :

```bash
$ ls /usr/share/metasploit-framework/scripts/
meterpreter  ps  resource  shell
```

* `tools/` : outils externes complémentaires :

```bash
$ ls /usr/share/metasploit-framework/tools/
recon  exploit  payloads  modules  password  etc.
```

Ces emplacements sont importants à connaître pour importer ou développer ses propres modules dans le cadre d’un audit personnalisé.

***

### ✅ Conclusion

Metasploit est un outil puissant et central dans l’arsenal du pentester. Sa modularité, sa richesse de fonctionnalités et son architecture ouverte en font une plateforme idéale pour découvrir, valider et exploiter des vulnérabilités. Une bonne compréhension de son fonctionnement interne et une maîtrise de `msfconsole` permettront une utilisation efficace, adaptée aussi bien aux débutants qu’aux professionnels.

***

> Which version of Metasploit comes equipped with a GUI interface?

La version de Metasploit équipée d'un interface graphique est `Metasploit Pro`.

***

> What command do you use to interact with the free version of Metasploit?

La commande utilisée pour interagir avec la version gratuite de Metasploit est `msfconsole`.

***
