Naviguer dans le shell Meterpreter de base

Kali LinuxBeginner
Pratiquer maintenant

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.