Você está na página 1de 57

Introduction à la Sécurité Offensive –

Ethical Hacking

Essiraj Amine - 3551r4j 4m1n3


1 - Introduction

Un Hacker éthique ou white hat est un expert en sécurité informatique qui réalise des tests
d'intrusion et d'autres méthodes de test afin d'assurer la sécurité des systèmes
d'information d'une organisation.

Par définition, les « white hats » avertissent les auteurs lors de la découverte de
vulnérabilités. Ils s'opposent aux black hats, qui sont les hackers mal intentionnés.

Essiraj Amine - 3551r4j 4m1n3


BlackHat – WhiteHat – GreyHat

Un White hat est un professionnel qui applique ses connaissances dans la légalité et la moralité.

Un black hat est un hacker mal intentionné, par opposition aux white hats, qui sont les hackers aux bonnes
intentions.

Un grey hat (en français, « chapeau gris ») est un hacker ou un groupe de hackers, qui agit parfois avec
éthique, et parfois non. Ce terme est employé pour désigner ceux qui se situent entre hacker white
hat et hacker black hat.
Test d’intrusion(pénétration) – Ethical Hacking

• Un test d'intrusion (« penetration test » ou « pentest » en anglais) est une méthode d'évaluation(" audit " en
anglais) de la sécurité d'un système ou d'un réseau informatique ou un Système d'information; il est réalisé par
un testeur, ( "pentester" en anglais ).

• La méthode consiste généralement à analyser l'infrastructure d'un réseau, afin de simuler l'attaque d'un utilisateur
mal intentionné, voire d'un Logiciel malveillant ( "Malware" ).

• Le consultant ( "penstester" ) analyse alors les risques potentiels dus à une mauvaise configuration d'un Système
d'information, d'un défaut de configuration, de Programmation informatique ou encore d'une vulnérabilité liée à la
solution testée, comme par exemple : WannaCry, en 2017. Lors d'un test d'intrusion, le pentester adopte la
position de l'attaquant potentiel.

Essiraj Amine - 3551r4j 4m1n3


Hacktivisme

• Le hacktivisme (contraction de hacker et activisme), aussi appelé cyberactivisme, est une forme de
militantisme utilisant des compétences du piratage informatique dans le but de favoriser des changements
politiques ou sociétaux. (groupe anonymous)

Essiraj Amine - 3551r4j 4m1n3


Les phases du pentesting

• Il existe 4 phases ou étapes pour le pentesting :


• phase de planning,
• phase de découverte,
• phase d’attaque,
• la phase de reporting.

Essiraj Amine - 3551r4j 4m1n3


1- Phase de planning

• Cette phase comprend ce qui suit :


• La portée du test
• L’estimation de l’effort
• La Légalité

Essiraj Amine - 3551r4j 4m1n3


La portée du test

• le pentesteur doit coopérer avec le client pour définir une portée faisable et donner la quantité
maximale d’informations sur la sécurité du réseau à tester.

• Les informations suivantes doivent être rassemblées : la localisation du test de pénétration, un


nombre approximatif des APs et des clients sans fil déployés, les réseaux sans-fil inclus dans le
test, est ce que l’exploitation est dans la portée du test ? Est ce que les attaques contre les
utilisateurs sont dans la portée du test ? Et est ce que les attaques DoS (Denial of Service) sont
dans la portée du test ?

Essiraj Amine - 3551r4j 4m1n3


L’estimation de l’effort

• basée sur la portée définie, l’attaquant devra donc estimer la quantité de temps requise.
• La re-définition de la portée peut être requise après cette estimation, car l’organisme peut
disposer de ressources limitées en termes de temps et de budget.

Essiraj Amine - 3551r4j 4m1n3


La Légalité

• Avant de commencer un test de pénétration, le client doit autoriser le test.

• Cela doit expliciter le test qui va être fait et définir clairement le niveau d’indemnité,
d’assurance et de limitations de portée. La plupart des sociétés disposent d’un
agrément NDA (Non-Disclosure Agreement) qui définit les actions à entretenir avec les
informations classifiées de la société en sujet.

• Après s’être mis d’accord sur ces points avec le client, le pentesteur peut commencer le
travail pratique, qui commence par la phase suivante.

Essiraj Amine - 3551r4j 4m1n3


2- Phase de découverte

• Durant cette phase, le but est d’identifier et d’appliquer les caractéristiques aux appareils sans fil
et les réseaux sans fil dans la portée.

• En bref, les objectifs de cette phase sont les suivantes :


• Énumérer les réseau sans-fil cachés et visibles dans la zone.
• Énumérer les appareils dans la zone, ainsi que ceux connectés au réseaux cibles.
• Cartographier les portées des réseaux, d’où est ce qu’ils sont joignables, est ce qu’il y a des places d’où un individu
malicieux peut lancer des attaques, comme par exemple un café.

Essiraj Amine - 3551r4j 4m1n3


• Toutes ces informations doivent être enregistrées.
• Si le test est limité à la performance de la reconnaissance seulement, le test va se terminer ici, et le
testeur pourra tirer des conclusions basées sur ces informations.

• Quelques déclarations utiles pour le client sont comme suit :


• Le nombre d’appareils qui ont des associations avec des réseaux ouverts et le réseau de l’organisme.
• L’existance de cryptage fragile ou léger.
• Les ondes des réseaux mis en place sont très forts.

Essiraj Amine - 3551r4j 4m1n3


3- Phase d’attaque

• Une fois la reconnaissance effectuée, l’exploitation doit être effectuée pour la


preuve de concept.

• Si l’attaque est effectuée dans le cadre d’une équipe rouge ou d’une


évaluation plus large, alors l’exploitation devrait être effectuée pour accéder au
réseau aussi répétitivement que possible.

Essiraj Amine - 3551r4j 4m1n3


• Durant la phase d’attaque, ce qui suit doit être exploré :

• Tester la sécurité physique avant tout : Tester l’accès physique aux serveurs/systèmes d’information de
l’organisme.
• Attaquer l’infrastructure : Si on arrive à gagner accès à travers le cracking du cryptage, on effectue un
test de pénétration standard s’il est dans la portée..
• Ce qui suit doit être fait au minimum : le scanning des ports; l’identification des services en exécution;
énumération de tous les services ouverts comme des services non authentifiés FTP, SMB ou HTTP ;
exploitation de tout service vulnérable identifié.
• Compromission des clients, attaques dirigées vers les clients : Après avoir énuméré et testé tous les
réseaux sans-fil, des attaques directes sur les clients peuvent être exécutées.
• Trouver les clients vulnérables
• Trouver les clients non autorisés

Essiraj Amine - 3551r4j 4m1n3


4- Phase de reporting

• Finalement, à la fin du test, il est nécessaire de reporter les résultats du test de


pénétration au client.

• Il est important que le rapport représente la qualité du test sachant que le client
ne va voir que le rapport, une attention particulière doit être donnée à ce rapport
comme l’attention donnée au test.

Essiraj Amine - 3551r4j 4m1n3


• Ce qui suit est un structure de rapport :
• Résumé sur la gestion/le management
• Résumé technique
• Résultats :
— Description de vulnérabilité
— Sévérité
— Appareils affectés
— Types de vulnérabilités : logiciel/matériel/configuration — Remèdes et solutions.

Essiraj Amine - 3551r4j 4m1n3


5- Les approches du pentesting

• Il y a trois approches pour les tests de pénétration, et ces approches dépendent du fait
de ce qu’une société veut tester, si la portée est de simuler une attaque d’une personne
interne (collaborateur, administrateur, …) ou d’une source externe.

• La différence entre les deux est la quantité d’information donnée au testeur de


pénétration sur le système en question.

• Les trois approches au pentesting sont :


• Pentesting Black-Box
• Pentesting White-Box
• Pentesting Gray-Box :

Essiraj Amine - 3551r4j 4m1n3


Pentesting Black-Box

• Le scénario est simulé à celui d’un attaquant externe, donnant un tout petit peu d’informations
sur les systèmes à tester (à l’exception des intervalles d’adresses IP ou le nom de domaine).

• Le testeur de pénétration est laissé seul pour accumuler la plus grande quantité possible
d’informations sur le réseau/système cible, qui peuvent être utilisées pendant le pentesting.
L’attaque commence par l’extérieur de l’entreprise cliente.

Essiraj Amine - 3551r4j 4m1n3


Pentesting White-Box

• Le testeur de pénétration a la connaissance complète sur le réseau/système cible,


incluant le schéma d’adresses IP, code source, détails des OS…

• Celà peut être considéré comme une simulation d’une attaque exécutée par une
personne interne à la société qui dispose des informations précédentes. L’attaque
commence à l’intérieur de l’entreprise cliente.

Essiraj Amine - 3551r4j 4m1n3


Pentesting Gray-Box

• C’est une approche hybride des deux approches précédentes. Le testeur dispose
normalement d’informations limitées à propos du réseau/système cibles, pour minimiser les
coûts et les erreurs de la part du testeur.

Essiraj Amine - 3551r4j 4m1n3


Les étapes de base de travail d’un hacker

• Dans ce chapitre, nous allons lister les étapes et méthodes de base de


travail d’un hacker:

• Collecte d’informations (footprinting)


• Balayage du réseau
• Repérage des failles
• Exploitation d’une faille
• Compromission
• Installation d’une porte dérobée et d’un rootkits
• Nettoyage

Essiraj Amine - 3551r4j 4m1n3


1. Collecte d’informations

• La première méthode c’est de collecter un ensemble d’informations


comme :
• Adressage IP,
• Noms de domaine,
• Protocoles de réseau,
• Services activés,
• Architecture des serveurs,
• Consultation de moteurs recherche etc…

Essiraj Amine - 3551r4j 4m1n3


OUTILS

Netdiscover
Hping3
lbd (load balancing)
Dnsenum
Dnstracer
Maltego

Essiraj Amine - 3551r4j 4m1n3


2. Balayage du réseau
• «Scanner» de réseau, Nmap (local and external), Wireshark (local)

Essiraj Amine - 3551r4j 4m1n3


NMAP

• Nmap est un scanner de ports libre créé par Fyodor et distribué par
Insecure.org.

• Il est conçu pour détecter les ports ouverts, identifier les services hébergés
et obtenir des informations sur le système d'exploitation d'un ordinateur
distant.

• Ce logiciel est devenu une référence pour les administrateurs réseaux car
l'audit des résultats de Nmap fournit des indications sur la sécurité
d'un réseau. Il est disponible sous Windows, Mac OS
X, Linux, BSD et Solaris.
Essiraj Amine - 3551r4j 4m1n3
Essiraj Amine - 3551r4j 4m1n3
WIRESHARK
• Wireshark est un analyseur de paquets libre et gratuit. Il est utilisé dans le dépannage et l’analyse
de réseaux informatiques, le développement de protocoles, l’éducation et la rétro-ingénierie.

• Wireshark utilise la bibliothèque logicielle GTK+ pour l’implémentation de son interface


utilisateur et pcap pour la capture des paquets ; il fonctionne sur de nombreux environnements
compatibles UNIX comme GNU/Linux, FreeBSD, NetBSD, OpenBSD ou Mac OSX, mais également
sur Microsoft Windows.

• Il existe aussi entre autre une version en ligne de commande nommé TShark. Ces programmes
sont distribués gratuitement sous la licence GNU General Public License.

• Wireshark reconnaît 1 515 protocoles.

Essiraj Amine - 3551r4j 4m1n3


3. Repérage des failles

• «Scanner» de failles( Nessus)

• Sites web spécialisées( SecurityFocus; Insecure.org; CERT ) (FrSIRT) Les Proof-of-


Concept (PoC)

Essiraj Amine - 3551r4j 4m1n3


4. Exploitation d’une faille
• Exploitation d’une faille se fait soit par un
programme malveillant ou un script shell, souvent
compilé sur la machine cible, pour extension de
privilèges, erreur système, etc.

• Il vous faudra certaines qualités humaines pour


réussir l’exploitation de failles : patience,
persévérance et discrétion.

• C’est une étape où il faudra utiliser au mieux ses


connaissances en informatique.

Essiraj Amine - 3551r4j 4m1n3


5. Compromission

• Pour extension supplémentaire de privilèges ROOT, par spoofing


(usurpation d’identité)

Essiraj Amine - 3551r4j 4m1n3


6. Installation d’une porte dérobée et d’un
rootkits

• -Installation d’une porte dérobée (backdoor) pour pouvoir revenir

• -Installation d’un rootkits pour tromper l’administrateur légitime

Essiraj Amine - 3551r4j 4m1n3


BACKDOOR

• une porte dérobée est une fonctionnalité inconnue de l'utilisateur légitime, qui
donne un accès secret au logiciel.

• L'introduction d'une porte dérobée dans un logiciel à l'insu de son utilisateur


transforme le logiciel en cheval de Troie.

Essiraj Amine - 3551r4j 4m1n3


• Une porte dérobée peut être introduite soit par le développeur du logiciel, soit
par un tiers.

• La personne connaissant la porte dérobée peut l'utiliser pour surveiller les


activités du logiciel, voire en prendre le contrôle (par contournement de
l'authentification).

• Enfin, selon l'étendue des droits que le système d'exploitation donne au logiciel
contenant la porte dérobée, le contrôle peut s'étendre à l'ensemble des
opérations de l'ordinateur.

• La généralisation de la mise en réseau des ordinateurs rend les portes dérobées


nettement plus utiles que du temps où un accès physique à l'ordinateur était la
règle.

Essiraj Amine - 3551r4j 4m1n3


• Parmi les motivations amenant les développeurs de logiciel à
créer des portes dérobées, il y a :
• l'intérêt pratique d'un accès facile et toujours ouvert au logiciel pour
pouvoir mener efficacement les actions de maintenance ;
• la possibilité de désactiver subrepticement le logiciel en cas de désaccord
avec son client (non-paiement de licence).

Essiraj Amine - 3551r4j 4m1n3


• Parmi les motivations amenant les pirates informatiques à installer une porte
dérobée :

• la possibilité de surveiller ce que fait l'utilisateur légitime et de copier ou détruire des données ayant
une valeur (mots de passe, clé privée pour déchiffrer des messages privés, coordonnées bancaires,
secrets commerciaux) ;
• la possibilité de prendre le contrôle d'un ordinateur et de pouvoir l'utiliser pour mener des actions
malfaisantes (envoi de pourriels notamment pour l'hameçonnage, de virus informatiques, déni de
service) ;
• le contrôle d'un vaste réseau d'ordinateurs (voir botnet), qui peut être utilisé pour du chantage au déni
de service distribué (DDoS), ou revendu à des criminels.

Essiraj Amine - 3551r4j 4m1n3


• Un rootkit doit pouvoir être manipulé à distance par un attaquant. Celui-ci
cherche donc souvent à maintenir un shell (ou « interpréteur de commandes »)
disponible idéalement à n'importe quel moment (ou au moins durant
l'installation du rootkit), en remplaçant des commandes comme ping.

• Généralement, l'attaquant installe plusieurs de ces portes dérobées au cas où


l'une viendrait à être découverte et supprimée

Essiraj Amine - 3551r4j 4m1n3


• Il est à noter que la porte dérobée présente dans tous les programmes C compilés
n'apparaîtrait jamais dans le code source en C.

• L'appellation trust (pour confiance) vient du fait que le compilateur C d'origine est
considéré par son utilisateur final comme une boîte noire digne de confiance.

• Pour un programmeur qui ne comprend pas le fonctionnement d'un


tel compilateur, mais lui fait confiance, il serait difficile de penser
qu'un programme, qu'il a lui-même écrit puis compilé, contient une porte
dérobée

Essiraj Amine - 3551r4j 4m1n3


Rootkit

• Un rootkit est un ensemble de techniques mises en œuvre par un ou


plusieurs logiciels, dont le but est d'obtenir et de pérenniser un accès (non
autorisé) à un ordinateur de la manière la plus furtive possible, à la différence
d'autres logiciels malveillants.

• Le terme peut désigner la technique de dissimulation ou plus généralement un


ensemble particulier d'objets informatiques mettant en œuvre cette technique.

Essiraj Amine - 3551r4j 4m1n3


7. Nettoyage

• Efface toute trace de son passage en supprimant tous les fichiers créés, et
corriger les Logs.

Essiraj Amine - 3551r4j 4m1n3


Comment devenir un hacker

Essiraj Amine - 3551r4j 4m1n3


Récupérez un Unix en open source et
apprenez à l'utiliser et à le faire tourner.

Unix est le système d'exploitation d'Internet. Vous pouvez


très bien utiliser Internet sans connaitre le monde Unix,
par contre vous ne deviendrez jamais un hacker sans savoir
ce qu'est Unix.

Pour cette raison, le monde du hacking est plutôt


fortement tourné Unix.

Essiraj Amine - 3551r4j 4m1n3


Apprenez la programmation

• Si vous n'avez jamais fait de la programmation, commencez à le


faire.

• Vous prendrez quelques bonnes habitudes qui, à leur tour, vous


aideront à aller plus loin.

• Tout ce que vous pouvez voir sur Internet en termes de photos,


d'images d'illustrations diverses, fonctionnalités est sous-tendu
par des langages de programmation.

• Avant que de briser un code, il vaut mieux bien le connaitre


Essiraj Amine - 3551r4j 4m1n3
Python

• Python est un bon langage pour démarrer, car il est clair, bien documenté et
relativement accessible aux débutants.

• Même si c'est un bon langage de démarrage, c'est loin d'être un jouet, il est très
puissant, souple et adapté aux grands projets.

Essiraj Amine - 3551r4j 4m1n3


Penser comme un hacker

• Soyez créatif. Une fois les connaissances techniques acquises, il va falloir y


mettre du style, de l'art ! Les « hackers » sont dans leur genre des artistes,
des philosophes, le tout-en-un !

• Ils aiment et défendent la liberté et pratiquent la responsabilité mutuelle.


Le monde est rempli de problèmes fascinants qui n'attendent que d'être
résolus et un « hacker » n'aime rien tant que de les résoudre, que de
montrer ses compétences et d'affuter son intelligence.

Essiraj Amine - 3551r4j 4m1n3


Gagner le respect de la communauté

• Écrivez un logiciel open source.


• Écrivez des programmes que d'autres hackers trouveront soit amusants,
soit utiles.
• Donnez vos programmes- source afin que tous les hackers en profitent.
• Ainsi, dans ce monde des hackers, il y a de vrais « demi-dieux », ceux qui
ont composé et partagé ces grands programmes qui répondaient à un
vrai besoin et qui sont désormais utilisés par tous.

Essiraj Amine - 3551r4j 4m1n3


• Publiez des informations utiles.
• Il est très bien vu de travailler à recueillir et à filtrer les informations utiles et
intéressantes parues sur le Web ou dans des documents comme les Foires
aux Questions (FAQ) et de rendre ces informations disponibles.

• Ceux qui s'occupent de mettre à jour les FAQ techniques obtiennent en retour
une grande reconnaissance presque aussi grande que les programmateurs
open source.

Essiraj Amine - 3551r4j 4m1n3


Travaillez à l'infrastructure.
• La culture hacker est fondée sur le bénévolat.

• Il y a beaucoup de travail à faire, mais pas nécessairement prestigieux pour


la faire fonctionner : administrer les listes de diffusion, faire de la
modération sur les newsgroups, assurer la maintenance des sites de
sauvegarde des logiciels, développer le RFC et les autres normes
techniques.

• Les gens qui font ce genre de travail fastidieux sont très considérés, car
tout le monde sait que ces tâches sont dévoreuses de temps et ne sont pas
aussi amusantes que la manipulation des codes. Assumer ce travail
fastidieux est une belle preuve de dévouement.

Essiraj Amine - 3551r4j 4m1n3


Apprendre l’ingénierie social – Social Engineering

Essiraj Amine - 3551r4j 4m1n3


• L'ingénierie sociale (social engineering), fait référence à des pratiques de
manipulation psychologique à des fins d'escroquerie.

• Les pratiques de social engineering exploitent les faiblesses


psychologiques, sociales et plus largement organisationnelles pour
permettre d’obtenir quelque chose de la personne ciblée (un bien, un
service, un virement bancaire, un accès physique ou informatique, la
divulgation d’informations confidentielles, etc. ).

• Utilisant ses connaissances, son charisme, l’imposture et le culot,


l’attaquant cherche à abuser de la confiance, de l’ignorance et de la
crédulité des personnes possédant ce qu’il souhaite obtenir.

Essiraj Amine - 3551r4j 4m1n3


• Dans son ouvrage L'Art de la supercherie, paru en 2002, Kevin
Mitnick a théorisé et popularisé cette pratique de manipulation qui
utilise principalement les « failles humaines » d'un système
d'information comme « effet de levier », pour briser ses barrières de
sécurité.

Essiraj Amine - 3551r4j 4m1n3


• Le comportement des employés peuvent avoir des conséquences importantes sur les
questions de sécurités de l’information au sein d’une organisation.

• La culture de l’entreprise peut aider différentes parties de l’organisation, d’une pour


des questions d’efficacités et d’autre part pour lutter contre de mauvaises habitudes
de sécurité de l’information

Essiraj Amine - 3551r4j 4m1n3


• Pour vous protéger, vous devez :
• La meilleure façon de se protéger des techniques d'ingénierie sociale est
d'utiliser son bon sens pour ne pas divulguer à n'importe qui des informations
pouvant nuire à la sécurité de l'entreprise. Il est ainsi conseillé, quel que soit
le type de renseignement demandé :
• de se renseigner sur l'identité de son interlocuteur en lui demandant des
informations précises (nom et prénom, société, numéro de téléphone) ;
• de vérifier éventuellement les renseignements fournis ;
• de s'interroger sur la criticité des informations demandées.

Ainsi, une formation et une sensibilisation des utilisateurs aux problèmes de


sécurité peut s'avérer nécessaire.

Essiraj Amine - 3551r4j 4m1n3


Le coût d’un test de pénétration

1. Le coût d’un test de pénétration peut varier de façon importante. Trop souvent,
la décision de l’entreprise n’est basée que sur le prix du test de pénétration.
C’est donc le moins cher qui l’emporte!

2. Cependant, comme il s’agit de la sécurité de son environnement technologique,


de ses données, de sa réputation, et de bien plus encore, l’organisation doit
comprendre l’importance de prendre le temps d’y réfléchir sérieusement.

3. Si quelqu’un magasine une fourgonnette pour transporter sa famille, le prix du


véhicule sera-t-il son unique critère ou considérera-t-il également les options de
sécurité?

Essiraj Amine - 3551r4j 4m1n3


Conseils
• Magasinez vos tests et utilisez les éléments mentionnés plus tôt afin de vous faire
une grille d’évaluation.

• N’hésitez surtout pas à rajouter des critères qui vous semblent importants. Cela
vous aidera à comparer les différentes options disponibles dans les offres que
vous recevrez.

• De cette façon, vous serez en mesure de comparer des pommes avec des
pommes. Beaucoup trop d’entreprises se contentent de rapports médiocres et
sans valeur réelle.

Essiraj Amine - 3551r4j 4m1n3


• Un test de pénétration de qualité moyenne avec un bon rapport est beaucoup mieux qu’un super test de
pénétration avec un rapport médiocre.

• L’objectif d’un test de pénétration est donc de déterminer les risques d’affaires.

• N’oubliez pas que le résultat, et ce pour quoi vous payez, c’est le rapport. C’est lui qui vous aidera
vraiment à déterminer les risques, les vulnérabilités, les actions et les budgets auxquels vous devez
accorder la priorité.

Essiraj Amine - 3551r4j 4m1n3


Questions ?

Essiraj Amine - 3551r4j 4m1n3


Merci pour votre attention

Essiraj Amine - 3551r4j 4m1n3

Você também pode gostar