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!