cours/content/secu_reseaux/1_attaque/index.md

4.5 KiB

title date tags categories
Sécurité des réseaux : L'attaque 2022-09-13
TCP
scan
nmap
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

  • l'interception: C'est une classe d'attaque par l'homme du milieu (Man in the Middle).

    Interception du trafic entre deuxinterlocuteurs

    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 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.

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. 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, 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

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.