Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gargamel — Adquisidor de evidencia forense | Kitploit
Herramientas/GitHubGitHub/lifars/gargamel
Forensia de MemoriaAnálisis ForenseRecopilación de InformaciónForensia DigitalRespuesta a IncidentesHerramienta de Acceso Remoto
GitHublifars/gargamel

gargamel

Adquisidor de evidencia forense

Ver Repositorio
86155hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

alt text

Gargamel

Compilar

Compilado y probado con Rust 1.50+. Abra una terminal en el directorio del proyecto y para compilar una versión de lanzamiento escriba

root@kitploit:~
cargo build --release

La compilación de depuración se puede compilar usando

root@kitploit:~
cargo build

El ejecutable compilado se encuentra en target/release/gargamel.exe o target/debug/gargamel.exe, respectivamente.

Establecer nivel de registro

Si desea cambiar el nivel de registro:

  • Abra src/main.rs
  • En las líneas 42 y 43 cambie LevelFilter::Info por (por ejemplo) LevelFilter::Trace para un registro más detallado.
    • Tenga en cuenta que LevelFilter::Trace registrará todo, incluyendo contraseñas.

Guía de usuario

Por ahora, esta aplicación solo funciona en Windows y la computadora de destino debe usar Windows o Linux.

Asegúrese de tener los siguientes programas en el mismo directorio que Gargamel.

  • psexec, descargar
  • paexec, una alternativa de código abierto a PsExec, descargar
  • winpmem, una herramienta de imagen de memoria de código abierto, descargar.
    • Descargue el ejecutable más reciente y renómbrelo a winpmem.exe
  • plink y pscp, clientes CLI de SSH/SCP de código abierto, descargar
  • SharpRDP, un ejecutor de comandos de código abierto que usa RDP, descargar
  • WMImplant, un ejecutor de comandos WMI de PowerShell de código abierto, descargar
  • 7za.exe, una versión independiente de consola del archivador 7zip, descargar

Nota: Necesitamos tanto psexec como paexec. Aunque se supone que ambas aplicaciones son funcionalmente equivalentes, en realidad tienen un comportamiento diferente bajo algunas circunstancias.

Liberando el poder de Gargamel

Gargamel debe ejecutarse desde un terminal elevado para ser completamente funcional. Actualmente no soporta el diálogo UAC ni ningún tipo de notificación cuando se ejecuta con privilegios limitados. Cuando se ejecuta con privilegios limitados de usuario, algunas operaciones como el volcado de memoria de destino no funcionarán.

Ejemplo básico

Suponga que desea conectarse a una computadora con los siguientes parámetros:

  • dirección 192.168.42.47
  • nombre de usuario Jano
  • contraseña nbusr123

El siguiente comando adquirirá el estado del firewall, el estado de la red, los usuarios conectados, los procesos en ejecución, las conexiones de red activas, el registro, los registros de eventos del sistema y de la aplicación utilizando el método PsExec. La evidencia se almacenará en el directorio testResults relativo a la ubicación de Gargamel.

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

Gargamel le pedirá la contraseña del usuario remoto, en nuestro ejemplo la contraseña es nbusr123. Tenga en cuenta que la contraseña se ocultará al escribir.

También es posible especificar la contraseña directamente como argumento del programa.

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

Ejemplo de dominio

Suponga que desea conectarse a una computadora en un dominio con los siguientes parámetros:

  • dominio WORKSPACE
  • nombre de computadora JanovPC
  • nombre de usuario Jano
  • contraseña nbusr123

El siguiente comando adquirirá el estado del firewall, el estado de la red, los usuarios conectados, los procesos en ejecución, las conexiones de red activas, el registro, los registros de eventos del sistema y de la aplicación utilizando el método PsExec.

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

O para omitir la solicitud de contraseña, especifique la contraseña directamente.

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

Otros métodos de conexión

PsExec es uno de los 5 métodos de conexión soportados. Puede reemplazar --psexec con las siguientes opciones:

  • --psexec
  • --psrem, si la administración remota de PowerShell está configurada en la máquina de destino.
  • --rdp, si RDP está habilitado en la máquina de destino.
  • --wmi.
  • --ssh, si la máquina de destino usa Linux.

Es posible usar varios métodos a la vez. Por ejemplo, para usar tanto PsExec como RDP, se puede usar el siguiente comando.

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

También hay un interruptor especial --all que equivale a especificar --psexec --rdp --psrem --wmi.

Nota: Los parámetros de lanzamiento son independientes del orden, es decir, no importa en qué orden se especifiquen los parámetros.

Adquirir memoria

Para adquirir también un volcado de memoria, simplemente añada la bandera -m a los parámetros del programa, es decir,

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

Si desea adquirir SOLO el volcado de memoria sin otra evidencia, use el siguiente comando.

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

Esta funcionalidad está disponible solo para objetivos Windows.

Ejecutar comandos personalizados

Gargamel puede ejecutar comandos personalizados de Windows CMD o shell de Linux en la máquina remota.

Primero cree un archivo custom-commands.txt con el siguiente contenido.

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

Los resultados de los comandos anteriores se almacenarán en el directorio especificado por la opción -o.

Para ejecutar los comandos anteriores escritos en custom-commands.txt use el interruptor -e, es decir,

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

Descargar archivos personalizados

Gargamel puede descargar archivos remotos.

Primero cree un archivo custom-files.txt con el siguiente contenido.

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  
Nota: Los comodines * y ? son compatibles pero actualmente solo en nombres de archivos, no en directorios padre, es decir, C:\Users\J*\danove.pdf probablemente no funcionará.

Los resultados de los comandos anteriores se almacenarán en el directorio especificado por la opción -o.

Para ejecutar los comandos anteriores escritos en custom-files.txt use el interruptor -s, es decir,

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

Todas las opciones

Todos los interruptores soportados se describen a continuación.

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]

Problemas conocidos

  • WMI no puede escribir su salida en un archivo con el símbolo _ en su ruta/nombre.

Licencia y derechos de autor

Copyright (C) 2020 LIFARS LLC Todos los derechos reservados.

Descargar herramienta