Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_calvo_-_roberto_amado

129 views

Published on

RootedCON https://www.rootedcon.com
Marzo/March 5-7 2020 Madrid (Spain)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_calvo_-_roberto_amado

  1. 1. Sandbox fingerprin.ng Evadiendo entornos de análisis
  2. 2. Whoami Víctor Calvo Miembro del Red Team de S2 Grupo @aetsu Roberto Amado Director Técnico de Seguridad en S2 Grupo @ramado78
  3. 3. Índice 1. Mo%vación 2. Entorno de análisis 3. Iden%ficación de sandbox 4. Análisis de la seguridad de las sandbox 5. Sandbox owner fingerprin%ng 6. En qué estamos trabajando 7. Conclusiones
  4. 4. 1. Motivación • Queremos tratar de identificar si nuestros artefactos se encuentran en una sandbox. Partimos de la idea del siguiente post: • Machine Learning for Red Teams - Part 1: https://silentbreaksecurity.com/machine-learning-for- red-teams-part-1 • Queremos obtener inteligencia para saber como se construyen las sandbox de terceros y como un malware podría evadir su clasificación • Queremos saber si sería posible escapar de las sandbox e identificar a los analistas que las utilizan
  5. 5. 2.1 Entorno de análisis - Arquitectura
  6. 6. 2.1 Entorno de análisis – Desarrollo del artefacto • Artefacto escrito en C# y .Net • Exfiltración de información mediante peticiones POST sobre HTTPs • No necesitamos pasar desapercibidos, queremos ser analizados por cuantas más sandbox mejor. • “Le damos realismo”: Un documento Word con una macro que mediante powershell que descarga un binario y lo ejecuta.
  7. 7. 2.1 Entorno de análisis - Desarrollo • Versión del sistema opera?vo • Usuario actual • Dominio • Versión de .Net • Iden?ficador de la placa base • Numero de procesadores • Modelo del procesadores • Serial de la BIOS • Can?dad de memoria RAM • Netstat • Netstat routes • Dirección MAC • Fabricante de la MAC • Listado de procesos en ejecución • Total de procesos en ejecución • Listado de usuarios • Número de usuarios • Grupos locales • Número de grupos locales • Unidades montadas • Listado de tareas programadas • An?virus instalado • Listado de archivos en C:Program Files (x86) • Listado de archivos en C:Program Files • Listado de archivos en C: • Listado de archivos en C:WindowsSystem32drivers • Listado de archivos en Otros discos montados • Listado de módulos cargados por nuestro programa Información recopilada en cada ejecución:
  8. 8. 2.1 Entorno de análisis - Desarrollo
  9. 9. 2.2 Obje>vos analizados • Virustotal • Sndbox • Any.run • Hybrid • Joe Sandbox • Analyz • Valkyrie • Intezer Analyze • Vicheck • Iobit • Jotti • VirScan.org • Metadefender Cloud • Avira • Kaspersky VirusDesk
  10. 10. 2.3 Ejecuciones del artefacto Virustotal Sndbox Any.run Hybrid Joe Sandbox Analyz Valkyrie Intezer Analyze Vicheck Iobit Jotti VirScan.org Metadefender Cloud Avira Kaspersky VirusDesk Subimos muestras con identificadores únicos a cada servicio 13 11 7 2 1 1 1 1 0 2 4 6 8 10 12 14 Virustotal SndboxIntezerAnalyze Any.run Hybrid Kaspersky VirusDesk M etadefenderCloud Vicheck Conexiones establecidas Ejecuciones del artefacto y exfiltración de los datos de la sandbox
  11. 11. 2.4 Plataforma de análisis Resultados recopilados en un repositorio centralizado
  12. 12. 2.4 Plataforma de análisis Ejemplo de información recopilada Y mucha más…
  13. 13. 3.1 Identificando Sandbox - Objetivos OBJETIVO: Saber si nuestro artefacto esta ejecutándose en una sandbox Estado del arte: Existen numerosas aplicaciones , estudios … como el de machine learning: • Machine Learning for Red Teams - Part 1: https://silentbreaksecurity.com/machine- learning-for-red-teams-part-1 Algunos números obtenidos… • Tenemos 37 ejecuciones de nuestro artefacto que recopilan información del los servicios de análisis de sandbox • 27 IPs orígenes públicas identificadas • De los 15 proveedores de servicios públicos de sandbox analizados, 8 han contactado con nuestra infraestructura
  14. 14. 3.2 Iden)ficando Sandbox - Resultados preliminares Primeros análisis básicos muestran que palabras VMware, Vbox y KVM en la información recopilada De los 37, con un búsqueda de referencias a palabras clave como “VMware ”, 6 se sabe que es un entorno de análisis
  15. 15. Máquinas que tienen como 0mb como memoria RAM De los 37, con un simple comprobación de la memoria RAM, 10 se sabe que es un entorno de análisis 3.2 Iden)ficando Sandbox
  16. 16. 3.3 Identificando Sandbox Dato curioso: Archivos subidas a distinto servicio muestran conexiones desde la mismas IPs y comparten parámetros de las sandbox. Esto implica que los distintos servicios comparten sandbox de terceros para el análisis
  17. 17. 3.3 Iden)ficando Sandbox Máquinas con mas de 85 procesos De los 37 resultados obtenidos, 36 tienen menos de 85 procesos en ejecución
  18. 18. 3.4 Estado de las sandbox • Versión del sistema opera0vo • Usuario actual • Dominio • Versión de .Net • Iden%ficador de la placa base • Numero de procesadores • Modelo del procesadores • Serial de la BIOS • Can%dad de memoria RAM • Netstat • Netstat routes • Dirección MAC • Fabricante de la MAC • Listado de procesos en ejecución • Total de procesos en ejecución • Listado de usuarios • Número de usuarios • Grupos locales • Número de grupos locales • Unidades montadas • Listado de tareas programadas • An0virus instalado • Listado de archivos en C:Program Files (x86) • Listado de archivos en C:Program Files • Listado de archivos en C: • Listado de archivos en C:WindowsSystem32drivers • Listado de archivos en Otros discos montados • Listado de módulos cargados por nuestro programa Algoritmo “complejo” de detección de entorno sandbox: Cantidad de procesos en ejecución Otros parámetros interesantes son: • Serial de la BIOS • Iden?ficador de la placa base • Can?dad de memoria RAM Por lo tanto, el estado actual de las capacidades de ocultación de sandbox de proveedores de servicios públicos presentan poca madurez en este ámbito. Por lo que no es necesario, al menos de momento, del uso de machine learning para estos entornos
  19. 19. 4. Análisis de la seguridad de las sandbox • Al listar directorios hemos visto que existen archivos interesantes, que forman parte de la lógica de análisis y ejecución de la sandbox y quizás sean accesibles… • ¿Tenemos permisos para acceder a los archivos o escribir en ellos? • ¿Cómo obtenemos los archivos? OBJETIVO: Obtener inteligencia de las sandbox, saber como trabajan
  20. 20. 4. Análisis de la seguridad de las sandbox Consideraciones: • Tiempo de ejecución corto, de 3 a 5 minutos aproximadamente • Rediseñamos el binario con múlXples hilos • Limitamos por extensión del archivo: .7z .backup .bat .bin .bmp .cfg .cmd .conf .db .dll .doc .docx .exe .inf .ini .jar .jpeg .jpg .js .json .kdbx .key .log .pdf .pfx .ppk .ppt .pptx .pub .py .rar .reg .rules .rtf .sh .sql .ssdeep .sys .txt .vbs .xls .xlsx .yara .zip
  21. 21. 4. Análisis de la seguridad de las sandbox
  22. 22. 4.1 Análisis de archivos exfiltrados Se ha accedido a un total de 874 archivos
  23. 23. 4.1 Análisis de archivos exfiltrados Archivos “legí?mos” para darle realismo a la sandbox: • benign.doc • benign.jar • benign.pdf • benign.xls • First Michigan Bank-11-2012.pdf • IMG_6014.jpg • IMG_6049.jpg • Presiden?al Savings Bank-2010- 02-13.pdf • Presiden?al Savings Bank-2010- 05-02.pdf Si encuentras este tipo de ficheros ya sabemos que estamos en una sandbox…
  24. 24. 4.1 Análisis de archivos exfiltrados Ocultación de parámetros de la sandbox a través del fabricante: • oem.reg Configuraciones para Office 2010: • Office2010.reg Configuraciones para Acrobat Reader 9: • AcrobatReader9.reg Ficheros de configuración para enmascarar la sandbox:
  25. 25. 4.1 Análisis de archivos exfiltrados Ficheros de configuración de despliegue del entorno: • mount.sh • edit_registry.bat • start.bat
  26. 26. 4.1 Análisis de archivos exfiltrados Archivos del agente de análisis del malware: • loader.py • guest.py
  27. 27. 4.1 Análisis de archivos exfiltrados Herramientas de análisis: • Facondetector.exe • messia.exe • c2ae_uiproxy.exe • dumper.exe Herramientas de simulación de entorno: • user_imitator.exe • hangload.exe
  28. 28. 4.1 Análisis de archivos exfiltrados Hashes Ssdep (98304 entradas): • whitelist.ssdeep Inteligencia de detección uElizada por las sandbox
  29. 29. 4.1 Análisis de archivos exfiltrados Yara rules : • rules.yara • triggers.yara • predetect.yara Inteligencia de detección uElizada por las sandbox
  30. 30. 4.2 Conclusiones • Es posible acceder a archivos de configuración utilizados para generar las sandbox • Conociendo como trabajan las sandbox de terceros podemos mejorar las nuestras • Se han obtenido reglas utilizadas para detectar malware ¿Posible evasión de detección? • Las sandbox no están tan maduras como creíamos ya que ha sido posible acceder a gran cantidad de ficheros utilizados para su configuración y análisis de malware
  31. 31. 5. Sandbox owner fingerprinting OBJETIVO: • IdenXficar al propietario de la sandbox • IdenXficar a las enXdades que obXenen inteligencia de ellas • ÚXl para los ejercicios de Red Team
  32. 32. 5.1 Sandbox owner fingerprin>ng ¿Podemos saber que están analizando nuestras muestras si estas no se pueden conectar a Internet? ¿Podemos identificar quién o qué empresa está analizando las muestras? Por ejemplo, ¿podemos conocer la empresa que gestiona el SOC de un cliente? ¿Podemos escapar de la sandbox? ¿Están los analistas protegidos?
  33. 33. 5.1 Sandbox owner fingerprinting Clasificamos con e?quetas las dis?ntas sandbox iden?ficadas, mediante : análisis de procesos, iden?ficación de las direcciones IP, archivos iden?ficados…
  34. 34. 5.1 Sandbox owner fingerprin>ng Necesitábamos ir mas allá, dado que no nos aportaba suficiente información…
  35. 35. 5.1 Sandbox owner fingerprinting
  36. 36. 5.2 Sandbox owner fingerprin>ng - Desarrollo • Desarrollo de un nuevo artefacto • Obje%vo: Interfaces internos de visualización de muestras • UElizamos C# y .Net • UElizamos un framework para explotar blind XSS -> XSS Hunter • Obtener IPs desde donde se ejecutan nuestros XSS • Hacer capturas de pantalla del navegador • Obtener el código de las páginas vulnerables
  37. 37. 5.2 Sandbox owner fingerprinting - Desarrollo
  38. 38. 5.3 Sandbox owner fingerprinting Obje2vos analizados: • VirusTotal • Any.Run • Hybrid Analysis • Open Threat Exchange (AlienVault)
  39. 39. 5.4 Sandboxes vulnerables - resultados VirusTotal MultiSandbox -> VenusEye
  40. 40. 5.4 Resultados VirusTotal Mul;Sandbox -> Tencent HABO
  41. 41. 5.4 Resultados VirusTotal MultiSandbox -> SNDBOX
  42. 42. 5.4 Resultados VirusTotal Mul;Sandbox -> Jujubox Sandbox
  43. 43. 5.4 Resultados Any.run -> Processes graph
  44. 44. 5.4 Resultados Open Threat Exchange (Alienvault)
  45. 45. 5.5 ¿Quién analiza nuestras muestras? • ¿Qué empresas ? • ¿Qué países? • ¿Qué ingenieros?
  46. 46. 5.5 ¿Quién analiza nuestras muestras? Captura de pantalla realizada con un blind XSS en el navegador de la red interna de una empresa AnWvirus, en su APLICACIÓN INTERNA DE ANALISIS
  47. 47. 5.5 ¿Quién analiza nuestras muestras? Captura de pantalla realizada con un blind XSS de una APLICACIÓN INTERNA DE ANALISIS de malware de una empresa china
  48. 48. 5.5 ¿Quién analiza nuestras muestras? Captura de pantalla realizada con un blind XSS del análisis de una muestra con una APLICACIÓN INTERNA de una empresa china
  49. 49. 5.5 Resultados 220 10 4 4 2 2 1 1 1 0 50 100 150 200 250 CN HK JP IL NO EU RU NL CZ Peticiones (agrupadas)3295 36 10 9 8 6 3 2 1 0 500 1000 1500 2000 2500 3000 3500 CN HK JP IL EU NL CZ NO RU Peticiones (sin agrupar) ¿Cuál es el país que más se está interesando por obtener inteligencia del malware? CHINA
  50. 50. 5.5 Resultados • No hemos podido evidenciar ninguna vulnerabilidad en Hybrid Analysis Pero… • Hemos contactado con Google (Virustotal) • Hemos contactado con Any.run • Hemos contactado con Alienvault
  51. 51. 6. En qué estamos trabajando • Obtener más datos. Continuamente aparecen más servicios con análisis de comportamiento de malware y queremos analizarlos • Explorar nuevas formas de explotar vulnerabilidades que puedan afectar a los analistas. • Abrir la base de datos al público y quizás, un servicio para pentesters mediante el que con el envío de determinada información saber si es una sandbox y a quien está asociada.
  52. 52. 7. Conclusiones generales • Mediante unos simples parámetros podemos idenEficar gran canEdad de sandbox • Es posible acceder a archivos sensibles de configuración de las sandbox pudiendo: • Obtener inteligencia para desarrollar nuestra sandbox • Poder evadirla • Países como China está dedicando grandes recursos para obtener inteligencia a parEr del malware • Y por úlEmo…
  53. 53. Y por ulEmo, es posible atacar a los analistas en su propia red interna… Posible escenario del vector de ataque:
  54. 54. Cuidado !!! con las muestras que se analizan y dónde se visualizan
  55. 55. Muchas gracias

×