API comunes llamadas por malware
Keylogger
SetWindowsHookEx: Esta función instala un procedimiento por la aplicación en una cadena de enlace. El malware puede utilizar esta función para monitorear o interceptar eventos del sistema.
GetAsyncKeyState: Esta función recupera el estado de una clave virtual cuando se llama a la función para determinar si se está presionando.
GetKeyboardState: Recupera el estado de todas las claves virtuales, se utiliza para determinar el estado de todas las teclas del teclado.
GetKeyNameText: Recupera el nombre de una clave, se utiliza para determinar el nombre de la tecla presionada.
Downloader
Es diseño para descargar otro tipo de malware en el sistema de la víctima, los descargadores se pueden disfrazar de archivos legítimos o propagarse a través del correo electrónico o incluso explotar alguna vulnerabilidad de software, pueden utilizar varias API:
URLDownloadToFile: Esta función descarga un archivo de internet y lo guarda como archivo local.
WinHttpOpen: Inicializa la API
WinHTTP
. El malware puede utilizar esta función para establecer una conexiónHTTP
con un servidor remoto.WinHttpConnect: Esta función establece una conexión con el servido remoto del atacante.
WinHttpOpenRequest: Abre una solicitud
HTTP
. Se usa para mandar solicitudesHTTP
a un servidor remoto y descargar código malicioso.
C2
La comunicación de command
and control
es un , método que utiliza el malware para comunicarse con un servidor remoto o un atacante, enviar datos robados o descargar malware adicional.
InternetOpen: Esta función inicializa una sesión al conectarse a internet, el malware puede utilizar esta función para conectarse con un servidor remoto de (C2).
InternetOpenUrl: Abre una URL para descargar, se suele utilizar para descargar código malicioso o robar datos de un servidor C2.
HttpOpenRequest: Abre una solicitud HTTP. El malware utiliza esta función para enviar solicitudes HTTP a un servidor C2 y recibir comandos.
HttpSendRequest: Envía una solicitud a un servidor C2, El malware puede utilizar esta función para enviar datos o recibir comandos desde un servidor C2.
Exfiltración de datos
La exfiltración de datos es la transferencia de datos no autorizada de una organización a un destino externo.
InternetReadFile: Lee datos de un identificador a un recurso de internet abierto. El malware puede utilizar esta función para robar datos de un sistema comprometido y transmitirlos a un servidor C2.
FtpPutFile: Esta función permite cargar un archivo a un servidor FTP. El malware puede utilizar esta función para filtrar datos robados a un servidor remoto.
CreateFile: Crea o abre un archivo en el dispositivo, el malware puede utilizar esta función para leer o modificar archivos que contienen información confidencial o datos de configuración del sistema.
WriteFile: Escribe datos en un archivo o dispositivo, esto se usa para poder escribir datos robados en un archivo y luego filtrarlos en un servidor remoto.
GetClipboardData: Esta API se utiliza para recupera datos del portapapeles. El malware puede utilizar esta API para recuperar datos confidenciales que se copien en el portapapeles.
Dropper
Es un malware diseñado para instalar otro malware en el sistema de la víctima. Pueden disfrazarse de software o archivos legítimos y propagarse a través de archivos adjuntos de correo electrónico, descargar de software, etc.
CreateProcess: Crea un nuevo proceso y su hilo principal. El malware puede utilizar esta función para ejecutar su código en el contexto de un proceso legítimo, lo que hace más difícil de detectar y analizar.
VirtualAlloc: Esta función reserva o confirma una región de memoria dentro del espacio de direcciones virtuales del proceso de llamada, se puede utilizar para almacenar el código del malware.
WriteProcessMemory: Esta función escribe datos en un área de memoria dentro del espacio de direcciones de un proceso específico. Puede utilizar esta función para escribir su código en la memoria asignada.
API Hooking
Es un método que se utiliza el malware para interceptar llamadas a las API de Windows y modificar su comportamiento, esto permite evitar la seguridad y realizar acciones maliciosas como robar datos o cambiar la configuración del sistema.
GetProcAddress: Esta función recupera la dirección de función o variable exportada de una biblioteca de vínculos dinámicos (DLL). El malware puede utilizar esta función para localizar y conectar llamadas API realizadas por otros procesos.
LoadLibrary: Esta función carga una DLL en el espacio de direcciones de un proceso, el malware lo puede utilizar para cargar y ejecutar código adicional desde una DLL u otro módulo.
SetWindowsHookEx: Se usa para instalar un procedimiento de enlace que monitorea los mensajes enviados a una ventana o evento del sistema. El malware puede utilizar esta API para interceptar llamadas a otras API de Windows y modificar su comportamiento.
Antidepuración y detección de VM
IsDebuggerPresent: Esta función comprueba si un proceso se está ejecutando bajo un depurador. El malware puede utilizar esta función para determinar si se está analizando y tomar medidas adecuadas para evadir la detección.
CheckRemoteDebuggerPresent: Comprueba si un depurador remoto está depurando un proceso. El malware puede utilizar esta función para determinar si se está analizando y tomar medidas adecuadas para evadir la detección.
NtQueryInformationProcess: Recupera información sobre un proceso en específico.
GetTickCount: Recupera el número de milisegundos que han trascurrido desde que se inició el sistema. El malware puede utilizar esta función para determinar si se está ejecutando en un entorno virtualizado, lo que puede indicar que está siendo analizado.
GetModuleHandle: Recupera un identificador de un módulo en específico. El malware puede utilizar esta función para determinar si se está ejecutando en un entorno virtualizado, lo que puede indicar que se está analizando.
GetSystemMetrics: Esta función recupera varias métricas del sistema y ajustes de la configuración. El malware puede utilizar esta función para determinar si se está ejecutando en un entorno virtualizado, lo que puede indicar que se está analizando.
Última actualización