3
➼ Cracking de mots de passe
➼ Escalade de privilèges
Hacking de ➼ Exécution d’applications
systèmes ➼ Dissimulation de fichiers
➼ Nettoyage / reporting
Dr Siham BOUCHELAGHEM
Maître de Conférences
Université de Bejaia
1
Informations récupérées lors de la
phase de reconnaissance
● Footprinting
Informations sur l’organisation (employés, plages d’adresses IP, etc.)
● Scanning
Identification des cibles, systèmes d’exploitation, et les services disponibles.
● Enumération
○ Intrusive probing : l’attaquant va commencer à identifier les utilisateurs actifs
(valides), les comptes utilisateur mal protégés au sein du réseau cible, etc.
○ Listing des différents utilisateurs.
○ Listing des différentes failles de sécurité.
2
Hacking de systèmes (1)
Le piratage d’un système, ou hacking d’un système, est la procédure d’obtention d’un
accès non autorisé à un système cible et à ses ressources avec des intentions le plus
souvent malveillantes.
● Gain d’accès : bypasser les contrôles d’accès mis en place.
○ Cacking de mots de passe, l’ingénierie sociale.
● Escalade de privilèges : acquérir des privilèges.
○ Exploitation de vulnérabilités.
● Exécution d’applications : maintenir l’accès au système cible.
○ Chevaux de Troie, backdoor, spyware, keyloggers, etc.
3
Hacking de systèmes (2)
● Dissimulation de fichiers : cacher les activités malicieuses.
○ Rootkits, stéganographie.
● Nettoyage / reporting : dans le cas d’un attaquant, il s’agit d’effacer les traces des
différentes actions malveillantes.
○ Effacer les logs, désactiver le système d’audit, etc.
Dans le cas d’un pentester, il s’agit d’établir un rapport détaillé de la méthodologie
suivie, des vulnérabilités exploitées, et des contre-mesures à adopter.
4
Cracking de mots de passe (1)
Le cracking de mots de passe est le processus de récupération de mots de passe
à partir d’un système informatique.
Les attaquants utilisent des techniques de cracking de mots de passe pour obtenir
un accès non autorisé à un système cible. La plupart de ces techniques peuvent
être très efficaces en raison de mots de passe faibles (généralement, des mots
de passe par défaut) ou pouvant facilement être devinés.
5
Cracking de mots de passe (2)
Il existe quelques méthodes de base pour casser un mot de passe :
● Attaque par force brute : il s’agit d’essayer toutes les combinaisons possibles jusqu'à
ce que le mot de passe soit trouvé.
● Attaque par dictionnaire : il s'agit d'une liste compilée de mots significatifs, comparée
au champ de mot de passe jusqu'à ce qu'une correspondance soit trouvée.
● Attaque basée sur des règles : l'attaquant obtient des informations lui permettant de
créer des règles sur lesquels les mots de passe du système cible sont basés.
● Attaque de table arc-en-ciel : la valeur de hachage du mot de passe est comparée à
une liste de valeurs de hachage précalculées jusqu'à ce qu'une correspondance soit
trouvée.
6
Attaques de mots de passe (1)
● Attaques non électroniques : ce type d’attaques ne nécessite aucune connaissance
technique pour casser un mot de passe.
○ Social Engineering.
○ Shoulder Surfing.
○ Dumpster Diving.
● Attaques en ligne actives : au cours de ces attaques, une interaction directe
avec la machine cible a lieu. C’est le moyen le plus simple d'obtenir un accès non
autorisé de niveau administrateur au système cible.
○ Attaque par force brute / par dictionnaire.
○ Cheval de Troie / Spyware / Keylogger.
○ Phishing / Hash injection.
7
Attaques de mots de passe (2)
● Attaques en ligne passives : l’attaquant tente de casser un mot de passe sans
communiquer directement avec la machine cible.
○ Sniffing.
○ Man-in-the-middle.
○ Replay.
● Attaques hors ligne : l'attaquant parvient à copier le contenu d'une base de
données contenant les identifiants et mots de passe d’utilisateurs, puis tente
de les casser dans un système de son choix.
○ Attaque de table arc-en-ciel.
8
Table arc-en-ciel (1)
Une table arc-en-ciel, ou rainbow table, est une structure de données qui permet
de retrouver un mot de passe à partir de son haché, aussi appelé empreinte.
Chaque ligne de cette table possède un mot de passe de départ et une
empreinte d’arrivée.
Le calcul de la table se fait en faisant subir au mot de passe initial une très
grande série de réductions et de hachages successifs afin d’obtenir des
éléments intermédiaires qui sont de nouveaux mots de passe et les empreintes
correspondantes.
9
Table arc-en-ciel (2)
La fonction de réduction transforme une empreinte en un nouveau mot de passe.
Cette fonction doit être cohérente, c’est-à-dire, qu’elle retourne toujours le même
mot de passe quand on lui passe une même empreinte en paramètre. Afin d’éviter
des problèmes de collision, plusieurs fonctions de réduction sont utilisées.
On répète l’opération un certain nombre de fois et on obtient une empreinte en
bout de chaîne. Celle-ci sera stockée avec le mot de passe d’origine. Pour des
raisons de taille de fichier, le reste de la chaîne générée ne sera pas stockée.
Soit P le mot de passe d’origine, H la fonction de hachage appliquée, et R1, R2, … Rn
les différentes fonctions de réduction de la chaîne. La chaîne se crée comme suit :
P => H(P) => R1(H(P)) => H(R1(H(P))) => R2(H(R1(H(P)))) => H(R2(H(R1(H(P))))) => …
10
Attaque de table arc-en-ciel
Essayons de cracker l’empreinte « 269c241b », puis « 9d4e1e23 ».
11
John the Ripper
John the Ripper est un outil d'audit de sécurité et de cracking
de mot de passe open source disponible pour de nombreux
systèmes d'exploitation. C'est l'un des logiciels de cracking de
mots de passe les plus populaires car il inclut l'auto-détection
des fonctions de hachage utilisées pour stocker les mots de
passe, l'implémentation d'un grand nombre d’algorithmes de
cassage, et parce qu'il est très facilement personnalisable.
https://www.openwall.com/john/
12
Contre-mesures
● Ne pas utiliser de mots de passe pouvant être trouvés dans un dictionnaire.
● N'utiliser aucun mot de passe par défaut du système.
● Définir une politique de changement de mot de passe sur une durée donnée.
● Éviter de stocker les mots de passe dans un emplacement non sécurisé.
● Verrouiller un compte soumis à trop de tentatives de mot de passe incorrect.
● S’assurer que les applications utilisées ne stockent pas les mots de passe en
mémoire et ne les écrivent pas sur le disque en clair.
● Utiliser une chaîne aléatoire (sel) comme préfixe ou suffixe avec le mot de passe
avant le chiffrement.
● Activer l'audit de sécurité pour surveiller et suivre les attaques par mot de passe.
13
Escalade de privilèges (1)
Un attaquant peut accéder au système cible à l'aide d'un compte utilisateur non
administrateur. L'étape suivante serait donc d’obtenir des privilèges d’administration.
L'attaquant effectue une attaque par escalade de privilèges qui tire parti des
défauts de conception, des erreurs de programmation, des bugs et des oublis de
configuration dans le système d'exploitation ou des applications logicielles pour
obtenir un accès administrateur aux ressources protégées du système cible.
Ces privilèges permettent à l'attaquant d’accéder à des informations sensibles/critiques,
de supprimer des fichiers ou d'installer des programmes malveillants tels que des virus,
des chevaux de Troie, des vers, etc.
14
Escalade de privilèges (2)
Il existe deux types d'escalade de privilèges :
Escalade de privilèges horizontale : elle se produit lorsqu'un utilisateur malveillant tente
d'accéder à des ressources et à des fonctions appartenant à des utilisateurs
homologues, qui disposent d'autorisations d'accès similaires.
Escalade de privilèges verticale : elle se produit lorsqu'un utilisateur malveillant
tente d'accéder à des ressources et à des fonctions appartenant à un utilisateur
disposant de privilèges plus élevés, tels que des administrateurs d'application ou de
site.
15
Techniques d’escalade de privilèges (1)
Détournement de DLL
Une DLL (Dynamic Link Library) désigne sous Windows une bibliothèque logicielle et
un type de fichiers exécutables permettant le partage, par des applications, de codes
et de ressources indispensables pour la réalisation de tâches particulières.
Sous Windows, lorsqu’une application ou un service démarre, il recherche un
certain nombre de DLL afin de fonctionner correctement.
La plupart de ces applications n'utilisent pas le chemin complet lors du chargement
d'une DLL externe, mais recherchent le répertoire à partir duquel elles ont été
chargées en premier.
Si un attaquant peut placer un fichier DLL malveillant dans le répertoire de
l'application, alors il sera exécuté à la place du vrai fichier DLL.
16
Techniques d’escalade de privilèges (2)
Exploitation de vulnérabilités
Les attaques d’escalade de privilèges les plus dignes d’intérêt sont celles qui
exploitent des vulnérabilités logicielles « zero-day » qui n’ont pas encore été
découvertes et largement corrigées.
Un attaquant peut utiliser ces vulnérabilités logicielles pour exploiter les failles trouvées
à partir de l’exécution d’une commande ou d’un fichier binaire sur la machine cible
afin de gagner des privilèges plus élevés.
Quelques sites où on peut trouver des vulnérabilités :
exploit-db.com, securityfocus.com
17
Contre-mesures
● Utiliser des techniques de cryptage pour protéger les données sensibles.
● Exécuter les applications avec les moindres privilèges.
● Implémenter l'authentification et l'autorisation multi-facteurs.
● Surveiller les autorisations du système de fichiers à l’aide d’outils d’audit.
● Tester soigneusement les erreurs de codage et les bugs du système
d’exploitation et des applications.
● Effectuer un patch et une mise à jour régulière du système et des applications.
18
Exécution d’applications
À ce stade, l’attaquant exécute des applications malveillantes après avoir obtenu
des privilèges administratifs. C'est ce qu'on appelle « posséder » le système.
Ceci lui permet d’exécuter des programmes malveillants à distance sur la
machine cible afin d’obtenir un accès non autorisé aux ressources du système,
dérober toutes les données sensibles, craquer les mots de passe, effectuer des
captures d'écran, installer une porte dérobée pour maintenir un accès facile, etc.
19
Keyloggers (1)
Les enregistreurs de frappe, ou keyloggers, sont des programmes ou des périphériques
matériels qui enregistrent l'activité en temps réel d'un utilisateur, y compris les touches
du clavier sur lesquelles il appuie.
Des applications légitimes des keyloggers incluent les entreprises et les
environnements industriels pour surveiller les activités informatiques des
employés, et les environnements domestiques où les parents peuvent surveiller les
activités de leurs enfants.
Les keyloggers matériels peuvent être utilisés sous la forme d’une prise USB placés
entre le clavier et l’ordinateur.
20
Keyloggers (2)
Parmi les fonctionnalités d’un keylogger :
● Enregistrer chaque frappe au fur et à mesure que l’utilisateur tape sur un clavier.
● Effectuer des captures d'écran à intervalles réguliers montrant l'activité de
l'utilisateur.
● Suivre les activités des utilisateurs en enregistrant les titres des fenêtres, les noms
des applications lancées, etc.
● Surveiller l'activité en ligne des utilisateurs en enregistrant les adresses des sites
Web qu'ils ont visités et avec les mots clés qu'ils ont saisis.
● Enregistrer tous les identifiants de connexion, les numéros de carte bancaire et de
crédit, les mots de passe, les messages instantanés, etc.
21
Spywares (1)
Un logiciel espion, ou spyware, est un programme qui enregistre l'interaction de
l'utilisateur avec la machine et Internet à son insu et les envoie à un attaquant distant.
Il cache ses processus, ses fichiers et d'autres objets afin d'éviter sa détection et sa
suppression. Il est similaire au cheval de Troie, qui est généralement fourni en tant
que composant caché de programmes gratuits pouvant être téléchargés sur
Internet.
Il permet à l’attaquant de collecter des informations sur une victime ou une
organisation, telles que des adresses e-mail, des identifiants d'utilisateur, des mots
de passe, des numéros de carte de crédit, des identifiants bancaires, etc.
22
Spywares : modes de propagation (1)
● Les téléchargements furtifs : Si un individu clique sur un lien ou une pièce jointe
inconnue dans un e-mail, cela peut déclencher le téléchargement d'un fichier
exécutable. La simple visite d'un site Web malveillant et la consultation d'une
page ou d'une bannière publicitaire peut entraîner un téléchargement furtif.
● Le marketing trompeur : Les auteurs de logiciels espions présentent leurs
programmes comme des utilitaires à télécharger : accélérateur Internet,
gestionnaire de téléchargements, nettoyeur de disque dur ou encore service de
recherche Internet alternatif. Les victimes se retrouvent donc à installer des
logiciels espions pour accéder aux fonctionnalités souhaitées.
23
Spywares : modes de propagation (2)
● Les logiciels groupés : Un progiciel réellement utile peut également dissimuler un
module complémentaire, une extension ou un plugin malveillant. Ils se présentent
comme des composants nécessaires, mais sont en réalité des logiciels espions
qui subsistent même après la désinstallation de l'application hôte.
● Les chevaux de Troie, les vers, et les backdoors : Ces menaces diffusent des
logiciels espions en plus de leur fonction malveillante principale.
● Les anti-spywares : Certains de ces logiciels se font passer pour des outils de
détection et de suppression de logiciels espions. Une fois exécuté, l’anti-spyware
indique que la machine est propre pendant qu'il installe lui-même un spyware.
24
Spytech SpyAgent
C’est un utilitaire capable de surveiller un ordinateur en toute
discrétion, enregistrant toutes les frappes de clavier, tous les
lancements de fenêtres et d'applications, tous les sites Web
visités et même toutes les connexions Internet effectuées.
Il peut également enregistrer tous les mots de passe qui ont
été entrés et effectuer des captures d'écran à des d'intervalles
de temps réguliers.
https://www.spytech-spyagent.com/
25
Power Spy
Davantage orienté Web, Power Spy enregistre secrètement
toutes les utilisations de Facebook, Twitter, les chats et les
messageries instantanées, les e-mails, les sites Web visités,
les photos partagées, les vidéos visionnées, le son du
microphone, les conversations vidéo, les recherches sur
Internet, les documents ouverts et bien plus encore. Il prend
des captures d'écran toutes les x secondes. Il commence la
surveillance avec le démarrage du système.
https://power-spy.en.softonic.com/
26
Contre-mesures
● Former les utilisateurs à reconnaître les e-mails et les pièces jointes provenant
d'expéditeurs inconnus ou suspects et à vérifier les hyperliens avant de cliquer.
● Utiliser des pare-feu personnels pour surveiller les flux d'informations en
provenance et à destination des machines du réseau.
● Utiliser des pare-feu et proxies des FAI pour bloquer l'accès à des sites Web
connus pour installer des logiciels espions.
En cas de soupçon d’infection
● S'assurer que le système a parfaitement été désinfecté afin que les nouveaux
mots de passe ne soient pas compromis.
● Contacter toute institution liée aux données piratées (service informatique,
institution financière, etc.) pour les avertir d'une éventuelle activité frauduleuse.
27
Cacher des fichiers
Après avoir accédé au système cible, l’attaquant doit masquer ses applications
malveillantes incluses dans ce système afin d’éviter la détection.
De nombreux logiciels antivirus fonctionnent en parcourant la liste des fichiers
stockés sur le système de fichiers d’un ordinateur et en les comparant aux
signatures de variantes de logiciels malveillants connues.
Si l’attaquant peut cacher l’existence de ses fichiers à un antivirus ou à d’autres
outils de sécurité, alors sa probabilité de détection diminue considérablement.
28
Rootkits
Les rootkits sont des programmes que les hackers utilisent pour échapper à la
détection lors d’un accès non autorisé à une machine cible.
Un rootkit est un ensemble de fichiers binaires, de scripts et de fichiers de
configuration capable de se dissimuler dans le système d’exploitation, et qui
permet aux applications malveillantes de persister sur la machine cible afin que
l’attaquant puisse émettre des commandes et récupérer des données sans
alerter le propriétaire du système.
Lors de son installation sur une machine, il est invisible pour l'utilisateur et prend
également des mesures pour éviter d'être détecté par un logiciel de sécurité.
29
Rootkits : fonctionnement et objectifs (1)
Les rootkits remplacent certains appels et utilitaires du système d'exploitation par leurs
propres versions modifiées de ces routines qui, à leur tour, compromettent la sécurité
du système cible, provoquant l'exécution de fonctions malveillantes.
● S’enraciner dans le système hôte et obtenir un accès distant à la machine.
● Masquer les traces d’un attaquant et la présence d'applications malveillantes.
● Collecter les données sensibles du système auxquelles un attaquant pourrait être
limité ou ne pas avoir accès.
● Stocker d'autres programmes malveillants sur le système cible.
30
Rootkits : fonctionnement et objectifs (2)
Étape 1 : contamination du système
Par ingénierie sociale, lors d’un téléchargement sur un site Web infecté ou d’une source
non vérifiée, en cliquant sur un lien ou sur une pièce jointe dans un e-mail de phishing, ou
en laissant traîner une clé USB contenant un rootkit dans un lieu stratégique.
Étape 2 : mode furtif
Manipuler tous les processus afin de supprimer toutes les mentions indiquant la
présence du rootkit.
Étape 3 : mise en place d’une porte dérobée
Pour pouvoir accéder à distance à la machine et y installer d’autres logiciels malveillants
(keylogger, spyware), voler des données, être utilisée à des fins de phishing ou de DDOS.
31
Détection de rootkits
● Détection basée sur l'intégrité : elle compare un instantané du système de fichiers,
des enregistrements de démarrage ou de la mémoire avec une ligne de base de
confiance connue.
● Détection basée sur les signatures : cette technique compare les caractéristiques
de tous les processus système et des fichiers exécutables avec une base de
données de signatures de rootkits connues.
● Détection heuristique/basée sur le comportement : tout écart dans l'activité ou le
comportement normal du système peut indiquer la présence d'un rootkit.
● Et d’autres…
32
Contre-mesures
● Installer un antivirus et s’assurer qu’il possède une protection contre les rootkits.
● Mettre à jour et appliquer des correctifs sur le système d'exploitation et les
applications installées.
● Développer un sens critique pour toutes les formes d’arnaque sur Internet.
● Apprendre au personnel à ne pas télécharger de fichiers ou de programmes
provenant de sources non fiables.
● Utiliser le moins possible le compte administrateur surtout sur Internet.
● Formater complètement le disque dur et réinstaller le système d’exploitation en
cas d’infection, après avoir sauvegardé les données critiques.
33
Stéganographie
La stéganographie est une technique consistant à cacher un message secret dans
un message ordinaire et à l'extraire à la destination pour maintenir la confidentialité
des données.
Un attaquant peut utiliser la stéganographie pour cacher des messages tels que
la liste des serveurs compromis, le code source de l'outil de piratage, les plans
pour de futures attaques, etc.
L'utilisation d'une image comme médium de couverture est la méthode la plus
populaire pour dissimuler des données dans des fichiers.
34
Types de stéganographie
● Stéganographie d’images : l’information secrète est cachée dans des fichiers
image de différents formats tels que .PNG, .JPG, .BMP, etc.
● Stéganographie audio : consiste à cacher l’information secrète sous des formats
audio numériques tels que .MP3, .RM, .WAV, etc.
● Stéganographie vidéo : consiste à cacher l’information secrète dans des
fichiers vidéo porteurs de différents formats tels que .AVI, .MPG4, .WMV, etc.
● Stéganographie de dossiers : consiste à cacher un ou plusieurs fichiers dans un
dossier. Ces fichiers cachés n'apparaissent pas dans l'Explorateur Windows.
● Stéganographie avec spam : consiste à cacher un message secret dans un faux
e-mail commercial/publicitaire non sollicité.
● Et d’autres…
35
Couvrir ses traces (1)
Une fois que l’attaquant a réussi à obtenir un accès administrateur sur le système
cible, il essaiera de couvrir ses traces pour éviter d'être détecté.
● Désactiver le système d’audit immédiatement après avoir obtenu les privilèges
d’administrateur et le redémarrer à la fin de l’attaque en utilisant auditpol.exe.
● Effacer les logs de sécurité, du système et des applications en utilisant
clearlogs.exe. Si le système est exploité avec Metasploit, l'attaquant peut
utiliser le shell meterpreter pour effacer tous les logs du système.
● Effacer les traces en ligne en supprimant les éléments les plus récemment utilisés
(MRU) et les cookies, vider le cache, désactiver la saisie semi-automatique, effacer
les données de la barre d’outils des navigateurs, etc.
36
Couvrir ses traces (2)
● Altérer les fichiers logs tels que les logs d'événements, les logs de serveur et les
logs proxy pour ne pas éveiller les soupçons de l’administrateur en les effaçant.
● Masquer les fichiers malveillants et effacer l’historique des commandes sur le
shell bash.
● Fermer toutes les connexions à distance vers la cible.
● Utiliser des outils de nettoyage tels que CCleaner, MRU-blaster, Tracks Eraser, etc.
37
Reporting
Le pentester doit fournir à l’organisation un audit écrit expliquant sa méthodologie et la
découverte des éventuelles failles et vulnérabilités du système d’information.
Il doit proposer des correctifs adaptés, à travers des propositions d’actions concrètes.
Une fois le pentest réalisé et le rapport fournit, il est important de respecter les
recommandations suivantes :
● Ne pas dissimuler les résultats du test d’intrusion; il est important de partager
le reporting avec les équipes internes, la direction et les sous-traitants.
● Inscrire le plan d’action dans la roadmap de la direction des systèmes d’information.
● Planifier un test post-audit ciblé sur les vulnérabilités les plus critiques et les plus
exposées, après remédiation.
38