Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MoveKit — Kit Cobalt Strike pour le Mouvement latéral | Kitploit
Outils/GitHubGitHub/0xthirteen/movekit
Frameworks d'ExploitationMouvement LatéralPost-ExploitationTests d'IntrusionRed Teaming
GitHub0xthirteen/movekit

MoveKit

Kit Cobalt Strike pour le Mouvement latéral

Voir le dépôt
6781081il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

MoveKit - Kit de mouvement latéral pour Cobalt Strike

Movekit est une extension du mouvement latéral intégré de Cobalt Strike qui exploite la fonction execute_assembly avec les assemblies .NET SharpMove et SharpRDP. Le script aggressor gère la création de charges utiles en lisant les fichiers modèles pour un type d'exécution spécifique.

IMPORTANT : Pour utiliser le script, un utilisateur a seulement besoin de charger le script aggressor MoveKit.cna qui chargera tous les autres scripts nécessaires avec lui. De plus, selon les actions entreprises, les assemblies SharpMove et SharpRDP devront être compilées et placées dans le répertoire Assemblies. Enfin, certains déplacements de fichiers nécessitent une compilation dynamique qui nécessite Mono.

Lors du chargement du script aggressor, un sélecteur nommé Move sera chargé dans la barre de menus. Plusieurs sélections sont disponibles pour l'utilisateur. Premièrement, les utilisateurs peuvent choisir d'exécuter une commande sur un système distant via WMI, DCOM, le Planificateur de tâches, RDP ou SCM. Deuxièmement, le mécanisme d'exécution Command utilise des berceaux de téléchargement pour récupérer et exécuter les fichiers. Troisièmement, la méthode File dépose un fichier sur le système et l'exécute. Il y a Write File Only qui n'effectue aucune exécution, seulement un déplacement de données. Enfin, il y a un paramètre Default pour accélérer l'utilisation de l'interface graphique et l'utiliser avec les commandes beacon. Les paramètres par défaut sont utilisés pour tout ce qui peut accepter une valeur par défaut.

Pour utiliser les commandes beacon, elles liront les paramètres par défaut et utiliseront quelques arguments de ligne de commande. Exemple de commande beacon : <exec-type> <target> <listener> <filename>

move-msbuild 192.168.1.1 http move.csproj

De plus, la commande beacon personnalisée pré-construite est un peu différente. Exemple de commande : move-pre-custom-file <target> <local-file> <remote-filename>

move-pre-custom-file computer001.local /root/payload.exe legit.exe

Le champ location est la partie la plus délicate du projet. Lors de la sélection du déplacement de fichier WMI, location sera utilisé ; si SMB est sélectionné, il ne sera pas utilisé (il peut donc être laissé vide). Location prend trois valeurs différentes. Premièrement, si location est une URL, alors lorsque la charge utile est créée, elle sera hébergée par le serveur Web de Cobalt Strike. L'hôte beacon à partir duquel l'assembly sera exécutée fera une requête Web vers l'URL et récupérera le fichier, qui sera utilisé dans un sous-événement sur l'hôte cible pour écrire le fichier. Deuxièmement, si location est un répertoire Windows, il téléchargera le fichier créé vers l'hôte beacon et l'assembly le lira depuis le système de fichiers et le stockera dans le sous-événement pour l'écrire sur l'hôte distant. Enfin, si le champ location est un chemin Linux ou le mot local, alors il compilera dynamiquement la charge utile dans l'assembly en cours d'exécution. Cependant, si le fichier dépasse la limite de taille de 1 Mo, une erreur sera affichée.

Pour toutes les méthodes de fichier, la charge utile sera créée via le script aggressor. Cependant, si une charge utile est déjà créée, les utilisateurs peuvent sélectionner l'option Custom (Prebuilt) pour la déplacer et l'exécuter.

Le kit contient différentes techniques de déplacement de fichiers, déclencheurs d'exécution et types de charges utiles.

Le déplacement de fichier est considéré comme la méthode utilisée pour transférer un fichier vers un hôte distant. Types de déplacement de fichier :

  • SMB vers fichier plat
  • WMI vers fichier plat
  • WMI vers valeur de clé de registre
  • WMI vers propriété de classe WMI personnalisée

Le déclencheur de commande est considéré comme la méthode utilisée pour exécuter une commande spécifique sur un hôte distant. Types de déclencheurs de commande :

  • WMI
  • SCM
  • RDP
  • DCOM (multiple)
  • Tâches planifiées
  • Modification de tâche planifiée (tâche existante : action mise à jour, tâche exécutée et action réinitialisée)
  • Modification du binpath de service (service existant : binpath mis à jour, service démarré et réinitialisé à l'état d'origine)

Exécution de shellcode uniquement :

  • Excel 4.0 DCOM
  • Abonnement à un événement WMI (à venir)

Détournements :

  • Détournement de DLL de service (à venir)
  • Détournement de serveur DCOM (à venir)

Dépendances

  • Mono (MCS) pour compiler les assemblies .NET (utilisé avec la création dynamique de charge utile, InstallUtil, et Custom-NonPreBuilt). Également utilisé lorsque l'assembly FileWrite est utilisée.

Pièges :

  • Parfois, execute_assembly sera appelé avant le déplacement du fichier ; si cela se produit, vous pouvez exécuter la charge utile en décochant la case Auto
  • Le kit ne nettoie pas automatiquement les fichiers ; cela est laissé à l'opérateur
Remarque : Il est recommandé de ne pas utiliser les modèles par défaut avec le projet.

Pour remplacer un modèle, vous devez remplir deux conditions. Premièrement, le modèle doit être nommé avec la technique (exemple : msbuild.csproj). Deuxièmement, le code source doit contenir la chaîne $$PAYLOAD$$ à l'endroit où le shellcode encodé en base64 sera placé, et être capable de convertir une chaîne base64 en tableau d'octets. Exemple pour C# :

root@kitploit:~
string strSC = "$$PAYLOAD$$";
byte[] sc = Convert.FromBase64String(strSC);

Un changement a été ajouté qui permet aux valeurs par défaut de mettre à jour la « Chaîne de recherche et de remplacement » et les formats de shellcode dans la « Boîte de dialogue de mise à jour des valeurs par défaut ». Par défaut, ce sont $$PAYLOAD$$ et base64.

Considérations opérationnelles

  • Si vous utilisez le planificateur de tâches, des tâches planifiées seront créées et supprimées
  • Si vous utilisez SCM, des services seront créés et supprimés
  • Si vous utilisez le contournement AMSI, il fonctionnera uniquement pour WSH, pas pour PowerShell
  • Si vous utilisez le contournement AMSI, il modifiera le registre en mettant à jour ou en créant une clé de registre, puis en la rétablissant à sa valeur d'origine ou en la supprimant
  • Il utilise la fonction execute-assembly de Cobalt Strike, donc il s'injectera dans un processus sacrificiel comme les autres tâches post-exploitation
  • Des fichiers seront déposés sur le disque si vous utilisez l'une des méthodes File ou Command
  • Les modèles ne doivent pas être utilisés ; ils sont tous publics
  • Toutes les techniques ne sont pas nouvelles et sont assez bien connues

Crédits

Une partie du code, des modèles ou de l'inspiration provient d'autres personnes et projets

  • WMI - SharpWMI par harmj0y
  • DCOM - SharpCOM par rvrsh3ll et SharpSploit DCOM par cobbr
  • SCM - CSExec par Tim Malcomvetter
  • Détournement de DLL de service SharpSC par djhohnstein
  • Modification du binpath de service SCShell par Mr-Un1k0d3r
  • Modèle d'exécution de shellcode par subTee
  • Charges utiles CACTUSTORCH par vysecurity

Il y a probablement des bugs quelque part, ils ont tendance à apparaître de temps en temps. Signalez-les et je les corrigerai.

Télécharger l’outil