Killtrojan te invita a participar como usuario en nuestra comunidad. Registrate y podrás participar en todos nuestros subforos y ayudarás a crecer nuestra comunidad.

Si te gusta la informática,la seguridad, el análisis de malware o tienes problemas con virus o troyanos,no te lo pienses.


Registrarte en el foro no te llevará mas de un minuto.

Análisis teórico de infección de ejecutables bajo windows.

Ver el tema anterior Ver el tema siguiente Ir abajo

Análisis teórico de infección de ejecutables bajo windows.

Mensaje  Skapunky el Lun Sep 27, 2010 3:14 pm

Con éste artículo pretendo aclarar ideas de como un malware puede infectar otros tipos de archivos del sistema, no pretendo analizar código fuente ni nada por el estilo, una vez vista la teoría la práctica ya viene dada por cada programador.

Generalmente hablaremos de infección de ejecutables, porque son estos tipos de archivo los que són capaces de ejecutar acciones programadas previamente en un sistema, en éste caso no podemos referirnos a un archivo de imagen ya que ésta está conformada por un conjunto de bytes fijados los cuales no tienen ningúna tarea a hacer en el sistema o a ejecutar.

Vista la idea de ejecutable, programa definido para hacer unas tareas en un sistema, pasaremos a diferenciar dos tipos, no entraré en los diferentes formatos, pero solamente destacaré tres, los archivos por Lotes (.bat), los archivos .COM y los archivos .EXE ya que los dos primeros sus estructuras són distintas y pueden ubicarse dentro de lo que se llamarían lenguajes scripts (El sistema interpreta el código directamente sin ser previamente compilados).

Estos archivos, tanto los .bat como los .com, podemos ver su código fuente si los abrimos con el bloc de notas, lo que hace que su lectúra no sea nada difícil. Al ser un lenguaje script, el programa se ejecuta tal como lo vemos, empezando por la primera línea y acabando por la última. Este estilo hace que añadir código sea sumamente fácil, cualquier usuario a mano puede añadir código al principio del programa o por ejemplo al final. Hace unos años, habían muchísimos virus que infectavan éstas dos clases de archivos por su facilidad de escritura, simplemente hacía falta que el malware abriera el archivo y añadiera el mismo el código el solo y después cerrara el archivo, eso es algo que cualquier programado con nivel básico de algún lenguaje de programación puede hacer fácilmente.


Visto lo fácil que puede resultar inyectar código a archivos por lotes o archivos .com, vamos a ver como se realiza lo mismo pero con archivos ejecutables .exe. Primero hacer un apunte, y es que los archivos .exe, su estructura es más compleja que los "scripts" y es por ello que la taréa no es tan fácil como abrir el archivo e introducir el código. Para ello se debe tener claro, que la parte que se inyecte al ejecutable a infectar, debe ser capaz de separar el código añadido al código original porque sino no funcionaría el archivo. Para ello cabe destacar que su programación puede ser algo más complicada, ya que se debe usar un separador para que el propio archivo infectado se ejecute por una parte el código vírico y por otra parte el ejecutable infectado.

Como se ha comentado, este separador es totalmente imprescindible, a veces se le conoce como "mutex" y es para que el ejecutable infectado, al abrirse, el código de málware añadido tenga una función para separar y rehacer los dos archivos totalmente correctos. Quiero dejar claro, y a veces despista a la gente que la función para separar las dos partes del código la contiene el código que se infiltra en el archivo ejecutable host (víctima).

Para entender mejor el concepto, aquí tienen un esquema gráfico de como quedaría un ejecutable infectado en cuanto su composición interna.


Una vez visto la teoría, cabe preguntarse como arreglar éste tipo de infecciones ya que parece que un sistema donde por ejemplo todos los ejecutables estén infectados la única salida sea formatear el ordenador, y la respuesta es que a veces sí y a veces no. Si analizamos un archivo de un sistema infectado y lo debugueamos por ejemplo con el OllyDebugg, suele ser bastante fácil localizar el mutex o separador que con un poco de suerte, nos puede servir para programar una aplicación que mediante éste sea capaz de separar correctamente el código original del código malicioso. Aunque bueno, por lo general no siempre funcióna y a veces, sale más a cuenta formatear que no realizar un estúdio del archivo infectado y programar una solución.
avatar
Skapunky
Admin
Admin

Posts : 493
KCoins : 822
Reputación : 21
Fecha de inscripción : 16/06/2008

Premios :
Staff


Ver perfil de usuario http://www.killtrojan.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.