Blog

ACTUALIDAD
9 Jul 2019

Creando nuestra propia herramienta de pentesting

Creando nuestra propia herramienta de Pentesting

Hoy vamos a aprender a crear nuestra propia herramienta de pentesting utilizando para ello bash, el interfaz gráfico yad y las herramientas que queramos/necesitemos, siempre y cuando tengan dichas herramientas acceso desde la línea de comandos.

En primer lugar instalamos yad:

#sudo apt-get install yad

Una vez finalice la instalación podemos empezar a usar la interfaz gráfica; es interesante que le echéis un ojo a la ayuda.

Creando nuestra propia herramienta de pentesting

Antes de nada, tened en cuenta algunos consejos para facilitar el desarrollo de nuestro script de pentesting:

  • El primero, y fundamental, modularizar las herramientas: de esta forma podéis sacar trozos de código fuera, testearlos y reutilizarlos si fuese necesario.
  • Y el segundo, ir siempre de lo particular a lo general: probad el script con casos sencillos para ir después ampliando.

Ahora vamos a generar nuestro script:

#nano APT.sh

Le he llamado así por “Automatic Pentesting Tool”.

Para facilitar la configuración de nuestra propia herramienta de pentesting, almacenaremos los parámetros que pasaremos a cada una de las herramientas en un fichero externo; en este caso le he llamado config.txt, y será de la siguiente forma:

Creando nuestra propia herramienta de pentesting

Y lo importamos desde bash:

Creando nuestra propia herramienta de pentesting

Ahora ya podemos utilizar los parámetros anteriores de la siguiente forma:

$p_whatweb, por ejemplo, para los parámetros definidos en la sección [whatweb]

Además, generaremos listas para que la gestión desde yad sea más sencilla.

Creando nuestra propia herramienta de pentesting

Y debemos tener claro que nuestro objetivo se almacenará en la variable $obj y nuestro directorio de trabajo en $dir

Por otro lado, crearemos funciones de cada herramienta; al ser independientes podemos probarlas una a una hasta que funcionen. Por ejemplo, para whatweb:

Creando nuestra propia herramienta de pentesting

O para nmap:

Creando nuestra propia herramienta de pentesting

En estos casos, si os fijáis, algunos parámetros están definidos en el fichero config.txt y otros no; de esta forma podemos forzar a que siempre haya unos parámetros y otros los podemos configurar en nuestro fichero.

Generar la interfaz gráfica con yad para nuestra herramienta de pentesting.

Tendremos nuestra pantalla principal, donde indicaremos el objetivo y el directorio de trabajo:

Pentesting: creando nuestra propia herramienta

Que se verá de la siguiente forma:

Pentesting: creando nuestra propia herramienta

He añadido una imagen Logo_small.png para personalizar la herramienta.

Posteriormente, seleccionamos la acción a llevar a cabo con nuestra herramienta de pentesting:

Pentesting: creando nuestra propia herramienta

Pentesting: creando nuestra propia herramienta

Y ejecutamos la función asociada que nos da la opción de menú:

Pentesting: creando nuestra propia herramienta

Pentesting: creando nuestra propia herramienta

Dado que hemos creado una lista con las herramientas de pentesting, el bucle recorrerá toda la lista de los elementos seleccionados; de esta forma, si desarrollamos otro módulo o herramienta, únicamente tendremos que añadir un elemento a la lista y este se invocará automáticamente.

No he puesto control de errores: añadidlo y personalizad la herramienta como queráis/necesitéis.

 

Os dejo el código fuente de esta aproximación.

https://github.com/Gwalrock/hacking-utilidades/tree/master/AutomaticPentestingTool

 

Always Learning.

Autor:

Rafael García Lázaro

Director Técnico de The Security Sentinel

Posicionamiento Web SEO: David Moreno Rozas

Creando nuestra propia herramienta de Pentesting