share

Creación de Diccionarios con Gorilla

Introducción

Vamos a instalar una herramienta que sirve para crear diccionarios con los que realizar un ataque de fuerza bruta contra passwords. Esta herramienta es gorilla. Es una herramienta escrita en un lenguaje de programación llamado rust con lo cual empezaremos instalando el lenguaje y otras herramientas. Haremos la instalación sobre nuestra máquina ANTUNIX. Todavía no tenemos muchas herramientas en nuestra máquina para clasificarlas en un menú, pero ya va habiendo unas cuantas.

Instalación de Visual Studio Code

Llevamos instalados en otros post un par de IDE’s, que de IntelliJ, que nos sirven para nuestros entornos de desarrollo Python y Java, pero a medida que instalamos mas lenguajes de programación, no todos los IDE’s de IntelliJ nos sirven, dado que unos son gratis, pero otros no. En concreto se puede usar IntelliJ IDEA para rust, con un plugin. Pero características tan importantes como el debbuging tienen que hacerse con un IDE de pago.

Así que usaremos Visual Studio Code como IDE para Rust. Entramos en la página de Visual Studio para descargar VSC en nuestro sistema ANTUNIX. Entramos en firefox y navegamos a:

https://code.visualstudio.com/

y pulsamos el botón de Debian/Ubuntu

Una vez descargado, obtenemos el archivo:

/home/juan/Descargas/code-stable-x64-1660113585.tar.gz

Nos posicionamos en el archivo con click en botón izquierdo del ratón. Con click en botón derecho, pulsamos la opción “extraer aquí”, lo cual generará una carpeta que moveremos íntegramente a: 

/home/juan/DESARROLLO/VSCode-linux-x64

Y ese será el lugar definitivo de nuestra instalación de VSC para Linux. Como podemos ver, la instalación de algunas aplicaciones en Linux es mucho mas fácil que en Windows. Solo hay que descomprimir la carpeta en cualquier lugar y ya funciona. Y además te la llevas a cualquier otro lugar y sigue funcionando. Solo resta añadir el acceso directo o lanzador.

Sobre el escritorio, botón derecho, crear un lanzador aquí:

Y metemos el parámetro siguiente:

Ni que decir tiene que si esto lo instaláis en vuestras carpetas con otros nombres, debéis de poner el nombre exacto de vuestras carpetas. Esta es una instalación hecha en mi sistema.

El icono no viene, pero podéis sacarlo de internet.

Bien, pues con esto ya tenemos instalado VSC en nuestro sistema. Pulsando doble click sobre el icono podemos comprobar que funciona.

Vemos que funciona perfectamente.

Instalación de Rust

Este es un lenguaje novedoso, que según su página web:

https://www.rust-lang.org/es

Rust es rápido como el rayo y eficiente con la memoria: sin runtime ni colector de basura, puede sustentar servicios de rendimiento crítico, ejecutarse en dispositivos embebidos, e integrarse con otros lenguajes fácilmente.

Veamos como se instala en nuestro sistema ANTUNIX.

abrimos firefox y navegamos hacia:

https://www.rust-lang.org/es/tools/install

y allí encontraremos información sobre el lenguaje e instrucciones de instalación en Linux.

Abrimos un terminal y ejecutamos la siguiente instrucción:

curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh

pulsamos 1 y dejamos que se instale el lenguaje, terminando en:

al final nos dice que ejecutemos una instrucción:

source “$HOME/.cargo/env”

Una vez ejecutada esta instrucción ya tenemos rust instalado en nuestra máquina ANTUNIX.

Ahora vamos a proceder a crear y ejecutar nuestro primer programa en rust para ver que todo funciona correctamente.

con la instrucción:

rustc –version

sabremos la versión de rust que hay instalada.

Si queremos desinstalar rust, desde un terminal teclearemos la siguiente instrucción:

rustup self uninstall

Si queremos instalar actualizaciones de rust, tecleamos desde un terminal:

rustup update

Con cualquier editor de texto, por ejemplo nano o cualquier otro, editamos las siguientes líneas:

fn main() {
println!(“Hello, world!”);
}

y grabamos el archivo como main.rs , yo lo hice en la carpeta:

/home/juan/DESARROLLO

en esa misma carpeta abro un terminal:

y procedemos a la compilación del fichero fuente con la siguiente instrucción:

rustc main.rs

Lo que genera un archivo ejecutable, que podemos ejecutar desde el mismo terminal así:

./main

Y ya sabemos que el compilador de rust funciona.

Compilación de gorilla

Si vamos a la página de referencia de gorilla:

https://github.com/d4rckh/gorilla

Podemos observar que es un aplicativo desarrollado 100% en rust y que no hay en el repositorio ningún ejecutable. ¿Esto qué nos quiere decir?, nos quiere decir que para instalarlo en nuestra distribución ANTUNIX tenemos que hacer dos cosas:

  1. clonar el repositorio de github
  2. compilar los archivos de código fuente de rust para obtener el ejecutable

La primera parte es muy fácil, acordaros que ya lo hicimos con geo-RECON, y es simplemente desde nuestra carpeta de trabajo:

/home/juan (vosotros la vuestra)

abrimos un terminal y tecleamos lo siguiente:

git clone https://github.com/d4rckh/gorilla

lo cual nos clona el repositorio donde están los archivos fuente y auxiliares de gorilla escritos en rust:

Y para compilar seguimos las escuetísimas instrucciones que suministra el creador de esta utilidad. Como podemos observar, el proceso de clonación nos ha creado una carpeta:

/home/juan/gorilla

nos cambiamos a esa carpeta y abrimos en ella un terminal, cerrando los anteriores. Y desde aquí ejecutaremos la instrucción de compilación.

cargo build –release

Esto comenzará el proceso de compilación:

cuando termine se habrá generado la carpeta:

/home/juan/gorilla/target/release

Y voilá, aquí tenemos nuestro ejecutable gorilla. Ahora sólo queda probarlo.

Utilización de gorilla

En primer lugar, y dado que este es un software CLI es decir conducido por línea de comandos, y dado que sabemos donde está el ejecutable, debemos añadir la localización o carpeta de este ejecutable a nuestra variable del sistema $PATH

En primer lugar displayamos en pantalla la variable $PATH:

echo $PATH

Que en mi caso proporciona la salida:

/home/juan/geo-recon:/home/juan/geo-recon/modules:/home/juan/.cargo/bin:/home/juan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Y ahora añado:

/home/juan/gorilla/target/release

con la siguiente instrucción:

export PATH=/home/juan/gorilla/target/release:$PATH

Y ahora ya puedo utilizar gorilla desde cualquier carpeta del sistema ANTUNIX sin usar el prefijo ./

Por ejemplo desde el escritorio abro un terminal e introduzco la instrucción:

gorilla –from-pattern “{a-z}{a-z}{a-z}{a-z}{a-z}”

Esto me genera en pantalla un diccionario con todas las palabras de 5 letras minúsculas. Si las quisiera llevar a un archivo de texto:

gorilla –from-pattern “{a-z}{a-z}{a-z}{a-z}{a-z}” > diccionario5.txt

Generando un archivo de 72 Mb

Otra capacidad que me ha parecido muy interesante es que gorilla puede hacer web-scraping en páginas web buscando palabras diferentes y así podemos ver si se nos ha colado algo que no debería aparecer. Esto se hace con la instrucción:

gorilla –from-website https://lacriptadejohndee.es/ > web.txt

Y en fin, las posibilidades de creación de diccionarios con gorilla son casi infinitas. Aquí he puesto 2 ejemplos, pero os remito a la documentación que proporciona el autor en su página de github.