Mostrando entradas con la etiqueta Seguridad Informatica. Mostrar todas las entradas
Mostrando entradas con la etiqueta Seguridad Informatica. Mostrar todas las entradas

Hacking ético: mitos y realidades

En los últimos años, y con gran ímpetu, el llamado “hacking ético” ha despertado innumerables puntos de vista a favor y en contra. La combinación de dos palabras tan distantes, parece confundir a muchas personas, pues la palabra “ético” siempre nos refiere a algo “bueno”, mientras que “hacking” indica lo contrario.

Esta problemática se basa en el desconocimiento de la labor que realizan los expertos en seguridad de la información cuando aplican auditorías planeadas a los sistemas a través de diversas metodologías, mediante ellas, evalúan los puntos vulnerables a ataques informáticos en una organización.

Pero, ¿qué es el hacking ético?

El hacking ético es en sí una auditoría efectuada por profesionales de seguridad de la información, quienes reciben el nombre de “pentester”. A la actividad que realizan se le conoce como “hacking ético” o “pruebas de penetración”.

Las pruebas de penetración surgieron como respuesta a la presencia y realización de los primeros ataques informáticos a las organizaciones, los cuales trajeron graves consecuencias, como pérdidas monetarias y de reputación. Es aquí donde interviene el trabajo de un “hacker ético”, ya que su labor es buscar vulnerabilidades en los sistemas de la organización para, posteriormente, poder mitigarlos y evitar fugas de información sensible.

Durante los últimos años, nuevas técnicas de intrusión que atentan contra la seguridad de la información se han sofisticado, por lo que organizaciones y empresas han implementado al hacking ético, aunque combatir la idea de que esta actividad es dañina, no ha sido tarea fácil.

El hacking ético, también es conocido como prueba de intrusión o pentest, se define esencialmente como el ``arte´´ de comprobar la existencia de vulnerabilidades de seguridad en una organización, para posteriormente a través de un informe, revelar aquellos fallos de seguridad encontrados, mitigarlos a la brevedad posible y evitar fugas de información y ataques informáticos.

Pese a su mala fama, no todos los hackers son delincuentes cibernéticos, algunos ayudan a las organizaciones a reforzar su seguridad. Por ello, para tratar de diferenciar a un grupo de otro, se introdujeron los términos crackers y hackers éticos. Los primeros identifican a aquéllos que realizan técnicas de intrusión con fines maliciosos y lucrativos; mientras que los segundos se refieren a quienes lo hacen con fines éticos y por el bien de la organización que lo solicite.

Otra conceptualización que reciben es la de “sombrero negro o Black Hat” y “sombrero blanco o White Hat”.

Los hacker de sombrero negro, mejor conocidos como “Black Hat”, tienen la cualidad de explotar vulnerabilidades en los sistemas con la finalidad de demostrarse que lo pudieron hacer burlando la seguridad del mismo. Ejemplo de ello lo tenemos en el caso acontecido en febrero del 2008, cuando la página web oficial de la Presidencia de la República fue afectada por un atacante que se hacía llamar “H4t3 M3”; logró dejar como recordatorio una imagen de lo más elocuente gracias a que esa página web tenía una vulnerabilidad.

La información fue revelada en el foro de la Comunidad Underground Latinoamericana, en dónde el joven hacker advirtió que podía modificar desde la agenda presidencial hasta las noticias, pero que no lo haría.

Por su parte, los hackers de sombrero blanco o “White Hat”, también conocidos como hackers éticos, pentesters y expertos en seguridad; tienen la finalidad de realizar pruebas de intrusión en organizaciones que así lo pidan, para posteriormente rendirles un informe, en el que se detallan todos aquellos puntos vulnerables encontrados para que, posteriormente, la empresa los mitigue a la brevedad posible.

A continuación, se describe dicha clasificación en la siguiente ilustración:

img1_art1

Fig. 1 Clasificación de sujetos que realizan pruebas de intrusión
Fuente: Elaboración propia

Cuando en 1997, la cultura de la seguridad informática comenzó a tomar fuerza, se pensó que los hackers éticos podían ofrecer sus servicios a las empresas para ayudarlas a ser menos vulnerables, y en 2001 arrancaron en forma este tipo de asesorías.

Convencer a las compañías de contratar un hacker, por mucho que se llame ético, y conseguir el permiso para que ingrese y juegue con sus sistemas no ha sido fácil. “No puedes llegar y simplemente decir te ofrezco un hackeo ético, debes explicar muy bien qué es esto y cuáles son los objetivos”, comenta Luis Alberto Cortés, consultor en seguridad y hackeo ético

Así, el término poco a poco se ha ido aceptando, ahora los hackers éticos empiezan a ser conocidos y buscan sus servicios. Por otra parte, grandes empresas de seguridad, como Ernest & Young o PriceWaterhouse, han empezado a ofrecer servicios de hackeo ético, lo cual ayuda a generar mayor confianza en este tipo de asesorías.

Así mismo, se ha desarrollado, alrededor de estas prácticas, una especie de código de honor y contratos especiales, que se firman entre los hackers éticos y las compañías usuarias, para mayor protección de estas últimas. En dicho contrato, se conviene que la empresa da permiso para realizar la intrusión, marca un lapso de duración, dispone las fechas para hacerlo y cómo se entregarán los resultados, generalmente un reporte, donde se enumeran las vulnerabilidades y fallas encontradas, así como las recomendaciones para mitigarlas.

Generalmente, esos contratos incluyen una cláusula de confidencialidad, donde se estipula que toda información encontrada a raíz de las pruebas de penetración, no podrá ser divulgada por el hacker a otra entidad que no sea la compañía que contrató sus servicios, ni tampoco podrá quedarse con una copia del reporte final generado para la empresa, esto con la finalidad de evitar sea revelado a terceros. De no cumplir con ello, se haría acreedor a una demanda.

¿Qué evalúa un hacker ético?

Los servicios que con mayor frecuencia ofrecen los hackers blancos (hackers éticos) a las empresas son las pruebas de penetración, con la intención de analizar si la compañía está preparada para soportar un ataque sofisticado perpetrado desde fuera, es decir por un hacker externo o por un atacante interno con conexión a la red.

Durante las pruebas de penetración, según enumera Victor Chapela, se analizan tanto la red interna, como Internet, aplicaciones expuestas, servidores, puertos y avenidas de acceso, además se hacen pruebas de contraseñas. Al mismo tiempo, se analiza la red inalámbrica, de ésta se revisa la configuración, se hace sniffing[1] de tráfico y contraseñas, intentando penetrar y romper el cifrado.

Parte de la auditoría incluye también revisar módems, VPN, página web, incluso se hace ingeniería social, es decir se trabaja con el personal o con los asociados de la empresa para ver si se dejarían engañar para proporcionar contraseñas o acceso a la red.

De igual forma, se mide el nivel de respuesta a incidentes internos, también se busca emular si un empleado de bajos privilegios podría tener acceso a los estados financieros o a la nómina de la compañía. Se consideran además los valores de los activos, la criticidad de la vulnerabilidad y la probabilidad del ataque, su impacto, la forma de corregirlo y el esfuerzo requerido para esto.

Para evitar cualquier contratiempo o daño a la infraestructura, o continuidad de negocio del cliente, las pruebas siguen una metodología y manejan estándares, como el Manual de la Metodología Abierta de Comprobación de la Seguridad (OSSTMM, por sus siglas en inglés) o el Proyecto Abierto de Seguridad de Aplicaciones Web (OWASP).

Según el Mapa de Seguridad propuesto por el OSSTMM[2], las secciones a las cuales se aplican el hacking ético son las siguientes:

img2_art1

Fig. 2 Mapa de Seguridad
Fuente: Tomado del Manual de la Metodología Abierta de Testeo de Seguridad OSSTMM 2.1 de ISECOM

A continuación, se describen brevemente dichas secciones.

a. Seguridad física

Alude a las pruebas de seguridad realizadas a un medio físico y no electrónico en la naturaleza. Comprende el elemento tangible de la seguridad donde la interacción requiere un esfuerzo físico o una transmisión de energía para que sea manipulado. A considerar:

  • Revisión del perímetro 
  • Revisión de monitoreo
  • Evaluación de controles de acceso
  • Revisión de respuestas de alarmas
  • Revisión de ubicación y
  • Revisión de entorno.

b. Seguridad en las comunicaciones

Comprende dos fases: Telecomunicaciones y las redes de datos. La primera fase alude a todas las redes de telecomunicación, sean digitales o analógicas, la otra, se refiere a todos los sistemas electrónicos y redes de datos donde la interacción se realiza a través de cables establecidos y cables de líneas de red.

c. Seguridad inalámbrica

Refiere a todas las comunicaciones electrónicas, señales y emanaciones que se producen del conocido espectro EM – Electromagnetic. Esto incluye ELSEC como comunicaciones electrónicas, SIGSEC como señales, y EMSEC que son emanaciones sin ataduras por los cables. Los módulos de verificación requeridos en el hacking ético para dicho rubro son:

  • Verificación de radiación electromagnética (EMR)
  • Verificación de redes inalámbricas 802.11, Verificación de redes bluetooth
  • Verificación de dispositivos de entrada inalámbricos
  • Verificación de dispositivos móviles inalámbricos
  • Verificación de comunicaciones sin cable
  • Verificación de dispositivos de vigilancia inalámbricos
  • Verificación de dispositivos de transacción inalámbricos
  • Verificación de RFID y
  • Verificación de sistemas Infrarrojos.

d. Seguridad en las tecnologías de Internet

Se refiere a las pruebas de intrusión efectuadas a las aplicaciones web, tales pruebas son esencialmente el "arte" de comprobar una aplicación en ejecución remota o local, sin saber el funcionamiento interno de la aplicación, para encontrar vulnerabilidades de seguridad[3]. Los módulos de verificación requeridos en el hacking ético para dicho rubro son:

  • Logística de Controles,
  • Sondeo de Red,
  • Identificación de los servicios de sistemas,
  • Búsqueda de información competitiva,
  • Revisión de privacidad,
  • Obtención de Documentos,
  • Búsqueda y verificación de vulnerabilidades,
  • Testeo de aplicaciones de internet,
  • Enrutamiento,
  • Testeo de sistemas confiados,
  • Testeo de control de acceso,
  • Testeo de Sistema de Detección de Intruso IDS,
  • Testeo de Medidas de Contingencia,
  • Descifrado de contraseñas,
  • Testeo de Negación de servicios y
  • Evaluación de políticas de Seguridad.

e. Seguridad del resguardo de información

Aborda los medios empleados para el almacenamiento adecuado de la información, va ligado con los controles empleados para su seguridad.

f. Seguridad de los proceso

Representa un método para lograr acceso privilegiado a una organización y sus activos mediante la ayuda involuntaria del personal de la organización, en especial con la ayuda de aquellos que resguardan los puntos de accesos principales. Esto se hace por medios de comunicación tales como el teléfono, e-mail, chat, tablones de anuncios, etcétera, y se realiza de una manera fraudulenta con la finalidad de obtener una posición "privilegiada

En este rubro la aplicación del hacking ético se emplea por medio de la práctica de la ingeniería social, la cual es una técnica especializada o empírica del uso de acciones estudiadas o habilidosas que permiten manipular a las personas para que voluntariamente realicen actos que normalmente no harían[4].

En conclusión, el hacking ético es una técnica aplicada a distintos escenarios, por lo que es importante hacerlo del conocimiento de la gente en beneficio de las organizaciones; así la relación entre detección y explotación de vulnerabilidades existentes podrá controlarse de la mejor manera posible.

Referencias:

  • Harris, S. et. al. “Hacking ético. Traducción de: Gray hat hacking” (2005). Madrid: Anaya Multimedia.
  • Picouto, F. et. al. “Hacking práctico” (2004). España: Anaya Multimedia.
  • Daltabuit, E. et. al. “Seguridad de la información” (2007). Noriega, México: Limusa
  • Aceituno, V. “Seguridad de la información: Expectativas, riesgos y técnicas de protección “(2006). México: Limusa.
  • Rodríguez, L. A. “Seguridad de la información en sistemas de cómputo” (1995). México D.F: Ventura.
  • E-WORLD: Arm yourself against black hats, Anonymous. Businessline. Chennai: Jul 12, 2010.
  • DATA SECURITY AND ETHICAL HACKING: Points to Consider for Eliminating Avoidable Exposure, Ronald I Raether Jr. Business Law Today. Chicago: Sep/Oct 2008. Tomo 18, No. 1; Pág. 55
  • Ethical hacking on rise, Bill Goodwin. Computer Weekly. Sutton: Jan 31, 2006. Pág. 8 (1 página)
  • Ethical Hackers: Testing the Security Waters, Phillip Britt. Information Today. Medford: Sep 2005. Tomo 22, No. 8; Pág. 1 (2 páginas)
  • IT takes a thief: Ethical hackers test your defenses Bill Coffin. Risk Management. New York: Jul 2003. Tomo 50, No. 7; Pág. 10).
  • MITNICK, Kevin, “Controlling the Human Element of Security. The Art Of Deception", Ed. John Wiley & Sons Australia, USA, 2002, 577 pp.

[1] Sniffing: Se trata de una técnica por la cual se puede "escuchar" todo lo que circula por una red. Esto que en principio es propio de una red interna o Intranet, también se puede dar en Internet.

[2] HERZOG, Peter, “OSSTMM 2.1 Manual de la Metodología Abierta de Testeo de Seguridad”. ISECOM Institute for Security and Open Methodologies.

[3] 6 OWASP Foundation. “Guía de pruebas OWASP versión 3.0”.

[4] MITNICK, Kevin, “Controlling the Human Element of Security. The Art Of Deception", Ed. John Wiley & Sons Australia, USA, 2002, 577 pp.

[ Read More ]

Firefox, Internet Explorer y Adobe vulnerados en concurso de ethical hacking

7445898404_859ed5ac0e_z-623x427

 

Esta semana se ha desarrollado el concurso Pwn2Own, en el que se repartieron $400.000 Dólares a algunos participantes que han logrado vulnerar aplicaciones tan populares como Internet Explorer, Safari, Mozilla Firefox y algunos productos de Adobe.

El grupo francés Vupen, conocido por comercializar las vulnerabilidades que han encontrado, se alzó con el premio más grande otorgado, unos $300.000 por lograr vulnerar Adobe Flash y Reader, además de los exploradores Mozilla Firefox e Internet Explorer. Tanto las brechas de Adobe como la de Firefox se lograron a través de ejecución de código, mientras que la perteneciente a IE resultó a través de un traspaso de sandbox, un objetivo bastante común entre los atacantes. Más allá de estos descubrimientos, una novedad es que Vupen ha hecho públicas las vulnerabilidades, algo que hasta hace poco tiempo atrás no hacía, afirmando que sus descubrimientos eran exclusivos para sus clientes.

Por su parte, Google llevó adelante un “hack” del navegador Safari de Apple, mientras que otros dos investigadores utilizaron una serie de vulnerabilidades para atacar Firefox. Una de estas falencias de Firefox permitió escalar privilegios dentro del navegador, mientras que otra se pudo utilizar para burlar las medidas de seguridad del navegador. Asimismo, el grupo Zero Day Initiative presentó un exploit multi-stage contra Internet Explorer, lo que le valió un premio compartido con Google de $82.500, que fueron donados a la Cruz Roja de Canadá.

El concurso proponía un desafío llamado “Exploit Unicorn” que consistía en vulnerar el Microsoft Windows Internet Explorer utilizando Windows 8.1 en una máquina de 64 bits y con la herramienta de Microsoft EMET (Enhanced Mitigation Experience Toolkit) encendida.

Es importante destacar que este concurso tiene como premisa el ethical hacking y uno de los organizadores afirmó: “Todas las vulnerabilidades fueron comunicadas a las respectivas empresas de manera privada, y cada uno trabajará en su resolución de acuerdo a sus propios procesos.”

Créditos imagen: coddogblog

Autor Editor, ESET

[ Read More ]

Análisis de volcado de memoria en investigaciones forenses computacionales

human brain on white background

Los atacantes informáticos mejoran sus técnicas día con día para lograr penetrar, incluso en los sistemas informáticos mejor protegidos, los cuales son custodiados fuertemente por una gran cantidad de controles administrativos, técnicos y por un equipo de administradores especialistas en respuesta y análisis de incidentes informáticos. En esta carrera, solo triunfarán aquellos con la capacidad para dominar los métodos, técnicas y herramientas más avanzadas para superar a los adversarios.

Algunas de las armas más poderosas de los atacantes son los rootkits, que son malware que permite ocultar los procesos maliciosos, puertas traseras y archivos que se utilizan para tomar control de los sistemas comprometidos. Según Hoglund y Butler,[1] los rootkits consisten en uno o más programas y código que permiten mantener acceso permanente e indetectable en una computadora. Jesse D. Kornblum[2], uno de los pioneros del análisis forense computacional, indica que son programas maliciosos que subvierten silenciosamente un sistema operativo para ocultar procesos, archivos y actividad.

Hay dos tipos de rootkits: los de nivel de usuario y los de nivel de kernel. Algunos investigadores[3] consideran otros tipos adicionales: los que afectan el BIOS (bootkit) y los basados en virtualización. Sin embargo, nos enfocaremos a tratar los dos primeros.

Los rootkits a nivel de usuario tienen como objetivo reemplazar programas del sistema por versiones modificadas que ocultan información relacionada con la actividad maliciosa del intruso informático. Por ejemplo, un rootkit de nivel de usuario puede ser un programa llamado “netstat”, especialmente diseñado para ocultar una conexión de red que es utilizada como puerta trasera por el atacante. Este tipo de rootkits son fácilmente detectados por programas como TripWire, que revelan modificaciones en los programas del sistema.

Los rootkits a nivel de kernel alteran estructuras clave ubicadas en el espacio de kernel (como la tabla de llamadas al sistema), así no requieren modificar los programas del sistema para alterar el resultado que éstos muestran al usuario final. Esta característica dificulta que sean detectados por herramientas de seguridad, administradores de sistemas y especialistas en seguridad informática.

¿Cómo detectar estas perversas y poderosas herramientas?

Existen tres opciones: la primera -y más sencilla- es ejecutar programas especializados en la detección de rootkits, como Rootkit Hunter, Chkrootkit (para sistemas basados en UNIX) o rootkitrevealer (para Windows XP y Server de 32 bits). Algunos de estos programas, además de ser capaces de detectar rootkits conocidos, incorporan alguna funcionalidad genérica para detectar nuevas amenazas. Sin embargo, no existe la seguridad de que un nuevo rootkit utilice esas funcionalidades genéricas, por lo tanto, no hay garantía de que estas herramientas logren detectarlos.

Para explicar la segunda opción, es necesario  mencionar la forma en la que se ligan los programas, los cuales pueden estar compilados de forma dinámica o estática.

De forma dinámica, los programas usan bibliotecas del sistema, que son porciones de código externas ubicadas en el sistema operativo. Si por el contrario, están compilados estáticamente, los programas contienen en sí mismos todo el código necesario para su funcionamiento.volcadosmem2

La forma de compilación más común es la dinámica, pues diferentes programas comparten alguna biblioteca del sistema, y esto permite optimizar el espacio en disco.  Sin embargo, si alguna de las bibliotecas compartidas es alterada por malware (incluyendo rootkits), el resultado de ejecutar un programa que haga uso de dicha biblioteca, también se vería afectado por esta alteración.

Realizar un diagnóstico, utilizando programas de auditoría compilados de forma estática, evitará que el resultado que producen sea alterado por rootkits a nivel de usuario que hayan alterado bibliotecas del sistema. Pero esta técnica no es efectiva contra rootkits a nivel de kernel.

La tercera y última opción, además de ser la que ofrece una mayor posibilidad de detectar rootkits a nivel de kernel, es el análisis del volcado de memoria[4]. Para explicar cómo funciona, recordaremos algunos conceptos de arquitectura de computadoras.

Una computadora tiene dos tipos de memorias, principal y secundaria. La primera es la de mayor velocidad de lectura, intercambia datos constantemente con el procesador y es de menor tamaño que la memoria secundaria. Almacena la información de forma temporal mientras la computadora se encuentra encendida y, en cuanto se apaga, la información se pierde.

Volcar la memoria consiste en copiar el contenido de la memoria principal en un archivo, el cual puede ser analizado posteriormente para obtener información del estado de la computadora en el momento del volcado.

volcadosmem3

¿Por qué es tan importante incluir el análisis de volcado de memoria en una investigación forense computacional hacia atacantes informáticos de alto perfil? Porque este tipo de intrusos utilizan el cifrado y ofuscación para protegerse. Los más sofisticados, incluso utilizan herramientas que nunca escriben información en memoria secundaria. Sin importar qué tan perfeccionadas sean las técnicas empleadas por los atacantes informáticos, todo programa que se ejecuta en una computadora, en algún momento se almacena en memoria principal. Por esa razón, es muy probable que el volcado de memoria contenga los programas utilizados por los atacantes informáticos o, al menos, rastros de ellos.

Desde hace años, los analistas forenses computacionales han capturado el contenido de la memoria. Su análisis consistía en la extracción de cadenas de texto para luego buscar direcciones IP o URLs que podían dar un gran contexto al investigador forense, pero no se lograba obtener otras estructuras de la memoria.

En 2007 se creó Volatility, una herramienta para interpretar el contenido de la memoria, que va mucho más allá de las técnicas tradicionales de búsqueda de cadenas de texto. Este poderoso programa tiene la capacidad de interpretar las estructuras internas de memoria que almacena, entre otras cosas, la información de los procesos en ejecución y conexiones de red que estaban activas en el momento en que se capturó la memoria. Incluso proporciona información de conexiones de red y procesos ya finalizados para el momento en que se realizó la captura. Los cuales pueden ser indicios claves para resolver un caso.

En sistemas operativos Windows, particularmente, esta herramienta tiene la capacidad de mostrar  las sentencias exactas ejecutadas en la terminal de comandos cmd.exe que, en la mayoría de las ocasiones, no es posible obtener con el análisis de memoria secundaria, ya que no se encuentra habilitado de forma predeterminada ninguna bitácora que almacene esta información.

revista17btn_descarga(opt)_3Entre otras herramientas se encuentra Red Line, la cual tiene interfaz gráfica desarrollada por la compañía Mandiant. Ésta se enfoca exclusivamente al análisis de volcados de memoria de sistemas operativos Windows. También está Volatility, que es una herramienta de código abierto con interfaz por línea de comandos desarrollada en el lenguaje Python que permite analizar volcados de memoria de sistemas operativos Windows, GNU/LINUX, Mac OS y Android. Gracias a que esta herramienta es de código abierto, tiene una gran comunidad de desarrolladores que extienden continuamente su capacidad por medio de módulos o plugins[5].

No cabe duda de que, tanto los atacantes informáticos como los investigadores forenses digitales, tendrán que mejorar sus técnicas, métodos y herramientas constantemente, con el fin de mantener la ventaja en la guerra cibernética, la guerra de la era digital.

El análisis de volcado de memoria será cada vez más importante para resolver con éxito los casos de intrusiones informáticas avanzadas.

Referencias

Greg Hoglund y James Butler, “Rootkits, Subverting the Windows Kernel”, Addison-Wesley, 2009, ISBN 0-321-294319-9.

Kornblum, Jesse, Exploiting the Rootkit Paradox with Windows Memory Analysis , en: http://www.utica.edu/academic/institutes/ecii/publications/articles/EFE2FC4D-0B11-BC08-AD2958256F5E68F1.pdf

Pär Österberg Medina, Detecting Rootkits in Memory Dumps, en: http://www.terena.org/activities/tf-csirt/meeting27/oesterberg-rootkits.pdf

http://code.google.com/p/volatility/

http://code.google.com/p/volatility/wiki/Plugins

http://code.google.com/p/volatility/wiki/VolatilityIntroduction


[1] Hoglund y James Butler, “Rootkits, Subverting the Windows Kernel”, Addison-Wesley, 2009.

[2] Kornblum, Exploiting the Rootkit Paradox with Windows Memory Analysis  http://www.utica.edu/academic/institutes/ecii/publications/articles/EFE2FC4D-0B11-BC08-AD2958256F5E68F1.pdf

[3] Pär Österberg Medina, Detecting Rootkits in Memory Dumps, http://www.terena.org/activities/tf-csirt/meeting27/oesterberg-rootkits.pdf

[4] Kornblum, Jesse,  Ibidem.

[5] http://code.google.com/p/volatility/wiki/Plugins Volatility Project

[ Read More ]

10 consejos para mantener nuestra seguridad en el celular

Ahora que el Banco Mundial reporta más teléfonos celulares que personas en el mundo[1], la gente se ha acostumbrado a confiar mucha información personal en los dispositivos móviles. En un celular se encuentran contactos de familiares y amigos, entradas directas a redes sociales y multitud de aplicaciones con información personal, bancaria, agendas y documentos laborales. Al descuidar éste tipo de información es relativamente sencillo comprometer la seguridad del equipo y de sus propietarios. En este artículo se listan 10 consejos para proteger nuestra información y flanquear los peligros más comunes.

1. Activa el acceso a tu dispositivo mediante el PIN (número de identificación personal) y un código de seguridad de uso.

consejoscel1

El número de identificación personal (PIN, por sus siglas en inglés Personal Identification Number) está registrado en el «chip» o tarjeta SIM (Suscriber Identity Module, módulo de identidad del suscriptor) como medida para proteger los datos si se reinicia el equipo o cuando se cambia el chip del dispositivo. Cuando esto sucede, se activa un menú para ingresar el PIN. Si se opta por este método, es importante guardar en un lugar seguro la tarjeta plástica que acompañaba a la SIM en el momento de su compra, pues allí también está el código PUK (PIN Unlocked Key, clave para desbloquear el PIN) en caso de que el equipo se bloqueé.

Además del PIN, puede activarse un mecanismo de seguridad para usar el equipo. De acuerdo con cada fabricante, puede ser un número, una secuencia de movimientos, un tono de voz o una palabra clave. Esto será una barrera adicional y sencilla para proteger los datos ante cualquiera que tome el teléfono.

2. Realiza una copia de seguridad de los datos del dispositivo.

consejoscel2

Respaldar es extremadamente importante, porque permite guardar la información del móvil en caso de falla, pérdida de datos o borrados accidentales. Hay varias formas para hacer respaldos. Una opción rápida es la copia a la tarjeta de expansión o mediante el software de sincronización del fabricante, que también puede respaldar datos como favoritos o las contraseñas Wi-Fi. Dicho software de sincronización hace copias de seguridad periódicas con los datos y ajustes en aplicaciones, mensajes, diccionarios del teclado, entre otras configuraciones. Al conectar el equipo para recargarlo a la PC se puede realizar el respaldo.

Otra alternativa son los servicios en la nube para respaldar en Internet fotos o archivos conforme se generan, éstos pueden ser aplicaciones en línea que guardan datos, agendas y contactos. Lo importante es tener un esquema de respaldo disponible por cualquier imprevisto.

3. Activa las conexiones por Bluetooth, infrarrojos y WiFi solo cuando vayas a utilizarlas.

consejoscel3

Las ventajas de comunicación mediante los puertos Bluetooth, infrarrojo o Wi-Fi son evidentes: facilitan usar un manos libres en el auto, conectarse con impresoras, otros móviles y enviar texto o imágenes a otras personas, entre otras. Pero tenerlas encendidas todo el tiempo tiene dos consecuencias: en poco tiempo acaban con la batería del teléfono y propician la fuga de datos.

Al estar abierta alguna señal del teléfono, usuarios malintencionados pueden aprovecharse para transmitir virus o conectarse al dispositivo y obtener contraseñas o contactos, dependiendo el modelo y sistema del equipo. Al conectarse a redes WiFi públicas o inseguras, se puede interceptar con relativa facilidad la información que viaja desde nuestro teléfono. Otra práctica común es el bluejacking (la recepción de mensajes o archivos indeseados): cualquier persona que vea nuestro dispositivo con los puertos Bluetooth o infrarrojo habilitados puede, desde gastar una broma o iniciar conversaciones aparentemente inocentes, hasta emplear ingeniería social para cometer posteriormente un robo. Como buena práctica, es mejor evitar que sepan que se posee un buen equipo móvil.

4. Asegúrate de que la información transmitida o recibida esté libre de malware.

consejoscel4

Según el sistema operativo de cada teléfono, existe una variedad de malware que puede afectar su funcionalidad. Para combatirlo, instala un paquete antivirus y utiliza los antivirus de tus aplicaciones en línea para comprobar los archivos que se transmiten. Asimismo, cuida los archivos que se instalan o se usen en el teléfono. Un análisis del antivirus nunca está de más cuando se reciben archivos de otras personas.

5. Descarga aplicaciones solo de sitios de confianza.

consejoscel5

La seguridad de datos en tu teléfono es el blanco preferido de programas que sustraen tus preferencias y configuraciones. Existe una cantidad enorme de aplicaciones con funciones ocultas para crear desperfectos en un teléfono o para enviar hábitos de consumo y preferencias a agentes publicitarios. La recomendación es solo instalar una aplicación cuando se corrobore la confiabilidad de su procedencia y se esté seguro de que se utilizará.

Las tiendas de aplicaciones del fabricante de tu equipo o del sistema operativo de éste, son ideales para instalar aplicaciones. Para llegar a ellas solo debes registrarte, la mayoría de las descargas son gratuitas. También hay sitios (como foros y blogs) que hablan sobre aplicaciones móviles que desarrollan gente y empresas entusiastas que tienen buenas opciones para tu equipo. Es cuestión de buscar referencias adicionales en Internet y obtenerlas de su sitio oficial.

Descargar aplicaciones crackeadas (liberadas del mecanismo que comprueba si fueron adquiridas legalmente) puede tener consecuencias, como descargar software defectuoso o programas espía. Además, hay que vigilar los permisos de las aplicaciones que se instalan: aunque vengan de una fuente de fiar, pueden solicitar más permisos de los necesarios.

De igual manera, nunca hay que abrir enlaces facilitados a través de mensajes SMS/MMS no solicitados que impliquen la descarga de contenidos en el equipo. Ésta es una forma popular para propagar aplicaciones que dañan dispositivos móviles como parte de una cadena por Internet. Por mucho que digan que vienen de parte de tu operador de telefonía, es mejor desconfiar.

6. Cierra todas las sesiones iniciadas al terminar de usarlas.

consejoscel6

Nunca se sabe cuándo se puede perder el teléfono o cuándo pueda caer en manos equivocadas, aunque sea solo por unos minutos. Una persona que utiliza tu teléfono después de ti, tiene la facilidad de acceder a las páginas que hayas visitado y a la información personal que dejes abierta. Emplea contraseñas seguras y nunca las facilites a terceros.

7. Mantén el software del dispositivo siempre actualizado.

consejoscel7

Al mantener actualizado el software del equipo se evitan fallos de seguridad y se agregan y optimizan características ante problemas potenciales que los fabricantes encuentran. Las actualizaciones menores van enfocadas a resolver fallos y mejorar la seguridad, por lo tanto siempre es buena idea instalarlas. En cambio, las actualizaciones mayores suponen modificaciones relevantes en el software, las cuales pueden requerir mejores prestacionesde hardware, por lo que es importante verificar en las notas de actualización y en foros que el equipo mantendrá su rendimiento después de incorporar nuevas funciones y utilidades.

Evitamodificaciones de software extraoficiales[2] para garantizar que, cuando se actualice el equipo, siga funcionando correctamente a buena velocidad y con el esquema de seguridad que proporciona el fabricante. Una actualización homebrew puede ser divertida o provechosa de momento, pero puede representar un hueco de seguridad a futuro o vacío al agregar nuevas aplicaciones.

8. Instala una aplicación de borrado de datos remoto.

consejoscel8

Instalar una aplicación para borrar los datos remotamente es una buena idea en el caso de extraviar el celular. Con alguna de estas aplicaciones se puede activar el celular mediante un mensaje de texto antes o después del robo o extravío y, de esa manera, se borra la información privada. Entre las características adicionales, según el paquete que se instale, se puede: localizar el móvil incluso si el GPS está desactivado, producir fuertes alarmas (aunque el equipo esté en modo silencioso), obtener una copia de seguridad y bloquear el dispositivo al conectarse desde cualquier navegador web después del incidente.

9. Guarda el número IMEI.

consejoscel9

Una forma para ayudar a detener el robo de equipos celulares es mediante el código IMEI. La Identidad Internacional de Equipo Móvil (IMEI por sus siglas en inglés) es un código pregrabado en los teléfonos móviles que identifica unívocamente a nivel mundial a cada equipo. Éste se transmite por el aparato a la red cuando se conecta con su operador de telefonía.revista17btn_descarga(opt)_4

Busca el IMEI en la parte posterior del teléfono, debajo de la pila o tecleando *#06# si está encendido. Es un número de 15 a 18 dígitos y se asocia por las siglas IMEI. Anótalo y guárdalo con la factura y su caja: te será de gran utilidad a futuro. Desde el 1 de septiembre de 2012, entró en vigor un convenio por América Móvil (Telcel), Iusacell, Nextel y Telefónica Movistar para compartir los IMEI que hayan sido robados o extraviados, para evitar que se utilicen en otras compañías. Si confirmas que tu número ha sido robado o extraviado, ve a un centro de atención de tu compañía y rinde informe del hecho. Solicita el bloqueo total de la línea, del chip y del IMEI, para que no se pueda reactivar ni desbloquear el proveedor de telefonía (así se evita que el celular acepte chips de otras compañías)[3], o reutilizar en posibles actos delictivos. Al bloquear el equipo telefónico mediante el IMEI, el aparato queda inservible.

10. Cuida a quién le prestas tu celular.

consejoscel10

Por último, cuida a quién le prestes tu teléfono celular, aunque sea por unos instantes. En la escuela, en la calle, un lugar público o una reunión privada, una inocente llamada puede significar el robo de tu información, un secuestro virtual o la pérdida de tu teléfono, en el caso de que la supuesta persona solicitante de ayuda corra repentinamente con el celular en mano.

Estos consejos pueden aplicarse a teléfonos tradicionales e inteligentes. Las amenazas de seguridad siempre estarán latentes, pero haciendo conciencia con nosotros mismos y con la gente que nos rodea, se puede reducir enormemente la cantidad de información que pueda comprometerse. Nada es infalible, pero con acciones sencillas se pueden evitar posteriores dolores de cabeza. La protección de nuestros datos debe ser una acción constante, que con el tiempo se vuelve algo natural y cotidiano.

Referencias:

Apple Support, Qué es el PIN de la SIM, https://support.apple.com/kb/HT1316?viewlocale=es_ES&locale=es_ES (30 de marzo de 2013).

Cibergeek, Código PUK, http://cibergeek.com/codigo-puk/ (3 de abril de 2013).

Hernández, J, Ventajas y desventajas de Bluetooth, https://junihh.wordpress.com/2007/06/02/ventajas-y-desventajas-de-blueto... (26 de marzo de 2013).

Killer Startups, Keep yor Mobile Data Secure. (29 de marzo de 2013), http://www.killerstartups.com/mobile/mobical-net-keep-your-mobile-data-s... (30 de marzo de 2013).

Más celulares, Virus para teléfonos móviles, http://mascelulares.blogspot.mx/2007/06/virus-para-telfonos-mviles.html (1 de abril de 2013).

Mi próximo móvil, Se unen para crear lista negra de teléfonos robados en América Latina, http://www.miproximomovil.com/2012/07/se-unen-para-crear-lista-negra-de-... (3 de abril de 2013).

Rosen, R (2012), A World With More Phones Than People, The Atlantic, http://www.theatlantic.com/technology/archive/2012/07/a-world-with-more-... (2 de abril de 2013).


[1] Rosen, R (2012), A World With More Phones Than People, The Atlantic, http://www.theatlantic.com/technology/archive/2012/07/a-world-with-more-...

[2] También se conoce en inglés como homebrew, el cual es software casero desarrollado por aficionados.

[3] La acción de configurar un móvil para que admita chips de otras compañías se le denomina flexear, el cual es más un término coloquial que técnico.

Fuente: http://goo.gl/t8KvLh

[ Read More ]

¿Qué es y cómo funciona un ataque DDoS?

En términos coloquiales un ataque de Denegación de Servicio Distribuido (Distributed Denial of Service) se puede explicar de la siguiente forma:

Éstos ataques se pueden explicar de diversas formas, por ejemplo imaginen un estadio de futbol que albergará la final del campeonato mundial, el estadio cuenta con diversas puertas para que los aficionados ingresen al estadio, 1 hora antes de inicio del juego la gente ingresa de forma ordenada al estadio a un ritmo lento pero constante, las personas ubicadas en las puertas encargadas de revisar la fiabilidad de los boletos están muy cansadas pero no se detienen en su labor, de pronto, faltando 5 minutos para el inicio del juego, una gran cantidad de personas con boletos falsos, arriban al estadio al mismo tiempo, los encargados de revisar los boletos no se dan abasto en atender a tanta gente, las personas que cuentan con su boleto auténtico no pueden entrar al estadio.

Los responsables de restringir el acceso al estadio se ven imposibilitados para diferenciar los boletos auténticos de los falsos y además están exhaustos, la carga de trabajo es excesiva. Se les explica que llevará más tiempo de lo previsto para ingresar, pues se tienen que revisar a detalle cada uno de los boletos, ante este anuncio las personas que no tienen boleto auténtico intentan ingresar al mismo tiempo de forma desorganizada y por la fuerza, por varios minutos los accesos se ven saturados, muy pocas personas logran ingresar, y por el contrario miles de personas se pierden el gran partido aun cuando tenían boleto auténtico. ¿Qué sucedió? pues ocurrió una Denegación de Servicio Distribuido de acceso al Estadio.

Un sitio Web es como una puerta de acceso, sólo puede dar servicio a un número limitado de personas al mismo tiempo, por tanto si recibe más solicitudes de las que puede atender, el servicio se bloquea, nada entra ni sale.

img1_art3
Esquema de un ataque DDoS

¿Cómo se hace un DDoS?

Para que el ataque sea realmente efectivo se debe contar con muchas maquinas que envíen peticiones a la página Web. Existen personas que seimg2_art3 dedican a infectar equipos y crear grandes redes de equipos “zombie” (botnets) y posteriormente rentarlas. El precio de renta depende de distintos factores como el tamaño de la botnet (número de equipos infectados), el tipo de ataque, su duración, etc. Según un estudio realizado por eweekeurope en el 2010, rentar una botnet para efectuar un ataque de DDoS por 24 horas puede oscilar entre los 50 y varios miles de Dólares. De esta forma no es necesario tener conocimientos para realizar un ataque de DDoS sino una cartera con al menos 50 Dólares.

En la siguiente imagen se muestra una interface de un sitio Web que renta botnets, el precio depende del número de equipos infectados y cuántos de ellos están en línea.

img3_art3

Número de equipos infectados por país.

En el párrafo anterior se mencionaba que existen diversos tipos de ataques de DDoS, a continuación se explicarán los más comunes.

Tipos más comunes de ataques DDoS

Syn Flood (inundación de paquetes Syn): El más común de todos, este ataque se basa en la esencia del protocolo de conexión TCP, el cual requiere una conexión de tres pasos, si el paso final nunca llega se queda una conexión abierta en el servidor por un lapso de tiempo, es decir si una persona estira sus manos para saludar a dos personas diferentes y estas lo dejan con la mano estirada por 1 minuto, nadie más podrá saludar a ésta persona hasta que ella decida terminar el saludo.

Connection Flood (inundación de conexión): Explota la dificultad del servidor para atender un gran número de peticiones al mismo tiempo, si un atacante realiza 10,000 peticiones al servidor este estará ocupado por un período de tiempo, conforme caduquen las conexiones el atacante vuelve a establecer más conexiones impidiendo así que los clientes utilicen el servicio.

ICMP Flood (inundación ICMP): Éste ataque también es conocido como “Ping-Pong”, imaginen una conversación por MSN donde ustedes son los encargados de hablar y contestarle siempre a las personas que lo solicitan, entonces reciben un mensaje que dice: ¿estás? y ustedes responden: Sí, y les vuelven a decir ¿estás? y responden: Sí y así continúan por varios minutos, de pronto empiezan a recibir cientos de mensajes del mismo tipo, entonces ustedes empiezan a cerrar las ventanas del chat y estas se vuelven a abrir.  Lo que pasa es que realmente la conexión se lleva a cabo pero se desperdicia el recurso. Lo mismo pasa con los servidores, se satura la línea con conexiones correctas pero todas ellas de tipo “basura”, las cuales impiden que las conexiones de clientes verdaderos se concreten.

UDP Flood (inundación UDP): se utiliza el protocolo de conexión UDP para enviar una gran cantidad de paquetes al servidor utilizando muchas conexiones al mismo tiempo, ocasionando que los recursos (Memoria RAM, Procesador) del servidor sean insuficientes para manipular y procesar tal cantidad de información, en consecuencia el sistema se bloquea.

Evitar que un ataque de DDoS ocurra es como querer evitar que un soldado de infantería salga a la guerra y nadie le dispare. Lo que sí podemos hacer es ponerle un casco y un chaleco antibalas para mitigar el riesgo de que muera si es alcanzado por una bala. De forma general la estrategia de defensa consiste en identificar las direcciones IP (balas) causantes de ataque y bloquearlas (chaleco antibalas), utilizar otros servidores como balanceadores de carga distribuyendo así el trabajo del servidor crítico y por último colocar una versión ligera de la página del sitio atacado lo que permitirá reducir el tiempo de respuesta y minimizar la carga de procesamiento del servidor.

Para finalizar, ¡una imagen de reflexión!

img4_art3

Glosario:

Botnets: Conjunto de computadoras infectadas por un malware que permite que un servidor (Command & Control) las manipule remotamente para realizar trabajos de forma distribuida.

UDP: Por sus siglas en inglés “User Datagram Protocol” un protocolo no orientado a conexión, se utiliza sobre todo cuando la velocidad es un factor importante en la transmisión de la información.

TCP: Por sus siglas en inglés “Transmission Control Protocol” es un protocolo orientado a conexión, el protocolo asegura que los datos serán entregados a su destino sin errores lo que lo hace más lento a diferencia del protocolo UDP.

ICMP: Por sus siglas en inglés “Protocolo de Mensajes de Control de Internet” su función básica es el control y notificación de errores del Protocolo de Internet IP.

Referencias:

[ Read More ]

DDoS actualidad, taxonomía y contramedidas

Una denegación de servicio o “DoS” (Denial of Service), es el vector de ataque que busca como objetivo principal, realizar la saturación o la explotación de alguna vulnerabilidad en un servicio que opere en equipos o infraestructuras de telecomunicaciones, dando como resultado la degradación, caída o falla del mismo. Una nueva modalidad de este vector de ataque es conocido como DDoS (Distributed Denial of Service), que por sus siglas en inglés se refiere a un ataque de denegación de servicio distribuido, el objetivo principal de este vector es la de utilizar un gran flujo de tráfico que es generada desde diferentes puntos de conexión, ya sea de internet o de una red de datos local con el mismo fin, la de deteriorar un servicio hasta hacerlo fallar.

articulo_DDoS

Recientemente hemos escuchado sobre las operaciones grupos Hacktivistas, mismos que han realizado ataques de este tipo, principalmente hacia portales WEB de entidades gubernamentales y algunos cuantos del sector privado, es por este tipo de ataques que el INFOTEC se ha visto en la necesidad de incursionar e investigar estas nuevas tendencias de ataques, debido que nuestra visión es innovar y desarrollar servicios que puedan ser utilizados y aprovechados por ambos sectores ya sea gobierno o iniciativa privada.

En las operaciones cielito lindo, tequila, independencia y en la ultima llamada operación tranzas el principal objetivo de ataque ha sido el sector gobierno, entidades como la sedena, gobernación, el senado, la cámara de diputados por mencionar algunos, se han visto como víctimas de este grupo de atacantes, que en momentos vemos como son superados los controles de seguridad por el gran número de atacantes; dejando en claro lo vulnerable y débil que son las infraestructuras y las arquitecturas de comunicaciones y seguridad en México. Lo que podemos notar, es que el modus operandi de estos grupos es de carácter político, religioso o social y el número de ataques aumenta hacia el sector gobierno siendo esta de un 52% de ataques de este tipo, le sigue la iniciativa privada y al final y no por eso no ser atacadas, se encentran las instituciones académicas.

infotec_logoEntonces los ataques DDoS, representan una amenaza muy real para los negocios en línea, más aún cuando la disponibilidad del servicio es una función esencial del negocio. En la actualidad los firewalls tradicionales y dispositivos de protección perimetrales o controles de seguridad, pueden proporcionar un cierto grado de protección contra ataques de ancho de banda relativamente bajos, sin ser óptimos ni confiables. Cabe mencionar que es difícil defenderse de estos ataques, pero mediante una planificación cuidadosa y contando con el apoyo de especialistas y de los proveedores de servicios de internet (ISP), es posible proporcionar un nivel óptimo de protección frente a los ataques de denegación de servicio.

En conclusión, los ataques de denegación de servicios continúan siendo un problema y una gran preocupación para las empresas, gobiernos y proveedores de servicios, sobre todo en su forma distribuida (DDoS), principalmente por su fácil implementación, por lo devastador que puede ser el ataque y la mutación constante de sus procedimientos, pero no por eso es imposible detectarlos, mitigarlos, prevenirlos y detenerlos, si contamos con los especialistas, tácticas, proveedores y una infraestructura solida y en constante revisión lo podemos lograr, en INFOTEC ya contamos con casos de éxito vs DDoS/DoS, por lo que podemos apoyarte en la mitigación de este vector de ataque. INFOTEC su socio tecnológico.

[ Read More ]

Pruebas de penetración para principiantes: explotando una vulnerabilidad con Metasploit Framework

pen_test_01_opt

La versión gratuita y limitada de Metasploit framework Community es una herramienta que permite ejecutar y desarrollar exploits contra sistemas objetivos. Actualmente se encuentra integrado con Kali Linux, una distribución de Linux con diversas herramientas orientadas a la seguridad y es ampliamente utilizado para realizar pruebas de penetración. En la revista anterior mencionamos algunas de las herramientas más importantes para adentrarse en el mundo de las pruebas de penetración. Ahora, utilizaremos Metasploit para mostrar paso a paso la explotación de un servidor vulnerable.

¿Qué etapas se contemplan durante una prueba de penetración?

Para realizar una prueba de penetración es necesario considerar diferentes etapas. La primera de ellas consiste en recopilar información sobre el sistema objetivo y comúnmente se le conoce como etapa de reconocimiento. A partir de los datos obtenidos, se tomarán las decisiones acordes y los pasos a seguir en etapas posteriores. Una vez que los datos han sido recopilados y analizados, se procede a la instancia donde se realizará la explotación sobre el sistema objetivo. La selección de los exploits que se utilizarán dependerá exclusivamente de la información obtenida en la etapa anterior. Finalmente, una vez realizado el ataque, se analiza el impacto, posiblemente, se realizarán nuevas acciones a partir de este último.

La documentación y la generación de reportes concluyen las pruebas de penetración y suelen reflejar el trabajo completo por parte del pentester (persona que lleva a cabo la prueba de penetración).

Existen diferentes metodologías que pueden implementarse para realizar pruebas de penetración, donde cada una de las variantes difiere principalmente en las técnicas y métodos para llevar a cabo las respectivas tareas. Algunas metodologías son del tipo blackbox, donde básicamente no se conoce ningún tipo de información sobre el sistema objetivo. En contraposición, están las de whitebox, donde se tiene información sobre el sistema objetivo, como puede ser código fuente de aplicaciones, configuraciones, entre otras alternativas. A su vez, existen diferentes etapas de acuerdo a la metodología utilizada.

En este caso, sin realizar distinción de la metodología, haremos foco sobre la etapa de reconocimiento. Dentro de ésta existen dos formas de recopilar la información, ya sea de forma activa o pasiva. En el primer caso la información se obtiene directamente del sistema objetivo y en el segundo de forma indirecta. Finalmente ejecutaremos la etapa de explotación, ya que nos permitirá obtener un panorama general de lo que realmente involucra una prueba de penetración. Asimismo, un análisis completo involucra otras etapas, tales como la de enumeración, acceso, entre otras.

¿Cómo comenzar?

Para que los lectores puedan hacer el ataque paso a paso deberían instalar dos máquinas virtuales conectadas entre sí. Para ello es posible utilizar VMWare o en su defecto VirtualBox, en realidad existen otras alternativas, aunque estas dos son las más populares. Las dos máquinas virtuales que deben instalarse son las siguientes:

  • Kali Linux: como mencionábamos en el número anterior de la revista, es la distribución para pruebas de penetración por excelencia bajo la licencia GPL, se puede descargar desde:
    http://www.kali.org/
  • Metasploitable 2: es una máquina creada con fines académicos, que ya posee varias vulnerabilidades que permiten que sea sencillo realizar pruebas sobre la misma, se puede descargar desde:
    http://sourceforge.net/projects/metasploitable/files/Metasploitable2/

Para continuar, es importante verificar que ambas máquinas tengan visibilidad entre sí (es decir, que puedan comunicarse). Esto puede corroborarse con un simple ping entre las dos.

Después, desde la máquina en Kali Linux (todo el ejercicio se desarrolla en esta máquina, la segunda solo oficia como objetivo del ataque, pero no se realizarán acciones en ésta más allá de prenderla para “atacarla”) utilizaremos la consola de Metasploit (msfconsole) de donde se lanzarán todos los comandos correspondientes sobre el servidor en el que se desea realizar la prueba de penetración. Para abrir la consola, solo hace falta el comando

> msfconsole

Information gathering

Para recopilar información es posible utilizar Nmap desde la propia consola de Metasploit. Para ello, basta con solo invocar el comando “db_nmap”. Los parámetros que pueden utilizarse son los mismos que acepta Nmap. De esta manera, los resultados serán almacenados en la base de datos de Metasploit.

Para obtener una observación rápida del sistema objetivo, se ingresa el siguiente comando:

> db_nmap {dirección ip} -p 1-65535

La dirección IP de la máquina objetivo es posible averiguarla mediante el comando ifconfig (este comando se utiliza en las distribuciones de Linux para conocer las direcciones IP de las diferentes interfaces de red).

imagen01_3

Con el comando anterior se realiza un escaneo sobre todos los puertos del sistema objetivo. De esta manera, tal como se especificó anteriormente, los resultados serán almacenados en la base de datos. Para consultarlos, es necesario ingresar alguno de los siguientes comandos:

·  Hosts: Imprime por pantalla información de todos los sistemas que fueron analizados.

·  Services: Imprime por pantalla todos los puertos y servicios asociados que fueron descubiertos durante el análisis con Nmap.

·  Vulns: Describe las vulnerabilidades que fueron descubiertas durante el análisis.

Sin embargo, en esta instancia es posible que no se cuente con demasiada información sobre los servicios descubiertos en el sistema objetivo. De esta manera, utilizando la misma herramienta (Nmap) es posible determinar, por ejemplo, la versión específica de un servicio. Esto se puede lograr mediante el siguiente comando:

> db_nmap –sV {dirección ip} –p {puerto de interés}

El parámetro “sV” indica que examine la versión específica del servicio. A modo de ejemplo, ejecutamos el siguiente comando para averiguar la versión sobre el servicio que se está ejecutando en el puerto 21, utilizado comúnmente por el servicio FTP.

> db_nmap –sV 172.16.1.119 –p 21

Si ahora se ejecuta el comando “services”, nuevamente, se obtendrá información específica del servicio analizado.

imagen02_3

Explotación

Suponiendo que se ha encontrado información de un servicio en especial, es posible determinar a partir de ésta, si el mismo es vulnerable. Utilizando la consola, se realiza una búsqueda de un exploit en particular para ese servicio y luego se llevará a cabo la explotación del mismo. Para realizar la búsqueda se ingresa el siguiente comando:

> search {cadena}
(para buscar una cadena específica que corresponda a un exploit en particular)

> search cve:{código CVE}
(para buscar un exploit en particular a partir del identificador CVE)

Asimismo, si se desea conocer todos los posibles parámetros de búsqueda, es posible acceder a la ayuda mediante el siguiente comando:

> help search

Tal como se muestra en el comando anterior, si se conociera el identificador OSVDB de una vulnerabilidad, entonces será posible buscar el exploit para dicho identificador. Esto también puede llevarse a cabo utilizando otros identificadores, como por ejemplo, el CVE.

pen1 (3)

Para seleccionar el exploit se introduce el comando “use” seguido de la ruta del exploit seleccionado. En este caso el comando sería el siguiente:

> use exploit/unix/ftp/vsftpd_234_backdoor

Una vez seleccionado el exploit que se va a utilizar, se deben configurar aquellos parámetros necesarios a través de la consola. Para ver las opciones, se debe ingresar el comando “show options”, el cual enumera todos los parámetros indicando si son opcionales u obligatorios mediante el campo “required”.

pen1 (4)

En esta instancia, ya es posible configurar los parámetros. Para realizar esta tarea se debe utilizar el comando “set” seguido del parámetro y el valor que se desea establecer. Para este ejemplo, el comando es el siguiente:

> set RHOST 172.16.1.119

Payload

Básicamente, el payload es la secuencia de instrucciones que se ejecutarán una vez que se haya explotado con éxito la vulnerabilidad. Metasploit Framework posee diversos payloads con diferentes funcionalidades para cada tipo de arquitectura. Mediante el comando “show payloads” se pueden visualizar cuáles son compatibles. De esta forma, se utiliza el siguiente comando para establecer el payload:

pen1 (5)

En este caso hemos elegido el payload cmd/unix/interact. Sin embargo, para conocer todos los payloads que son compatibles con el exploit que se va a utilizar, existe un comando para realizar el listado correspondiente:

> show payloads

De la misma manera, si se desea conocer cuáles son los parámetros configurables del payload seleccionado, es posible ejecutar el comando:

> show options

Luego de que todos los parámetros ya han sido configurados, será posible llevar a cabo la explotación. Para ello, basta con ejecutar el comando “exploit” y esperar que Metasploit haga su trabajo.

En esta instancia, si todo ha resultado bien, se obtiene una shell de comandos sobre el sistema que ha sido atacado, permitiendo ejecutar cualquier comando en dicho sistema. Por ejemplo, a continuación se puede observar un comando de listado de directorios:

pen1 (6)

Conclusión

En este caso se obtuvo acceso a un servidor a través de un servicio FTP vulnerable. Mediante la identificación de la versión del servicio se pudo encontrar el exploit adecuado. De la misma manera, se inyectó un payload capaz de disponer una shell de comandos a merced del atacante.

Si bien este es un ejemplo específico, donde el acceso se logró a través de una vulnerabilidad conocida por una versión antigua del software Vsftpd, también es posible que esto ocurra en un escenario real. Asimismo, los ataques reales pueden ser más complejos o combinados. Sin embargo, esto es un buen comienzo para tener noción sobre cómo se realizan ataques con Metasploit.

Finalmente, vale la pena destacar que no existe una herramienta capaz de ejecutar automáticamente una prueba de penetración de calidad. El auditor, es decir, quien realiza las pruebas de penetración (pentester), siempre debe recurrir al uso de su imaginación y conocimiento, cualidades que pondrán a su disposición una gama de herramientas que le permitirán ejecutar una prueba precisa y contundente sobre el sistema para obtener resultados de calidad.

Fuente: http://goo.gl/kjb4da

[ Read More ]

Conociendo Metasploit – Parte III – Meterpreter básico

Buenas a todos a este nuevo post de la serie “Conociendo metasploit”. Este post será de introducción a los comandos básicos de meterpreter, el cual como hemos estado viendo en los anteriores post es uno de los payloads más potentes que trae el framework de Metasploit.

En este caso tenemos como objetivo la misma máquina virtual que en los anteriores posts, cuya configuración de red es la siguiente…

portscan_2-1024x699

Ahora tendremos que ejecutar Metasploit y configurarlo para que lance el exploit ms08_067_netapi (Ya vimos en post anteriores que la maquina era vulnerable) junto al payload meterpreter como se muestra en la siguiente imagen (En este caso utilizaremos una conexión inversa para el payload)…

meterpreter_1-1024x702

Una vez tenemos configurado el exploit lo lanzamos y vemos que nos devuelve la shell de meterpreter…

meterpreter_2-1024x698

Antes de seguir con la presentación vamos a ver un poco que es el payload meterpreter y los comandos que nos permite ejecutar…

Meterpreter el uno de los payloads por excelencia de Metasploit, el cual nos permite tener un control prácticamente completo de la maquina vulnerada, pudiendo realizar todo tipo de acciones como obtener las cuentas de usuario, realizar todo tipo de comandos en el SO, utilizar un keylogger, activar y tomar fotos de la webcam, activar el escritorio remoto, utilizar un sniffer en la maquina victima para sniffar todo el trafico de su red, saltarnos antivirus, pivoting y una inmensa cantidad de acciones más que veremos parte en este post, y otra gran parte en el siguiente donde nos centraremos en la fase de post explotación mediante scripts para este payload.

La lista de comandos más comunes que trae el payload meterpreter una vez se han listado las diferentes librerías es la siguiente (Comando y descripción):

meterpreter > help
Core Commands
=============
Command Description
------- -----------
? -> Help menu
background -> Backgrounds the current session
bgkill -> Kills a background meterpreter script
bglist -> Lists running background scripts
bgrun -> Executes a meterpreter script as a background thread
channel -> Displays information about active channels
close -> Closes a channel
disable_unicode_encoding -> Disables encoding of unicode strings
enable_unicode_encoding -> Enables encoding of unicode strings
exit -> Terminate the meterpreter session
help -> Help menu
info -> Displays information about a Post module
interact -> Interacts with a channel
irb -> Drop into irb scripting mode
load -> Load one or more meterpreter extensions
migrate -> Migrate the server to another process
quit -> Terminate the meterpreter session
read -> Reads data from a channel
resource -> Run the commands stored in a file
run -> Executes a meterpreter script or Post module
use -> Deprecated alias for 'load'
write -> Writes data to a channel

Stdapi: File system Commands
============================
Command Description
------- -----------
cat -> Read the contents of a file to the screen
cd -> Change directory
download -> Download a file or directory
edit -> Edit a file
getlwd -> Print local working directory
getwd -> Print working directory
lcd -> Change local working directory
lpwd -> Print local working directory
ls -> List files
mkdir -> Make directory
mv -> Move source to destination
pwd -> Print working directory
rm -> Delete the specified file
rmdir -> Remove directory
search -> Search for files
upload -> Upload a file or directory

Stdapi: Networking Commands
===========================
Command Description
------- -----------
arp -> Display the host ARP cache
ifconfig -> Display interfaces
ipconfig -> Display interfaces
netstat -> Display the network connections
portfwd -> Forward a local port to a remote service
route -> View and modify the routing table

Stdapi: System Commands
=======================
Command Description
------- -----------
clearev -> Clear the event log
drop_token -> Relinquishes any active impersonation token.
execute -> Execute a command
getpid -> Get the current process identifier
getprivs -> Attempt to enable all privileges available to the current process
getuid -> Get the user that the server is running as
kill -> Terminate a process
ps -> List running processes
reboot -> Reboots the remote computer
reg -> Modify and interact with the remote registry
rev2self -> Calls RevertToSelf() on the remote machine
shell -> Drop into a system command shell
shutdown -> Shuts down the remote computer
steal_token -> Attempts to steal an impersonation token from the target process
suspend -> Suspends or resumes a list of processes
sysinfo -> Gets information about the remote system, such as OS

Stdapi: User interface Commands
===============================
Command Description
------- -----------
enumdesktops -> List all accessible desktops and window stations
getdesktop -> Get the current meterpreter desktop
idletime -> Returns the number of seconds the remote user has been idle
keyscan_dump -> Dump the keystroke buffer
keyscan_start -> Start capturing keystrokes
keyscan_stop -> Stop capturing keystrokes
screenshot -> Grab a screenshot of the interactive desktop
setdesktop -> Change the meterpreters current desktop
uictl -> Control some of the user interface components

Stdapi: Webcam Commands
=======================
Command Description
------- -----------
record_mic -> Record audio from the default microphone for X seconds
webcam_list -> List webcams
webcam_snap -> Take a snapshot from the specified webcam

Priv: Elevate Commands
======================
Command Description
------- -----------
getsystem -> Attempt to elevate your privilege to that of local system.

Priv: Password database Commands
================================
Command Description
------- -----------
hashdump -> Dumps the contents of the SAM database

Priv: Timestomp Commands
========================
Command Description
------- -----------
timestomp -> Manipulate file MACE attributes

Espia Commands
==============
Command Description
------- -----------
screengrab -> Attempt to grab screen shot from process's active desktop

Incognito Commands
==================
Command Description
------- -----------
add_group_user -> Attempt to add a user to a global group with all tokens
add_localgroup_user -> Attempt to add a user to a local group with all tokens
add_user -> Attempt to add a user with all tokens
impersonate_token -> Impersonate specified token
list_tokens -> List tokens available under current user context
snarf_hashes -> Snarf challenge/response hashes for every token

Mimikatz Commands
=================
Command Description
------- -----------
kerberos -> Attempt to retrieve kerberos creds
livessp -> Attempt to retrieve livessp creds
mimikatz_command -> Run a custom commannd
msv -> Attempt to retrieve msv creds (hashes)
ssp -> Attempt to retrieve ssp creds
tspkg -> Attempt to retrieve tspkg creds
wdigest -> Attempt to retrieve wdigest creds

Sniffer Commands
================
Command Description
------- -----------
sniffer_dump -> Retrieve captured packet data to PCAP file
sniffer_interfaces -> Enumerate all sniffable network interfaces
sniffer_release -> Free captured packets on a specific interface instead of downloading them
sniffer_start -> Start packet capture on a specific interface
sniffer_stats -> View statistics of an active capture
sniffer_stop -> Stop packet capture on a specific interface

Una vez hemos visto la lista de comando de meterpreter (Tiene muchísimas más acciones gracias a los scripts que veremos más adelante), vamos a ver ahora la ejecución de algunos de los más importantes…

Lo primero podríamos sacar el usuario que somos una vez explotada la vulnerabilidad, sacar algo de información del sistema y listar los procesos (Con el fin de luego poder migrar meterpreter a otro proceso evitando que se cierre la sesión como veremos más adelante)…

meterpreter_3-1024x700

Vamos a ver ahora que con meterpreter podríamos de la misma forma que lo haríamos en un linux cambiar de directorio en la maquina vulnerada, listar dicho directorio, comprobar en que directorio estamos y leer un archivo…

meterpreter_4-1024x700

Por otro lado también podríamos ejecutar ciertas funciones de red como por ejemplo consultar la tabla ARP o mostrar la configuración de red como vemos a continuación…

meterpreter_5-1024x699

Se podrían sacar también las conexiones existentes en la maquina vulnerada, así como su tabla de rutas para IPv4 e IPv6…

meterpreter_6-1024x702

meterpreter_7-1024x702

Veamos ahora como podríamos listar los privilegios que tenemos así como el usuario actual que somos…

meterpreter_9-1024x705

Vamos a ver ahora un rápido ejemplo de cómo utilizar el Keylogger. Como se ve en las imágenes, se activa el KeyLogger, en la maquina vulnerada escribimos cualquier cosa, después volcamos el buffer del Keylogger que ha ido almacenando y lo detenemos, viendo como nos muestra todo lo que el usuario a escrito…

meterpreter_10-1024x695

meterpreter_11-1024x695

Por otro lado y como hemos dicho anteriormente, podríamos hacerlo un pantallazo a la maquina vulnerada desde meterpreter utilizando únicamente el comando “screeshot”, esto nos guarda la foto en nuestro PC y nos la habré como vemos a continuación…

meterpreter_12-1024x533

Por ultimo y ya para terminar este post vamos a ver dos formas que tendríamos para listar los usuarios así como sus hashes mediante los comandos “hashdump” y “msv”…

meterpreter_13-1024x698 meterpreter_14-1024x700

Con esto hemos llegado al final de este post que como habéis visto a sido prácticamente ver un poco los comandos básicos que podemos utilizar con meterpreter. Así que… A partir de ahora los post de esta serie comenzaran a ser de un nivel superior pues lo básico ya está visto.

Espero que os haya gustado!

Un saludo, a


Eduardo – eduardo@highsec.es – @_Hykeos


por este excelente aporte a la comunidad, y por ende me veo en obligaion de compartir su gran trabajo en mi blog.. un saludo a mi hermano desde aqui en Colombia Elpaisa13

[ Read More ]