it-swarm.dev

Posso determinare se sul mio computer è installato un registratore di chiavi?

Un mio amico ha appena iniziato un lavoro presso un'azienda sensibile alla sicurezza. Gli hanno fornito un laptop con Windows XP Professional installato. Ha sentito dire da altri dipendenti che i laptop potrebbero avere dei keylogger installati. C'è un modo per lui di confermare o confutare questo accusa? Sarà semplice come guardare l'albero dei processi o il registro o questi tipi di registratori di chiavi si nascondono meglio di così?

Lui ha ha i diritti di amministratore.

56
Plutor

Ciò dipenderebbe molto dall'implementazione del keylogger. Alcuni prodotti a livello aziendale includono rootkit che rendono il keylogger quasi impossibile da rilevare, a meno che non si conosca il prodotto in uso e la sua configurazione. Per un esempio, controlla Spector Pro *. Inoltre, come nota syneticon-dj , è possibile che potrebbero invece utilizzare un keylogger hardware che potrebbe essere implementato in un modo che non può essere facilmente rilevato dal software.

Se hanno concesso al tuo amico i diritti di amministratore completi sulla scatola, sono davvero sicuri delle loro capacità di monitoraggio e controllo della configurazione o sono abbastanza ignaro delle implicazioni di dare tali privilegi a un utente finale. Spesso, è quest'ultimo. Ma, se presumi che il primo sia il caso, allora dovresti anche presumere che ci sia una solida giustificazione per la loro fiducia.

Indipendentemente da ciò, è molto probabile che il tuo amico abbia già firmato (e quindi accettato) una politica di utilizzo accettabile che include una clausola che cede tutti i diritti alla privacy sulle apparecchiature di proprietà dell'azienda. Inoltre, qualsiasi azienda preoccupata della conformità in queste materie avrà anche un Banner di avviso sul sistema che ricorda agli utenti ad ogni accesso che potrebbero essere soggetti al monitoraggio su tali sistemi.

Bottom line: Non fare nulla sulle apparecchiature aziendali che non vuoi che vedano. Supponiamo sempre che stiano registrando i tasti premuti, acquisendo schermate (un'altra caratteristica spyware comune) e monitorando il traffico di rete con la possibile inclusione di un proxy SSL. Fai affari con l'hardware aziendale e cose personali con l'hardware personale e dovresti andare bene.

* Nota: questa non è un'approvazione di Spector Pro. Non ho affiliazioni con l'azienda, né ho usato il loro prodotto. Questo è semplicemente dato come esempio di quale tipo di strumenti spyware sono disponibili per le aziende.

59
Iszi

Iszi ti dà degli ottimi consigli in generale - è probabile che se usano software di monitoraggio, sono fiduciosi in questo.

Sarà semplice come guardare l'albero dei processi o il registro o questi tipi di registratori di chiavi si nascondono meglio di così?

Rilevare i keylogger è semplice come guardare nel posto giusto (che può essere o meno semplice a seconda del punto di vista). Il problema è sapere cosa cercare e dove. Quelle che seguono sono alcune cose non esaustive che potresti fare per verificare la presenza di moduli keylogging.

Innanzitutto, l'ovvio modo semplice per creare un keylogger è usare DLL Injection che può essere ottenuto in vari modi. La maggior parte di questi si tradurrà in un DLL visualizzato come mappato allo spazio degli indirizzi del processo. Dai un'occhiata a questa immagine:

pyd process

Qual è la voce più in alto in quell'elenco? È un pyd, o python, file. Ho fatto casino con i server COM implementati da Python e, di conseguenza, il DLL = viene caricato nello spazio degli indirizzi di Windows Explorer.

Iniezione DLL della varietà di keylogging caricherà il suo DLL in tutti gli spazi degli indirizzi di destinazione - non puoi catturare tutto se non lo fai. Quindi una cosa da cercare sarebbe strane DLL che tu non può attribuire a prodotti di cui conosci lo scopo. Verranno visualizzati in questo elenco per tutti i processi.

Delle tecniche descritte su Wikipedia, l'unica che non ho visto è la varietà CreateRemoteThread - Non sono sicuro se il risultato sarebbe quello di collegare un thread all'immagine o eseguire un thread con un nome DllMain. Grazie a Process Explorer, possiamo ancora vedere quali thread stanno eseguendo cosa:

Threads

Fantastico, vero? Bene, potrebbero benissimo essere nominati per coincidere con l'ovvio user32.dll o alcuni di questi. Ci sono un certo numero di esperimenti che potremmo svolgere per capire se è così, se così volessimo. Questi sono lasciati come esercizio per il lettore (non lo odi semplicemente quando la gente lo dice!).

In modo che copre la modalità utente-evidente-keylogger-mode. Ci sono alcuni posti meno ovvi in ​​cui un keylogger potrebbe essere incorporato (ma sarebbe improbabile che siano globali). Tuttavia, le cose diventano davvero emozionanti quando inizi a parlare di hook a livello di kernel. C'è un eccellente articolo di Mark R e Bryce Cogswell su questo argomento, sebbene debba essere aggiornato con il seguente avvertimento:

  • I kernel di Windows a 64 bit dispongono di un meccanismo di protezione della patch del kernel che controlla periodicamente i punti chiave del kernel per la modifica e arresta il sistema se vengono rilevati.

Quindi, se stai eseguendo Windows a 32 bit, potresti avere ancora qualche forma di aggancio a livello di kernel installato e funzionante; se stai usando 64 bit è molto meno probabile - dato che KPP è stato bypassato prima e cambia costantemente, scommetterei che sei libero dagli hook del kernel su x64 poiché gli aggiornamenti di Windows causerebbero un crash periodico del sistema di monitoraggio del prodotto. Il software non vende proprio su quella base.

Cosa puoi fare contro un hook a 32 bit? Un sacco di cose:

  • Esaminare la cartella dei driver per le voci che sembrano sospette/che non possono essere attribuite.
  • Fai la stessa cosa, ma offline, in modo che il conducente non possa impedirti di guardare.
  • Configurare una voce di avvio di debug con bcdedit (bcdedit /copy {current} /d "Windows in debug mode", bcdedit /debug {id} ON dopo appropriato bcdedit /dbgsettings), collega un cavo firewire (davvero. Non usare la seriale. L'ho scoperto usando i cavi seriali, il firewire è molto più veloce). Quindi, sul tuo computer di origine, avvia kd e imposta un punto di interruzione sul caricamento del modulo, quindi passa in rassegna tutti i moduli caricati, annotandoli. Non molto può fare un guidatore per nascondersi prima che inizi . Potresti anche procedere ad esaminarlo da qui (g per continuare, ctrl+c si interrompe in qualsiasi momento).

Ovviamente, le avvertenze qui sono che nessun eseguibile di Windows è stato corretto direttamente, o qualche malfunzionamento che va oltre la nostra capacità di rilevare banalmente.

Osserva direttamente il sistema, ma non è affatto una soluzione completa. Se ritieni che il software di registrazione stia telefonando a casa, un proxy trasparente potrebbe aiutarti a identificare dove, ad esempio potresti essere chiamato a vpn.mycompany.com ma potresti anche vedere connessioni a monitorserver.mycompany.com.

Come puoi dire senza dubbio, molte delle tecniche a tua disposizione dipendono da due cose:

  • La tua preesistente familiarità con il tuo sistema operativo o la capacità di familiarizzare rapidamente con ciò che è fuori posto e
  • La capacità e la risorsa dell'autore di nascondere/mascherare le loro modifiche da te.

Risposta breve: non esiste un modo infallibile per rilevare qualcosa del genere; ci sono comunque alcuni posti in cui puoi iniziare a cercare prove.

Varie dichiarazioni di non responsabilità:

  • Indagare potrebbe essere contrario al tuo AUP. Potrebbe anche essere illegale dove vivi.
  • Se provi tutto ciò che suggerisco e non trovi nulla, segui il consiglio di Iszi , supponi che qualsiasi programma di monitoraggio sia migliore di te.
  • È improbabile che tu faccia amicizia con il supporto IT e i amministratori di sistema analizzando i loro sistemi in questo modo.
  • La sicurezza della tua attività sul laptop di lavoro dipende non solo dal suo sistema operativo, ma anche da tutto l'hardware/software coinvolto nel transito di tali dati. Il mio punto? Se sei preoccupato (non dire di esserlo, solo un esempio) che il tuo datore di lavoro ti sta spiando per determinare se passi la giornata a giocare a Farmville, beh, non ha bisogno di un keylogger per farlo - se sei connesso tramite la loro rete dovrebbero essere in grado di registrare le tue connessioni. SSL nasconderà il contenuto, ma non l'origine o la destinazione.
  • Nella mia esperienza, le voci sui keylogger di solito si rivelano proprio questo: voci. Tuttavia, si basa sul mio campione statisticamente non valido di una società in cui esisteva una tale voce, quindi non ci si può fidare. Chiaramente, questi prodotti esistono.
32
user2213
  1. Crea un account GMail con no autorizzazione in 2 passaggi (non dal laptop dell'amico) .
  2. Accedi con il laptop del tuo amico nell'interfaccia web di GMail (digita username/passa manualmente) .
  3. Crea nuova posta con subj some reports from %companyname%, allegare alcuni .docs e .pdf fittizi, digitare "[email protected]" nel campo "A:". Fai clic su "Invia".
  4. Abilita Autorizzazione in 2 passaggi e collegala al telefono (non dal laptop dell'amico)
  5. Non accedere a quell'account da nessuna parte, quindi attendere un SMS che conferma i keylogger :)
18
НЛО

bene alcuni keylogger si nascondono molto bene in effetti alcuni potrebbero essere come un rootkit e dovresti ottenere un buon programma antivirus in grado di rilevare e sradicare rootkit e trojan e simili dal computer e dovrebbe essere scansionato accuratamente da un sistema PULITO altrimenti potresti avviare un rootkit o altre cose brutte che farebbero apparire la scansione pulita quando in realtà non lo è. un buon programma di questo tipo è il AVG programma antivirus e antirootkit Pro e ce ne sono alcuni altri che affermano di fare bene contro i rootkit e tutti gli altri tipi di worm trojan spyware ecc ... un buon investimento, se non ti piace avere qualcuno che ti guardi sempre alle spalle, o peggio ancora prendi un "bug" piuttosto brutto, fai una scansione con qualcosa come AVG, da un sistema CLEAN ... questo dovrebbe occuparsi di tutte quelle cose che ho menzionato e mantenere aggiornato anche il tuo software antivirus/antirootkit

0

Fondamentalmente, non c'è modo di rilevarlo se non smontare il sistema e confrontarlo con un'implementazione affidabile.

È stato dimostrato teoricamente impossibile creare un programma che sarebbe in grado di analizzare un pezzo di codice arbitrario e determinare se alla fine si fermerà o funzionerà per sempre dato un input particolare ( problema di arresto ), che a sua volta significa molto per gli scanner che hanno lo scopo di determinare se un binario arbitrario metterà la tua macchina in uno stato indesiderato particolare.

Come ulteriore complicazione, non è necessario che i keylogger siano installati nel tuo sistema operativo, ma potrebbero essere anche componente hardware .

0
syneticon-dj