¿Cómo Zeus (y otro malware) inyecta código en otros procesos?

2

Recientemente, he estado estudiando cómo funciona el malware, más recientemente el famoso bot Zeus, y he notado una cosa que no entiendo: el malware se dice que puede enganchar API en los procesos. y usarlos para, por ejemplo, robar datos. Pero, si el troyano es en sí mismo un archivo exe, ¿cómo hace esas cosas?

¿Lleva una DLL para hacer todo el enganche, o inyecta shellcode en el proceso que desea modificar, o algo así? si no?

    
pregunta Display name 26.01.2016 - 15:50
fuente

1 respuesta

2

No conozco a Zeus en particular, pero en general, es fácil hacerlo utilizando API de depuración como VirtualProtectEx y WriteProcessMemory . Abra una MANIJA al proceso de destino, agregue algo de memoria ejecutable (con VirtualAllocEx ), coloque un código malicioso allí, vuelva a asignar la dirección virtual del código ejecutable de la biblioteca que contiene su API de destino como RWX, sobrescriba los primeros bytes de la función que desea enlazar con una instrucción de salto que va a su código malicioso inyectado y usted controla todo lo que hace esa función.

Hay muchas otras formas de lograr resultados similares; El uso de las API de depuración y la sobrescritura de los puntos de entrada de funciones reales es solo un ejemplo que he visto en el mundo real. El programa malicioso puede hacer esto cada vez que el depurador (víctima) carga una nueva biblioteca, incluidas todas las que se cargaron en la inicialización del proceso, antes de que se ejecute el main() de la víctima.

inyección de DLL (que puede hacer el enganche desde dentro del proceso, sin necesidad de hacer nada entre procesos) y correcciones de compatibilidad (como se usan para ejecutar programas en "modo de compatibilidad" para versiones anteriores de SO, y reemplazar el sistema API con código diferente) son otras dos opciones útiles.

    
respondido por el CBHacking 26.01.2016 - 23:50
fuente

Lea otras preguntas en las etiquetas