• No se han encontrado resultados

Pruebas de penetración al entorno virtual De ICE nivel I

N/A
N/A
Protected

Academic year: 2020

Share "Pruebas de penetración al entorno virtual De ICE nivel I"

Copied!
74
0
0

Texto completo

(1)Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica. TRABAJO DE DIPLOMA Título: Pruebas de penetración al entorno virtual De-ICE nivel I Autor: Dayana García Morell. Tutor: Ing. Henry Moreno Díaz. Santa Clara 2014 "Año del 56 de la Revolución".

(2) Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica. TRABAJO DE DIPLOMA Título: Pruebas de penetración al entorno virtual De-ICE nivel I Autor: Dayana García Morell Email: [email protected]. Tutor: Ing. Henry Moreno Díaz Email: [email protected]. Santa Clara 2014 "Año del 56 de la Revolución".

(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. “Los obstáculos son esas cosas que las personas ven cuando dejan de mirar sus metas”. E. Joseph Cossman.

(5) ii. DEDICATORIA Dedico esta tesis a: mis padres, por darme la vida, su amor, comprensión y apoyo, porque gracias a ellos hoy estoy aquí; mi hermano, por estar a mi lado apoyándome sin condición; mis abuelos, por estar siempre al tanto de mí; Rafael, por su amor y por vivir a su lado momentos inolvidables; mi tutor Henry Moreno, por su apoyo incondicional..

(6) iii. AGRADECIMIENTOS Agradezco a: mis profesores, por todo lo que de ellos aprendí; mi querida Universidad Central “Marta Abreu” de Las Villas, por ser madre amorosa y cuna de sabiduría y valores; la Revolución, por hacer de mí una mujer preparada para los grandes retos del desarrollo y de la vida..

(7) iv. TAREA TÉCNICA. . Búsqueda de referencias bibliográficas para determinar el estado de arte en el tema (textos clásicos, revistas seriadas, etc.), consultas de sitios de Internet, que contengan actualización en el tema.. . Estudio de las características de la seguridad informática.. . Descripción de las pruebas de penetración.. . Selección de las herramientas para la realización de las pruebas de penetración.. . Realización de la penetración al sistema de forma no autorizada provocando la fuga de información crítica.. . Confección del informe final del trabajo de diploma.. Firma del Autor. Firma del Tutor.

(8) v. RESUMEN. La seguridad informática reviste en la actualidad una gran importancia en los sistemas informáticos y redes de comunicación, por ello se hace necesario conocer las formas de evaluación que existen para poder determinar si un sistema es seguro o no. Una de estas formas lo constituyen las pruebas de penetración, las cuales se abordan en este trabajo. Para esto se describen los tipos y las fases que componen las pruebas de penetración, así como las metodologías más utilizadas. Como escenario para llevar a cabo dichas pruebas se utiliza el entorno virtual de entrenamiento de seguridad De-ICE 1.100, el cual se encuentra diseñado deliberadamente con varias vulnerabilidades. Como resultados de este trabajo se tiene el análisis llevado a cabo para la penetración al entorno De-ICE 1.100 mediante el uso de varias herramientas, mostrándose el impacto provocado al explotar las vulnerabilidades presentes. Este trabajo pone de manifiesto la importancia que representa el cumplimiento de las políticas de seguridad por parte de los usuarios pertenecientes a una entidad..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA ................................................................................................................iv RESUMEN ............................................................................................................................. v INTRODUCCIÓN .................................................................................................................. 9 CAPÍTULO 1.. FUNDAMENTOS. TEÓRICOS. SOBRE. LAS. PRUEBAS. DE. PENETRACIÓN. 12 1.1. Conceptos fundamentales de seguridad informática .............................................. 12. 1.1.1. Clasificación general de ataques y mecanismos de defensa ........................... 12. 1.2. Clasificación de los atacantes................................................................................. 14. 1.3. Pruebas de penetración ........................................................................................... 14. 1.3.1. Tipos de pruebas de penetración ..................................................................... 15. 1.3.2. Variantes de las pruebas de penetración ......................................................... 16. 1.3.3. Fases de las pruebas de penetracíon ............................................................... 17. 1.3.4. Metodologías de las pruebas de penetración .................................................. 20. 1.4. Identificación de vulnerabilidades ......................................................................... 22. 1.5. Contraseñas ............................................................................................................ 23. 1.5.1. Tipos de contraseñas ....................................................................................... 24.

(10) vii 1.5.2. Técnicas de password cracking....................................................................... 24. 1.5.3. Tipos de ataques.............................................................................................. 25. 1.5.4. Políticas de las contraseñas ............................................................................. 28. 1.5.5. Contraseñas en Unix/Linux ............................................................................ 30. CAPÍTULO 2.. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE. PENETRACION 33 2.1. Backtrack................................................................................................................ 33. 2.2. Entorno virtual De-ICE .......................................................................................... 34. 2.2.1. De-ICE1.100 (nivel I) ..................................................................................... 35. 2.2.1.1 Diseño del laboratorio de Pentesting al entorno De-ICE 1.100 .................... 35 2.2.1.2 Aplicaciones vulnerables en De-ICE 1.100 .................................................. 36 2.3. Herramientas de Seguridad .................................................................................... 38. 2.3.1. Nmap ............................................................................................................... 38. 2.3.2. John the Ripper ............................................................................................... 39. 2.3.3. Netcat .............................................................................................................. 40. 2.3.4. Hydra .............................................................................................................. 41. 2.3.5. Medussa .......................................................................................................... 44. 2.4. Conclusiones del capítulo ...................................................................................... 44. CAPÍTULO 3.. PRUEBAS DE PENETRACION DEL ENTORNO De-ICE1.100 ......... 45. 3.1. Realización de la fase de escaneo y enumeración de servicios .............................. 45. 3.2. Realización de la fase de explotación .................................................................... 48. 3.3. Fase de mantenimiento del acceso ......................................................................... 57. 3.4. Conclusiones del capítulo ...................................................................................... 60. CONCLUSIONES ................................................................................................................ 61 RECOMENDACIONES ....................................................................................................... 62.

(11) viii REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 63 ANEXOS .............................................................................................................................. 65.

(12) INTRODUCCIÓN. 9. INTRODUCCIÓN. A lo largo del tiempo, el avance de los medios tecnológicos y de comunicación ha provocado el surgimiento de nuevos vectores de ataques y de nuevas modalidades delictivas que han transformado a Internet y las tecnologías informáticas en aspectos sumamente hostiles para cualquier tipo de organización y persona que tenga equipos conectados a la World Wide Web. A diferencia de lo que sucedía años atrás, donde personas con amplias habilidades en el campo informático disfrutaban investigando estos aspectos con el ánimo de incorporar mayor conocimiento; en la actualidad se ha desvirtuado completamente dando origen a nuevos personajes que utilizan los medios informáticos y el conocimiento sobre su funcionamiento como herramientas para obtener algún beneficio económico a través de actos ilegales. Actualmente, cada día se descubren nuevos puntos débiles, por lo que la seguridad reviste una vital importancia dentro de las organizaciones y se hace imprescindible conocer cómo detectar y mitigar a tiempo las vulnerabilidades con vista a evitar posibles ataques que traigan consigo la fuga de información sensible. Bajo este escenario, donde los principales actores son las organizaciones de cualquier magnitud y rubro, los sistemas de información, el dinero y delincuentes informáticos, se torna realmente necesario y fundamental idear estrategias de seguridad que permitan establecer barreras defensivas orientadas a mitigar efectivamente ataques tanto externos como internos. Para lograr mitigar de manera eficaz el impacto provocado por los ataques informáticos, es de gran importancia conocer de qué manera atacan y cuáles son los puntos débiles del.

(13) INTRODUCCIÓN. 10. sistema explotado en los que se deben enfocar los esfuerzos de seguridad con vista a la prevención del mismo. Para llevar a cabo esto se utilizan las pruebas de penetración o Pentesting, las cuales constituyen un procedimiento en el cual una organización toma medidas preventivas contra posibles ataques maliciosos, atacando su propia red sin fines destructivos y dentro del marco legal vigente. Estas pruebas de penetración forman parte de lo que se conoce como hacking ético y a las personas que las realizan se les denominan pentesters. Para esta finalidad se utilizan metodologías y técnicas usualmente propias de un hacker con el propósito principal de la búsqueda de vulnerabilidades y brechas de seguridad que pudieran permitir la intrusión a la red y el consiguiente robo, alteración y/o cualquier otro delito que pudiera aplicarse sobre la información confidencial de la organización. Con el objetivo de formar profesionales capacitados para llevar a cabo estas pruebas existen varias certificaciones tales como como la CISSP (Certified Information Systems Security Professional) de ISC (International Information Systems Security Certification Consortium, Inc), la Certified Ethical Hacker (CEH) de EC-Council, la de Microsoft Certified Systems Engineer (MCSE): Security certification, las desarrolladas por la. GIAC (Global. Information Assurance Certification) entre otras. También se han creado varios entornos de entrenamiento para el aprendizaje sobre dichas pruebas, los cuales permiten el uso de las técnicas y herramientas de penetración en un ambiente seguro y legal. Un ejemplo de estos escenarios de práctica lo constituye el De-ICE 1.100, desarrollado por Thomas Wilhem y configurado deliberadamente con varias vulnerabilidades con vistas a ser explotadas. Teniendo en cuenta las razones expuestas anteriormente, se plantea el siguiente problema de investigación: ¿Cuáles son las vulnerabilidades que presenta el entorno de entrenamiento De-ICE 1.100 y como pueden ser explotadas con vista a comprometer su seguridad? Para dar solución al problema de investigación se propone como objetivo general:  Analizar la seguridad en el entorno De-ICE 1.100 a través de las pruebas de penetración con el objetivo de determinar los puntos de intrusión..

(14) INTRODUCCIÓN. 11. Como objetivos específicos se plantean:  Caracterizar los aspectos principales relacionados con los test de penetración.  Describir la herramientas y técnicas empleadas con vistas a comprometer la seguridad en el entorno De–ICE.  Realizar las pruebas de penetración al sistema; mostrando las brechas de seguridad encontradas que provocan el acceso no autorizado al sistema y por tanto la fuga de información sensible. De los objetivos específicos surgen las siguientes interrogantes científicas:  ¿Cuáles son los elementos fundamentales que caracterizan un Pentesting?  ¿Qué herramientas se emplean para llevar a cabo un Pentesting?  ¿Qué vulnerabilidades presenta el entorno virtual De-ICE que comprometen su seguridad?  ¿Qué privilegios se logran obtener al explotar las vulnerabilidades? Estructura del Trabajo: El informe de la investigación se estructurará en introducción, capitulario, conclusiones, referencias bibliográficas, bibliografía y anexos. En el capítulo 1 se realiza un acercamiento a los principales conceptos de Seguridad de información, Pentesting y a las diferentes vulnerabilidades que pueden afectar a un sistema informático. Por otro lado en el capítulo 2 se exponen las características del entorno virtual De-ICE 1.100, y se describen las herramientas que se van a utilizar. Por último en el capítulo 3 se presentan los resultados obtenidos luego de realizadas las pruebas de penetración a dicho entorno virtual, exponiéndose los distintos niveles de privilegios alcanzados..

(15) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 12. CAPÍTULO 1. FUNDAMENTOS TEÓRICOS SOBRE LAS PRUEBAS DE PENETRACIÓN.. El siguiente capítulo constituye la base teórica sobre la cual se sustenta el trabajo presentado posteriormente. En este se recogen las consideraciones básicas acerca de los principales conceptos de seguridad informática, pruebas de penetración y vulnerabilidades que afectan a los sistemas informáticos. 1.1. Conceptos fundamentales de seguridad informática. La Seguridad Informática se define como un conjunto de métodos y herramientas destinados a proteger los bienes informáticos de una institución (Borghello, 2001). El término seguridad informática está. estrechamente. relacionado. con. tres. aspectos. fundamentales de cualquier sistema de computación:  Confidencialidad: Los objetos de un sistema solo pueden ser accedidos por los elementos autorizados a ello.(Siler et al., 2002)  Integridad: Los objetos de un sistema solo pueden ser modificados por elementos autorizados y de forma controlada.(Siler et al., 2002)  Disponibilidad: Los objetos de un sistema tienen que permanecer accesibles a los elementos autorizados a ello; contrario a la negación de servicio.(Siler et al., 2002) 1.1.1 Clasificación general de ataques y mecanismos de defensa Cuando se materializan las amenazas estamos en presencia de un ataque, estos se clasifican de forma general como ataques de:  Intercepción: acceso a la información por personas no autorizadas. Es un ataque de tipo pasivo contra la confidencialidad de la información. Un ejemplo de este tipo de ataque es el robo de contraseñas o la copia ilícita de programas..

(16) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 13.  Modificación: acceso no autorizado a la información en el que se produce una modificación de la misma. Es un ataque activo contra la integridad de los datos. La desfiguración de un sitio web es un ejemplo de este tipo de ataque.  Interrupción: Deja de funcionar total o parcialmente un sistema informático. Es un ataque activo contra la disponibilidad de la información. Un ejemplo del mismo sería el bloqueo de los servicios de servidores web o de correo electrónico. Aunque los mecanismos de defensa pueden ser muy diversos el objetivo general de los mismos pueden ser de:(Gómez Vieites, 2007)  Prevención: aumentar la seguridad del sistema previniendo la ocurrencia de violaciones a la seguridad. La utilización de un muro de seguridad o firewall es un ejemplo de este tipo de control.  Detección: detectar la ocurrencia de una violación a la seguridad en el momento en que se produce la misma. Un ejemplo de este mecanismo de defensa lo constituyen los sistemas detectores de intrusos.  Recuperación: retornar el sistema a su normal funcionamiento después de una violación. Las copias de respaldo son el ejemplo más ilustrativo. Normalmente se emplea una combinación de varios controles para asegurar los activos informáticos, de acuerdo a lo que se quiere proteger, el costo de los mecanismos de defensa y la probabilidad o el riesgo de la materialización de una amenaza sobre determinado objetivo.(Gómez Vieites, 2007) 1.1.2 Principios de Seguridad Informática Existen algunos principios y estrategias a seguir para mantener adecuadamente la seguridad informática de una institución. A continuación se mencionan estos principios: Mínimo privilegio: se deben otorgar los permisos estrictamente necesarios para efectuar las acciones que se requieran, ni más ni menos de lo solicitado. Eslabón más débil: la seguridad de un sistema es tan fuerte como su parte más débil. Un atacante primero analiza cual es el punto más débil del sistema y concentra sus esfuerzos en ese lugar..

(17) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 14.  Proporcionalidad: las medidas de seguridad deben estar en correspondencia con lo que se protege y con el nivel de riesgo existente. No sería lógico proteger con múltiples recursos un activo informático que no posee valor o que la probabilidad de ocurrencia de un ataque sobre el mismo es muy baja.  Dinamismo: la seguridad informática no es un producto, es un proceso. No se termina con la implementación de. los. medios tecnológicos,. se requiere. permanentemente monitoreo y mantenimiento.  Participación universal: la gestión de la seguridad informática necesita de la participación de todo el personal de una institución. La seguridad que puede ser alcanzada mediante medios técnicos es limitada y debiera ser apoyada por una gestión y procedimientos adecuados, que involucren a todos los individuos. 1.2. Clasificación de los atacantes. Para referirse a los atacantes el término más usado es hacker. Los hackers son expertos en alguna o varias ramas técnicas relacionadas con las tecnologías de la información y las comunicaciones, por ejemplo la programación, redes de computadoras, sistemas operativos, hardware, etc.(Piattini and Del Peso, 2001) El término hacker por lo general se asocia a aquellas personas que tienen elevados conocimientos de seguridad informática. Estos se distinguen según la clasificación de sus acciones entre “White Hats” o hackers que realizan acciones solo intrusivas y los “Black Hats” conocidos como sombreros negros o crackers; estos últimos tienen los mismos conocimientos que los “White Hats” pero sus acciones son destructivas. Prácticamente lo que diferencia a uno u otro bando es el código moral por el que rigen su conducta. Además, existe otra clasificación adicional denominada “Grey Hats” o sombreros grises que eventualmente traspasan el límite entre una y otra clasificación. 1.3. Pruebas de penetración. Una prueba de penetración es la evaluación de la seguridad de un sistema informático o una red mediante la simulación de un ataque en las que se hace uso de diferentes técnicas y herramientas de software que colocan a prueba las medidas y los procesos de seguridad, a este tipo de pruebas de penetración se les denomina hacking ético, y a los profesionales que la llevan a cabo se les denomina pentester.(Engebretson, 2013).

(18) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 15. Unas de las características importantes del hacking ético es la evaluación activa y continua de las medidas de seguridad que tienen los sistemas de información y las redes de comunicación, a través de técnicas conjuntas que complementan el trabajo que se realiza con las herramientas de pruebas. A través de las pruebas de penetración es posible detectar el nivel de seguridad interna y externa de los sistemas de información de la empresa, determinando el grado de acceso que tendría un atacante con intenciones maliciosas. Además, el servicio chequea las vulnerabilidades que pueden ser vistas y explotadas por individuos no autorizados, crackers, agentes de información, ladrones, antiguos empleados, competidores, etc. Las pruebas de penetración tienen una gran importancia debido a que permiten: (Wilhelm, 2010)  Determinar la viabilidad de un conjunto particular de vectores de ataque.  Identificar las vulnerabilidades de alto riesgo que resultan de una combinación de vulnerabilidades de menor riesgo explotados en una secuencia particular.  Identificar las vulnerabilidades que pueden ser difíciles o imposibles de detectar con los sistemas automatizados de la red o por software de detección de vulnerabilidades.  Probar la capacidad de las defensas de la red para detectar con éxito y responder a los ataques. 1.3.1 Tipos de pruebas de penetración Las pruebas de penetración se pueden ser clasificadas de acuerdo al contexto desde donde se realizará la evaluación en pruebas de penetración externas o internas.(Wilhelm, 2013) Prueba de penetración externa: el objetivo es acceder en forma remota a los equipos de la organización y posicionarse como administrador del sistema. Se realizan desde fuera del firewall y consisten en penetrar la zona desmilitarizada (DMZ) para luego acceder a la red interna. Está compuesta por varias pruebas entre las que se pueden mencionar: . Pruebas de usuarios y la “fuerza” de sus passwords.. . Captura de tráfico.. . Detección de conexiones externas y sus rangos de direcciones..

(19) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 16. . Detección de protocolos utilizados.. . Scanning de puertos TCP, UDP e ICMP.. . Intentos de acceso vía accesos remotos.. . Análisis de la seguridad de las conexiones con proveedores, trabajadores remotos o entidades externas a la organización.. . Pruebas de vulnerabilidades existentes y conocidas.. . Prueba de ataques de denegación de servicio.. Pruebas de penetración interna: este tipo de prueba demuestra el nivel de seguridad interno. Se establece que puede hacer un atacante interno y hasta donde es capaz de penetrar en el sistema siendo un usuario con privilegios bajos. Durante este tipo de penetración se realizan las siguientes pruebas: . Análisis de protocolos internos y sus vulnerabilidades.. . Autenticación de usuarios.. . Verificación de permisos y recursos compartidos.. . Pruebas a los servidores principales (WEB, DNS, FTP, SMTP, etc.).. . Pruebas de vulnerabilidad sobre las aplicaciones propietarias.. . Nivel de detección de la intrusión de los sistemas.. . Análisis de la seguridad de las estaciones de trabajo.. . Seguridad de la red.. . Verificación de reglas de acceso.. . Ataques de Denegación de Servicio. 1.3.2 Variantes de las pruebas de penetración Además de clasificar las pruebas de penetración en externas e internas; las mismas se pueden. agrupar en tres grandes grupos de acuerdo al nivel de conocimiento que el. pentester posea sobre la red a la cual se le van a realizar las pruebas de penetración. Estas se clasifican en: (Faircloth, 2011).

(20) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 17.  Caja Blanca (White Box)  Caja Negra (Black Box)  Caja Gris (Grey Box) Las pruebas de tipo White Box tiene como característica que la entidad que solicita el análisis provee al pentester que la realiza la información relativa a la organización, por ejemplo, bloques de direcciones IP, credenciales de acceso, estructura de servidores, entre otras. Por otro lado, también se pacta el alcance de la evaluación, es decir, hasta qué punto se está permitido ingresar en los sistemas de la organización y profundizar en su estructura tecnológica. En este tipo de análisis, el cliente tiene total conocimiento de las tareas que realizará el analista de seguridad, del mismo modo que, muchas veces, también tiene información acerca de cómo y cuándo las hará, a pesar de que esto último no siempre es recomendable. Para el caso del tipo Black Box, el profesional no recibe ningún tipo de información, con lo cual este examen simula de manera más realista el comportamiento que tendría un atacante real, y se lleva a cabo hasta donde las habilidades del especialista lo permitan. Desde la teoría estricta, también existe una variante de esta clase de análisis, conocida como Double Black Box o Double Blind, donde el cliente no tiene conocimiento acerca de qué tipo de pruebas se harán, cómo se llevarán a cabo, ni cuándo. El caso de Gray Box el pentester recibe información parcial sobre la red de la entidad. Este tipo de pruebas simula a un empleado interno, el cual posee una cuenta de acceso a la red interna con privilegios limitados y permitiendo evaluar las amenazas internas de los empleados hacia la entidad.(Faircloth, 2011) 1.3.3 Fases de las pruebas de penetracíon Una prueba de penetración está compuesta por varias fases o etapas las cuales presentan ciertas diferencias de acuerdo a la metodología usada o la certificación aplicada.(Jara and Pacheco, 2012) Los aspectos diferentes pueden estar dados en cuanto al nombre de la fase, el número de elementos que la componen o con respecto a las herramientas utilizadas y las actividades realizadas. A continuación se describen las fases que componente a una prueba de penetración en sentido general..

(21) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 18.  Fase de reconocimiento Esta fase es la que más tiempo consume dentro de la planificación. Primeramente se debe definir al objetivo y, a partir de ello, obtener la mayor cantidad de información sobre el mismo. Para el caso de personas físicas, ejemplos de recopilación de información pueden ser direcciones de e-mail, direcciones físicas, información personal, etc. En el ámbito corporativo, además se buscan direcciones IP, resolución de nombres DNS, etc. La importancia de esta fase radica en la necesidad de determinar el objetivo y obtener toda la información posible (dependiendo del alcance que se haya pactado con la organización), que permita realizar un ataque exitoso. En este sentido, la preparación es crítica ya que, al momento del ataque, no hay tiempo para detenerse y volver a empezar. Asociado a esto, dependiendo de cómo se realice la búsqueda de información, tenemos dos métodos distintos. El primero de ellos es la búsqueda online, donde se va a buscar información utilizando Internet. En cambio, la búsqueda offline abarca técnicas como la ingeniería social.(Jara and Pacheco, 2012)  Fase de escaneo Esta fase utiliza la información previa con el objetivo de detectar vectores de ataque en la infraestructura de la organización. En primer lugar, comienza con el escaneo de puertos y los servicios del objetivo. Posteriormente se determinan los puertos que se encuentran abiertos y se asocian a un servicio dado. Por último se realiza el escaneo de vulnerabilidades, el cual permite identificar las vulnerabilidades en las estaciones de trabajo a nivel de sistema operativo y de aplicaciones. Esto puede ser llevado a cabo mediante herramientas automáticas como Nessus, OpenVas, GFILanguard, entre otras.(Jara and Pacheco, 2012) Conceptualmente, a todo este proceso se puede dividir en seis etapas. En cada una de ellas se buscan distintos tipos de información, desde los equipos vivos en una red o segmento hasta la planificación del ataque en sí mismo. Estas etapas son: detección de sistemas vivos o activos, escaneo de puertos, detección del sistema operativo, identificación de servicios, escaneo de vulnerabilidades y planificación del ataque. Es válido destacar que esta división es conceptual, ya que existen herramientas, como Nmap, que permiten cubrir varias etapas juntas en un mismo análisis..

(22) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 19.  Fase de enumeración Si bien es posible enumerar dispositivos y recursos externamente, la fase de enumeración se realiza desde la red interna. El objetivo de esta fase es obtener información relativa a los usuarios, nombres de equipos, recursos y servicios de red. Para esto, se generan conexiones activas con los sistemas y se realizan consultas directas para obtener esa información.(Jara and Pacheco, 2012) Esta fase de enumeración se realiza de forma diferente en los sistemas operativos de Windows y Unix/Linux. Se deben utilizar técnicas y herramientas diferentes, dependiendo del tipo de sistema que se analiza; por ejemplo no es lo mismo obtener información de usuarios de un Active Directory, de un OpenLDAP o de un servidor NIS. Además, con respecto a los recursos de red compartidos, éstos se pueden enumerar a partir del protocolo NETBIOS o a través de SNMP cuando sea posible. Para el caso de las aplicaciones, se puede utilizar comandos simples como telnet y netcat (nc), los cuales establecen conexiones a distintos puertos y permiten obtener banners, dependiendo de la aplicación y su configuración.  Fase de acceso Una vez detectadas las vulnerabilidades, el gran paso es el ingreso al sistema definido como objetivo. Si esto se realiza en el marco de una simulación o de una prueba de penetración realizada por profesionales, no se suele tomar control sobre el sistema sino, simplemente, detectar las vulnerabilidades y proponer soluciones para resolver los problemas. Al identificar una vulnerabilidad, el atacante busca un exploit que le permita explotarla y obtener el control. Un exploit es una porción de software, fragmento de datos o secuencia de comandos que aprovecha un error intencionalmente, a fin de causar un comportamiento no deseado en un sistema o aplicación, forzando cambios en su flujo de ejecución y permitiendo que sean controlados a voluntad. Este proceso puede realizarse en forma manual o mediante el uso de algún sistema de explotación. Algunos de estos sistemas son Metasploit Framework, Core Impact o Immunity Canvas. En dependencia del tipo de exploit ejecutado, puede ser que el acceso conseguido no posea los privilegios elevados que el atacante desee, y será necesario emprender una escalada de.

(23) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 20. privilegios con el objetivo de poseer control total del sistema atacado.(Jara and Pacheco, 2012) Una de las formas más comunes de escalar privilegios es, a partir del ingreso al sistema, utilizar otro exploit (en este caso local) que otorgue privilegios de administrador (root para Unix/Linux, o Administrador o System para sistemas Windows). Al obtener una cuenta con altos privilegios, el siguiente paso suele ser ejecutar comandos o aplicaciones en forma remota; es decir, ejecutar una aplicación desde la ubicación del atacante y que esta se ejecute en el sistema comprometido.  Fase de mantenimiento del acceso Al conseguir el acceso, el próximo paso del atacante consiste en tratar de mantener el acceso con vistas a que este sea perdurable en el tiempo. En la mayoría de los casos, esto se logra a partir de la instalación y ejecución de diversos tipos de software malicioso. Si bien el comportamiento cambia dependiendo del tipo de software, el resultado siempre es el mismo, el atacante puede retomar el acceso al equipo comprometido cada vez que lo desee. Algunos ejemplos de software que se utilizan en esta etapa son troyanos y backdoors, keyloggers, spyware, etcétera. Una vez completada las pruebas de penetración, es necesario elaborar un informe que contenga todas las vulnerabilidades encontradas en la red atacada, con el objetivo de que los administradores y especialistas de la misma pongan en práctica una serie de medidas para aumentar la seguridad de la misma.(Jara and Pacheco, 2012) 1.3.4 Metodologías de las pruebas de penetración Existen distintas organizaciones que a partir de la experiencia de sus miembros, aportan diferentes metodologías y guías prácticas de seguridad igualmente válidas. A continuación se mencionan algunas de ellas:  OSSTMM  ISSAF  NIST.800.

(24) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 21. OSSTMM (Open Source Security Testing Methodology Manual): es el proyecto más destacado de ISECOM. Esta metodología se centra en los detalles técnicos de los elementos que necesitan ser comprobados, qué hacer antes, durante y después de las pruebas de seguridad, así como evaluar los resultados obtenidos.(Herzog, 2003) Es uno de los estándares profesionales más completos y comúnmente utilizados a la hora de revisar la Seguridad de los Sistemas y se encuentra en constante desarrollo, actualmente se compone de las siguientes secciones:  Sección A -Seguridad de la Información  Sección B – Seguridad de los Procesos  Sección C – Seguridad en las tecnologías de Internet  Sección D – Seguridad en las Comunicaciones  Sección E – Seguridad Inalámbrica  Sección F – Seguridad Física ISSAF (Information Systems Security Assessment Framework) es un marco de trabajo desarrollado por la OISSG (Open Information Systems Security Group). Clasifica la información de la evaluación de seguridad en diversos dominios, evaluando detalles específicos o bien utilizando diversos criterios de prueba para cada uno de estos. Su objetivo es brindar medidas que reflejen las condiciones de escenarios reales para las evaluaciones de seguridad. ISSAF está encarado principalmente para cubrir los requerimientos de la evaluación de seguridad de una organización. Pero también se puede utilizar como referencia para el cumplimiento de otras necesidades de seguridad. Esta metodología incluye los procesos de seguridad, su evaluación y hardening para así obtener un panorama completo de las vulnerabilidades que puedan existir.(OISSG, 2006) ISSAF propone cinco fases para la realización de una completa Prueba de Penetración:  Fase I – Planeación  Fase II – Evaluación  Fase III – Tratamiento.

(25) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 22.  Fase IV – Acreditación  Fase V – Mantenimiento NIST.800 (National Institute of Standards and Technology) es una línea guía de recomendaciones en pruebas de la seguridad de la información.(Scarfone et al., 2008) Entre su contenido se destaca lo siguiente:. 1.4. . System Development Life Cycle. . Documenting Security Testing Results. . Senior IT Management/Chief Information Officer. . System and Network Administrators. . Roles and Responsibilities for Testing. . Network Scanning. . Vulnerability Scanning. . Password Cracking. . Log Reviews. . File Integrity Checkers. . Virus Detectors. . Wireless LAN Testing. . Penetration Testing. Identificación de vulnerabilidades. Una vulnerabilidad es un error de software, hardware o configuración que permite a un atacante ejecutar un código arbitrario que compromete la integridad, disponibilidad o confidencialidad del sistema. A continuación se presentan algunos códigos que se utilizan para identificarlas..

(26) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 23.  CVE (Common Vulnerability and Exposures): constituye un código que permite identificar de forma unívoca a una vulnerabilidad.(Enumeration, 2009) Este código fue creado por la corporación MITRE y permite que los usuarios puedan conocer de forma objetiva las vulnerabilidades de un sistema computacional. Los identificadores CVE se presentan en el formato CVE-Año-Número y están acompañados de una breve descripción de la vulnerabilidad o amenaza y un grupo de referencias pertinentes. Puede ser encontrado en el sitio web http://cve.mitre.org  CVSS (Common Vulnerabilities Scoring System): es una iniciativa publicada y patrocinada por el FIRST (Forum for International Response Teams). Es un sistema de puntuación de vulnerabilidades diseñado con el fin de proporcionar un método abierto y estandarizado para la clasificación de vulnerabilidades en tecnologías de la información. Las tres métricas de CVSS están en un rango de 0 a 10 y se utilizan para determinar la severidad de las vulnerabilidades.(Mell et al., 2007) Se puede encontrar en el sitio web http://www.first.org/cvss Sus características principales son: . Puntuación estándar de vulnerabilidades: el CVSS es neutro desde el punto de vista de las aplicaciones, permitiendo que distintas organizaciones asignen una puntuación a sus vulnerabilidades de TI a través de un único esquema.. . Puntuación contextualizada: la puntuación asignada por una organización corresponde al riesgo que la vulnerabilidad representa para dicha organización.. . Sistema abierto: el CVSS provee todos los detalles sobre los parámetros usados en la generación de cada puntuación permitiendo comprender tanto el razonamiento que sustenta una puntuación como el significado de diferencias entre puntuaciones. El CVSS fue diseñado de forma que fuera fácil de entender para un público general y para permitirle a cualquier organización priorizar el orden en que debe abordar las vulnerabilidades informáticas que la afecten.. 1.5. Contraseñas. Uno de los factores comúnmente explotados por los atacantes lo constituyen. las. contraseñas (passwords). Si bien en la actualidad existen sistemas de autenticación.

(27) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 24. complejos, las contraseñas siguen, y seguirán, siendo una de las medidas de protección más utilizadas en cualquier tipo de sistema informático. (Carling et al., 2001) En consecuencia, constituyen uno de los objetivos más buscados por atacantes informáticos porque conforman el componente principal utilizado en procesos de autenticación simple (usuario/contraseña) donde cada usuario posee un identificador (nombre de usuario) y una contraseña asociada a ese identificador que, en conjunto, permiten identificarse frente al sistema. 1.5.1 Tipos de contraseñas La complejidad de las contraseñas juega un papel clave mejorando la seguridad contra los ataques. Constituye un elemento importante que los usuarios deben asegurar a la hora de crear las contraseñas. La contraseña que se elija debe ser siempre compleja, larga y difícil de recordar. Las contraseñas deben ser una combinación caracteres alfanuméricos. A continuación se muestran algunos tipos de contraseñas.  Contraseñas que contienen letras, caracteres especiales y números: apl@52  Contraseñas que contienen solo números: 23698217  Contraseñas que contienen solo letras: POTHMYDE  Contraseñas que contienen solo caracteres especiales: &*#@ !(%)  Contraseñas que contienen solo letras y números: meetl23  Contraseñas que contienen letras y caracteres especiales: bob@&ba  Contraseñas que contienen letras y caracteres especiales y números: 123@$4 1.5.2 Técnicas de password cracking El password cracking es una técnica utilizada para descubrir contraseñas. Constituye la forma clásica de obtener privilegios a un sistema informático o una red de comunicación. El enfoque común para el rompimiento (cracking). de una contraseña consiste en. continuamente tratar de descifrar la misma usando diferentes combinaciones hasta obtener.

(28) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 25. la correcta. A continuación se describen las principales técnicas de password cracking utilizadas. o Ataque por diccionario: consiste en intentar averiguar una contraseña probando todas las palabras del diccionario. Este tipo de ataque suele ser más eficiente que un ataque de fuerza bruta, ya que muchos usuarios suelen utilizar palabras comunes como contraseña para que la clave sea fácil de recordar, lo cual no es una práctica recomendable. Presenta pocas probabilidades de éxito con sistemas que emplean contraseñas fuertes con letras en mayúsculas y minúsculas mezcladas con números (alfanuméricos) y con cualquier otro tipo de símbolos. Sin embargo, para la mayoría de los usuarios recordar contraseñas tan complejas resulta complicado o Ataque de fuerza bruta: ocurre cuando alguien trata de producir todos y cada clave de cifrado única para los datos hasta que se detecte la información necesaria. Para llevar a cabo este ataque se requiere una gran capacidad de procesamiento. El criptoanálisis es un ataque de fuerza bruta, donde se prueban todas las claves posibles en un intento de recuperar el texto plano usado para producir un texto cifrado en particular. Algunas consideraciones para los ataques de fuerza bruta son: 1. Se trata de un proceso que consume tiempo 2. Todas las contraseñas son eventualmente encontradas o Ataques híbridos: es una combinación entre el ataque de fuerza bruta y el de diccionario. Este tipo de ataque depende del ataque de diccionario. En ocasiones las personas cambian su contraseña añadiendo solo algunos números a su antigua contraseña. En este tipo de ataque, el programa usado para el cracking añade algunos números y símbolos para las palabras del diccionario y trata de romper la clave. Por ejemplo, si la contraseña antigua es "sistema", entonces hay una posibilidad de que la persona va a cambiarlo a "systeml" o "system2". 1.5.3 Tipos de ataques El password cracking es una de las etapas cruciales para el hacking de un sistema. Este proceso es usado con propósitos legales para recuperar las contraseñas olvidadas de los.

(29) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 26. usuarios mientras los usuarios ilegítimos lo usan para obtener privilegios no autorizados a la red o el sistema. Los ataques a las contraseñas se clasifican en base a las acciones del atacante para romper la contraseña. Usualmente existen 4 tipos, los cuales son: Ataques en línea pasivos: es el ataque que se le realiza al sistema que no da lugar a un cambio en el mismo. Esta dado puramente por el monitoreo y la grabación de los datos. Existen tres tipos de ataques en línea pasivos los cuales son: . Wire sniffing: el atacante ejecuta una herramienta analizadora de tráfico en el segmento local de red (LAN) para acceder y grabar todo tráfico de la red. La captura de los datos puede incluir información sensible como las contraseñas y correos. Estas credenciales obtenidas son usadas para acceder de forma no autorizada al sistema objetivo.. . Man -in -the –middle: el atacante adquiere el acceso al canal de comunicación entre la víctima y el servidor para extraer la información. Es difícil de perpetrar y algunas veces puede romperse debido a tráfico no valido.. . Replay: los. paquetes son capturados mediante un sniffer. Luego la. información relevante se extrae y los paquetes se coloca de nuevo en la red. Este tipo de ataque se puede utilizar para reproducir las transacciones bancarias u otros tipos similares de transferencia de datos con el objetivo de replicar o cambiar las actividades, tales como depósitos o transferencias. Ataques en línea activos: es la forma más fácil de obtener acceso no autorizado a nivel de administrador al sistema. Existen tres tipos de ataques en línea activa. Estos son: . Inyección hash: permite a los atacantes inyectar un hash comprometido en una sesión local y utilizar el hash para validar los recursos de red.. . Password guessing: Los atacantes usan un diccionario de palabras y nombres y prueban. todas las posibles combinaciones para romper la. contraseña del servidor. Este tipo de ataque consume gran cantidad de tiempo y de ancho de banda y es fácilmente detectable..

(30) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. . 27. Trojan/Spyware/Keylogger: Los spyware son un tipo de malware que permite a los atacantes recopilar información secreta sobre una persona u organización. Por otro lado con la ayuda de los troyanos un atacante obtiene acceso a las contraseñas almacenadas en la maquina objetivo permitiendo revisar los documentos personales entre otras cosas. Por último los keyloggers son un programa que se ejecutan ocultos y permiten a los atacantes remotos grabar las pulsaciones que se realizan en el teclado.. . Phishing: el phishing o suplantación de identidad es una modalidad de estafa con el objetivo de intentar obtener de un usuario sus datos, claves, cuentas bancarias, números de tarjeta de crédito, identidades, etc. con vistas a ser usados más tarde de forma fraudulenta. Una forma fácil de engaño consiste en suplantar la imagen de una empresa o entidad pública, con el objetivo de hacerle creer a la posible víctima que realmente los datos solicitados proceden del sitio "Oficial" cuando en realidad no lo es.. Ataques sin conexión: los ataques sin conexión (offline) se realizan desde una ubicación diferente que el equipo donde reside la autenticación. Se requiere el acceso físico a la computadora que almacena el archivo de las contraseñas, el cual copia el atacante para luego tratar de romper las contraseñas en su computadora. Algunos métodos para prevenir estos ataques son:  Contraseñas robustas . Usar encriptación. . Remover los LM hashes. Un ejemplo de este tipo de ataques lo constituyen las tablas de arcoíris (Rainbow Tables), las cuales son unas tablas de consulta que ofrecen un compromiso entre tiempo y espacio para obtener claves en texto simple a partir del resultado de una función de hash. Ataques no electrónicos: a este tipo de ataque se les conoce como ataque no técnico ya que no se requiere ningún conocimiento técnico sobre los métodos de intrusión a.

(31) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 28. un sistema. Existen tres tipos de ataques no electrónicos, los cuales son: ingeniería social, shoulder surfing, y dumpster diving. . Shoulder surfing: Se refiere a la utilización de técnicas de observación directa, tales como, mirar por encima del hombro de alguien, para obtener información. Se utiliza comúnmente para obtener contraseñas, números PIN, códigos de seguridad, y datos similares.. . Ingeniería social: Es la interacción con las personas de manera directa o indirecta para obtener información sensible.. . Dumpster diving: Búsqueda de información sensible en las papeleras de reciclaje, cestos de basura de los usuarios, impresoras, etc.. 1.5.4 Políticas de las contraseñas En la mayoría de los equipos informáticos, la autenticación de los usuarios se realiza introduciendo un nombre y una contraseña. Cada usuario tiene asignado un identificador y una clave, que permite comprobar la identidad del mismo en el momento de la autenticación.(Mérida, 2012) La seguridad del sistema va a estar fuertemente relacionada con la buena elección de la contraseña y la confidencialidad de la misma. Por ese motivo, las empresas suelen tener definidas políticas de contraseñas donde se establece la longitud mínima de la misma, su formato y el tiempo que serán válidas, etc. Características que debe cumplir una buena contraseña:  No deben estar formadas por palabras que se encuentren en diccionarios, ni en español ni en ningún otro idioma, ya que cualquier programa de fuerza bruta lo descubriría con facilidad.  No deben usarse solo letras mayúsculas o minúsculas, porque se reducirían las combinaciones en un alto grado. Ejemplo: DAYANA  No deben estar formadas exclusivamente por números, por el mismo motivo que en el caso anterior. Ejemplo: 222414.

(32) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 29.  No se debe utilizar información personal: nombre de nuestros familiares, fecha de nacimiento, número de teléfono, ya que cualquier persona cercana a nosotros podría descubrirla. Ejemplo: dg1991, 27-03-91. Este fallo es muy habitual en las preguntas que te realizan determinad páginas (correo electrónico) cuando no recuerdes la contraseña.  No se debe invertir palabras reconocibles ya que cualquier programa creado para este fin lo descubriría en un corto espacio de tiempo.  No se debe repetir los mismos caracteres en la misma contraseña.  No se debe escribir la contraseña en ningún sitio, ni en papel ni en documentos electrónicos que no hayan sido encriptados.  No se debe enviar en ningún programa que la solicite.  No se debe comunicarla a nadie por teléfono.  Se debe limitar el número de intentos fallidos. Si excede el número máximo de intentos permitidos, el usuario se quedará bloqueado, por lo que tendrá que ponerse en contacto con el técnico de seguridad. Con ello se evita que se pueda seguir haciendo intentos indefinidamente y al final se descubra el número secreto.  Se deben cambiar las contraseñas de acceso, dadas por defecto por los fabricantes de routers y otros periféricos que nos permiten el acceso a la red.  No se deben utilizar las mismas contraseñas en distintas máquinas o sistemas, ya que si la descubren, se haría vulnerable el resto de equipos al que se tienen acceso.  Las contraseñas deben caducar y exigir que se cambien cada cierto tiempo, al menos una vez al año.  No se debe permitir que las aplicaciones recuerden las contraseñas. Por lo tanto, las contraseñas deben ser cadenas que incluyan tanto letras mayúsculas, minúsculas, números y caracteres especiales sin ningún tipo de lógica aparente. La longitud de las mismas debe ser superior a 8 caracteres, aunque lo más recomendable es que supere los quince..

(33) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 30. 1.5.5 Contraseñas en Unix/Linux Los usuarios de un sistema GNU/Linux disponen normalmente de una cuenta asociada (definida con algunos de sus datos y preferencias), junto con el espacio en disco para que puedan desarrollar sus archivos y directorios. Este espacio está asignado al usuario, y sólo puede ser usado por éste (a no ser que los permisos especifiquen cosas diferentes). (Kirch and Dawson, 2000) Dentro de las cuentas asociadas a usuarios podemos encontrar diferentes tipos: La del administrador, con identificador root, que sólo es utilizada para las operaciones de administración. El usuario root es el que dispone de más permisos y acceso completo a la máquina y a los archivos de configuración. Por lo tanto, también es el que más daño puede causar por errores u omisiones. Es mejor evitar usar la cuenta de root como si fuese un usuario más, por lo que se recomienda dejarla sólo para operaciones de administración. Cuentas de usuarios: las cuentas normales para cualquier usuario de la máquina tienen los permisos restringidos al uso de ficheros de su cuenta, y a algunas otras zonas particulares (por ejemplo, los temporales en /tmp), así como a utilizar algunos dispositivos para los que se le haya habilitado. Cuentas especiales de los servicios: lp, news, wheel, www-data son cuentas que no son usadas por personas, sino por servicios internos del sistema, que los usa bajo estos nombres de usuario. Algunos de los servicios también son usados bajo el nombre de root. Un usuario normalmente se crea mediante la especificación de un nombre (o identificador de usuario), una palabra de paso (password) y un directorio personal asociado (la cuenta). La información de los usuarios del sistema está incluida en los siguientes archivos:  /etc/passwd  /etc/shadow  /etc/group  /etc/gshadow.

(34) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 31. A continuación se muestra un ejemplo de unas líneas del /etc/passwd: juan:x:1000:1000:Juan García,,,:/home/juan:/bin/bash root:x:0:0:root:/root:/bin/bash Donde se indica (si aparecen :: seguidos, que el campo está vacío):  juan: identificador de usuario en el sistema.  x: palabra de paso codificada del usuario, si hay una “x” es que se encuentra en el fichero /etc/shadow.  1000: código del usuario, lo usa el sistema como código de identidad del usuario.  1000: código del grupo principal al que pertenece, la información del grupo en /etc/group.  Juan García: comentario, suele ponerse el nombre completo del usuario.  /home/juan: directorio personal asociado a su cuenta.  /bin/bash: Shell interactivo que utilizará el usuario al interactuar con el sistema, en modo texto, o por Shell gráfico. En este caso, el shell Bash de GNU, que es el utilizado por defecto. El fichero /etc/passwd solía contener las palabras de paso de los usuarios de forma encriptada, pero el problema estaba en que cualquier usuario podía ver el fichero, y en su momento se diseñaron cracks que intentaban encontrar en forma bruta la palabra de paso, mediante la palabra de paso encriptada como punto de partida (palabra codificada con el sistema crypt). Para evitar lo esto, actualmente ya no se colocan las palabras de paso en este archivo, sólo una “x” que indica que se encuentran en otro fichero, que es sólo de lectura para el usuario root, /etc/shadow. A continuación se muestra un ejemplo de su contenido para el usuario Juan. juan: a1gNcs82ICst8CjVJS7ZFCVnu0N2pBcn/:12208:0:99999:7::: Donde se encuentra el identificador del usuario junto con la palabra de paso encriptada. Además, aparecen como campos separados por “:” los siguientes:  Días desde 1 de enero de 1970 en que la palabra de paso se cambió por última vez..

(35) CAPÍTULO 1.FUNDAMENTOS TEORICOS SOBRE LAS PRUEBAS DE PENETRACION.. 32.  Días que faltan para que se cambie (0 no hay que cambiarla).  Días después en que hay que cambiarla (o sea, plazo de cambio).  Días en que el usuario será avisado antes de que le expire.  Días una vez expirado, en que se producirá la deshabilitación de la cuenta.  Días desde 1 enero 1970 en que la cuenta está deshabilitada.  Y un campo reservado. Además, las claves de encriptación pueden ser más difíciles, ya que ahora puede utilizarse un sistema denominado md5 (suele aparecer como opción a la hora de instalar el sistema) para proteger las palabras de paso de los usuarios. En /etc/group se encuentra la información de los grupos de usuarios: jose:x:1000: Donde se tiene:  nombre-grupo:contraseña-grupo:identificador-delgrupo:lista-usuarios La lista de usuarios del grupo puede estar presente o no, ya que la información ya está en /etc/passwd, no suele ponerse en /etc/group. Si se pone, suele aparecer como una lista de usuarios separada por comas. Los grupos también pueden poseer una contraseña asociada (aunque no suele ser tan común), como en el caso de los de usuario, también existe un fichero de tipo shadow: /etc/gshadow. Las contraseñas de sistemas los Unix/Linux, se almacenan encriptadas en el directorio..

(36) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. CAPÍTULO 2. TECNICAS. Y. HERRAMIENTAS. PARA. 33. LAS. PRUEBAS DE PENETRACION. En este capítulo se abordan algunas de las características del entorno virtual De-ICE 1.100 donde se presenta la tarea a realizar. También se describen las herramientas que se utilizan en la ejecución de las pruebas de penetración. 2.1. Backtrack. BackTrack es una distribución GNU/Linux en formato LiveCD diseñada para la auditoría de seguridad y relacionada con la seguridad informática en general. Se deriva de la unión de dos grandes distribuciones orientadas a la seguridad, el Auditor + WHAX. (Pritchett, 2012) BackTrack permite diferentes formas de uso tales como Live CD o mediante la instalación en el disco duro. Este ofrece una extensa colección de herramientas tales como: . Aircrack-ng, Herramientas para auditoría inalámbrica. . Kismet, Sniffer inalámbrico. . Ettercap, Interceptor/Sniffer/Registrador para LAN. . Wireshark, Analizador de protocolos. . Medusa, herramienta para Ataque de fuerza bruta. . Nmap, rastreador de puertos. Estas herramientas se encuentran agrupadas en 11 categorías: . Recopilación de Información.. . Mapeo de Puertos..

(37) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION. . Identificación de Vulnerabilidades.. . Análisis de aplicaciones Web.. . Análisis de redes de radio (WiFi, Bluetooth, RFID).. . Penetración (Exploits y Kit de herramientas de ingeniería social).. . Escalada de privilegios.. . Mantenimiento de Acceso.. . Forenses. . Ingeniería inversa. . Voz sobre IP. 2.2. 34. Entorno virtual De-ICE. De-ICE constituye un conjunto de tres Live-CDs (1.100, 1.110 y 2.100) que proveen retos de pruebas de penetración en servidores que simulan posibles escenarios reales. Fue creado por Thomas Wilhelm. en enero de 2007 y se encuentra disponible en el sitio web. www.heorot.net/livecds/ Este proyecto Open Source De-ICE Pentest Live CDs ha sido discutido en los congresos de seguridad a través de los Estados Unidos, y es analizado en el libro titulado Metasploit Toolkit for Penetration Testing, Exploit Development, y Vulnerability Research, publicado por Syngress en septiembre del mismo año.(Cárdenas, 2011) Este conjunto de De-ICE Live-CDs permite demostrar problemas comunes que pueden ser encontrados en un sistema y en las configuraciones de las aplicaciones. A continuación se muestra una lista con las posibles vulnerabilidades que se incluyen en los De-ICE LiveCDs.  Contraseñas débiles  Servicios innecesarios (ftp, telnet , rlogin)  Servicios que no presentan parches instalados  Mucha información disponible en el sitio web  Pobre configuración del sistema.

(38) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 35.  Pobre o no existencia de una metodología de encriptación  Usuarios con privilegios elevados  No filtrado de IPSec (Internet Protocol Security)  Incorrectas reglas de firewall  Contraseñas en texto plano 2.2.1 De-ICE1.100 (nivel I) Como se expuso anteriormente, el proyecto De-ICE está compuesto por tres Live-CDs los cuales son 1.100, 1.110 y 2.100.Cada uno de estos presenta un escenario distinto y requiere de diferentes habilidades para su solución.(Wilhelm, 2013) El De-ICE nivel I (1.100) constituye nivel básico y presenta el siguiente escenario: Un CEO de una pequeña empresa que ha sido presionado por el Comité Administrativo para ser objeto de una prueba de penetración a realizarse desde la empresa. El Director General afirma que su empresa es segura, cree además de que la prueba de penetración será un enorme desperdicio de dinero, sobre todo porque ya tiene una solución de exploración (escaneo) de vulnerabilidades (Nessus). Para hacer “felices” a los del Comité Administrativo, él decide contratarlo a usted y le da un plazo de 5 días para realizar el trabajo, pues como se mencionó él no cree que la empresa sea vulnerable a cualquier intento de acceso no autorizado. Su tarea es analizar solo un servidor en el cual se aloja una página Web que ofrece información de contacto de la misma. El Director General espera que usted intente con todos los tipos de ataques que estén a su disposición, pues está seguro de que usted no podrá vulnerar el sistema y obtener acceso. 2.2.1.1 Diseño del laboratorio de Pentesting al entorno De-ICE 1.100 Para llevar a cabo las pruebas de penetración al entorno de entrenamiento De-ICE 1.100 es necesario cargar el Live-CD usando el software VMware. Además se debe crear una máquina virtual con la instalación de la distribución del Backtrack, debido a que la misma presenta las herramientas que se van a utilizar para llevar a cabo dichas pruebas. En la figura 1 se muestra el diseño del laboratorio virtual compuesto por el Backtrack y el entorno De-ICE 1.100 y se presentan además los parámetros de configuración del editor virtual de red..

(39) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 36. Figura 2.1. Diseño del laboratorio de pruebas de penetración a De-ICE 1.100 Los pasos para llevar a cabo la instalación del Backtrack pueden ser vistos en (Pritchett, 2012). Posteriormente para acceder al mismo se debe ingresar un nombre de usuario y una contraseña (root y toor respectivamente definidos por defecto en el Backtrack) y para acceder a su interfaz gráfica se debe usar el comando startx. 2.2.1.2 Aplicaciones vulnerables en De-ICE 1.100 Vsftpd Vsftpd (Very Secure File Transfer Protocol Daemon) es una implementación de servidor FTP basada en la seguridad. El demonio vsftpd permite además gestionar el ancho de banda entregado para evitar saturaciones del enlace FTP, y es utilizado por algunos proveedores y servidores con hasta 15.000 conexiones simultáneas.(Faircloth, 2011) Se distingue principalmente porque sus valores por defecto son muy seguros y por su sencillez en la configuración, comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD es el servidor FTP más seguro del mundo. Algunas de las características de vsftpd:  Configuración de direcciones IP Virtuales  Usuarios Virtuales  Operación por medio de Inetd o Standalone.

(40) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 37.  Poderosa configuración por usuario  Control de ancho de banda  Límite de conexiones IP por usuario  Encriptación por medio de SSL. OpenSSH OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario. El proyecto está liderado por Theo de Raadt.(Venkatachalam, 2007) OpenSSH cifra todo el tráfico (incluyendo contraseñas) para eliminar de forma efectiva el espionaje, el secuestro de conexiones y otros ataques. Además, OpenSSH ofrece capacidades de túneles seguros y varios métodos de autenticación, y soporta todas las versiones del protocolo SSH. Apache Apache es un proyecto de la Fundación de Software Apache y constituye la plataforma web más utilizada a nivel mundial por su flexibilidad, robustez y estabilidad. Este fue desarrollado en 1995 y se basó inicialmente en el código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo.(Kabir, 1998) Entre sus características se encuentran las siguientes:  Es una tecnología gratuita de código abierto.  Puede ejecutarse en varias plataformas como Unix (BSD, GNU/Linux, etc.), Microsoft Windows y Macintosh.  Soporta el último protocolo HTTP 1.1  Es un servidor altamente configurable de diseño modular  Permite trabajar con scripts desarrollados en Perl, PHP , entre otros  Soporta servlets de Java  Soporta Secured Socket Layer (SSL).

(41) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 2.3. 38. Herramientas de Seguridad. 2.3.1 Nmap Constituye uno de los escaneadores de puertos más completo y utilizado por los profesionales de seguridad para llevar a cabo las pruebas de penetración y tareas de seguridad informática en general.(Lyon, 2009) Este programa de código abierto, escrito originalmente por Gordon Lyon, permite a los administradores de sistemas realizar escaneos de grandes o pequeñas redes para determinar los equipos que se encuentran activos y cuáles son sus servicios. Se encuentra disponible para las plataformas Unix y Windows y puede ser usado por el usuario en modo consola o mediante un entorno gráfico (zenmap). Se puede encontrar en el sitio web http://nmap.org Características: . Descubrimiento de servidores: Identifica computadoras en una red, por ejemplo listando aquellas que responden ping.. . Identifica puertos abiertos en una computadora objetivo.. . Determina qué servicios está ejecutando la misma.. . Determinar qué sistema operativo y versión utiliza dicha computadora, (esta técnica es también conocida como fingerprinting).. . Obtiene algunas características del hardware de red de la máquina objeto de la prueba.. Nmap es difícilmente detectable, ha sido creado para evadir los Sistema de detección de intrusos (IDS) e interfiere lo menos posible con las operaciones normales de las redes y de los anfitriones que son analizados. El modo de ejecución y las opciones para invocar Nmap se pueden observar en el anexo 1. Diferentes tipos de escaneos que se pueden realizar con Nmap:  Escaneos de redes: Este tipo de exploración permite conocer los dispositivos conectados en la red a estudiar..

(42) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 39.  Escaneos de puertos: Una vez identificadas las máquinas, permite descubrir puertos abiertos en las mismas. A partir de ese momento se intenta descubrir los servicios que se están ejecutando y obtener datos que ayudan a identificar el tipo de Sistema Operativo, las aplicaciones, versiones de los mismos.  Escaneos de vulnerabilidades: Encuentra servicios vulnerables que sirvan como punto de entrada en los sistemas. 2.3.2 John the Ripper Es una herramienta de software libre (distribuido bajo la licencia GPL) que se utiliza para romper las contraseñas. Actualmente está disponible para muchos sistemas operativos como: Unix, MS-DOS, Windows, Hasefroch32, BeOS y OpenVMS. Su principal función es detectar claves débiles de Unix, pero puede analizar claves hash. Es una herramienta de seguridad muy popular, ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas.(Whitaker and Newman, 2005) John the Ripper es capaz de autodetectar el tipo de cifrado y permite personalizar su algoritmo de prueba de contraseñas, lo cual ha hecho que sea uno de los más usados en este campo. Utiliza la fuerza bruta para descifrar las contraseñas y entiende varios algoritmos como: . DES, MD5, Blowfish. . Kerberos AFS. . Hash LM (Lan Manager), el sistema usado en Windows NT/2000/XP/2003. Mediante módulos externos, se puede hacer que también funcione con: . MD4. . LDAP. . MySQL. Presenta las siguientes características . Optimizado para muchos modelos de procesador.. . Funciona en muchas arquitecturas y sistemas operativos..

(43) CAPÍTULO 2. TECNICAS Y HERRAMIENTAS PARA LAS PRUEBAS DE PENETRACION.. 40. . Ataques de diccionario y por fuerza bruta.. . Muy personalizable (es software libre).. . Permite definir el rango de letras que se usará para construir las palabras, y las longitudes.. . Permite parar el proceso, y continuarlo más adelante.. . Permite incluir reglas en el diccionario para decir cómo han de hacerse las variaciones tipográficas.. . Se utiliza en línea de comando y no tiene un entorno gráfico.. Funcionamiento John the Ripper presenta varios tipos de funcionamiento. Puede llevar a cabo ataques por diccionario donde para cada palabra del diccionario empleado es cifrada y comparada con el hash a descifrar hasta encontrar la correcta. También esta herramienta prueba con variaciones de estas palabras: a las cuales les añade números, signos, mayúsculas y minúsculas, cambia letras, combina palabras, etc. Por último ofrece el típico ataque de fuerza bruta en el que se prueban todas las combinaciones posibles, sean palabras o no. Este ataque es más lento, y se usa solo en casos concretos, dado que el caso anterior (el ataque por diccionario) permite descubrir rápidamente las contraseñas débiles. 2.3.3 Netcat Netcat es una de las herramientas que más se utiliza. en la depuración, análisis y. manipulación de redes. Fue desarrollada por Hobbit en 1996 y liberada bajo una licencia de Software libre permisiva para UNIX. Actualmente existen versiones para las plataformas de Windows y Mac OS X. Está disponible en el sitio web http://netcat.sourceforge.net Netcat permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un anfitrión, asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). También puede ser empleada para abrir puertas traseras en un sistema.(Kanclirz, 2008) El modo de ejecución y las opciones el netcat puede ser encontradas en el anexo 2..

Figure

Figura 2.1. Diseño del laboratorio de pruebas de penetración a De-ICE 1.100
Figura 2.3. Configuración de la opción Password.
Figura 2.5. Configuración de la opción Start.
Figura 3.1. Comprobación de la conectividad del entorno De-ICE 1.100
+7

Referencias

Documento similar