Come un malware esegue il payload remoto

6

Supponiamo che sia stato installato un malware (su una piattaforma basata su UNIX) con alcuni trucchi di ingegneria sociale. Il codice originale installato può essere benigno, ma l'unica attività dannosa è che il malware si connette a un server C & C e recupera un ulteriore carico utile dannoso. Quindi, il malware tenta di eseguire il payload dannoso recuperato.

Ciò che non è abbastanza chiaro per me è come viene eseguito quel payload dannoso? Ha bisogno di essere scritto su un file e quindi di effettuare una chiamata per l'esecuzione? Ci sono altre possibilità?

    
posta hsnm 01.10.2012 - 16:08
fonte

2 risposte

4

Esistono molti modi per eseguire il codice scaricato:

  • Scrivi un file e poi eseguilo come si nota
  • Il carico utile potrebbe essere scritto in una lingua per cui il caricatore è un interprete.
  • Il caricatore può eseguire una shell o un altro eseguibile di scripting (python, ruby) e instradare il payload come script.
  • Il caricatore può contenere% di memoria eseguibile di% co_de, caricare il carico utile in esso, assegnare un puntatore a funzione e chiamarlo.

Sono sicuro che ci sono altri approcci, ma sospetto che copra le categorie principali (scrivi ed esegui, interpreti, forniscilo a qualcun altro per interpretarlo, o eseguilo direttamente). Ci possono essere alcuni modi per ingannare il sistema nell'esecuzione di un eseguibile ELF che non è scritto nel file system (magari attraverso una named pipe), ma non viene in mente nulla.

MODIFICA: vedi fexecve () . Questo dovrebbe consentire di creare pipe, fork e quindi fexecve per leggere l'eseguibile dalla pipe del genitore senza scrivere un file.

    
risposta data 01.10.2012 - 17:06
fonte
1

Potrebbe essere usato qualcosa come esecuzioni utente "di The Grugq. Questo approccio ha il vantaggio di non lasciare alcuna prova forense sul disco. È tutto in memoria.

    
risposta data 02.10.2012 - 19:31
fonte

Leggi altre domande sui tag