lunes, 28 de marzo de 2016

Wine vs Malware

Si hace unos días hablamos de como el [Malware es capaz de detectar si está en una Maquina virtual VMWare] a través de seis tipos de comprobaciones, hoy hablaremos de como estos bichos también son capaces de detectar si los estamos ejecutando en un Wine (la capa de compatibilidad que permite ejecutar aplicaciones Windows)


La verdad es que me ha sorprendido al ver los fácil que es detectar el uso de Wine, ya que solo tendremos que mirar si las dll Kernel32.dll o ntdll.dll exportan una de las APIs internas de Wine.

Estas son las combinaciones que se pueden detectar al correr un bicho en Wine: 
  • kernel32.dll!__wine_dll_register_16
  • kernel32.dll!__wine_dll_unregister_16
  • kernel32.dll!__wine_call_from_16_regs
  • kernel32.dll!wine_get_unix_file_name
  • kernel32.dll!wine_get_dos_file_name
  • kernel32.dll!__wine_kernel_init
  • ntdll.dll!__wine_enter_vm86
  • ntdll.dll!wine_server_call
  • ntdll.dll!wine_server_fd_to_handle
  • ntdll.dll!wine_server_handle_to_fd
  • ntdll.dll!wine_server_release_fd
  • ntdll.dll!wine_server_send_fd
  • ntdll.dll!__wine_make_process_system
  • ntdll.dll!wine_get_version
  • ntdll.dll!wine_get_build_id
  • ntdll.dll!wine_get_host_version
  • ntdll.dll!__wine_init_codepages
  • ntdll.dll!__wine_set_signal_handler
  • ntdll.dll!wine_nt_to_unix_file_name
  • ntdll.dll!wine_unix_to_nt_file_name
  • ntdll.dll!__wine_init_windows_dir
Si, pueden haber muchas mas combinaciones de API's y para que podáis hacer la prueba, os dejo el enlace a la fuente de esta entrada en la cual su creador, nos deja una herramienta para que podamos ejecutarla en nuestros Wines y comprobar que API's estamos utilizando. 

Enlace:
 Sed Buenos ;)  

No hay comentarios:

Publicar un comentario