Les 5 étapes d`un Hacking réussi

Transcription

Les 5 étapes d`un Hacking réussi
Les 5 étapes d'un
Hacking réussi
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Ce document est offert gratuitement par le site web Le Blog Du Hacker.
Vous pouvez librement le copier, le partager ou encore l'offrir en cadeau
via un site web par exemple.
Mais vous ne pouvez pas modifier le contenu sans autorisation préalable
ni le vendre directement ou le partager dans des conditions non
autorisées par la loi.
Les 5 étapes d'un Hacking réussi de Michel Kartner est mis à disposition
selon les termes de la licence Creative Commons Attribution - Pas de
Modification 3.0 non transposé.
Les autorisations au-delà du champ de cette licence peuvent être
obtenues à http://www.leblogduhacker.fr/contact.
Disclaimer :
Le site web Le Blog Du Hacker dont ce document est issu présente des
techniques à titre indicatif et préventif uniquement. En aucun cas ces
informations n'incitent à transgresser les lois. Ce e-book a pour but
d'expliquer la méthodologie généralement utilisée par les pirates pour
s'introduire dans un système informatique. Il ne cherche pas à expliquer
comment compromettre un système mais plutôt à comprendre la façon
dont il peut l'être afin de mieux pouvoir s'en prémunir. C'est la façon de
faire standard dans le hacking éthique.
Ainsi cet article ne donne aucune précision sur la manière dont les failles
sont exploitées, mais explique comment faire afin de les déceler et de les
corriger.
Les termes « hacker » et « pirate » sont souvent confondus (même
volontairement), mais un « hacker éthique » qui apprend l'attaque pour
se défendre en toute légalité n'a rien à voir avec le pirate alias « hacker
malveillant » qui cause de dommages à autrui.
2
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Sommaire
Introduction...........................................................................4
1 La reconnaissance.................................................................5
1.1 Qu'est-ce que la reconnaissance ?..................................5
1.2 Connaître la cible........................................................7
1.3 Connaître le système de la cible....................................8
2 Le balayage réseau...............................................................9
2.1 Qu'est-ce que le balayage réseau ?................................9
2.2 Quels sont les outils utilisés ?........................................10
2.3 Les 6 étapes d'un balayage réussi..................................11
3 Gagner l'accès......................................................................12
3.1 Comment gagner l'accès à la machine............................12
4 Maintenir l'accès...................................................................13
4.1 Techniques de détection utilisées...................................14
5 Couvrir les traces..................................................................15
5.1 Pourquoi couvrir les traces............................................15
5.2 Comment couvrir les traces..........................................15
3
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Introduction
Nous sommes dans un monde 2.0, l'informatique ne se limite plus aux
ordinateurs, elle est partout, dans les téléphones portables, dans les
maisons, dans les voitures, dans les vêtements et même dans les
lunettes !
Les informations circulent à une allure incroyable et parmi elles circulent
beaucoup de données privées et sensibles.
On appellera système d'information tous les moyens matériels et
logiciels mis à notre disposition et permettant de faire circuler ces
informations.
La confidentialité de certaines informations ainsi que l'augmentation des
moyens de les transmettre nous poussent donc à trouver un moyen de
sécuriser ce système d'information.
Ce travail est habituellement celui d'un hacker éthique. Il s'agit d'un
hacker qui va chercher à trouver des failles dans un système afin de les
sécuriser.
Les failles ne se situent pas que dans les systèmes, loin de là.
Le hacker peut également chercher des failles dans le comportement de
l'être humain à l'aide d'une technique de manipulation sociale aussi
appelée en anglais Social Engineering.
Pour réussir à trouver des failles, le hacker éthique agira toujours par
étapes. Ces étapes permettent de se mettre à la place de l'attaquant
dans le but de mieux sécuriser le système d'information.
En effet, le slogan typique du milieu du hacking éthique est le suivant :
Apprendre l'attaque pour mieux se défendre.
Il y a en tout cinq grandes étapes, qui lorsqu'elles sont accomplies
avec succès garantissent presque toujours un Hacking réussi. Le
hacker éthique devra donc les couvrir une par une et en tirer des
conclusions.
4
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Les cinq étapes dont nous allons parler sont, dans l'ordre :
1. La reconnaissance
2. Le balayage réseau
3. Gagner l'accès
4. Maintenir l'accès
5. Couvrir les traces
Nous allons à présent les détailler une par une.
1 La reconnaissance
La reconnaissance est généralement l'étape la plus longue mais elle est
aussi la plus facile.
1.1 Qu'est-ce que la reconnaissance ?
Le terme « reconnaissance » est une expression issue des militaires.
Ces derniers s'organisaient afin de récupérer des informations sur leur
cible avant de passer à l'attaque.
Nous allons procéder de la même manière en récupérant des
informations sur une cible à partir de divers endroits dont Internet car il
s'agit d'une source énorme d'information.
Nous l'avons vu dans l'introduction, les informations circulent par tous
les moyens mis à notre disposition, ce qui étend donc la reconnaissance
au système d'information en général.
Nous allons admettre par la suite qu'un client nous a contacté car il
souhaite sécuriser son système. Nous allons agir en tant que hacker
éthique en nous plaçant dans la peau d'un pirate.
Pour rappel, on emploiera le mot « pirate » pour designer un hacker
malveillant dans le cadre précis de cet e-book. On aurait pu utiliser les
termes « cracker » ou encore « black-hat » qui sont des équivalents.
5
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
On appellera également notre client la « cible ».
On admettra aussi que la cible nous a uniquement fourni son adresse email et le nom de son site web en tant qu'informations de base.
Le pirate cherchera à récupérer des informations selon un ordre de
grandeur.
Il récupérera d'abord les informations générales puis il finira par les
petits détails.
Le but est de dresser la carte d'identité de la cible pour déterminer son
comportement et ses connaissances face à la sécurité informatique.
Mais il cherchera également à dresser la carte d'identité du système
qu'il essaiera d'attaquer afin de s'y introduire.
Le pirate organisera toujours les informations récoltées à une étape
donnée en vue de s'en servir dans les étapes qui suivent.
La réussite des prochaines étapes et donc du piratage repose ainsi sur le
temps passé à cette étape de reconnaissance et sur la qualité des
informations recueillies.
Par ailleurs, la reconnaissance est légale dans le sens ou les informations
sont souvent partagées par la cible de son plein gré.
En effet, la plupart des profils des utilisateurs sur les réseaux sociaux
sont volontairement publics ainsi que les pseudonymes et autres
informations disponibles sur des espaces communautaires tels que les
forums de discussion. C'est la négligence des internautes qui est bien
souvent la cause d'une attaque réussie.
On peut cependant effectuer une reconnaissance de façon moins légale à
l'aide d'outils spécialisés dans le sniffing (reniflage) réseau.
Le sniffing réseau consiste à récupérer à la volée des informations non
chiffrées transmises entre machines. On parle aussi de capture de
paquets.
Cependant, ces informations transmises via le réseau sont souvent
confidentielles comme les mots de passe que la cible ne partage cette
fois pas de son plein gré.
6
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Un message transmis sur le réseau est divisé en paquets contenant
chacun un entête et des informations utiles à la reconstruction exacte du
message lorsqu'il arrive sur la machine cible.
WireShark est un célèbre outil de sniffing réseau permettant de capturer
et d'analyser à la volée ces fameux paquets.
On également vu l'extension Firefox appelée Firesheep qui permettait de
voler toutes les sessions des utilisateurs sur un même réseau LAN.
Imaginez qu'il suffisait d'installer cette extension pour voler le compte
Facebook de toutes les personnes connectées sur le même réseau...
1.2 Connaître la cible
Le pirate est en possession d'une adresse e-mail et d'un site web. Ces
informations semblent tout à fait anodines mais suffisent largement.
On considérera que l'adresse e-mail en question est : [email protected]
et que le site web est : http://www.cible.com/ (oui c'est très recherché).
Le pirate va commencer par chercher à connaître plus d'informations sur
la cible.
Il va donc taper "[email protected]" sur Google avec les doubles quotes
(") pour voir si cette adresse mail a déjà été indexée, avec du contenu
qui sera forcément lié à la cible.
Pas de chance, il ne trouve rien.
Cela dit, en recherchant l'adresse sur le célèbre réseau social Facebook,
il tombe cette fois-ci sur le profil de sa cible.
Il peut à partir de là commencer la partie Social Engineering en créant
un faux profil afin d'ajouter la cible aux amis de ce faux profil et de
récupérer beaucoup d'informations sur elle.
Chaque pièce d'information supplémentaire comme une adresse e-mail
secondaire permettra de répéter les étapes afin de mieux identifier cette
fameuse cible.
Comment sécuriser cela ?
Il faut commencer par prendre conscience qu'une information qui paraît
tout à fait anodine se révèle être une mine d'or pour un pirate. L'adresse
7
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
mail est bien souvent négligée mais elle constitue une partie réelle de
l'identité de la victime. Il est également possible de définir une autre
adresse e-mail spécialement pour Facebook (ou un autre service
particulier, ce qui est recommandé), ou carrément de refuser la recherche
d'un profil via son adresse e-mail.
Pour se faire, rendez-vous directement sur ce lien :
https://www.facebook.com/settings/?
tab=privacy&privacy_source=privacy_lite
et changez les paramètres sous « Qui peut me trouver avec une
recherche ? »
afin qu'ils soient restreints.
1.3 Connaître le système de la cible
À présent, le pirate dispose de suffisamment d'informations sur la cible. Il
va en chercher d'autres relatives cette fois-ci à l'entreprise de la cible et
plus précisément à son système.
La cible dispose d'une entreprise dont le siège social se situe dans une
certaine ville.
La cible dispose également d'une secrétaire.
Grâce au site web de la cible, le pirate obtient l'adresse de cette
entreprise à l'aide d'un outil appelé whois.
Whois permet de trouver des informations sur le propriétaire d'un site
web. Ces informations sont fournies par le propriétaire lui-même lors de
l'enregistrement de son nom de domaine.
D'autres outils comme dnslookup sont utilisables pour obtenir des
détails sur un nom de domaine, voire pour trouver l'ensemble des sites
hébergés sur un même serveur.
En se rendant à l'adresse indiquée dans les résultats du whois, le pirate
tombe donc sur l'entreprise de la cible.
La secrétaire présente dans le bâtiment n'a reçu aucune sensibilisation
en sécurité et se retrouve à donner la liste des serveurs privés après
20min de dialogue et quelques techniques de manipulation sociale.
8
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Comment sécuriser cela ?
On a vu que du personnel non sensibilisé est un gros point faible dans
une entreprise. Il faut nécessairement organiser des présentations des
techniques fondamentales de sécurité. Les attaques par Social
Engineering utilisent massivement les émotions et les sentiments. L'être
humain est donc facilement manipulé, il faut donc veiller à garder un tête
des principes de sécurité strictes comme ne jamais divulguer aucune
information personnelle à qui que ce soit.
Le pirate peut à présent organiser et structurer toutes les informations
récupérées afin de continuer vers la prochaine étape.
On l'aura donc bien compris, cette étape est longue, le pirate fera preuve
de patience et d'intelligence. Il devra également s'assurer de la
véracité des informations qu'il détient.
2 Le balayage réseau
Cette étape s'appuie sur la reconnaissance et la pousse un peu plus loin
en cherchant des informations plus techniques et spécifiques.
2.1 Qu'est-ce que le balayage réseau ?
Le balayage réseau consiste à scanner les ports d'une machine et à
identifier les vulnérabilités éventuelles de celle-ci dans le but de les
exploiter plus tard.
Généralement, des outils tout faits permettent d'établir des vulnérabilités
spécifiques dans telle ou telle version d'un serveur web ou d'un
programme.
Ces outils sont faciles à utiliser car ils sont généralement open source et
livrés avec des tutoriels ou notices d'utilisation complètes.
Le pirate cherchera également à identifier les noms des ordinateurs, les
versions des systèmes d'exploitation, les logiciels installés et bien sûr les
adresses IP des diverses machines sans compter toutes les autres
informations qui pourraient être intéressantes.
9
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
2.2 Quels outils sont utilisés ?
Parmi les outils les plus couramment utilisés, on peut noter l'outil
traceroute qui permet par exemple de suivre les chemins qu'un paquet
va prendre pour passer de la machine locale à la machine distante.
Le balayage des ports (port scanning en anglais) est également très
utilisé. Il permet de détecter les ports ouverts d'une machine et
d'identifier les services qui y sont associés.
Comment sécuriser cela ?
Généralement, il suffit de désactiver les services inutiles afin de ne pas
rendre la machine trop « bavarde ».
Sous les machines unix il est possible de fermer les ports non utilisés
grâce à la commande iptables qui agit comme un pare feu.
Ici, manque de chance pour la cible, elle a installé beaucoup de services
inutiles dans le passé qui n'ont plus été mis à jour depuis.
Nmap est un scanner de ports très populaire permettant de détecter
rapidement les ports ouverts d'une machine.
Une commande basique ressemble à :
sudo nmap -sS -O 127.0.0.1
•
-sS signifie balayage TCP SYN.
•
-O active la détection du système d'exploitation.
Le dernier paramètre est l'IP de la machine à scanner que le pirate aura
par exemple récupérée via traceroute.
Le pirate va donc scanner les IPs des serveurs obtenues précédemment
et va trouver le service non mis à jour contenant des vulnérabilités
critiques.
10
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
2.3 Les 5 étapes d'un balayage réussi
Un balayage réussi est habituellement décomposé en cinq étapes :
1. Établissement des machines disponibles et qui répondent sur le
réseau.
2. Détection des ports ouverts sur ces machines.
3. Identification des services lancés sur celles-ci.
4. Recherche des vulnérabilités qu'ils comportent.
5. Préparation et lancement de l'attaque.
Le pirate va donc successivement effectuer ces étapes et va maintenant
se retrouver avec les informations d'une vulnérabilité bien connue d'un
service faillible lancé sur une machine de l'entreprise de la cible.
Il lui reste éventuellement à préparer des proxies ou tout autre moyen à
sa disposition pour anonymiser les connexions qu'il va effectuer au
serveur cible.
Comment sécuriser cela ?
C'est évident, en plus de fermer les ports non utilisés, il faut mettre le
plus vite possible tous les services à jour, notamment lorsqu'ils
contiennent des failles de sécurité.
Cela va de même pour notre ordinateur personnel ainsi que tous les
systèmes sensibles qui ont besoin d'être mis à jour régulièrement.
Les systèmes mobiles ne sont pas épargnés.
11
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
3 Gagner l'accès
Il s'agit de l'attaque en elle-même que le hacker va initier envers le
système de la cible. Cette étape n'est bien sûr pas faisable sans avoir
auparavant détecté les vulnérabilités présentes dans le système cible.
3.1 Comment gagner l'accès à la machine
Pour gagner l'accès à la machine, le pirate va exploiter la vulnérabilité
qu'il a précédemment découverte dans un service non mis à jour sur la
machine de la cible.
La vulnérabilité qui est connue et qui existe depuis un certain temps
permet déjà au pirate de s'assurer qu'il pourra mener l'attaque à bien.
Il y a plusieurs façons d'exploiter une vulnérabilité.
On peut noter parmi elles l'exploitation à travers un réseau local (LAN), à
travers Internet, voire même sur la machine elle-même ou en mode hors
connexion.
L'attaquant utilisera généralement une technique de spoofing IP.
Le spoofing IP est une technique permettant d'envoyer des paquets à une
machine qui semblent provenir d'une autre machine que celle que le
pirate utilise. Les paquets émis sont en fait modifiés pour mener à bien
ce stratagème.
Un paquet peut également être déformé volontairement puis envoyé à la
machine cible dans le but de la faire planter.
Les bugs les plus courants sont les dépassements (ou débordement)
de tampon (buffer overflow) ou de pile (stack overflow) dans le cas d'un
processus.
Les dénis de service (DOS) ou plus précisément les attaques smurf
peuvent également être utilisées par le pirate envers la machine cible.
L'attaque smurf consiste à récupérer l'adresse IP de la machine cible par
12
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
spoofing IP, puis d'envoyer un maximum de requêtes ping à toutes les
autres machines du réseau en se faisant passer pour la machine cible.
Les autres machines vont donc répondre naturellement à la machine
cible, mais la grosse quantité subite de réponses saturera la bande
passante de la machine cible et la rendra indisponible.
Le pirate devra cette fois s'armer de connaissances et s'assurer de
pouvoir réussir à exploiter un bug.
Si l'exploitation se déroule avec succès, le pirate a maintenant accès à la
machine cible. L'opération est réussie.
4 Maintenir l'accès
Cette étape survient assez rapidement après la précédente, elle consiste
à placer une porte dérobée (backdoor en anglais) ou un cheval de
troie (Trojan en anglais) sur le système cible afin de pouvoir y retourner
plus tard sans problème.
Non seulement le pirate pourra y retourner facilement mais d'autres
personnes pourront en faire de même.
Le pirate installe donc une porte dérobée pour revenir ultérieurement.
La machine cible peut également être utilisée à son tour pour attaquer
d'autres machines.
Une autre technique plus risquée car plus facilement détectable par les
systèmes de détection d'intrusion (IDS en anglais) consiste à installer un
rootkit au niveau du noyau permettant d'obtenir des privilèges
administrateur.
La machine cible peut suite à tout cela transmettre énormément
d'informations confidentielles au pirate et même se défendre contre les
tentatives de désinfection éventuelles.
À partir de là, la sécurité de l'entreprise aura donc été un échec, il n'y a
qu'une dernière chose à espérer : que l'intrusion soit détectée au plus
vite.
13
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
4.1 Techniques de détection utilisées
Un système de détection d'intrusion est un mécanisme destiné à repérer
les activités anormales sur une machine comme les tentatives de
connexion échouées.
On distingue deux types de systèmes de détection d'intrusion :
•
Les NIDS (Network Based Intrusion Detection System) qui surveillent
la sécurité au niveau réseau.
• Les HIDS (HostBased Intrusion Detection System) qui surveillent la
sécurité au niveau de la machine.
Rien n'est toujours très statique en sécurité informatique, on parle donc
également d'un troisième type, les systèmes de détection d'intrusion
hybrides qui vont surveiller les deux niveaux à la fois.
Pour donner plus de détails, les HIDS surveillent plusieurs points clés de
la machine hôte : Ressources, utilisateurs (horaires et durées de
connexion), processus...etc. Ils analysent également les logs à la
recherche de comportements anormaux. Ils sont généralement installés
sur des machines critiques.
Les NDIS capturent le trafic réseau en temps réel ou à posteriori et
comparent les informations avec des signatures connues.
Les filtres de détection sont crées selon la politique de détection
d'intrusion.
Des pots de miel (honeypots en anglais) peuvent également être
utilisés.
Il s'agit de placer volontairement des vulnérabilités sur un système tout
en vérifiant si un pirate essaye de les exploiter pour le prendre la main
dans le sac.
14
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
5 Couvrir les traces
Il s'agit de la dernière étape qui comme son nom l'indique consiste à
couvrir les traces précédemment laissées. Le pirate va donc supprimer
les fichiers de logs et éventuellement cacher ou crypter des fichiers
utilisés.
5.1 Pourquoi couvrir les traces
Le pirate va chercher à couvrir ses traces pour plusieurs raisons.
La raison principale est d'éviter de se faire repérer et de subir les
sanctions prévues.
L'administrateur système quant à lui fait généralement confiance à son
fichier de log et ne se doutera donc de rien. Visionner le fichier log est
également le premier réflexe qu'il aura lors d'un doute.
Le pirate cherchera donc à rester totalement indétectable comme si rien
ne s'était passé en commençant par éditer ces fichiers de logs.
5.2 Comment couvrir les traces
Pour rester caché, le pirate va donc détruire toutes les preuves laissées
au cours des étapes précédentes.
Il commence ainsi par le plus important, il va détruire ou plutôt éditer
les fichiers de logs contenant des détails de connexion et autres
messages d'erreur potentiels.
Par exemple, un bug tel qu'un buffer overflow laissera un message dans
les logs système.
Il peut même manipuler l'écriture de fichiers de logs afin de ne plus
enregistrer sa présence dans le futur.
15
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Les rootkits peuvent être radicaux pour annuler tous les logs existants
et donc utiliser la machine piratée pendant une longue période.
Un rootkit sert en effet à dissimuler un maximum de preuves pendant la
période la plus longue possible en plus de se cacher lui-même.
Les informations comme la date de création ou d'édition d'un fichier
doivent également être re-modifiées pour passer inaperçues.
D'autres techniques pour cacher des fichiers sont la stéganographie et
le tunneling.
La stéganographie est le fait de cacher des données dans des images
ou fichiers audio, par exemple.
Le tunneling consiste à transporter un protocole dans un autre. Dans les
entêtes TCP et IP il est possible de cacher des informations dans les
« bits non utilisés » et donc de les transporter de manière transparente.
Les détection de ces techniques se font au cas par cas.
16
Les 5 étapes d'un Hacking réussi – http://www.leblogduhacker.fr/
Ce document vous a plu ?
Retrouvez d'autres informations sur le Hacking
sur le site web Le Blog Du Hacker
Les 5 erreurs les plus communes des débutants en hacking
7 qualités d'un hacker très efficace
Protéger son E-book ou son image
Être anonyme sur Internet
et les formations
Comment Protéger Son Ordinateur Et Sa Vie Privée
Comment Devenir Un Hacker
Nettoyer son PC
17