From: Leonardo Serni Newsgroups: it.comp.sicurezza.windows,it.comp.sicurezza.varie Subject: Leggere l'output di NETSTAT Date: Fri, 28 Jul 2000 20:58:35 +0200 Organization: CELT Message-ID: Visto che e' la stagione di NETSTAT, preferisco correre ai ripari prima. Orbene, diciamo che abbiamo aperto il nostro prompt di MS-DOS e dato, in finestra, il comando NETSTAT -a (il comando NETSTAT -na e' uguale, solo piu' veloce, perche' non sta li' a perder tempo a risolvere gli indirizzi IP nei nomi corrispondenti). e diciamo che mi ha dato qualcosa del tipo: C:\WINDOWS\Desktop>netstat -a Active Connections Proto Local Address Foreign Address State TCP TOWER:1025 klinure:nbsession ESTABLISHED TCP TOWER:774 kidenas:22 ESTABLISHED TCP TOWER:1038 kidenas:22 ESTABLISHED TCP TOWER:139 *:* LISTEN TCP TOWER:1033 www.ornitorinchi.org:80 SYN_SENT TCP TOWER:1039 www.ornitorinchi.org:80 FIN_WAIT TCP TOWER:1042 mail.ornitorinchi.org:25 ESTABLISHED TCP TOWER:1043 mail.ornitorinchi.org:110 ESTABLISHED TCP TOWER:1026 TOWER:110 ESTABLISHED TCP TOWER:110 *:* LISTEN TCP TOWER:20034 *:* LISTEN UDP TOWER:nbname *:* UDP TOWER:nbdatagram *:* Vediamo come si leggono queste benedette righe. La colonna PROTO indica il protocollo di comunicazione, che per Windows e' TCP (Transmission Control Protocol) o UDP ("Unreliable" ;-) Datagram Protocol). L'indirizzo locale non e' altro che il nome del MIO PC, nome che potrei avere dato io ("PIPPO"), il mio network administrator ("C06160280503"), o magari, un CD-ROM preso in edicola con Free Internet ("LIBERO"). Fino a che non cambio il nome io, da Risorse di Rete -> Proprieta', rimarra' il nome impostato. L'indirizzo locale e' seguito da due punti e dalla frequenza utilizzata per lo scambio dati. Un computer opera nella gamma di frequenze da 1 su su fino ai 65535 megaportz. Le frequenze da 1 a 1024 sono riservate per gli usi di sistema, tipo le frequenze della polizia. Su un sistema Unix, solo l'amministratore puo' ricevere (o trasmettere) nella banda da 1 a 1024 megaportz :-). A differenza delle onde radio, dove chi parla e chi ascolta devono, per forza di cose, stare sulla stessa frequenza, e su una frequenza possono parlare solo uno per volta (se vogliono capirsi! ;-) ), Internet non ha questo limite. Cosi', un server Web sta in ascolto sulle frequenze 80 e 443 (questa e' la frequenza per trasmissioni crittografate, ad uso carta di credito et similia), ma su ciascuna puo' condurre moltissime connessioni. Inoltre, anche il chiamante puo' parlare usando piu' frequenze. L'unico limite (principio di esclusione di Pauli) e' che i quattro dati caratteristici (chiamante, frequenza chiamante, ricevente, freq. ric.), non possono essere tutti e quattro uguali. Fra due hosts, quindi, posso avere anche piu' di una connessione attiva. In questo esempio: TCP TOWER:1033 www.ornitorinchi.org:80 SYN_SENT TCP TOWER:1039 www.ornitorinchi.org:80 FIN_WAIT ...sto scaricando (o provandoci!) DUE immagini contemporaneamente da un sito Web. Netscape ha un apposito setup per impostare il massimo numero di connessioni simultanee ammesse. Lo STATE indica in che stato e' la connessione. Per esempio, se ho un programma ricevente sul mio PC, in attesa di dati o comandi dall'esterno (che so: una bella backdoor!), mi comparira' una entry del tipo TCP TOWER:20034 *:* LISTEN dove "LISTEN" significa appunto che il sistema sta "ascoltando" in modo da sapere se i suoi servigii sono richiesti. Quando mi collego a un sito Web, quel sito Web avra' la frequenza 80 in stato LISTEN. E sara' bene, se no col fischio che ci navigo sopra :-) Quando inizio a collegarmi, lo stato passa da SYN_SENT, SYN_ACK, fino a un glorioso ESTABLISHED ("comunicazione in corso"). Quando termina, non ripete al contrario la sequenza, ma passa da FIN, FIN_WAIT, a FIN2_WAIT fino a CLOSE. Dopo un po', la frequenza viene sganciata del tutto, e il programma NETSTAT cessa di far vedere la riga. Le frequenze assegnate a dati servizi di rete sono standardizzate dalla IANA e alcune sono riportate in /etc/services, o C:\WINDOWS\SERVICES, a seconda che abbiate un sistema operativo o meno . Nessuno vieta di fare la scempiaggine di mettere un servizio in ascolto su una frequenza impropria. Nessuno vieta ad un fruttivendolo di andare al banco dell'ufficio anagrafe del Comune ("Mi serve il certificato per la casa..." "Ecco qua, ora glielo taglio in due, cosi' vede la polpa... con questo caldo e' quello che ci vuole, tenga, lo metta in ghiacciaia, sono tre chili boni... melone, punto?"). Pero', la conversazione assume aspetti surreali, e i risultati non saranno quelli desiderati. Alla luce di quanto sopra rileggiamo le righe: TCP TOWER:1025 klinure:nbsession ESTABLISHED E' una connessione, in corso. Dato che la MIA porta e' 1025, mentre sul sistema Klinure e' nbsession, che e' una porta riservata, significa CON OGNI PROBABILITA' (certezze mai!) che sono stato IO ad aprire un link a Klinure, sulla porta nbsession di Klinure. TCP TOWER:774 kidenas:22 ESTABLISHED Come sopra. In questo caso specifico, siamo di fronte all'eccezione che conferma la regola: le connessioni alla porta "22" sono SEMPRE fatte da porte amministrative, fra 1 e 1024. TCP TOWER:139 *:* LISTEN Questo significa che il MIO computer e' in ascolto sulla frequenza 139, e che qualsiasi computer (*) con qualsiasi frequenza (*) puo' inviare i suoi dati o comandi, e saranno ricevuti. TCP TOWER:1033 www.ornitorinchi.org:80 SYN_SENT Qui io ho iniziato una connessione Web (80), ma ancora non e' passata a ESTABLISHED. Fra pochi secondi probabilmente lo fara'. TCP TOWER:1039 www.ornitorinchi.org:80 FIN_WAIT Qui sto CHIUDENDO una connessione allo stesso sito. TCP TOWER:1042 mail.ornitorinchi.org:25 ESTABLISHED TCP TOWER:1043 mail.ornitorinchi.org:110 ESTABLISHED Queste sono due connessioni a un server ("mail.ornitorinchi.org") sulle frequenze Posta in Partenza (25) e Posta in Arrivo (110). TCP TOWER:1026 TOWER:110 ESTABLISHED Questo sono... io, che mi collego a... me stesso. Curioso. TCP TOWER:110 *:* LISTEN E questo sono io, che aspetto connessioni sulla porta 110, di Posta In Arrivo. Quello che succede e' probabilmente questo: sul mio PC c'e' "qualcosa" che fa finta di essere un server di posta. Questo qualcosa si collega, poi, al vero server di posta. L'uso piu' probabile per questo rimbalzo e' leggere la posta prima che io la scarichi. Per esempio, per vederne il contenuto ed eliminarne possibili virus; oppure per copiarla e fare spionaggio industriale, chissa'. TCP TOWER:20034 *:* LISTEN Qui c'e' un programma in attesa su una frequenza altissima ed usata da pochissimi. Questo e' molto sospetto. Una passata d'antivirus trovera' con ogni probabilita' la backdoor NetBUS. UDP TOWER:nbname *:* UDP TOWER:nbdatagram *:* Questi sono due servizi typycamente Windows, da sempre in ascolto :-) Leonardo ".signature": bad command or file name