share

Webpalm: Trazado de árbol de directorios de una web

Introducción a Webpalm

Webpalm es una aplicación escrita en lenguaje GO para Linux. El propósito de esta aplicación es trazar un árbol de todas las URL de una aplicación WEB.

Dentro de las fases del hacking, estaríamos pues en la de enumeración. Queremos asaltar una web, que no es otra cosa que una aplicación pública y lo primero que hacemos es saber las carpetas que tiene esa WEB.

La aplicación también sirve para hacer webscrapping y extraer datos.

Instalación de Webpalm

Como la aplicación está escrita en lenguaje GO, tenemos que tener instalado el lenguaje GO en nuestra distribución de Linux. Yo voy a instalar webpalm en mi distribución Parrot Security que es la que vengo usando últimamente y la verdad es que va muy bien.

Ya hemos abordado la instalación de GO en otros post. Podéis consultar este post donde viene bien detallado.

Una vez instalado GO y funcionando, procedemos a instalar webpalm con las siguientes instrucciones:

Nos vamos a nuestra carpeta de usuario, que en mi caso es:

/home/usuario

Esto podemos hacerlo perfectamente desde el entorno gráfico de carpetas. Una vez allí abrimos un terminal y:

sudo su

introducimos la siguiente instrucción para instalar webpalm:

go install github.com/Malwarize/webpalm/v2@latest

La instalación es de lo mas simple y se hace sola. Lo que yo si haría para tener localizada la aplicación es buscar la carpeta:

webpalm

Cortarla y llevarla a que cuelgue de:

/home/usuario

O en vuestro caso la carpeta de trabajo que hayáis designado. Quedaría una cosa así:

Correcta asignación de la variable PATH

Con lo que antecede estaría lista la instalación. Como podéis observar no tiene ninguna complicación. ¿Dónde viene el lío?, en lo que debería ser lo mas fácil, pero que sin embargo hay que controlar mucho de Linux para tenerlo claro.

Vamos a ver, cuando yo abro un terminal, suelo hacer siempre sudo su, para no tener que estar a cada rato metiendo la contraseña. Esto por un lado.

Para que un aplicativo escrito en GO funcione en un terminal, debe de haber una entrada nueva en la variable PATH:

PATH=$PATH:/home/usuario/go/bin
export PATH=$PATH:/home/usuario/go/bin

Si somos el usuario habitual, el prompt mostrará un $

Si somos Super User (su), el prompt mostrará un #

Pero, dependiendo de que usuario somos regirá una variable PATH u otra que estarán en ficheros diferentes. Estos ficheros son:

Para usuario “normal”, el nuestro, con el que hemos entrado en Linux:

/home/usuario/.bashrc

Es necesario editar este fichero:

nano /home/usuario/.bashrc

Y meterla las instrucciones de mas arriba:

PATH=$PATH:/home/usuario/go/bin
export PATH=$PATH:/home/usuario/go/bin

Pero también debemos editar el archivo:

/root/.bashrc

e introducir esas dos instrucciones. Salir grabando en ambos casos y reiniciar el sistema.

Si /root/.bashrc no se deja editar, desde /root, introducimos el comando:

chown usuario .bashrc

Y así podremos editarlo.

Con estas instrucciones podremos utilizar GO en cualquier terminal como usuario normal o con sudo su.

Esto podremos comprobarlo, desde cualquier terminal, introduciendo la instrucción:

go version

Que en mi caso da:

go version go1.20.5 linux/amd64

Bueno, pues con esto, estamos en condiciones de utilizar la aplicación

Uso de webpalm

Para sacar la ayuda:

webpalm -h

Para sacar el árbol de URL de una web:

webpalm -u https://google.com -l1 –live

Y a partir de aquí es cuestión de ir probando todas las opciones y posibilidades de esta herramienta.