Los secretos de la profesión que no conocías.
Convertirse en un hacker ético es el sueño de muchos. Pero, ¿cómo superar una entrevista y demostrar tu profesionalismo? Hemos preparado 15 preguntas que te ayudarán a prepararte eficazmente y a superar con éxito la entrevista para el puesto de especialista en pruebas de penetración.
- ¿Qué es la prueba de penetración y en qué se diferencia de la exploración de vulnerabilidades?
- ¿Cuál es la diferencia entre el análisis de riesgos y la prueba de penetración?
- Describe las principales fases de la prueba de penetración
- ¿Qué factores hacen que un sistema sea vulnerable?
- ¿Cómo tratas los datos confidenciales con los que te encuentras durante las pruebas de penetración?
- Explica la diferencia entre el cifrado simétrico y el asimétrico
- ¿Cómo mantienes tus conocimientos en materia de ciberseguridad?
- ¿Cuál es la diferencia entre Windows y Linux en las pruebas de aplicaciones web?
- ¿Qué tres herramientas utilizas para los pentests de Active Directory y por qué?
- ¿Qué vulnerabilidades puede tener el intercambio de claves de Diffie-Hellman?
- ¿Qué es la inyección SQL basada en el operador UNION?
- ¿Qué es la escalada de privilegios y cómo se gestiona?
- ¿Qué es la vulnerabilidad XXE?
- ¿Qué es la captura/interceptación de paquetes de red?
- ¿Cómo explicarías la vulnerabilidad XSS a una persona sin conocimientos técnicos?
¿Qué es la prueba de penetración y en qué se diferencia de la exploración de vulnerabilidades?
La prueba de penetración (pentest) es un intento de ataque ordenado, dirigido y autorizado a la infraestructura de TI con el objetivo de verificar su seguridad. Se diferencia de la exploración de vulnerabilidades en que el pentest incluye intentos activos de explotación de las vulnerabilidades detectadas, mientras que la exploración de vulnerabilidades es un proceso automatizado de detección de las mismas, generalmente con fines de cumplimiento de normas.
¿Cuál es la diferencia entre el análisis de riesgos y la prueba de penetración?
El análisis de riesgos es el proceso de identificar las amenazas y vulnerabilidades potenciales que afectan la seguridad del sistema. La prueba de penetración, por su parte, representa un intento activo de explotación de las vulnerabilidades para verificar el funcionamiento de las medidas de seguridad actuales.
Describe las principales fases de la prueba de penetración
Las fases del pentest pueden variar según la empresa o el especialista, pero generalmente siguen la siguiente secuencia:
Preparación previa: En esta etapa se discuten los detalles y las expectativas de la prueba. Este proceso puede parecer aburrido, pero es muy importante para establecer objetivos claros y reglas de interacción. Se discute la duración de la prueba, los objetivos y qué es aceptable durante la prueba.
Recopilación de información: Este es el momento en que comienza la prueba. Se comienza con la búsqueda de información de fuentes abiertas (OSINT), se estudian los hosts, la red y los servicios disponibles. En esta etapa se buscan IP inusuales, secretos en repositorios abiertos como GitHub, actividad de empleados en redes sociales que puede revelar información sobre las tecnologías de la empresa. También se crea un mapa visual de la red para su uso posterior durante la prueba.
Evaluación de vulnerabilidades: Después de recopilar información, se empieza a evaluar si existen vulnerabilidades que se pueden explotar. Se buscan vulnerabilidades conocidas en base a las versiones del software y los servicios, se marcan las CVE (Common Vulnerabilities and Exposures) y se encuentran ejemplos de exploits. Es muy importante planificar cuidadosamente los ataques para minimizar el riesgo de fallo del sistema.
Explotación de vulnerabilidades: En esta etapa se comienza a atacar activamente las vulnerabilidades detectadas. Si es necesario comprobar la red interna y externa, se intenta hackear un sistema externo vulnerable y se observa si se puede penetrar en la infraestructura de la empresa. También se puede trabajar dentro de la red del cliente, obteniendo acceso remoto a través de una VPN o máquina virtual proporcionada para la prueba.
Postexplotación: Una vez que se tiene acceso al sistema, se comienzan a comprobar sus privilegios. Por ejemplo, si es un sistema Windows, se ejecutan comandos para recopilar información, buscar archivos y aumentar los privilegios.
Movimiento lateral: Utilizando la información recopilada, se intenta moverse por la red, pasando de un sistema a otro. Esto puede incluir el uso de credenciales robadas o la omisión de la protección.
Etapa final: Una vez terminadas todas las pruebas, se prepara un informe con una descripción detallada de las vulnerabilidades y sugerencias para solucionarlas. También se discuten los resultados con el cliente para asegurarse de que comprende todas las amenazas detectadas y sabe cómo solucionarlas.
¿Qué factores hacen que un sistema sea vulnerable?
Los sistemas pueden ser vulnerables por varias razones, que suelen estar relacionadas con la gestión de parches, la gestión de vulnerabilidades y la configuración. Aquí tienes algunos ejemplos:
- Uso de versiones antiguas de servicios o aplicaciones con vulnerabilidades conocidas para las que ya existen exploits públicos.
- Configuración incorrecta de los servicios, por ejemplo, uso de contraseñas estándar o débiles, falta de permisos de acceso adecuados, falta de autenticación.
- Aplicaciones web vulnerables a ataques comunes, como los descritos en OWASP Top 10.
- Sistemas incluidos en dominios Active Directory vulnerables a ataques de credenciales u otros ataques dirigidos a la infraestructura de AD.
- Sistemas antiguos o mal gestionados, propensos a fallos con cargas elevadas.
¿Cómo tratas los datos confidenciales con los que te encuentras durante las pruebas de penetración?
Cada vulnerabilidad detectada en la red del cliente puede considerarse técnicamente información confidencial. Nuestra tarea como pentesters es ayudar a nuestros clientes a mejorar su seguridad. Tenemos la obligación de ser responsables en nuestro trabajo con los datos del cliente y documentar todos los resultados. Por ejemplo, si estoy haciendo una prueba para una empresa médica, mi objetivo no es estudiar la base de datos con información médica confidencial, sino encontrar una vulnerabilidad que pueda ser utilizada para acceder a dicha información. Es importante documentar la vulnerabilidad y evaluar su impacto sin violar los derechos de los clientes.
Si me encuentro con contenido ilegal, detendré inmediatamente la prueba e informaré a mi supervisor. Entonces, juntos decidiremos cómo continuar correctamente, posiblemente con la ayuda de abogados.
Explica la diferencia entre el cifrado simétrico y el asimétrico
El cifrado simétrico utiliza una sola clave para cifrar y descifrar los datos, mientras que el cifrado asimétrico utiliza un par de claves: pública y privada. El primero es más rápido, mientras que el segundo se utiliza para la transmisión segura de claves y las firmas digitales.
¿Cómo mantienes tus conocimientos en materia de ciberseguridad?
Utilizo métodos de aprendizaje tanto pasivos (lectura de noticias en Esgeeks.com, suscripción a blogs y podcasts) como activos (práctica en plataformas como Hack The Box y experimentos en un laboratorio casero).
¿Cuál es la diferencia entre Windows y Linux en las pruebas de aplicaciones web?
Los sistemas operativos Windows y Linux tienen sus propias ventajas y desventajas en el contexto de las pruebas de aplicaciones web. Windows se considera más amigable para los usuarios principiantes, mientras que Linux se caracteriza por una mayor fiabilidad y seguridad. La mayoría de las herramientas de prueba funcionan en Linux, y este sistema operativo ofrece más opciones de configuración.
Sin embargo, Windows está más extendido en el entorno empresarial, por lo que la prueba en esta plataforma puede simular con mayor precisión las condiciones reales a las que te enfrentas al comprobar aplicaciones empresariales.
Prefiero combinar ambos sistemas, lo que me permite aprovechar las ventajas de cada uno.
¿Qué tres herramientas utilizas para los pentests de Active Directory y por qué?
Mis tres herramientas principales para probar Active Directory:
BloodHound: Es una herramienta potente para visualizar las relaciones entre los objetos de Active Directory, como dominios, relaciones de confianza, políticas y permisos de acceso. Ayuda a identificar visualmente posibles vectores de ataque.
PowerShell: Es una herramienta integrada en Windows que se puede utilizar para ejecutar comandos relacionados con AD. Si consigo acceder a una cuenta de administrador que utiliza PowerShell, puedo utilizarlo para obtener acceso remoto al controlador de dominio.
PowerView.ps1: Forma parte del proyecto PowerSploit, que ofrece numerosas posibilidades para recopilar datos sobre objetos AD, buscar recursos de red y robar tickets TGS para realizar un ataque de Kerberoasting.
¿Qué vulnerabilidades puede tener el intercambio de claves de Diffie-Hellman?
El intercambio de claves de Diffie-Hellman (DH) puede ser vulnerable a varios tipos de ataques si no se configura correctamente. Entre los más comunes se encuentran:
Ataque de “man in the middle” (MitM): Si las partes no se autentican entre sí, un atacante puede interponerse entre ellas y obtener la posibilidad de descifrar y modificar los datos.
Ataque Logjam: Este ataque utiliza parámetros de clave débiles para forzar la reducción de la seguridad de la sesión.
Ataques de fuerza bruta y ataques basados en canales laterales: Si los parámetros de clave son débiles, es posible que se produzcan intentos de adivinarlos o ataques utilizando datos externos (por ejemplo, el tiempo de ejecución de la operación).
¿Qué es la inyección SQL basada en el operador UNION?
La inyección SQL basada en UNION es un tipo de inyección SQL en el que el atacante utiliza el operador UNION para combinar los resultados de varias consultas, obteniendo así acceso a datos que no deberían haber sido revelados. Por ejemplo, el atacante puede añadir una consulta UNION SELECT
a la consulta original para acceder a otra tabla de la base de datos que inicialmente no formaba parte de la consulta.
¿Qué es la escalada de privilegios y cómo se gestiona?
La escalada de privilegios es el proceso de obtener acceso no autorizado a recursos del sistema con mayores privilegios. Una vez que el atacante tiene acceso al sistema, comienza a buscar vulnerabilidades que le permitan aumentar los privilegios hasta el nivel de administrador u obtener acceso a datos importantes. Por ejemplo, si el sistema utiliza un componente de software obsoleto, el atacante puede intentar explotarlo para aumentar los permisos de acceso.
¿Qué es la vulnerabilidad XXE?
XXE (XML External Entity) es una vulnerabilidad que se produce cuando el servidor procesa entradas XML no seguras. El atacante puede insertar entidades externas en la entrada XML, que serán procesadas por el servidor, lo que puede provocar la revelación de información confidencial, la ejecución de código arbitrario o el envío de solicitudes maliciosas a recursos externos en nombre del servidor.
¿Qué es la captura/interceptación de paquetes de red?
La captura de paquetes de red es el proceso de capturar datos transmitidos a través de la red. Se utiliza para la diagnosis, el seguimiento y el análisis del tráfico, y también se puede utilizar para identificar vulnerabilidades y obtener información confidencial.
¿Cómo explicarías la vulnerabilidad XSS a una persona sin conocimientos técnicos?
XSS es una vulnerabilidad que permite a un atacante insertar código malicioso en un sitio web. Este código se ejecutará en el navegador del usuario, lo que puede provocar el robo de datos, la captura de la sesión o la modificación de la configuración del usuario sin su conocimiento.
El rol de hacker ético requiere que el especialista se desarrolle constantemente y se adapte al panorama cambiante de las ciberamenazas. Superar con éxito una entrevista no solo depende de las habilidades técnicas, sino también de la capacidad del candidato para demostrar su pasión por el aprendizaje de nuevas tecnologías, su disposición a abordar problemas complejos y su capacidad para trabajar en equipo.