EITC/IS/WAPT Web Applications Penetration Testing es el programa europeo de certificación de TI sobre los aspectos teóricos y prácticos de las pruebas de penetración de aplicaciones web (piratería blanca), incluidas varias técnicas para el rastreo de sitios web, técnicas de escaneo y ataque, incluidas herramientas y conjuntos de pruebas de penetración especializadas. .
El plan de estudios de las pruebas de penetración de aplicaciones web EITC/IS/WAPT cubre la introducción a Burp Suite, web spridering y DVWA, pruebas de fuerza bruta con Burp Suite, detección de firewall de aplicaciones web (WAF) con WAFW00F, alcance de destino y spidering, descubrimiento de archivos ocultos con ZAP, exploración de vulnerabilidades de WordPress y enumeración de nombres de usuario, exploración del equilibrador de carga, secuencias de comandos entre sitios, XSS reflejado, almacenado y DOM, ataques de proxy, configuración del proxy en ZAP, ataques de archivos y directorios, descubrimiento de archivos y directorios con DirBuster, práctica de ataques web , OWASP Juice Shop, CSRF: falsificación de solicitudes entre sitios, recopilación de cookies e ingeniería inversa, atributos HTTP: robo de cookies, inyección de SQL, DotDotPwn: fuzzing transversal de directorio, inyección de iframe e inyección de HTML, exploit Heartbleed: descubrimiento y explotación, inyección de código PHP, bWAPP: inyección de HTML, POST reflejado, inyección de comandos del sistema operativo con Commix, el lado del servidor incluye inyección de SSI, pentesting en Docker, OverTheWire Natas, LFI e inyección de comandos, piratería de Google para pentesting, Google Dorks para pruebas de penetración, Apache2 ModSecurity, así como Nginx ModSecurity, dentro de la siguiente estructura, que abarca contenido didáctico de video integral como referencia para esta Certificación EITC.
La seguridad de aplicaciones web (a menudo denominada Web AppSec) es el concepto de diseñar sitios web para que funcionen normalmente incluso cuando son atacados. La idea es integrar un conjunto de medidas de seguridad en una aplicación web para proteger sus activos de agentes hostiles. Las aplicaciones web, como todo software, son propensas a fallas. Algunas de estas fallas son vulnerabilidades reales que pueden explotarse, lo que representa un riesgo para las empresas. Tales fallas están protegidas a través de la seguridad de la aplicación web. Implica el empleo de enfoques de desarrollo seguros y la implementación de controles de seguridad a lo largo del ciclo de vida del desarrollo de software (SDLC), asegurando que se aborden las fallas de diseño y los problemas de implementación. Las pruebas de penetración en línea, que llevan a cabo expertos que tienen como objetivo descubrir y explotar las vulnerabilidades de las aplicaciones web utilizando el llamado enfoque de piratería blanca, es una práctica esencial para permitir una defensa adecuada.
Una prueba de penetración web, también conocida como prueba de penetración web, simula un ataque cibernético en una aplicación web para encontrar fallas explotables. Las pruebas de penetración se utilizan con frecuencia para complementar un firewall de aplicaciones web en el contexto de la seguridad de aplicaciones web (WAF). Las pruebas de penetración, en general, implican intentar penetrar en cualquier número de sistemas de aplicaciones (por ejemplo, API, servidores front-end/back-end) para encontrar vulnerabilidades, como entradas no desinfectadas que son vulnerables a ataques de inyección de código.
Los resultados de la prueba de penetración en línea se pueden utilizar para configurar las políticas de seguridad de WAF y abordar las vulnerabilidades descubiertas.
La prueba de penetración consta de cinco pasos.
El procedimiento de prueba de penetración se divide en cinco pasos.
- Planificación y exploración
Definir el alcance y los objetivos de una prueba, incluidos los sistemas que se abordarán y las metodologías de prueba que se utilizarán, es la primera etapa.
Para obtener una mejor comprensión de cómo funciona un objetivo y sus posibles debilidades, recopile información (p. ej., red y nombres de dominio, servidor de correo). - Escaneado
La siguiente etapa es averiguar cómo reaccionará la aplicación de destino ante diferentes tipos de intentos de intrusión. Esto generalmente se logra empleando los siguientes métodos:
Análisis estático: examinar el código de una aplicación para predecir cómo se comportará cuando se ejecute. En una sola pasada, estas herramientas pueden escanear todo el código.
El análisis dinámico es el proceso de inspeccionar el código de una aplicación mientras está en funcionamiento. Este método de exploración es más práctico porque proporciona una vista en tiempo real del rendimiento de una aplicación. - Obtener acceso
Para encontrar las debilidades de un objetivo, este paso emplea ataques de aplicaciones web, como secuencias de comandos entre sitios, inyección de SQL y puertas traseras. Para comprender el daño que pueden causar estas vulnerabilidades, los evaluadores intentan explotarlas escalando privilegios, robando datos, interceptando tráfico, etc. - Mantener el acceso
El propósito de esta etapa es evaluar si la vulnerabilidad se puede explotar para establecer una presencia a largo plazo en el sistema comprometido, lo que permite que un mal actor obtenga un acceso profundo. El objetivo es imitar amenazas persistentes avanzadas, que pueden permanecer en un sistema durante meses para robar la información más confidencial de una empresa. - ECONOMÉTRICOS
Luego, los resultados de la prueba de penetración se incluyen en un informe que incluye información como:
Vulnerabilidades que fueron explotadas en detalle
Datos que se obtuvieron que eran sensibles
La cantidad de tiempo que el pen tester pudo pasar desapercibido en el sistema.
Los expertos en seguridad utilizan estos datos para ayudar a configurar la configuración WAF de una empresa y otras soluciones de seguridad de aplicaciones para parchear las vulnerabilidades y evitar más ataques.
Métodos de prueba de penetración.
- Las pruebas de penetración externas se centran en los activos de una empresa que son visibles en Internet, como la propia aplicación web, el sitio web de la empresa, así como el correo electrónico y los servidores de nombres de dominio (DNS). El objetivo es obtener acceso y extraer información útil.
- Las pruebas internas implican que un evaluador tenga acceso a una aplicación detrás del firewall de una empresa que simula un ataque interno hostil. No es necesaria una simulación de empleado deshonesto. Un empleado cuyas credenciales se obtuvieron como resultado de un intento de phishing es un punto de partida común.
- La prueba a ciegas es cuando a un probador simplemente se le proporciona el nombre de la empresa que se está probando. Esto permite a los expertos en seguridad ver cómo podría desarrollarse un ataque a una aplicación real en tiempo real.
- Prueba doble ciego: en una prueba doble ciego, los profesionales de la seguridad desconocen el ataque simulado de antemano. No tendrán tiempo de apuntalar sus fortificaciones antes de un intento de ruptura, como en el mundo real.
- Pruebas dirigidas: en este escenario, el probador y el personal de seguridad colaboran y realizan un seguimiento de los movimientos de los demás. Este es un excelente ejercicio de capacitación que brinda al equipo de seguridad retroalimentación en tiempo real desde la perspectiva de un hacker.
Firewalls de aplicaciones web y pruebas de penetración
Las pruebas de penetración y los WAF son dos técnicas de seguridad separadas pero complementarias. Es probable que el probador aproveche los datos WAF, como los registros, para encontrar y explotar las áreas débiles de una aplicación en muchos tipos de pruebas de penetración (con la excepción de las pruebas ciegas y doble ciego).
A su vez, los datos de las pruebas de penetración pueden ayudar a los administradores de WAF. Después de completar una prueba, las configuraciones de WAF se pueden modificar para proteger contra las fallas detectadas durante la prueba.
Finalmente, la prueba de penetración cumple con algunos de los requisitos de cumplimiento de los métodos de auditoría de seguridad, como PCI DSS y SOC 2. Ciertos requisitos, como PCI-DSS 6.6, solo se pueden cumplir si se utiliza un WAF certificado. Sin embargo, debido a los beneficios mencionados anteriormente y al potencial para modificar la configuración de WAF, esto no hace que las pruebas de penetración sean menos útiles.
¿Cuál es la importancia de las pruebas de seguridad web?
El objetivo de las pruebas de seguridad web es identificar fallas de seguridad en las aplicaciones web y su configuración. La capa de aplicación es el objetivo principal (es decir, lo que se ejecuta en el protocolo HTTP). Enviar diferentes formas de entrada a una aplicación web para inducir problemas y hacer que el sistema responda de formas inesperadas es un enfoque común para probar su seguridad. Estas “pruebas negativas” buscan ver si el sistema está haciendo algo para lo que no estaba destinado.
También es fundamental darse cuenta de que las pruebas de seguridad web implican algo más que verificar las funciones de seguridad de la aplicación (como la autenticación y la autorización). También es fundamental asegurarse de que otras funciones se implementen de forma segura (p. ej., la lógica empresarial y el uso de la validación de entrada y la codificación de salida adecuadas). El propósito es asegurarse de que las funciones de la aplicación web sean seguras.
¿Cuáles son los muchos tipos de evaluaciones de seguridad?
- Prueba de seguridad de aplicaciones dinámicas (DAST). Esta prueba de seguridad de aplicaciones automatizada es más adecuada para aplicaciones internas de bajo riesgo que deben cumplir con los requisitos normativos de seguridad. Combinar DAST con algunas pruebas de seguridad en línea manuales para vulnerabilidades comunes es la mejor estrategia para aplicaciones de riesgo medio y aplicaciones cruciales que experimentan cambios menores.
- Comprobación de seguridad para aplicaciones estáticas (SAST). Esta estrategia de seguridad de aplicaciones incluye métodos de prueba manuales y automatizados. Es ideal para detectar errores sin tener que ejecutar aplicaciones en un entorno real. También permite a los ingenieros escanear el código fuente para detectar y corregir fallas de seguridad del software de manera sistemática.
- Examen de penetración. Esta prueba manual de seguridad de aplicaciones es ideal para aplicaciones esenciales, particularmente aquellas que están experimentando cambios significativos. Para encontrar escenarios de ataque avanzados, la evaluación utiliza lógica empresarial y pruebas basadas en adversarios.
- Autoprotección de aplicaciones en tiempo de ejecución (RASP). Este creciente método de seguridad de aplicaciones incorpora una variedad de técnicas tecnológicas para instrumentar una aplicación de modo que las amenazas puedan ser observadas y, con suerte, prevenidas en tiempo real a medida que ocurren.
¿Qué papel juegan las pruebas de seguridad de aplicaciones en la reducción del riesgo de la empresa?
La gran mayoría de los ataques a las aplicaciones web incluyen:
- SQL Injection
- XSS (secuencia de comandos entre sitios)
- Ejecución de comandos remotos
- Ataque de recorrido de ruta
- Acceso restringido al contenido
- Cuentas de usuario comprometidas
- Instalación de código malicioso
- Pérdida de ingresos por ventas
- La confianza de los clientes se erosiona
- Daño a la reputación de la marca
- Y muchos otros ataques.
En el entorno de Internet actual, una aplicación web puede verse perjudicada por una variedad de desafíos. El gráfico anterior muestra algunos de los ataques más comunes perpetrados por los atacantes, cada uno de los cuales puede causar un daño significativo a una aplicación individual o a toda una empresa. Conocer los muchos ataques que hacen que una aplicación sea vulnerable, así como los posibles resultados de un ataque, permite a la empresa resolver las vulnerabilidades con anticipación y probarlas de manera efectiva.
Se pueden establecer controles de mitigación a lo largo de las primeras fases del SDLC para evitar cualquier problema mediante la identificación de la causa raíz de la vulnerabilidad. Durante una prueba de seguridad de una aplicación web, el conocimiento de cómo funcionan estas amenazas también se puede utilizar para apuntar a lugares de interés conocidos.
Reconocer el impacto de un ataque también es importante para administrar el riesgo de la empresa, ya que los impactos de un ataque exitoso pueden usarse para determinar la gravedad de la vulnerabilidad en general. Si se descubren vulnerabilidades durante una prueba de seguridad, determinar su gravedad permite a la empresa priorizar los esfuerzos correctivos de manera más efectiva. Para reducir el riesgo para la empresa, comience con los problemas de gravedad crítica y avance hacia los de menor impacto.
Antes de identificar un problema, evaluar el posible impacto de cada programa en la biblioteca de aplicaciones de la empresa lo ayudará a priorizar las pruebas de seguridad de las aplicaciones. Las pruebas de seguridad de Wenb se pueden programar para apuntar primero a las aplicaciones críticas de la empresa, con pruebas más específicas para reducir el riesgo contra el negocio. Con una lista establecida de aplicaciones de alto perfil, las pruebas de seguridad de wenb se pueden programar para apuntar primero a las aplicaciones críticas de la empresa, con pruebas más específicas para reducir el riesgo contra el negocio.
Durante una prueba de seguridad de una aplicación web, ¿qué características deben examinarse?
Durante las pruebas de seguridad de aplicaciones web, tenga en cuenta la siguiente lista no exhaustiva de funciones. Una implementación ineficaz de cada uno podría resultar en debilidades, poniendo en peligro a la empresa.
- Configuración de la aplicación y servidor. Las configuraciones de cifrado/criptográficas, las configuraciones del servidor web, etc., son ejemplos de fallas potenciales.
- Validación de entrada y manejo de errores Un procesamiento de entrada y salida deficiente conduce a la inyección de SQL, secuencias de comandos entre sitios (XSS) y otros problemas típicos de inyección.
- Autenticación y mantenimiento de sesiones. Vulnerabilidades que podrían conducir a la suplantación de identidad del usuario. También se debe tener en cuenta la solidez y la protección de las credenciales.
- Autorización. Se está probando la capacidad de la aplicación para proteger contra escaladas de privilegios verticales y horizontales.
- Lógica en los negocios. La mayoría de los programas que brindan funcionalidad comercial se basan en estos.
- Lógica en el extremo del cliente. Este tipo de función se está volviendo más común en las páginas web modernas con mucho JavaScript, así como en las páginas web que utilizan otros tipos de tecnologías del lado del cliente (por ejemplo, Silverlight, Flash, applets de Java).
Para familiarizarse en detalle con el plan de estudios de certificación, puede ampliar y analizar la tabla a continuación.
El plan de estudios de certificación de pruebas de penetración de aplicaciones web EITC/IS/WAPT hace referencia a materiales didácticos de acceso abierto en forma de video. El proceso de aprendizaje se divide en una estructura paso a paso (programas -> lecciones -> temas) que cubre partes relevantes del plan de estudios. También se proporciona consultoría ilimitada con expertos en dominios.
Para obtener más información sobre el procedimiento de certificación, consulte ¿Cómo funciona?.
Descargue los materiales preparatorios completos de autoaprendizaje fuera de línea para el programa de pruebas de penetración de aplicaciones web EITC/IS/WAPT en un archivo PDF
Materiales preparatorios EITC/IS/WAPT – versión estándar
Materiales preparatorios del EITC/IS/WAPT: versión ampliada con preguntas de repaso