Metasploit para pentesting
En este taller aprenderás a usar esta herramienta enfocada al pentesting y a la creación de scripts.
¿Crees que tus datos están seguros y que tu infraestructura es inquebrantable? Descubre cómo se evalúa la ciberseguridad de un sistema informático mediante el pentesting, identificando debilidades y explotando vulnerabilidades ponen en riesgo la seguridad de las empresas.
Tabla de contenidos
¿Todavía piensas que los hackers son maliciosos? En un mundo donde la información se vuelve un activo crítico para las empresas, los expertos en ciberseguridad juegan un papel crucial asegurando la infraestructura y software.
A través del pentesting se descubren las vulnerabilidades y los fallos en los sistemas que los verdaderos actores maliciosos, los cibercriminales, podrían explotar, poniendo en riesgo la seguridad y los datos de los usuarios y las organizaciones.
¿Te intriga cómo los pentesters identifican los fallos de seguridad en las aplicaciones? Si quieres descubrir paso a paso cómo se realiza un pentesting, se escanean los sistemas y explotan vulnerabilidades, te animamos a continuar leyendo para descubrir las apasionantes fases de las pruebas de penetración.
¡Explora las fases del pentesting y forja tu camino en la ciberseguridad!
El pentesting (penetration testing) o pruebas de penetración es un servicio mediante el cual las empresas pueden auditar sus sistemas, infraestructura de red y aplicaciones software.
Los expertos en ciberseguridad, los pentesters, analizan la red de la empresa y llevan a cabo las pruebas de penetración de forma controlada, realizando escaneos, distintos tipos de ataques a los sistemas, análisis del código y empleando técnicas avanzadas para evadir los procesos y sistemas de seguridad aplicados en las empresas.
Esta simulación de ataques a la infraestructura TI de las empresas se realiza para identificar las vulnerabilidades existentes, y proponer soluciones para su mitigación. Gracias a los pentesting, las empresas mejoran su estado de ciberseguridad y ciberresiliencia.
Existen distintos tipos de pentesting, dependiendo de la forma en el que se realiza.
En el pentesting de caja blanca, los pentesters tienen acceso total a la información interna, a los detalles de la arquitectura, los sistemas y aplicaciones en uso. Esto permite realizar un análisis más profundo, aunque pierde el realismo de un ciberataque.
En el pentesting de caja negra, no hay ningún conocimiento previo de la infraestructura de la empresa, otorgándole un mayor realismo. Por último, en el pentesting de caja gris, existe un conocimiento parcial de la arquitectura y servicios, aunque no es completo como en el caso del pentesting de caja blanca. Este, consigue un equilibrio entre el análisis en profundidad del pentesting de caja blanca, y el realismo del pentesting de caja negra.
Una vez claro qué es el pentesting, nos adentramos en profundidad en cada una de las fases de las pruebas de penetración, explicando qué técnicas, herramientas y ataques se realizan para encontrar vulnerabilidades y fallos en las aplicaciones e infraestructuras de las empresas.
Cuando se encuentra definido el alcance del pentesting, la parte de los sistemas, dominios o direcciones IP que abordan las pruebas de penetración, la fase de reconocimiento es la primera fase dentro de un pentesting. Realizarlo de forma efectiva es vital, ya que puede determinar el éxito de la auditoría. Es el fundamento para las fases posteriores, ya que no puede evaluarse ni auditar los sistemas, servicios o aplicaciones que no se hayan encontrado mediante el reconocimiento.
Se distingue entre dos tipos de reconocimiento, el pasivo y el activo. Por un lado, el reconocimiento pasivo se centra en adquirir toda la información disponible en la red sin necesidad de interactuar directamente con los sistemas que se someten a prueba.
Se destacan tareas como la recopilación de los dominios y subdominios relevantes de la infraestructura de la empresa, así como los registros DNS y la información disponible en WHOIS. También incluye el descubrimiento de las tecnologías utilizadas en los sistemas, con herramientas como Wappalyzer o BuiltWith.
Otra técnica de reconocimiento pasivo implica la recolección de inteligencia mediante fuentes abiertas, la OSINT. Esto incluye aprovechar la información disponible en motores de búsqueda de activos como Shodan, Netlas, para determinar qué servicios y versiones se ejecutan en los sistemas.
También puede incluir buscar cuentas y credenciales de la empresa que hayan sido exfiltradas e información personal identificativa en metadatos de archivos que se encuentren por la red mediante Google hacking o herramientas como GooFuzz y FOCA. Por ejemplo, podrían encontrarse correos corporativos, nombres de usuario y contraseñas. Esta información puede ser útil para que los pentesters puedan aprovecharla en fases posteriores del pentesting.
Por otro lado, en la fase de reconocimiento activo la forma de recopilar información es directamente interactuando con el sistema: se realizan peticiones a los sistemas para reconocerlos, identificarlos y clasificarlos. Dentro del reconocimiento activo se encuentran acciones como el escaneo de puertos en los dominios relevantes con herramientas como Nmap o RustScan, o la búsqueda de directorios y recursos con BurpSuite, OWASP ZAP, Feroxbuster o ffuf.
Durante el reconocimiento activo, los pentesters deben comenzar a operar de forma cautelosa para mantener la seguridad de las operaciones, y considerando la presencia de WAFs (Web Application Firewalls) o cortafuegos perimetrales, guardianes de los sistemas de la empresa.
Durante la fase del escaneo de vulnerabilidades, los pentesters se esfuerzan al máximo para descubrir todo acerca de los activos de la infraestructura: conocer la configuración de los sistemas y aplicaciones, las versiones de los sistemas operativos y servicios en uso.
Para conseguir esta misión, los pentesters se apoyan en software y herramientas avanzadas de identificación de vulnerabilidades, como Nmap, Nessus, Acunetix, WPScan o SQLMap. Existe una gran cantidad de herramientas que ayudan a automatizar el proceso de detección de vulnerabilidades, dado que podría consumir excesivo tiempo si esta fase se realizase de forma manual. Además, el uso de programas automatizados reduce la probabilidad de errores humanos en la identificación de las vulnerabilidades.
Los escáneres de vulnerabilidades detectan las versiones del software y contrastan la información recopilada con sus bases de datos de vulnerabilidades y técnicas de ataque empleadas por los cibercriminales. Durante esta prueba, principalmente realizan peticiones al sistema, por lo que generan tráfico y pueden provocar alertas de seguridad.
Las vulnerabilidades en el software pueden ser de diverso tipo. Algunas de las más comunes son las siguientes:
A pesar de las grandes ventajas que ofrecen los escáneres de vulnerabilidades, es importante conocer sus limitaciones y, durante el pentesting, trabajar en base a la información disponible, pero sin seguirla a ciegas. Las herramientas de escaneo no son infalibles y precisas al cien por cien. Pueden producir falsos positivos o falsos negativos, que pueden llevar a realizar acciones que no sean efectivas o pasar por alto algunas vulnerabilidades.
Es aquí donde la experiencia y conocimientos del hacker ético es determinante para interpretar los resultados de los escaneos de vulnerabilidades y comprobar si hay falsos positivos o falsos negativos.
Una vez analizada la arquitectura informática de la empresa, la fase de explotación es la fase del pentesting más emocionante. Aquí, los expertos en ciberseguridad ponen a prueba las vulnerabilidades encontradas para determinar si suponen una amenaza real y son explotables.
En el caso de que sean explotables, se debe determinar el impacto que tiene la vulnerabilidad en función de su contexto: la complejidad del ataque, el acceso requerido, la cantidad y sensibilidad de los datos expuestos y cómo afecta a la disponibilidad, integridad y confidencialidad. ¡Puede ocurrir cualquier cosa! Accesos no autorizados a los sistemas, conseguir información sensible de trabajadores y clientes, colapsar los servidores o tomar el control total de la empresa.
Durante la fase de explotación en un pentesting se emplean distintas metodologías y pautas en función del software o sistema que se esté poniendo a prueba y las vulnerabilidades detectadas. Una de las metodologías más conocidas es la OWASP (Open Web Application Security Project), que ofrece una serie de acciones, buenas prácticas y mitigaciones para las vulnerabilidades.
Cada servicio de la infraestructura tiene configuraciones específicas, requisitos para funcionar correctamente y formas de ser atacado. Los pentesters atacan los servicios principales de las empresas para obtener el control. Algunos de los servicios más utilizados por las empresas que podrían contener vulnerabilidades son los siguientes.
Windows Active Directory: Se evalúa la seguridad de las configuraciones en la autorización y autenticación, el control de acceso, las políticas de seguridad y los recursos compartidos. La misión del pentester es encontrar fallos de seguridad en este servicio puedan desencadenar en una escalada de privilegios en el directorio activo, con la misión de conseguir control total de los recursos de la infraestructura de red empresarial.
Servidores web: Los sitios web pueden ser vulnerables a diversos tipos de ataques, como la ejecución remota de comandos (Command Injection) o de código (RCE), la falta de validación de los datos de entrada puede permitir ataques Cross-Site Scripting (XSS) o inyecciones SQL, el aprovechamiento de fallos en el control de acceso a los recursos (IDOR), la manipulación de las peticiones para realizar solicitudes no autorizadas a sistemas internos mediante Server-Side Request Forgery (SSRF), entre otros.
Sistemas de gestión de contenido (CMS): Los CMS como WordPress o Drupal son plataformas para administrar contenido en línea, ampliamente utilizado por empresas de todo tipo y tamaño. Además de las vulnerabilidades que pueda haber en estos sistemas, también pueden encontrarse fallos de seguridad en los plugins que utilizan para ampliar sus funcionalidades.
Servidores FTP y bases de datos: Pueden ser vulnerables a ataques de fuerza bruta, credenciales por defecto, o configuraciones débiles que puedan permitir accesos no autorizados. En el caso de las bases de datos, se atacan para determinar si son vulnerables a ataques de inyección SQL que permitirían acceso a información sensible.
Servidores de correo electrónico: Los servidores de correo pueden ser vulnerables a ataques de phishing y suplantación de identidad. Durante el pentesting se evalúa la eficacia de las medidas de seguridad aplicadas, la robustez de las contraseñas y si está activada la autenticación de dos factores.
Es de gran importancia dejar constancia de todos los intentos de ataque realizados, así como los resultados. Cada ataque que se haya realizado, independientemente de que haya sido exitoso o no, debe quedar documentado. Va más allá de la documentación de las acciones, es clave para la transparencia en las pruebas de penetración y permitir reproducir los ataques de nuevo, aumentar la productividad y realizar un trabajo en equipo eficaz.
Una vez se ha explotado con éxito una vulnerabilidad en el sistema, se abre la puerta a una nueva fase. En la post explotación, se aprovecha el sistema comprometido para explorar a fondo el entorno, descubrir nuevos servicios e intentar establecer persistencia en el sistema para ganar acceso al sistema de nuevo.
Tras el ataque exitoso, es posible que se encuentren servicios que permanecían ocultos, lo que se traduce a nuevas oportunidades para atacar. Por eso, es importante continuar con la recopilación de información sobre el sistema una vez dentro, para conocerlo más en profundidad y adentrarse en él, obteniendo acceso a todos los activos posibles.
Esto puede incluir servidores no expuestos, recursos compartidos, dispositivos de red o dispositivos IoT. Realizando más reconocimiento, esta vez interno, los pentesters consiguen extraer nueva información del sistema y obtienen nuevas vías de conseguir el control total de la infraestructura de la empresa.
Para continuar con la post explotación, se intenta establecer persistencia en el sistema creando puertas traseras, tareas programadas, conexiones persistentes y se crean canales encubiertos para la comunicación entre el atacante y el sistema comprometido para poder acceder de nuevo y extraer información sin ser detectados.
Para obtener el control total, el movimiento lateral a otros servicios y activos de la red será crucial, donde puede reutilizarse la información de los usuarios y las cuentas encontradas en las fases de reconocimiento. Si en los sistemas comprometidos no existen los privilegios suficientes, los pentesters aprovecharán las vulnerabilidades en el sistema para realizar una escalada de privilegios y buscar nuevas formas de acceder a zonas restringidas del sistema.
En resumen, la post explotación se consigue determinar el impacto real de las vulnerabilidades explotadas y qué parte de la red de la empresa puede ser comprometida, para poder ofrecer soluciones que mitiguen los fallos de seguridad encontrados.
Cuando las pruebas de penetración han terminado, la última fase de un pentesting está dedicada a reflejar los fallos de seguridad encontrados, priorizar las amenazas de ciberseguridad existentes y proponer las mitigaciones y soluciones que mejoren la seguridad del sistema.
Siendo la fase en la que se genera la información que reciben las empresas, es crucial realizarla a la perfección para que las empresas comprendan las vulnerabilidades de su infraestructura y aplicaciones y sepan qué pueden hacer al respecto para solucionarlas. Un informe con una estructura coherente y con un registro adaptado al personal que vaya a leerlo es clave para que todas las partes interesadas queden satisfechas.
Generar un informe exhaustivo y comprensible para personal técnico y no técnico es esencial. Por eso, se crean informes técnicos y ejecutivos. Los informes ejecutivos están destinados para el personal encargado de la toma de decisiones, que puede que no cuenten con especialización en seguridad y TI.
Es por eso por lo que las recomendaciones y puntos clave deben estar reflejados de forma clara, así como las pautas de mitigación. En los informes técnicos se exponen los detalles técnicos, específicamente para los equipos de seguridad, incluyendo las descripciones de las vulnerabilidades, los pasos para reproducirlas y los pasos a seguir para mitigarlas; o cómo configurar correctamente la infraestructura y software para que su uso sea seguro.
Es importante categorizar las vulnerabilidades en función de su impacto y probabilidad de explotación. Ayuda a las empresas a priorizar las amenazas más críticas y optimizar sus esfuerzos. Además de las recomendaciones técnicas, pautar unas buenas prácticas para evitar incidentes de seguridad ayuda a prevenir futuras vulnerabilidades.
En conclusión, en las empresas, la realización de un pentesting es clave para detectar vulnerabilidades en su sistema y mejorar su postura de ciberseguridad. A través de las cinco fases explicadas, el pentesting permite evaluar infraestructuras informáticas de forma segura con técnicas utilizadas por los cibercriminales.
La realización de un pentesting de forma exitosa no sólo implica la detección de las vulnerabilidades y la explotación de los fallos de seguridad, sino también comprender el impacto real que supone no apostar de forma proactiva por la ciberseguridad, por la protección la confidencialidad, disponibilidad e integridad de los datos en una organización.
El pentesting evalúa exhaustivamente los sistemas de una empresa, poniendo a prueba a las empresas mediante ataques realistas, donde todas las acciones quedan reflejadas en un informe que sirve como guía de ciberseguridad para el personal encargado de la seguridad de la infraestructura, software y datos de la empresa. Establece pautas para evitar futuros ataques e intrusiones, mejorando su ciberresiliencia.
¿Te interesa ampliar tus habilidades en el campo de la ciberseguridad y convertirte en un hacker ético? En OpenWebinars tienes la oportunidad de crecer en el campo de la ciberseguridad con nuestro Curso de Introducción al Ethical Hacking y la Carrera de Especialista en Hacking Ético.
Además, si te suscribes al Plan Profesional, accederás a una gran variedad de formaciones en ciberseguridad y muchas otras especialidades, contando con los primeros 15 días de trial de forma gratuita.
En caso de querer formar a tus equipos de trabajo, te recomendamos solicitar ya una demostración gratuita de OpenWebinars para que te mostremos todas las posibilidades que te ofrecemos para mejorar las habilidades de los mismos.
También te puede interesar
En este taller aprenderás a usar esta herramienta enfocada al pentesting y a la creación de scripts.