Pentest: pruebas de penetración, un conjunto de medidas que simulan un ataque real a una red o aplicación. El propósito de una prueba de penetración es comprender si un atacante hipotético puede entrar en un sistema. Para hacer esto, los propios probadores están tratando de piratearlo o hacerse con el control de los datos.
¿Qué es el pentest o pentesting?
El nombre pentest significa prueba de penetración, que se traduce como «prueba de penetración». La penetración en este sentido es acceder al sistema. La prueba de pluma de ortografía y la traducción como «prueba de pluma» son erróneas.
Durante un pentest, los expertos buscan y analizan vulnerabilidades que pueden interrumpir el sistema o dar acceso a los atacantes a información confidencial. También actúan desde la posición de un atacante real, es decir, imitan la piratería del sistema de varias maneras.
¿Quién hace pentesting?
Los especialistas en pentest son pentesters, probadores de penetración, hackers de sombrero blanco. Estos últimos también se llaman sombrero blanco – «sombrero blanco». Para imitar los ataques a los sistemas de información, debe poder realizarlos, por lo que los pentesters deben poder hacer lo mismo que los piratas informáticos. Estas áreas se cruzan y pertenecen a la industria de la seguridad de la información.
¿Para qué sirve el pentest?
- Identificación de debilidades, vulnerabilidades en sistemas y redes.
- Comprender cómo y de dónde puede provenir un ataque, si los atacantes pueden interrumpir el sistema; si es así, cómo.
- Determinación de cómo funcionará la protección en caso de diferentes ataques de piratas informáticos.
- Hacer recomendaciones sobre cómo mejorar la situación.
- Prevenir ataques de piratas informáticos reales en los sistemas.
- Mantener la seguridad y confidencialidad de los datos y la salud de la red.
Qué se incluye en las pruebas de penetración
Pentest se lleva a cabo a nivel físico y de programa. La tarea principal es penetrar en un sistema o red, obtener control sobre un dispositivo o software y recopilar información. Los pasos exactos dependen de lo que se esté probando.
Redes. Los probadores buscan nodos débiles, protocolos mal configurados y otras vulnerabilidades en la transmisión o recepción de datos. Esto también puede incluir la búsqueda de contraseñas «débiles» y otras oportunidades para obtener acceso no autorizado a la red.
Software de aplicaciones. Estas son aplicaciones locales o de red, sitios grandes. Los pentesters falsifican solicitudes, intentan acceder a la base de datos, inyectan scripts maliciosos en el código e interfieren con las sesiones. Estas son solo algunas de las acciones posibles. Los eventos se llevan a cabo para realizar pruebas y no afectan el funcionamiento real de las aplicaciones. El pentest suele llevarse a cabo antes del lanzamiento masivo del sistema.
Dispositivos. Los probadores o hackers de sombrero blanco encuentran vulnerabilidades de software y hardware, debilidades en la red a la que está conectado el dispositivo e intentan obtener contraseñas usando fuerza bruta.
Sistemas físicos. Puede ser un centro de datos o cualquier otra área protegida. Además de la infraestructura de TI, se está probando la capacidad de romper el bloqueo, eludir o desactivar cámaras y sensores.
El factor humano también es importante. Averiguar si los empleados pueden accidental o intencionalmente romper el sistema, sucumbir a las provocaciones de los intrusos también es tarea de un pentester.
Métodos de prueba
Pruebas externas. Se lleva a cabo en nombre de un atacante «desde fuera», una persona que no está relacionada con la empresa. Determina si se puede acceder al sistema de forma remota y, de ser así, cómo y con qué profundidad. Tal pentest es necesario para servidores y otros equipos que se comunican con el mundo exterior.
Pruebas internas. Pruebas en nombre de un usuario con derechos estándar, como un empleado de la empresa. Un atacante puede ser no solo una persona externa, sino también alguien del personal: un pentest interno monitorea su capacidad para dañar a la empresa.
Caja blanca. La técnica asume que el pentester tiene conocimiento sobre el sistema. Puede obtenerlos de la empresa para la que está realizando la prueba. El probador actúa con este conocimiento en mente. Ayuda a simular ataques de personas que pudieron obtener información sobre el producto.
Caja negra. El pentester no tiene información previa, se comporta como un intruso que se encuentra por primera vez con el sistema. Tiene datos que están disponibles públicamente. Esta técnica es utilizada por la mayoría de los verdaderos crackers.
Pruebas doble ciego. Este es un pentest que casi nadie conoce, incluido el servicio de seguridad. Solo 1-2 personas en la empresa lo saben. No se les permite divulgar esta información. Las pruebas también se denominan encubiertas. Ayuda a identificar vulnerabilidades que no se pueden detectar con los métodos anteriores. Por ejemplo, para comprender con qué facilidad un atacante puede eludir un servicio de seguridad.
Al realizar pruebas doble ciego, el pentester debe tener documentos que confirmen que lo está haciendo legalmente. De lo contrario, puede haber problemas con el servicio de seguridad y la ley.
Ejemplos de software Pentest
KaliLinux. Sistema operativo ligero especial, distribución de Linux para pentesting y piratería de sombrero blanco. Está basado en Debian Linux. Por defecto cuenta con más de 600 programas y servicios para ataques y búsqueda de vulnerabilidades. Por seguridad, hay muy pocos repositorios en Kali Linux que puedan descargar paquetes de software. Si es necesario, el usuario puede agregarlos él mismo.
Metasploit. Un proyecto de seguridad de la información y un conjunto de software que se necesita para un pentest. Por ejemplo, Metasploit Framework ayuda a crear exploits: este es el nombre del malware que aprovecha las vulnerabilidades del sistema y realiza un ataque.
Con Metasploit, puede analizar vulnerabilidades y crear firmas de virus, signos aislados de malware real. Esto último a veces es necesario, por ejemplo, al crear sistemas antivirus.
nmap. Programa para escanear redes con cualquier número de usuarios. Muestra el estado de los objetos de la red, proporciona información sobre ellos y facilita futuros ataques. Es necesario para recopilar información. Por ejemplo, de esta manera puede obtener información sobre puertos, sobre servicios, sobre el sistema operativo en el dispositivo.
Puede encontrar el nombre zenmap: este es el nombre de la interfaz gráfica para Nmap.
Neso. Un programa que busca automáticamente vulnerabilidades en sistemas y redes. Necesario para encontrar debilidades comunes. Tiene una base de datos que se actualiza todas las semanas, por lo que el programa casi siempre está actualizado. Nessus lo ayuda a automatizar la búsqueda de vulnerabilidades en la red y no realizar una serie de acciones manuales.
Wireshark. Un programa que analiza el tráfico de la red. Sabe cómo se organizan los paquetes que se transmiten a través de diferentes protocolos de red, puede «desarmarlos» en componentes y leer información de ellos. Si el flujo de datos no es seguro, puede usar Wireshark para obtener información que se transmite a través de la red.
Aircrack-ng. El programa es necesario para detectar e interceptar tráfico en redes inalámbricas. Ayuda a obtener acceso al adaptador inalámbrico, verificar la fuerza de la protección, interceptar información de la red inalámbrica.
¿Qué debe saber y ser capaz de hacer un pentester?
Anteriormente, los programadores con un gran stock de conocimientos en diversas industrias se convirtieron en pentesters. Ahora puedes aprender pentest desde cero. Una lista parcial de lo que debe saber un probador de penetración se ve así.
Red de computadoras. Un probador de penetración debe comprender cómo funciona el modelo de red OSI, qué es, cómo funcionan las redes informáticas y dónde se pueden encontrar vulnerabilidades en ellas. Debe conocer los protocolos, las características de su trabajo y los errores típicos en la configuración.
Sistema operativo Al realizar pruebas de penetración, es necesario trabajar con el servidor y el sistema operativo del usuario. Por lo tanto, el probador debe comprender cómo funcionan y en un nivel profundo. Deberá estudiar la arquitectura y la infraestructura, las características de los procesos.
Criptografía. La ciencia del cifrado de la información, que proporciona conocimientos teóricos sobre cómo se organiza la protección de la información. Presenta cómo funcionan los algoritmos modernos de cifrado y descifrado, si tienen debilidades y cómo se pueden encontrar.
Ataques a los sistemas de información. Estos son los métodos utilizados por atacantes reales. Un pentester debería conocerlos teóricamente y poder llevarlos a cabo, eludir los sistemas de seguridad y no ser detectado.
Análisis de malware. Los pentesters y los especialistas en seguridad de la información deben estar al tanto de los virus, troyanos, gusanos y exploits. Es importante que un especialista pueda escribir malware para la tarea y aplicarlo.
Programación. Para escribir scripts y exploits, para emitir comandos, debe conocer al menos un lenguaje de programación. A menudo, estos son idiomas del sistema. Se utilizan para enviar comandos directamente al sistema operativo. Pero si el pentester sabe varios idiomas, esto es una ventaja.
Línea de comandos de Linux . Básicamente, los probadores de penetración trabajan en distribuciones especiales de Linux, por lo que deben tener un buen dominio de la línea de comandos del sistema operativo. Esto a veces es necesario cuando se simula un hackeo.
Certificación Penster
Pentest es una actividad que está autorizada por la ley. Por lo tanto, las empresas que se ocupan de él deben tener la licencia correspondiente. Esto también se aplica a los pentesters independientes que actúan por su cuenta.
Es posible que los probadores que trabajan para una organización no tengan licencia. Pero se les anima a tener las certificaciones CEH y OSCP, que confirman que una persona puede ser considerada pentester. Su presencia puede ser un requisito del empleador.