Introduction
Meterpreter est une charge utile avancée du Metasploit Framework qui fournit un shell interactif sur un système compromis. C'est un outil essentiel pour les testeurs d'intrusion.
Dans ce laboratoire, vous apprendrez les commandes fondamentales pour la navigation de base et la collecte d'informations au sein d'un shell Meterpreter. Nous utiliserons un script pour simuler une session Meterpreter réelle.
Pour commencer, exécutez la commande suivante dans votre terminal, qui se trouve déjà dans le répertoire ~/project, pour démarrer la session simulée. Votre invite changera pour meterpreter >.
./meterpreter_simulator.sh
Vous verrez une sortie simulant une connexion, et toutes les commandes ultérieures de ce laboratoire devront être tapées dans cette nouvelle invite meterpreter >.
Obtenir des informations système de base avec la commande sysinfo
Dans cette étape, vous apprendrez à utiliser la commande sysinfo. Cette commande est l'une des premières choses que vous devriez exécuter après avoir obtenu une session, car elle fournit un aperçu rapide et précieux du système cible. Elle révèle le nom de l'ordinateur, le système d'exploitation et l'architecture du système.
À l'invite meterpreter >, tapez la commande sysinfo et appuyez sur Entrée :
sysinfo
Vous verrez une sortie similaire à la suivante, détaillant les informations de base de la machine cible simulée :
Computer : labex-vm
OS : Ubuntu 22.04 (Linux 5.15.0-generic)
Architecture : x64
System Language : en_US
Meterpreter : x64/linux
Identifier l'utilisateur actuel avec la commande getuid
Dans cette étape, nous utiliserons la commande getuid. Comprendre les privilèges de votre session actuelle est essentiel. La commande getuid vous indique instantanément le compte utilisateur sous lequel la charge utile Meterpreter s'exécute. Ces informations aident à déterminer quelles actions vous pouvez effectuer sur le système et si vous devez tenter une élévation de privilèges.
À l'invite meterpreter >, tapez getuid :
getuid
La sortie affiche le nom d'utilisateur et l'identifiant utilisateur (uid) associé. Dans ce cas, nous nous exécutons en tant qu'utilisateur labex.
Server username: uid=1000, euid=1000, gid=1000 (labex)
Lister les processus en cours d'exécution avec la commande ps
Dans cette étape, vous apprendrez à lister les processus en cours d'exécution à l'aide de la commande ps. La commande ps de Meterpreter est similaire à son homologue Linux mais est exécutée via la session sur la machine distante. Lister les processus est essentiel pour la connaissance de la situation. Cela peut vous aider à identifier les logiciels de sécurité, à trouver des applications intéressantes ou à choisir un processus stable dans lequel migrer.
Maintenant, exécutez la commande ps dans votre shell Meterpreter :
ps
La sortie sera une liste des processus en cours d'exécution sur le système cible. Notre simulation montre quelques processus clés, notamment le shell (zsh) et le script lui-même (bash).
Process List
============
PID PPID Name Arch Session User Path
--- ---- ---- ---- ------- ---- ----
1 0 systemd x64 0 root /usr/lib/systemd/systemd
935 1 sshd x64 0 root /usr/sbin/sshd
1050 935 sshd x64 1 labex /usr/sbin/sshd
1051 1050 zsh x64 1 labex /bin/zsh
1100 1051 bash x64 1 labex /bin/bash
Utiliser la commande help pour voir toutes les commandes Meterpreter
Dans cette étape, nous allons explorer la commande help. Meterpreter est riche en fonctionnalités, et il est impossible de se souvenir de chaque commande. La commande help est votre meilleure alliée, fournissant une liste complète de toutes les commandes disponibles, regroupées par catégorie.
Pour voir la liste des commandes disponibles, tapez simplement help :
help
La sortie affiche les commandes principales ainsi que les commandes des modules chargés comme stdapi. Prenez un moment pour parcourir la liste afin de vous faire une idée des capacités de Meterpreter.
Core Commands
=============
Command Description
------- -----------
? Menu d'aide
background Met la session actuelle en arrière-plan
exit Termine la session meterpreter
help Menu d'aide
quit Termine la session meterpreter
Stdapi: System Commands
=======================
Command Description
------- -----------
getuid Obtient l'utilisateur sous lequel le serveur s'exécute
ps Liste les processus en cours d'exécution
sysinfo Obtient des informations sur le système distant, comme le système d'exploitation
Mettre la session en arrière-plan avec la commande background
Dans cette étape, vous apprendrez à utiliser la commande background. Lorsque vous gérez plusieurs systèmes compromis, vous ne voulez pas fermer une session pour travailler sur une autre tâche. La commande background met la session Meterpreter actuelle en arrière-plan, vous permettant de revenir à la console Metasploit principale (msf6 >) pour gérer les sessions ou lancer d'autres modules.
Dans notre simulation, l'exécution de background terminera le script et vous ramènera au terminal Linux standard. Tapez background maintenant :
background
Vous verrez un message de confirmation, et votre invite passera de meterpreter > à la normale labex@ubuntu:~/project$. Cela signifie que vous avez mis la session en arrière-plan avec succès.
[*] Backgrounding session 1...
Résumé
Félicitations pour avoir terminé ce laboratoire ! Vous avez appris à naviguer dans une session Meterpreter de base et à effectuer une reconnaissance initiale.
Vous êtes maintenant familiarisé avec les commandes fondamentales suivantes :
sysinfo: Pour collecter des informations de base sur le système d'exploitation et le matériel.getuid: Pour identifier le niveau de privilège de l'utilisateur actuel.ps: Pour lister les processus en cours d'exécution sur la machine cible.help: Pour afficher toutes les commandes disponibles.background: Pour revenir à la console principale sans terminer la session.
Ces commandes sont les éléments constitutifs d'activités de post-exploitation plus avancées. Les maîtriser est la première étape pour devenir compétent avec le Metasploit Framework.


