Sunteți pe pagina 1din 39

Facult des sciences et techniques de

SETTAT
Master Systme et Rseau 2009 / 2010
Prsents par:
OTMANI SI MOHAMED
Introduction aux attaques

Tout ordinateur connect un rseau informatique est potentiellement
vulnrable une attaque.
Une attaque est l'exploitation d'une faille d'un systme informatique
(systme d'exploitation, logiciel ou bien mme de l'utilisateur).
Sur Internet des attaques ont lieu en permanence, raison de plusieurs
attaques par minute sur chaque machine connecte. Ces attaques sont pour
la plupart lances automatiquement partir de machines infectes (par des
virus, chevaux de Troie, vers, Les motivations des attaques peuvent tre
de diffrentes sortes :

obtenir un accs au systme ;
voler des informations, tels que des secrets industriels ou des proprits
intellectuelles ;
rcuprer des informations personnelles sur un utilisateur ;
rcuprer des donnes bancaires ;
s'informer sur l'organisation (entreprise de l'utilisateur, etc.) ;
troubler le bon fonctionnement d'un service ;
utiliser le systme de l'utilisateur comme rebond pour une attaque ;


Les types dattaques
Les hackers utilisent plusieurs techniques dattaques. ces
attaques peuvent tre regroupes en trois familles
diffrentes


Les attaques directes.

Les attaques indirectes par reband.

Les attaques indirectes par rponses




Les attaques directes

C'est la plus simple des attaques. Le hacker attaque directement sa victime
partir de son ordinateur. La plupart des "script kiddies" utilisent cette
technique. En effet, les programmes de hack qu'ils utilisent ne sont que
faiblement paramtrable, et un grand nombre de ces logiciels envoient
directement les paquets la victime.

Si vous vous faites attaqus de la sorte, il y a de grandes chances pour
que vous puissiez remonter l'origine de l'attaque,

Les attaques indirectes par rebond
Cette attaque est trs prise des hackers. En effet, le rebond a deux
avantages :

Masquer l'identit (l'adresse IP) du hacker.
ventuellement, utiliser les ressources de l'ordinateur intermdiaire car
il est plus puissant (CPU, bande passante...) pour attaquer.
Le principe en lui mme, est simple : Les paquets d'attaque sont envoys
l'ordinateur intermdiaire, qui rpercute l'attaque vers la victime. D'o le
terme de rebond.
Les attaques indirectes par rponse

Cette attaque est un driv de l'attaque par rebond. Elle offre les mme
avantages, du point de vue du hacker. Mais au lieu d'envoyer une attaque
l'ordinateur intermdiaire pour qu'il la rpercute, l'attaquant va lui
envoyer une requte. Et c'est cette rponse la requte qui va tre
envoye l'ordinateur victime
L aussi, il n'est pas ais de remonter la source...
Lorsque vous faites attaquer, cela peut se faire en direct ou via un ou
plusieurs ordinateurs intermdiaires. Le fait de comprendre l'attaque va
vous permettre de savoir comment remonter au hacker.

L'attaque Snork
Qu'est-ce que c'est ?

L'attaque Snork vise les systmes WinNT. Elle consite envoyer une trame
UDP provenant du port 7 (Echo), 19 (Chargen) ou 135, et ayant pour
destination le port 135 (Microsoft Location Service). Si les services sont
lancs, cela a pour consquence d'tablir une communication de dure
infinie, et gnre des trames non ncessaires. Cela rduit considrablement
la bande passante et la puissance CPU.
Consquences :

Ralentissement systme
Perte de bande passante

Comment s'en protger ?


Configurer les routeurs et firewalls pour bloquer les packets UDP
ayant une destination de port 135 et ayant un port source de 7,19 ou
135 et qui proviennent de l'extrieur de votre rseau.
Microsoft a fourni un patch.

Qu'est-ce que le spoofing IP ?

Comme l'indique le schma ci-dessus, la technique du spoofing (difficile
mettre en oeuvre) peut permettre un pirate de faire passer des paquets sur
un rseau sans que ceux-ci ne soient intercepts par le systme de filtrage
de paquets (firewall).. Ainsi, un paquet spoof avec l'adresse IP d'une
machine interne semblera provenir du rseau interne et sera transmis la
machine cible, tandis qu'un paquet contenant une adresse IP externe sera
automatiquement rejet par le firewall.

Modification de l'en-tte TCP
Sur internet, les informations circulent grce au protocole IP, qui assure
l'encapsulation des donnes dans des structures appeles paquets (ou plus
exactement datagramme IP). Voici la structure d'un datagramme :
Masquer son adresse IP avec la technique du spoofing revient modifier le
champ source afin de simuler un datagramme provenant d'une autre adresse IP
(donc d'une autre machine). Toutefois, sur internet, les paquets sont
gnralement transports par le protocole TCP, qui assure une transmission dite
fiable.
Ainsi, avant d'accepter un paquet, une machine doit auparavant accuser
rception de celui-ci auprs de la machine mettrice, et attendre que cette
dernire confirme la bonne rception de l'accus.
Dans le cadre d'une attaque par spoofing, l'attaquant n'a aucune information
car les rponses de la machine cible vont vers une autre machine du rseau
(on parle alors d'attaque l'aveugle, en anglais blind attack).
le travail du hacker consiste alors invalider la machine spoofe en la
rendant injoignable pendant toute la dure de l'attaque.
Lorsque la machine spoofe est invalide, la machine cible attend un paquet
contenant l'accus de rception et le bon numro de squence. Tout le travail
du pirate consiste alors "deviner" le numro de squence renvoyer au
serveur afin que la relation de confiance soit tablie.
Pour cela, les pirates utilisent gnralement le source routing, c'est--dire
qu'ils utilisent le champ option de l'en-tte IP afin d'indiquer une route de
retour spcifique pour le paquet. Ainsi, grce au sniffing, le pirate sera
mme de lire le contenu des trames de retour ...
Ainsi, en connaissant le dernier numro de squence mis, le pirate tablit
des statistiques concernant son incrmentation et envoie des accuss de
rception jusqu' obtenir le bon numro de squence.
Le DNS Spoofing
Qu'est-ce que c'est ?

L'objectif de cette attaque est de rdiriger, leur insu, des Internautes vers
des sites pirates. Pour la mener bien, le pirate utilise des faiblesses du
protocole DNS (Domain Name System) et/ou de son implmentation au travers
des serveurs de nom de domaine. A titre de rappel, le protocole DNS met en
oeuvre les mcanismes permettant de faire la correspondance entre une
adresse IP et un nom de machine (ex.: www.truc.com). Il existe deux
principales attaques de type DNS Spoofing : le DNS ID Spoofing et le DNS
Cache Poisoning. Concrtement, le but du pirate est de faire correspondre
l'adresse IP d'une machine qu'il contrle un nom rel et valide d'une machine
publique.
DNS ID Spoofing
Si une machine A veut communiquer avec une machine B, la machine A a
obligatoirement besoin de l'adresse IP de la machine B. Cependant, il se
peut que A possde uniquement le nom de B. Dans ce cas, A va utiliser le
protocole DNS pour obtenir l'adresse IP de B partir de son nom.
Une requte DNS est alors envoye un serveur DNS, dclar au niveau
de A, demandant la rsolution du nom de B en son adresse IP. Pour
identifier cette requte une numro d'identification (en fait un champs de
l'en-tte du protocole DNS) lui est assign. Ainsi, le serveur DNS
enverra la rponse cette requte avec le mme numro d'identification.
L'attaque va donc consister rcuprer ce numro d'identification (en
sniffant, quand l'attaque est effectue sur le mme rseau physique, ou
en utilisant une faille des systmes d'exploitation ou des serveurs DNS)
pour pouvoir envoyer une rponse falsifie avant le serveur DNS. Ainsi, la
machine A utilisera, sans le savoir, l'adresse IP du pirate et non celle de
la machine B initialement destinatrice. Le schma ci-dessous illustre
simplement le principe du DNS ID Spoofing.
DNS Cache Poisoning
Les serveurs DNS possdent un cache permettant de garder pendant un
certain temps la correspondance entre un nom de machine et son adresse
IP. En effet, un serveur DNS n'a les correspondances que pour les
machines du domaine sur lequel il a autorit. Pour les autres machines, il
contacte le serveur DNS ayant autorit sur le domaine auquel
appartiennent ces machines. Ces rponses, pour viter de sans cesse les
redemander aux diffrents serveurs DNS, seront gardes dans ce cache.
Le DNS Cache Poisoning consiste corrompre ce cache avec de fausses
informations. Pour cela le pirate doit avoir sous son contrle un nom de
domaine (par exemple fourbe.com) et le serveur DNS ayant autorit sur
celui-ci ns.fourbe.com. L'attaque se droule en plusieurs tapes :
Le pirate envoie une requte vers le serveur DNS cible demandant la
rsolution du nom d'une machine du domaine fourbe.com (ex.:
www.fourbe.com)
Le serveur DNS cible relaie cette requte ns.fourbe.com (puisque c'est
lui qui a autorit sur le domaine fourbe.com)

Le serveur DNS du pirate (modifi pour l'occasion) enverra alors, en plus de
la rponse, des enregistrements additionnels (dans lesquels se trouvent les
informations falsifies savoir un nom de machine publique associ une
adresse IP du pirate)

Les enregistrements additionnels sont alors mis dans le cache du serveur
DNS cible Une machine faisant une requte sur le serveur DNS cible
demandant la rsolution d'un des noms corrompus aura pour rponse une
adresse IP autre que l'adresse IP relle associe cette machine.
Comment s'en protger ?


Mettre jour les serveurs DNS (pour viter la prdictibilit des numros
d'identification et les failles permettant de prendre le contrle du
serveur)

Configurer le serveur DNS pour qu'il ne rsolve directement que les noms
des machines du domaine sur lequel il a autorit
Limiter le cache et vrifier qu'il ne garde pas les enregistrements
additionnels.



Les backdoors

Les backdoors sont des accs cachs sur un systme ou sur une
application. Le principe d'une backdoors est similaire celui du cheval de
Troie. L'objectif est de modifier ou d'utiliser un programme pour accder
discrtement un ordinateur distant, modifier le comportement d'un
programme, devenir administrateur.
Les backdoors prsentes dans les logiciels.

Parfois, certains logiciels (messagerie, utilitaires systmes) peuvent
contenir des backdoors, c'est--dire que, pour certaines commandes
suivies d'arguments particuliers ou avec un mot de passe bien dfini, le
logiciel peut avoir un comportement diffrent (permettre l'utilisateur de
devenir root, renvoyer un shell systme l'utilisateur, etc.).
Ces "trappes" sont inclues directement dans le code du logiciel. Certains
dveloppeurs sont soucieux de possder un accs sur tous les systmes
utilisant leurs logiciels. Par exemple, Ken Thompson, l'un des pres
d'UNIX, avoue avoir modifi l'application /bin/login en permettant l'accs
direct au systme par la saisie d'un mot de passe prcompil en dur.
Thompson pouvait ainsi visiter tous les systmes utilisant son application
modifie
Cette attaque, appele aussi ARP Redirect, redirige le trafic rseau dune
ou plusieurs machine vers la machine du pirate.

Cest une technique de spoofing efficace bien que dtectable dans les logs
dadministration; elle consiste sattribuer ladresse IP de la machine cible,
cest--dire faire correspondre son adresse IP ladresse MAC de la
machine pirate dans les tables ARP des machines du rseau. Pour cela il
suffit en fait denvoyer rgulirement des paquets ARP_reply en broadcast,
contenant ladresse IP cible et la fausse adresse MAC. Cela a pour effet de
modifier les tables dynamiques de toutes les machines du rseau. Celles-ci
enverront donc leur trames ethernet la machine pirate tout en croyant
communiquer avec la cible, et ce de faon transparente pour les switches.
De son ct, la machine pirate stocke le traffic et le renvoie la vraie
machine en forgeant des trames ethernet comportant la vraie adresse MAC
(indpendament de ladresse IP).

Cette technique est trs puissante puisquelle opre au niveau ethernet,
permettant ainsi de spoofer le traffic IP et mme TCP (cela dpend entre
autres des dlais engendrs par la machine pirate). Dautre part, elle
permet de contourner les barrires que constituent habituellement les
switches (partitionnement de rseaux).
ARP-Poisoning

a solution la plus immdiate consiste saisir manuellement sur chaque poste
la table de toutes les adresses physiques prsentes sur le rseau local. Si
elle est immdiate, cette solution est quasiment inapplicable compte tenu du
nombre d'htes connects au rseau local.

Une solution correcte consiste mettre en place un serveur DHCP avec une
liste ferme de correspondance entre adresses physiques (MAC) et IP.
Relativement la solution prcdente, la liste exhaustive des adresses
physiques est centralise sur le serveur DHCP. On peut ensuite configurer
la journalisation du service pour que toute requte DHCP relative une
adresse MAC inconnue gnre un courrier vers l'administrateur systme.

Enfin, On peut utiliser sous UNIX, un logiciel spcialis : arpwatch qui
permet de surveiller tout le trafic ARP.
Les NIDS peuvent aussi dtecter ce type d'attaques (notamment Prelude-
IDS).
solution
Man In the Middle - MITM

Les attaques de type Man-In-the-Middle sont trs faciles comprendre.

Man-in-the-Middle signifie l'homme du milieu. Cette attaque fait
intervenir trois protagonistes : le client, le serveur et l'attaquant.

Le but de l'attaquant est de se faire passer pour le client auprs du
serveur et se faire passer pour le serveur auprs du client. Il devient
ainsi l'homme du milieu. Cela permet de surveiller tout le trafic rseau
entre le client et le serveur, et de le modifier sa guise pour l'obtention
d'informations (mots de passe, accs systme, etc.).
Les techniques de scan



C'est trs simple : lorsqu'un serveur offre un service particulier (Web,
messagerie, mail), il excute un programme assurant ce service. Ce programme
est en attente de connexions. Les clients devant accder ce service doivent
connatre l'adresse IP du serveur et le numro de port associ au service. Ce
numro de port a t attribu suivant le document standard RFC1010 au
programme excutant ce service. Sur les systmes Linux et *BSD la liste de ces
numros est disponible dans le fichier /etc/services. La plupart des services ont
un numro de port bien dfini. Par exemple, un serveur de messagerie utilise le
port 25, un serveur Web le port 80... Lorsqu'un service est en coute sur un port,
on dit que le numro de port associ ce service est ouvert. L'intrt du scanner
est trs simple : il permet de trouver dans un dlai trs court, tous les ports
ouverts sur une machine distante. Il existe diffrents types de scanner, certains
se contentent juste de donner : la liste des ports ouverts, le type et la version de
l'OS tournant sur le serveur
Exemple avec Nmap

Pour connatre les ports ouverts sur une machine, Nmap procde l'envoi
de paquets sur tous les ports de cette machine et analyse les rponses.
Bien sr, il y a diffrents types de scans, donc diffrents types d'envois et
donc, diffrents types de rponses.
Nous nous intresserons aux scans utilisant le protocole TCP
Le scan vanilla TCP connect

Nmap procde l'appel de la fonction connect() sur tous les ports de
la machine. Ce type de scan est facilement reprable.
Le scan en vanilla TCP connect est le scan par dfaut avec Nmap, la
commande est :
Les scans furtifs


Le scan en connexion demi-ouverte ou "Syn-scan"
Nmap envoie sur chaque port un paquet TCP avec le flag SYN
arm ; si un port est ouvert, il renverra un paquet avec les flags
SYN et ACK arms. Illustration :

La commande se fait par l'appel de nmap avec l'option -sS :
Les scans Xmas, FIN et NULL
Le scan FIN consiste en l'envoi de paquets TCP avec seulement le flag FIN
arm. La commande se fait par l'appel de nmap avec l'option -sF :
Le scan NULL consiste en l'envoi de paquets TCP avec seulement le flag
NULL arm. La commande se fait par l'appel de nmap avec l'option -sN :
Le Xmas scan (traduisez le scan de Nol) consiste en l'envoi de paquets TCP
avec les flags FIN/URG/PUSH arms. La commande se fait par l'appel de
nmap avec l'option -sX :
Pour ces trois types de scans, les systmes rpondent avec un paquet RST si
le port est ferm et ne rpondent pas si le port est ouvert. :
La dtermination du systme d'exploitation avec Nmap

Comment s'en protger ?

Configurer votre pare-feu pour empcher les scans :
[root@nowhere /root]# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST
RST -m limit --limit 1/s -j ACCEPT
Nmap parvient dterminer le systme d'exploitation tournant sur la machine
cible. La machine cible utilise un noyau Linux 2.4.21-grsec. Nmap ne s'est pas
tromp.
Il faut savoir que chaque systme d'exploitation construit ses paquets d'une
manire bien particulire. Certains champs au niveau de la couche IP ou TCP
sont propres chaque systme d'exploitation. Nmap contient une base de
donnes d'un grand nombre de systmes. Nmap envoie donc des paquets tests
la machine cible et compare les paquets reus en rponse ceux de sa base
de donnes et en dduit le type de systme.
Cette base de donnes est mise jour en fonction des diffrentes version de
Nmap.
Dnis de service
Le "Denial-of-service" ou dni de service est une attaque trs volue visant
rendre muette une machine en la submergeant de traffic inutile. Il peut y
avoir plusieurs machines l'origine de cette attaque (c'est alors une attaque
distribue, voir fiche DDoS) qui vise anantir des serveurs, des sous
rseaux, etc. D'autre part, elle reste trs difficile contrer ou viter.
Types d'attaques
Parmi les attaques propres crer un dni de service, nous pouvons rappeler
entre autres :
les buffers overflows (mails, ping of Death...)
l'attaque SYN
l'attaque Teardrop
l'attaque SMURF
les virus
Le SYN flood

Cette technique consiste saturer un serveur en envoyant une
multitude de paquets TCP avec le flag SYN arm, cela aura pour
but de crer une multitude de connexions demandant un grand
nombre de ressources systme.
La plupart des attaques par SYN-flood sont bien dtectes par
diffrents firewalls.
Comment s'en protger ?

Exemple avec iptables limitant les demandes d'tablissement de
connexion TCP acceptes une par seconde:
[root@nowhere /root]# iptables -A FORWARD -p tcp --syn -m
limit --limit 1/second -j ACCEPT
Attaque par rflexion : Smurfing

Cette attaque est base sur le protocole ICMP. Lorsqu'on envoie un ping
un rseau en broadcast (par exemple 255.255.255.0), le paquet est
envoy chacune des machines du rseau.

Un pirate envoie un ping en broadcast sur un rseau (A) avec une adresse
IP source correspondant celle de la machine cible (B). Le flux entre le
port ping de la cible (B) et du rseau (A) sera multipli par le nombre de
machines sur le rseau (A).

Cela conduit une saturation de la bande passante du rseau (A) et du
systme de traitement de paquets de (B).
Comment s'en protger ?
Configurez votre firewall pour limiter le traffic ICMP. Exemple avec iptables :
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit
--limit 1/second -j ACCEPT
Qu'est-ce que le phishing ?

Le phishing est un type de falsification qui a pour but de voler votre identit. Ainsi,
une personne malveillante tente d'obtenir des informations, telles que vos numros
de carte de crdit, vos mots de passe, vos numros de compte ou autres
informations confidentielles sous de faux prtextes. Ce type d'attaque se produit
gnralement par l'intermdiaire de messages lectroniques
Quel est le principe du phishing ?

Un utilisateur malveillant envoie des millions de messages falsifis qui semblent
provenir de sites Web connus ou de sites de confiance, tels que ceux de votre
banque ou de votre gestionnaire de carte de crdit. Ces messages, et les sites Web
auxquels ils renvoient, sont souvent si proches de l'original que de nombreuses
personnes s'y trompent et communiquent leurs numros de carte de crdit, leurs
mots de passe, leurs numros de compte et autres informations personnelles.

Les scripts et applets dans le HTML
Malheureusement, d'autres moyens existent, typiquement venus de l'Internet, dans
les pages HTML. En effet, pour rendre les pages HTML plus vivantes, il devient
possible d'y insrer des composants
actifs. Parmi ceux-ci nous trouvons:

Les scripts (javascript, vbscript).

Ce ne sont pas les plus dangereux parce que les langages de scripts offrent
rarement des fonctions pouvant tre utilises des fins vraiment
destructrices. Ils disposent cependant de la possibilit de lancer des
excutables locaux, c'est en cela qu'ils peuvent devenir dangereux.
Les applets Java ou les composants ActiveX.

Plus puissants, ils sont introduits dans les pages HTML sous la forme de
composants compils (ou pr compils). Leur contenu n'est pas visible et les
outils qui permettent de les construire (Java ou Visual Basic) offrent des
fonctions permettant de raliser des oprations extrmement dangereuses.

Encapsulation d'IP dans d'autres protocoles.

Certains logiciels permettent d'encapsuler le protocole IP dans d'autres
protocoles comme SSH, HTTP, etc.. Ce type d'encapsulation peut tre la base
de nombreuses attaques rseaux.
Par exemple, imaginons cette situation : un pirate veut se connecter sur le
port FTP (21) d'une machine A d'un rseau protg par un firewall B. B
n'autorise et n'assure que le trafic HTTP. Si le pirate veut se connecter sur A, il
encapsule les paquets destination de A dans des requtes HTTP destines
B. B accepte ces paquets car ils reposent sur le protocole HTTP. Si B est mal
configur, il enverra A les paquets lui tant destins.
tude de cas

Downgrade attack SSH:

Une attaque particulirement sournoise appele "downgrade attack" ou attaque
par abaissement de version peut tre utilise une fois dans la position de l'homme
du milieu ("man in the middle"). Le principe est d'abaisser la version d'un
protocole en changeant des donnes l'intrieur de paquets, pour une autre
version connue pour tre vulnrable.

--------------- Principe ----------------

SSH est le plus fameux exemple d'une attaque par abaissement de version o
l'attaquant force le client et le serveur utiliser le protocole vulnrable SSH1.

Le client envoie une requte pour tablir un lien SSH vers le serveur et lui
demande quelle version il supporte.
Les possibilits de rponse du serveur dont les suivantes:

- ssh-2.xx Le serveur supporte seulement SSH2
- ssh-1.99 LE serveur supporte SSH1 et SSH2
- ssh-1.51 Le serveur supporte seulement SSH1


Dans notre exemple, le serveur est configur pour supporter la fois SSH1 et
SSH2 et le client est configur galement pour utiliser SSH1 et SSH2 mais
SSH2 de manire prfre.


Supposons que le serveur est configur pour SSH1 et SSH2, le hacker va
modifier la rponse en changeant le champ "1.99" en "1.51" pour indiquer au
client que le serveur ne supporte que SSH1 et ainsi forcer le client ouvrir un
lien SSH1.


Le client qui pense utiliser le protocole scuris SSH2, va se conncter avec
SSH1 et le mot de passe sera immdiatement captur par le hacker en raison
du faible mcanisme d'authentification SSH1.

S-ar putea să vă placă și