En Binary Networks vemos un curioso experimento en el que analizaron una gran cantidad de muestras de malware para ver las APIs más utilizadas.
En
total reunieron 5TB de espacio con 549.035 ejecutables, todos únicos y
confirmados por VirusTotal. Luego mediante un script multihilo en Python
extrajeron todos los imports y contaron las veces en las que cada
muestra llamaba a una API.
De este análisis obtuvieron
resultados muy interesantes. En total hubo 21.043 muestras sin
importaciones mientras que 527.992 por lo menos importaron una API. Es
decir, sólo el 3,8% de las muestras no tenía ninguna importación.
Eso significa que menos del 5% de los archivos se empaquetaron bien sin
importaciones estáticamente incluyendo sus dlls, o estaban usando sus
propios métodos para la búsqueda e importación de APIs fuera de la tabla
de importación del propio PE.
Del resto, de los que si hacían importaciones, hubo un total de 120.126 API importadas de forma exclusiva, un número mucho más grande de lo imaginado.
Las 10 APIs más utilizadas, con un gran escalón respecto al resto, son las siguientes:
#1 GetProcAddress 394546
#2 LoadLibraryA 344607
#3 GetModuleHandleA 305054
#4 ExitProcess 301073
#5 VirtualAlloc 244900
#6 WriteFile 223855
#7 GetModuleFileNameA 221006
#8 CloseHandle 220358
#9 RegCloseKey 213748
#10 VirtualFree 211790
Para ver algunas otras conclusiones interesantes y obtener el PDF detallado con los resultados visita: https://www.bnxnet.com/top-maliciously-used-apis/.