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
gf — Un envoltorio alrededor de grep, para ayudarte a buscar cosas con grep. | Kitploit
Herramientas/GitHubGitHub/tomnomnom/gf
Utilidades de Propósito GeneralReconocimientoAnálisis de CódigoRecopilación de InformaciónDetección de Secretos
GitHubtomnomnom/gf

gf

Un envoltorio alrededor de grep, para ayudarte a buscar cosas con grep.

Ver Repositorio
2.1k342hace 2 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

gf

Un envoltorio alrededor de grep para evitar escribir patrones comunes.

¿Qué? ¿Por qué?

Uso grep un montón. Cuando audito bases de código, reviso la salida de meg, o simplemente trato con grandes cantidades de datos. A menudo termino usando patrones bastante complejos como este:

root@kitploit:~
▶ grep -HnrE '(\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))' *

Es muy fácil equivocarse al escribir todo eso, y puede ser difícil saber si no has obtenido ningún resultado porque no hay nada que encontrar, o porque te equivocaste al escribir el patrón o elegiste las opciones incorrectas.

Escribí gf para dar nombres a las combinaciones de patrones y opciones que uso todo el tiempo. Así que el comando anterior se convierte simplemente en:

root@kitploit:~
▶ gf php-sources

Archivos de patrones

Las definiciones de los patrones se almacenan en ~/.gf como pequeños archivos JSON que se pueden mantener bajo control de versiones:

root@kitploit:~
▶ cat ~/.gf/php-sources.json
{
    "flags": "-HnrE",
    "pattern": "(\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))"
}

Para ayudar a reducir un poco la longitud y complejidad de los patrones, también puedes especificar una lista de múltiples patrones:

root@kitploit:~
▶ cat ~/.gf/php-sources-multiple.json
{
    "flags": "-HnrE",
    "patterns": [
        "\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)",
        "php://(input|stdin)"
    ]
}

Hay más archivos de ejemplo de patrones en el directorio examples.

Puedes usar la opción -save para crear archivos de patrones desde la línea de comandos:

root@kitploit:~
▶ gf -save php-serialized -HnrE '(a:[0-9]+:{|O:[0-9]+:"|s:[0-9]+:")'

Autocompletado

Hay un script de autocompletado incluido, para que puedas presionar 'tab' y ver cuáles son tus opciones:

root@kitploit:~
▶ gf <tab>
base64       debug-pages  fw           php-curl     php-errors   php-sinks    php-sources  sec          takeovers    urls

Bash

Para que el autocompletado funcione, necesitas hacer source del archivo gf-completion.bash en tu .bashrc o similar:

root@kitploit:~
source ~/path/to/gf-completion.bash

Zsh

Para que el autocompletado funcione, necesitas habilitar el autocompletado (no es necesario si tienes oh-my-zsh) usando autoload -U compaudit && compinit o añadiéndolo a tu .zshrc.

Luego haz source del archivo gf-completion.zsh en tu .zshrc o similar:

root@kitploit:~
source ~/path/to/gf-completion.zsh

Nota: si estás usando oh-my-zsh o similar, puede que encuentres que gf es un alias de git fetch. Puedes asignar un alias al binario de gf con otro nombre, o usar unalias gf para eliminar el alias de git fetch.

Usando motores personalizados

Hay algunos motores de búsqueda de código increíbles que pueden ser un mejor reemplazo para grep. Un buen ejemplo es the silver searcher. Es más rápido (como mucho más rápido) y presenta los resultados de una manera más digerible visualmente. Para utilizar un motor diferente, añade engine: <other tool> al archivo de patrón correspondiente:

root@kitploit:~
# Using the silver searcher instead of grep for the aws-keys pattern:
# 1. Adding "ag" engine
# 2. Removing the E flag which is irrelevant for ag
{
  "engine": "ag",
  "flags": "-Hanr",
  "pattern": "([^A-Z0-9]|^)(AKIA|A3T|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{12,}"
}
  • Nota: Los diferentes motores usan diferentes opciones, por lo que en el ejemplo anterior, la opción E debe eliminarse del archivo aws-keys.json para que ag pueda ejecutarse correctamente.

Instalación

Si tienes Go instalado y configurado, puedes instalar gf con:

root@kitploit:~
▶ go get -u github.com/tomnomnom/gf

Si has instalado usando go get, puedes habilitar el autocompletado en tu .bashrc de esta manera:

root@kitploit:~
▶ echo 'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash' >> ~/.bashrc

Ten en cuenta que tendrás que reiniciar tu terminal, o ejecutar source ~/.bashrc para que los cambios tengan efecto.

Para empezar rápidamente, puedes copiar los archivos de patrones de ejemplo a ~/.gf de esta manera:

root@kitploit:~
▶ cp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf

Mis patrones personales que he incluido como ejemplos puede que no te resulten muy útiles, pero con suerte siguen siendo un punto de referencia razonable.

Contribuciones

¡En realidad me interesarían sobre todo nuevos archivos de patrones! Si tienes algo que buscas con grep regularmente, no dudes en abrir un PR para añadir nuevos archivos de patrones al directorio examples.

Las correcciones de errores también son bienvenidas como siempre :)

Descargar herramienta