Pruebas de penetración
La prueba de penetración o prueba de penetración es un tipo de prueba de seguridad que se utiliza para descubrir vulnerabilidades, amenazas y riesgos que un atacante podría aprovechar en aplicaciones de software, redes o aplicaciones web. El propósito de las pruebas de penetración es identificar y probar todas las posibles vulnerabilidades de seguridad que están presentes en la aplicación de software. La prueba de penetración también se llama prueba de pluma.
La vulnerabilidad es el riesgo de que un atacante pueda interrumpir u obtener acceso autorizado al sistema o cualquier dato contenido en él. Las vulnerabilidades generalmente se introducen por accidente durante la fase de desarrollo e implementación del software. Las vulnerabilidades comunes incluyen errores de diseño, errores de configuración, errores de software, etc. El análisis de penetración depende de dos mecanismos, a saber, la evaluación de vulnerabilidades y las pruebas de penetración (VAPT).
¿Por qué pruebas de penetración?
La penetración es esencial en una empresa porque:
- Los sectores financieros como los bancos, la banca de inversión y las bolsas de valores quieren que sus datos estén protegidos, y las pruebas de penetración son esenciales para garantizar la seguridad.
- En caso de que el sistema de software ya esté pirateado y la organización quiera determinar si todavía hay amenazas presentes en el sistema para evitar futuros ataques.
- Las pruebas de penetración proactivas son la mejor protección contra los piratas informáticos
Tipos de pruebas de penetración:
El tipo de prueba de penetración seleccionada generalmente depende del alcance y si la organización desea simular un ataque por parte de un empleado, administrador de red (fuentes internas) o fuentes externas. Hay tres tipos de pruebas de penetración y son
- Prueba de caja negra
- Prueba de penetración de caja blanca
- Prueba de penetración de caja gris
En las pruebas de penetración de caja negra, un evaluador no tiene conocimiento sobre los sistemas que se van a probar. Es responsable de recopilar información sobre la red o el sistema de destino.
En una prueba de penetración de caja blanca, el probador generalmente recibe información completa sobre la red o los sistemas que se probarán, incluido el esquema de la dirección IP, el código fuente, los detalles del sistema operativo, etc. Fuentes internas (empleados de una organización).
En una prueba de penetración de caja gris, un evaluador recibe un conocimiento parcial del sistema. Puede considerarse como un ataque de un pirata informático externo que obtuvo acceso ilegítimo a los documentos de infraestructura de red de una organización.
Cómo hacer pruebas de penetración
Las siguientes son las actividades que se deben realizar para ejecutar la prueba de penetración:
Paso 1) Fase de planificación
- Se determina el alcance y la estrategia de la asignación
- Las políticas de seguridad existentes, los estándares se utilizan para definir el alcance.
Paso 2) Fase de descubrimiento
- Recopile la mayor cantidad de información posible sobre el sistema, incluidos los datos del sistema, los nombres de usuario e incluso las contraseñas. Esto también se llama HUELLA DIGITAL
- Escanear y sondear en los puertos
- Verifique las vulnerabilidades del sistema
Paso 3) Fase de ataque
- Encontrar exploits para varias vulnerabilidades Necesita los privilegios de seguridad necesarios para explotar el sistema
Paso 4) Fase de informes
- Un informe debe contener hallazgos detallados
- Riesgos de las vulnerabilidades encontradas y su impacto en el negocio
- Recomendaciones y soluciones, si las hubiera
La tarea principal en las pruebas de penetración es recopilar información del sistema. Hay dos formas de recopilar información:
- Modelo 'uno a uno' o 'uno a muchos' con respecto al host: un evaluador realiza técnicas de forma lineal contra un host de destino o una agrupación lógica de hosts de destino (por ejemplo, una subred).
- Modelo 'muchos a uno' o 'muchos a muchos': el evaluador utiliza varios hosts para ejecutar técnicas de recopilación de información de forma aleatoria, con velocidad limitada y no lineal.
Ejemplos de herramientas de prueba de penetración
Existe una amplia variedad de herramientas que se utilizan en las pruebas de penetración y las herramientas importantes son:
- NMap: esta herramienta se utiliza para escanear puertos, identificar el sistema operativo, rastrear la ruta y escanear vulnerabilidades.
- Nessus: esta es una herramienta tradicional de vulnerabilidades basada en la red.
- Pass-The-Hash: esta herramienta se utiliza principalmente para descifrar contraseñas.
Papel y responsabilidades de los probadores de penetración:
El trabajo de los probadores de penetración es:
- Los evaluadores deben recopilar la información requerida de la Organización para permitir las pruebas de penetración.
- Encuentre fallas que podrían permitir a los piratas informáticos atacar una máquina objetivo
- Los Pen Testers deben pensar y actuar como verdaderos piratas informáticos, aunque de forma ética.
- El trabajo realizado por los probadores de penetración debe ser reproducible para que sea fácil para los desarrolladores arreglarlo
- La fecha de inicio y la fecha de finalización de la ejecución de la prueba deben definirse de antemano.
- Un probador debe ser responsable de cualquier pérdida en el sistema o información durante la prueba de software.
- Un evaluador debe mantener la confidencialidad de los datos y la información
Penetración manual frente a pruebas de penetración automatizadas:
Prueba de penetración manual | Prueba de penetración automatizada |
---|---|
Las pruebas manuales requieren profesionales expertos para ejecutar las pruebas | Las herramientas de prueba automatizadas proporcionan informes claros con profesionales menos experimentados |
Las pruebas manuales requieren Excel y otras herramientas para rastrearlas | Las pruebas de automatización tienen herramientas centralizadas y estándar |
En las pruebas manuales, los resultados de las muestras varían de una prueba a otra. | En el caso de las pruebas automatizadas, los resultados no varían de una prueba a otra. |
Los usuarios deben recordar la limpieza de la memoria | Las pruebas automatizadas tendrán limpiezas completas. |
Desventajas de las pruebas de penetración
Las pruebas de penetración no pueden encontrar todas las vulnerabilidades del sistema. Existen limitaciones de tiempo, presupuesto, alcance y habilidades de los probadores de penetración.
A continuación se muestran los efectos secundarios cuando estamos haciendo pruebas de penetración:
- Pérdida y corrupción de datos
- Tiempo de inactividad
- Incrementar costos
Conclusión:
Los probadores deben actuar como un verdadero pirata informático y probar la aplicación o el sistema, y deben verificar si un código está escrito de forma segura. Una prueba de penetración será eficaz si existe una política de seguridad bien implementada. La política y la metodología de las pruebas de penetración deben ser un lugar para hacer que las pruebas de penetración sean más efectivas. Esta es una guía completa para principiantes sobre pruebas de penetración.
Consulte nuestro proyecto de prueba de penetración en vivo