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
Outils/GitHubGitHub/lifars/gargamel
Criminalistique MémoireAnalyse ForensiqueCollecte d'InformationsCriminalistique NumériqueRéponse aux IncidentsOutil d'Accès à Distance
GitHublifars/gargamel

gargamel

Un acquéreur de preuves médico-légales

Voir le dépôt
8615il y a 5 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

alt text

Gargamel

Compilation

Compilé et testé avec Rust 1.50+. Ouvrez un terminal dans le répertoire du projet et pour compiler une version release, tapez

root@kitploit:~
cargo build --release

La version debug peut être compilée en utilisant

root@kitploit:~
cargo build

L'exécutable compilé se trouve respectivement dans target/release/gargamel.exe ou target/debug/gargamel.exe.

Définir le niveau de log

Si vous souhaitez changer le niveau de journalisation :

  • Ouvrez src/main.rs
  • Aux lignes 42 et 43, remplacez LevelFilter::Info par (par exemple) LevelFilter::Trace pour une journalisation plus détaillée.
    • Attention, LevelFilter::Trace journalisera tout, y compris les mots de passe.

Guide d'utilisation

Pour l'instant, cette application fonctionne uniquement sur Windows et l'ordinateur cible doit utiliser Windows ou Linux.

Assurez-vous d'avoir les programmes suivants dans le même répertoire que Gargamel.

  • psexec, téléchargement
  • paexec, une alternative open source à PsExec, téléchargement
  • winpmem, un outil open source d'image mémoire, téléchargement.
    • Téléchargez le nouvel exécutable et renommez-le en winpmem.exe
  • plink et pscp, des clients open source en ligne de commande SSH/SCP, téléchargement
  • SharpRDP, un exécuteur de commandes open source utilisant RDP, téléchargement
  • WMImplant, un exécuteur de commandes open source PowerShell WMI, téléchargement
  • 7za.exe, une version console autonome de l'archiveur 7zip, téléchargement

Remarque : Nous avons besoin à la fois de psexec et paexec. Bien que ces deux applications soient censées être fonctionnellement équivalentes, elles ont en réalité des comportements différents dans certaines circonstances.

Libérer la puissance de Gargamel

Gargamel doit être lancé depuis un terminal élevé pour être pleinement fonctionnel. Actuellement, il ne supporte pas la boîte de dialogue UAC ni aucun type de notification lorsqu'il est exécuté avec des privilèges limités. Lorsqu'il est exécuté avec des privilèges utilisateur limités, certaines opérations comme le dump mémoire de la cible ne fonctionneront pas.

Exemple de base

Supposons que vous souhaitiez vous connecter à un ordinateur avec les paramètres suivants :

  • adresse 192.168.42.47
  • nom d'utilisateur Jano
  • mot de passe nbusr123

La commande suivante acquerra l'état du pare-feu, l'état du réseau, les utilisateurs connectés, les processus en cours, les connexions réseau actives, le registre, les journaux d'événements système et application en utilisant la méthode PsExec. Les preuves seront stockées dans le répertoire testResults relatif à l'emplacement de Gargamel.

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults

Gargamel vous demandera le mot de passe de l'utilisateur distant, dans notre exemple le mot de passe est nbusr123. Notez que le mot de passe sera masqué lors de la saisie.

Il est également possible de spécifier le mot de passe directement comme argument du programme.

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -p nbusr123 -o testResults

Exemple de domaine

Supposons que vous souhaitiez vous connecter à un ordinateur dans un domaine avec les paramètres suivants :

  • domaine WORKSPACE
  • nom de l'ordinateur JanovPC
  • nom d'utilisateur Jano
  • mot de passe nbusr123

La commande suivante acquerra l'état du pare-feu, l'état du réseau, les utilisateurs connectés, les processus en cours, les connexions réseau actives, le registre, les journaux d'événements système et application en utilisant la méthode PsExec.

root@kitploit:~
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -o testResults

Ou pour éviter la demande de mot de passe, spécifiez le mot de passe directement.

root@kitploit:~
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -p nbusr123 -o testResults

Autres méthodes de connexion

PsExec est l'une des 5 méthodes de connexion prises en charge. Vous pouvez remplacer --psexec par les options suivantes :

  • --psexec
  • --psrem, si PowerShell Remoting est configuré sur la machine cible.
  • --rdp, si RDP est activé sur la machine cible.
  • --wmi.
  • --ssh, si la machine cible utilise Linux.

Il est possible d'utiliser plusieurs méthodes à la fois. Par exemple, pour utiliser à la fois PsExec et RDP, on peut utiliser la commande suivante.

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec --rdp -o testResults

Il y a aussi un commutateur spécial --all qui équivaut à spécifier --psexec --rdp --psrem --wmi.

Note : Les paramètres de lancement sont indépendants de l'ordre, c'est-à-dire que l'ordre dans lequel les paramètres sont spécifiés n'a pas d'importance.

Acquérir la mémoire

Pour acquérir également un dump mémoire, ajoutez simplement le drapeau -m aux paramètres du programme, c'est-à-dire

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m

Si vous souhaitez acquérir UNIQUEMENT le dump mémoire sans autres preuves, utilisez la commande suivante.

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m --no-events-search --no-evidence-search --no-registry-search                                                          

Cette fonctionnalité est disponible uniquement pour les cibles Windows.

Exécuter des commandes personnalisées

Gargamel peut exécuter des commandes personnalisées Windows CMD ou Linux shell sur la machine distante.

Créez d'abord un fichier custom-commands.txt avec le contenu suivant.

root@kitploit:~
# Will be run using any method
ipconfig
# Will run only when launching with at least one of --all, --psexec, --wmi methods
:psexec:wmi ipconfig -all

Les résultats des commandes ci-dessus seront stockés dans le répertoire spécifié par l'option -o.

Pour exécuter les commandes ci-dessus écrites dans custom-commands.txt, utilisez le commutateur -e, c'est-à-dire

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -e custom-commands.txt                                                           

Télécharger des fichiers personnalisés

Gargamel est capable de télécharger des fichiers distants.

Créez d'abord un fichier custom-files.txt avec le contenu suivant.

root@kitploit:~
C:\Users\Public\sss*
C:\Users\Jano\danove.pdf 
# This line and the next one will be ignored
# C:\Users\Jano\somBajecny.pptx  
Note : Les caractères génériques * et ? sont pris en charge mais actuellement uniquement dans les noms de fichiers, pas dans les répertoires parents, c'est-à-dire C:\Users\J*\danove.pdf ne fonctionnera probablement pas.

Les résultats des commandes ci-dessus seront stockés dans le répertoire spécifié par l'option -o.

Pour exécuter les commandes ci-dessus écrites dans custom-files.txt, utilisez le commutateur -s, c'est-à-dire

root@kitploit:~
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -s custom-files.txt                                                           

Toutes les options

Tous les commutateurs pris en charge sont décrits ci-dessous.

root@kitploit:~
USAGE:
    gargamel.exe [FLAGS] [OPTIONS] --user <user>

FLAGS:
    -a, --all                   Acquire evidence from Windows machine using all supported methods (PsExec, PsRemote,
                                WMI, RDP).
        --no-events-search      Disables Windows event logs acquisition.
        --no-evidence-search    Disables acquisition of evidence that can be usually downloaded quickly (like ipconfig,
                                firewall status etc..)
        --no-registry-search    Disables target registry acquisition.
    -h, --help                  Prints help information
    -m, --mem-image             Optional: Memory dump of a target Windows machine.
        --local                 Acquire evidence from local machine.
        --nla                   Optional: Use network level authentication when using RDP. (Windows targets only)
        --no-7z                 Optional: Disable 7zip compression for registry & memory images.This will significantly
                                decrease the running time, but WMI and RDP connections will probably not work properly.
                                    (Windows targets only)
        --psexec                Acquire evidence from Windows machine using PsExec. Requires both PsExec64.exe and
                                paexec.exe in the current directory or in the path.
        --psrem                 Acquire evidence from Windows machine using PowerShell. Requires both PsExec64.exe and
                                paexec.exe in the current directory or in the path.
        --rdp                   Acquire evidence from Windows machine using RDP. Requires SharpRDP.exe in the current
                                directory or in the path.
        --ssh                   Acquire evidence from Linux machine using SSH. Requires both plink.exe and pscp.exe in
                                the current directory or in the path.
    -V, --version               Prints version information
        --wmi                   Acquire evidence from Windows machine using WMI. Requires WMImplant.ps1 in the current
                                directory or in the path and PowerShell 3.0+ on the host machine.Note: It is necessary
                                to disable Windows Defender real-time protection (other AVs not tested).

OPTIONS:
    -c, --computer <computer>                        Remote computer address/name. [default: 127.0.0.1]
    -u, --user <user>                                Remote user name
    -d, --domain <domain>                            Optional: Remote Windows domain
    -o, --output <local-store-directory>
            Name of local directory to store the evidence [default: evidence-output]

    -p, --password <password>
            Optional: Remote user password. Skipping this option will prompt a possibility to put a password in hidden
            way.To specify an empty password use `-p ""`

        --redownload <re-download>
            Optional: Download and DELETE specified file from target computer. Use this in case of previous failed
            partially completed operation. For just downloading a file (without deleting it) please use a `search`
            switch. If you specify a 7zip chunk (.7z.[chunk-number], e.g. .7z.004), then it will also automatically try to
            download subsequent chunks.Use also with --psexec --psrem, --rdp, --wmi, --all

    -r, --remote-storage <remote-store-directory>
            Name of remote directory to be used as a temporary storage. (Windows targets only) [default:
            C:\Users\Public]

    -e, --commands <custom-command-path>             Optional: File with custom commands to execute on remote computer

    -s, --search <search-files-path>
            Optional: File with files names to be searched on remote computer. File names supports also `*` and `?`
            wildcards on file names (but not yet parent directories).

        --key <ssh-key>                              Optional: Name/path of SSH private key file. (Linux target only)

        --timeout <timeout>
            Optional: Timeout in seconds for long running operations.This option is a workaround for a bug in
            WMImplant.ps1 amd SharpRDP.exe where finishing of a long running operation cannot sometimes properly close
            the connection leaving the Gargamel in seemingly frozen state or executing the next operation with the
            previous one unfinished on target site.Increasing this timeout may solve issues when acquiring registry or
            memory image from target machine. [default: 300]

Problèmes connus

  • WMI ne peut pas écrire sa sortie dans un fichier contenant le symbole _ dans son chemin ou son nom.

Licences et droits d'auteur

Copyright (C) 2020 LIFARS LLC

Tous droits réservés.

Télécharger l’outil