Ho già scritto tempo fa a proposito del comando netstat di windows, nel post Visualizzare le sessioni TCP/UDP attive con il prompt dei comandi.
Oggi spiegherò come identificare malware o applicazioni non gradite con questo semplice ma potente strumento.
Ecco come monitorare le connessioni TCP usando netstat, ed ottenere un log dettagliato dei processi che accedono ad internet a nostra insaputa:
Prima di iniziare la fase di monitoraggio è bene chiudere tutti i programmi che si collegano ad internet come il browser, i programmi di chat, i client peer 2 peer etc.. visto che vogliamo ottenere un file di log il più “pulito” possibile.
Accertatevi che sul computer non vi siano più connessioni attive, e lasciando il pc collegato ad interntet avviate il prompt dei comandi e digitate:
netstat -bn [intervallo] >connections.log
l’output delle statistiche sarà salvato in un file connections.log:
di tutte le connessioni TCP saranno loggati gli ip, le porte (-n) e il nome dei processi che hanno inizializzato le connessioni (-b). L’intervallo, specificato in secondi, è la frequenza con cui il comando viene richiamato in loop.
netstat -bn 10 >connections.log
Questo è potenzialmente un loop infinito, ma potete interromperlo in ogni momento premendo CTRL+C.
L’ideale sarebbe lasciarlo in ascolto per qualche ora, oppure durante la notte.
Ed ecco l’output, qui vedete una connessione ad msn messenger:
Active Connections
TCP 192.168.1.1:1031 207.46.108.86:1863 ESTABLISHED 288
[msnmsgr.exe][...]
Potreste anche automatizzare il termine del monitoraggio usando AT per interrompere il processo all’orario preferito:
C:\>time
The current time is: 00.00.00,00
Enter the new time:
C:\>at 06:00 cmd /c "taskkill /F /IM cmd.exe"
C:\>netstat -bn 10 >connections.log
Volete sapere quante applicazioni e quali processi si collegano alla rete a vostra insaputa?
il comando che fa per voi è netstat -ano. Confido che dopo le grasse risate non farete fatica a ricordarlo e ne farete di certo tesoro :-).
Ano come l’insieme delle proprietà che mostrano tutte le connessioni attive o in ascolto (-a), su quali porte e da/verso quali indirizzi IP (-n), il Process ID dei programmi che hanno inizializzato tali connessioni (-o).
Resta solo da tradurre il PID nel nome del processo; per farlo basta usare il comando:
tasklist /FI “PID eq [PID di netstat]“
Viceversa se volete conoscere il PID per esempio di Firefox, userete:
tasklist /FI “IMAGENAME eq firefox.exe”
Un po macchinoso ma meglio di niente, sopratutto quando non si possono installare utility molto più comode, complete e immediate come CurrPorts.
Se pensate di aver trovato qualche connessione sospetta, potete verificare sul sito di nmap nella costantemente aggiornata List of Well-Known ports
Segnalo questa utilissima guida “tascabile” in formato chm (Microsoft compiled HTML Help), che microsoft mette a disposizione sul suo Download Center.
In questo ebook è contenuta la documentazione ufficiale, con esempi pratici, di tutti i comandi DOS esistenti.
Comoda, proprio perchè a portata di chiavetta, per smanettoni, sistemisti, amministratori di rete e chiunque debba spesso sporcarsi le mani con la shell del sistema. Comprende anche i comandi disponibili su Windows Vista, Windows Server 2003 e Windows Server 2008.
Scarica: Windows Command Line Reference in formato chm
Segnalo inoltre che la stessa versione della guida è anche disponibile su technet in formato HTML: