Fundamentos de Hacking Web

Este enfoque sobre los fundamentos del hacking web esta constituido de cuatro fases, las cuales abarcan todas las tareas necesarias a realizar durante un ataque; reconocimiento, escaneo, explotación, y arreglos. Es apropiado presentar y discutir como estas vulnerabilidades y ataques pueden ser mitigadas, es por ello la inclusión de una fase para los arreglos. Como un profesional en pruebas de penetración o hacking ético, se tienen muchas preguntas después de los hechos, sobre como solucionar o arreglar las vulnerabilidades descubiertas. El considerar la inclusión de la fase sobre los arreglos, es un recurso importante para ayudar a responder estas preguntas.

Los Objetivos

Este enfoque fundamental tiene tres objetivos separados con vectores de ataque relacionados; el servidor web, la aplicación web, y el usuario web.

  • Servidor Web:La aplicación funcionando sobre un sistema operativo, el cual hospeda la aplicación web. No se habla del hardware tradicional de computadoras, sino de los servicios funcionando en puertos abiertos, los cuales permiten a una aplicación web ser alcanzada por los navegadores web de los usuarios. Este servidor web puede ser vulnerable a intentos de hacking a través de la red, atacando estos servicios para ganar acceso no autorizado hacia la estructura y sistema de archivos del servidor web.
  • Aplicación Web: El código fuente actual ejecutándose sobre el servidor web, el cual proporciona la funcionalidad para los usuarios web interactúen con el objetivo más popular para los atacantes maliciosos. La aplicación web puede ser susceptible a una vasta colección de ataques, las cuales intentan realizar acciones no autorizadas dentro de la aplicación web.
  • Usuario Web: Los usuarios internos quienes manejan la aplicación web (administradores y programadores), además de los usuarios externos (clientes humanos o proveedores) de la aplicación web, son potenciales objetivos de ataque. Existen vulnerabilidades de Cross-Site Scripting (XSS) o Cross-Site Request Forgery (CSRF) en la aplicación web, los cuales generan muchos dolores de cabeza. Los ataques técnicos de ingeniería social contra los usuarios web, y el basarse sobre vulnerabilidades no existentes en la aplicación web también se incluyen aquí.

Las vulnerabilidades, “exploits”, y “payloads”, son únicos para cada uno de los objetivos, de tal manera se necesitan técnicas y herramientas para atacarlas eficientemente.

Herramientas

Por cada herramienta conocida, probablemente existan otras cinco herramientas las cuales puedan realizar un trabajo similar. Estas herramientas frecuentemente son de fácil utilización para principiantes, pero no se utilizan por esta característica, sino por ser herramientas fundamentales para virtualmente todos los profesionales en pruebas de penetración, quienes lo utilizan regularmente. Algunas de estas herramientas son:

  • Zed Attack Proxy: Es la herramienta por excelencia del mundo open source para pruebas de penetración contra aplicaciones web. Entre sus diversas características y funcionalidades incluye un escaner de vulnerabilidades para aplicaciones web.
  • Burp Suite: Aunque tiene una versión libre, es una herramienta comercial de pago. Es una poderosa herramienta, con una amplia diversidad de características. Siendo ampliamente aceptada por la comunidad.
  • Nmap, Nikto, OpenVAS, Metasploit: Herramientas tradicionales para pruebas de penetración o hackig ético.
  • SQLMap, John The Ripper, Social Enginieering Toolkit (SET): Herramientas para roles específicos.

Fuentes:

https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
https://cirt.net/Nikto2
http://sqlmap.org/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Resumen de mi CV: http://www.reydes.com/d/?q=node/1