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