¿Conoces cuál es la diferencia entre fuzzing y crawling? ¿Y para qué se utilizan estas técnicas en ciberseguridad?
El hacking web es uno de los servicios más demandados de la ciberseguridad, ya que prácticamente todas las compañías y organizaciones necesitan tener un sitio web seguro. Por eso, si te interesan los tests de penetración, es importante saber cómo realizarlos en aplicaciones web.
Al igual que en el pentesting de sistemas, el primer paso para hacer una auditoría de seguridad en una aplicación web es recolectar toda la información posible sobre esta página. Esto se conoce como reconocer la superficie de ataque, que es el conjunto de elementos con posibles fallos de seguridad.
En hacking web, la superficie de ataque externa de una aplicación se compone por todos sus subdominios y subdirectorios, ya que en ellos podemos encontrar vulnerabilidades o datos sensibles indexados por error.
Para esto, se utilizan técnicas de automatización, conocidas como fuzzing y crawling, que permiten determinar la superficie de ataque de una aplicación.
En este post, hablaremos sobre estos dos métodos de recolección de información sobre aplicaciones web. A continuación, te explicaremos la diferencia entre fuzzing y crawling.
Diferencia entre fuzzing y crawling
Fuzzing
Para entender la diferencia entre fuzzing y crawling, iniciaremos por el concepto de fuzzing.
🔴 ¿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 semanaEl fuzzing web consiste en encontrar subdominios de una aplicación por medio de técnicas de fuerza bruta. El término fuerza bruta en informática se refiere automatizar pruebas de ensayo y error hasta encontrar los valores correctos de un conjunto de datos, como, por ejemplo, un subdominio.
Los web fuzzers realizan una petición DNS para cada posible dominio, en la cual se le indica al servidor que regrese su dirección IP. Si devuelve el valor de la dirección IP, quiere decir que el subdominio existe. De lo contrario, significa que no.
Estos fuzzers funcionan con diccionarios, es decir, listas de palabras comúnmente utilizadas en subdominios de aplicaciones. De este modo, optimizan su investigación. Algunos de los fuzzers más utilizados son:
- MassDNS.
- Dirb.
- Ffuf.
Para hacer un web fuzzing o una fuerza bruta de subdominios es necesario contar con la autorización del dueño de la aplicación. Una buena manera de practicar esta técnica es ejecutarla en aplicaciones web dadas de alta por programas de bug bounty.
Crawling
Ya hemos visto en qué consiste la técnica de fuerza bruta de subdominios. Ahora, para entender la diferencia entre fuzzing y crawling, explicaremos en qué consiste el segundo método.
El crawling es una técnica de recolección de información que sirve para identificar todos los subdirectorios relacionados con una aplicación web. También se conoce bajo el término de spidering y es la misma operación que realizan los robots de Google para indexar subdirecciones de una aplicación.
Los programas de crawling automatizan la visita a todos los links de una página web y la exploran por completo. Algunas de las herramientas más utilizadas para implementar esta técnica son:
- Brup Suite (versión completa).
- OWASP Amass.
Ya has aprendido la diferencia entre fuzzing y crawling. Si quieres saber más sobre técnicas de hacking web, ingresa a nuestro Ciberseguridad Full Stack Bootcamp y descubre cómo convertirte en todo unespecialista en tan solo 7 meses. ¡Pide información y cambia tu futuro ahora!