Come identificare e analizzare il malware che controlla gli strumenti di sicurezza prima dell'esecuzione?

10

Ho letto ZeroAccess e ho esaminato la sorgente di codice di alcuni bot * e ho trovato questo pezzo di codice che controlla se filemon è in esecuzione nel computer infetto prima di eseguire il bot.

  int pmain3()
{
    std::vector<DWORD> SetOfPID;
    GetProcessID("filemon",SetOfPID);
    if (SetOfPID.empty())
    {
        // Nothing found running, Safe to execute bot.
    }
    else
    {
        // One of the process was found running, Exit install.

    ExitProcess(0);
    }
    return 0;
}

Non è l'unico. Ci sono altri che controllano Wireshark, tcpview, procmon, VM, VirtualBox, sandBox ...

In questo caso, come posso analizzare un computer infetto? e come posso trovare il processo infetto?

PS: [*] preso dalla botnet IMbotMod V4.1

    
posta Barttttt 05.04.2014 - 12:23
fonte

3 risposte

3

È una corsa alle armi! In teoria, non è possibile ispezionare un sistema da se stesso. Devi avere un livello superiore: se vuoi controllare il malware dello spazio utente, devi essere nel kernel land. Se vuoi ispezionare il malware del kernel, sii nell'hypervisor.

In pratica, per il tuo caso, puoi provare a cambiare gli strumenti di analisi comuni per evitare il rilevamento da parte del malware. Ad esempio puoi rinominare filemon in fmon. Oppure crei i tuoi strumenti di analisi di cui l'autore del malware non sa nulla.

Se si desidera trovare un processo malware che controlla gli strumenti di analisi, provare ad agganciare GetProcessID. Dopo aver filtrato il rumore, scoprirai il malware che sta utilizzando la funzione.

    
risposta data 23.07.2014 - 20:37
fonte
3

Il malware rilevava la presenza di Rootkit Revealer , quindi hanno cambiato il modo in cui il programma era in esecuzione . Ora è avviato da un servizio Windows con un nome eseguibile randomizzato.

Allo stesso modo, è possibile utilizzare un processo supervisore per avviare procmon e qualsiasi altro eseguibile rilevato sotto nomi "assunti".

    
risposta data 12.04.2014 - 03:47
fonte
0

Un'altra possibilità sarebbe l'analisi statica del binario usando un disassemblatore (IDA Pro per esempio) per identificare i programmi che sta cercando.

Potresti quindi applicare una patch al binario (usando IDA o qualche editor esadecimale) per saltare i controlli o modificare le stringhe in modo che possa cercare fileman o abcdefg invece di filemon .

    
risposta data 17.06.2014 - 12:07
fonte

Leggi altre domande sui tag