«Ce tutoriel explique comment installer et commencer avec les commandes de base Metasploit dans Linux avec un véritable exemple de scénario.
Metasploit est la collecte des vulnérabilités et des exploits pour l'exploitation d'audit de sécurité et de vulnérabilité. Cet outil aide les administrateurs système à tester la sécurité du réseau et des appareils. Il permet également aux utilisateurs inexpérimentés d'exécuter facilement des attaques contre les cibles.
Toutes les instructions décrites dans ce document comprennent des captures d'écran, ce qui permet aux lecteurs de les comprendre et de les appliquer facilement."
Qu'est-ce que PostgreSQL, comment il est utile lors de l'utilisation de Metasploit, et comment l'installer
Lorsqu'une cible est numérisée pour trouver des vulnérabilités ou exploitée via un trou de sécurité, les informations collectées sont enregistrées dans une base de données à importer et utilisée par d'autres outils de pentestage. Bien sûr, ceux qui exécutent des tâches de pentisting peuvent enregistrer les informations manuellement, mais la maintenance des résultats de pentest correctement commandés dans une base de données est utile pour suivre l'activité, augmenter la productivité et assouplir les tâches de Pentest.
Le système de gestion de la base de données pris en charge par Metasploit est PostgreSQL, et bien qu'il ne soit pas obligatoire lors de l'utilisation de Metasploit, il est fortement recommandé de l'installer. Utiliser Metasploit sans système de gestion de base de données n'est pas une décision intelligente. Par conséquent, ce tutoriel commence par des instructions sur la façon d'installer PostgreSQL avant d'installer Metasploit.
Installation de PostgreSQL sur les distributions Linux basées sur Debian (CentOS ci-dessous)
Sur Debian et ses distributions Linux basées comme Ubuntu, vous pouvez facilement installer PostgreSQL à l'aide du gestionnaire de packages APT comme indiqué dans la capture d'écran suivante.
Note: Centos Les utilisateurs peuvent trouver des instructions pour installer PostgreSQL sur Centos dessous.
Sur Debian / Ubuntu Exécutez la commande suivante.
sudo apt installer postgresql postgresql-contrus sudo systemctl start postgresqlInstructions pour installer PostgreSQL sur CentOS
Pour installer PostgreSQL sur CentOS, exécutez la commande illustrée ci-dessous.
sudo yum installer PostgreSQL-Server Postgresql-ContribPuis initialisez la base de données en exécutant la commande suivante.
service postgresql initdbDémarrez le service à l'aide de SystemCTL comme indiqué ci-dessous.
sudo systemctl start postgresqlInstallation de Metasploit dans Linux
Pour installer Metasploit dans Linux, exécutez la commande illustrée ci-dessous.
sudo curl https: // brut.githubusercontent.com / Rapid7 / Metasploit-Omnibus / Master / Config / Modèles / Metasploit-Framework-Wrappers / Msfupdate.erb> msfinstall && chmod 755 msfinstall && ./ msfinstallAprès avoir installé Metasploit, vous devez l'initialiser; Le processus d'initialisation créera la base de données pour se connecter à PostgreSQL. Exécutez la commande suivante pour initialiser Metasploit.
Note: Lors de l'exécution de la commande ci-dessous, il vous sera demandé si vous souhaitez initialiser le service Web Metasploit pour interagir avec Metasploit via l'API REST. Puisqu'il n'est pas nécessaire et que de nombreux utilisateurs se plaignent de problèmes lorsqu'ils traitent avec le service Web, qui n'est pas pertinent pour l'utilisation de Metasploit, j'ai tapé le "Non" option.
MSFDB INITUne fois le métasploit initialisé, démarrez-le en exécutant la commande illustrée dans l'image ci-dessous.
msfconsoleAvant de commencer avec Metasploit, vérifiez s'il a été connecté avec succès à la base de données en exécutant la commande suivante.
db_statusComme vous pouvez le voir, Metasploit a été connecté avec succès à la base de données; Nous pouvons procéder avec des commandes de base Metasploit. Si vous obtenez des erreurs lorsque vous essayez de vous connecter, lisez les commandes de dépannage de la base de données Metasploit ici.
Début avec les commandes de base Metasploit
Cette section explique les commandes de base de Metasploit, y compris un exemple de scénario réel pratique.
Le tableau ci-dessous montre les commandes Metasploit les plus couramment utilisées avec une brève explication. Après le tableau, vous pouvez voir comment les commandes sont appliquées dans un scénario réel.
Commande Metasploit | Brève description |
msfconsole | Cette commande exécute Metasploit |
recherche | Cette commande est utilisée pour trouver des modules et des exploits par nom |
utiliser | Le utiliser La commande est utilisée pour sélectionner les modules et les exploits |
Afficher les options | Afficher les options de module ou d'exploitation |
Définir les rhôtes <Cible (s)> | Cette commande est utilisée pour définir des cibles |
régler les ports <Ports> | Cette commande est utilisée pour définir les ports |
Définir les threads <Threads> | Cette commande est utilisée pour définir les threads |
courir | Le courir La commande est utilisée pour exécuter des modules |
dos | Le dos La commande vous fait revenir au répertoire précédent |
db_nmap<Drapeaux><Cible (s)> | Le db_nmap La commande vous permet d'utiliser NMAP intégré |
Définir RPORT <Cible> | Cette commande est utilisée pour définir les ports |
Info | La commande info imprime le module ou l'exploitation des informations |
exploiter | Le exploiter La commande exécute l'exploit sélectionné |
sortie | Le sortie La commande ferme la session à partir de Target ou quitte Metasploit |
charger | La commande de charge est utilisée pour charger les plugins |
décharger | La commande de déchargement est utilisée pour décharger les plugins |
CD | Cette commande est utilisée pour modifier la sélection actuelle |
Aider / / ? | Les deux aider commande et ? Symbole explique l'utilisation des commandes |
Commandes de base Metasploit Exemple
Cette section montre un exemple pratique des 14 premières commandes Metasploit répertoriées dans le tableau précédent.
L'adresse IP attribuée cible dans cet exemple est 192.168.0.101.
Pour commencer, exécutez Metasploit avec la commande suivante.
msfconsolePour commencer, je vais exécuter une analyse de port contre la cible pour découvrir les ports ouverts. Metasploit comprend plusieurs scanners de port comme modules auxiliaires que nous pouvons choisir de scanner des cibles.
Pour trouver des modules auxiliaires des scanners de port Metasploit Metasploit, le recherche La commande est utilisée, suivie du type de module ou du mot-clé. Dans ce cas, nous recherchons un PortScan; Par conséquent, nous devons exécuter la commande illustrée dans l'image ci-dessous.
Rechercher PortscanComme vous pouvez le voir dans la capture d'écran précédente, nous avons différents scanners de port à différentes fins. Dans ce cas, je souhaite exécuter un scan TCP à l'aide du Auxiliary / Scanner / PortScan / TCP module.
Pour sélectionner le module choisi, je vais exécuter le utiliser Commande, suivie du chemin vers le module comme indiqué ci-dessous.
Utilisez lesiliaire / scanner / portscan / TCPUne fois le module sélectionné, nous devons connaître ses options requises ou disponibles avant de l'utiliser, pour laquelle nous utiliserons le Afficher les options Commande comme indiqué dans la capture d'écran ci-dessous.
Afficher les optionsÀ partir des options de module répertoriées dans l'image ci-dessus, j'utiliserai Rhôtes Pour définir l'adresse IP cible, Ports Pour définir une gamme de ports, et Threads Pour définir le nombre de tâches simultanées. Ensuite, je vais démarrer le processus d'analyse en exécutant la commande RUN.
Sauf pour le courir Commande utilisée dans cet exemple, Rhôtes, Ports, et Threads Les options doivent être précédées par le ensemble Commande illustrée dans le tableau des commandes de base Metasploit.
Le Rhôtes La syntaxe d'option pour définir une cible est affichée ci-dessous, où <Cible (s)> doit être remplacé par un ou plusieurs hôtes cibles ou adresses IP. Dans mon cas, comme indiqué dans la figure suivante, l'adresse IP cible est 192.168.0.101.
Définir les rhôtesCi-dessous, vous pouvez voir le Ports Syntaxe d'option, où <Ports> doit être remplacé par la plage de port ou de port que vous souhaitez scanner. Pour cet exemple, j'ai défini une plage de port de 20 à 100.
régler les portsLe Threads L'option vous permet de définir le nombre de threads; J'ai sélectionné 10.
Définir les threadsAprès avoir défini les options mentionnées précédemment, j'exécute le scan à l'aide du courir commande. Vous pouvez voir l'intégralité du processus dans la figure suivante.
courirComme vous pouvez le voir, les ports 23, 21, 22, 25, 53 et 80 sont ouverts dans la cible. Mais je veux connaître les versions de service écoutant sur chaque port ouvert, pour lequel j'utiliserai NMAP dans Metasploit.
J'utiliserai la commande arrière pour revenir au contexte initial pour une vue plus confortable.
dosComme je l'ai dit, la sortie de numérisation précédente a signalé des ports ouverts. Mais je veux en savoir plus sur les services derrière ces ports ouverts en utilisant NMAP.
Le db_nmap La commande exécute NMAP à partir de Metasploit. Dans l'exemple ci-dessous, je lancerai une analyse d'empreinte. Dans ce tutoriel, je n'expliquerai pas les drapeaux NMAP, mais vous pouvez apprendre l'empreinte avec NMAP dans cet article que nous avons publié sur Linuxhint.
La syntaxe est simple, exécutez db_nmap suivi des drapeaux souhaités et de l'adresse IP cible comme indiqué ci-dessous.
db_nmap -sc -sv -o 192.168.0.101Comme vous pouvez le voir dans la figure précédente, la version de service FTP exécutée dans le port 21 est vsftpd 2.3.4.
Après avoir appris notre cible est en cours d'exécution vsftpd, Nous pouvons utiliser le recherche Commande pour voir les ressources disponibles pour exécuter une attaque contre le logiciel identifié.
Rechercher VSFTPMetasploit a renvoyé un exploit disponible (exploiter / unix / ftp / vsftpd_234_backdoor) Nous pouvons utiliser contre le serveur FTP vsftpd 2.3.4.
Auparavant, j'ai exécuté le utiliser Commande pour sélectionner un module. Maintenant je vais exécuter le utiliser Commande pour sélectionner l'exploit disponible, comme indiqué dans la figure ci-dessous. La syntaxe est la même; courir le utiliser Commande suivie par l'exploitation complète.
Utilisez Exploit / UNIX / FTP / VSFTPD_234_BACKDOORAprès avoir sélectionné l'exploit, je vais exécuter le Afficher les options Commande pour afficher les options d'exploitation.
Afficher les optionsComme vous pouvez le voir dans la figure précédente, les options sont Rhôtes pour définir la cible et Rport Pour définir les ports. La cible et le port sont déjà sélectionnés. La cible est récupérée à partir de notre activité précédente, tandis que le port est le port FTP par défaut; Si c'était différent, je dirigerais le Définir RPORT Option pour le changer.
Le Info La commande affiche des informations supplémentaires sur l'exploit ou le module sélectionné. Ci-dessous, vous pouvez voir un exemple du Info sortie de commande.
InfoSi vous vouliez définir une cible différente, vous exécuteriez la commande suivante.
Fixer les Rhosts 192.168.0.101Une fois la cible et le port défini, exécutez le exploiter commande pour lancer l'exploit.
exploiterComme vous pouvez le voir, j'ai obtenu un shell distant dans la cible. Le LS La commande montre les principaux répertoires cibles. La cible a été piratée avec succès.
Pour se déconnecter de la cible, j'exécute le sortie commande.
sortiePour quitter Metasploit, utilisez également la commande de sortie.
sortieC'est tout pour le moment; L'exemple donné ci-dessus comprend les commandes les plus utilisées pour vous démarrer avec Metasploit.
Commandes de dépannage Metasploit et PostgreSQL
De nombreux utilisateurs se plaignent de problèmes lors de la connexion à la base de données. Ici, je répertorie certaines commandes que vous pouvez utiliser si des problèmes surviennent lors de la connexion de Metasploit à la base de données.
Commandes de dépannage MSFDB | Description |
Service postgresql redémarrer | Redémarrer PostgreSQL |
msfdbreinit | Supprimer et réinitialiser la base de données |
MSFDB Supprimer | Supprimer la base de données |
msfdbinit | Initialiser la base de données (exécuter après MSFDB Supprimer) |
Statut MSFDB | Afficher l'état de la base de données |
MSFDB Run | Démarrez la base de données et exécutez Metasploit |
Si vous avez des problèmes, essayez d'utiliser les commandes dans l'ordre du tableau. Tout d'abord, essayez de redémarrer PostgreSQL. Si cela ne fonctionne pas, essayez de réinitialiser la base de données. Si le problème persiste, supprimez la base de données et réinitialisez-la. Utilisez le Statut MSFDB commande pour vérifier l'état après chaque commande.
Conclusion
Metasploit est l'un des outils de pentisting les plus populaires pour l'audit de sécurité. Avec NMAP, cela conduit à des ressources de sécurité multitâche. Metasploit peut être utilisé à la fois à des fins défensives et offensives. Comme vous pouvez le voir, l'utiliser n'est pas difficile; Les utilisateurs n'ont qu'à incorporer un peu de connaissances pratiques si elles connaissent déjà le réseautage et la programmation. Metasploit est également disponible pour Mac OS et Microsoft Windows.
Merci d'avoir lu ce tutoriel expliquant l'installation de Metasploit et les commandes de base. Continuez à nous suivre pour plus de conseils et de tutoriels professionnels Linux.