Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cook — Uma framework de wordlists para satisfazer seus fetiches com suas wordlists. Para pesquisadores de segurança, bug bounty e hackers. | Kitploit
Ferramentas/GitHubGitHub/glitchedgitz/cook
Quebra de SenhasFuzzingTestes de PenetraçãoUtilitários e Frameworks
GitHubglitchedgitz/cook

cook

Uma framework de wordlists para satisfazer seus fetiches com suas wordlists. Para pesquisadores de segurança, bug bounty e hackers.

Ver Repositório
1.4k140há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

COOK

Um gerador de wordlists superpoderoso, divisor, mesclador, localizador, salvador, cria permutações e combinações de palavras, aplica diferentes codificações/decodificações e tudo que você precisa.

Eliminador de frustração! & Personalizável!

Índice

  • Installation
    • Configuration
  • Basic
    • Ranges
    • Param Approach
  • COOK's Ingredients
    • Categories
    • Save wordlists/lists/chars everything in my.yaml
    • Functions
    • Customize my.yaml
      ▸ Add/Update
      ▸ Delete
    • Local File / Fetch URL
  • Methods
    • Multiple Encoding
    • Break naming conventions 💫
    • All methods cook help methods
  • Some Usecases Examples
    • Join wordlists line-by-line
    • Print at every step
    • Combine with tools
  • ULTIMATE USAGE
    • Real life usage example:
  • Repeat Operator * and **
  • Parsing Rules
  • Flags
  • Use as library
  • Share your recipies/ingredients in cook-ingredients
  • Contribute

Instalação

Use Go ou baixe as últimas versões

root@kitploit:~
go install -v github.com/glitchedgitz/cook/v2/cmd/cook@latest

Configuração

A partir da versão v2.2 o cook salva os cook-ingredients em $home/.config/cook/cook-ingredients

Para alterar, crie uma variável de caminho chamada COOK=[SEU CAMINHO]

Básico

Sem o básico, tudo é complexo.

Intervalos

Abordagem de Parâmetros

Dê a eles qualquer nome e use-os para gerar o padrão. Isso será mais útil quando você aplicar codificação por coluna usando methods.

root@kitploit:~
cook -start intigriti,bugcrowd  -sep _,- -end users.rar,secret.zip  / start sep end
root@kitploit:~
Nota: você deve incluir o parâmetro no padrão, caso contrário, não imprimirá nada.

Ingredientes do COOK

O Cook depende de cook-ingredients, que são coleções de arquivos .yaml de conjuntos de palavras, funções, portas, wordlists do assetnotes, seclist, fuzzdb, 15+ etc.

Categorias

Salvar wordlists/listas/caracteres tudo em my.yaml

Funções

root@kitploit:~
cook -dob date[17,Sep,1994] elliot _,-, dob

Personalizar my.yaml

Edite my.yaml manualmente ou use estes comandos.

▸ Adicionar/Atualizar

Se keyword não existir, será criada. Caso contrário, será atualizada e o novo valor será adicionado na mesma variável.

root@kitploit:~
# Sintaxe
cook add [keyword]=[valor1, valor2, ..., valorN] in [categoria]

# Comando
cook add unique_name=word1,word2,word3 in lists

▸ Apagar

root@kitploit:~
cook delete [keyword]

Arquivo Local / Buscar URL

Use : após o nome do parâmetro.

root@kitploit:~
cook -f: live.txt f
root@kitploit:~
cook -f: https://example.com/wordlist.txt f

Acessar Wordlists de Bancos de Dados

O Cook buscou múltiplos repositórios e pode usar diretamente wordlists desses repositórios...

assetnotes, seclist, fuzzdb, etc.

Métodos

Usando métodos você pode codificar, decodificar, inverter, dividir, ordenar, extrair e pode fazer muito mais...

Os métodos podem ser aplicados na saída final ou por coluna

  • -m/-method para aplicar métodos na saída final
  • -mc/-methodcol para aplicar por coluna.
  • param.methodname aplicar a qualquer parâmetro, exemplificaremos essa questão de parâmetro depois.

Codificação Múltipla

  • Codificações Sobrepostas:
    • Use ponto .
    • md5.b64e.urle aplica vários métodos um após o outro.
    • Lógica da saída:
      • Padrão gerado > hash md5 > codificação base 64 > Codificação URL.
  • Codificações Diferentes:
    • Use vírgula ,
    • md5,sha1,sha256 aplica codificações diferentes ao mesmo padrão gerado.
    • Lógica da saída:
      • Padrão gerado > hash md5
      • Padrão gerado > hash sha1
      • Padrão gerado >

Quebrar convenções de nomenclatura 💫

Foco especial nestes 2 métodos, eles serão de grande ajuda sempre que você usar qualquer wordlist.

Smart Break -m smart

root@kitploit:~
▶ cook adminNew,admin_new -m smart
root@kitploit:~
Output:

admin
New
admin
new

Smart Join -m smartjoin[<case>:<char>]

Ele quebra e junta novamente com o caractere fornecido.

root@kitploit:~
▶ cook adminNew,admin-old -m smartjoin[:_]
root@kitploit:~
Output:

admin_New
admin_old

Aplicar Cases sobre os separados

Aqui aplicamos camelCase

root@kitploit:~
▶ cook suppose_this_is_long_text -m smartjoin[c:_]
root@kitploit:~
Output:

suppose_This_Is_Long_Text

Todos os métodos cook help methods

root@kitploit:~
sort                           - Ordená-los
sortu                          - Ordená-los com apenas valores únicos
reverse                        - Inverter string
leet                           - a->4, b->8, e->3 ...
                                    leet[0] ou leet[1]

smart                          - Separar palavras com convenções de nomenclatura
                                    redirectUri, redirect_uri, redirect-uri  ->  [redirect, uri]
smartjoin                      - Isso vai dividir as palavras das convenções de nomenclatura &
                                    param.smartjoin[c,_] (case, join)
                                    redirect-uri, redirectUri, redirect_uri ->  redirect_Uri

u          upper               - Maiúsculas
l          lower               - Minúsculas
t          title               - Capitalizado

Operações com Strings

root@kitploit:~
split                          - split[char]
splitindex                     - splitindex[char:index]
replace                        - Substituir Tudo replace[isto:poristo]

JSON

root@kitploit:~
json                           - Extrair campo JSON
                                    json[key] ou json[key:subkey:sub-subkey]

Operações com URL

root@kitploit:~
fb         filebase            - Extrair nome do arquivo do caminho ou URL
s          scheme              - Extrair http, https, gohper, ws, etc. da URL
           user                - Extrair username da URL
           pass                - Extrair password da URL
h          host                - Extrair host da URL
p          port                - Extrair porta da URL
ph         path                - Extrair caminho da URL
f          fragment            - Extrair fragmento da URL
q          query               - Extrair toda a query da URL
k          keys                - Extrair chaves da URL
v          values              - Extrair valores da URL
d          domain              - Extrair domínio da URL
           tld                 - Extrair tld da URL
           alldir              - Extrair todos os diretórios do caminho da URL
sub        subdomain           - Extrair subdomínio da URL
           allsubs             - Extrair subdomínio da URL

Codificar/Decodificar

root@kitploit:~
b64e       b64encode           - Codificar Base64
b64d       b64decode           - Decodificar Base64

           charcode            - Codificação charcode
                                    - charcode[0]
                                        &#97&#98&#99
                                    - charcode[1] com ponto e vírgula
                                        &#97;&#98;&#99;

hexe       hexencode           - Codificar string em hexadecimal
hexd       hexdecode           - Decodificar string hexadecimal

jsone      jsonescape          - Escape JSON
jsonu      jsonunescape        - Unescape JSON

urle       urlencode           - Codificar URL com caracteres reservados
            utf16                - Codificador UTF-16 (Little Endian)
            utf16be              - Codificador UTF-16 (Big Endian)
urld       urldecode           - Decodificar URL
urleall    urlencodeall        - Codificar URL todos os caracteres

xmle       xmlescape           - Escape XML
xmlu       xmlunescape         - Unescape XML

unicodee   unicodeencodeall    - Codificação Unicode escape string (todos os caracteres)
unicoded   unicodedecode       - Decodificação Unicode escape string

HASHES

root@kitploit:~
md5                            - Soma MD5
sha1                           - Checksum SHA1
sha224                         - Checksum SHA224
sha256                         - Checksum SHA256
sha384                         - Checksum SHA384
sha512                         - Checksum SHA512

Alguns Exemplos de Uso

Alguns casos de uso gerais para compreender o funcionamento do cook.

▸ Sites usando sufixo/prefijo personalizado?

▸ Juntar wordlists linha por linha

Use a flag -append:

root@kitploit:~
cook -l: live.txt -p: payloads.txt l / p -append 2
root@kitploit:~
# Múltiplas colunas
cook col1 col2 col3 col4 col5 -append 2,5

Nota: Às vezes é confuso encontrar o índice da coluna, então use -col

▸ Imprimir a cada etapa

Se você quiser começar a imprimir dados a cada permutação, use a flag -min

Nota: Às vezes é confuso encontrar o índice da coluna, então use -col

Combinar com ferramentas

Gere um padrão e combine com outras ferramentas usando PIPE.

root@kitploit:~
cook [Padrão Gerado] | [Qualquer ferramenta com entrada por pipe]

▸ Fuzzing de Autenticação Básica com FFUF

root@kitploit:~
cook usernames_list : passwords_list -m b64e | ffuf -u https://target.com -w - -H "Authorization: Basic FUZZ"

▸ Fuzzing de Payload Nulo com FFUF

root@kitploit:~
cook https://target.com/**100 | ffuf -u FUZZ -w -

▸ Parâmetros Ocultos com x8

root@kitploit:~
cook [saída gerada] | x8 -u https://target.com

▸ Domínios de topo ativos com dnsx ou httprobe

root@kitploit:~
cook example.com seclists-tlds.txt  | dnsx -v

USO ULTIMATE

Muito poderoso? Mas todos os dias você se depara com coisas estranhas de BB, como um grande arquivo json do alvo? Talvez você queira extrair, juntar, mesclar ou o que for. Você pode usar o cook de forma inteligente conforme seu caso de uso.

Exemplo de uso na vida real:

Como BBH, frequentemente encontramos arquivos JSON. Talvez você leia algo e queira salvar a wordlist em sua coleção.

Digamos que você leu este blog sobre vulnerabilidades IIS Shortname https://blog.assetnote.io/2020/09/18/finding-hidden-files-folders-iis-bigquery/.

Aqui o Assetnote compartilhou um GRANDE ARQUIVO ZIP. Agora você precisa de algo que possa salvar este arquivo e que você possa recuperá-lo quando necessário.

Salve assim..., isso salvará o arquivo em my.yaml

root@kitploit:~
cook add shub_zip_files=[URL] in files

Ou salve manualmente em my.yaml,

root@kitploit:~
shub_zip_files: [https://storage.googleapis.com/zipfilesbq/zipfiles.json]

Nota: o cook já o salvou nas wordlists padrão, você pode usar cook shub_zip_files para acessá-lo

▸ O arquivo contém dados assim, mas isso não é diretamente útil.

root@kitploit:~
{"repo_name":"cocowool/RoseCMS","ref":"refs/heads/1","path":"user_guide/_downloads/ELDocs.tmbundle.zip","mode":"33261","id":"f7a11b364ca918379b48ad525798148e7470b6b1"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fast.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/store.zip","mode":"33188","id":"e2add30dc0e3129dc89e20a71abe7314052d0002"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/ultra.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/normal.zip","mode":"33188","id":"b4602c94ee000ee54c71c9302b9db956b3fd9f0e"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fastest.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/maximum.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
...

Digamos que você precise:
▸ Extrair campo json path
▸ extrair filebase de path
▸ depois dividi-lo com base em convenções de nomenclatura

Solução em uma única linha

▸ Com o cook não só podemos extraí-lo, podemos extrair filebase do path e ordenar único, depois usar smartjoin para criar diferentes permutações.

root@kitploit:~
cook -z shub_zip_files z.json[path].fb.sortu.smartjoin[c:_]

E é assim que o cook também nasceu, enquanto fuzzing de IIS Shortnames e depois adicionei outras funcionalidades.

Operador de Repetição * e **

  • Use * para repetição horizontal.
  • Use ** para repetição vertical.
  • E tente *10-1 ou *1-10.

Regras de Análise

Flags

Usar como biblioteca

Você pode usar o Cook como biblioteca em seus projetos Go.

Uso Básico

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	// Cria uma nova instância do cook
	cookInst := cook.New(&cook.COOK{
		Pattern:     []string{"a,b,c", "1,2,3"},
		PrintResult: false, // Não imprimir no stdout
	})

	// Gera o padrão
	cookInst.Generate()

	fmt.Println("Padrões gerados:", cookInst.Final)
}

Geração Eficiente de Múltiplos Padrões (v2.X.X e superior)

Para gerar vários padrões sem reinicializar recursos a cada vez:

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	// Cria um gerador que inicializa os recursos compartilhados uma vez
	generator := cook.NewGenerator()

	// Gera vários padrões de forma eficiente
	list1 := generator.Generate([]string{"a,b,c", "1,2,3"})
	list2 := generator.Generate([]string{"admin", "password-2023"})

	fmt.Println("Padrão 1:", list1)
	fmt.Println("Padrão 2:", list2)
}

Geração Concorrente de Padrões

O gerador também suporta geração concorrente de padrões:

root@kitploit:~
package main

import (
	"fmt"
	"sync"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	generator := cook.NewGenerator()
	patterns := [][]string{
		{"user-1-5", "pass-1-3"},
		{"admin", "Admin-2023-2025"},
	}

	var wg sync.WaitGroup
	results := make([][]string, len(patterns))

	// Gera padrões concorrentemente
	for i, pattern := range patterns {
		wg.Add(1)
		go func(idx int, p []string) {
			defer wg.Done()
			results[idx] = generator.Generate(p)
		}(i, pattern)
	}

	wg.Wait()

	// Usa os resultados
	for i, r := range results {
		fmt.Printf("Padrão %d gerou %d resultados\n", i, len(r))
	}
}

Exemplo de Pesquisa

Pesquise os cook-ingredients usando a biblioteca:

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	cookInst := cook.NewWithoutConfig()
	results := cookInst.Search("api")
	fmt.Printf("Padrões de API pesquisados: %v\n", results)
}

Compartilhe suas receitas e ingredientes em cook-ingredients

  • Compartilhe seu arquivo yaml com a comunidade

Contribuir

  • Usar concorrência e torná-lo mais rápido
  • Autocomplete para shells
  • Fazer o append funcionar algo como cook file1 =/= file2, garantir que caracteres funcionem diretamente em todos os terminais.
  • Fazer com que raw string funcione como funciona em linguagens de programação. Ou seja, um analisador melhor.
  • Não sei, você pode usar sua criatividade e adicionar algumas funcionalidades incríveis.
  • Você pode me pagar um café☕
Baixar ferramenta
CategoriaDescrição
listsArray de valores para usar diretamente quando chamado
filesArray de urls
portsIntervalos de números
raw-filesArray de arquivos locais
functionsFunções usadas para gerar padrões
hash sha256
ColunasSeparadas por espaço
ValoresSeparados por vírgula
ParâmetrosVocê pode dar qualquer nome ao parâmetro, use - antes de qualquer coisa para torná-lo parâmetro -param valor
Strings RawUse ` antes e depois da string para interromper a análise do cook. Útil quando você precisa usar qualquer palavra-chave como uma palavra.
Entrada PipeUse - como valor de qualquer parâmetro para entrada pipe.
ArquivoUse : após o nome do parâmetro para entrada de arquivo. cook -f: live.txt f
FunçõesPodem ser chamadas apenas usando parâmetros.
MétodosPodem ser usados em parâmetros ou na saída final
FlagUso
-peekEspiar a saída usando -peek 50 para as primeiras 50 linhas
-a, -appendAnexar às linhas anteriores, em vez de permutações
-c, -colImprimir números das colunas e seus valores
-conf, -configInformações de Configuração
-mc, -methodcolAplicar métodos por coluna -mc 0:md5,b64e; 1:reverse
Para todas as colunas separar -mc md5,b64e
-m, -methodAplicar métodos à saída final
-h, -helpAjuda
-minNúmero mínimo de colunas para imprimir