Payloads
Dans Metasploit, les payloads dĂ©signent le code qui sera exĂ©cutĂ© sur la machine cible aprĂšs exploitation dâune vulnĂ©rabilitĂ©. Ils reprĂ©sentent la charge utile livrĂ©e par lâexploit et constituent lâun des Ă©lĂ©ments centraux du processus dâattaque.
Les payloads peuvent avoir divers objectifs :
Fournir un accĂšs interactif (ex. shell, Meterpreter)
CrĂ©er une connexion de retour vers lâattaquant
Ouvrir un port dâĂ©coute sur la cible
Exécuter une commande spécifique
Metasploit offre un large éventail de payloads adaptables à différents systÚmes, architectures et scénarios.
đ Types de payloads
đ Singles
Contiennent tout le code nécessaire en une seule charge utile.
ExĂ©cutent une action autonome (ex. ajout dâun utilisateur, exĂ©cution dâune commande).
Pas de dépendance externe.
đ§© Stagers
Petits programmes envoyés en premier.
Ont pour rĂŽle dâĂ©tablir une connexion entre lâattaquant et la cible.
PrĂ©parent lâenvironnement pour recevoir le payload principal.
đŠ Stages
Livrés aprÚs le stager.
Fournissent des fonctionnalités avancées comme Meterpreter ou un shell interactif.
Permettent de réduire la taille initiale du code injecté.
đ Exemple classique : windows/meterpreter/reverse_tcp
Le stager établit une connexion TCP inversée.
Le stage charge Meterpreter pour un contrĂŽle complet de la cible.
đ Recherche et sĂ©lection dâun payload
Un payload est choisi aprÚs avoir sélectionné un exploit. Pour lister les payloads compatibles :
Exemple de sortie :
âïž Options dâun payload
Chaque payload possĂšde ses propres paramĂštres configurables. Exemple avec windows/meterpreter/reverse_tcp :
đ ParamĂštres clĂ©s :
LHOST : Adresse IP de lâattaquant.
LPORT : Port dâĂ©coute (par dĂ©faut
4444).
đ ExĂ©cution avec un payload
SĂ©lection dâun exploit :
SĂ©lection dâun payload compatible :
Configuration :
Exécution :
RĂ©sultat : Ouverture dâune session Meterpreter.
đ§ Bonnes pratiques
Utiliser des payloads adaptés au systÚme et au contexte (OS, version, architecture).
Préférer des payloads stagers/stages pour contourner les limitations de taille.
Tester plusieurs types de payloads en cas dâĂ©chec (reverse TCP, bind TCP, HTTPS...).
VĂ©rifier la compatibilitĂ© entre le payload choisi et lâexploit utilisĂ©.
đ Ressources utiles
Exploit the Apache Druid service and find the flag.txt file. Submit the contents of this file as the answer.
Dans un premier temps, un scan de notre cible est effectué :
Nous observons ainsi la présence du service Jetty sur les ports allant de 8081 à 8888. Nous nous connectons alors à l'un de ces ports via notre navigateur :

Cette connexion nous permet de valider l'accÚs à Apache Druid, mais également d'observer que la version utilisée est la version 0.17.1.
Nous exécutons Metasploit :
Une fois Metasploit lancé, nous pouvons rechercher les différents exploits connus concernant Apache Druid :
Ici, nous allons utilisée le module numéro 0 et allons le configurer avec les différentes informations obtenues concernant notre cible :
L'ensemble des information necéssaires renseignées, nous pouvons maintenant exécuter notre programme :
La connexion Ă notre cible est effective. Nous pouvons maintenant rechercher le fichier flag.txt et en afficher son contenu :
Nous obtenons ainsi le flag attendu :
Last updated