Disassemblaggio dell’API di Windows

Disassemblaggio dell’API di Windows
geek
by geek Published on 10 Ott 2020

Il malware normalmente utilizza le funzioni API di Windows (Application Programming Interface) per interagire con il sistema operativo (per eseguire file system, processi, memoria e internet). Windows esporta la maggior parte delle sue funzioni richieste per queste interazioni per le librerie dinamiche (DLL). Gli eseguibili importano e chiamano queste funzioni API da varie DLL, che forniscono diverse funzionalità. Per chiamare l’API, il processo eseguibile carica il file DLL nella sua memoria e quindi chiama la funzione API. Ispezionando le DLL, un malware fa affidamento a queste funzionalità per eseguire le sue funzioni. Grazie a questo possiamo capire le capacità del malware. Nella tabella seguente vengono descritte alcune delle DLL comuni e il funzionalità che implementano se non utilizza un packer o encrypt.

Kernel32.dll

Questa DLL esporta funzioni relative a processo, memoria, hardware e operazioni con il file system. Il malware importa le funzioni API da queste DLL per eseguireoperazioni relative alla memoria e al processo con il file system.

Advapi32.dll

Contiene funzionalità relative al servizio e al registro. Il malware utilizza l’API da questa DLL per eseguire operazioni relative ai servizi e al registro.

Gdi32.dll

funzioni di grafica

User32.dll

Implementa funzioni che creano e manipolano l’interfaccia utente di Windows e i suoi componenti, come desktop, finestre, menu, finestre di messaggio, prompt messaggi. Alcuni programmi malware utilizzano le funzioni di questa DLL per eseguire DLL injection e per monitorare gli eventi della tastiera (per keylogging) e del mouse.

MSVCRT.dll

Contiene implementazioni delle funzioni della libreria standard C.

WS2_32.dll and WSock32.dll

Contengono funzioni per la comunicazione in rete. Importazione di malware di funzioni da queste DLL è per eseguire attività relative alla rete.

Wininet.dll

Espone funzioni di alto livello per interagire con i protocolli HTTP e FTP.

Urlmon.dll

È un wrapper per WinInet.dll ed è responsabile della gestione del tipo MIME e del download di contenuto web. I downloader di malware utilizzano le funzioni di questa DLL per ottenere persistence e scaricare nuovi stager per i loro attacchi.

NTDLL.dll

Esporta le funzioni API native di Windows e funge da interfaccia tra i programmi in modalità utente e kernel. Ad esempio, quando un programma chiama API funzioni in kernel32.dll (o kernelbase.dll), l’API, a sua volta, chiama ntdll.dll. Un programma in genere non importa le funzioni da ntdll.dll direttamente; le funzioni in ntdll.dll vengono importate indirettamente da
DLL come Kernel32.dll. La maggior parte delle funzioni in ntdll.dll non sono documentate e gli autori di malware a volte importano funzioni da questa DLL