22 abr 2024

Campaña de Malware a Notepad++




Recientemente el grupo de investigadores de AhnLab Security Intelligence Center (ASEC) han descubierto una nueva campaña de malware (WikiLoader) que afecta al popular editor de texto Notepad++. Los atacantes se esforzaron por disfrazar el archivo con la carga maliciosa, de manera que se pareciese a uno propio del paquete de instalación de la aplicación.

La técnica utilizada es la ya conocida “secuestro de DLL o DLL hijacking” y concretamente afecta al complemento predeterminado “mimeTools.dll” (se utiliza para realizar codificación en Base64 y otras tareas). Este módulo se carga automáticamente cuando se inicia el programa, por lo que, los atacantes aprovecharon este hecho para modificarlo y que activara el malware.


Flujo del ataque

Primeramente, los atacantes añadieron al paquete de instalación un código shell malicioso disfrazado como un certificado inofensivo, “Certificate.pem”. Estos modificaron una de las funciones de mimeTools.dll llamada “DllEntryPoint.dll”, permitiendo así cargar el archivo disfrazado, descifrarlo y ejecutarlo. En la siguiente imagen se puede ver la comparación de archivos entre los paquetes de instalación oficiales y maliciosos:



El código shell malicioso modifica el archivo “BingMaps.dll”, más concretamente el código de la función “GetBingMapsFactory()” es sobrescrito por este. En este punto se crea un flujo de ejecución que permite al atacante inyectar un hilo de ejecución en la aplicación “explorer.exe”, esto garantiza la persistencia del ataque y hace que sea más difícil de detectar.

El malware al ejecutarse se conecta a un Command and Control (C2) donde envía datos recopilados de la máquina (Nombre de la máquina, nombre de usuario, si el usuario es miembro del grupo de administradores, idioma y hora del sistema). Después de conectarse al C2 (se hace pasar por una página de inicio de sesión de Wordpress), se realiza una descarga de un payload que resulta estar vacío.


Conclusión

El grupo de atacantes tienen el objetivo de establecer un punto de acceso en la máquina víctima, y lo hacen aprovechándose de una herramienta tan utilizada por los usuarios como Notepad++. WikiLoader plantea un riesgo importante de privacidad, ya que recopila información sobre el sistema infectado y desde Zerolynx recomendamos seguir unas pautas que mantengan vuestros sistemas a salvo:

Descargar las aplicaciones siempre desde fuentes oficiales y confiables.

Actualizar regularmente las aplicaciones y sistemas con su última versión que contengan parches.

*Todas las fotos están obtenidas de la página oficial de ASEC, accede al siguiente enlace si quieres saber más profundamente acerca de esta vulnerabilidad.

Javier Muñoz, Analista de Ciberseguridad en Zerolynx

15 abr 2024

Herramientas para facilitar los trabajos de Pentest sobre dispositivos IoT



Internet de las Cosas o IoT es una terminología utilizada para referenciar a las redes conformadas por dispositivos conectados a Internet. En sus múltiples variantes, como el IIoT (Industrial), comprende multitud de productos interconectados: vehículos, electrodomésticos, cámaras, sistemas de control industrial, etc.

Durante el uso de estos productos, estos recopilan multitud de datos de múltiples fuentes en paralelo y, a menudo, comparten esta información con los fabricantes de estos sin que los usuarios sean conscientes, lo que trae consigo nuevos desafíos para la privacidad o el cumplimiento normativo y regulatorio. ¿Dónde acaba esta información? ¿Acaba en servidores dentro de la UE para cumplir con el RGPD? 

Al mismo tiempo, la amenaza de ataques físicos y lógicos a través de estos dispositivos dispara los riesgos al aumentar la superficie de ataque de las compañías. 

Pentest Tradicional & Pentest IoT

A la hora de realizar pentesting a dispositivos IoT, se pueden observar algunas diferencias respecto al pentesting tradicional. Algunas de estas se muestran en la siguiente tabla:

AspectoPentesting TradicionalPentesting IoT
FocoSistemas y dispositivos diversos, incluidos servidores, aplicaciones y redesDispositivos específicos del Internet de las Cosas (IoT). Ej: cámaras, dispositivos biométricos, etc.
Tipos de dispositivosAmplia gama, incluyendo hardware y software de propósito general.Dispositivos generalmente más pequeños, especializados y con mayores limitaciones.
Complejidad TécnicaMenor especificidad en protocolos y comunicaciones.Uso de protocolos especializados y requisitos de comunicación únicos, añadiendo complejidad al proceso de pentesting.
Riesgos de seguridadVarían ampliamente según el sistema y el contexto, con enfoque en ciberataques.Incluyen riesgos físicos, mayores superficies de ataque debido a la conectividad y comunicaciones con otros sistemas.
Sensibilidad de los DatosDependiendo de la aplicación y el entorno, puede variar.Datos frecuentemente más sensibles o valiosos, aumentando las consecuencias potenciales de las brechas de seguridad.
Objetivos específicosIdentificación y mitigación de vulnerabilidades en una amplia gama de tecnologías.Enfoque en identificar y mitigar vulnerabilidades específicas de los dispositivos IoT y sus integraciones únicas.



Herramientas esenciales para el Pentesting IoT 

Aunque para los no entendidos en la materia pueda resultar sorprendente, los ejercicios de pentest sobre sistemas IoT no son muy diferentes en relación con los ejercicios tradicionales sobre otros sistemas, y las herramientas base con las que trabajamos no dejan de ser muy similares:

WIRESHARK

Se centra en la captura y el análisis de paquetes, implementada sobre las evaluaciones en dispositivos IoT con diversos objetivos. Wireshark es empleada en las revisiones IoT para:

  • Análisis de tráfico de red. Captura y estudia de forma detallada el tráfico de la red, facilitando la identificación de patrones y anomalías. De esta manera es más fácil comprender la interacción del dispositivo con otros sistemas.
  • Resolución de problemas de comunicación. Ayuda a diagnosticar problemas de comunicación al capturar y analizar el tráfico de datos enviado y recibido por un dispositivo.
  • Extracción de datos confidenciales. Puede ser empleada para la extracción de datos sensibles transmitidos a través de la red, como contraseñas o información crítica.
  • Identificación de protocolos de red. También permite determinar los protocolos empleados en una red, proporcionando una visión de como el dispositivo interactúa con otros sistemas.

NMAP

Orientado al reconocimiento de dispositivos en una red, puertos abiertos, sistemas operativos y servicios en ejecución. Alguno de los usos sobres entornos IoT son los siguientes:

  • Descubrimiento de dispositivos. Comprende el escaneo de redes para identificar dispositivos conectados, obteniendo sus direcciones IP y nombres de host. Esto es importante para obtener una visión general de la arquitectura de la red.
  • Escaneo de puertos. Se pueden examinar los puertos abiertos en un dispositivo para descubrir que servicios y aplicaciones están abiertos. Este análisis es muy importante para comprender las comunicaciones del dispositivo con otros sistemas.
  • Huella digital de servicios. Esta funcionalidad de Nmap, permite determinar la versión específica de un servicio que opera en un dispositivo, lo que es crucial para identificar vulnerabilidades conocidas asociadas a esa versión.
  • Mapeo de red. Nmap también se emplea para elaborar mapas detallados de una red, mostrando los dispositivos y sus interconexiones.

BINWALK

Esta utilidad si que es más novedosa con respecto a las herramientas tradicionales de pentest y se basa en la ingeniería inversa y análisis de imágenes de firmware, comúnmente empleada en sobre dispositivos IoT. El objetivo que persigue es profundizar en la estructura y funcionalidad del firmware, facilitando la identificación de vulnerabilidades potenciales. Algunas de las aplicaciones prácticas de Binwalk en el contexto de un pentest de un dispositivo IoT:
  • Análisis de firmware. Permite analizar detalladamente las imágenes de firmware para validar sus estructura interna y funcionamiento. Este análisis es crucial para identificar vulnerabilidades y comprender la estructura interna de un dispositivo
  • Extracción de archivos incrustados. Usando esta herramienta es posible extraer archivos incrustados dentro de las imágenes del firmware, como configuraciones, scripts y otros tipos de datos. Esta funcionalidad es muy útil a la hora de buscar información sensible que podría ser explotada.
  • Escaneo de firmas. Binwalk también se utiliza para realizar escaneos de firmas en imágenes de firmware, buscando firmas de archivo conocidas. Este proceso ayuda a identificar qué tipos de archivos están incrustados en el firmware, lo cual es esencial para la evaluación de seguridad y la identificación de componentes críticos dentro del mismo.

BURPSUITE

Comprende el reconocimiento o mapeo de la aplicación basadas en web y evaluar la seguridad de las comunicaciones entre activos web. Algunos ejemplos de uso de la herramienta en las evaluaciones IoT son:

  • Interceptar el tráfico web: Consiste en interceptar las peticiones Cliente-Servidor, lo cual es útil para el auditor a la hora de identificar patrones y errores que pueda aprovechar para encontrar posibles vulnerabilidades.
  • Prueba de comunicación web: Lanza peticiones modificadas al activo objetivo con el fin de causar una respuesta concreta por parte del servidor.
  • Identificación de vulnerabilidades web: la herramienta cuenta con funcionalidades para, por ejemplo, realizar fuerza bruta a partir de payloads propios o modificados.  Esta funcionalidad puede ser utilizada por el auditor para verificar la seguridad del activo.


AIRCRACK-NG

Centrada en la prueba de seguridad inalámbrica, busca evaluar la seguridad en redes inalámbricas y probar las comunicaciones de estas. Las prácticas de esta herramienta sobre entornos IoT son:

  • Descubrimiento de redes inalámbricas: Realiza búsquedas de redes y recopila información sobre ellas, como su nombre (SSID), el tipo de seguridad que usa y fabricante del punto de acceso. Esta información es de utilidad, ya que puede utilizarla para concretar sus pruebas de seguridad.
  • Descifrar contraseñas: Se puede utilizar para intentar descifrar la contraseña demostrando el impacto que suponen las contraseñas débiles o para conseguir vulnerabilidades que supongan un problema serio de seguridad.
  • Pruebas de comunicación inalámbricas: Aircrack se puede utilizar para captar y manipular el tráfico que se transmite a través de la red, permitiendo identificar vulnerabilidades en la forma que los dispositivos manejan las comunicaciones.

En conclusión, dado el creciente papel de los dispositivos IoT en la vida diaria, es muy importante que estos dispositivos sean sometidos a pruebas de seguridad rigurosas y se establezcan estándares mínimos de protección. Pruebas como las de desbordamiento de búfer, incumplimiento de protocolos y pruebas de hacking en general, son esenciales para mitigar la incorporación de vulnerabilidades en estos dispositivos.