Hacktool Extensión Firefox para Pentesting con Ejemplos
Hacktool Extensión Firefox para Pentesting con Ejemplos

HackTools: Extensión Firefox para Pentesting con Ejemplos de Uso

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.

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:

Añadir Extensión Hacktool a Firefox
Añadir Extensión HackTools a Firefox

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

Interfaz principal de Hacktool
Interfaz principal de HackTools

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:

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.

Opciones disponibles en HackTools
Opciones disponibles en HackTools

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.

Reverse shell con Hacktool
Reverse shell con HackTools

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.

Oyente con Netcat
Oyente con Netcat
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.

Ejecución de shell inversa
Ejecución de shell inversa

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

Reverse Shell desde Kali Linux
Reverse Shell desde 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).

Opción unrestricted file upload en bWAPP
Opción unrestricted file upload en bWAPP

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.

Shell Inverso con PHP
Shell Inverso con PHP

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.

Subir archivo en bWAPP
Subir archivo en bWAPP

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.

Shell inversa de bWAPP
Shell inversa de bWAPP

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

Descargar Web Shell de HackTools
Descargar Web Shell de HackTools

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.

Web Shell de bWAPP
Web Shell de bWAPP

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

Código para Python spawn shell
Código para Python spawn shell

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

Obtener una shell TTY
Obtener una shell TTY

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:

Herramienta de OS Command injection
Herramienta de OS Command injection

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

Comprobar sistema operativo con bWAPP
Comprobar sistema operativo con bWAPP

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.

Comandos Linux para Pentesting
Comandos Linux para Pentesting

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.

Identificar sistema operativo bWAPP
Identificar sistema operativo con bWAPP

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

Comandos Linux en HackTools
Comandos Linux en HackTools

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

Comando uname con bWAPP
Comando uname con bWAPP

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.

Comandos prácticos de PowerShell
Comandos prácticos de PowerShell

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.

Herramienta de Remote & Local File Inclusion

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

Comandos para RFI-LFI de HackTools
Comandos para RFI-LFI de 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.

Herramienta de OS Command injection
Herramienta de OS Command injection

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.

Explotación XSS-Reflected con HackTools
Explotación XSS-Reflected con HackTools

Ahora vamos a utilizar una carga útil de HackTools

Payload XSS-Reflected (GET) con HackTools
Payload XSS-Reflected (GET) con HackTools

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

Ataque XSS reflejado (GET)
Ataque XSS reflejado (GET)

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í

SQLi con vulnweb
SQLi con vulnweb

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

Payload SQLi en Hacktool
Payload SQLi en HackTools

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

Payload de SQLi
Payload de SQLi

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

Ejemplo de ataque SQLi
Ejemplo de ataque SQLi

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.

Codificador y Decodificador base64
Codificador y Decodificador base64

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.

Generador de Hashes
Generador de Hashes

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.

Codificador y Decodificador Hexadecimal
Codificador y Decodificador Hexadecimal

MSF Venom Builder

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

Herramienta MSF Venom Builder
Herramienta MSF Venom Builder

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.

Feeds RSS de Exploits
Feeds RSS de Exploits

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)

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda
Más artículos
Identificar System V, Upstart, Systemd
Cómo saber si un sistema usa System V, Upstart, Systemd