5

Click here to load reader

Social Engineer Toolkit: quand la machine attaque l’humain

Embed Size (px)

Citation preview

Page 1: Social Engineer Toolkit: quand la machine attaque l’humain

C’est un fait bien connu, la sécurité d’un réseau est aussi forte que son maillon le plus faible.Ce que beaucoup de gens ne réalisent pas, c’est que, trop souvent, ce maillon faible, c’est eux. Lescybercriminels l’ont compris depuis bien longtemps et sont passés maîtres dans l’art d’exploiterce maillon faible qu’est l’être humain.

L’ingénieur social peut tenter de se faire passer pour quelqu’un d’autre, feindre une situa-tion d’urgence afin de mettre une pression sur sa « victime », l’intimider verbalement, tenter de lacorrompre financièrement, et j’en passe. Toutes ces méthodes impliquent des interactions entredes individus, ce qui peut entraîner des situations stressantes et inconfortables. Dans certainscas, par exemple lors d’un test d’intrusion, il se peut que ce type d’approche ne soit pas envisa -geable pour diverses raisons. Alors, comme une approche impliquant l’ingénierie sociale tradi-tionnelle n’est pas toujours possible, pourquoi ne pas tenter une nouvelle approche en utilisant unlogiciel ou une machine pour exploiter les gens à notre place ?

C’est là qu’entre en scène un outil comme le Social Engineer Toolkit (SET). Rassurez-vous,SET n’est pas un robot ni un super ordinateur doté d’une forme d’intelligence artificielle complo -tant pour dominer le monde des humains comme dans le scénario du film L’œil du mal (Eagle Eye1)ou encore comme Skynet dans Terminator2. En fait, SET est un logiciel opéré par un humain. Lemodus operandi est relativement simple : il s’agit de manipuler les humains en les hameçonnantà l’aide de diverses supercheries, pour ensuite leur faire faire une action qui permettra à l’at-taquant d’exploiter une vulnérabilité présente dans un système donné dans le but d’en obtenirl’accès.

READY ? SET, GO !SET est un outil de type « ligne de commande » qui s’installe sur Linux et qui a été créé par

David Kennedy (ReL1k). Il peut être téléchargé gratuitement au www.secmaniac.com/download/.Contrairement à plusieurs outils de type « ligne de commande », il est très simple à utili ser pourun néophyte dans le domaine. Le concept du SET est sensiblement le même que ce lui d’unrestaurant chinois. Vous commandez un « numéro quatre pour deux », et c’est réglé ! Vous n’avezpas besoin de savoir cuisiner pour manger. Dans le cas de SET, on retrouve le même concept demenu. Vous n’avez qu’à démarrer SET, à sélectionner le type d’attaque suivi de quelquesparamètres, et c’est réglé ! Vous n’avez pas vraiment besoin de savoir pirater pour attaquer. Deplus, SET est inclus dans la distribution de base de BackTrack3. Mais quel est le lien entre l’outilSET et l’ingénierie sociale ? Voyons tout d’abord à quoi l’outil ressemble et quelles sont ses carac-téristiques.

Michel Cusin œuvre dans le domaine de la sécuritédepuis plus d’une décennie. Iltravaille actuellement commeanalyste en sécurité au seindu groupe Security Testingand Incident Handling Team(STITH) de Bell Canada. Dansle passé, il a travaillé commeinstructeur et consultant ensécurité dans les sec teursprivé et public pour diffé -rentes firmes en sécurité. Il détient plusieurs certifica-tions telles que CISSP, GIAC(GCIH, GPEN), CEH, OPST etplusieurs autres relatives à divers manufacturiers de solutions de sécurité. Il col labore avec le SANSdepuis plusieurs années,notamment à titre de mentoret d’instructeur. Il participeégalement à divers événe-ments de sécurité à titre deconférencier. Il est un pas-sionné de sécurité et aimepartager son exper tise avec la communauté.

Comme les infrastructures réseau sontde plus en plus sécurisées et difficiles àpénétrer de l’extérieur, pourquoi ne pasutiliser des machines pour exploiter leshumains afin d’atteindre l’accès auréseau et de l’attaquer de l’intérieur ?

T E C H N I Q U E

Suite en page 28

Social Engineer Toolkit :quand la machineattaque l’humainPAR MICHEL CUSIN, architecte de sécurité – Bell

L’ingénierie sociale (social engineering) est l’art d’exploiter les failles humaines afind’obtenir l’accès à un système ou à de l’information. Il existe plusieurs volets à cette discipline et tous les coups sont permis pour quelqu’un de vraiment déterminé.

Printemps 2012 SÉCUS | 27 |

Page 2: Social Engineer Toolkit: quand la machine attaque l’humain

Suite en page 29

Premièrement, pour démarrer SET, vous devez vous rendre dans le répertoire dans lequel il est installé. La com-mande pour le démarrer est « ./set » (sans les guillemets).Voici un exemple de démarrage de SET dans BackTrack : « root@bt :/ pentest/exploits/set# ./set ». Il ne faut pas con-fondre cette commande avec celle de « set » (sans le « ./ »devant), qui elle sert au paramétrage des variables de l’environnement du shell, qui est l’interpréteur de lignes decommande.

Une fois SET démarré, choisissez l’option « 1) Social-Engineering Attacks » du menu principal. Vous obtiendrezquelque chose qui devrait ressembler à ceci :

Comme vous pouvez le constater dans la Figure 1, lemenu est divisé en plusieurs catégories qui sont toutes enlien avec des attaques relatives à l’ingénierie sociale. Unefois à l’intérieur de l’une de ces catégories, différentesoptions d’attaques sont disponibles. Comme SET est en cons -tante évolution, voici les catégories et quelques sous caté-gories actuellement disponibles :

1) Spear-Phishing Attack Vectors 2) Website Attack Vectors3) Infectious Media Generator4) Create a Payload and Listener5) Mass Mailer Attack6) Arduino-Based Attack Vector7) SMS Spoofing Attack Vector8) Wireless Access Point Attack Vector9) Third Party Modules

Regardons trois options plus en détail avec quelquesexemples de scénarios :

1) SPEAR-PHISHING ATTACK VECTORS 1. Perform a Mass Email Attack2. Create a FileFormat Payload3. Create a Social-Engineering Template

Le module « Spear-Phishing Attack Vectors » permetde créer et de personnaliser des attaques d’hameçonnageciblé sur mesure. Par exemple, l’option « 2. Create aFileFormat Payload » permet de cacher du code malicieux,par exemple une porte dérobée (backdoor), qui est sous laforme d’un exécutable (.exe), à l’intérieur d’un autre fichierqui pourrait être un document PDF. SET utilise ensuite le module msfencode qui fait partie de Metasploit (vous trou-verez plus de détails sur Metasploit un peu plus loin) afin demodifier l’exécutable malicieux en l’encodant différemmentde façon à rendre son « apparence » unique. Il faut compren-dre que la plupart des antivirus fonctionnent sur une base designatures. Donc, si un logiciel malveillant n’a jamais été vunulle part, il n’existe aucune signature pour ce dernier. Cela apour effet de le rendre invisible pour les antivirus. Une foisque le logiciel malveillant est invisible pour les antivirus, SETl’imbrique dans un fichier PDF légitime au choix de l’atta quant.Par la suite, il ne reste qu’à l’envoyer à la victime par courriel.Lorsque cette dernière cliquera sur le fichier joint pour ouvrirle document PDF, son ordinateur se fera infecté par la portedérobée à son insu. Ici, l’as pect d’ingénierie sociale résidedans le fait que l’attaquant devra trouver le bon contexte et lebon prétexte pour faire en sorte que sa victime ouvre le fichierjoint plutôt que d’envoyer le courriel à la corbeille.

Figure 1

«SET sert donc d’outil servant à dissimuler un logiciel malveillant à l’intérieur d’un contenu légitime.»Poursuivons avec un deuxième exemple de scénario

basé sur le module « Website Attack Vectors ».

2) WEBSITE ATTACK VECTORS1) Java Applet Attack Method2) Metasploit Browser Exploit Method3) Credential Harvester Attack Method4) Tabnabbing Attack Method5) Man Left in the Middle Attack Method6) Web Jacking Attack Method7) Multi-Attack Web Method8) Victim Web Profiler9) Create or import a CodeSigning Certificate

1. Web Templates2. Site Cloner3. Custom Import

Suite de la page 27

Printemps 2012 SÉCUS | 28 |

Page 3: Social Engineer Toolkit: quand la machine attaque l’humain

Ce dernier possède deux niveaux d’options. Le premierniveau permet de sélectionner le type de charge active (payload) qui servira lors de l’attaque du système d’exploita-tion de la victime. Une fois le premier niveau sélectionné,trois autres options, qui constituent l’appât, sont disponibles.Dans ce module, l’attaquant pourrait par exemple décider desélectionner « 1) Java Applet Attack Method » et ensuite « 2. Site Cloner ». Cela lui permettrait de cloner une page Webd’un site de son choix. Une fois la page Web clonée, SET interagit avec Metasploit et démarre un serveur Web local surson poste d’attaque afin de publier la page Web clonée.Encore une fois, l’attaquant trouve une supercherie pour quesa victime visite la page Web clonée. Une fois que la victimese branche à la page Web clonée résidant sur le poste de l’at-taquant, une porte dérobée comme Meterpreter (vous trou-verez plus de détails sur Meterpreter plus loin) s’installe àson insu sur son poste par un applet Java. Une connexioncryptée s’établit alors à partir du poste infecté vers le postede l’attaquant, ce qui lui donne ainsi le plein contrôle de cedernier. Tout cela se passe, bien sûr, à l’insu de la victime. Unevidéo faisant une démonstration de cette attaque peut êtrevisionnée à http ://cusin.ca/ ?p=1346.

Enchaînons avec un troisième scénario.

3) INFECTIOUS MEDIA GENERATOR1. File-Format Exploits2. Standard Metasploit Executable

Avec l’option « Infectious Media Generator », l’atta -quant peut transformer un média amovible tel qu’un USB, un CD ou un DVD en un outil d’attaque simple, efficace etd’apparence inoffensive. Cette option crée un fichier « autorun.inf » ainsi qu’une charge active de type portedérobée qui est programmée pour venir se brancher auposte de l’attaquant qui attend les connexions cryptéesentrantes par Metasploit qui est en mode écoute (MetasploitListener). Par la suite, il ne reste tout simplement qu’à laissertraîner une clé USB infectée près des locaux de la victime etattendre que quelqu’un la ramasse et la mette dans son ordi-nateur pour savoir ce qu’elle contient. Honnêtement, queferiez-vous si vous trouviez une clé USB dans un hall d’entréeou dans un stationnement ? Tout comme vous, notre victimebranchera la clé USB dans son ordinateur « juste pour voir cequ’elle contient ». Une fois la clé insérée dans l’ordinateur dela victime, une connexion cryptée s’établit à partir du posteinfecté vers le poste de l’attaquant, lui donnant, encore unefois, le plein contrôle du poste de sa victime. Rappelez-vousquand vous étiez petit. Votre mère vous disait de ne pas mettrece que vous trouviez par terre dans votre bouche, n’est-cepas ? Alors, aujourd’hui, c’est moi qui vous dis de ne pas mettrece que vous trouvez par terre dans votre ordinateur !

Évidemment, ces trois scénarios ne sont que quelquesexemples des multiples possibilités offertes par SET.Plusieurs autres options aussi intéressantes les unes queles autres sont également possibles.

Suite en page 30

Suite de la page 28

La formation SANS SEC560en français est de retour à Québec et aura lieu du 23 au 25 et du 28 au 30 mai 2012!Les cyber attaques augmentent au même titre que la demande pour les professionnels de la sécurité de l’information possédant de vraies compétences sur le plan des tests d’intrusions réseau et du piratage éthique. Plusieurs cours de piratage éthique prétendentenseigner ces compétences, mais peu le font réellement. Le cours SANS SEC560: Network Penetration Testing and Ethical Hacking vous préparevraiment à effectuer avec succès vos projets de tests d’intrusion et de piratage éthique.

Qui devrait y assister?! Les professionnels de la sécurité effectuant des tests d’intrusion (Pentesters)! Les pirates éthiques (Ethical Hackers)! Les auditeurs ayant besoin d’améliorer leurs compétences techniques! Le personnel de sécurité dont le travail consiste à évaluer les réseaux

et les systèmes afin de trouver des failles de sécurité

Instructeur :Michel Cusin ! [email protected] ! 418 955-2355 ! http://cusin.ca/?p=1353

Le cours SANS SEC560: Network Penetration Testing and Ethical Hacking prépare les candidats visant la certification GIAC Certified Penetration Tester (GPEN).

Printemps 2012 SÉCUS | 29 |

Page 4: Social Engineer Toolkit: quand la machine attaque l’humain

Suite de la page 29

SOCIAL ENGINEER TOOLKIT (SET) ETMETASPLOIT : UN DUO INFERNAL

Comme mentionné plus tôt, Social Engineer Toolkit etMetasploit fonctionnent de pair. Mais qu’est-ce queMetasploit ? Il s’agit en fait d’une plateforme d’un logicielintégré (framework) pour le développement et l’exécutiond’exploits4 contre des machines distantes. Metasploit comprend différentes interfaces d’utilisation, mais la plus populaire reste la bonne vieille ligne de commande« msfconsole » (Figure 2). Metasploit, qui est en constanteévolution, comprend notamment 762 exploits et 228 pay-loads différents au moment d’écrire ces lignes. Tout celasans compter les 27 encodeurs différents pouvant êtreutilisés par le module msfencode comme mentionné dansl’exemple « 1) Spear-Phishing Attack Vectors ». Voici à quoiressemble l’interface msfconsole (Metasploit FrameworkConsole) :

METERPRETERMerterpreter est un diminutif de « Meta-Interpreter »

et fait partie de Metasploit. Il s’agit en fait d’un payload quiutilise l’injection DLL afin de s’injecter dans une applicationayant été compromise par un exploit. Le même principe d’in-jection DLL s’applique pour le payload VNCInject mentionnéplus tôt. Une fois injecté, meterpreter agit comme une portedérobée et permet à l’attaquant de faire à peu près tout cequ’il veut avec le poste de sa victime. Il peut, par exemple,vider le contenu des logs pour cacher ses traces, récupérerles hashes5 des mots de passe à partir du Security AccountsManager (SAM) pour ensuite les cracker. L’obtention des hashesrend également possible les attaques « Pass-the-Hash6 ».Cette attaque consiste à injecter les hashes dans le proces-sus Local Security Authority Subsystem Service (LSASS.exe)sur le poste Windows de l’attaquant. Comme le processusLSASS.exe sert notamment lors de l’authentification des utili -sateurs Windows, il devient possible pour l’atta quant de seconnecter à un autre poste en se faisant passer pour la vic-time. Meterpreter permet également de visionner et demanipuler le contenu du disque dur et même de se servir duposte compromis comme relais pour attaquer le reste duréseau. Meterpreter n’est résident qu’en mémoire et il ne s’installe pas sur le disque dur par défaut. Cela signifie qu’ildisparaît une fois que l’application qui a été injectée est fer-mée ou que le poste est redémarré. Cela a pour effet de lerendre très difficile et presque impossible à repérer lorsd’une investigation. Comme meterpreter utilise l’injection DLL,il ne fonctionne que sur Windows pour le moment. Certainesrumeurs courent voulant que certaines initiatives, comme « Meterpretux » pour Linux et « Macterpreter » pour Mac OSX, soient apparemment en développement, mais rien de con-cret n’est encore publiquement disponible à ce jour. De plus,la beauté avec Meterpreter est qu’il utilise du Secure SocketsLayer (SSL) pour crypter les communications entre la vic-time et l’attaquant. Alors, même si le trafic est repéré, il estpratiquement impossible à interpréter. De plus, il se fond trèsbien dans le trafic HTTPS normal du réseau.

Parmi les options offertes par Metasploit, il y anotamment le mode écoute (Metasploit Listener). Cedernier permet de recevoir des connexions entrantes(reverse shell). Lorsque des postes ayant été compromis,comme décrit dans les trois scénarios précédents, se connectent à l’attaquant, il devient alors possible de lescontrôler à distance.

Metasploit peut également être utilisé pour attaquerun système cible directement. Le fonctionnement deMetasploit est relativement simple. Premièrement, l’atta -quant se connecte à Metasploit. Il choisit ensuite un exploitparmi tous ceux disponibles. Cet exploit sert à exploiter unefaille pré sente sur le système cible afin de permettre àl’atta quant de pénétrer dans le système. Il choisit ensuiteune charge active (payload) comme une porte dérobée(Meterpreter), un reverse shell, un serveur VNC(VNCInject), etc. Metasploit combine alors tous les élé-ments, lance l’attaque, com promet le système cible etdonne accès à l’attaquant (Figure 3).

INTERFACE UTILISATEUR

Exploit 1

Exploit 2

Exploit N

Payload 1

Payload 2

Payload N

Choix

Exploit 2 Payload 1 Stager Launcher VERS LA CIBLE

Figure 3

Figure 2

Suite en page 31

Printemps 2012 SÉCUS | 30 |

Page 5: Social Engineer Toolkit: quand la machine attaque l’humain

Prenons, par exemple, le scénario « 2) Website AttackVectors ». Lorsque l’attaquant réussit à compromettre lefureteur Internet de la victime à l’aide de l’applet Java, lamagie de l’injection DLL s’opère et Meterpreter est injectédans le fureteur Internet. Meterpreter reste vivant tant quele fureteur reste ouvert. Si le fureteur est fermé, la sessionMeterpreter se termine. Alors, afin de ne pas être à la mercidu processus lié au fureteur, Meterpreter crée un nouveauprocessus « notepad.exe » et y migre automatiquement.Aucune fenêtre n’apparaît à l’écran de la victime, mais leprocessus est bien présent si l’on vérifie à l’aide d’une com-mande telle que « netstat –nao » par exemple. Il est égale-ment possible pour l’attaquant de faire migrer manuelle-ment Meterpreter vers un autre ProcessID (ou une autreapplication) de son choix. Il pourrait, par exemple, choisir undes multiples « svchost.exe » présents sur les machinesWindows. Il lui suffit d’utiliser la commande « migrate[PID] ». Le [PID] est bien évidemment remplacé par le« Process ID » de l’application vers laquelle Meterpreter amigré.

ET ALORS ?Social Engineer Toolkit est un outil technologique qui

permet à un attaquant de perpétrer des attaques sur dessystèmes en tirant avantage de l’ingénierie sociale. Le suc-cès d’un outil comme SET réside dans le fait que l’humaindemeure une faille de sécurité importante. Il est donc primor-dial de sensibiliser nos gens et de garder nos systèmes àjour. Pour de plus amples informations en anglais à propos deSET, je vous invite à visiter le www.social-engineer.org/frame-work/Computer_Based_Social_Engineering_Tools :_Social_Engineer_ Toolkit_%28SET%29.

En terminant, j’aimerais vous rappeler que la prudenceet les bonnes pratiques sont toujours de mise, alors ouvrezl’œil et ne cliquez pas sur n’importe quoi ! !

1. http://www.eagleeyemovie.com/intl/fr/.2. http://fr.wikipedia.org/wiki/Personnages_de_Terminator#S.3. www.backtrack-linux.org/.4. http://fr.wikipedia.org/wiki/Exploit_%28informatique%29.5. http://fr.wikipedia.org/wiki/Fonction_de_hachage.6. http://en.wikipedia.org/wiki/Pass_the_hash.

Suite de la page 30

Printemps 2012 SÉCUS | 31 |

Nouvelles en brefVoici quelques extraits d’articles de sécurité publiés sur Internet en mars 2012 :

ZEROSPAM OBTIENT LA CERTIFICATION VBSPAM « ZEROSPAM a obtenu la prestigieuse certification VBSpamauprès de Virus Bulletin. Lors de cette première participationau programme VBSpam, la solution ZEROSPAM a obtenu lamarque de 99,56 % et s’est classée au 5e rang des entre -prises participantes, surclassant des rivaux tels que GFI,Sophos, Symantec, FortiMail et McAfee. Les commentairesde Virus Bulletin sur la solution ZEROSPAM soulignent égale-ment la convivialité de l’interface client, le fait que chaquedomaine dispose de plusieurs enregistrements MX assurantainsi la redondance du service, et le fait que le réseauZEROSPAM est entièrement canadien. » ! Information tirée de Virusbtn.com

CYBERCRIMINALITÉ : LÉVIS, LA VILLE LA MOINS À RISQUE« Les résidents de Lévis sont les Canadiens, parmi les habi-tants des grandes villes, qui s’exposent le moins à la crimi-nalité en ligne. En effet, la ville de la rive sud arrive aucinquantième et dernier rang d’un classement des villesayant le nombre le plus élevé de facteurs de risque liés à lacybercriminalité. Au Québec, la ville la plus à risque,Montréal, arrive loin au trentième rang du classement. Ilsemble que la province pourrait même figurer parmi les

moins à risque puisque sept villes québécoises ferment leclassement. Outre Lévis (50e) se classent Gatineau (49e),Longueuil (48e), Laval (47e), Sherbrooke (46e), Trois-Rivières (45e) et Québec (44e). » ! Information tirée de Cyberpresse.ca

www.cyberpresse.ca/le-soleil/actualites/justice-et-faits-divers/201202/22/01-4498639-cybercriminalite-levis-la-ville-la-moins-a-risque.php

LES SYSTÈMES INFORMATIQUES DU CANADA HAUTEMENT À RISQUE « Des services critiques pour les Canadiens gérés par deséquipements désuets. Cette vérification, effectuée en juin2011 auprès du Conseil du Trésor du Canada par unchercheur d’Ottawa, démontre que 11 % des 2 100 systèmesinformatiques jugés “critiques” pour assurer les services auxCanadiens sont dangereusement dépassés. Ces mêmes sys-tèmes nécessiteraient des investissements de 1,4 milliardde dollars pour les mettre à jour. Le gouvernement du Canadadépense déjà autour de 5 milliards de dollars par annéespour ses TI. » ! Information tirée de Branchez-vous.com

www.branchez-vous.com/techno/actualite/2012/03/les_systemes_informatiques_du.html