¿Cómo pueden los archivos normales ocultar un virus?

29

¿Cómo pueden los archivos normales admitidos en el sistema operativo Windows ocultar un virus?

A veces, al abrir un archivo .txt , .jpg o .docx se ejecuta un virus. ¿Cómo es esto posible?

    
pregunta Peter Mortensen 24.07.2014 - 16:41
fuente

6 respuestas

20

Esto es posible gracias a la técnica OLE ( Vinculación e incrustación de objetos ). Está pensado para compartir información entre aplicaciones que se ejecutan en el sistema operativo Microsoft Windows. Principalmente, permite incrustar objetos en documentos.

La documentación oficial de Microsoft explica los beneficios de OLE . Pero como cualquier otro concepto, podría ser usado para una intención nefórica.

Tal vez la forma más fácil de explicar esto es la figura a continuación: al arrastrar y soltar el icono ejecutable del Bloc de notas en un archivo de Wordpad abierto y al guardar, el doble clic en el archivo de Wordpad conducirá a abrir la aplicación Bloc de notas. La siguiente figura explica mejor la idea:


Puedeguardareldocumentoen.txtformato.Severácomounarchivobenignonormal.Sinembargo,siverificasuspropiedades,encontraráquesuextensiónreales SHS . Puede imaginar agregar comandos al archivo, como formatear algunas particiones de disco.

    
respondido por el user45139 24.07.2014 - 16:51
fuente
16
  

A veces, al abrir un archivo .txt, .jpg o .docx se ejecuta un virus. ¿Por qué es esto posible?

Para agregar a la respuesta a una pregunta similar (¡Gracias por encontrarlo, Tcholas!):

Tienes razón al pensar que un virus en sí mismo es inofensivo. Un virus que se encuentra en un archivo en algún lugar no es una amenaza inmediata para su computadora. Pero cuando abres un archivo que contiene un virus, en realidad estás ejecutando un programa para abrir ese archivo.

Cuando le pide a su sistema operativo (por ejemplo, Windows) que abra un archivo, básicamente hace lo siguiente:

  1. Comprueba qué tipo de archivo es. Esto puede ser leyendo la extensión (.txt, .doc) o leyendo algunos de los datos (los archivos zip tienen "PK" en los primeros bytes).

  2. Conociendo el tipo de archivo, encuentra el "programa predeterminado" para abrirlo. Esto se almacena en una base de datos en algún lugar de su computadora.

  3. Ejecute el programa y cargue el archivo de datos en él.

Entonces, al hacer doble clic en "mynotes.txt", Windows busca el programa predeterminado para los archivos .txt, probablemente "notepad.exe", y luego ejecuta "notepad.exe" y lo hace cargar "mynotes.txt" . Cuando haces doble clic en una imagen JPEG, cargará un visor de imágenes. Incluso algo tan simple como conectar un lápiz USB a su computadora portátil ejecutará algún código.

El diablo está en cualquier error / error que pueda tener este programa de carga. Los virus usan estos 'agujeros' para engañar al sistema operativo para que ejecute un código diferente y para modificar / subvertir parte de su computadora. Cuando los desarrolladores de software escuchan acerca de la vulnerabilidad, (con suerte) lo arreglan y emiten una actualización de seguridad.

Esto también significa que los virus tienden a dirigirse a programas específicos. Algo que funciona en MS Word probablemente no funcionará en OpenOffice. Lo mismo ocurre con Acrobat Reader y Evince, Chrome e Internet Explorer, Thunderbird y Outlook, etc.

tl; dr : cuando abres un archivo, realmente estás abriendo un programa que luego abre ese archivo. Es las vulnerabilidades en ese programa que permiten a los virus una oportunidad de hacer lo suyo.

    
respondido por el JvR 24.07.2014 - 22:09
fuente
6

Una posibilidad es explotar vulnerabilidades de desbordamiento. Al abrir la imagen, la falla del software "lanzará" el virus a secciones de memoria no autorizadas que pueden ser ejecutadas por el sistema.

Aquí tiene una descripción por parte de Symantec de una vulnerabilidad que explotó Internet Explorer en este sentido.

Además, esta pregunta se respondió en Stack Overflow .

    
respondido por el Matheus Portela 24.07.2014 - 16:53
fuente
4

Una posibilidad es Unicode shenanigans.

Unicode admite la visualización de muchos idiomas, incluidos los escritos de izquierda a derecha y los de derecha a izquierda. Una forma de hacerlo es usando caracteres especiales, incluyendo [U + 202E] (de izquierda a derecha) anular (LRO)).

Windows admite Unicode, incluidos los nombres de archivo.

Usted ve un archivo en su escritorio: evilexe.txt. Parece un archivo de texto, pero no lo es. Realmente se llama malvado [U + 202E] txt.exe.

Puede tener un conjunto de iconos para que se vea como un archivo de texto o JPEG , pero en realidad es un EXE archivo.

    
respondido por el Murphy 25.07.2014 - 19:01
fuente
2

¡De tantas maneras!

¿Cuál es el tipo de falla de software más común que se puede explotar?

Desbordamiento de búfer.

Un desbordamiento de búfer es donde un programa solicita un tamaño de memoria pero luego escribe más datos en esa ubicación (desbordamiento) en la memoria al lado.

Por ejemplo: un programa como OpenOffice Writer (un procesador de textos como MS-WORD) (esto es pura ficción, por cierto) tiene un límite sobre el tamaño de un párrafo, digamos que tiene 65535 caracteres. Un pirata informático malicioso crea un documento con un párrafo de 65555 caracteres. El programa no tiene un control en su lugar para ver qué tan grande es un párrafo, simplemente lo carga en la memoria. En el 65536º carácter, en lugar de un carácter real, el pirata informático coloca el código de byte para una instrucción de salto a algún lugar más adelante en el documento del pirata informático o en cualquier lugar que el pirata informático sepa y controle. Cuando el programa lee accidentalmente la instrucción de salto, ese documento malicioso ahora controla el flujo de procesamiento de la aplicación. Es un virus y acabas de infectarte.

¡Hay muchos tipos diferentes de componentes que se pueden desbordar en una computadora, así que ten cuidado!

Si esto suena similar a la exploit Heartbleed es porque lo es.

Continuemos.

LaOficina

LaplataformadeMicrosoftOfficeesextremadamenteextensible.Lepermiteagregarcódigocompiladoeinterpretadoalprogramayalosdocumentos.Elcódigointerpretado,lamacro,tienemuchapotenciaparafinesdeproductividad,perohastahaceaproximadamenteunadécadatambiénseusabaengranmedidaparapropagarcódigosmaliciosos.Yanotanto,perosigueapareciendo.Amenudo,undocumentomaliciosotendríaunpocodecódigoqueescribiríaunarchivoensudiscoduroyluegoloejecutaríacuandoabrieraeldocumento.Porsupuesto,lamayoríadeestosmuchachosvinieronempaquetadosenunapresentacióndePowerPointconfotosdegatoslindosysimilares,porloquenofueunapérdidatotalcuandorecibió pwned .

Muchos paquetes de software más grandes generalmente son extensibles y también pueden sufrir vulnerabilidades similares.

La Web

A menudo, un pirata informático creará un archivo y presentará ese archivo como una imagen o como texto sin formato cuando no lo es. La responsabilidad del autor de un sitio web es escapar, encapsular y aislar cualquier información que puedan recibir de Internet. Es un trabajo duro.

Por lo tanto, un pirata informático puede colocar un archivo llamado "NotA.phpfile.jpg" en el formulario de un sitio web de PHP que se presenta como un archivo image/jpeg , pero en realidad es un archivo application/php . Ahora, cuando carga la URL a la que se cargó la imagen, es posible que haya alcanzado el control del sitio web.

Del mismo modo, el sitio web debe escapar al texto o podría sufrir inyección SQL y los datos pueden ser robados.

Otrascosasnotables

  • Lamayoríadelosvirusmodernosusaránalgoritmosdetipodecifradoautorreplicanteparatratardeocultarsupresenciaenunacomputadora,principalmentedelosinvestigadoresylosantivirus.

Veamosalgunastecnologías:

  • Flujos de datos alternativos (ADS).
    • En los sistemas de archivos NTFS , un ADS es como un documento oculto adjunto a un archivo. Estos datos no son fácilmente visibles para el usuario final, pero son accesibles por los programas y el sistema operativo. Hay un viejo truco donde puedes abrir un ADS en Notepad escribiéndolo en un indicador de comandos. Un uso importante de ADS es para hacer un seguimiento de dónde provienen los archivos, estoy seguro de que a todos se les ha pedido que abran un archivo que provenía de Internet anteriormente.
  • OLE (como se explica en la respuesta alternativa), y variantes similares integradas de vinculación e interconexión de objetos como ActiveX , COM , COM+ , y DCOM .
  • Registro.
    • Una base de datos muy simple que puede almacenar un pequeño puñado de tipos de datos, pero se usa ampliamente. Me gusta para almacenar configuraciones sobre lo que sucede cuando haces doble clic en un icono del escritorio o ejecutas un programa.
respondido por el Goldfish Sandwich 25.07.2014 - 23:50
fuente
0

El corto OP pregunta por qué hacer clic en un .txt ejecuta un virus. Si un virus cambia el programa asociado para una extensión, su computadora puede iniciar mad_notepad_that_also_runs_a_virus.exe en lugar de notepad.exe al hacer clic en un archivo .txt.

Pero al hacer clic en i_love_you.txt.extension_like_that_will_obviously_make_this_computer_explode.exe, incluso si puede ocurrir un comportamiento muy ingenuo.

    
respondido por el Léon Pelletier 25.07.2014 - 22:20
fuente

Lea otras preguntas en las etiquetas