
El pentesting es una rama de ciberseguridad que me gusta definir como una aventura al estilo el gato y el ratón pero con menos queso, un mundo oscuro y fascinante que nos permite romperlo todo para mantenerlo a salvo.
¿Qué es un pentesting?
Básicamente es un ataque simulado contra tu propio sistema para descubrir vulnerabilidades antes de que los malos lo hagan, como un asalto de prueba para fortificar tu castillo (les voy a recordar que atacar castillos ajenos, aún con buenas intenciones, es ilegal). La idea es detectar los puntos débiles y reforzarlos antes de que alguien con malas intenciones los explote.
¿Por qué es importante?
Realizar pruebas de penetración no es solamente una buena idea, sino que es una necesidad. Las organizaciones deben tener la capacidad de protegerse de forma proactiva contra vulnerabilidades que aún no conocen.
Gracias al pentesting, puedes identificar y arreglar vulnerabilidades antes de que un atacante las encuentre (apuesto a que todos prefieren arreglar un agujero en el techo antes de que empiece a llover…).
Además, te permite mejorar continuamente tus defensas, adaptándolas a nuevas amenazas.
Vectores de ataque:
Veamos los caminos más comunes utilizados para realizar pentesting (y usados por los malos también, claramente).
Inyección de código: Se intenta inyectar código malicioso en el sistema, comprometiendo datos y funcionalidades.
Pérdida de autenticación: Ocurre cuando alguien logra burlar los controles de autenticación, como contraseñas y usuarios.
Pérdida de controles de acceso: Se produce cuando alguien intenta burlar los controles de acceso, como roles, permisos, etc. Aquí, es posible hacer que tu sistema realice acciones para las que no fue diseñado (como si un intruso convence a tu perro de que no te deje entrar a tu propia casa).
Uso de componentes con vulnerabilidades conocidas: Utilizar software que tiene vulnerabilidades publicadas es como tener una puerta sin cerradura. Aquí simplemente se aprovechan las vulnerabilidades ya conocidas.
Registros y monitoreos insuficientes: No supervisar adecuadamente las acciones en tu sistema es como no tener cámaras de seguridad o tenerlas pero no revisarlas nunca… los atacantes pueden moverse sin ser detectados.
Deserialización insegura: Los exploits se inyectan en aplicaciones a través de datos manipulados. Ocurre cuando el sistema recibe datos y los deserializa sin validar primero que sean seguros (como si alguien que no conoces te da un regalo aparentemente inocente y te lo llevas muy confiado a tu casa y resulta que era una bomba…).
¿Querés comenzar en el mundo del pentesting?
Antes que nada, educate, de los creadores del libro The Web Application Hacker’s Handbook que fue estándar durante mucho tiempo para quienes se interesan en comenzar su camino en el pentesting y Burp Suite existe la Web Security Academy ahora (y ¡oh mira, como todo el buen material en ciberseguridad, no es un bootcamp y es gratis!).
Prueba herramientas básicas de pentesting como las incluidas en Kali Linux, Burp Suite o Metasploit (pero no, saber usar las herramientas no te hace un hacker todo pro).
Haz todas tus practicas en entornos seguros, como laboratorios virtuales o participa en competencias de CTF (capture the flag) para poner a prueba tus habilidades y aprender de otros.
El pentesting es una herramienta poderosa para la ciberseguridad. Al detectar y corregir vulnerabilidades antes de que un atacante las explote, puedes proteger mejor tus sistemas.
Así que, ponte tu capa y comienza a explorar…