From f3a6b57e328c52c8421f10254b7cce08962d2175 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 11 Oct 2022 12:29:37 +0200 Subject: [PATCH] Add attack course --- .../1_attaque/images/idle_scan.svg | 1116 +++++++++++++++++ .../1_attaque/images/interception.svg | 408 ++++++ content/secu_reseaux/1_attaque/index.md | 97 ++ 3 files changed, 1621 insertions(+) create mode 100644 content/secu_reseaux/1_attaque/images/idle_scan.svg create mode 100644 content/secu_reseaux/1_attaque/images/interception.svg create mode 100644 content/secu_reseaux/1_attaque/index.md diff --git a/content/secu_reseaux/1_attaque/images/idle_scan.svg b/content/secu_reseaux/1_attaque/images/idle_scan.svg new file mode 100644 index 0000000..b209c12 --- /dev/null +++ b/content/secu_reseaux/1_attaque/images/idle_scan.svg @@ -0,0 +1,1116 @@ + + + + + IDLE Scan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + port fermé + + + + + + + + + + + + + + + + + + + + + + + + IDLE Scan + + + Yorick Barbanneau ^ ephase + + + + + CC BY SA + + + + + + diff --git a/content/secu_reseaux/1_attaque/images/interception.svg b/content/secu_reseaux/1_attaque/images/interception.svg new file mode 100644 index 0000000..7cb8e0c --- /dev/null +++ b/content/secu_reseaux/1_attaque/images/interception.svg @@ -0,0 +1,408 @@ + + + + + Interception + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interception + + + Yorick Barbanneau ^ ephase + + + + + CC BY-SA + + + + + + + + + + + + + + + diff --git a/content/secu_reseaux/1_attaque/index.md b/content/secu_reseaux/1_attaque/index.md new file mode 100644 index 0000000..cc40d40 --- /dev/null +++ b/content/secu_reseaux/1_attaque/index.md @@ -0,0 +1,97 @@ +--- +title: "Sécurité des réseaux : L'attaque" +date: 2022-02-07 +tags: ["TCP", "scan", "nmap"] +categories: ["Sécurité des réseaux", "Cours"] +--- + +## Comment + +C'est la question centrale posées par l'attaquant: comment pénétrer le réseau +cible. Pour cela il va passer par plusieurs étapes: + + 1. **recherche d'information** sur la cible: organisation du réseau, versions + des systèmes d'exploitations des équipements, version des logiciels etc. + 2. **recherche de vulnérabilités** en fonction des éléments obtenus + précédemment + 3. **exploitation** de ces vulnérabilités + 4. **installation d'une porte dérobée** + +L'attaquant doit alors rester le plus discret possible + +Le défenseur doit lui détecter la collecter des informations au plus vite afin de +se prémunir. + +## Les buts recherchés + +Les buts d'une attaque sont multiples: + + * **le déni de service**: le rendre inaccessible en le noyant de requête + * **le déni service distribué**: il s'agit ici aussi de rendre un service + inaccessible mais avec une multitude d'attaquant: les **botnets**. Il sont + composé de centaines à quelques millions d'équipements. L'exemple le plus + parlant est [Mirai](https://fr.wikipedia.org/wiki/Mirai_(logiciel_malveillant)) + * **l'interception**: C'est une classe d'attaque par l'homme du milieu *(Man in + the Middle)*. + + ![Interception du trafic entre deuxinterlocuteurs](./images/interception.svg) + + Dans l'exemple ci-dessus, une attaquant intercepte le trafic entre A et B et p + renant soin de le réacheminer après l'avoir enregistré (pour l'analyser à + posteriori). + * **la corruption**: C'est une autre attaque de type *MitM*. Il s\agit de + corrompre une communication. Le cas le plus courant et le + [cache poisoning](https://en.wikipedia.org/wiki/Cache_poisoning]) que se soit + sur les caches DNS ou les caches ARP (les deux protocoles les plus attaqués) + * **l'usurpation** avec les + [attaques par rejeu](https://fr.wikipedia.org/wiki/Attaque_par_rejeu). + +## Recherche d'informations + +Il est possible de deviner tout un tas d'informations en observant le trafic +réseau et utilisant des techniques de +[fingerprinting](https://fr.wikipedia.org/wiki/Empreinte_digitale_d%27appareil). En +observant notamment les numéro de séquence d'un échange TCP, il est possible +d'en déduire le *système d'exploitation*. L'outil de base pour le fingerprinting +est [nmap](https://nmap.org/), dans le cas du système d'exploitation, il utilise +*xprobe*. + +### Balayages de ports +Nmap permet aussi le balayage les ports d'un hôte (ou d'un groupe d'hôte). Il +utilise pour cela plusieurs technique. + + * la plus connue est le *SYN SCAN*: nmap envoie un paquet TCP `SYN` à la cible, + celle-ci répond avec les drapeaux `SYN/ACK` de positionnés si le port est + ouvert et `RST/ACK` s'il est fermé. Il est possible de trasformer cette + technique en envoyant un `ACK` après le `SYN/ACK` de la réponse de la victime + afin de simuler une connexion valide et ce afin d'être plus discret; + * le *FIN scan*: nmap envoie un paquet TCP de fin de connexion (drapeau `FIN` + positionné à 1). En cas de port ouvert la victime ne réponds pas, sinon elle + répond par un `RST/ACK`; + * le *null scan* et *xmas scan* jouent avec les drapeaux en les initialisation + de manière non conforme afin de dejouer les pare-feux. En vas de réponse + `RST/ACK` alors on peut en déduite que le port est ouvert sur la victime. + +#### le cas de l'IDLE scan + +C'est un balayage particulier qui fait intervenir un tiers et joue avec l'IPID. +L'IPID est un numéro d'identification IP utilisé en cas de fragmentation +notamment. + +![Schéma représentant l'IDLE Scan](./images/idle_scan.svg) + +Reprenons le schéma ci-dessus, nous avons **A**, machine *zombie* sous conrôle +de l'attaquant et **B** la victime: + + 1. l'attaqant récupère l'*IPID* de la machine zombie **A** en envoyant un + `SYN/ACK` et en observant l'IPID du segment TCP `RST` en retour -- nomons le + X; + 2. l'attaquant forge ensuite un segment TCP `SYN`; la trame IP englobant celui- + ci a comme adresse source l'IP celle de **A**; + 3. il suffit alors de renvoyer un segment `SYN/ACK` et d'observer l'*IPID* de + la réponse : fonction de l'échange entre **A** et **B**, nous pouvons en + déduire si le port est ouvert sur la cible: + * s'il est égal à X+1 alors le port est fermé: en effet la victime a + répondu un simple `RST`, l'*IPID* n'est pas incrémenté; + * s'il est égal à X+2, le port est ouvert: la victime a répondue avec un + `SYN/ACK`, notre *zombie* avec un `RST` incrémentant l'*IPID* de 1.