Mapeo de una aplicación web

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 4 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Cómo y para qué se hace el mapeo de una aplicación web en una auditoría de seguridad?

El hacking web es uno de los servicios más demandados de la ciberseguridad, porque la mayoría de compañías necesitan un sitio web para participar del mercado y comunicarse con sus clientes. Cada vez más transacciones financieras y confidenciales se hacen por medio de las plataformas web y, por lo tanto, la ciberseguridad en este ámbito se ha convertido en un factor imprescindible.

Un poco de contexto

La primera fase de un test de penetración a un sitio web se conoce como recopilación de información. Como su nombre indica, se trata de reunir la mayor cantidad posible de datos relacionados con la aplicación. Existen dos tipos de recolección de información para pentesting: pasiva y activa. La primera no es invasiva ni requiere interacción directa con la página web; la segunda sí lo requiere y, por tanto, deja rastro en los servidores de la aplicación.

Tanto la recolección de datos pasiva como la activa se utilizan para reconocer la superficie de ataque de una página web. Es decir, todos los elementos en los cuales se podrían encontrar fallos de seguridad. En pentesting, la principal misión es hallar estas vulnerabilidades y explotarlas para medir su alcance. Entonces, delimitar las superficie de ataque es de gran importancia para el hacking.

En este post, hablaremos sobre los tres métodos más comunes para hallar la superficie de ataque de un sitio web en una auditoría de ciberseguridad. A continuación, te explicaremos cómo hacer un el mapeo de una aplicación web y por qué es tan importante esta tarea a la hora de hacer un pentest.

Mapeo de una aplicación web

La superficie de ataque de una página web está compuesta por todos sus subdirectorios y subdominios relacionados. Esto quiere decir que, en estas ubicaciones, un atacante podría encontrar vulnerabilidades y explotarlas para llevar a cabo tareas dañinas en la aplicación.

A continuación, te explicaremos tres métodos para realizar el mapeo de una aplicación web. Así, aprenderás a delimitar una superficie de ataque de manera completa, antes de identificar posibles fallos de seguridad.

Navegación manual

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

La navegación manual a través de las páginas del sitio es un método perfectamente válido y muy común para hacer el mapeo de una aplicación web. Una de las preguntas que surgen al realizar este tipo de análisis es si se trata de una recolección pasiva o activa de la aplicación. Después de todo, estaríamos realizando peticiones directamente a su servidor.

Ahora bien, esto depende. La navegación por el sitio web se puede hacer de manera anónima, por medio de diferentes métodos. Uno de ellos es utilizar una red privada virtual (VPN). Otra opción sería utilizar una sandbox para páginas web, como Browserling.

Además, ten en cuenta que, si se trata de un sitio web muy grande, sería imposible rastrear cada petición de cada cliente. A pesar de que hay una interacción directa con el sitio, la navegación manual no suele dejar un rastro reconocible.

Crawling

La navegación manual es útil, pero tiene sus limitaciones. Por eso, también necesitarás herramientas que permitan hacer el mapeo de una aplicación web de forma automática.

El crawiling es una técnica que sirve para automatizar el hallazgo de todos los subdirectorios activos de un sitio web. Esta técnica consiste en visitar todos los links internos de una página y explorarla de manera automática, como si lo estuviese haciendo un humano de forma manual.

Sin embargo, los programas de crawling listan de manera automática todos los subdirectorios encontrados. De este modo, es posible hallar si en uno de ellos existe alguna vulnerabilidad, como datos sensibles mal almacenados o versiones de software desactualizadas.

Algunos programas que permiten hacer crawling para identificar la superficie de ataque de un sistema son:

Fuzzing web

El fuzzing web es una técnica que se utiliza para encontrar los subdominios de una página web, por medio de ataques de fuerza bruta. Esto quiere decir que el fuzzing web consiste en automatizar pruebas de ensayo y error hasta encontrar la mayor cantidad de nombres de subdominios activos de una aplicación.

Los subdominios son aplicaciones web en segundo nivel, que se encuentran subordinadas la página web principal. Sin embargo, pueden contar con tecnologías totalmente distintas y, por lo tanto, presentar fallos de seguridad.

El fuzzing de dominios implica enviarle una gran cantidad de peticiones a los servidores de la página web. Por eso, debe realizarse con el permiso de los propietarios de la aplicación. Algunas herramientas que permiten hacer fuzzing web son:

  • MassDNS.
  • Dirb.
  • Ffuf.

¿Cómo aprender más?

Ahora ya conoces los tres métodos más utilizados para el mapeo de una aplicación web en ciberseguridad. Si quieres aprender más sobre técnicas y herramientas de hacking web, en KeepCoding encontrarás el curso intensivo ideal para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un experto en este sector en tan solo 7 meses. ¡No sigas esperando e inscríbete ya!

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado