Anatomia di un virus / trojan molto creativo .txt. Come funziona?

4

Quindi ho scaricato un PDF protetto da password. All'interno della stessa cartella ci sono i seguenti file apparentemente innocui:

Comepuoivedere,sonoentrambifile.txt,giusto?Abbastanzainnocuo..Inrealtà,nonècosì:seguardidavicinopuoivederecheilfilePDFPasswordèinrealtàunlinkdisceltarapida,indagandoalsuointerno,hailseguentecomandonellascorciatoia:

C:\Windows\System32\cmd.execmd/cCredits.txt

Ok.Quindinonèunfile.txtevieneeseguitouncomandoperl'altrofile.txtapparentementeinnocuo..che,inoltre,nonèunfile.txt,perchéhaunaspettosimilealseguente:

Dati binari. Quindi quando si esegue questa operazione, viene visualizzato un processo chiamato TaskMgr con un'icona strana. Sono un programmatore e sono curioso, qual è l'anatomia di questo attacco? Quale tipo di dati può essere eseguito utilizzando CMD in questo modo? Quale linguaggio di programmazione si trova in questo file e come posso decompilarlo per vedere esattamente cosa sta facendo al sistema?

Devo ammettere che questo è abbastanza intelligente.

    
posta raphadko 02.09.2018 - 20:45
fonte

3 risposte

3

Le altre risposte sono fondamentalmente corrette, ma manca l'elemento chiave:

Un comportamento legacy strano in cmd.exe è che quando gli dai un file come comando (tramite il parametro /c o semplicemente digitando il nome del file nella shell interattiva), la prima cosa che fa è chiamare CreateProcess su quel file. CreateProcess è l'API Win32 per avviare un programma e non interessa l'estensione del file; interessa solo se il file è eseguibile o meno e dispone dell'autorizzazione Execute (che per default ha tutti i file di Windows). Solo se CreateProcess fallisce, cmd ricade su ShellExecute , che accetta un'azione basata sull'estensione del file e sul gestore registrato.

Come hanno notato le altre risposte, il file ".txt" è in realtà un binario eseguibile di Windows PE (in pratica, un file ".exe" rinominato). Se lo hai eseguito sul tuo computer, ci sono buone probabilità che il tuo sistema sia ora compromesso dal malware.

    
risposta data 11.11.2018 - 03:18
fonte
1

Come puoi vedere dallo screenshot, credits.txt è acutally un binario di Windows ( this program must be run under Win32 )

cmd /c esegue il programma specificato (nel tuo caso credits.txt . Il file finale non sembra rilevante in questo caso.

    
risposta data 02.09.2018 - 21:13
fonte
1

Puoi ottenere le seguenti conclusioni:

  1. Il file inizia con MZ che implica che questo è un file PE ( Ulteriori informazioni )
  2. C'è una stringa This program must be run under Win32 .
    Questa è una parte dell'intestazione MS DOS. Che conferma l'inferenza 1.
    Significa anche che è un 32 bit eseguibile (x86).
  3. Capiamo C:\Windows\System32\cmd.exe cmd /c Credits.txt
    • C:\Windows\System32\cmd.exe cmd chiede di avviare una nuova istanza dell'interprete dei comandi di Windows XP.
    • /c significa 'Esegue il comando specificato da stringa e quindi termina'
      In breve, esegue Credits.txt

Per capire veramente cosa fa esattamente, devi smontare il programma e cercare nel codice assembly usando alcuni strumenti come IDA Pro.

    
risposta data 10.11.2018 - 17:06
fonte

Leggi altre domande sui tag