Pruebas Web en Kali con Burp Suite

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a realizar pruebas de seguridad de aplicaciones web utilizando Burp Suite dentro de un contenedor Kali Linux en el entorno de la máquina virtual (VM) de LabEx. La atención se centra en la configuración de Burp Proxy para interceptar el tráfico web, analizar las solicitudes HTTP/HTTPS, probar vulnerabilidades de Cross-Site Scripting (XSS) y generar informes detallados. Estos pasos prácticos le proporcionarán habilidades fundamentales para identificar y abordar problemas de seguridad en aplicaciones web.

Trabajará directamente en un shell de contenedor Kali Linux, que se configura automáticamente al abrir la terminal. A través de pasos estructurados, configurará herramientas, capturará tráfico, probará vulnerabilidades y documentará sus hallazgos. Este laboratorio está diseñado para principiantes, guiándolo a través de cada proceso en un entorno controlado para desarrollar habilidades prácticas de ciberseguridad.

Instalación y Ejecución de Burp Suite

En este primer paso, instalará y ejecutará Burp Suite, una poderosa herramienta para pruebas de seguridad de aplicaciones web, dentro del contenedor Kali Linux en el entorno de la máquina virtual (VM) de LabEx. Burp Suite le permite interceptar y analizar el tráfico web, lo cual es esencial para identificar vulnerabilidades en aplicaciones web.

Cuando abra la terminal en la VM de LabEx, se conectará automáticamente al shell del contenedor Kali Linux. No es necesario iniciar manualmente el contenedor ni entrar en el shell; el entorno ya está configurado para usted. Comencemos asegurándonos de que las herramientas necesarias estén instaladas y listas para usar.

Comience actualizando la lista de paquetes para asegurarse de tener la información más reciente sobre el software disponible. En la terminal, escriba el siguiente comando y presione Enter:

apt update

Este comando actualiza los datos del repositorio de paquetes. Puede tardar unos segundos en completarse y verá una salida que indica el progreso del proceso de actualización.

A continuación, instale Burp Suite Community Edition, que está disponible en los repositorios de Kali Linux. Escriba el siguiente comando y presione Enter:

apt install -y burpsuite

Este comando instala Burp Suite sin solicitar confirmación debido a la bandera -y. La instalación puede tardar uno o dos minutos, y verá una salida que muestra el progreso de la descarga e instalación.

Salida Esperada (parcial, la salida real puede variar):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up burpsuite (2023.10.3.7-0kali1) ...

Una vez que la instalación se complete, inicie Burp Suite escribiendo el siguiente comando y presionando Enter:

burpsuite

Esto abrirá la interfaz gráfica de usuario (GUI) de Burp Suite. Puede tardar unos segundos en cargarse. Cuando se le solicite, seleccione la opción predeterminada "Temporary Project" y haga clic en "Next" o "Start Burp" para continuar. Verá aparecer la ventana principal de Burp Suite.

Burp Suite ahora se está ejecutando, y en los siguientes pasos, lo configurará para interceptar el tráfico web. Mantenga la ventana de Burp Suite abierta mientras continúa. Este paso asegura que tenga la herramienta principal lista para las tareas de pruebas de seguridad web.

Configuración de los Ajustes del Proxy de Burp

Ahora que Burp Suite está instalado y en ejecución, el siguiente paso es configurar la configuración del proxy de Burp para interceptar el tráfico web. El proxy actúa como intermediario entre su navegador e Internet, lo que le permite capturar y analizar las solicitudes y respuestas HTTP/HTTPS. Esta es una configuración crítica para las pruebas de seguridad de aplicaciones web.

Para los principiantes, es importante comprender el papel de un proxy. Un proxy se encuentra entre su navegador y el sitio web de destino, interceptando todos los datos intercambiados. Esto le permite inspeccionar las solicitudes sin procesar enviadas por su navegador y las respuestas del servidor, lo que ayuda a identificar posibles problemas de seguridad.

Dado que ya está en el shell del contenedor Kali Linux (al que se accede automáticamente al abrir la terminal), procedamos a configurar la configuración del proxy directamente en la GUI de Burp Suite. Asegúrese de que Burp Suite todavía se esté ejecutando desde el paso anterior. Si no lo está, vuelva a iniciarlo escribiendo burpsuite en la terminal y presionando Enter.

En la ventana de Burp Suite, navegue a la pestaña "Proxy". Esta pestaña contiene la configuración para configurar cómo Burp Suite intercepta el tráfico. En la sección "Proxy Settings", asegúrese de que el proxy esté configurado para escuchar en 127.0.0.1:8080. Esta es la configuración predeterminada, lo que significa que Burp Proxy capturará el tráfico en su máquina local en el puerto 8080.

Si la configuración no está establecida en 127.0.0.1:8080, ajústela manualmente ingresando estos valores y haga clic en "Apply" si la opción está disponible. No modifique otras configuraciones en esta etapa.

Para confirmar que el proxy está activo, ejecute el siguiente comando en la terminal y presione Enter:

netstat -tuln | grep 8080

Salida Esperada (la salida real puede variar):

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN

Esta salida muestra que Burp Proxy está escuchando en el puerto 8080. Si no ve esta salida, asegúrese de que Burp Suite se esté ejecutando y que la configuración del proxy esté configurada correctamente.

Ahora ha configurado correctamente Burp Proxy para interceptar el tráfico web. Mantenga Burp Suite abierto con esta configuración mientras pasamos al siguiente paso, donde configurará un navegador para enrutar el tráfico a través de este proxy. Esta configuración es esencial para capturar y analizar las interacciones web en las tareas posteriores.

Configuración de Firefox para Usar el Proxy de Burp

Con Burp Proxy configurado, el siguiente paso es configurar un navegador web para enrutar su tráfico a través del proxy. Esto permite que Burp Suite capture y muestre todas las solicitudes y respuestas HTTP/HTTPS realizadas por el navegador. Para este laboratorio, utilizará Firefox, que se instalará y configurará dentro del contenedor Kali Linux.

Dado que ya está en el shell del contenedor Kali Linux (al que se accede automáticamente al abrir la terminal), comencemos instalando Firefox si aún no está disponible. Escriba el siguiente comando en la terminal y presione Enter para instalar Firefox:

apt install -y firefox-esr

Este comando instala la versión Extended Support Release (ESR) de Firefox, adecuada para su uso en Kali Linux. La instalación puede tardar unos momentos y verá una salida que indica el progreso.

Salida Esperada (parcial, la salida real puede variar):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up firefox-esr (102.10.0esr-1~deb11u1) ...

Una vez que Firefox esté instalado, inícielo escribiendo el siguiente comando en la terminal y presionando Enter:

firefox &

El símbolo & ejecuta Firefox en segundo plano, lo que le permite continuar usando la terminal. Se abrirá una ventana de Firefox en la interfaz gráfica de la VM de LabEx.

Ahora, configure Firefox para usar Burp Proxy. Siga estas instrucciones detalladas dentro de la ventana del navegador Firefox:

  1. Haga clic en el icono del menú (tres líneas horizontales) en la esquina superior derecha de Firefox.
  2. Seleccione Settings (Configuración) en el menú desplegable.
  3. Desplácese hacia abajo hasta la sección Network Settings (Configuración de red) en la pestaña General y haga clic en Settings... (Configuración...).
  4. En la ventana Connection Settings (Configuración de conexión), elija Manual proxy configuration (Configuración manual del proxy).
  5. Establezca el campo HTTP Proxy en 127.0.0.1 y el Port (Puerto) en 8080.
  6. Marque la casilla etiquetada Also use this proxy for HTTPS (Usar este proxy también para HTTPS).
  7. Deje los demás campos sin cambios y haga clic en OK para guardar la configuración.

Esta configuración asegura que todo el tráfico web de Firefox pase a través de Burp Proxy en 127.0.0.1:8080. Para verificar que todo funciona, navegue a un sitio web simple como http://example.com en Firefox escribiendo la URL en la barra de direcciones y presionando Enter.

Vuelva a la ventana de Burp Suite, vaya a la pestaña Proxy y seleccione la sub-pestaña HTTP history (Historial HTTP). Debería ver las solicitudes realizadas a example.com enumeradas allí. Si no aparece ninguna solicitud, actualice la página en Firefox y confirme que la configuración del proxy sea correcta.

Salida Esperada en Burp Suite (visual, no terminal):

Verá entradas en la pestaña HTTP history que muestran las solicitudes a example.com, con detalles como el host, el método (por ejemplo, GET) y la ruta de la URL.

Este paso completa la configuración del navegador para enrutar el tráfico a través de Burp Proxy. Mantenga tanto Firefox como Burp Suite abiertos mientras pasa al siguiente paso, donde utilizará esta configuración para capturar y analizar el tráfico web para las pruebas de seguridad.

Captura y Análisis del Tráfico Web

Habiendo configurado Firefox para usar Burp Proxy, ahora está listo para capturar y analizar el tráfico web. Este paso es crucial en las pruebas de seguridad de aplicaciones web, ya que le permite inspeccionar los datos sin procesar intercambiados entre su navegador y un sitio web, lo que ayuda a identificar posibles vulnerabilidades o configuraciones incorrectas.

Para los principiantes, capturar el tráfico web significa registrar las solicitudes que su navegador envía a un sitio web (como cargar una página) y las respuestas que el sitio web devuelve (como el contenido de la página). Burp Suite actúa como intermediario, mostrándole estos datos en detalle para que pueda examinar encabezados, parámetros y contenido en busca de problemas de seguridad.

Dado que está trabajando en el shell del contenedor Kali Linux (al que se accede automáticamente al abrir la terminal), asegúrese de que tanto Burp Suite como Firefox todavía se estén ejecutando desde los pasos anteriores. Si Burp Suite no se está ejecutando, vuelva a iniciarlo con burpsuite. Si Firefox no está abierto, inícielo con firefox &.

En Firefox, navegue a un sitio web de prueba como http://example.com escribiendo la URL en la barra de direcciones y presionando Enter. Esta acción envía solicitudes a través de Burp Proxy, que las captura para su análisis.

Cambie a la ventana de Burp Suite y vaya a la pestaña Proxy, luego seleccione la sub-pestaña HTTP history (Historial HTTP). Verá una lista de solicitudes realizadas por Firefox al sitio web. Cada entrada incluye detalles como el host, el método (por ejemplo, GET) y la ruta de la URL.

Seleccione cualquier solicitud relacionada con http://example.com haciendo clic en ella. Esto muestra dos paneles: Request (Solicitud) y Response (Respuesta). El panel Request muestra los datos enviados desde su navegador, incluidos los encabezados y parámetros. El panel Response muestra los datos devueltos por el sitio web, como el contenido HTML o los códigos de estado.

Salida Esperada en Burp Suite (visual, no terminal):

En la pestaña HTTP history, verá entradas como:

Al hacer clic en una entrada, se mostrarán los encabezados de solicitud detallados (como User-Agent) y el contenido de la respuesta (como el código HTML de la página).

Tómese un momento para explorar algunas solicitudes para comprender la estructura del tráfico web. Esta habilidad de capturar y analizar el tráfico es fundamental para identificar problemas de seguridad, sobre la cual se basará en el siguiente paso. Mantenga Burp Suite y Firefox abiertos con la configuración actual mientras procede a probar vulnerabilidades específicas.

Pruebas de Vulnerabilidades XSS

Con la captura de tráfico web configurada, ahora puede usar Burp Suite para probar las vulnerabilidades de Cross-Site Scripting (XSS). XSS es un problema común de seguridad web donde los atacantes inyectan scripts maliciosos en páginas web que luego se ejecutan en el navegador de un usuario. Este paso se centra en identificar posibles fallas de XSS mediante el envío de entradas de prueba y el análisis de respuestas.

Para los principiantes, XSS ocurre cuando una aplicación web no logra sanear la entrada del usuario, lo que permite que se inyecte y ejecute código dañino (como JavaScript). Hay diferentes tipos de XSS, pero aquí probará XSS reflejado, donde la entrada maliciosa se refleja inmediatamente en la respuesta del servidor sin ser almacenada.

Dado que está en el shell del contenedor Kali Linux (al que se accede automáticamente al abrir la terminal), asegúrese de que Burp Suite y Firefox todavía se estén ejecutando desde los pasos anteriores. Si no, vuelva a iniciarlos con burpsuite y firefox & respectivamente.

En Firefox, navegue a un sitio web de prueba que acepte la entrada del usuario, como un cuadro de búsqueda o un formulario. Para este laboratorio, si no se proporciona un sitio de prueba específico en la VM de LabEx, puede usar un sitio de prueba público como http://testphp.vulnweb.com si es accesible. Escriba la URL en la barra de direcciones de Firefox y presione Enter.

Una vez que la página se carga, ubique un campo de entrada, como una barra de búsqueda. Ingrese una cadena de prueba simple como test<xss> en el campo y envíe el formulario. Esta entrada es inofensiva, pero ayuda a verificar si la aplicación refleja la entrada sin sanearla.

Cambie a Burp Suite, vaya a la pestaña Proxy y seleccione la sub-pestaña HTTP history (Historial HTTP). Encuentre la solicitud correspondiente al envío de su formulario. Haga clic en ella para ver los detalles. En el panel Request (Solicitud), busque el parámetro donde se envió su entrada test<xss> (podría estar en un campo como search o query).

Luego, en el panel Response (Respuesta), busque su cadena de entrada test<xss>. Si ve la cadena exacta reflejada en la respuesta sin ser escapada (por ejemplo, no convertida a test&lt;xss&gt;), la aplicación podría ser vulnerable a XSS reflejado.

Salida Esperada en Burp Suite (visual, no terminal):

En el panel Response, si ve test<xss> tal cual en el contenido HTML, indica una posible vulnerabilidad. Si aparece como test&lt;xss&gt;, la entrada ha sido saneada, reduciendo el riesgo de XSS.

Si identifica una posible vulnerabilidad, haga clic con el botón derecho en la solicitud en la pestaña HTTP history y seleccione Add to site map (Agregar al mapa del sitio) para organizarla para informar en el siguiente paso. Este proceso de prueba de XSS mediante el envío de datos de prueba y el análisis de respuestas desarrolla sus habilidades en la evaluación de vulnerabilidades. Mantenga Burp Suite y Firefox abiertos mientras pasa al paso final.

Generación de un Informe de Burp Suite

En este paso final, generará un informe en Burp Suite para documentar sus hallazgos del análisis del tráfico web y las pruebas de vulnerabilidad XSS. La creación de un informe es una parte esencial de las pruebas de seguridad, ya que compila los problemas que ha identificado y proporciona una forma estructurada de revisar o compartir los resultados.

Para los principiantes, un informe de Burp Suite resume las vulnerabilidades u observaciones de su sesión de prueba. Incluye detalles como el tipo de problema, las URL afectadas y los datos de solicitud/respuesta asociados. Esta documentación es vital para rastrear las fallas de seguridad y planificar la remediación.

Dado que está en el shell del contenedor Kali Linux (al que se accede automáticamente al abrir la terminal), asegúrese de que Burp Suite todavía se esté ejecutando. Si no, vuelva a iniciarlo con burpsuite.

En la interfaz de Burp Suite, navegue a la pestaña Target (Objetivo) o a la pestaña Issues (Problemas) (dependiendo de la versión). Esta sección enumera cualquier vulnerabilidad que Burp Suite detectó automáticamente o los problemas que agregó manualmente. Si marcó un posible problema de XSS en el paso anterior agregándolo al mapa del sitio, puede aparecer aquí.

Si no se enumeran problemas, puede agregar uno manualmente para practicar. Vaya a la pestaña Proxy, seleccione una solicitud del HTTP history (Historial HTTP) donde probó XSS (por ejemplo, con la entrada test<xss>), haga clic con el botón derecho y elija Report issue (Informar problema) o Send to Issues (Enviar a problemas). Seleccione un tipo como Cross-site scripting (reflected) (Cross-site scripting (reflejado)) si está disponible, agregue una breve descripción como Potential XSS in input field (Posible XSS en el campo de entrada) y haga clic en OK.

Para generar el informe, en la pestaña Issues, haga clic en el botón Report (Informe) o busque Generate Report (Generar informe) en el menú. Siga estos pasos en el asistente de informes:

  1. Seleccione el formato como HTML para un formato legible.
  2. Elija incluir All issues (Todos los problemas) o los específicos si agregó alguno.
  3. Cuando se le solicite una ubicación para guardar, establezca la ruta en /root/xss_report.html dentro del contenedor Kali Linux.
  4. Haga clic en Next (Siguiente) o Finish (Finalizar) para guardar el informe.

Después de generar el informe, confirme que se guardó escribiendo el siguiente comando en la terminal y presionando Enter:

ls -l /root/xss_report.html

Salida Esperada (la salida real puede variar):

-rw-r--r-- 1 root root [size] [date] /root/xss_report.html

Esta salida confirma que el archivo xss_report.html existe en el directorio /root. Si el archivo no está allí, repita el proceso de generación del informe y asegúrese de que se especifique la ruta correcta.

Ahora ha creado con éxito un informe de Burp Suite que documenta los resultados de sus pruebas. Esto completa el laboratorio, brindándole experiencia práctica en pruebas de seguridad web utilizando herramientas esenciales en un entorno Kali Linux.

Resumen

En este laboratorio, ha aprendido los aspectos esenciales de las pruebas de seguridad de aplicaciones web utilizando Burp Suite dentro de un contenedor Kali Linux en el entorno de la VM de LabEx. Comenzó instalando y ejecutando Burp Suite, luego configuró el Burp Proxy para interceptar el tráfico web. Al configurar Firefox para enrutar el tráfico a través del proxy, capturó y analizó las solicitudes y respuestas HTTP/HTTPS. También probó las vulnerabilidades XSS enviando entradas de prueba y examinando las respuestas del servidor. Finalmente, generó un informe detallado para documentar sus hallazgos. Estos pasos le han proporcionado habilidades prácticas para identificar y abordar problemas de seguridad web utilizando herramientas estándar de la industria.