Processo di Windows e acquisizione del socket

1

Vedo attività sospette sul server Web di Windows 2008. Ci sono alcuni tentativi di connessione che vengono fatti dal server che esce su indirizzi IP stranieri senza alcuna ragione legittima.

I tentativi di connessione sono rari, durano solo pochi secondi. Cosa posso usare o Come posso trovare quale processo nel server ha creato il socket? Non dura a lungo, quindi penso a qualcosa che richiederà un'istantanea dei processi in quei pochi secondi, oltre a darmi il processo effettivo o il file eseguibile / dll effettivo che ha aperto il socket. Sysinternal TCPview e l'acquisizione di pacchetti a cui riesco a pensare, ma sono difficili dal momento che non so quando verrà fatto il prossimo tentativo di connessione. Qualche idea migliore?

    
posta Kapish M 10.08.2012 - 12:51
fonte

2 risposte

2

Suggerisco di eseguire continuamente Network Monitor (dalla stessa Microsoft), con un grande buffer . NM funziona con un buffer RAM per salvare i dati acquisiti e quando il buffer è pieno, i vecchi pacchetti vengono scartati; quindi puoi lasciarlo funzionare senza sorveglianza. Quindi attendi che si verifichi una delle connessioni sospette; a quel punto, ferma l'acquisizione e salva la traccia.

Questo ti darà un bel po 'di contesto (se il tuo buffer è abbastanza ampio, pochi minuti o addirittura ore di traffico precedente). Inoltre, NM cerca di collegare gli scambi di dati con i processi (e anche quando fallisce, è possibile utilizzare la traccia per capire cosa stava accadendo sulla macchina in quel preciso momento, e quindi individuare il probabile colpevole).

Sembra inoltre che NM possa essere automatizzato a in qualche misura .

    
risposta data 10.08.2012 - 21:30
fonte
1

Questo riguarderebbe anche me! Un modo per attaccare questo è usare netstat -rnb dalla riga di comando, il -b mostrerà l'eseguibile che ha aperto ogni connessione. Poiché le sessioni probabilmente durano poco, probabilmente non avrai il tempo di eseguirle manualmente, quindi dovrai scrivere qualcosa. Ecco due modi per procedere:

  • metodo super facile: scrivi un semplice script che condurrà semplicemente l'output a un file più e più volte finché non lo interromperai. Il comando sarebbe "netstat -rnb > > file.txt". Il modo più semplice per farlo sarebbe creare un file batch, ad esempio netst.bat, e avere 2 righe in esso:

netstat -rnb > > file.txt

netst.bat

I svantaggi di questo metodo sono che il file diventerà molto grande molto rapidamente, dovrai monitorarlo attentamente per assicurarti che non sfugga di mano, oppure puoi utilizzare la stringa di selezione di PowerShell per filtrare sulla porta numero se è coerente. Una volta che hai visto il traffico sospetto, puoi semplicemente cercare nel file l'indirizzo IP che hai visto e l'eseguibile dovrebbe essere lì, a meno che chiunque lo abbia scritto sia estremamente intelligente.

  • l'altro, un po 'più complicato sarebbe scrivere uno script che esegua netstat -rnb più e più volte cercando il traffico che si è visto e fermandosi quando lo vede, emettendo le informazioni che si stanno cercando. L'unica cosa è che devi sapere che cosa stai cercando, se c'è una vasta gamma di indirizzi IP e porte questo potrebbe non essere pratico, e presuppone che tu abbia qualche conoscenza di scripting.
risposta data 10.08.2012 - 13:28
fonte

Leggi altre domande sui tag