Il software dannoso utilizza spesso l'API di Windows (Application Program Interface) per eseguire le sue attività. In alcuni casi il malware monitorerà e aggancia queste funzioni, ci sono molti modi per farlo:
- Inline
- IAT (tabella degli indirizzi di importazione)
- EAT (Export Address Table)
- Pagine di guardia
L'aggancio di una funzione consente al programma di analizzare e / o modificare i parametri della funzione o di restituire il risultato. Questo può essere usato per nascondere soluzioni antivirus, caricare più codice dannoso in altri processi ecc ...
L'aggancio Inline viene spesso ottenuto sovrascrivendo i primi pochi byte della funzione con un salto al codice dannoso.
Gli hook
IAT e EAT sono modifiche all'intestazione PE (Portable Executable) che reindirizza le funzioni chiamate al codice dannoso.
Pagine di protezione può essere utilizzato per agganciare le funzioni in quanto il malware può impostare le pagine di guardia sui primi byte di una funzione e gestire l'eccezione quando viene eseguita la memoria.
Il codice
Infecting / Embedding nei file eseguibili richiede una conoscenza approfondita del formato PE. Usando l'API di Windows un programma può leggere e scrivere su file su disco. I passaggi di base che un programma dovrebbe seguire per infettare un eseguibile:
-
Apri il file eseguibile con accesso in lettura e scrittura
-
Crea una nuova sezione nell'eseguibile e scrivi lo shellcode nel file
-
Modifica il punto di ingresso PE in modo che punti a indirizzo virtuale della nuova sezione
Se sei interessato al formato PE, ti suggerisco questo link: link