Pruebas de Penetración

Page 1

Trabajo 3.2: Pruebas de Penetración

Trabajo 3.2 Pruebas de Penetración David Alessandro García López Alicia Nayeli Murillo Carlin Fátima Abigail Porras Noriega Braulio Arturo Rodríguez Hernández IRIC 901

Qué son las pruebas de penetración, y cuál es la importancia y los beneficios de llevarlas a cabo. Las pruebas de penetración (pentesting), también conocidas como ataques de sombrero blanco debido al enfoque ético y legal que se les da a las pruebas, son evaluaciones integrales de una infraestructura o aplicaciones, cuyos resultados logran generar una estrategia que evitará que la organización sea parte de las estadísticas. Dichas pruebas suelen ser actividades que logran evaluar la seguridad de la organización haciendo uso de herramientas digitales y tecnológicas. Las pruebas de penetración son un ejercicio de seguridad en el que un experto en seguridad cibernética intenta encontrar y explotar vulnerabilidades en un sistema informático. El propósito de este ataque simulado es identificar los puntos débiles en las defensas de un sistema que los atacantes podrían aprovechar. Su objetivo es localizar las brechas para prevenir los ataques externos, hacer ver al negocio a qué se enfrenta y visibilizar los riesgos. Las pruebas principales que se utilizan para llevar a cabo las pruebas de penetración son, pruebas de hackeo lo cual permite identificar las vulnerabilidades con las que la organización está expuesta y con la finalidad de poder resolver y mitigar antes de que se materialicen y dañen a la organización. Además de que también se pueden utilizar para garantizar el cumplimiento de una determinada política de seguridad e identificar la capacidad de la organización ante esta situación. La importancia de aplicar pruebas de penetración en las empresas radica en el hecho de que hoy en día con la inseguridad existente en muchas aplicaciones y sistemas se necesita contar con este tipo de pruebas de modo que permitan evaluar el nivel de seguridad de la infraestructura tecnológica. Si bien este tipo de pruebas no es la solución total para la seguridad, desde hace varios años se ha comprobado que gracias a ellas se pueden descubrir una gran cantidad de huecos en los activos críticos de las organizaciones. Tipos de pentesting • Pruebas orientadas a un objeto: Se enfocan a la interacción entre unidades, suponiendo que cada una fue aprobada a nivel de unidad. • Pruebas externas: Son pruebas dirigidas especialmente a los servidores o dispositivos de la organización, especialmente a servidores de dominio DNS, correo electrónico, web o firewalls. Con el objetivo de averiguar si un atacante externo puede entrar a los servicios. • Pruebas internas: Son pruebas que simulan un ataque interno por un usuario autorizado, con privilegios de acceso estándar. Con la finalidad de estimar la vulnerabilidad y la cantidad de daño que pueden causar. • Pruebas a ciegas: Son pruebas que simulan las acciones y procedimientos de un atacante real, limitando severamente la información dada de antemano a la persona o equipo que está realizando la prueba. • Pruebas de doble ciego: Pueden ser útiles para probar el monitoreo de seguridad y la identificación de incidentes de la organización, así como sus procedimientos de respuesta. Algunos de los beneficios del pentesting incluyen, entre otros: • Permiten validar si los controles actuales de seguridad como firewall, control de accesos, métodos de cifrado, almacenamiento de información, entre otros, han sido diseñados e implementados acorde con lo planeado. • Permiten identificar las vulnerabilidades técnicas que no puedan ser detectadas por un análisis de vulnerabilidades tradicional. • Permiten realizar un plan de solución a los hallazgos y de mejora continua. • Permiten mitigar las potenciales amenazas para proteger la integridad de la red. • Brindan más información para gestionar y combatir las posibles vulnerabilidades de manera eficiente. • Permiten probar la capacidad de la ciberseguridad de la entidad. • Destapan las fragilidades del sistema antes de que lo haga un ciberdelincuente. • Permiten cumplir con la regulación de protección de datos y mitigar las sanciones. • Permiten reducir costes asociados a tiempos de inactividad provocados por incidentes de este tipo. • Protegen la reputación de la empresa y asegurar la continuidad de negocio. Pruebas de penetración vs Pruebas de escenario y de rendimiento, en los sistemas de TI Cuando se habla de pruebas ya sean de penetración, de escenario o de rendimiento, se puede encontrar que tienen como relación el hecho de que buscan identificar y conocer cómo será el rendimiento del sistema (Red, Software, etc.),


estas pruebas se realizan con el fin de asegurar que va a funcionar muy bien en distintos escenarios. Ahora, se pueden evaluar varios aspectos de un sistema para asegurar su funcionamiento y controlar su calidad. En este punto el rendimiento, seguridad y usabilidad son factores clave que se deben revisar para obtener resultados concretos. A continuación, definamos qué es cada prueba: • • • •

Prueba de carga (load testing) nos permite identificar la cantidad de peticiones que un sistema puede soportar. Prueba de estrés (stress) consiste en probar los límites que un sistema puede soportar. Test de resistencia (endurance) se hace enviando peticiones a un sistema en ciertos intervalos de tiempo. Escalabilidad (scalability) es un factor que al evaluar nos permite identificar las mejoras a la infraestructura donde reside nuestro sistema, en este caso para poder adaptarlo a las diferentes ramas de TI, por ejemplo, aquí podemos hablar de una red que esté en la nube, sabemos que está en un sistema, pero si ese sistema no logra satisfacer nuestras necesidades buscaremos a otro proveedor que pueda cumplir con nuestras demás necesidades de infraestructura, en este caso una mejor nube. • Auditorías de seguridad: conjunto de protocolos y métodos que chequea una organización para concluir si se están llevando a cabo los estándares de procedimientos y políticas de seguridad. • Evaluaciones de vulnerabilidades: se focalizan en descubrir las vulnerabilidades en los sistemas de información, pero no determinan si estas vulnerabilidades pueden ser explotadas ni de cuantos deterioros puede causar a la compañía en el caso de que ocurriera. • Test de penetración (pentesting) conjunto metódico y escrupuloso que engloba las dos otras categorías; auditorias de seguridad y evaluaciones de vulnerabilidades, Esta intenta demostrar si dichas flaquezas del sistema pueden ser explotadas y el alcance de daños que pueda tener en la empresa, junto con una propuesta de mitigación y/o solución técnica. Sabemos que existen distintas pruebas y que es lo que buscan cada una de ellas, en conclusión, la relación que existe entre las pruebas de penetración y de escenario son las siguientes: • Mostrar áreas de oportunidad: Ambas pruebas muestran las áreas en que los sistemas pueden mejorar e incluso rectificar, por ejemplo, una red en la cual se analizaba con pruebas de penetración se descubrió que tenía habilitada la conexión telnet en uno de sus dispositivos; Ahora en un software o aplicación se hizo una prueba de carga y se descubrió que la aplicación no soportaba más de 10,000 solicitudes. • Reacción en ambientes controlados: Un determinante es que estas pruebas se hacen en un ambiente controlado en el cual se conoce y se tiene la capacidad de controlar lo que pudiese suceder, referente a si se tiene que parar la prueba o detenerla por alguna situación que comienza a salirse de las manos. • Mejora continua: Ayuda que los sistemas sean más resilientes y esto a su vez a incrementar su calidad. Cómo contribuyen las pruebas de penetración a la calidad de los proyectos de TI Cuando nos referimos a "calidad de un proyecto” específicamente en un proyecto de TI podemos definirlo como un producto o servicio que tiene la capacidad de funcionar satisfactoriamente y es adecuado para su propósito. Si se crea un gran producto, pero no desempeña su propósito, el proyecto no ha conseguido cumplir sus objetivos de calidad. De esta manera, cuando se declara un proyecto de calidad, previamente se tuvieron que hacer distintas pruebas para llegar al grado de calidad satisfactoria y en relación con las pruebas de penetración, se podría aplicar el siguiente ejemplo: Un proyecto para un banco donde se implementara una proyecto de una red, el principal propósito de esta red es tener acceso y salida a internet de manera segura, un medio de comunicación donde fluya la información de los sistemas informáticos y otros factores; Regresemos al factor donde se menciona que debe tener acceso y salida a internet, para ello después de haber instalado la red y haber configurado los dispositivos podemos aplicar una prueba de penetración, la cual nos ayudará a identificar si necesitamos mejorar algo entre otras cosas. En este caso la prueba nos ayudará a entregar un proyecto de calidad el cual cumpla su propósito de manera efectiva correspondiente a la salida y acceso a internet de manera segura. Esta es la manera en la que contribuye a la calidad de los proyectos de TI el realizar pruebas de penetración, ya que permiten descubrir aquellas cosas (situaciones, implementaciones, configuraciones, etc.) que se deben mejorar para que el producto cumpla con la calidad que se haya establecido desde un principio en el proyecto y sobre todo para cumplir con las necesidades y objetivos de este. Metodología para llevar a cabo las pruebas de penetración El primer paso para una prueba de penetración comienza con la fase de pre-compromiso , que implica hablar con el cliente sobre sus objetivos para el pentest, trazar el alcance (el alcance y los parámetros de la prueba), etc. Cuando el


pentester y el cliente acuerdan el alcance, el formato del informe y otros temas, comienza la prueba real, la cual la plasmaremos en la siguiente tabla: Etapa

Recopilación de información

Análisis de vulnerabilidades

Explotación de vulnerabilidades

Post-explotación de vulnerabilidades

Reporte o informe

Descripción

Actividades

En esta fase el pentester busca información públicamente que esté disponible sobre el cliente e identifica posibles formas de conectarse a sus sistemas u obtención de información sensible. En el modelado, en la fase de amenazas, el evaluador utiliza esta información para determinar el valor de cada hallazgo y el impacto para el cliente, si el hallazgo permitió que un atacante ingresara al sistema. Esta evaluación permite al pentester desarrollar un plan de acción y métodos de ataque. En esta fase se debe valorar el posible éxito de nuestras estrategias de penetración a través de la identificación de posibles vulnerabilidades. En este momento es cuando el pentester intenta descubrir vulnerabilidades en los sistemas que se pueden aprovechar en la siguiente fase, que es la de explotación. A menudo, durante esta fase, el pentester ejecutan escáneres de vulnerabilidades, que utilizan bases de datos de vulnerabilidades y una serie de comprobaciones activas para hacer una mejor estimación de las vulnerabilidades presentes en el sistema de nuestro cliente.

• Reunión de información • Mapeo de red • Identificación de direcciones/dominios • Protocolos • Servicios • Puertos expuestos • Exposición en fuentes publicas

Aquí se ejecutarán los exploits contra las vulnerabilidades que hemos descubierto (a veces usando una herramienta como Metasploit) en un intento de acceder a los sistemas de un cliente. Como verá, algunas vulnerabilidades serán muy fáciles de explotar, como iniciar sesión con contraseñas predeterminadas. Una vez dentro del sistema se buscará poder llevar al máximo la explotación de vulnerabilidades En esta fase se tratará de conseguir el máximo nivel de privilegios, información de la red y acceso al mayor número posible de sistemas identificando que datos y/o servicios tenemos a nuestro alcance. Se informa de la fase final de las pruebas de penetración. Aquí es donde se transmiten los hallazgos al cliente de una manera significativa. Se le dirá qué están haciendo correctamente, dónde necesitan mejorar su postura de seguridad, cómo ingresó, qué se encontró, cómo solucionar problemas, etc. Se deberá transmitir sus hallazgos claramente a todos, desde el personal de TI encargado de corregir las vulnerabilidades hasta la alta gerencia, que aprueba los cambios a los auditores externos o internos esto dependiendo el caso.

• Identificación de vulnerabilidades • Posible explotación de vulnerabilidades o defectos de configuración • Obtención de accesos/escalamiento de privilegios • Evaluación de accesos remotos • Explotación de vulnerabilidades con herramientas. • Elaboración y ejecución de exploits • Acceso al sistema • Obtención de resultados como accesos, información sensible entro otros elementos. • Escalamiento de privilegios • verificación de alcance de los sistemas de control de acceso lógicos. • Elaboración de informes detallados. • Recomendación de mejores prácticas en el ámbito de seguridad. • Elaboración de solicitudes de cambio en base a los resultados.

Fuentes bibliográficas • Guijarro, H. (22 de mayo de 2018). Qué es un test de penetración y para qué sirve. Obtenido de https://www.itgovernance.eu/blog/es/que-es-un-test-de-penetracion-y-para-que-sirve • Bortnik, S. (2013). Pruebas de penetración para principiantes: 5 herramientas para empezar. UNAM CERT • Catoira, F. (2013). Pruebas de penetración para principiantes: explotando una vulnerabilidad con Metasploit Framework. UNAM CERT • Saucedo, A. L. H., & Miranda, J. M. (2015). Guía de ataques, vulnerabilidades, técnicas y herramientas para aplicaciones web. ReCIBE. Revista electrónica de Computación, Informática, Biomédica y Electrónica. • Coutin García, C. A. (2019). Análisis de vulnerabilidades mediante pruebas de penetración avanzada Pentesting. • Quesada López, C. U., & Jenkins Coronas, M. (2018). Factores asociados a prácticas de desarrollo y pruebas de software : Un estudio exploratorio.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.