Des outils comme metasploit sont excellents pour exploiter des ordinateurs, mais que se passe-t-il après avoir obtenu l'accès à un ordinateur ? Backdoorme répond à cette question en déployant une multitude de backdoors pour établir une persistance sur de longues périodes.
Une fois qu'une connexion SSH a été établie avec la cible, les points forts de Backdoorme peuvent se concrétiser. Malheureusement, Backdoorme n'est pas un outil pour obtenir un accès root - seulement pour conserver cet accès une fois qu'il a été obtenu.
Veuillez utiliser Backdoorme uniquement avec une autorisation explicite - ne piratez pas sans demander.
Usage
Backdoorme est divisé en deux parties : les backdoors et les modules.
Les backdoors sont de petits fragments de code qui écoutent sur un port et redirigent vers un interpréteur, comme bash. Il existe de nombreuses backdoors écrites dans différents langages pour offrir de la variété.
Les modules rendent les backdoors plus puissantes en les exécutant plus souvent, par exemple toutes les quelques minutes ou au démarrage de l'ordinateur. Cela aide à établir une persistance.
Démonstration :
Configuration
Pour démarrer backdoorme, assurez-vous d'abord d'avoir les dépendances requises.
Pour Python 3.5+ :
$ sudo apt-get install python3 python3-pip python3-tk nmap
$ cd backdoorme/
$ virtualenv --python=python3.5 env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
Pour Python 2.7 :
$ sudo python dependencies.py
Pour commencer
Lancement de backdoorme :
$ python master.py
Pour ajouter une cible :
>> addtarget
Target Hostname: 10.1.0.2
Username: victim
Password: password123
+ Target 1 Set!
>>
Backdoors
Pour utiliser une backdoor, exécutez simplement le mot-clé "use".
>> use shell/metasploit
+ Using current target 1.
+ Using Metasploit backdoor...
(msf) >>
À partir de là, vous pouvez définir les options pertinentes pour la backdoor. Exécutez "show options" ou "help" pour voir la liste des paramètres pouvant être configurés. Pour définir une option, utilisez simplement le mot-clé "set".
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name initd name of the backdoor False
...
(msf) >> set name apache
+ name => apache
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name apache name of the backdoor False
...
Comme dans metasploit, les backdoors sont organisées par catégorie.
- Auxiliary
- keylogger - Ajoute un keylogger au système et offre la possibilité de vous renvoyer les résultats par email.
- simplehttp - Installe le serveur SimpleHTTP de Python sur le client.
- user - Ajoute un nouvel utilisateur à la cible.
- web - Installe un serveur Apache sur le client.
- Escalation
- setuid - La backdoor SetUID fonctionne en définissant le bit setuid sur un binaire pendant que l'utilisateur a un accès root, de sorte que lorsque ce binaire est exécuté ultérieurement par un utilisateur sans accès root, le binaire est exécuté avec les droits root. Par défaut, cette backdoor bascule le bit setuid sur nano, de sorte que si l'accès root est perdu, l'attaquant peut se reconnecter via SSH en tant qu'utilisateur non privilégié et toujours exécuter nano (ou tout binaire choisi) en tant que root. ('nano /etc/shadow'). Notez que l'accès root est initialement requis pour déployer cette backdoor d'escalade.
- shell - La backdoor shell est une backdoor d'escalade de privilèges, similaire (mais plus spécifique) à sa cousine d'escalade SetUID. Elle duplique le shell bash en un binaire caché et définit le bit SUID. Notez que l'accès root est initialement requis pour déployer cette backdoor d'escalade. Pour l'utiliser, une fois connecté en SSH en tant qu'utilisateur non privilégié, exécutez simplement ".bash -p", et vous obtiendrez un accès root.
- Shell
- bash - Utilise un simple script bash pour se connecter à une combinaison IP et port spécifique et rediriger la sortie vers bash.
- bash2 - Une version légèrement différente (et plus fiable) de la backdoor bash ci-dessus qui ne demande pas le mot de passe côté client.
- sh - Similaire à la première backdoor bash, mais redirige l'entrée vers /bin/sh.
- sh2 - Similaire à la deuxième backdoor bash, mais redirige l'entrée vers /bin/sh.
- metasploit - Utilise msfvenom pour créer un binaire reverse_tcp sur la cible, puis exécute le binaire pour se connecter à un shell meterpreter.
- java - Crée une connexion socket en utilisant les bibliothèques Java et compile la backdoor sur la cible.
- ruby - Utilise les bibliothèques de Ruby pour créer une connexion, puis redirige vers /bin/bash.
- netcat - Utilise netcat pour rediriger l'entrée et la sortie standard vers /bin/sh, donnant à l'utilisateur un shell interactif.
- netcat_traditional - Utilise l'option -e de netcat-traditional pour créer un reverse shell.
- perl - Un script écrit en Perl qui redirige la sortie vers bash et renomme le processus pour paraître moins suspect.
- php - Exécute une backdoor PHP qui envoie la sortie vers bash. Elle n'installe pas automatiquement un serveur web, mais utilise le module web.
- python - Utilise un court script Python pour exécuter des commandes et renvoyer la sortie à l'utilisateur.
- web - Livre un serveur web à la cible, puis télécharge la backdoor php reverse_tcp de msfvenom et se connecte à l'hôte. Bien qu'il s'agisse également d'une backdoor PHP, ce n'est pas la même que la backdoor PHP ci-dessus.
- Access
- remove_ssh - Supprime le serveur SSH sur le client. Souvent bon à utiliser à la fin d'une session backdoorme pour effacer toutes les traces.
- ssh_key - Crée une clé RSA et la copie sur la cible pour une connexion SSH sans mot de passe.
- ssh_port - Ajoute un nouveau port pour SSH.
- Windows
- windows - Utilise msfvenom pour créer une backdoor Windows.
Modules
Chaque backdoor peut avoir des modules supplémentaires appliqués pour la rendre plus puissante. Pour ajouter un module, utilisez simplement le mot-clé "add".
(msf) >> add poison
+ Poison module added
Chaque module possède des paramètres supplémentaires personnalisables, et si "help" est réexécuté, vous pouvez voir ou définir ces options supplémentaires.
(msf) >> help
...
Poison module options: