Chi si é collegato a me ~ mini-Howto

Augusto Scatolini (webmaster@comunecampagnano.it)

V1.0, agosto 2007

Abstract

1. Comando NETSTAT

2. File HOSTS

3. Three way handshake


Abstract

Dopo aver installato il Service Pack 2 (per windows XP), un antivirus (a pagamento o gratuito), anti-spie e anti-vermi tipo Lvasoft e Spybot, attivato il firewall di XP o sostituito con un altro migliore (tipo Zone Alarm), dopo aver deciso di utilizzare normalmente l'utente limitato e solo straordinariamente l'utente Administrator (troppo pericoloso), dopo aver deciso di non utilizzare più Internet Explorer (troppo pericoloso) ma Mozilla Firefox o altro browser (Opera, Safari,....), dopo aver deciso di non utilizzare più Outlook Express (troppo pericoloso) per la posta ma Thunderbird o altro, si potrebbe pensare di aver reso il proprio PC un fortino inespugnabile. E' proprio quello che sperano hacker, cracker e lamer. Per un hacker, violare un sistema windows è un'esperienza frustrante, perchè troppo facile! Quindi? Ci siamo dimenticati dell'Ingegneria Sociale, ovvero del buon senso che bisogna usare quando si collega un PC alla RETE. Quello che ci dovrebbe impedire di cliccare SPREGIUDICATAMENTE sui link di messaggi e-mail improbabili o su pagine di siti chiaramente pericolosi (XXX, warez, ....) o falsamente sicuri (cloni di siti conosciuti) Quindi? Quindi ammesso di aver preso tutte le precauzioni e di utilizzare il BUON SENSO possiamo stare tranquilli? Provate a verificare, come dice il titolo, chi si è collegato alla nostra macchina e resterete stupiti se non terrorizzati.

 


1. Comando NETSTAT

Per sapere chi si è collegato alla nostra macchina collegata in rete c'è un semplice comando dos: "netstat" che usato con l'opzione " -an" ci mostra tutte le porte aperte dei due protocolli TCP e UDP ed eventualmente l'indirizzo IP della macchina remota (collegata) con relativa porta di connessione stabilita o meno.
Aprite una finestra DOS e digitate "netstat -an" senza le virgolette, apparirà un risultato simile a quello riportato in figura. Il risultato può cambiare da PC a PC, a seconda delle applicazioni installate che contattano siti e/o servizi esterni e se si appartiene ad una rete lan privata o meno. Cambia ovviamente anche se la navigazione internet è attiva o meno. Il risultato riportato in figura è ottenuto senza alcuna connessione volontaria, nessun browser aperto, nessuna navigazione, nessuna posta elettronica, niente.. solo il mio computer acceso. Ma allora, a chi appartiene l'indirizzo IP 79.65.155.185 che attraverso la porta 7266 ha stabilito una connessione con la mia macchina che ha indirizzo IP privato 192.168.0.3 sulla porta 1049 attraverso il protocollo TCP?
Stessa domanda per l'indirizzo IP 81.67.254.185 che attraverso la porta 9646 ha stabilito una connessione con la mia macchina che ha indirizzo IP privato 192.168.0.3 sulla porta 1052 attraverso il protocollo TCP? La terza connessione non è preoccupante perchè è una macchina della mia rete locale lan con indirizzo privato 192.168.0.0/24
Per scoprire a chi appartiene un indirizzo IP si può usare un servizio lookup che risolve l'indirizzo IP in nome del dominio con relative informazioni (posizione geografica, proprietario , ecc.) Un servizio simile è fornito da http://ip-lookup.net oppure potete usare il box che segue (prestato dal sito citato):

Nel mio caso, inserendo nel BOX l'indirizzo IP 79.65.155.185 e cliccando su lookup ho ottenuto 79-65-155-185.dynamic.dsl.as9105.com che è ulteriormente interrogabile cliccando su "more info on 79.65.155.185" (ovviamente questo è un esempio, non potete digitare questi indirizzi mentre leggete questo howto) e vengo così a sapere che l'indirizzo appartiene a TISCALI.COM con sede nel Regno Unito. Strano perchè il mio abbonamento è con telecom Italia e non con Tiscali inglese, saranno accordi tra loro, saranno segreti? non è dato saperlo, comunque mi tranquillizzo perchè telecom o tiscali che sia, è il provider che mi da connettività.

Inserendo nel BOX l'indirizzo IP 81.67.254.52 e cliccando su lookup ho ottenuto m52.net81-67-254.noos.fr che è ulteriormente interrogabile cliccando su "more info on 81.67.254.52 e vengo così a sapere che l'indirizzo appartiene a NOOS.FR con sede in Francia. Sembrerebbe una società di telecomunicazioni che offre un servizio DHCP ovvero di indirizzi IP dinamici. Immagino per conto di Tiscali.com che a sua volta agisce per conto di Telecom.

Tranne il fatto che tutto questo avviene a nostra insaputa sembrerebbe tutto regolare. Ma potreste trovare molte sgradite sorprese.

2. File HOSTS

Supponiamo di digitare sul browser www.google.it  con il comando "netstat -an" dovremmo trovare la stringa relativa a google: 66.249.93.104:80 (indirizzo IP e porta del sito web www.google.it) che interrogato con http://ip-lookup.net ci dovrebbe riportare appunto a google.it.

Supponiamo che un malware (virus, trojan, .....) riesca a modificare il nostro file HOSTS (C:\windows\system32\drivers\etc\hosts) e inserisca una stringa come questa "212.48.10.150    google.it"

Il risultato sarà che quando digiterete sul browser "www.google.it" il browser prima controlla il contenuto del file hosts e se trova una stringa con quella parola preceduto da un indirizzo IP navigherà utilizzando quell'indirizzo e si aprirà la pagina di "www.alice.it" che ha appunto indirizzo IP 212.48.10.150
- provare per credere -

Supponiamo che qualcuno crei una pagina clone di google.it con indirizzo IP nn.mm.xx.yy e vi modifichi il file hosts inserendovi la stringa "nn.mm.xx.yy   google.it" , "vi assicuro che è una tecnica molto comune", il risultato è che navigherete TELE-GUIDATI  da qualcun'altro, con tutte le conseguenze immaginabili.

Ecco perchè è importante sapere chi si è collegato al nostro computer e con chi è collegato il nostro computer. Con il comando netstat vedremmo l'indirizzo IP apparentemente di google, ma risolvendo l'indirizzo in nome scopriremmo il nome del sito clone.

 

3. Three way handshake

Three way handshake, traducibile in "stretta di mano a tre vie", è la procedura che due PC eseguono quando si collegano l'uno all'altro attraverso il protocollo TCP/IP. Nel risultato del comando netstat -an c'è la colonna stato, e lì in alcuni casi è riportato ESTABILISHED. Si riferisce alla connessione TCP/IP. Sommariamente, quando il PC (a) vuole stabilire una connessione con il PC (b), (a) manda un segnale SYN (synchronize) a (b). Questi risponde con un segnale SYN/ACK (acknoledgment) al richiedente (a). Infine (a) conferma a (b) l'avvenuta connessione con un ulteriore segnale SYN/ACK.

Può capitare che grazie ad un firewall, sul nostro PC, ci sia nella colonna stato di netstat una connessione bloccata o in attesa, che non è riuscita a completare il triplice ciclo della stretta di mano. In questo caso è interessante sapere chi ha tentato di collegarsi al nostro PC.

Nel caso delle connessioni stabilite (estabilished) rimane da capire un particolare: chi ha iniziato il Three way handshake? Il nostro PC o l'altro?

Empiricamente, un server web, come http://a1.search.vip.scd.yahoo.com/ (uno de tanti server di yahoo), comunica con il mondo esterno tramite protocollo TCP/IP sulla porta 80 o 8080. L'indirizzo IP di http://a1.search.vip.scd.yahoo.com/ in realtà è http://66.94.229.254:80 nella sua forma decimale. Questo significa che se troviamo nel risultato di netstat -an un indirizzo decimale con la porta 80, non ci si dovrebbe preoccupare perchè è un sito web che presumibilmente abbiamo chiamato noi.

Quando invece la porta di comunicazione del PC remoto è superiore a 1024, primo non è un sito web ma chissà che cosa e secondo ad iniziare il "three way handshake" è stato il PC remoto. E quì dobbiamo domandarci "Chi si é collegato a me" e perchè?

 

FINE

questo documento è rilasciato con licenza CopyLeft - (tutti i rovesci sono riservati) - ovvero fatene quello che vi pare!

altre miniguide