¿Qué significan estos términos con relación a los virus y al sistema operativo?

2

Muchas veces he escuchado virus usando "ganchos" e "insertándolos" en archivos. Por ejemplo, en el artículo de Wikipedia sobre Mebroot

  

El troyano intenta evitar la detección al engancharse en   atapi.sys. También se incrusta en el Ntoskrnl.exe.

¿Qué es un gancho? ¿Qué significa incrustar? Un archivo ejecutable (como Ntoskrnl) no es como un archivo de texto en el que puedes agregar cosas hasta el final. Que yo sepa, no puede modificar arbitrariamente un ejecutable (si me equivoco, entonces mi pregunta es ¿cómo lo hacen los virus?).

    
pregunta northerner 18.07.2017 - 11:48
fuente

2 respuestas

1

El software malicioso a menudo utilizará la API de Windows (Interfaz de programa de aplicación) para realizar sus actividades. En algunos casos, el malware controlará y enganchará estas funciones, hay muchas formas de hacer esto:

  • en línea
  • IAT (Tabla de direcciones de importación)
  • EAT (Tabla de direcciones de exportación)
  • Páginas de guardia

Conectar una función permite que el programa analice y / o modifique los parámetros de la función o devuelva el resultado. Esto se puede usar para ocultar soluciones antivirus, cargar más código malicioso en otros procesos, etc. ...

El enlace

en línea a menudo se logra sobrescribiendo los primeros bytes de la función con un salto a código malicioso.

Los ganchos

IAT y EAT son modificaciones al encabezado PE (Portable Executable) que redirige las funciones llamadas al código malicioso.

Las páginas de protección se pueden usar para enlazar funciones, ya que el malware puede establecer páginas de protección en los primeros bytes de una función y manejar la excepción cuando se ejecuta la memoria.

El código

Infectando / incrustando en los ejecutables requiere un conocimiento profundo del formato PE. Usando la API de Windows, un programa puede leer y escribir en archivos en el disco. Los pasos básicos que un programa debería seguir para infectar un ejecutable:

  • Abra el archivo ejecutable con acceso de lectura y escritura

  • Crea una nueva sección en el ejecutable y escribe el código de shell en el archivo

  • Modifique el Punto de entrada de PE para que apunte a la dirección virtual de la nueva sección

Si está interesado en el formato PE, sugiero este enlace: enlace

    
respondido por el Will 18.07.2017 - 13:23
fuente
1

A veces, los términos incrustar y enganchar se usan de manera intercambiable, pero desde mi punto de vista, el objetivo de incrustar es más agregar un nuevo comportamiento en lugar de cambiar el comportamiento o observarlo, lo que sería más bien unir.

Es posible agregar código arbitrario a un ejecutable introduciendo un código personalizado y saltando desde el código original. Esto es posible alterando el archivo ejecutable o el proceso de carga del archivo. Por ejemplo, mebroot trojaner se incrusta en ntokrnl.exe utilizando un componente que puede interceptar todas las operaciones de disco para modificar el archivo ntokrnl.exe a medida que se carga.

    
respondido por el 40F4 18.07.2017 - 13:28
fuente

Lea otras preguntas en las etiquetas