Ho letto che puoi nascondere i processi dal task manager, esempio qui
Ho visto alcuni post su keylogger nascosti usando rootkit ma è davvero così.
Esiste uno strumento o un modo per esaminare i processi in esecuzione anche se sono stati nascosti?
Ho letto che puoi nascondere i processi dal task manager, esempio qui
Ho visto alcuni post su keylogger nascosti usando rootkit ma è davvero così.
Esiste uno strumento o un modo per esaminare i processi in esecuzione anche se sono stati nascosti?
Questo dipende molto da come il processo è nascosto. Se alcune funzioni dell'API di Windows vengono agganciate, i process manager che utilizzano tali funzioni non vedranno il processo. Quindi dipende dal particolare software che cerca di nascondere e dal software di monitoraggio che cerca di trovarlo. Indipendentemente dal programma di monitoraggio utilizzato, non è garantito che tutti i processi siano in esecuzione. Detto questo, ci sono un paio di buoni strumenti là fuori.
SysInternals Suite ha più programmi di monitoraggio diversi. Process Explorer è molto bello da una prospettiva GUI. Inoltre, si collega a VirusTotal per farti sapere se i processi attualmente in esecuzione che vede sono noti per essere dannosi. Procmon è fantastico per il monitoraggio dei processi. Basa il proprio output su chiamate di file / registro / funzione di rete API di Windows. Il rovescio della medaglia è che l'output è enorme e generalmente devi sapere cosa stai cercando. Ma se un processo nascosto sta accedendo al registro, ai file, o comunicando tramite la rete, verrebbe mostrato qui.
C'è un monitor open source chiamato YaProcmon (Yet Another Process Monitor) che ha una funzione che cerca specificatamente il nascondiglio dei processi meccanismi, e tenta di esporli.
Sysinternals process explorer è tuo amico . Questo ti mostrerà più informazioni di quelle a cui sei abituato da Task Manager, incluse le attività invisibili.
Conosco un processo, un gioco Che si nasconde da tutti i processi che non sono x2.exe, il che è piuttosto difficile in quanto qualsiasi processo che cerchi di rilevare se è in esecuzione tramite .NET Framework tramite il nome dell'immagine non funziona e nemmeno FindWindow quando ci vuole un minuto o due perché effettivamente "abbia" una finestra. Il che rende il Rilevamento Nome Immagine l'unico modo, ma il problema è aggirare il nascondersi a livello di kernel o qualcosa del genere.
Quindi, in Long Story short ci sono metodi per nascondere il tuo processo da cose come gli strumenti Sysinternals ma non per il Task Manager di Windows, il trucco è trovare un'API che la elimini su un livello più "kernel".
La risposta è tramite Volatilità .
Process Explorer
può solo vedere / trovare i processi che sono nella lista dei processi che è una lista doppiamente collegata che si trova da qualche parte nella memoria. Process Explorer conosce la posizione del primo nodo (o ha un puntatore a uno dei nodi) e da quel nodo, itera attraverso l'elenco e trova i processi "non nascosti".
L'Utilità di pianificazione non utilizza questo elenco per pianificare le attività, ma utilizza un altro elenco (dovrebbe essere un elenco di thread).
Tuttavia, quando un processo si nasconde, rimuove semplicemente i suoi collegamenti al nodo precedente e successivo e rimane nella memoria hidden
. Poiché rimuove solo se stesso dall'elenco dei processi e non dall'elenco dei thread, continuerà a essere eseguito senza essere visibile.
Ogni processo ha una struttura di classe specifica come una semplice classe c
con molti parametri.
La volatilità ricerca attraverso l'intera memoria e trova process class
strutture nella memoria così come l'elenco doppiamente collegato (che è l'elenco dei processi).
Quindi l'output è costituito da tutti i processi nella memoria, inclusi currect
, killed
e hidden
processes.
Si noti che stavo cercando un programma più semplice per i processi nascosti ma poiché non riuscivo a vedere la volatilità nella risposta, sentivo che ero tenuto a rispondere.
Leggi altre domande sui tag process