Monitoreo de la secuencia de llamadas API de Windows

0

Necesito monitorear una secuencia de llamadas API creada por un proceso que se ejecuta en Microsoft Windows, para analizar el comportamiento del malware.

Sé que podemos hacer monitoreo de modo usuario o modo kernel. He intentado algunas herramientas que pueden interceptar llamadas de API, como Detours, EasyHook y NTHookEngine, pero todas ellas, en mi opinión, utilizan la supervisión del modo usuario. Esto hace que sea imposible para ellos detectar el malware que se ejecuta en el modo kernel (como los rootkits).

Si intentamos enganchar la llamada a la API usando Detours o EasyHook, tenemos que definir nuestra propia función de enganche, que en este caso no necesito. Solo necesito saber la función que está siendo llamada por un proceso monitoreado y sus parámetros.

¿Hay alguna forma de hacerlo de manera eficiente (pocas líneas de códigos) y efectiva (modo de usuario y monitor de modo de kernel)?

    
pregunta Ramandika Pranamulia 19.07.2016 - 07:20
fuente

1 respuesta

1

Con respecto a los ganchos en modo de usuario, tal vez pueda escribir una función de código auxiliar genérica que

  1. Se engancha a todas las llamadas del kernel32.

  2. Pasa la llamada a la dirección de API original (tendrás que crear una matriz de todas las direcciones de API originales para determinar la dirección correcta).

  3. Compare la dirección del abonado con la IAT con la dirección API original.

Esta técnica de secuenciación de llamadas para la detección de rootkit puede detectar claramente los ganchos, pero no puedo imaginar que funcionaría para parchear en tiempo de ejecución: también enganches en línea, ya que no crean un marco de pila.

Si se muestra reacio a seguir esta ruta, podría considerar la posibilidad de engancharse a la API nativa en modo kernel, que tiene aproximadamente ~ 290 funciones para Windows 7 SP1. Sin embargo, tendrás que deshabilitar u omitir PatchGuard en sistemas x64.

    
respondido por el Bran 12.09.2016 - 15:08
fuente

Lea otras preguntas en las etiquetas