Pour mieux vaincre ton adversaire, apprend à le connaître.
Avertissement
Ce cours n’a pas vocation à vous former à l’activité illégale de piratage informatique mais à vous aider à connaître les techniques des pirates pour vous rendre capable de mettre en place des politiques de sécurité, efficacité sans paranoïa.
Les attaques que nous verront sont dépassées pour la plupart. Les SE d’aujourd’hui les contre-carrent.
Lexique
Attaque (exploits):
Piratage (boxing, phreaking)
Gêner (to hamper)
Usurper, mystifier (to spoof)
Passeur de seaux (MITM:Man-In-The-Middle)
Vol de session (Hijack)
Empreinte (fingerprint)
Contrecarrer (to thwart)
Plan
Lexique
Objectif d’une attaque
Typologie des attaques
Exemple d’objectif
Différentes tactiques
Objectif d’une attaque
Accès à des données privées ou confidentielles
Utilisation de services payants
Diffusion de fausses informations
Humiliation, rumeur
Culture des pirates
Type de pirates (hacker)
Flibustier (agit pour lui-même, curiosité intellectuelle)
White Hats , Black Hats (anarchiste)
Corsaire (agit pour un tiers)
Ancêtres : phreakers
Contre-exemple : cracker
Qualité
Ne pas se faire remarquer
Ne pas laisser de traces
Conséquences techniques
Accès à des ressources (CPU, logiciel, …)
Accès non autorisé
Usurpation d’identité (Spoofing)
Déni de services
Planter le serveur qui héberge un service
DoS: Denial of Service
DDoS: Distributed DoS
Comment s’organise une attaque
Définir l’objectif
Lister les tactiques qui desservent l’objectif
Identifier la cible (et ses failles)
Appliquer les techniques qui exploite les failles
Exemple d’objectif
Objectifs:
Eliminer un concurrent dans le secteur de la vente en ligne Grand Public
Tactiques
Faire courir de fausses rumeurs
Rendre indisponible le site
Effectuer des commandes qui ne seront pas payées
… vous voyez ?!
Techniques pour identifier
Pour entrer, il faut trouver UNe PORTe
Social Engineering
Bonjour, c'est Mlle Foobar à l'appareil ?
Oui, mais qui...
Oui, c'est M. Malone, département de sécurité informatique au siège. Il faut changer les mots de passe.
Méthode bestiale
Balayage (scan) de port
Ensuite repérer les lieux
Détection de SE (OS fingerprinting)
Méthode bestiale (brute force)
cat
ls /etc/passwd
-r- - r - - r - - 1 root root
cat /etc/passwd
root:a5re4:0:0:/home:/bin/bash
achille:6treD:501:100:/home/achille:/bin/bash
Dictionnaire de mot de passe
algorithme d ’encodage connu
Techniques de balayage de ports
TCP SYN Scan
TCP FIN Scan
Dumb Host Scan
TCP Syn Scan
TCP Fin Scan
Dumb Host Scan (rappel TCP)
Dumb Host Scan (implementation)
C répond SYN|ACK à SYN si port ouvert,
C répond RST|ACK à SYN si port fermé,
B répond RST à SYN|ACK,
B ne répond rien à RST.
extrait de http://www.kyuzz.org/antirez/papers/dumbscan.html
Dumb Host Scan (explication)
A: machine du pirate
Envoi des paquets vers C usurpant l’IP de B
Interroge B pour en déduire la réponse de C à partir du numéro de séquence
B: machine du réseau cible
Ne génére aucun trafic sur le port source du scan
C: machine cible
Répond par un SYN-ACK
Prise d’empreinte
But : connaître le SE de la victime repérer les lieux
Méthode active
Queso, nmap
Méthode passive
siphon
Que faire maintenant ?
Une fois les lieux repérés, le pirate peut alors exploiter les failles ou les caractéristiques de chaque SE
Quelques attaques classiques
Déni de service
Virus
Perturber le trafic
Attaque DoS : ECHO, chargen
ECHO (port 7)
retourne ce qu’envoie le client
Chargen (port 19)
UDP : retourne un datagramme contenant un nombre aléatoire de caractères à chaque datagramme reçu
Pirate forge un paquet UDP
@src : machine source @dest : machine cible
Port source : echo Port dest : chargen
Chevaux de Troie
C:\>netstat -na
Connexions actives
Proto Adresse locale Adresse distante État
TCP 0.0.0.0:51025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:51034 0.0.0.0:0 LISTENING
TCP 192.168.3.61:137 0.0.0.0:0 LISTENING
TCP 192.168.3.61:138 0.0.0.0:0 LISTENING
TCP 192.168.3.61:139 0.0.0.0:0 LISTENING
UDP 192.168.3.61:137 *:*
UDP 192.168.3.61:138 *:*
Autres chevaux de Troie
Objectif :
Laisser une faille
Remonter des informations (en laissant un sonde (sniffer)
Exemple
capture de frappe au clavier (AOL Gold)
Comment déposer un cheval de Troie
Rappel du fct de FTP
Canal de contrôle
Canal de données
Deux modes:
actif (serveur contacte client)
GET : Récupération du fichier du pirate
PUT : Récupération fichier client par pirate
passif (client contacte serveur)
GET : Récupération fichier client par pirate
PUT : le fichier sur le serveur est celui du pirate
Débordement de tampon
Exemple de session de piratage par débordement:
(exploite une vulnérabilité de imapd)
machine_pirate# imapd-exploit mail.com
machine_pirate# telnet mail.com
Username : Root
Login :
Mail#
Perturber le trafic
SMURF
utiliser le réseau pour attaquer une machine seule
Macof de DSNIFF
Envoi d’un grand nombre de requête ARP => engorgement des commutateurs
Exploiter des failles des implémentations
Ping de la mort
Fragmentation IP de paquets de grande taille
Teardrop
Fragment écrasant la partie précédente
Land
adresses et ports source et destination identiques
OOB (Out-Of-Band)
Pointeur URG en dehors du paquet
Ping de la mort (deathping)
La specs IP limite la taille d’un paquet à 65536 octets.
Certaines implémentations de ping permettent d’envoyer des paquets dépassant cette limite
=> au réassemblage, il y a débordement et plantage de la machine cible.
Fragmentation IP
Seq # Attack (Spoof & DoS)
Relation d’approbation sous Unix
/etc/.rhosts ou /etc/hosts.equiv
node1.sams.hacker.net bob
node2.sams.hacker.net alice
Envoyer un SYN
Attendre ou DoS sur la machine usurpée
Deviner le # de séq initial du SYN-ACK
ARP
spoofing
Consiste simplement à forger des trames ayant pour adresse MAC l’adresse du pirate.
Cache poisoning
ARP cache poisining
Comment devenir passeur de seaux (MITM)
Routage par la source
Option IP avec 9 adresses
#@1#@2 …
Exploitation du protocole de routage
RIP, OSPF, BGP, EGP
Le pirate forge un paquet dans l’un de ces protocoles et l’adresse à un routeur cible
Le routeur cible envoie tous les paquets à la machine pirate !
Détournement de session
Session Hijacking
Attendre que les mots de passe ait été échangé
Synchroniser les n° de séquence
Envoyer un RST au client usurpé
Comment déterminer si votre réseau est vulnérable ?