Es muy difícil para un bug bounty hunter o un Pentester de aplicaciones web recordar todos los códigos o buscar diferentes payloads (cargas útiles) en Google. Entonces, ¿qué pasa si podemos obtener todas las payloads en un solo lugar para que no tengas que saltar de un sitio a otro?
Para ello, contamos con una gran extensión llamada HackTools que nos proporciona una hoja de trucos que es muy útil en la realización de pruebas de penetración web. Así que, empecemos a explorar todas las funcionalidades que nos proporciona esta extensión para Firefox.
Tabla de Contenido
- Configuración de la Extensión
- Explorando la extensión HackTools
- Reverse Shell
- PHP Reverse Shell
- TTY Spawn Shell
- Useful Linux command for your Penetration Testing
- Powershell handy commands
- File transfer
- Local File Inclusion (LFI)
- Cross-Site Scripting
- SQL Injection
- Base64 Encoder/Decoder
- Hash Generator
- Hexadecimal Encoder/Decoder
- MSF Venom Builder
- Exploit feed RSS
- Conclusión
- Configuración de la Extensión
- Explorando la extensión HackTools
- Reverse Shell
- PHP Reverse Shell
- TTY Spawn Shell
- Useful Linux command for your Penetration Testing
- Powershell handy commands
- File transfer
- Local File Inclusion (LFI)
- Cross-Site Scripting
- SQL Injection
- Base64 Encoder/Decoder
- Hash Generator
- Hexadecimal Encoder/Decoder
- MSF Venom Builder
- Exploit feed RSS
- Conclusión
Configuración de la Extensión
La extensión HackTools está disponible tanto para Google Chrome como para Mozilla Firefox. Puedes simplemente visitar el sitio web de la extensión o añadir desde la tienda del navegador, buscando HackTools para agregar. Vamos a obtener este Add-on en nuestro navegador. Para Firefox, visita el siguiente enlace y luego haz clic en el botón de Add to Firefox:

Después de esto, verás que la extensión se ha añadido a Firefox.

Del mismo modo, puedes obtener esta extensión en tu Google Chrome haciendo clic aquí. Si estás interesado en ver su código fuente, entonces:
HackTools (este enlace se abre en una nueva ventana) por LasCC (este enlace se abre en una nueva ventana)
The all-in-one browser extension for offensive security professionals 🛠
Explorando la extensión HackTools
Hay varios servicios proporcionados por esta extensión. Cuando abras la extensión, verás que hay varias opciones presentes en el lado izquierdo de la extensión. Vamos a buscar cuáles de ellas pueden ser útiles y cuándo.

Las funcionalidades proporcionadas son:
- Reverse Shell
- Php Reverse Shell
- TTY Spawn Shell
- Useful Linux Command
- PowerShell Handy Commands
- File Transfer
- Local File Inclusion
- Cross-Site Scripting
- SQL Injection
- Base64 Encoder/Decoder
- Hash Generator
- Hexadecimal Encoder/Decoder
- Exploit Feed RSS
- MSF Venom Builder
Reverse Shell
Cuando abras la extensión, se te presentará el Reverse Shell. En esto, hay varias reverse shells presentes para diferentes sistemas. Puedes utilizar la payload basada en el lenguaje (programación) utilizado por la página web o por el sistema operativo utilizado por su servidor.
Veamos ahora cómo podemos utilizar un exploit para obtener una shell inversa de la máquina Ubuntu en una máquina Kali Linux.

En esto, he introducido la IP de la máquinas Kali y el puerto que vamos a utilizar para escuchar y obtener la shell inversa. Vamos a copiar este comando bash que voy a pegar en mi máquina Ubuntu . En primer lugar, vamos a iniciar un oyente Netcat en la máquina Kali.

nc -lvp 443
Ahora, nuestro oyente Netcat está en marcha. Vamos a pegar el código de shell inversa (reverse shell) en la Terminal de Ubuntu y pulsar la tecla Intro.

Ahora vamos a echar un vistazo a nuestro oyente Netcat. Vemos que hemos obtenido con éxito el shell en la máquina Kali Linux.

PHP Reverse Shell
La segunda opción presente en hacktool es Php Reverse Shell. Es una opción importante ya que la mayoría de los servidores soportan PHP y si hay una carga de archivos sin restricciones, entonces puedes cargar tu shell inversa PHP. Usando este shell, puedes obtener tu terminal en tu PC desde donde puedes obtener información crucial. Echemos un vistazo a cómo podemos utilizarlo para un ataque real.
Arranca tu aplicación vulnerable bWAPP y navega a la sección Unrestricted File Upload manteniendo el nivel de seguridad bajo (low).

Ahora vamos a descargar un payload desde la opción de shell inversa de PHP estableciendo la IP de nuestra máquina y el puerto en el que vamos a escuchar.

Luego descargaremos el shell inverso de Pentestmonkey en nuestro PC y guardaremos el archivo.
Ahora comenzaremos a escuchar en el puerto que especificamos usando Netcat en mi máquina Parrot OS.
nc -lvp 1337
Ahora navegaremos por nuestra web vulnerada y haremos clic en Upload.

Una vez cargado el archivo, tendremos que pulsar en here, lo que hará que aparezca una nueva pestaña.
Ahora obtendremos una shell inversa en nuestra máquina Parrot OS y escribiremos w
para ver los usuarios y podemos estar seguros de que tenemos una shell inversa de bWAPP en nuestra máquina.

Tenemos un payload más llamado Web Shell que descargaremos en nuestro PC.

Una vez descargado el archivo PHP subiremos la shell como hicimos en el caso anterior, y luego haremos clic en here (después de subirla), y se abrirá una nueva pestaña en la que tenemos una shell. Escribiremos w
para imprimir los usuarios de la shell.

TTY Spawn Shell
TTY significa TeleTypewriter. Sucede muchas veces que tienes un shell, pero no eres capaz de interactuar con él o te enfrentas a un problema al interactuar con él, así que para ese propósito, podemos generar un shell TTY para interactuar con el shell más fácilmente. Veamos como podemos obtener el shell TTY en nuestro shell ya capturado.
En primer lugar, vamos a copiar nuestra carga útil de la extensión

Ahora pegaremos este comando en nuestra shell inversa y veremos que hemos conseguido una shell TTY con éxito.

Useful Linux command for your Penetration Testing
Cuando tienes un shell inverso o sabes que la inyección de comandos del sistema operativo es posible y el servidor es Linux, entonces puedes utilizar esta extensión que nos proporciona los comandos de Linux útiles que pueden ayudar en la obtención de alguna información crucial.
Veamos algunos comandos útiles de Linux para atacar. Así que, enciende tu bWAPP de nuevo y elige la sección OS Command injection con el nivel de seguridad establecido en bajo (low).
Obtendremos la página que se muestra a continuación y haremos clic en lookup para ver cuál es la salida normal:

Ahora comprobaremos si el servidor es Linux o no, para lo cual escribiremos ;ls

Después de presionar el botón de búsqueda, encontramos que fuimos capaces de listar los archivos que están presentes en el servidor. Así que por esto, podemos ver que el comando después del metacarácter ;
, se está ejecutando. Así que esto nos dice que la inyección de comandos del sistema operativo es posible y el servidor está usando Linux.
Con esto, tenemos claro que la inyección de comandos del sistema operativo es posible. Por lo tanto, vamos a utilizar algunos comandos de Linux para obtener información sobre el host. Copiaremos el siguiente comando.

Ahora introduciremos el comando como ;cat /etc/*-release
y haremos clic en Lookup
, y nos daremos cuenta de que hemos conseguido en qué versión está operando esta aplicación web.

Ahora vamos a intentar obtener la versión del kernel copiando el siguiente comando.

Insertaremos el comando en el campo como ;uname -a
y haremos clic en Lookup y obtendremos la siguiente salida del mismo.

Powershell handy commands
Al igual que los comandos de Linux también hay una opción para los comandos de Windows PowerShell. Si tienes el control del CMD entonces puedes usar esta opción para sacar información crucial como información del sistema, enumeración de WLAN, descarga HTTP, enumeración del directorio activo. En resumen, contiene todos los comandos que se requieren para profundizar en el PowerShell para obtener información crucial.

File transfer
Hay varios métodos presentes que pueden ser usados para subir o descargar un archivo a la máquina remota. Sigue el enlace anterior para ver un ejemplo sobre esto.
Local File Inclusion (LFI)
Mediante la vulnerabilidad de inclusión de archivos locales (Local File Inclusion), un atacante intenta engañar a la aplicación web mediante la inclusión de archivos que están presentes localmente en el servidor. Esta vulnerabilidad existe cuando el archivo PHP contiene funciones como “include“, “require“, “include_once“, “require_once“. Ahora veremos la explotación de LFI usando HackTools. Hagamos una práctica de LFI para la cual necesitamos bWAPP con Remote & Local File Inclusion (RFI/LFI) cuyo nivel de seguridad es bajo.
Haremos clic en Go y entonces observaremos en la URL que tenemos el lenguaje como un campo explotable. El lenguaje (language=lang=en
) es un campo explotable ya que el archivo PHP exacto se reflejó en la URL que nos dio una idea de que podemos engañar a la aplicación web para mostrarnos algunos archivos internos presentes en su servidor.

Elegiremos una carga útil de LFI en la opción presente en HackTools.

Ahora vamos a copiar y pegar esto en la URL como se muestra a continuación y pulsa Intro y obtendrás el resultado de la siguiente manera. En el campo, tenemos el nombre del servidor que es parrot para este caso.

Cross-Site Scripting
El Cross-Site Scripting, a menudo abreviado como “XSS“, es un ataque de inyección de código del lado del cliente en el que se inyectan scripts maliciosos en sitios web de confianza. El XSS se produce en aquellas aplicaciones web en las que los parámetros de entrada no están correctamente validados, lo que permite a un atacante enviar códigos JavaScript maliciosos a un usuario final diferente. Así, HackTools nos proporciona una opción para explotar esta vulnerabilidad.
Vamos a realizar la explotación en XSS-Reflected (GET) en nuestra aplicación bWAPP con el nivel de seguridad establecido en medio (medium).
Escribiremos el nombre y el apellido, y luego haremos clic en Go y observaremos la salida por defecto.

Ahora vamos a utilizar una carga útil de HackTools

Ahora pegaremos este payload en el campo First name mientras mantenemos el campo Last name sin cambios, pulsaremos Go.

Observaremos que nos aparece un popup diciendo XSS.
SQL Injection
SQL es un lenguaje que se utiliza para comunicarse con la base de datos. La inyección SQL consiste en inyectar consultas SQL en una aplicación web para engañarlas y revelar los datos almacenados en la base de datos. En esta extensión, hay una opción para la inyección SQL.
Ahora vamos a echar un vistazo a cómo podemos utilizar HackTools para SQLi.
Usaremos vulnweb para este propósito. Puede acceder a este laboratorio haciendo clic aquí

Ahora seleccionaremos un payload del plugin HackTools como se puede ver en la siguiente imagen.

Ahora pegaremos este payload en el campo de username y password, y luego presionaremos Login

¡¡¡Hurra!!! Hemos entrado con éxito en la cuenta.

Base64 Encoder/Decoder
Ya conocerás que hay muchos lugares donde la codificación base64 se utiliza, incluso algunos scripts compartidos aquí, están codificados en base64. La extensión HackTools tiene incorporado el codificador y decodificador base64 para ayudarte a codificar o decodificar una cadena/string de inmediato en lugar de ir a otras herramientas online.

Hash Generator
Los hash se suelen utilizar para comprobar si el archivo que tenemos es el mismo o está alterado. Ayuda a mantener la integridad de un archivo. Esta extensión nos permite comprobar hashes MD5, hashes SHA256, hashes SHA1, hashes SHA512 y hashes SM3.

Hexadecimal Encoder/Decoder
Esta extensión también proporciona una opción para convertir una cadena hexadecimal en una cadena normal o de una cadena normal a una cadena hexadecimal.

MSF Venom Builder
Construye rápidamente comandos msfvenom usando HackTools. Selecciona de una lista de cargas útiles, encoders, plataformas y más.

Exploit feed RSS
Contiene los sitios web desde los que se pueden buscar vulnerabilidades, exploits para servicios, artículos de seguridad, etc. para poder dirigir el ataque de forma más efectiva.

Conclusión
Esta extensión nos proporciona las hojas de trucos de varios posibles ataques a aplicaciones web. Junto con las hojas de trucos que nos proporciona las shells que se pueden utilizar sin siquiera saber lo que está dentro de esa carga útil para llevar a cabo el ataque.
Esta herramienta es útil si estamos probando en el nivel básico, pero si vamos a utilizar esta extensión para el nivel avanzado, entonces debes tener algún conocimiento interno de cómo está funcionando y lo que se necesita cambiar para que funcione. También proporciona varios codificadores y decodificadores que te ayudarán a codificar y decodificar las cadenas sin ir a cualquier otro sitio o hacer uso de cualquier otra herramienta.
Esta publicación está inspirada en el artículo original de Naman Kumar, un entusiasta de la ciberseguridad que está tratando de obtener algunos conocimientos en el campo de la ciberseguridad. (Le agradecemos el permiso concedido para publicar su artículo al idioma español)