Newsgroup: it.comp.sicurezza.windows
Titolo: Un parere su Netstat

Ciao a tutti, ho Windows 98 e digitando "netstat -na" ottengo la seguente
risposta:
Connessioni attive
  Proto  Indirizzo locale         Indirizzo remoto             Stato
  TCP    
0.0.0.0:1046
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:68
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:8086
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:8087
 
0.0.0.0:0
              LISTENING
  TCP    
80.116.227.91:1046
 
195.31.190.131:119
     ESTABLISHED
  TCP    
80.116.227.91:1047
 
195.31.190.131:119
     TIME_WAIT
  TCP    
127.0.0.1:1033
 
0.0.0.0:0
              LISTENING
  UDP    
0.0.0.0:68
             *:*
  UDP    
0.0.0.0:8087
           *:*
  UDP    
127.0.0.1:1033
         *:*
Posso dormire tra due guanciali o mi devo preoccupare?

 Posso dormire tra due guanciali o mi devo preoccupare?
Queste mi danno molto da pensare.
Cerca di capire che processo apre tali porte. ma prima, per favore, leggi 
le securfaq per capire com'e' che andrebbe usato correttamente netstat 
per il controllo delle porte in ascolto.
-- 
HappyCactus - Linux User #209744 - LFS User #6046 - >>> SMSPM950 <<<
 
Ci sono 10 categorie di persone al mondo: quelle che capiscono
il sistema binario e quelle che non lo capiscono.


Non è che gentilmente mi sapresti dire come agire? Te ne sarei veramente
grato, purtroppo non so proprio come fare da me...

 grato, purtroppo non so proprio come fare da me...
/me boffonchia
vabbe'. Ripetiamo la lezioncina.
- Uso corretto del netstat per il controllo delle porte TCP e UDP in 
ascolto.
Prerequisiti: sapere cosa sono le cosiddette "porte".
Riassunto: le porte sono dei canali di comunicazione che il sistema 
operativo (windows, ma anche linux, bsd, eccetera) mette a disposizione 
dei programmi per poter comunicare tramite i protocolli TCP e UDP.
Occorre pensare alle "porte" come delle centraliniste, che smistano le 
comunicazione in arrivo con gli interni (applicativi) che li richiedono. 
Quando un programma richiede una certa porta al sistema operativo, 
quest'ultimo la concede, "aprendola."
Netstat e' il programma che alcuni sistemi operativo (windows, linux) 
mettono a disposizione per controllare lo stato delle porte TCP/UDP 
presenti nel sistema. Esso viene sovente utilizzato in windows per 
controllare che non vi siano programmi sospetti in ascolto, programmi che 
possono permettere l'accesso ad estranei al sistema (backdoor).
Di solito a tal fine netstat viene richiamato con i parametri -na, ovvero
  -a            Visualizza tutte le connessioni e le porte di ascolto.
  -n            Visualizza gli indirizzi e i numeri di porta in 
			forma numerica.
Per accedere all'help in linea, digitare netstat /?
Come discriminare le porte "buone" da quelle "meno buone"? La domanda non 
e' banale, in quanto un programma puo' aprire tali porte per gli scopi 
piu' disparati, sovente anche come meccanismo di IPC (Inter Process 
Communication), cioe' come canale di comunicazione interno al sistema tra 
programmi differenti. E' ad esempio il caso di Internet Explorer.
Per prima cosa e' necessario sapere che le porte che ci interessano sono 
quelle che netstat -na riporta come in "LISTENING", cioe' in ascolto. 
Inoltre, bisogna sapere che le porte possono essere aperte su tutte le 
interfacce, come su alcune solamente, cioe' ricevere comunicazioni 
provenienti dalla scheda di rete soltanto, oppure dal modem (colelgamento 
internet), oppure solo internamente (il cosiddetto loopback, quello del 
famigerato localhost cui corrisponde l'ip 127.0.0.1).
Per eliminare quindi una buona parte della confusione e' indispensabile 
quindi aprire meno programmi possibili: si consiglia pertanto di attivare 
netstat subito dopo l'accensione del PC, senza aprire alcun programma 
(neppure le cartelle di esplora risorse). Per far cio', clicca su start, 
quindi "esegui", digita "command", e dal prompt di ms-dos C:\windows> 
digita 
	netstat -na
Sul mio pc viene visualizzato questo:
<snip>
C:\WINDOWS\Desktop>netstat /na
Connessioni attive
  Proto  Indirizzo locale         Indirizzo remoto             Stato
  TCP    
192.168.1.7:137
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:138
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:139
 
0.0.0.0:0
              LISTENING
  UDP    
192.168.1.7:137
        *:*
  UDP    
192.168.1.7:138
        *:*
C:\WINDOWS\Desktop>
PROTO indica il protocollo utilizzato, TCP o UDP. 
Indirizzo locale e' l'indirizzo su cui ascolta la porta scritta dopo il 
duepunti (ip:Porta). di norma puo' essere
	un ip della classe privata, se siamo su una LAN, che abbiamo 
		assegnato alla nostra scheda di rete. 
	un ip generico
	l'ip del localhost, 127.0.0.1
	l'ip cosiddetto ADDR_ANY, cioe' 0.0.0.0, che significa "qualsiasi
		IP"
L'indirizzo remoto per le porte in stato di LISTENING non e' rilevante.
Ad ogni numero di porta, generalmente, e' assegnata una funzione tipica, 
sono le cosiddette "well-known ports". Ad esempio, 80 su protocollo TCP 
e' la porta del protocollo http, quello che ci permette di sfogliare le 
pafine web. 137 su TCP e UDP, assieme a 138/TCP,UDP e 139/TCP sono le 
porte del protocollo netbios, quello della condivisione file e stampanti. 
119/TCP e' quello delle news (NNTP), mentre 110/TCP e' quello della posta 
POP3.
E' importante fare attenzione all'insieme numero-porta e protocollo. Una 
backdoor molto scaltra potrebbe nascondersi tra le porte "well-known", ma 
su u nprotocollo diverso, passando inosservata. Ad esempio, 139/UDP 
(quanti se ne accorgerebbero?)
Nulla vieta tuttavia che le stesse porte non possano essere utilizzate da 
altri servizi, il caso classico e' quello della porta 110/TCP (POP3) 
utilizzata da alcuni antivirus per lo scan della posta.
Il secondo passo, dopo aver controllato subito dopo l'avvio del pc 
l'output del netstat, e' quello di eseguire la stessa procedura subito 
dopo la connessione ad internet (tramite accesso remoto), ma ancosa senza 
aprire alcun programma. Molte backdoor, infatti, si mettono in ascolto 
sulle porte solo alla presenza di una connessione con accesso remoto.
Quindi, dopo aver eseguito la connessione, rifacciamo partire netstat -na
Sovente pero' molti programmi "legali" aprono porte in ascolto, porte che 
compaiono su netstat. Questa e'  la mia situazione attuale:
C:\WINDOWS\Desktop>netstat /na
Connessioni attive
  Proto  Indirizzo locale         Indirizzo remoto             Stato
  TCP    
0.0.0.0:1044
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:1027
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:1027
 
192.168.1.1:139
        ESTABLISHED
  TCP    
192.168.1.7:1044
 
193.70.192.192:119
     ESTABLISHED
  TCP    
192.168.1.7:137
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:138
 
0.0.0.0:0
              LISTENING
  TCP    
192.168.1.7:139
 
0.0.0.0:0
              LISTENING
  UDP    
192.168.1.7:137
        *:*
  UDP    
192.168.1.7:138
        *:*
137-139/TCP/UDP sono normali, come abbiamo visto. 
Curiosa e' la 1027 in ascolto sull'indirizzo della mia intranet. In 
realta' quella e' una linea fasulla: vediamo che subito dopo la stessa 
porta ha una connessione in atto (established) con l'indirizzo del mio 
server samba, sulla porta 139/TCP. Un baco di netstat fa risultare in 
ascolto anche le porte che hanno una connessione attiva.
Curiosa anche la 1044/TCP in ascolto su ADDR_ANY (0.0.0.0). Ma la stessa 
porta e' connessa al mio server delle news (119/TCP remoto), quindi 
sicuramente e' gravity. Tutto normale.
Diverso sarebbe se avessi, ad esempio
C:\WINDOWS\Desktop>netstat /na
Connessioni attive
  Proto  Indirizzo locale         Indirizzo remoto             Stato
  TCP    
0.0.0.0:901
 
0.0.0.0:0
              LISTENING
  TCP    
0.0.0.0:27374
 
0.0.0.0:0
              LISTENING
La prima porta e' utilizzata da un trojan horse, assieme alla 902 e 903 
(ma queste ultime vengono aperte successivamente) sempre TCP, detto 
"netdevil". la 901 e' utilizzata anche da servizi legittimi: andando su 
www.portsdb.org
 troviamo che
http://www.portsdb.org/bin/portsdb.cgi?portnumber=901&protocol=ANY
901  TCP  realsecure-console    User
901  TCP  smpnameres            IANA    SMPNAMERES
901  UDP  smpnameres            IANA    SMPNAMERES
Ma sul sistema in questione non e' installato alcun servizio di tal 
genere, ed inoltre la porta UDP non e' presente.
La seconda porta sospetta, 27374, non da' dubbi. L'unico servizio che 
utilizza in listening tale porta e' SubSeven Gold(one), un tool da lamer 
falliti utilizzato per impressionare gli amici impressionabili (ma 
neanche tanto). 
Attenzione pero'! le porte dalla 1024 in su sono dette porte "effimere", 
utilizzate cioe' anche da servizi legittimi per esplicare la loro 
funzione. Tali programmi non usano sempre lo stesso numero di porta, 
anzi, esso cambia volta per volta, aumentando. Da qui il nome "effimere".
Quindi se vedete improvvisamente aprirsi la porta 1243, non significa 
necessariamente che avete installato il trojan SubSeven, ma puo' essere 
(anzi, e' molto probabile) che un programma (Internet Explorer? Outlook?) 
l'abbia aperta per i cavoli propri.
E' per questo che netstat va fatto preferibilmente a programmi chiusi.
Come fare ad identificare il programma che ha aperto una data porta?
La procedura normale e quasi infallibile e' quella di chiudere i 
programmi uno alla volta e stoppare i servizi ad uno ad uno controllando 
se la porta si chiude. Quando la porta non c'e' piu', significa che 
l'ultimo programma chiuso o l'ultimo servizio stoppato e' quello che 
teneva la porta in ascolto.
Un altro metodo, piu' comodo, e' quello di utilizzare dei tool, mi viene 
in mente solo il port monitor di sysinternals. Purtroppo ha un 
inconveniente, una backdoor scaltra potrebbe mascherare il proprio nome 
con dei nomi di eseguibili esistenti. Ad esempio potrebbe chiamarsi 
'nod32 .exe', mascherandosi dietro il mio antivirus preferito. Uno spazio 
passa inosservato all'occhio.
Un altro metodo e' quello di utilizzare un personal firewall che 
controlli anche le porte in ascolto (Zone Alarm, Tiny, Outpost), e 
permettere l'apertura delle porte solo ai processi che servono. Purtroppo 
un firewall non e' uno strumento di facile utilizzo, occorre capirne il 
funzionamento per non correre 5 minuti dopo a chiedere su icsv perche' 
tiscali o tin ci vuole attaccare, chi e' quel 224.0.0.3 che ci pinga e 
perche' il browser non puo' piu' accedere ad internet. Inoltre esistono 
tecniche per aggirare la protezione del firewall, quindi anche per un 
esperto un firewall non e' la soluzione definitiva.
Un antivirus ed un antitrojan aiutano infine a completare la linea di 
difesa.
HappyCactus che si e' forse dilungato un pelo troppo.... HTH :)


Wow, grazie mille per la risposta così esauriente! Adesso ho compreso tutto
(o almeno spero!)...
Alla fin fine le porte 8086 e 8087 ho scoperto che me l'apriva l'AVP Control
Center che è incluso nell'Antiviral Toolkit Pro Platinum che uso come
antivirus.
Se lo chiudo le porte non compaiono più nella lista di Netstat.
Un discorso a parte invece va fatto per la porta 68 che si apre, come per
magia (almeno per me), ogni tanto, dopo un tot di tempo...
All'avvio non è aperta, ne si apre quando mi connetto ad Internet, ma si
apre dopo un pò di tempo per poi richiudersi poco dopo, sia che sia connesso
o meno.
Ho provato a chiudere tutte le applicazioni attive (la cui lista la ottengo
dall'uso di TCactive!, l'utility compresa in The Cleaner), sono arrivato a
rimanere solamente
con l'explorer, la finestra di netstat ed il TCactive! (a quel punto lì non
potevo chiudere più nulla) ma questa dannata porta continua a ripresentarsi
ogni tanto...
Non so cosa pensare, non è che gentilmente sei in grado di darmi qualche
consiglio in proposito? Forse (supposizione mia) potrebbe dipendere da
qualcosa
legato alla scheda di rete che ho installata nel computer (ho un mini rete
di due computer) e/o hai protocolli/servizi che sono stati installati per
farla funzionare?

 farla funzionare?
Si, hai ragione.
Hai win2k? Bene, nel file windows/services sono elencate le "well known 
ports", piu' alcune altre. troverai che 
bootpc       68/TCP       # BOOTP client
probabilmente, se hai win2k o nt, hai attivato il servizio bootpc, che 
serve per caricare il sistema operativo via rete per le macchine 
diskless. E' molto probabile che a te non serva, prova a vedere se non e' 
attivato.
Il fatto che si apra per poco tempo, non so a cosa sia dovuto, non ho 
letto le RFC in proposito.... ma suppongo che all'accensione una scheda 
di rete faccia una richiesta (attraverso un qualche protocollo a livello 
2 ISO) e il tuo PC, raccogliendola, apra tale servizio.
BTW, il mio modem adsl, appena acceso, fa proprio una richiesta di tale 
tipo:
Jun 25 09:26:27 stargate kernel: Packet log: input - eth1 PROTO=17 
192.168.1.138:68
 
255.255.255.255:67
 L=280 S=0x00 I=297 F=0x0000 T=64 (#8)


 Un discorso a parte invece va fatto per la porta 68 che si apre, come per
Bootstrap Protocol Client
http://snurl.com/5ln
dany
-- 
Next sign available

"che porte aprono i piu' diffusi antivirus?"... maaaaaaax! :)
Aspe', aspe', che e' in lavorazione qualcosa di muy fino :-)
Leonardo che cento ne inizia e una ne finisce (e neanche sempre)
-- 
ftp://warez.slashdot.com:12345
 - Warez for nerds. Stuff that matters.

 Leonardo che cento ne inizia e una ne finisce (e neanche sempre)
HappyCactus che magari avesse questa media...



Grazie, ma non credo di aver ben capito cosa devo fare... Ho capito che devo
andare sulle impostazioni della mia scheda di rete per quanto riguarda il
protocollo TCP/IP e settare un IP manualmente... Ma ci devo mettere quello
che č specificato nel link qua sopra od uno a mia scelta? Se la risposta č
la seconda cosa ci devo scrivere, delle cifre a caso? Non faccio forse prima
a cancellare direttamente il supporto del TCP/IP per la scheda di rete?

 
192.168.1.138:68
 
255.255.255.255:67
 L=280 S=0x00 I=297 F=0x0000 T=64 (#8)
Purtroppo ho Windows 98... :-(

mi sa che c'e' qualche cosa da sistemare... prende solo html?!? :?
Cos'altro deve prendere? :-)
Anzi: no, non rispondere :-)
Leonardo
-- 
Questo messaggio è NAGWARE. Per disattivare ironia trita, giochi
di parole, volgarita' gratuite ed inviti a rileggersi i messaggi
gia' passati e/o consultare 
http://groups.google.com
, effettuare
un versamento di 25 euro come tariffa di registrazione helpdesk.

 Anzi: no, non rispondere :-)
Ok, ti lascio con il dubbio! :)
Scherzi a parte, purtroppo ho incollato il testo txt e lui se l'e' 
pappato tranquillamente, solo che ovviamente non si caga i fine linea.
Se e' un problema, vado di html editor e lo riposto.


 a cancellare direttamente il supporto del TCP/IP per la scheda di rete?
Nin zo' se cancellare TCP/IP sia cosa buona e giusta. 
dany
-- 
Anche sul trono più elevato del mondo 
si é pur sempre seduti sul proprio sedere. (Montaigne)

pappato tranquillamente, solo che ovviamente non si caga i fine linea.
Si', purtroppo c'e' quel problema li'. Penso di aggiungere una pagina che
si preoccupi di convertire ALMENO con nl2br(), poi si copincollera'.
Il vile oggetto (jeri avevo obliato di postare l'URL):
 
http://www.aduc.it/~lserni/netstat.php
Leonardo


 	
http://www.aduc.it/~lserni/netstat.php
Bello.
Aggiungerei
porta 111TCP/UDP   sun RPC (portmapper)
porta 137/138/TCP/UDP  netbios
Comunque mi sembra un aggeggio molto utile.
Dimmi se posso essere utile in qualche modo per farne l'improvement.


connessione TCP 
127.0.0.1:1380
 <-> 
127.0.0.1:2110
 in ESTABLISHED. 
Stiamo lavorando alle note :-)))
Leonardo Bach


Dimmi se posso essere utile in qualche modo per farne l'improvement.
Lo stai facendo ;-)


A proposito di progetti...ma iplogd l'hai lasciato perdere?
E' sempre li' che vivacchia. E' che mi serve almeno una mezz'ora per
carburare (moderatore a neuroni lenti LOL) e la prima mezz'ora per i
fini del coding non torna. Cosicche' su un'ora e dieci, contano solo
gli ultimi dieci minuti.
E, parra' incredibile, un'ora e dieci ininterrotta senza scassamenti
bilama [1] in questo periodo e' un sogno proibito.
Storia vera:
	DRIN {sul fisso}
	"PRONTO!"
	"Pronto, scusa, ti disturbo, hai un minuto?"
	"A dirti la verita', stavo chiavando [2]."
	"Ah, scusa, ma e' una cosa rapidissima, allora, io..."
	"<RUMBLE> [3] (click)"
	DRIN
	DRIN
	DRIN
	DRIN
	DRIN (sul cellulare)
	GOTO 10
Leonardo che 'un ripara
[1] il primo rompicoglioni mi fa uscire dal guscio e prima che possa
    tirare indietro il piede con cui l'ho calciato arriva il secondo
    che mi coglie sbilanciato.
[2] falso, e deliberatamente crudo per trasmettere un messaggio piu'
    penetrante (almeno quello LOL)
[3] un suono simile a "sgNoRT" ottenuto ridendo, sbuffando e tirando
    un bestemmione tutto insieme.


 Leonardo che cento ne inizia e una ne finisce (e neanche sempre)
Leo, a proposito, mi apri un'ftp? C'ho un po' di roba da uppare...
(e no, non dire che 
ftp.porn.org
 e' aperto a tutti, che' a me da sempre
"Connection refused"! <g>)
(scusate per il mex personale, 'un lo faccio piu')
-- 
"Ehi, fratelli. Qui c'e' scritto che c'e' anche il tempo per combattere".
SETI@home: 140WU/7751hrs on a P166MMX :-)
SecurFaq             : 
http://securfaq.usenet.eu.org
Biancorossi Siamo Noi: 
http://www.tifonet.it/free/ancona/

 "che porte aprono i piu' diffusi antivirus?"... maaaaaaax! :)
Dovrebbe esserci la PORT-APPENDICE. Queste non ci sono? (/me controlla il
master... no, non ci sono).


 GOTO 10
Scusa la curiosita'. 
Quale demone c'e' a livello 10?
dany 

 	GOTO 10
DEBUG ON:
Error: Line 10 not found...
-- 
Maintenance free: It's impossible to fix.
News 2000 [v 2.06] - 
http://www.akapulce.net/socket2000

Error: Line 10 not found...
8-D
Leonardo che quella è l'idea


 Leonardo che quella č l'idea
aha!
-- 
SCCS, the source motel!  Programs check in and never check out!  - Ken Thompson


> 	
http://www.aduc.it/~lserni/netstat.php
Carino :)
Hai presente procdmp? E' un aggeggino scritto in perl che si pappa
gli output di un po' di programmilli, li correla e scagazza un htm
con un bel po' di dati sui processi in esecuzione. Per un'idea dei
contenuti del report: netstat, handle, fport, listdlls, pslist. Mi
sembra che listdlls sia poco utile ma gli altri, forse, potrebbero
aggiungere info importanti al tuo report. Forse toglierei listdlls
e aggiungerei rpcdump, in modo da evidenziare quali siano le porte
aperte da servizi rpc. 
Magari ci potresti pensare per la release 2.0 di netstat.php.
Fabio

gli output di un po' di programmilli, li correla e scagazza un htm
Ho visto, ma mi pare che richieda un lavoro piu' lungo a monte; tirarsi
giu' i vari programmi da sysinternals, ecc.
Questa e' una fessacchiottata giusto come supporto FAQ :-)
