Può un Trojan nascondersi, quindi la sua attività non appare nel processo del task manager? [duplicare]

22

Il software dannoso può nascondersi da solo, quindi la sua attività non compare nell'elenco dei processi da Task Manager? Può nascondersi così quando qualcuno controlla il tuo computer, anche se apri Task manager, non vedrai attività sospette?

Se sì, come può farlo? Quali tecniche possono essere utilizzate per nascondere in questo modo?

    
posta Steve 23.03.2015 - 09:23
fonte

2 risposte

47

Sì. Ci sono diversi modi:

  • Applica direttamente il processo di Task Manager in fase di runtime in modo che il suo codice di enumerazione salti il processo.
  • Esegui "processless", caricando una DLL in un processo (ad esempio tramite AppInit_DLLs ) o iniettando il codice nella memoria del processo e avviando un thread (tramite VirtualAllocEx / WriteProcessMemory / CreateRemoteThread ).
  • Aggancia le funzioni Process32First / Process32Next in ogni processo (incluso il task manager) per "saltare" il tuo processo quando viene eseguita l'enumerazione.
  • Aggancia CreateToolhelp32Snapshot in modo che la memoria della sezione mappata (vedi qui per come funzionano le istantanee ) viene modificato in anticipo, in modo che Process32First / Process32Next finisca per leggere dai dati falsi.
  • Aggancia ntdll.dll!NtQuerySystemInformation e, se viene passato SystemProcessInformation , correggi i risultati per saltare il tuo processo. Questo è un hook di livello inferiore rispetto alle chiamate precedenti.
  • Carica un driver in modalità kernel che aggancia il gestore in modalità kernel per SystemProcessInformation query. Non conosco il vero nome di questo in Windows (non è documentato), ma essenzialmente c'è una tabella di gestori che NtQuerySystemInformation cerca per questo scopo, e devi solo agganciare quello giusto. Ecco l'implementazione di ReactOS del gestore reale. In questo ti limiterai a fare confusione con le strutture restituite in modo che il tuo processo non venga mostrato.
  • Collega il SSDT per intercettare la transizione tra modalità utente e modalità kernel quando vengono chiamate varie API di enumerazione dei processi .
  • Utilizza Manipolazione diretta dell'oggetto del kernel (DKOM) per modificare le strutture EPROCESS in memoria in modo che il tuo processo sia nascosto dal kernel interamente. Il kernel mantiene un elenco di strutture collegate in modo circolare che rappresentano tutti i processi in esecuzione, con i campi FLink e BLink come puntatori avanti e indietro rispettivamente. Manipolando questi puntatori per saltare il processo, quindi manipolando i puntatori del processo per tornare a se stessi, il kernel salterà il processo durante l'enumerazione. Questa è una tecnica rootkit comune.
risposta data 23.03.2015 - 11:00
fonte
4

Certamente - ci sono molti modi per nascondersi dal task manager. Il più semplice è nascondersi in bella vista con il processo chiamato qualcosa di innocuo. Un'altra opzione è quella di nascondere come processo secondario che quindi non viene visualizzato.

Potrebbe anche installare come servizio, sempre con un nome innocente. Verrà visualizzato nell'elenco dei servizi ma non verrà visualizzato separatamente nell'elenco delle attività. Ci saranno, sono certo, altri metodi più complessi che una ricerca di Google mostrerebbe.

    
risposta data 23.03.2015 - 09:56
fonte

Leggi altre domande sui tag