Las listas de palabras (o wordlist) son una forma sencilla de generar contraseñas. De hecho, se trata de una estrategia muy antigua para crear contraseñas. La idea es generar una lista de palabras que sean aleatorias y largas. Cada palabra de la lista se elige para que tenga, por ejemplo, un mínimo de 8 caracteres. Las palabras pueden estar en cualquier idioma. De hecho, anteriormente hemos discutido sobre 5 Formas de Crear Diccionario para Fuerza Bruta.
Con Cook, ahora puedes crear fácilmente permutaciones y combinaciones de palabras con conjuntos predefinidos de extensiones, palabras y patrones/función. Puedes utilizar esta herramienta para crear fácilmente puntos finales (endpoints) y contraseñas complejas. Personaliza la herramienta de acuerdo con tus palabras clave secretas únicas.
Instalación
Usando Go
go get github.com/giteshnxtlvl/cook
O,
GO111MODULE=on go get github.com/giteshnxtlvl/cook
Para actualizar:
go get -u github.com/giteshnxtlvl/cook
Descargar las últimas versiones:
https://github.com/giteshnxtlvl/cook/releases/
Personalización
Al personalizarlo podrás hacer y utilizar tus propias listas y patrones/funciones.
- Crea un archivo vacío llamado
cook.yaml
o Descarga cook.yaml - Crea una variable de entorno
COOK = Ruta del archivo
- Entonces, Ejecuta
cook -config
¿Cómo configuro una variable de entorno? Para establecer una variable de entorno en Linux, ingresa el siguiente comando:
export variable=valor
Permutación básica
Receta
cook -start admin,root -sep _,- -end secret,critical start:sep:end
cook admin,root:_,-:secret,critical
Permutación avanzada
Entender el concepto es importante
Conjuntos predefinidos
Receta:
cook -start admin,root -sep _ -end secret start:sep:archive
cook admin,root:_:archive
Crea tus propios conjuntos exclusivos:
Úsalo como CRUNCH
Patrones/Funciones
Receta:
cook -name elliot -birth date(17,Sep,1994) name:birth
Archivos
Entrada de Regex (Expresión regular) desde el archivo:
Receta:
cook -exp raft-large-extensions.txt:\.asp.* /:admin:exp
Guardar listas de palabras por nombres únicos
Archivo no encontrado
Si el archivo mencionado en el parámetro no se encuentra, entonces no habrá errores, en su lugar se hará esto:
cook -file file_not_exists.txt admin,root:_:file
admin_file_not_exists.txt
root_file_not_exists.txt
Distinción de letras
Uso de COOK con otras herramientas
Fuzzing directo con GoBuster:
https://github.com/OJ/gobuster
cook admin,root:_:archive | gobuster dir -u https://example.com/ -w -
Recursos útiles
Lista | Descripción |
---|---|
raft-large-extensions.txt | Lista de todas las extensiones |
all_tlds.txt | Lista de todos los tlds |
https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/raft-large-extensions.txt
https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat
Todos los conjuntos
# Juego de caracteres como crunch
charSet:
sep : [_- ] #common separators
n : [0123456789]
A : [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
a : [abcdefghijklmnopqrstuvwxyz]
aAn : [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
An : [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
an : [abcdefghijklmnopqrstuvwxyz0123456789]
aA : [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
s : ["!#$%&'()*+,-./:;<=>?@[\\]^_`{|}~&\""]
all : ["!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\""]
# Archivo para acceder desde cualquier lugar
files:
raft_ext : [E:\tools\wordlists\SecLists\Discovery\Web-Content\raft-large-extensions.txt]
raft_dir : [E:\tools\wordlists\SecLists\Discovery\Web-Content\raft-large-directories.txt]
raft_files : [E:\tools\wordlists\SecLists\Discovery\Web-Content\raft-large-files.txt]
robot_1000 : [E:\tools\wordlists\SecLists\Discovery\Web-Content\RobotsDisallowed-Top1000.txt]
# Crea tus listas
lists:
schemas : [aim, callto, cvs, data, facetime, feed, file, ftp, git, gopher, gtalk, h323, hdl, http, https, imap, irc, irc6, ircs, itms, javascript, magnet, mailto, mms, msnim, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, skype, smb, snews, ssh, svn, svn, svn+ssh, telnet, tel, wais, ymsg]
bypass : ["%00", "%09", "%0A", "%0D", "%0D%0A"]
admin_set : [admin, root, su, superuser, administration]
api : [/v1/,/v2/,/v3/,/v4/,/v5/,/api/]
pass_ends : [123, "@123", "#123"]
months : [January, February, March, April, May, June, July, August, September, October, November, December]
mons : [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
# Patrones
patterns:
date :
- date(D,M,Y)
- DMY
- MDY
- D/M/Y
- M/D/Y
- D-M-Y
- M-D-Y
- D.M.Y
- M.D.Y
- D.Y
- M.Y
- D.M
# Conjunto de extensiones, . se añadirá antes de utilizar estas
extensiones:
config : [conf, confq, config]
data : [xml, json, yaml, yml]
backup : [bak, backup, backup1, backup2]
exec : [exe, msi, bin, command, sh, bat, crx]
web : [html, html5, htm, js, jsx, jsp, wasm, php, php3, php5, php7]
iis : [asax, ascx, asmx, aspx, exe, aspx.cs, ashx, axd, config, htm, jar, js, rdl, swf, txt, xls, xml, xsl, zpd, suo, sln]
archive : [7z, a, apk, xapk, ar, bz2, cab, cpio, deb, dmg, egg, gz, iso, jar, lha, mar, pea, rar, rpm, s7z, shar, tar, tbz2, tgz, tlz, war, whl, xpi, zip, zipx, xz, pak, tar.gz, gz]
code : [c, cc, class, clj, cpp, cs, cxx, el, go, h, java, lua, m, m4, php, php3, php5, php7, pl, po, py, rb, rs, sh, swift, vb, vcxproj, xcodeproj, xml, diff, patch, js, jsx]
#Rest
css_type: [css, less, scss]
sheet : [ods, xls, xlsx, csv, ics vcf]
slide : [ppt, pptx, odp]
font : [eot, otf, ttf, woff, woff2]
text : [doc, docx, ebook, log, md, msg, odt, org, pages, pdf, rtf, rst, tex, txt, wpd, wps]
audio : [aac, aiff, ape, au, flac, gsm, it, m3u, m4a, mid, mod, mp3, mpa, pls, ra, s3m, sid, wav, wma, xm]
book : [mobi, epub, azw1, azw3, azw4, azw6, azw, cbr, cbz]
video : [3g2, 3gp, aaf, asf, avchd, avi, drc, flv, m2v, m4p, m4v, mkv, mng, mov, mp2, mp4, mpe, mpeg, mpg, mpv, mxf, nsv, ogg, ogv, ogm, qt, rm, rmvb, roq, srt, svi, vob, webm, wmv, yuv]
image : [3dm, 3ds, max, bmp, dds, gif, jpg, jpeg, png, psd, xcf, tga, thm, tif, tiff, yuv, ai, eps, ps, svg, dwg, dxf, gpx, kml, kmz, webp]
https://github.com/glitchedgitz/cook