Installation de Metasploit et commandes de base

Installation de Metasploit et commandes de base

«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 postgresql

Instructions pour installer PostgreSQL sur CentOS

Pour installer PostgreSQL sur CentOS, exécutez la commande illustrée ci-dessous.

sudo yum installer PostgreSQL-Server Postgresql-Contrib

Puis initialisez la base de données en exécutant la commande suivante.

service postgresql initdb

Démarrez le service à l'aide de SystemCTL comme indiqué ci-dessous.

sudo systemctl start postgresql

Installation 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 && ./ msfinstall

Aprè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 INIT

Une fois le métasploit initialisé, démarrez-le en exécutant la commande illustrée dans l'image ci-dessous.

msfconsole

Avant 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_status

Comme 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.

msfconsole

Pour 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 Portscan

Comme 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 / TCP

Une 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ôtes

Ci-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 ports

Le Threads L'option vous permet de définir le nombre de threads; J'ai sélectionné 10.

Définir les threads

Aprè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.

courir

Comme 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.

dos

Comme 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.101

Comme 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 VSFTP

Metasploit 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_BACKDOOR

Après avoir sélectionné l'exploit, je vais exécuter le Afficher les options Commande pour afficher les options d'exploitation.

Afficher les options

Comme 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.

Info

Si vous vouliez définir une cible différente, vous exécuteriez la commande suivante.

Fixer les Rhosts 192.168.0.101

Une fois la cible et le port défini, exécutez le exploiter commande pour lancer l'exploit.

exploiter

Comme 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.

sortie

Pour quitter Metasploit, utilisez également la commande de sortie.

sortie

C'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.