Mostrando entradas con la etiqueta analizar virus. Mostrar todas las entradas
Mostrando entradas con la etiqueta analizar virus. Mostrar todas las entradas

domingo, 5 de septiembre de 2010

Troyano aprovecha 0 day en Microsoft Windows

Hola amigos se ha descubierto un nuevo ataque contra Windows, que aprovecha una vulnerabilidad previamente desconocida. Lo interesante (y peligroso) en este caso, es que esta vulnerabilidad ha sido utilizada como nuevo método “revolucionario” para eludir la desactivación de AutoRun y ejecutarse bajo cualquier circunstancia cuando se inserta en el sistema una memoria USB extraíble, por ejemplo. Además, el troyano ha sido firmado digitalmente por una compañía legítima. 
Cómo ha sido descubierto
VirusBlokAda descubrió, ya el 17 de junio (lo que da una idea de la posible cantidad de tiempo que esta amenaza lleva atacando silenciosamente) módulos de un malware nuevo. Pasadas unas semanas, alertaron sobre algo realmente inusual en este troyano: su forma de propagarse a través de memorias USB prescindiendo del tradicional archivo autorun.inf, que permite la ejecución automática cuando se detecta un dispositivo extraíble y funcionalidad contra la que Microsoft lleva tiempo luchando.
El troyano usaba en cierta manera, una vulnerabilidad (para la que no existe parche) en archivos .LNK (accesos directos), que permite la ejecución de código aunque el AutoPlay y AutoRun se encuentren desactivados. A efectos prácticos, implica que se ha descubierto una nueva forma totalmente nueva de ejecutar código en Windows cuando se inserta un dispositivo extraíble, independientemente de que se hayan tomado todas las medidas oportunas conocidas hasta el momento para impedirlo.
Para qué estaba siendo usado
Independientemente de su método de propagación, el investigador Frank_Boldewin comenzó a analizar una de las muestras y descubrió que el objetivo del malware estaba dirigido específicamente contra sistemas SCADA WinCC de Siemens, que se ejecutan en Windows. Dentro de su código contenía la contraseña por defecto “2WSXcder” para la base de datos central del producto de Siemens, y al parecer el fabricante recomienda no modificarla. Por tanto el troyano conseguía acceso de administración de la base de datos. Los sistemas “Supervisory Control and Data Acquisition (SCADA)” son programas críticos de producción industrial:
Toman datos muy sensibles de sensores de una fábrica, por ejemplo, y los envían a un sistema central para ser controlados. Se usan en grandes plantas de tratamiento de aguas, control eléctrico, de tráfico…
Por tanto, se trata de un malware destinado a un perfil muy diferente del usuario “medio”. En otras palabras, malware para al espionaje industrial. Se está usando sobre todo en Indonesia, India e Irán.
Un malware muy profesional
El troyano se esconde con habilidades de rootkit para pasar desapercibido en los sistemas en los que consigue instalarse. Llama la atención, como se ha mencionado, el uso de una vulnerabilidad desconocida hasta ahora en los accesos directos, lo que da una nueva vuelta de tuerca a la pesadilla del AutoRun para Microsoft. Lejos de usar el tradicional autorun.inf (contra el que ya se puso remedio), se propaga en llaves USB en forma de archivos del tipo ~WTR4132.tmp, por ejemplo. Se parecen mucho a los ficheros temporales de Word que usa Office internamente cuando un fichero está en uso.
Para colmo, el troyano utiliza para su funcionalidad de rootkit unos drivers firmados digitalmente por la famosa empresa china Realtek. Esto significa que, en principio, solo Realtek puede ser responsable de ese código… excepto que su clave privada haya sido comprometida de alguna forma, cosa que no se ha confirmado todavía. En cualquier caso, Microsoft, muy acertadamente, ha trabajado con Verisign para revocar en sus sistemas los certificados (con el apoyo de Realtek también). Esto quiere decir que los sistemas bien configurados (que no puedan instalar drivers no firmados o firmados con certificados revocados) no sufrirán este problema… eso sí, tendrán que actualizar su lista de certificados a través de windowsupdate.com.
El uso de certificados legítimos es de lo más interesante para un malware, y lo hace una pieza casi única. Otros troyanos han sido firmados antes, pero no nos consta que se haya realizado la firma con un certificado válido de una empresa reconocida.
¿Y ahora qué ?
Pues este malware pone de nuevo sobre la mesa las posibilidades de la creación de troyanos específicos, de amenazas personalizadas y “trabajadas” convenientemente para pasar desapercibidas. O sea: usando vulnerabilidades no conocidas, criptografía, rootkits….
Tarde o temprano los detalles técnicos sobre la vulnerabilidad en accesos directos saldrán a la luz, y todo tipo de malware comenzará a usar este nuevo método para propagarse por llaves USB. Recordemos el éxito de Conficker en octubre de 2009, que también encontró una forma de eludir la desactivación de AutoRun en Windows (gracias a una modificación en autorun.inf que no se tuvo en cuenta) y que obligó a Microsoft ha modificar toda su filosofía en este sentido y desactivar (se creía que de forma eficaz hasta ahora) por completo el dichoso AutoRun.
Microsoft ha publicado un alerta reconociendo la vulnerabilidad y recomendando estas contramedidas:
* Poner en blanco el valor predeterminado (default) de la rama del
registro:
HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler
* Detener y deshabilitar el servicio “cliente web” (WebClient).
Además, lo de siempre: no usar la cuenta de administrador, mantenerse informado, no usar memorias USB no confiables y mantener actualizado el sistema y el antivirus.

lunes, 2 de agosto de 2010

Qué es un verdadero virus informático y cómo actúa | elgeekcyber

Amigos, el término virus en nuestros días se ha hecho tan común que ahora lo usamos para describir a casi todo el software malicioso que conocemos: troyanos, backdoors, spyware, bots, keyloggers, rootkits, etc.
En realidad el término más adecuado para todo lo que acabamos de describir es: MALWARE ( que viene de MALicious softWARE) o Software malicioso.
Software malicioso es todo aquel que contiene código hostil e intrusivo y que sin consentimiento informado del usuario se ejecuta sobre el ordenador. Cuando digo consentimiento informado hablo de aquel en el que el usuario tiene plena conciencia de los efectos, implicaciones y consecuencias de lo que sucederá si decide ejecutar determinado programa.
Considero que es bueno poder diferenciar a todo el Software Malicioso, ya que puede ayudarnos a identificarlos, analizarlos y de acuerdo a esto, incluso podamos escoger el método más adecuado de eliminación y/o desinfección.
Con este post inicio la saga que denominaré: ” Identificando al Enemigo”, y como tema inicial: Qué es un virus informático.
Posteriormente, los temas serán:
Identificando al enemigo: Qué es un gusano.
Identificando al enemigo: Qué es un troyano.
Identificando al enemigo: Qué es Adware y Spyware.
Identificando al enemigo: Qué es un backdoor.
Identificando al enemigo: Qué es una BotNet.
Identificando al enemigo: Qué es un Bug y un Exploit.
Identificando al enemigo: Qué es un Rootkit.
Identificando al enemigo: Qué es una Bomba Lógica.
Identificando al enemigo: etc…
Cada tema contendrá ejemplos reales y muestras de cómo funcionan.
Empecemos ahora definiendo e identificando a los verdaderos virus.

Un virus informático al igual que un virus biológico, necesita un huesped en el cual insertar su código, este huesped infectado a su vez, va infectando a los demás. Para nuestro caso los huéspedes suelen ser archivos ejecutables y/o correos, archivos html, etc.
Un virus informático en el sentido correcto entonces, es aquel que es capaz de insertar su código dentro un programa, correo o archivo HTML y también dentro de documentos de Microsoft Office (en el caso de los Virus de Macros), de modo que al ejecutarse el programa, abrir el correo, el documento o la página web, se ejecute también el código del virus. El virus al ser ejecutado es cargado en memoria y desde ahí procede a infectar los demás archivos, y es así como se reproduce La siguiente imagen es una muestra de cómo un virus infector inserta su código en el archivo huesped.


Como podemos ver en la figura, el virus escribe parte de su código en el archivo, parcha rutinas y mueve ciertas secuencias o segmentos de código a otras partes de modo que el archivo o programa pueda seguir ejecutándose. En algunos casos - y dependiendo de la técnica de infección - el tamaño del archivo infectado puede crecer o no, de acuerdo a la cantidad de bytez insertados por el virus.
Esto diferencia a los infectores de sobreescritura destructiva que sólo escriben su código sin preocuparse de que el archivo siga siendo válido. Un infector de sobreescritura destructiva una vez que infecta un archivo, solamente ejecutará su rutina más ya no el código del programa original. Es por eso que muchas veces es facil darnos cuenta cuando algo está mal. Este tipo de virus son más fáciles de detectar por las razones mencionadas.
Los verdaderos virus, a parte de sobreescribir su código se aseguran de que el archivo o ejecutable siga “funcionando” de modo que al ejecutarse el código del programa, también se ejecute el código insertado del virus. Si el virus está bien diseñado es bien dificil que se note la infección, pues todo aparenta seguir funcionando normalmente. Este es el caso de los tan conocidos y mencionados Virus Sality, Halman, Virut, etc.
Esto es lo que diferencia un virus de un gusano. El gusano necesita copias de sí mismo para seguir propagándose ( ya sea por autoejecución de autoruns - lo más usual en la actualidad-, autoinicio en el registro del sistema, etc).
En cambio el virus, infecta e inserta su código en el huesped (ejecutables, mensaje de correo, archivo html, documentos, etc) y ahí es donde se transporta. Cuando el archivo infectado es ejecutado, también se ejecuta el código del virus. No percibimos la ejecución anomal o el cambio a simple vista ya que un gusano lo podemos detectar al encontrar un archivo raro dentro de nuestras carpetas, pero al virus no - al menos a simple vista ( ya veremos más adelante cómo podemos verificar que nuestros archivos y/o ejecutables han sido modificados) -.
Por ejemplo el virus Sality busca en todas las unidades locales y de red por archivos ejecutables de formato PE e inserta su código dentro ellos. Esto es, reemplaza el Punto de Entrada (Entry Point) de los archivos y lo infecta con su código viral y se agrega así mismo al final de la última sección de la Imagen del archivo PE. Esto - dependiendo de la variante y la técnica de infección - hace que el tamaño del archivo crezca en unos cuantos KiloBytes, si es que usa la técnica de infección EPO y si usa la técnica Cavity, posiblemente ni aumente en tamaño.
  • EPO (Entry Point Obscure) (Ocultamiento del Punto de Entrada o de Ejecución).- Es una técnica para infectar programas mediante la cual un virus intenta ocultar su punto de entrada para evitar ser detectado. El virus, en lugar de tomar el control y realizar sus acciones al principio del programa (de su utilización o ejecución), permite el correcto funcionamiento de éste hasta un cierto momento en el que comienza a actuar.
  • Cavity: Es una técnica utilizada por algunos virus y gusanos para dificultar su localización. Aplicando dicha técnica consiguen no variar el tamaño de cada uno de los ficheros infectados o afectados insertando su código en los espacios en blanco(”cavidades”) del archivo.
En la mayoría de los casos los virus infectores de ejecutables pueden acarrear daños irreparables a los archivos con las técnicas mencionadas, ya que dificultan no solamente su detección sino también su eliminación. Y también la mayoría de las veces la única forma de remover el virus es remover también el archivo infectado, lo que significa mejor formatear el sistema operativo, e instalar las aplicaciones desde fuentes confiables.
Amigos, acabamos de ver a grandes rasgos la definición más acertada sobre virus informático. En los temas posteriores veremos que en la actualidad hay mucho malware que combina las características de gusanos, bots, rootkits, exploits, etc…
El siguiente video tiene un tamaño de 39 MB y tiene una duración de 32 minutos .
El video está dividido en las siguientes secciones:
Identificando al Enemigo: Qué es un Virus Informático.
Caso: Virus Virut
1. - DEFINICIÓN DE VIRUS INFORMÁTICO
  • 1.1.- Infector de ejecutables VIRUT
2.- ANALISIS PREVIO LA INFECCION
  • 2.1.- Verificación de integridad en archivos
  • 2.1.1.- HashChecker Shell Extension
  • 2.1.2.- Spy The Spy
  • 2.1.3.- Verificación de carpeta WINDOWS
  • 2.1.4.- Copia de seguridad de msconfig.exe para posterior verificación.
3. ANALISIS POST-INFECCION
  • 3.1.- Ejecución de archivo infectado
  • 3.2.- Monitoreo de modificaciones con Spy the Spy
  • 3.3.- Comparación de Hashes MD5 de archivos
  • 3.4.- Copia de muestra de msconfig.exe Infectado para comparación con msconfig_original.exe
  • 3.5.- Comparación entre archivos original e infectado
  • 3.5.1.- A simple vista : tamaño
  • 3.5.2.- Comparación de hashes: Sumas MD5.
  • 3.5.3.- Internamente : Estructura binaria y en código usando Araxis Merger e IDA (Interactive DissAssembler)
saludos
Giancarlo
Related Posts with Thumbnails