metasploit - itbonifacioluc.files.wordpress.com les bases de metasploit souvent lors du premier...

20
2015 [Tapez le nom de l'auteur] [Tapez le nom de la société] 15/04/2015 Metasploit

Upload: hanhan

Post on 16-Mar-2018

248 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

2015

[Tapez le nom de l'auteur]

[Tapez le nom de la société]

15/04/2015

Metasploit

Page 2: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

2

Pourquoi effectuer un test de pénétration ? Les entreprises investissent des millions de dollars dans des programmes de sécurité pour protéger leurs infrastructures, afin d’identifier les failles dans le système, et ainsi d’éviter de graves violations de données. Un test d’intrusion est l’un des moyens les plus efficaces pour identifier les faiblesses et les insuffisances dans ces programmes, Ce test tentant de contourner les mécanismes de sécurité, en d’autre terme testeur de pénétration est en mesure d’identifier les façons dont un pirate pourrait être en mesure de compromettre l’organisation et d’endommager l’organisation dans son ensemble.

Pourquoi Metasploit ? Metasploit n’est pas seulement un outil, c’est un Framework (Un Framework est un ensemble d'outils

et de composants logiciels) qui fournit l’infrastructure dont on aura besoin pour automatiser les tâches de routine, banales et complexe. Il permet de vous concentrer sur les aspects uniques et spécialisés de pénétration dans le but d’identifier des failles dans un programme. Metasploit permet de facilement construire des vecteurs d’attaque pour augmenter ses exploits, payloads, encodeurs et plus afin de créer et exécuter des attaques les plus avancés.

Histoire de Metasploit Metasploit a été initialement développée et conçu par HD Moore alors qu’il était employé par une entreprise de sécurité. A ce même temps Il a commencé à créer un Framework flexible et maintenable pour la création et le développement d’exploits. Il a sorti son premier numéro de Metasploit basé sur Perl en Octobre 2003 avec un total de 11 exploits. Avec l’aide de Spoonm, HD a publié une réécriture totale du projet, Metasploit 2.0, en Avril 2004. Cette version comprenait 19 exploits et plus de 27 charges utiles. Peu de temps après Matt Miller a rejoint l’équipe de Metasploit pour le développement, ainsi le projet a gagné en popularité, Framework Metasploit a reçu le soutien lourd de la communauté de la sécurité d’information et est rapidement devenu un outil indispensable pour les tests de pénétration et d’exploitation. Suite à une réécriture complète dans le langage de programmation Ruby, l’équipe Metasploit publié Metasploit 3.0 en 2007. La migration de la Cadre de Perl à Ruby a duré 18 mois et a abouti à plus de 150.000 lignes de code dès son lancement. Avec la version 3.0, Metasploit a vu l’adoption généralisée dans la communauté de la sécurité et une forte augmentation des contributions des utilisateurs bénévoles. À l’automne 2009, Metasploit a été acquise par Rapid7, un chef de file dans la vulnérabilité, ce qui a permis HD de construire une équipe et de se concentrer uniquement sur le développement du Framework Metasploit. Depuis cette acquisition, les mises à jour se font plus rapidement et aujourd’hui nous sommes actuellement sous la version 4 du Framework. Rapid7 publie deux produits commerciaux basés sur le Framework Metasploit: Metasploit Express et Metasploit Pro. Metasploit Express est la version du Framework Metasploit avec une fonctionnalité de GUI y compris les rapports, entre autres fonctionnalités utiles. Metasploit Pro est un élargissement de la version de Metasploit Express qui vante les mérites de pénétration collaborer et de groupe essais et des fonctionnalités telles que sur un seul clic tous s’est joue et bien plus encore.

Page 3: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

3

Méthode d’exécution des tests de pénétration Standard Les phases des tests de pénétration sont conçues pour définir le test de pénétration d’une part et d’autre part d'assurer au client un niveau normalisé d'efforts qu’ils devront consacrés pour la réussite de test de pénétration. Cette norme est divisée en sept catégories avec les différents niveaux pour chacun.

Collecte de renseignements Dans la phase de collecte de renseignements, vous recueillerez des informations sur l'organisation. Toutes les informations que vous pouvez trouver sur les réseaux sociaux, Google, et je pense une des choses la plus importante dans cette phase est d’avoir la compétence d’apprendre sur la cible, comment il travail, comment il opère, comment il fonctionne et finalement comment il peut être attaqué en fin de compte. Les informations que vous recueillez sur votre cible, vous donnera un aperçu sur le type de sécurité qui sont mis à place par le client. Au cours de la collecte de renseignements, vous essayez d'identifier la protection physique qui est mise à place dans l'objectif de commencer à sonder ses systèmes.

La modélisation des menaces

La phase de modélisation des menaces utilise les informations que vous avez acquis dans la collecte de renseignements dans le but d’identifier progressivement les vulnérabilités existantes sur le système cible. Exécution de cette phase vous permettra de déterminer la méthode d'attaque la plus efficace, le type d'information que vous aurez après, et comment l'organisation pourrait être pénalisée. La modélisation des menaces consiste à examiner aussi les organisations concurrentes tentés d'exploiter les faiblesses qu’un attaquant d'une concurrence pourrait amener.

Analyse de la vulnérabilité Après avoir identifié les méthodes d'attaque les plus viables, il faut examiner comment vous aurez accès à la cible. Au cours de cette phase analyse de vulnérabilité, vous devez combiner les informations que vous avez tirées au cours de la phase précédente et les utiliser pour observer et voir si ces attaques pourraient être viables. Autres choses, cette phase d’analyse a pour objectif de scan les ports vulnérable, d’examiner les données des bannières, et bien sûr comme dit ci-haut d’explorer à profondeur les informations recueillies au cours de la collecte de renseignements.

Page 4: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

4

Exploitation L'exploitation est probablement l'une des parties la plus amusante d'un test de pénétration. Mais il est souvent fait dans un style que je considérais plus tôt de Brute Force plutôt que d’une précision. Un exploit doit être exécuté seulement que lorsque vous avez identifié la faille et que vous connaissez très bien l'exploit qui doit être exécuté pour cette faille ! Sinon vous passerez 1000 ans en train d’exécuter exploit par exploit sans succès. Bien sûr, parfois il arrive que la protection mise à place empêche un exploit particulier de bien travailler, C’est pourquoi avant de déclarer une vulnérabilité quelque part vous devrez vous rassurez que le système est bien vulnérable.

Post exploitation Cette phase commence après que vous aviez compromis un ou plusieurs systèmes, et que vous avez avec vous votre session. Cette phase est la composante essentielle dans tout test de pénétration c'est là où vous devrez vous démarquer de la moyenne, dans l'usine des hackers. Dans la phase de Post d’exploitation on vise à identifier les infrastructures essentielles, tiquer les informations, les cibles et les données que la société valorise les plus et il faut tenter de les obtenir. Lorsque vous attaquez un poste, vous devriez prendre le temps afin de déterminer quels sont les différentes tâches que ce poste exécute, les rôles utilisateurs, etc. Par exemple, supposons que vous compromettre un système, vous voilà sur le serveur Windows server qui joue le rôle du nom de Domaine, en tant qu'administrateur prenez votre temps, communiqué avec Active Directory? Allez voir compte qui gère la paye des employés? Acheminer tout l'argent de l'entreprise sur un compte offshore? Enfin vous avez compris cette phase regorge les scénarios difficiles dans lesquelles vous devez prendre le temps d'apprendre quelles sont les informations à votre disposition et ensuite utiliser cette information à votre avantage. C’est exactement ce qu’un hacker aurait consacrent généralement pour compromettre le font du système. Cette phase s’est une phase expérimentation il faut pensez comme un malveillants, s'adapter rapidement, et de compter sur votre intelligence au lieu d'automatisation outils

Page 5: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

5

Rapports Le reportage est de loin l'élément le plus important d'un test de pénétration. Vous devrez utiliser les rapports pour communiquer ce que vous avez fait, comment vous l'avez fait, et, plus important, comment l'organisation doit corriger les vulnérabilités découvertes au cours le test de pénétration. Lorsque vous effectuez un test de pénétration, vous travaillez comme un hacker, pour voir les choses obscures que les organisations n’arrivent pas à voir. C’est pourquoi les informations que vous obtenez lors d'un test est essentielle à la réussite de mesure de sécurité que l'organisation doit mettre à place pour arrêter les futures attaques.

Types de tests de pénétration Maintenant que vous avez une compréhension de base sur les phases de PTES, nous allons examiner les deux principaux types de tests de pénétration: visibles et invisibles. Les deux tests présents ont chacun leurs avantages et leurs inconvénients.

Test de Pénétration manifeste L'avantage principal d'un test manifeste, est que vous avez accès à des informations privilégiées et vous pouvez lancer les attaques sans crainte d’être bloquée. L’inconvénient potentiel ce test est que les tests manifestes ne permettent pas de tester efficacement le client.

Test de Pénétration clandestin Contrairement aux tests manifestes, il s’agit d’un test clandestin l’attaquant cherche seul les infos sans contacter l’organisation. Il peut être long et coûteux, et surtout ce test exige plus de compétences que les tests manifestes. Aux yeux de testeurs de pénétration, ce scénario est souvent préféré parce qu'il simule plus étroitement à une véritable attaque.

Page 6: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

6

Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses interfaces, options, utilitaires, variables et des modules. Nous allons nous concentrer exactement sur ces éléments pour essayer d’avoir une vue d’ensemble sur Metasploit. Nous profiterons de passer aussi en revue certains tests de pénétration terminologie de base, puis nous parcourrions brièvement les différentes interfaces utilisateur que Metasploit nous offre.

Terminologie

Exploit Un exploit est le moyen par lequel un hacker ou un testeur de pénétration prend avantage sur une faille dans un système, une application ou un service. Un attaquant utilise un exploit pour attaquer un système et le résultat de cette attaque entraîne exécution des codes de cet exploit comme son auteur (le développeur de cet exploit) l’avait programmé. La majorité des Exploits exploite les failles du type (dépassement de mémoire), les vulnérabilités des applications Web (telles que l'injection SQL), et les erreurs de la configuration dans les applications.

Payload Un Payload (charge utile) est le morceau du code que nous voulons que le système exécute, les payloads sont livrées par le Framework, vous serez là juste pour le sélectionné. Par exemple, reverse shell c’est un payload qui crée une connexion entre la machine cible à celle de l'attaquant a renvoya à celle-ci une invite de commande DOS, tandis que bind shell est un payload qui «Lie» une invite de commande à un port d'écoute sur la machine cible, elle reste là à l’écoute pour attendre patiemment que le pirate se connecter dessus. Un Payload peut aussi être quelque chose aussi simple que quelques commandes à exécuter sur le système d'exploitation cible.

Shellcode Le Shellcode est constitué un ensemble des instructions utilisées par Payload lors de l'exploitation. Shellcode est généralement écrit en assembleur dans la plupart des cas, si le shellcode est bien exécuté, une invite de commande Shell ou une Meterpreter sera fourni à l’attaquant.

Module Les modules sont des parties d’application qu’on importe et on peut utiliser dans le Framework Metasploit. Dans certains cas on est obligé soit d’utiliser un exploit module: il s’agit un composant logiciel pour effectuer l'attaque et parfois on utilise le module auxiliaire pour augmenter la performance des actions comme le scannage, énumération de système. Avec ce système des modules interchangeables MSF est très dynamique.

Page 7: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

7

Listener Un listener est un composant de Metasploit qui attend une connexion entrante sur la machine de l’attaquant. Par exemple, après que la machine cible a été exploitée, elle peut appeler la machine attaquante par le baie de l’Internet. C’est le listener qui gère ces genres d’affaire, le Listener entend sur la machine d'attaquant pour être contacté automatiquement sur le système exploité quand celle-ci se met en ligne.

Les Interfaces de Metasploit Metasploit proposent plus d'une interface pour sa fonctionnalité sous-jacente, on trouve la console, la ligne de commande, et les interfaces graphiques. En plus de ces interfaces, il y a des utilitaires qui offrent un accès direct aux fonctions internes du Framework Metasploit. Ces utilitaires peuvent être très précieux lors du développement et de l'exploitation dans certaines situations pour lesquelles vous n'avez pas besoin de la flexibilité de l'ensemble du Framework.

Msfconsole Msfconsole est de loin la partie la plus populaire du Metasploit, et ça pour la bonne raison. Il est l'un des plus souples (possibilité d’utilisé la tabulation), flexible, riches en fonctionnalités, et il supporte tous les outils du MSF. Msfconsole fournit un outil pratique « tout-en-un » avec une interface console toutes les options et paramètres de MFS sont disponibles, Msfconsole s’est comme un guichet unique pour tous vos rêves d'exploitation. Vous pouvez utiliser msfconsole pour tout faire : lancer des exploits, charger les modules auxiliaires, effectuer l'énumération, créer le listener, ou scanner en masse un ensemble du réseau. Bien que le Framework Metasploit soit en constante évolution, le sous-ensemble des commandes restent relativement constants. En maîtrisant les bases de msfconsole, vous serez en mesure de faire face à tout changement. Pour illustrer l'importance de la msfconsole dans notre apprentissage, il sera utilisé presque dans tous les chapitres du tutoriel.

Lancement de Mestasploit

Page 8: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

8

Lancement du MSFconsole Pour accéder aux fichiers d'aide de msfconsole, entrez help (pour les commandes de base) ou soit help après de la commande qui vous intéresse. Dans l'exemple suivant, nous cherchons de l'aide pour la commande connect, (cette commande nous permet de communiquer avec un hôte comme netcat mais elle supporte plusieurs protocoles comme ssh). Le résultat de la documentation affiche : la description de la commande et ces différentes options et paramètres (flags).

msf> help connect

Msfcli

Page 9: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

9

Msfcli et msfconsole adoptent des approches très différentes pour l'accéder au Framework. Là où msfconsole fournit une façon interactive d'accéder à toutes les fonctionnalités de manière conviviale, msfcli met la priorité sur les scripts et l'interopérabilité avec d'autres outils basés sur console. Au lieu de fournir un interprète unique, pour le Framework, msfcli s'exécute directement depuis la ligne de commande, ce qui vous permet de rediriger la sortie dans d'autres outils de ligne de commande. Msfcli soutient également le lancement d’exploits et modules auxiliaires, et il est très pratique dans le test des modules et aussi lors développement de nouveaux exploits pour le Framework.

C'est un outil fantastique pour une exploitation unique lorsque vous connaissez exactement le nom de

l’exploit et les options de celui-ci. Il est moins indulgent que msfconsole, mais il offre peu d'aide de base (en montre les syntaxes d’utilisation et la liste des options). Vous pouvez exécuter la commande msfcli-h pour l’aide:

root@bt:~ #msfcli –h

Page 10: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

10

(A) =Afficher les options avancées disponibles pour ce module (AC)= Voir les actions disponibles pour ce module (C) = Exécutez le contrôle de routine du module sélectionné (E)= Exécutez le module sélectionné (H)= Vous avez devant vous bébé! (I)= Afficher les options disponibles d’identifiants pour l'évasion d’un module (M)= Afficher les options requises pour ce module (O)= Afficher les options disponibles pour ce module (P)= regarder les charges utiles disponibles pour ce module (S)= Affiche des informations sur ce module (T)= Montrer les cibles disponibles pour ceux module exploit

Exemple d'utilisation Jetons un coup d'œil à la façon dont vous pouvez utiliser msfcli. Ne vous préoccupez pas des détails; ces exemples sont destinés à juste titre de vous donner une idée de la façon dont on travailler avec cette interface. Si vous êtes débutant avec Metasploit ou lorsque vous vous sentez coincé, vous pouvez facilement voir les options disponibles d'un module en ajoutant la lettre « O » à la fin de la chaîne. Par exemple, dans ce qui suit, nous utilisons le « O » pour voir les options disponibles pour le module ms08_067_netapi: Vous pouvez voir que ce module nécessite trois options: RHOST, RPORT, et SMPIPE. Maintenant, en ajoutant un P on peut voir la liste des Payloads disponibles pour cet exploit. Quand toutes les options requissent sont complétées y compris Payload, on peut finalement lancer l’exploit avec la lettre E à la fin du string! Voyons plutôt part ici

Msfcli windows/smb/ms08_067_netapi RHOST=192.168.204.x PAYLOAD=windows/shell/bind_tcp E

Page 11: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

11

Armitage L’Armitage est le composant du Metaspoit qui permet aux utilisateurs de communique graphiquement avec le Framework, son créateur est Raphael Mudge. C’est une interface hautement impressive et totalement gratuit. Pour ce cours nous ne couvrirons pas en profondeur l’armitage. Mais quand même voyons comme on peut le lancer.

Exécution de l’armitage Pour lancer l’armitage, executer simplement la commande armitage. Lors du chargement sélectionné préciser le host, port, user, pass du MSF, pour qu’armitage se connecte à l’instance de votre Metasploit.

:/ #armitage

Interface d’armitage :

Page 12: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

12

Les utilitaires de Metasploit

Ayant fini de parcourir les trois principales interfaces , il est temps de présenter les quelques utilitaires du MSF. Les utilitaires du MSF sont des interfaces directes qui communiquent avec les fonctions internes du Framework, dans certains cas leur utilisation est très utile, en particulier dans le développement des exploits. Nous parlerons de quelques-uns les plus utilisés ici, les autres apparaîtront tout au long du cours.

MSFpayload L’utilitaire msfpayload vous permet de générer : le shellcode, les exécutables et beaucoup plus ainsi vous pouvez utiliser ces exploits hors du Framework. Shellcode peut être générée sous des nombreux formats comme : C, Ruby, Javascript, et même Visual Basic. Chaque format de sortie est utilisé dans une situation bien précise. Par exemple, si vous travaillez avec une preuve basée sur Python, C-style comme type de sortie pourrait être la meilleure, si vous travaillez sur un exploit d’un navigateur, un format de sortie qui serait le meilleur probablement s'est JavaScript. Après avoir décidé du type de sortie vous pouvez facilement insérer votre Payload fraichement créé directement dans un fichier HTML pour déclencher exploit. Pour voir la liste des options de cet utilitaire entrez msfpayload -h dans la ligne de commande comme ceci:

:/ #msfpayload -h Comme msfcli, si vous vous retrouvez coincé sur les options requises pour un payload d'un module x, ajoutez la lettre "O" sur la ligne de commande pour obtenir une liste des options requissent et celles des variables facultatives:

:/#msfpayload windows/shell_reverse_tcp O

Page 13: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

13

MSFencode Normalement le shellcode généré par msfpayload est pleinement fonctionnelle, mais elle contient plusieurs caractères nuls qui, lors d’exécutions des certains programmes lorsqu’ils interprètent ces caractères cela provoque l’arrêt du code avant sa fin. En d'autres termes, les x00s et xffs peut briser votre Payload! En outre, shellcode traversant le réseau sous forme de texte clair est susceptible d'être intercepter par le détecteur d’'intrusion (IDS) et les logiciels antivirus. Pour remédier à ce problème, les développeurs du MSF ont développé le msfencode, ce qui nous permet d'éviter un mauvais caractère et de se couvrir des antivirus et IDS en recodant le Payload originales d'une manière qu’il ne puisse contenir aucun caractère "mauvais". Entrer msfencode -h pour voir la liste d'options de msfencode.

Metasploit contient un certain nombre de codeurs qui doivent êtres utilisés dans des différentes situations bien spécifiques. Certains seront utiles lorsque vous ne pouvez utiliser que des caractères alphanumériques dans le payload, c'est bien le cas de nombreux exploits qui attaquent les formats de fichiers et applications qui acceptent uniquement des caractères imprimables en entrée, tandis que d'autres encodeurs sont généraux et réussissent bien dans toutes les situations.

Page 14: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

14

En cas de doute, lors d’un choix de codeurs, je vous conseille d’utilisé le codeur x86/shikata_ga_nai, c’est le seul encodeur avec le grade d’Excellent, il a une mesure de la fiabilité et la stabilité presque dans tous les modules. Dans le monde de codeur, un codeur excellent implique qu’il soit plus polyvalent et capable d’accueillir un plus grand d'ajustement que les autres codeurs. Pour voir la liste des encodeurs disponibles dans MSF, ajoutez -l après la commande msfencode comme illustré ci-dessous. Payload sont classées par ordre de fiabilité.

: ~#msfencode –l

Nasm Shell L'utilitaire nasm_shell.rb peut être utile lorsque vous essayez de donner un sens à un code assembleur, surtout au cours du développement exploit, lors que vous devrez identifier les opcodes (les instructions de l’assembleur) pour une commande donnée. Par exemple, ici nous exécutons nasm shell pour identifier les opcodes pour la jmp dans la commande esp, et nasm_shell nous donne FFE4.

Préparons votre Laboratoire

Configuration de la machine cobaye

Pour la suite du tutoriel, notre environnement sera constitué de:

Une machine Kali linux (avec Metasploit installé) il jouera le rôle d’attaquant

Un Windows XP et un Ubuntu (ancienne version) nos victimes.

Pour télécharger Windows XP c’est ici :

Page 15: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

15

Configuration des vulnérabilités sur Windows XP On va ajouter encore plus des failles dans notre Xp: * Allez dans Panneau de configuration, basculer vers l'affichage classique, puis sélectionnez le Pare-feu Windows changé son statuts sur « Désactivé » puis cliquez sur OK. (Cela peut sembler irréaliste, mais ce scénario est plus commun que vous pourriez vous imaginez dans les grandes entreprises.) Ensuite, ouvrez la section Mises à jour automatiques, sélectionnez « Désactiver les mises à jour automatiques » puis cliquez sur OK. Quand même Windows n’a pas le droit de patcher les vulnérabilités que nous essayons d’apprendre et d’exploiter. Bon j’espère que votre IP est sur statique ? Ok, Bien que non requis, en faisant cela vous évitera d'avoir à revérifier l'adresse de la cible à chaque fois que vous voulez lancer un exploit.

Configuration du serveur Web sur Windows XP Pour rendre les choses intéressantes et s’assurer une plus grande surface d'attaque, nous allons autoriser à certains services supplémentaires d’entre en jeu. 1. Dans le Panneau de configuration, sélectionnez Ajouter ou supprimer des programmes, puis sélectionnez Ajouter / Supprimer des composants Windows. L’Assistant Composants de Windows apparait... 2. Sélectionnez la case à cocher pour Internet Information Services (IIS), puis cliquez sur Détails. Ensuite, sélectionnez la case à cocher de: File Transfer Protocol (FTP) Service et cliquez sur OK. 3. Sélectionnez « Outils de gestion et d'analyse» cochez-le et cliquez sur OK. Par défaut, il installera le Protocole simplifié de gestion de réseau (SNMP) et son Fournisseur (WMI). 4. Cliquez sur Suivant pour terminer l'installation et redémarrer la machine pour que le changement soit pris à compte . La combinaison de ces étapes ajoute différents services que nous testerons dans ce tuto. Le serveur IIS vous permettra de lancer un site web que vous pouvez déjà télécharger une copie ici : www.itbonifacionluc.wordpress.com. Le service FTP va nous permettent d'effectuer les attaques contre le protocole FTP, et la Configuration de SNMP nous permettra de tester des modules auxiliaires de Metasploit.

Page 16: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

16

Installation d’un serveur SQL Server

La plupart des modules de la base de données dans Metasploit et Fast-Track ciblent le SQL Server de Microsoft, alors installation aussi une instance de SQL Server 2005 Express pour voir les choses en face. Son téléchargement est disponible gratuitement chez Microsoft. A ce jour, vous pouvez le localiser à cette adresse http://www.microsoft.com/fr-fr/download/details.aspx?id=21844. Pour installer SQL Server Express, vous devez installer Windows Installer 3.1 et le. NET Frame-travailler 2.0. Une fois après l’installation, exécutez le programme d'installation de SQL Express et sélectionnez les valeurs par défaut, sauf pour le mode d'authentification. Sélectionnez le mode mixte, définir un mot de passe de la connexion de l'utilisateur sa à password1, puis constinuer avec l'installation. Apres l'installation de base de données SQL Server, vous devez faire un quelques modifications pour le rendre online sur le réseau: 1. Sélectionnez Démarrer/Tous les programmes/Microsoft SQL Server 2005/Configuration des Outils, puis sélectionnez Gestionnaire de configuration SQL Server. 2. Dans ce gestionnaire de configuration, sélectionnez SQL Server 2005 Service, Cliquez avec le bouton droit de la souris sur SQL Server (SQLEXPRESS) sélectionnez Arrêter. 3. Développer SQL Server 2005 Network Manager Configuration et sélectionnez Protocoles pour SQLEXPRESS, comme le montre cette la figure:

4. Double-cliquez sur TCP/IP, puis sur l'onglet Protocole, réglez à Enabled Oui/Yes et Listen All sur No 5. Ensuite, tout en restant dans les propriétés TCP/IP, sélectionnez l'onglet IP adresses et supprimer tous les zéros sous IPAll, IP1 et IP2, retirez aussi les valeurs pour les ports TCP dynamiques et régler Enable de IP1 et IP2 à Yes. 6. Enfin, définissez l'adresse iP de la section IP1 avec de votre ordinateur définie précédemment, et celui de la section IP2 à 127.0.0.1 (normalement ils doivent là automatiquement), et définissez le port TCP pour chacun d'eux à 1433. Vos paramètres doivent ressembler à ceux cette figure

Page 17: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

17

Ensuite, vous devez activer le service SQL Server Browser:

1. Sélectionnez SQL Server 2005 Services et double-cliquez sur SQL Server Browser. 2. Sur l'onglet Service, définissez le Start mode sur Automatique.

Par défaut, le service Brower tourner sur un compte invité avec moins de privilège. Cependant, les administrateurs changent souvent ce type du départ pour le réadapter de leurs applications on lui donne un compte administrateur avec un haut niveau de privilège et dans majorité pour qu'il se connecte directement sur le système local. Pour se faire nous allons double-cliquer sur l'instance Sql Server(SqlExpress) et réglons Log on as à Local System, puis Cliquer sur Ok. Redémarrons notre service MS SQL à cliquant-droit sur l’instance de SQL Server(SQLEXPRESS) et sélectionner démarrer/start, avant de faire la même chose aussi pour SQL Server brower double-cliquer sur celui-ci, au niveau de l'ongle Log On régler le à Network Service si c ne pas le cas. Finalement fermons la fenêtre de la Configuration du MS SQL et vérifions si tous marche bien en ouvrant l’Invité de commande DOS. La commande à taper est :

Netstat –ano | find "1433" et nestat –ano | "1434". (Capture d’écran) Notre adresse IP qui a été configuré correctement et écoute bien sur le port TCP 1433 et UDP 1434 comme le montre cette figure

Création des vulnérabilités dans l’application web

Pour nous permettre d’utilisé certains modules avancés de Metasploit, les outils de Fast-Track et celui d’ingénierie social (SET). Il est intéressant qu’on puisse configurer une application web pour notre environnement de test.

Pour créer la base de données et les tables que ce site web utilisera, on doit télécharger et installer le SQL Server Management Studio ici : http://www.microsoft.com/en-

us/download/details.aspx?id=14630 Apres l’installation et un redémarrage mortel, procéder de cette façon :

Page 18: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

18

1. Démarrer l’application à cliqua sur : Démarrer/Tous programme/Microsoft SQL Server 2005/Sql Server Management Studio Express. 2. Au niveau de l’authentification sélectionner: Authentification SQL Server username est : sa et le mot de passe est : password1 3. Dans Object Explorer, cliquer droit sur Base de données et sélectionner Nouvelle Base de données 4. Entrer son nom « WebApp » puis cliquer sur Ok 5. Déplier les sous-dossiers de celle-ci 6. Cliquer droit sur Tables et sélectionner nouvelle table, entrer son nom users avec les colonnes ci-après 7. enregistrer la table, puis cliquer droit sur celle-ci sélectionnez ouvrir la table 8. Peuplons un peu notre table avec ces genres des données : 9. Dans l’Object Explorer déployons le dossier sécurité sur la section Logins/Connexions 10. Cliquer droit sur Logins/connexions sélectionner nouvelle connexion, dans le champ Nom d'accès cliquer sur le bouton Recherche, puis entrer ASPNET et click sur le bouton Vérifier le noms. Le nom complet doit se compléter automatiquement, cliquons simplement sur Ok pour fermer cette boite de dialogue. 11. Finalement, tant que nous somme dans la fenêtre de la nouvelle connexion, sélectionner Mappage de l’utilisateur, cocher la case de WebApp, sélectionner l’option db_owner puis cliquer sur Ok.

Cette opération est finie, toutes les configurations backend de SQL pour les applications web sont achevées avec succès. Enregistrons et quittons Management Studio.

Tout ce qui nous reste et de créer notre site web pour le lier à notre base de données fraichement crée. Il faut se rendre ici : https://www.dropbox.com/s/24rwe4exxrphtqt/site.zip?dl=0

Il faut télécharger les documents et prendre les images.

1. Extrait le contenu du site web dans C:\\Inetpub\\wwwroot\\

2. Ouvrer votre navigateur et entrer http://votreip/Default.aspx. Vous devrez tomber sur la page d’authentification.

3. Faites quelques test d’authentification pour voir si les requêtes s’exécutes bien. Et lancer aussi quelques tests basic d’injection SQL enfin vérifié si l’application web fonctionne correctement. Entrez

Page 19: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

19

par exemple le signe ' dans le champ username et quelques choses qui n’existe pas dans celui du mot de passe. Certainement l’application doit vous produire une page jaune avec les erreurs du SQL-related.

4. Cliquez sur le bouton précèdent de votre navigateur et entrez OR 1=1- et quelques choses qui n’existe

pas dans le champ mot de passe. Curieusement vous verrez le message de bienvenu dans le système .

De l’autre côté rassurer vous que vous êtes entrain s’exécuter la dernière version de BackTrack avec ses chers outils. Le login sous BT s’est root/toor, pour mettre à jours votre BT utiliser cette suite de commande magique

root@bt:~#apt-get update && apt-get upgrade && apt-get dist-upgrade

(Il va y’avoir une connexion respectable L’update est importante mais pas obligatoire.

Après la mise à jour de BT c’est intéressant d’updater Metaploit avec cette commande

msfupdate

Updater aussi Fast-Track avec cette commande

root@bt:/pentest/exploits/set#cd /pentest/exploits/fasttrack/ puis svn update

Enfin updater SET avec celle-ci

root@bt:/opt/framework3/msf3#cd /pentest/exploits/set/ puis svn update

Si msfupdate ne marche pas chez vous pouvez vous déplacer dans le répertoire cd /opt/framework3/msf3/ puis lancer l’update avec msfupdate après sa mise à jour déplacer vous pour Fast-track et enfin pour SET.

Si vous m’aviez suivie religieusement à la fin votre laboratoire doit se présenté de cette manière :

Page 20: Metasploit - itbonifacioluc.files.wordpress.com Les bases de Metasploit Souvent lors du premier contact avec le Framework Metasploit (MSF), on se retrouve submergé par ses nombreuses

20