Faq sulla sicurezza in rete


0 - Storia
Disclaimer
Distribuzione
Appello

A - Informazioni generali
[A01] Cos'e' un nuke
[A02] Vari tipi di attacco
[A03] Ma cosa sono queste "porte"?
[A04] Differenze fra hackers e altri bei tomi
[A05] Ho sentito parlare di "editor esadecimale", ma non ho capito
esattamente cos'e'...
[A06] Cos'e' un firewall?
[A07] Che informazioni si possono ricavare dall'e-mail?

B - Le minacce dall'esterno
[B01-ALL] Scoprire trojan in generale.
[B02-ALL] Ma cosa puo' passare da 'ste benedette porte?
[B03-ALL] Puo' un intruso conoscere quello che scrivo sulla tastiera?
[B04-ALL] E' possibile che qualcuno riesca a navigare "sembrando me"?
[B05-ALL] Con tecniche di IP spoofing si riesce facilmente a falsificare
l'indirizzo IP di una macchina?
[B06-ALL] E' vulnerabile una macchina su cui gira un X-server?

[B01-W][9] Cos'e' Bo?
[B02-W] Ma cos'e' un trojan?
[B03-W][9] Infettare con il Bo
[B04-W][9] SilkRope? E che d'e'?
[B05-W][9] Cosa si fa con BO
[B06-W][9] Come faccio a sapere se ho il Bo?
[B07-W][9] Ho scoperto di avere Bo, come lo tolgo?
[B08-W][9] E come mi accorgo invece di Netbus?
[B09-W][9] Come si toglie Netbus?
[B10-W][9] Come si toglie TeleCommando?
[B11-W][9] Cos'e' Aggressor?
[B12-W] Un bug di mIRC
[B13-W] Che rischi corro usando ICQ?
[B14-W] Cosa sono le scansioni invisibili?
[B15-W] Ma il file windll.dll non e' un file di sistema di Windows?
[B16-W] Ho ricevuto un messaggio e-mail con un allegato, ma quando
tento di leggerlo il mio Outlook va in crash.
[B17-W] Come vedo se ho il protocollo NetBIOS su TCP/IP installato?
Che rischi corro?
[B18-W] Senza programmi come Bo o NetBus e' possibile "entrare" nel
computer di qualcuno?
[B19-W] Le porte UDP 137 e 138 sono un rischio? E perche'?
[B20-W][95] Ho notato che ogni volta che mi connetto a internet si aprono
automaticamente queste due porte 137 e 138. Io ho la versione
OSR2 di win95, e' un problema di questa versione ?
[B21-W][NT] Da un account NT in pratica senza nessuna autorizzazione, è
possibile scovare la password dell'Administrator?
[B22-W][NT] E' possibile diventare amministratore sotto Windows NT?
[B23-W][NT] Avendo il diritto di installare ed eseguire programmi,
cosa posso fare?
[B24-W][9] Come possono interagire telnet e BO?
[B25-W] In cosa consiste di preciso il "TearDrop Attack"?
[B26-W] Come sono belli i messaggi di posta e news formattati, con
tutte quelle belle applet ed effetti speciali!!!
[B27-W][NT] Perche' e' meglio chiudere la porta 53 sotto NT?
[B28-W] E' possibile camuffare un eseguibile come un file di tipo
diverso?
[B29-W] Corro rischi ad usare Netbuster per beccare intrusi?
[B30-W][9x] Ancora sul NetBIOS: puo' BO usare le sue porte?
[B31-W] Puo' un attacco sfuggire a Nuke Nabber?
[B32-W] Cos'e' Portfuck?
[B33-W] Alcune cosa da sapere su mIRC...
[B34-W] Quando su un sito che visito appare il contenuto del desktop cosa vuol
dire? Mi devo preoccupare oppure è normale?
[B35-W] Come ha fatto questo tipo a trovarmi? Basta usare ICQ?
[B36-W] Se Netstat mi dice che non ho porte aperte posso stare davvero sicuro?
(le DLL ponte)
[B37-W] Se ho il client di una backdoor, la mia vittima potrebbe a sua volta
entrarmi nel computer?
[B38-W] Cos'e' il NETBEUI e il NETBIOS? Come li gestisco con Conseal?

[B01-M] E' possibile far piantare il Mac tramite la rete?

[B01-X] Nella mia macchina Linux ho attivo il servizio di finger. E'
vero che ci sono rischi?
[B02-X] Con X-Window attivo netstat rileva qualcosa sulla porta 6000.
[B03-X] Ho sentito parlare di PHF, ma cos'e'? Una backdoor?
[B04-X] Corro rischi ad ascoltare musica in formato MP3 sul mio
sistema Linux?

C - Metodi di difesa
[C01-ALL] Proteggere il sistema - Info generali

[C01-W][9] Come si configura correttamente il Nuke Nabber ?
[C02-W][9] Le componenti di rete, ovvero: cosa tengo e cosa tolgo?
[C03-W][9] Ma se tolgo il Client per reti MS non mi memorizza piu' la
password!!!
[C04-W][9] Quali porte controllare con NukeNabber?
[C05-W] Cosa uso per controllare l'attivita' di rete del mio computer?
[C06-W][9] Password mantenute in cache
[C07-W] Ho il programma WinTOP dei Kernel Toys. Serve a qualcosa?
[C08-W] E' vero che si possono far eseguire dei programmi dannosi
allegandoli a un messaggio e-mail?
[C09-W][9] Posso proteggere un file o una directory sotto Windows da
accessi indesiderati?
[C10-W] Ho messo sotto controllo la porta 31337. Sono al sicuro?
[C11-W] Ho installato NukeNabber per controllare le porte "sensibili".
Sono al sicuro?
[C12-W][9] Back Orifice - Server: configurazione ed installazione
[C13-W] Si puo' vedere se ho un file "Silkroppato"?
[C14-W] Si puo' creare un file di log per netstat?
[C15-W] Ho saputo che posso proteggere il mio computer con un programma
chiamato Conseal. Quando e' utile o inutile questo programma?
[C16-W] Si puo' disabilitare la funzione di autorun per tutte le unita'?
[C17-W][NT] Come impedisco ad altri di amministrare il server NT?

[C01-X] Come posso rendere Linux piu' sicuro da intrusioni?
[C02-X] Come faccio a sapere che servizi ho attivi?
[C03-X] Non posso disabilitare tutti i servizi di sistema. C'e' modo
di difendersi comunque?
[C04-X] E' necessario che sendmail venga lanciato al boot della
macchina?
[C05-X] Come posso sapere se e chi mi sta attaccando?
[C06-X] Pericolosita' dei commenti in host.equiv
[C07-X] Voglio stampare in locale, togliendo la disponibilita' del
server di stampa al "resto del mondo".
[C08-X] Come posso sapere chi sta usando i miei servizi?
[C09-X] Non mi va / non posso disabilitare tutti i servizi della mia
Linux box.
[C10-X] Se non voglio/posso fare a meno di usare X, posso almeno
renderlo sicuro?
[C11-X] Quali servizi possono essere chiusi sulla mia Linux Box?
[C12-X] Che meccanismo usa inetd per lanciare i processi "di rete"?
[C13-X] Come posso proteggere la mia Linux box senza pasticciare troppo con
pacchetti, protocolli e troiai vari?

D - Passare al contrattacco
[D01-ALL] Un attacco sembra venire dall'indirizzo x.y.w.z. Posso essere
sicuro che provenga veramente da li'?
[D02-ALL] Riesco a beccare un attaccante che usa ICQ?
[D03-ALL] Ma e' proprio sicuro che l'IP che scopro e' quello
dell'attaccante?
[D04-ALL] Ci sono programmi con cui mi posso difendere in maniera piu'
"attiva" e magari rispondere per le rime? >:-]
[D05-ALL] Come faccio a sapere chi mi attacca su IRC?

[D01-W] Ho installato un firewall fra il computer e la rete e Nuke
Nabber non vede piu' gli attacchi.
[D02-W] Si puo', a chi usa NetBus, far vedere solo quel che voglio io?
[D03-W] Esistono dei programmi che simulano Bo?
[D04-W] Ho un programma antiBo o anti-NetBus, e NukeNabber mi segnala
la backdoor!
[D05-W] E' possibile bypassare la pasword di NetBus???
[D06-W] E' possibile sfruttare nella direzione opposta la "connessione"
da parte di un BoClient?
[D07-W] Perche' bisogna avere da parte delle versioni particolari di
netstat e tracert?
[D08-W] Come faccio a divertirmi un po' con i pingatori senza troppa fatica?
[D09-W] A chi volesse contrattaccare usando BO.

[D01-X] E' possibile capire le intenzioni di chi pinga con BoClient?
[D02-X] Non riesco a far lanciare programmi al BoClone!
[D03-X] E archiviare i tentativi di accesso con BO a fini statistici?

E - La sicurezza informatica e la legge italiana
[E01] Il ping di BO si configura come sabotaggio informatico,
violazione della privacy o roba del genere?
[E02] Ma il ping di BO comunque e' configurabile come tentativo?
[E03] Se installo Back Orifice via NetBIOS su Internet ad un tizio che
non sa niente, mi possono beccare? E cosa mi possono fare?

Appendici
[PORT-Appendice] - Elenco ragionato delle porte piu' utilizzate
[BD-Appendice] - Appendice BD
[WG-Appendice] WinGate, proxy casalingo
[LINK-Appendice] - Siti che trattano di sicurezza dei sistemi
informatici


====================================


0 - Storia
16/10/1998: v. 0.1 pre-alpha
- Prima apparizione
24/10/1998: v. 0.2 alpha
- Aggiunta [B13], Storia, Disclaimer, Distribuzione,
Appello, [C05], [C06]
- Aggiornata [A04], [A02], [B01], [B07]
14/11/1998: v. 0.5 beta 1
- Aggiunta [B15], [B16], [B17], [B18], [C07], [C08], [A05],
[B19], [B20], [B21], [B22], [B23], [C09], [PORT-Appendice],
[C01a], [B24], [B25], [BD-Appendice]
- Aggiornata [C01], [A01], [B04], [C04], [A03], [B01]
22/11/1998 v. 0.51 beta 2
- Aggiornata [A05], [B01]
04/01/1999 v. 1.0 Official Release
- Aggiunta [LINK-Appendice], [B26], [A06], [C10], [C11],
[C12], [B27], [B28], [B29], [B30], [C13], [B31], [C14],
[D01], [B32], [B33]
- Aggiornata [PORT-Appendice], [B08]
27/01/1999 v. 2.0 Multiplatform
- Riorganizzazione sezioni:
B09 -> B01-ALL B15 -> B14-W B30 -> B25-W
B16 -> B02-ALL B18 -> B15-W B33 -> B26-W
B17 -> B03-ALL B19 -> B16-W
B22 -> B04-ALL B20 -> B17-W B21 -> B01-M
B31 -> B05-ALL B23 -> B18-W
B24 -> B19-W B32 -> B01-X
B10 -> B09-W B25 -> B20-W
B11 -> B10-W B26 -> B21-W C01 -> C01-ALL
B12 -> B11-W B27 -> B22-W
B13 -> B12-W B28 -> B23-W C01a-> C01-W
B14 -> B13-W B29 -> B24-W
- Aggiunta Legenda, [D02-ALL], [D03-ALL], [D01-X], [C01-X],
[C02-X], [C03-X], [C04-X], [C05-X], [C06-X], [B27-W],
[D04-ALL], [C07-X], [C08-X], [C09-X], [D02-W], [D03-W],
[D04-W], [D05-W], [E01], [E02], [E03], [C15-W], Legal
disclaimer, [B02-X], [B03-X] , [C10-X], [B04-X], [D06-W],
[D07-W], [C16-W], [B28-W], [B29-W]
- Aggiornata [B25-W], [PORT-Appendice], [B19-W], [D01-W],
Disclaimer, Appello, [A04], [B18-W]
11/07/1999 v. 2.1 Enhanced
- Aggiunta [B30-W], [C11-X], [C12-X], [D02-X], [D03-X], [B06-ALL],
[D05-ALL], [WG-Appendice], [A07], [B31-W]
- Aggiornata [C03-X], [B08-W], [PORT-Appendice]
29/08/1999 v. 2.2 Service Release
- Aggiunta [B32-W], [D08-W], [C17-W], [B33-W], [D09-W], [B34-W],
[C13-X], [B35-W], [B36-W], [B37-W], [B38-W]
- Aggiornata [D02-ALL]


Disclaimer
***
Ogni modifica fatta al sistema, riguardante la configurazione hardware
e/o software, e' ESCLUSIVAMENTE a rischio e pericolo del lettore di
questa FAQ, come pure la responsabilita' delle conseguenze di tali
modifiche (dato che non posso conoscere le infinite varianti dei
sistemi in uso e relative necessita' di configurazione, in particolare
riguardo la rete eventualmente installata). Se il computer da
riconfigurare e/o ripristinare non e' il proprio, avvertire il
proprietario/responsabile per essere autorizzati a metterci le mani.
Questo riguarda soprattutto macchine usate in ambito lavorativo e/o
accademico, ma anche piu' semplicemente il computer non proprio ma
del fratello/cugino/amico/fidanzata/...
Precisazione importante: in questo documento sono citati numerosi
programmi (free/share/commerciali). Il fatto che un programma venga
citato nel testo della risposta a una FAQ non implica necessariamente
il suo uso da parte mia: Security FAQ raccoglie gli interventi piu'
interessanti del newsgroup it.comp.sicurezza.varie e del suo fratello
piu' giovane it.comp.sicurezza.windows, tentando di dare al tutto una
forma piu' organica possibile. Pertanto non posso assicurare di essere
in grado di rispondere a quesiti specifici riguardanti questo o quel
programma (per esempio la configurazione del firewall X o del server
della backdoor Y).
***

Legal disclaimer
***
LO SCOPO DI QUESTO DOCUMENTO E' DI RACCOGLIERE I CONCETTI DI BASE
PER DIFENDERSI DALLE INTRUSIONI TELEMATICHE E NON DI INCORAGGIARE
LE INTRUSIONI STESSE. SI RICORDA CHE L'USO DI PROGRAMMI CONCEPITI
PER DANNEGGIARE L'OPERATIVITA' DI ATTREZZATURE INFORMATICHE E' UN
REATO, E CHE LE AZIONI DENOMINATE "MAILBOMBING", "NUKE", "FLOOD",
"DoS", "BOSERVIZZARE" E PROBABILMENTE ALTRE ANCORA SONO ILLEGALI,
ANCHE SE COMPIUTE A SCOPO DIFENSIVO.
SI SCORAGGIANO QUINDI CON MASSIMA DECISIONE LE SUDDETTE PRATICHE,
MENTRE E' SEMPRE POSSIBILE COMPIERE ESPERIMENTI SU AUTORIZZAZIONE
DEI GESTORI DEL SISTEMA UTILIZZATO A TALE SCOPO, DOPO AVER IN VIA
PREVENTIVA INFORMATO I GESTORI STESSI DELLA FINALITA' DELLE PROVE
ESEGUITE, DEI RELATIVI PERICOLI E AVER PRESO TUTTE LE PRECAUZIONI
POSSIBILI PER NON RENDERE IL SISTEMA VULNERABILE DALL'ESTERNO. LO
SCOPO ESCLUSIVO DI "ATTACCHI" CONTROLLATI E AUTORIZZATI E' QUELLO
DI ACQUISIRE INFORMAZIONI SUL LORO FUNZIONAMENTO AL FINE DI POTER
PREVENIRE GLI ATTACCHI STESSI CON PIU' EFFICACIA.
***

Distribuzione
***
Questo documento puo' essere incluso in siti web e archivi ftp ad
accesso pubblico, nonche' inserito in raccolte su floppy o cd-rom il
cui prezzo equivalga il costo del supporto e della duplicazione. Nei
casi suddetti di distribuzione autorizzata, avvertitemi all'indirizzo
e-mail riportato all'inizio, cosi' da includere l'indirizzo web o ftp
nella successiva versione.
Nei casi di distribuzione non autorizzata, contattatemi ugualmente
inserendo nella mail il vostro indirizzo IP e la configurazione esatta
della vostra macchina (sistema operativo e versione di Winsock), ed
eseguite il file che sara' incluso nella risposta <evil grin> >:-]
***

Appello
***
Questo documento non vorrebbe avere un approccio troppo Windows-
centrico, ma a causa dell'uso prevalente da parte del suo curatore
dell'accoppiata Wintel (e, a giudicare dai messaggi in i.c.s.varie,
anche da parte di chi si rivolge al gruppo per chiedere aiuto) la
situazione non puo' essere che questa. E' quindi gradito l'invio alla
mia e-mail di ogni contributo riguardante problemi di sicurezza e (se
esistono) relativi rimedi riguardanti anche altri sistemi, come Amiga,
OS/2, Mac, Linux, ...
A causa degli impegni lavorativi, non e' garantita una risposta
immediata alle mail che ricevero', e di questo mi scuso in anticipo,
ma comunque e' garantito che rispondero' a ogni messaggio che mi
arrivera' in mailbox.
***


Legenda:

ALL: Tutti i sistemi operativi

W: Windows
9: Windows 95/95a/95b/95c/98
95: Windows 95 (tutte le versioni)
NT: Windows NT (tutte le versioni e SP)

X: Unix/Linux

M: MacOS


====================================


[A01] Cos'e' un nuke

Sappiamo tutti (in particolare gli utenti Windows) che non esiste il
sistema operativo perfetto. E' possibile mandare in crisi un sistema
operativo connesso in rete inviandogli pacchetti di dati costruiti a
regola d'arte, che sfruttino per esempio una cattiva implementazione
del protocollo TCP/IP, quello usato in Internet. Gli effetti vanno
dal Blue Screen of Death al congelamento totale della macchina (=
unico comando funzionante: pulsante di reset hardware).
Un esempio di nuke e' dato da un pacchetto con indirizzo IP mittente
uguale a quello del destinatario, che cortocircuita la connessione (in
pratica, il computer nel rispondere comincia a mandare dati a se
stesso), oppure un pacchetto sapientemente frammentato in maniera che
le parti si sovrappongano parzialmente. Ovviamente il nuke e' fatto su
misura e sfrutta le debolezze di uno specifico stack TCP abbinato al
suo specifico sistema operativo; quindi il nuke che va bene per
Windows non va bene (o almeno non e' detto che vada bene) per altri
computer, e viceversa nuke che buttano giu' altri computer, _forse_
potrebbero anche non buttare giu' Windows.


[A02] Vari tipi di attacco

- NesTea, Suffer3, Boink, Land, Oob, Smurf

Si tratta di attacchi di tipo DoS (nulla a che vedere con MS-DOS, la
sigla significa Denial of Service, Privazione di Servizio).
L'effetto varia da noie sullo schermo in presenza di patch a reset
della macchina, a schermi blue sotto Win, a stop dei trasferimenti per
intasamento delle connessioni;

- Portscan

Serve a trovare le porte aperte di un host remoto.


[A03] Ma cosa sono queste "porte"?

In un ufficio postale esistono vari sportelli, ognuno dei quali svolge
un servizio ben determinato: uno per le raccomandate, uno per i pacchi,
uno per i telegrammi, uno per vaglia e conti correnti, uno per il
pagamento delle pensioni, ...
Analogamente, una macchina connessa alla rete (l'"ufficio postale") ha
una serie di porte (gli "sportelli"), ognuna delle quali ha un numero
ed e' associata a un ben determinato servizio. Gli indirizzi di porta
vanno da 0 a 65535, e quelli inferiori a 1024 sono i cosiddetti Well
Known Services (Servizi Ben Noti). I piu' usati sono il 21 per l'ftp,
il 23 per telnet, il 25 per smtp (invio di posta), 80 (http, pagine
web; molti server usano anche la porta 8080), il 110 per pop3
(ricezione di posta), il 119 per nntp (le news). Il file services (in
windows e' nella directory C:\<dir. di Windows>\System) li elenca in
maniera piu' dettagliata.

VEDERE [PORT-Appendice] per un elenco con maggiori dettagli (tnx
Maurizio!)

Perche' ci si possa collegare a una determinata porta, occorre che
sulla macchina ci sia un server in ascolto su di essa. Per esempio,
quando riusciamo a spedire una mail a qualcuno, e' perche' il server
di posta del nostro provider ha un "demone" in ascolto permanente
sulla porta 25, mentre se l'invio fallisce significa che quel
programma non e' in esecuzione (macchina spenta perche' guasta, oppure
il programma stesso ha dato i numeri). Ancora, poiche' Windows 95 non
ha un server telnet di serie (ha solo il client), se proviamo a fare
telnet standard verso una macchina Windows 95 il tentativo fallira'
perche' non c'e' niente in ascolto sulla porta 23.


[A04] Differenze fra hackers e altri bei tomi

C'e' molta confusione sull'uso della parola hacker, per colpa
soprattutto della disinformazione a opera dell'informazione (che
paradosso!) TV e stampata e di certa cinematografia. L'hacker
nell'immaginario comune e' colui che cerca di penetrare in un sistema
per buttarlo giu', che nel corso delle sue scorribande provoca comunque
dei danni, come per esempio il furto di file di password o altre
informazioni riservate. Quello non e' un hacker, ma un __cracker__.
L'__hacker__ invece e' una persona che anzi non lascia tracce, che se
viola la sicurezza di un sistema e' per dimostrare di esserne capace.
Un hacker cerca di apprendere sempre di piu' sulla macchina e sistema
operativo che usa (e sugli altri ovviamente). Il suo scopo e' quello di
vincere certe sfide, e in un certo senso anche di rendersi utile alle
sue vittime. L'etica hacker infatti vuole che dopo aver violato un
sistema si lasci una traccia, da qualche parte nel sistema stesso, che
informi il suo amministratore come e' stato possibile entrare e quali
falle nella sicurezza sono state sfruttate, cosicche' egli possa
tapparle.
I __wannabe__ sono invece coloro che "vorrebbero essere" (wannabe =
want to be [voler essere], contrazione americana credo) per esempio
hacker, ma che non lo sono. Nei newsgroup un wannabe fara' spesso
sfoggio di termini tecnici, anche a sproposito, salvo volatilizzarsi o
buttarla in rissa quando si cerca di approfondire un argomento che non
e' in grado di sostenere. Un __lamer__ invece e' chi si crede un grande
esperto, per esempio di sistemi, mentre in realta' sfrutta solo cio'
che gli altri hanno gia' fatto. Un esempio? Tutti i tipi che si danno
arie da hacker solo perche' sono capaci di lanciare il client di Bo
(che non sarebbero mai capaci di scrivere, per inciso) e mandare un
messaggio pop-up sullo schermo del boservizzato.

Questo e molto altro e' spiegato in "The Hackers's Dictionary 3rd.",
anche in versione WWW, mentre il testo di riferimento per tutte queste
definizioni e' il Jargon File, disponibile in formato testo e info in
parecchi siti, e la cui home page e':

http://www.ccil.org/jargon/


[A05] Ho sentito parlare di "editor esadecimale", ma non ho capito
esattamente cos'e'...

I programmi tipo edit.com dell'MS-DOS o NotePad (Blocco Note nella
versione italiana) di Windows sono degli editor di testo che
permettono di leggere e modificare dei file di testo; ne esistono
un'infinita' commerciali o free. Gli editor esadecimali sono analoghi
concettualmente, ma permettono di leggere e modificare ogni tipo di
file, quindi vengono usati per aprire e manipolare dei file binari,
come eseguibili (.exe e .com), librerie (.dll), eccetera. Si chiamano
editor esadecimali perche' con essi viene visualizzato il valore
esadecimale dei byte che costituiscono il file, tipicamente in una
parte della finestra, mentre nell'altra viene mostrata la sequenza di
caratteri corrispondenti (se stampabili a schermo).

Un editor esadecimale e' un programma semplice ma potentissimo, perche'
permette di fare praticamente tutto su ogni file, e l'unica condizione
e' di sapere ESATTAMENTE cosa si fa. Questo significa che, se volessimo
cambiare la scritta "Avvio di Windows..." che appare al boot o la
scritta "Avvio" o "Start" sul pulsante di avvio, dovremmo aprire il
file giusto (nel secondo caso explorer.exe) con un editor esadecimale,
posizionarci nel punto in cui e' memorizzata la stringa e cambiarla.
Inutile dire che l'uso di tali programmi e' pericolosissimo se fatto
per puro cazzeggio, dato che un file binario modificato "alla cieca"
diventa con altissima probabilita' inutilizzabile.

Per le sue caratteristiche, gli editor esadecimali si prestano anche
ad usi non "politicamente corretti" (eufemismo), come sprotezione di
programmi, camuffamento rispetto ad antivirus e programmi di
monitoraggio in genere, e cosi' via.


[A06] Cos'e' un firewall?

E' un software. Puo' girare su macchinette speciali ridotte al minimo,
nel qual caso ti vendono un mattoncino hardware con dentro il software
su (E)EPROM.

Alternativamente, puo' girare su un "server" apposito, tipo Linux (v.,
per esempio, www.debian.org, www.suse.com, www.slackware.org, ecc.).

In tutti i casi e' un programma che effettua quattro funzioni:

1) INPUT: determina cosa puo' ARRIVARE
2) OUTPUT: determina cosa puo' USCIRE
3) FORWARDING: prende un pacchetto in arrivo dall'interno e lo butta
fuori, o viceversa
4) MASQUERADING: prende pacchetti dall'interno e li butta fuori, ma,
contemporaneamente, maschera l'indirizzo di partenza, mettendo il
proprio. Quando arriva una risposta a lui, cambia l'indirizzo del
destinatario, mettendo quello della macchina originaria:


PC protetto: "Da PC1 a WWW.ALTAVISTA.COM, HELLO" --> Firewall
Firewall: "Da FIREWALL a WWW.ALTAVISTA.COM, HELLO" --> Altavista
Altavista: "Da Altavista a Firewall, TI SENTO" --> Firewall
Firewall: "Da Altavista a PC1, TI SENTO" --> PC Protetto

Nel caso di pacchetti DIRETTI

Nemico: "Da NEMICO a PC1, MUORI" --> Firewall
Firewall (opzione 1): (niente)
Firewall (opzione 2): "NESSUN PC1 PRESENTE" --> Nemico
Firewall (opzione 3): "MUORI TE, CAATA!" --> Nemico (crash!)

...le opzioni 2 e soprattutto 3 non sono fornite di serie 8-D

In ogni caso, anche con opzione 1, al server non capita nulla.
Naturalmente, il firewall deve essere in grado di resistere ad un
attacco diretto contro di lui.

*** (C) Leonardo Serni


[A07] Che informazioni si possono ricavare dall'e-mail?

Dipende da vari fattori.
Se il msg anonimo è stato mandato attraverso uno dei tanti siti di anomyzer
presenti sulla rete allora non si puo' ottenere nulla. Nel caso invece dei vari
mail-bomber, si puo' risalire all'IP di origine semplicemente cercando negli
header del messaggio. La procedura non e' la stessa per tutti i programmi di
posta.

Per quel che mi riguarda, sul mio fidato Netscape Messenger, View -> Headers ->
All; se usate Outlook "sono fatti vostri" )TM Raz Degan - o, meglio,
chi gliela scrisse)... scherzo!!! Cliccare due volte sul msg e poi nel menu
della finestra che appare clicchare Visualizza e poi Opzioni.
In ogni caso, fare attenzione all'ultimo RECEIVED dove viene indicato tra
parentesi accanto al nome del server d'appoggio anche l'ip di chi lo manda.
Sempre pero' che non si appoggi ad un server anonimo o ad i siti sopra descritti
oppure che abbia inviato direttamente dal server di mail con una sessione telnet.

In quest'ultimo caso, non e' detto che al destinatario compaia l'IP del mittente.
Infatti in rete si trovano dei sendmail mal configurati. Collegandosi con telnet
e usando il comando HELO senza presentarsi, la mail inviata risultera' anonima.
Nel caso invece di un remailer anonimo, nell'header si leggera' nell'ultimo
received il remailer e da li' in poi e' impossibile proseguire.


====================================


[B01-ALL] Scoprire trojan in generale.

Un metodo applicabile a questo tipo di trojan client-server e' quello di
installare il client e di provare a contattare il server, dando
l'indirizzo IP 127.0.0.1, che corrisponde appunto alla macchina locale
(localhost). Se il client ottiene una risposta, avete trovato il server
che andra' rimosso prontamente.


[B02-ALL] Ma cosa puo' passare da 'ste benedette porte?

Le porte comunemente utilizzate sono elencate alla faq [A03], mentre altre
sulle quali si verificano spesso degli attacchi sono riportate alla faq
[C04]. E' importante pero' sapere che il tipo di attacco che si puo'
condurre (e quindi i pericoli che si corrono) su una porta aperta dipende
da cosa risiede su quella porta, cioe' dal server in ascolto su di essa.

Non bisogna pero' farsi prendere dalla frenesia di chiudere tutte le porte.
Infatti, se una porta e' aperta e' (normalmente) perche' ci deve passare
qualche dato "legittimo", come la porta 80 su macchine che ospitano un
server web. In generale, prima di chiudere una porta bisogna sapere perche'
sia aperta; per esempio, il famigerato ICQ apre una porta per ogni
comunicazione che ha in corso, e queste non cadono nell'intervallo WKP,
formato dalle porte <1024. E' possibile rendersene conto aprendo una shell
MS-DOS con ICQ attivo e scrivendo il comando "netstat -na" (senza virgolette)
che mostrera' tutte le porte attive e l'indirizzo remoto a cui sono connesse,
oltre allo stato della connessione ("netstat /?" per avere tutte le opzioni).


[B03-ALL] Puo' un intruso conoscere quello che scrivo sulla tastiera?

Si'. Per far questo pero' e' necessario che l'intruso riesca a far eseguire
sul computer da spiare un "server" che intercetti la tastiera e memorizzi i
tasti a mano a mano che vengono premuti, e a intervalli piu' o meno regolari
(o a ogni connessione) li invii al "pirata", per esempio alla sua e-mail. La
regola e' quindi sempre un controllo assiduo di quello che gira sul proprio
computer, con il programma AVP System Watcher (http://www.avp.it) o anche
il WinTop dei Kernel Toys (se si usa Windows 9x).
Se sul computer e' stato installato il server di Back Orifice, tale funzione
e' svolta dal file windll.dll (fra le altre).


[B04-ALL] E' possibile che qualcuno riesca a navigare "sembrando me"?

E' in effetti possibile. Questi simpaticoni cercano di connettersi alla
porta 1080, dove potrebbe esserci in ascolto un proxy socket. Se riesce
nell'intento il tuo computer puo' essere usato dall'attaccante come proxy
im modo che il suo computer venga "nascosto" all'esterno e tutte le
operazioni che compira' risulteranno effettuate dal computer attaccato.


[B05-ALL] Con tecniche di IP spoofing si riesce facilmente a falsificare
l'indirizzo IP di una macchina?

In altre parole:
Se faccio il traceroute dell'indirizzo finto, dovrei comunque riuscire
a risalire la catena dei router attraversati fino al finto, oppure
risalgo la catena fino all'IP vero?

Fai il traceroute VERO dell'indirizzo FINTO. In teoria, se i vari routers
avessero un po' di ingegno, non potresti fare neanche spoofing (o quasi).

In pratica puo' succedere questo:

A(F) ---> B ---> C ---> D
/
F ---> E --->--+

A ti manda un pacchetto fingendosi F. B, che controlla la sottorete A, ed
in teoria non dovrebbe veder passare pacchetti DA F verso "NON A", invece
passa questo strano pacchetto "F verso D". Lo stesso fa C, che "dovrebbe"
vedere arrivare i pacchetti di F solo da E (ma C non puo' sapere se F sia
anche collegato o no a B).

D si vede arrivare un pacchetto da un certo "F" che arriva da "C", di cui
si fida e che in passato gli ha mandato pacchetti veri di F.

Un traceroute D-->F rivela: D, C, E, F ... B e A sono rimasti fuori.

E' possibile naturalmente sapere se F stia originando una connessione con
D. A non puo' impedirlo (a meno di cagar bulloni e avere la sfera di vero
cristallo del mago Zurli'; o a meno che D o F siano Windows :-) ).

Pero', sapere che quel pacchetto "F->D" e' spoofato non ti fa trovare A.

Se hai dei sospetti, puoi verificarli in maniera induttiva :-), ma se non
hai dei sospetti in particolare, o se A dispone di software adatto (credo
vada bene Aggressor per Windows, o qualsiasi cosa per Linux :-) ), fine.

*** (C) Leonardo


[B06-ALL] E' vulnerabile una macchina su cui gira un X-server?

X-Window, l'ambiente grafico degli Unix, si basa sul paradigma client/server.
Se su un server Unix gira un programma grafico, questo e' il CLIENT di X, e X
stesso puo' produrre l'output su una qualunque altra macchina collegata al
server. Tali macchine sono di solito i client, e perche' quest'architettura
funzioni esse devono avere in esecuzione un X SERVER (quindi si ha in questo
caso un'inversione dei ruoli, con il client che offre un servizio al server -
spiegazione terra terra, ma spero che me la passiate). Le comunicazioni fra
l'X client (il programma in esecuzione sul server) e l'X server (programma che
riceve le richieste dal programma client e le traduce in operazioni grafiche
sulla propria macchina, che puo' essere Unix, Windows o qualunque altra), si
svolgono attraverso la posta 6000 TCP.

La lunga introduzione serviva a spiegare perche' X-Window puo' essere un punto
delicato per la sicurezza di un sistema, quando invece si occupa di primitive
grafiche che (apparentemente, in questo caso) con le reti non c'entrano niente.
Il punto e' che se la porta 6000 del client (su cui ricordiamo che gira l'X
SERVER) e' aperta verso la rete per i traffici client/server di X, e non e'
protetta, da qualunque macchina della rete si puo' trasmettere e operare sulla
macchina che ha l'X SERVER stesso. Se sul proprio computer e' installato un X
server, quindi, anche la porta 6000 TCP va controllata.

Attenzione: non e' detto che le finestre generate da un X server si possano
distinguere visivamente da quelle di Windows (tipo "Ma sul mio computer io non
vedo le tipiche finestre 'tipo X', ma solo normali finestre Windows, quindi non
dovrei avere un X server"). Infatti esistono implementazioni X per Windows che
utilizzano le comuni API Windows per la manipolazione dell'interfaccia. Quindi
questo non vuol dire necessariamente che non sia X.

Inoltre non e' neanche necessario che l'attacco che parte da un altro client
passi attraverso il server Unix. Infatti queste connessioni possono passare
direttamente da una macchina all'altra. Se la porta 6000 accetta connessioni da
ogni dove basta, da una qualunque macchina, dare un comando seguito da (sotto
Unix) "-display ip_macchina" per farlo apparire li'. Inoltre il server Unix non
ha alcun "potere di veto". Questo dipende invece dall'X server che gira sulla
macchina (magari Windows) attaccata. Bisogna cercare i settaggi di quest'ultimo
relativi alla porta o se e' disponibile qualcosa simile a xhost, un comando che
sotto Unix regola gli accessi alla 6000 con autenticazione basata su IP.

Per controllare la vulnerabilita' del proprio X server bisogna tentare di aprire
delle connessioni sulla porta 6000: questo si ottiene lanciando da qualche altra
macchina un processo che abbia display sul computer da testare. Se l'esperimento
riesce, vuol dire che la porta 6000 della macchina controllata e' accessibile da
fuori.


[B01-W][9] Cos'e' Bo?

E' un programma cosiddetto trojan, che permette intrusioni indesiderate
nel proprio computer. BO e' l'acronimo di Back Orifice, nome che irride
il prodotto Back Office di Microsoft, oltre ad essere molto esplicito
sulla parte del corpo che duole dopo esserselo installato :-))). Esso
si compone di un client e di un server, quest'ultimo dev'essere
installato sul computer della vittima, dopodiche' il client permette
al "buon samaritano" che lo possiede, e a chiunque abbia il client
installato, di compiere varie operazioni sul computer "boservizzato"
(viene indicato in questo modo un computer che abbia installato il
server). Le operazioni possono essere le piu' svariate, dal
trasferimento di file all'esecuzione di programmi, alla lettura di
informazioni contenute nei dischi (fissi, cd-rom, zip, ...).

Bo fa parte della categoria delle backdoor. In effetti, nel sito Web
dei creatori di Back Orifice (il gruppo Cult of the Dead Cow,
http://www.cultdeadcow.com), esso e' definito come un programma di
controllo a distanza. Da notare che esso funziona perfettamente sia
sotto Windows 95 che sotto Windows 98, mentre non se ne conosce ancora
una versione per Windows NT.


[B02-W] Ma cos'e' un trojan?

Un trojan, da non confondere con i virus che sono un'altra cosa, e' un
programma che si nasconde sotto le mentite spoglie di un altro
programma. Per esempio l'autoinstallante che si spaccia come un
fantastico screen saver con il filmato di Pamela. Oltre al Bo rientrano
in questa categoria anche programmi come NetBus e TeleCommando. Il nome
ovviamente deriva dal mitico Cavallo di Troia, che dentro l'apparenza
di un dono di pace celava gli uomini che avrebbero distrutto la citta'
stessa.


[B03-W][9] Infettare con il Bo

Il veicolo di trasmissione di Bo e' un programma chiamato SilkRope.
Esso incapsula il server di Bo in un altro programma in maniera
apparentemente invisibile, a meno di non aprirlo con un editor, e lo
installa quando il programma viene eseguito (ecco il parallelo col
Cavallo di Troia). E' questa caratteristica che giustifica il fatto di
considerare Back Orifice un trojan, oltre che una backdoor.


[B04-W][9] SilkRope? E che d'e'?

Dati due programmi a 32 bit li fonde in un unico programma che quando
viene eseguito lancia i due originari. Il programma in se' non e'
pericoloso, dato che esso puo' fondere due eseguibili a 32 bit
qualunque. In tutti i casi in cui sull'hard disk e' presente un
eseguibile formato da due programmi uniti con SilkRope, un controllo
antivirus potrebbe dare comunque l'allarme, anche se i due programmi
sono perfettamente innocui.


[B05-W][9] Cosa si fa con BO

E' possibile eseguire operazioni remote sul computer boservizzato come
se si stesse operando direttamente su di esso. Bo mette in grado il
suo utilizzatore anche di conoscere eventuali password digitate,
intercettando la tastiera (funzione svolta dal file windll.dll).
Si puo' anche aprire la porta 23, quella del telnet, sul PC boservizzato.
In tal caso e' possibile avere una shell sul computer della vittima,
esattamente come se si telnettasse su sistemi Unix, utilizzando pero'
il command.com del DOS invece delle shell Unix come bash.


[B06-W][9] Come faccio a sapere se ho il Bo?

Di certo non leggendo la finestra che appare premendo CTRL-ALT-DEL. Bo
usa una funzione dell'API di Windows che serve a nascondere il processo
che la chiama. "Nascondere" vuol dire appunto che non si vede nella
taskbar ne' nella finestra che appare premendo CTRL-ALT-DEL. Mentre si
e' in linea, aprite una finestra DOS e lanciate il comando netstat -na.
Questo mostrera' tutte le connessioni attive in quel momento
(aggiungere un numero per specificare un controllo periodico ogni <X>
secondi): se fra esse ce n'e' una sulla porta 31337, e' lui!
Questo non esaurisce l'argomento, dato che la porta e' configurabile e
quindi puo' essere cambiata da chi tenta di introdursi nelle macchine
altrui. Naturalmente l'infame puo' decidere di manifestarsi apertamente,
con messaggi pop-up, e in tal caso non c'e' dubbio. Un programma utile
al controllo e' AVP System Watcher (http://www.avp.it, freeware), che
controlla il sistema alla ricerca di BO.
Antigen è un altro programma per eliminare il Boserve nella forma di
default. In ogni caso, anche se il Boserve che vi siete ritrovati
sull'HD ha nome e porta di comunicazione differenti, Antigen non
riesce a rimuoverlo ma vi rivela comunque la sua presenza e lo
disattiva sino al seguente reboot (non riesce a cancellare l'exe del
bo in versione non default e la seguente chiamata dal registro di Win).


[B07-W][9] Ho scoperto di avere Bo, come lo tolgo?

Si puo' fare anche a mano. Cercare e cancellare il file " .exe" (si',
il nome del file e' uno spazio) e windll.dll. Il primo e' il server
vero e proprio. Cercare comunque la stringa "bofilemap" nell'hard
disk e' piu' sicuro, dato che il nome del server puo' essere variato.
Andare nel Registro di Windows alle chiavi

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

dove sono i programmi lanciati all'avvio. Cancellare da tale chiave
qualunque cosa non sia di "sicura" provenienza (Barra di Office,
antivirus, demone ICQ, ...). Controllare anche

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce


[B08-W][9] E come mi accorgo invece di Netbus?

Il file sysedit.exe nella directory C:\<dir di Windows>\System e' di 20k. Se
invece e' grande ~400k e' il server di Netbus. Attenzione anche a file di nome
patch.exe, splat1.exe o contascatti.exe e persino explore.exe, diverse versioni
del trojan possono essere in uno di questi! Riconoscimento: il client ha di
solito un'icona che raffigura un ingranaggio grigio. Il server invece ha
un'icona fatta a torcia su sfondo blu, ma dipende dalla versione che si ha: a
seconda del compilatore che hanno usato, infatti, l'icona cambia. Per esempio il
patch ha la spada, il sysedit l'ingranaggio, ma la versione precedente e' quella
piu' utilizzata come server essendo apparsa prima (non tutti hanno aggiornato!).
Un file accessorio, che invece NON fa assolutamente parte di Windows, e'
keyhook.dll, il cui scopo e' di intercettare i caratteri digitati sulla tastiera.

NB: Il programma sysedit.exe di 20k e' un'utility di windows (grafica Win 3.1)
che fa partire gli editor dei vari autoexec.bat, system.ini ecc.


[B09-W][9] Come si toglie Netbus?

================ citazione by Giulio ============
La versione 1.53 presenta gravi bug, come ad esempio l'impossibilita' di
rimuoverlo attraverso il pulsante di server admin (server admin --->remove
server). In questo caso convinene eliminarlo manualmente.
In tutti gli altri casi basta avere Netbus versione client e cliccare
appunto su server admin e selezionare remove server. Questo dopo essersi
collegati all'indirizzo di localhost (127.0.0.1). Nel caso esista una
password la ricerca di tale pass e' semplice. Si cerca nel registro di
Win il nome del server (Patch oppure Explore) e si leggera' la pass
scritta in chiaro alla voce settings.
================ end citazione ==================


[B10-W][9] Come si toglie TeleCommando?

Procurarsi il client ed eseguire il comando "Uninstall Server". Se la
risposta e' "You have NO Rights", tentare un password vuota. Altrimenti
il metodo manuale:

1) Aprire il registro con Regedit e andare alla chiave

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

togliere il riferimento al file odbc.exe, che si trova in C:\<dir. di
Windows>\System

2) Riavviare il computer

3) Cancellare il file


[B11-W][9] Cos'e' Aggressor?

E' un exploit generator. Esso genera pacchetti anomali, che sfruttano
delle pecche specifiche di ogni sistema operativo. Per esempio, un
pacchetto con una sesta word tale che, in AND con 0x0FE0, ti da' un
valore diverso da zero, non gestito da Windows. L'utilizzatore gli da' un
IP a cui inviare i pacchetti strani, e il PC della vittima subisce
malfunzionamenti vari (si blocca, si resetta, ecc..). Per ovviare al
fatto che, sotto Windows, non si possono inviare pacchetti "raw",
Aggressor implementa un proprio sistema di controllo del flusso di dati.
In Aggressor, fra l'altro, si puo' specificare il Source IP: vuol dire
che l'attacco sembra arrivare dall'IP specificato e non dal proprio,
ossia ogni pacchetto IP che venisse loggato o ispezionato dal remoto,
avrebbe quell'indirizzo invece di quello effettivo di provenienza.


[B12-W] Un bug di mIRC

Sembra che la versione 5.4 di IRC 5.4 abbia un bug che causa il blocco
del computer attraverso il DCC. Il problema si puo' risolvere con il
seguente script che funziona *solo* con mirc 5.4; il bug dovrebbe essere
risolto nella versione 5.41.

phixme {
%ip = $rand( ?phixer-cut? )
raw -q privmsg $1 : $+ $chr(1) $+ DCC SEND $r(1,99) $+ .txt %ip
$r(113,9000) $+ $chr(1) $+ $lf $+ privmsg $1 : $+ $chr(1) $+ DCC
RESUME $r(1,99) $+ .txt $+ $chr(1)
}


[B13-W] Che rischi corro usando ICQ?

La prima cosa da sapere e' che ICQ, come tutti i programmi basati su
TCP/IP, utilizza delle porte, attraverso le quali passano i dati che
inviate e ricevete. In particolare, ICQ apre una porta per ogni utente
con cui state comunicando, quindi le conclusioni restano all'intuito del
lettore di questa FAQ...
Puo' essere in teoria possibile che un programma si camuffi da ICQ e
quindi faccia uso delle porte che l'utente di ICQ apre per dialogare con
un utente remoto (c'e' qualcuno in grado di confermare o smentire?).
Esistono anche dei programmi che permettono di usare ICQ come backdoor
(avviso ai lamer: non li conosco, quindi non scrivetemi per chiedermi dove
sono ^__^).
E' quindi buona norma anche per l'utente di ICQ (come il sottoscritto...
sigh!) controllare sempre il PC alla ricerca di presenze sospette.


[B14-W] Cosa sono le scansioni invisibili?

E' possibile sapere se sono state effettuate delle "stealth scan" standard
anche sotto Windows 95. Bisogna aprire un prompt MS-DOS e dare il comando:

C:\WINDOWS\Desktop>netstat -snap tcp

TCP Statistics

Active Opens = 245
Passive Opens = 8
Failed Connection Attempts = 9
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Il valore della riga sottolineata corrisponde al numero di porte aperte
scansionate dall'esterno (solo per le porte aperte e' possibile sapere se
sono state scansionate). In particolare, il valore indicato e' il numero
di scansioni "invisibili" avvenute in successione su porte che ha trovato
(NON, come in Linux, il totale delle scansioni che ha tentato).

Per esempio, se abbiamo una sola porta aperta e quello scansiona sei volte
tutto l'intervallo da 1 a 1024, il valore di "Failed Connection Attempts"
e' 6. Se invece scansiona tutto l'intervallo TRANNE quell'unica porta aperta,
il valore sarebbe 0.


[B15-W] Ma il file windll.dll non e' un file di sistema di Windows?

No. Il file windll.dll viene creato dal boserve.exe quando viene eseguito
la prima volta. Attenzione che il fatto di non averlo puo' non essere
significativo: il nome di questo file puo' essere facilmente modificato
all'interno del file boserve.exe usando un editor esadecimale.
AVP System Watcher, quando deve rimuovere la dll creata dal BO, prevede
questa possibilita' ed e' in grado di eliminarla anche se ha un altro nome.


[B16-W] Ho ricevuto un messaggio e-mail con un allegato, ma quando tento
di leggerlo il mio Outlook va in crash.

"..questo bug affligge sia Outlook 98 sia Outlook Express compreso
l'ultimissimo Outlook 4.01 SP1 fornito con Microsoft Internet Explorer. In
pratica, quando il client e-mail riceve un messaggio con un attachment dal
nome lunghissimo può bloccarsi.
.....un hacker preparato può preparare ad hoc un attachment il cui nome
contiene codice eseguibile con risultati imprevedibili"

Fonte: "Internet news", novembre 98

*** Nota del curatore: (C) Leonardo Serni per le seguenti spiegazioni
*** (e seconda lamerata ai suoi danni da parte mia :-P )

L'exploit e' possibile perche' la ricezione del nome dell'attachment non
controlla se la lunghezza vada oltre il buffer designato ad ospitare il
nome stesso. Oltretutto, la parte di codice che verrebbe eseguita dopo lo
scarico sembra essere pericolosamente vicina a questo buffer. Di conseguenza
la parte finale del nome viene messa in esecuzione poco dopo lo scarico.

Ci sono due casi: se si ha a disposizione i sorgenti del programma che si
vuole attaccare in questo modo, con uno strumento di debug si guarda dove va
a cadere l'esecuzione dopo lo scarico dell'allegato; a questo punto, in
quella posizione basta scrivere una istruzione di salto all'indirizzo del
buffer dove si trova il programmino (che costituisce la parte finale del nome
dell'allegato) e il gioco e' fatto.
Se i sorgenti non ci sono, il gioco si fa piu' difficile, si va per tentativi
/intuizioni, debug non simbolico ma la sostanza non cambia.


[B17-W] Come vedo se ho il protocollo NetBIOS su TCP/IP installato? Che
rischi corro?

Basta andare in Pannello di Controllo / Rete / Protocolli e controllare la
lista. I rischi che si corrono sono che e' possibile entrare nel computer
inserendo il suo IP in Avvio/Trova/Computer, se si ha Accesso Remoto
aggiornato. Naturalmente bisogna avere attivato delle condivisioni di
risorse su alcune unita'/directory del computer. Se questo e' necessario,
almeno proteggerle con password.


[B18-W] Senza programmi come Bo o NetBus e' possibile "entrare" nel computer
di qualcuno?

Alcune versioni di Windows 95, di serie (o quasi), consentono l'accesso da
Internet al disco. Win95 OSR2 se ne accorge all'installazione di Internet
Explorer 4.0, e propone di chiudere l'accesso. Si ricorda che se nel computer
e' attivata la condivisione di file e stampanti, magari senza password, e'
possibile, conoscendo il suo indirizzo IP, vederlo come unita' di rete da
Gestione Risorse. Quando si installa Windows o quando si compra il computer
con Windows preinstallato, controllare ed eventalmente disattivare ogni
condivisione. Ricordo che Windows 95/98 offre servizi di rete senza avere
quelle caratteristiche di sicurezza (permessi associati ai file, password)
che hanno invece i sistemi multiutente come gli Unix, concepiti anche
pensando a tali problematiche.

Un esempio di attacco a un computer con condivisioni attive e non protette:
basta mettere il comando opportuno nell'AUTOEXEC.BAT, ed alla successiva
accensione (che puo' essere anche dopo 30 secondi - perche' basta mandare
un nuke, il PC si pianta, e il riavvio e' necessario) esso verra' eseguito,
con quali risultati dipende dal comando. Se per esempio il comando e' un bel
format /autotest...


[B19-W] Le porte UDP 137 e 138 sono un rischio? E perche'?

Sono porte dedicate al NetBios, che consiste nei File/Print/Disk
Services di Windows via protocollo SMB/NetBEUI; in pratica, serve per
condividere file/stampanti/dischi (vedi [B17-W], [B18-W]).

La porta 137 e' dedicata al NetBios Name Service, la 138 al NetBios
Datagram Service. Fanno parte delle cosiddette "well known ports" i
cui indirizzi sono stati assegnati dallo IANA (Internet Assigned
Numbers Authority), che attualmente gestisce le assegnazioni delle
porte nel range 0-1023. Possono essere soggette ad attacchi DoS (Denial of
Service). Anche il semplice WinNuke, con il suo invio di dati OOB, puo'
risultare efficace sulle porte 137 e 138, sebbene in prima istanza
l'attacco OOB venne concepito sulla porta 139 (NetBios Session Service).
Riguardo al WinNuke, Microsoft ha rilasciato delle patch sul suo sito Web.

*** (C) Paolo Monti
[con adattamenti]


[B20-W][95] Ho notato che ogni volta che mi connetto a internet si aprono
automaticamente queste due porte 137 e 138. Io ho la versione OSR2
di win95, e' un problema di questa versione ?

Potrebbe esserlo se ti attaccassero su quelle porte sfruttando bug dello
stack TCP/IP di MS o semplicemente i limiti insiti in tutti i protocolli
basati sul TCP/IP (vedi alla voce "SYN flooding"). Per impedire l'apertura
delle due porte suddette, basta eliminare il supporto per il NetBios nelle
risorse di rete. Il supporto del NetBios su TCP/IP (NBT) diventa
particolarmente pericoloso se hai anche le "shares" (condivisioni di file
e/o stampanti) impostate senza password, fatto che si verifica comunemente
in almeno il 5% degli utenti Windows. In quel caso, chi localizza il tuo
IP sulla rete puo' entrare nel tuo computer come un falco, usando
semplicemente il comando NET o l'Esplora Risorse.

*** (C) Paolo Monti


[B21-W][NT] Da un account NT in pratica senza nessuna autorizzazione, è
possibile scovare la password dell'Administrator?

Forse si', sfruttando un bug nella gestione delle librerie... in
pratica, anche un utente normale ha una serie di processi che girano
con maggiori privilegi, e in teoria non sarebbero influenzabili.

Il guaio e' che alcuni di quei processi usano codice non privilegiato,
e quel codice e' accessibile a tutti, anche in modifica. Quindi,
teoricamente, E' possibile. Come farlo in pratica, non so (e' vero,
non lo dico per evitare richieste).

Questo vuole solo essere un incentivo per che gestisce un sistema NT
a porre la massima cautela a dove vengono riposti i dati "strategici"
per la vita del sistema.


[B22-W][NT] E' possibile diventare amministratore sotto Windows NT?

Purtroppo si'. A causa di un baco nel sistema operativo, certe
funzioni a livello supervisore non controllano bene i puntatori
passati. Come conseguenza, e' possibile modificare una serie di
variabili nel kernel, senza essere amministratore.

E, siccome il livello di sicurezza (utente, amministratore, Dio,
figlio di nessuno) sta in una variabile, ti puoi immaginare il resto...

Naturalmente, bisogna avere a disposizione un login, ed il diritto
di eseguire un eseguibile che avremo installato (quindi, diritto di
scrittura). Non e' poco.

*** (C) Leonardo
[con adattamenti]


[B23-W][NT] Avendo il diritto di installare ed eseguire programmi,
cosa posso fare?

Per esempio, scrivere un programma che acceda alle funzioni che non
controllano i puntatori (vedere [B27]) e passargli un indirizzo
illegale corrispondente ai dati da modificare.


[B24-W][9] Come possono interagire telnet e BO?

Per quanto riguarda una sessione telnet, la si può aprire, ma dal
client Bo. Il comando è App Add, si deve scrivere nella finestra
exe.location Command.com e scegliere una porta a piacere come listen
port. Poi si fa telnet all'indirizzo ip target sulla porta appena
scelta... E' una vera e propria shell.

Per quanto riguarda invece il comunicare col server del BO tramite
telnet, cioe' collegarsi alla sua 31337 (o qualunque altra porta
abbia configurato) con telnet, non si puo' fare. Il motivo e' che BO
usa UDP, mentre telnet usa TCP.


[B25-W] In cosa consiste di preciso il "TearDrop Attack"?

Nell'inviare un pacchetto IP scorretto, cioe' frammentato in un modo
non valido. Tentando di riassemblarlo, quasi tutti gli stacks TCP-IP
ottengono indici negativi ed indirizzi di memoria scorretti, dal che
si ottengono magni inchiodamenti. Il protocollo usato e' ICMP.
[a voler essere piu' precisi, e' la semplice accoppiata IP+UDP, (per
evitare le noie dei numeri di sequenza nel caso di spoof) TNX invy].

Naturalmente, la patch (consistente nell'aggiungere "...e' un indice
negativo? Se si', butta via il pacchetto e incazzati fortemente") e'
disponibile per Linux da un pezzo.

Windows 95 e' ancora vulnerabile (esistono vari modi di creare rogne
con il metodo teardrop), Windows NT parzialmente (solo ai nuovi TD e
non al teardrop originale).

I sockets di Windows pero' non consentono il raw socketing, e quindi
non esiste teardrop per Windows. Il teardrop e' un attacco che parte
solo da sistemi Unix, dove l'acher ;-) deve essere root.

Volendo si puo` modificare il datagram a mano prima che esso venga
inviato.


[B26-W] Come sono belli i messaggi di posta e news formattati, con
tutte quelle belle applet ed effetti speciali!!!

Disabilitare i messaggi in formato HTML! Immediatamente!!! La
ricchezza espressiva consentita dall'HTML e dalla possibilita' di
incorporare in esso delle funzioni JavaScript e/o delle applet Java
non vale la sicurezza del proprio computer. Un esempio "innocuo" e'
dato dal seguente codice:

<script language=VBscript>
do
msgbox ("MANGIATE STRONZI !!!")
loop
</Script>
[nota: un messaggio che includeva questo e' stato veramente postato
in alcuni gruppi della gerarchia it.*]

Innocuo significa che non causa danni alla macchina, ma comunque e'
fastidioso e per terminarlo occorre ammazzare il programma di posta.
"Regalini" come questi sono particolarmente subdoli se si usa il
programma Outlook Express di Microsoft, che riesce a eseguire il
formato HTML senza bisogno di "aiuti" esterni, con il risultato che
non chiede nulla prima di visualizzare un tale messaggio, applet e
script compresi. Se questi contengono del codice "malizioso", che per
esempio sfrutti dei bug della JVM del browser, i danni causati
dipendono solo dall'altruismo del loro mittente...

In OEx si puo' disabilitare l'esecuzione degli script intervenendo in
Strumenti/Opzioni/Protezione/Impostazioni personalizzate; in ogni caso
basta cliccare su Strumenti/Opzioni/Area Internet/Personalizzato/ e
qui scegliere che cosa si deve eseguire automaticamente e che cosa no.


[B27-W][NT] Perche' e' meglio chiudere la porta 53 sotto NT?

La porta 53 e' destinata al servizio DNS. I sistemi Windows NT sono
vulnerabili a un programma chiamato NTCrash, che e' uno script che
mette fuori combattimento il server DNS di NT, se presente. E' quindi
saggio, se non necessario, disabilitare tale servizio sul proprio
sistema NT.


[B28-W] E' possibile camuffare un eseguibile come un file di tipo
diverso?

In linea di principio si', e anche in pratica. Per esempio, se in
Gestione Risorse (Esplora Risorse) e' disabilitata la visualizzazione
delle estensioni per i tipi di file registrati, un file di nome
PIPPO.BMP.EXE viene mostrato in G.R. come PIPPO.BMP; se l'infame che
l'ha mandato gli ha dato l'icona di una bitmap e il file sta da solo
nella sua cartella, si puo' restare ingannati e non accorgersi subito
che e' un file eseguibile. In tal caso, si puo' essere indotti a
tentare di "visualizzarlo" con un doppio click, e quest'azione in
realta' lancia il programma che puo' compiere le sue buone azioni...

Ulteriore pericolo e' dato dal fatto che quando si cambiano le
associazioni delle estensioni nel file win.ini, Windows non deve
ripartire per rileggerle, ma lo fa sul momento.


[B29-W] Corro rischi ad usare Netbuster per beccare intrusi?

Con il Netbuster basta un PortFuck (SYN flood) sulla porta 12345 per
avere il sistema bloccato. Per la precisione, Portfuck e' un programma
DoS usato per floodare porte TCP aperte. E' simile ad un flood SYN. Il
suo uso principale e' bloccare servizi come Telnet o FTP. In pratica
Portfuck stabilisce molte connessioni ad un'unica porta TCP di un host
remoto. Stabilita una connessione, essa viene chiusa immediatamente e
ne viene aperta un'altra.
Esistono addirittura dei programmi che sono fatti apposta per causare
errori critici a Netbuster. Dopo tale attacco il netbuster si blocca,
con un effettivo rischio per la stabilita' del sistema. Anche BoSpY
puo' essere bloccato inviandogli pacchetti UDP molto grandi.


[B30-W][9x] Ancora sul NetBIOS: puo' BO usare le sue porte?

Bisogna distinguere alcuni casi: se rileviamo connessioni UDP sulle porte 137 *E*
138, allora il responsabile e' sicuramente NetBIOS (oppure DUE Orifices), e in
quel caso BO *deve* dare errore di bind(), dato che non e' possibile tenere
aperti due socket sulla stessa porta. Pero' e' possibile avere una connessione
*TCP* su 137 e una UDP sempre su 137: gli spazi TCP e UDP sono separati.

Praticamente, se su un computer e' installato il NetBIOS, sarebbe molto insolito
che BO si potesse mettere in ascolto sulla porta 137 o 138. Attenzione anche
alla presenza della porta 139: NetBIOS usa 137 e 138 UDP e 139 TCP, mentre Back
Orifice puo' usare qualsiasi porta UDP *chiusa*, aprendola lui. Se uno ha
NetBIOS ha 137 e 138, ma, se avesse SOLO 137, allora quel 137 non e' NetBIOS.


[B31-W] Puo' un attacco sfuggire a Nuke Nabber?

Cerrrrrrrtoo! Per esempio, vari portscanners lo lasciano del tutto indifferente.
Anche perche' Nuke Nabber non riesce a monitorare le porte a livello di sistema
operativo, percio' un portscanning tipo "stealth" (fatto bene), o il neonato
"Spread Spectrum", sono in grado di passargli sotto il naso senza problemi. Nel
secondo caso, senza neanche lasciare tracce su quale IP ha l'attaccante.


[B32-W] Cos'e' Portfuck?

Portfuck è un programma DoS usato per floodare porte TCP aperte. E' simile ad
un flood SYN. Il suo uso principale è bloccare servizi come Telnet o FTP. In
pratica Portfuck stabilisce molte connessioni ad un'unica porta TCP di un host
remoto. Stabilita una connessione, essa viene chiusa immediatamente e ne viene
aperta un'altra. Esistono addirittura dei programmi che sono fatti apposta per
causare errori critici a NetBuster. Dopo tale attacco il netbuster si blocca,
con un effettivo rischio per la stabilità del sistema. Anche BoSpy può essere
bloccato inviandogli pacchetti UDP molto grandi.

Per questi motivi e' sconsigliabile aprire porte normalmente chiuse sul sistema,
quindi anche l'uso del netbuster.


[B33-W] Alcune cosa da sapere su mIRC...

Un uso/settaggio imprudente di mIRC puo' portare a buchi di sicurezza sul
proprio computer. Gli errori piu' classici in tal senso riguardano la ricezione
di file da altri utenti IRC:

* il fileserver attivato che usi C:\ come root;
* l'opzione di accettazione di file via DCC regolata sull'accettazione
automatica;
* come sopra, con la finestra pure minimizzata;
* sovrascrittura automatica senza conferma di un file esistente dallo stesso
nome di quello che si sta per ricevere.

Di default mIRC non è impostato così, ma basta installare uno script da guerra
che abbia il "regalino" che di nascosto gli setti queste opzioni.


[B34-W] Quando su un sito che visito appare il contenuto del desktop cosa vuol
dire? Mi devo preoccupare oppure è normale?

Significa solo che sulla pagina web che stai visitando, nel codice HTML, che
puoi vedere anche da Explorer visualizzando il sorgente della pagina, c'e' un
richiamo ad un istruzione tipo questa:

<A HREF="file://C:/windows/desktop">Il tuo desktop</A>

che apre un link al tuo desktop. Quando lo clicchi Explorer ti si trasforma in
Gestione Risorse e ti mostra il contenuto del tuo desktop che appunto dovrebbe
stare sotto C:\windows\desktop .. se Windows e' installato in un'altra directory
ti da' errore ovviamente.

Se invece parte automaticamente e appare un form interno alla pagina col tuo
desktop vuol dire che c'e' sempre nel codice html un TABLE, ovverosia un luogo
dove mettere certi dati ricavati dal tuo sistema. Ma non e' che il webmaster 'li
conosce', te li fa solo vedere e solo tu li vedi; se un'altra persona chiamasse
quella pagina vedrebbe il proprio desktop!

Esempio pratico. Creare col Notepad un file di testo PROVA.HTM contenente queste
righe:

<html>
<table cellspacing="0" border="0" width="400">
<tr>
<td valign="MIDDLE"><p align="CENTER">
<object id="browserIcons"
classid="clsid:EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B"
height="129" width="400">
<param name="Location" value="c:\windows\desktop\*.*">
<param name="AlignLeft" value="1">
<param name="AutoSize" value="0">
<param name="AutoSizePercentage" value="100">
<param name="AutoArrange" value="1">
<param name="NoClientEdge" value="false">
<param name="ViewMode" value="3">
</object>
</td>
</tr>
</table></html>


Salvarlo ed eseguirlo. Si aprira' una pagina su Explorer con dentro un form
table contenente appunto il tuo desktop.

*** (C) Master ***


[B35-W] Come ha fatto questo tipo a trovarmi? Basta usare ICQ?

Perche' qualcuno possa provare a connettersi al tuo PC, la prima condizione e'
che conosca l'indirizzo IP con cui navighi, che sia statico o dinamico non
importa. Per conoscere il proprio indirizzo IP bisogna eseguire il programma
WINIPCFG dopo aver lanciato la connessione. Una volta che l'estraneo conosce
anche lui questa informazione, puo' tentare connessioni con o senza backdoor.

Ma la domanda era: come fa lui a conoscerlo? ICQ non e' indispensabile, ma certo
aiuta chi cerca una persona ben precisa. Basta che inserisca l'UIN della vittima
nella sua lista di contatti, ed ecco che viene comodamente informato quando
questa e' online. Pero' non e' necessario avere un nemico telematico che ci
venga a cercare, basta che un rompipalle caciarone decida di spazzare (sweeping
in gergo) la sottorete che ci ospita, e ci trovera'. In questo caso il tipo non
cercava proprio noi, ma chiuque fosse nella sottorete.

Esempio. Io ho questo bellissimo programma per nukkare ecc., e voglio provarlo
sul primo tapino che mi capita a tiro. Allora prendo una sottorete su cui sono
sicuro di trovare qualcuno e provo tutti i suoi indirizzi (con un programma
apposito, o anche con lo stesso programma di cui sopra, se prevede questa...
hihihi... feature). Diciamo che provo da 212.216.1.1 a 212.216.254.254 (che mi
causera' anche una lettera di ringraziamento da Telecom per l'aumento del
fatturato e l'intestazione di una quota azionaria). Se tu sei, per esempio,
212.216.13.147, prima o poi ti arriva il ping, anche se io sedicente "acher" non
so neanche che sei tu.


[B36-W] Se Netstat mi dice che non ho porte aperte posso stare davvero sicuro?
(le DLL ponte)

Ancora una volta la risposta e' no.
Netstat, cosi' come i programmi piu' diffusi per il monitoraggio delle porte
aperte, si serve di alcune funzioni esportate dalla libreria INETMIB1.DLL che
si trova nella dir di windows. Il codice vero e proprio per interrogare lo
stato delle porte e' quindi posto interamente in questa DLL.
Supponiamo adesso di aver installato una backdoor nel pc di un amico e di
volergli nascondere in qualche modo l'apertura di una porta.
Non sappiamo quale utility usera' per fare questa operazione ma sappiamo che
molto probabilmente i risultati (rappresentati in una forma piu' o meno
user-friendly) verrano ricavati effettuando delle chiamate sempre alla stessa
libreria.
A questo punto possiamo percorrere diverse strade ma la piu' ovvia, semplice
ed immediata e' quella di sostituirsi alla inetmib1.dll e falsare i dati di
ritorno. Non abbiamo certamente i sorgenti di questa libreria e non possiamo
compilarne una nuova da zero, quindi con ogni probabilita' la nostra dll
funzionera' da ponte tra l'applicazione che effettua la chiamata e la vera
inetmib1.dll (che avremo rinominato ad esempio inetmib1.dev).

Nota: i nomi e gli esempi usati non sono casuali ma ricalcano il comportamento
di una dll ponte esistente scritta ed utilizzata proprio per nascondere
l'apertura di alcune porte.

Approssimativamente la situazione sara' la seguente:

------------------------------------------------------------------------------
Programma DLL Ponte DLL Originale
------------------------------------------------------------------------------
Richiesta: NETSTAT o simili ------> INETMIB1.DLL ------> INETMIB1.DEV
Risposta: NETSTAT o simili <------ INETMIB1.DLL <------ INETMIB1.DEV
------------------------------------------------------------------------------

La DLL ponte in pratica non fa altro che passare le richieste alla DLL
originale e restituire al programma che effettua la chiamata il risultato
di tali richieste. Apparentemente quindi il funzionamento sarebbe identico a
quello precedente (c'e' in realta' un leggero rallentamento ma e' a dir poco
impercettibile) se non fosse per il fatto che quando la libreria originale
ci restituisce dei valori questi passano attraverso un filtro che eventualmente
ne blocca il ritorno al programma richiedente (piu' precisamente dopo la
chiamata alla funzione SnmpExtensionQuery).

Inutile dire che il filtro che abbiamo inserito nella DLL ponte non fa altro che
controllare che il numero della porta aperta restituito non sia quello che
abbiamo deciso di rendere invisibile e quindi ignorare la chiamata.

Nell'esempio e' stato descritto molto grossolanamente il funzionamento di una
libreria che inganna netstat e programmi simili ma quello che bisogna tenere
a mente e' il concetto semplice ed efficace secondo cui anche l'applicazione
di cui ci fidiamo di piu' potrebbe fallire....

Per tirarvi un po' su di morale voglio solo ricordarvi che qualsiasi chiamata,
anche quelle fatte alla carissima DLL Winsock, puo' essere ingannata
efficacemente attraverso un uso avanzato di questa antica ma attualissima
tecnica.

Adesso avete qualcosa in piu' di cui preoccuparvi ;)

.....Leonardo De Luca......

[Post Scriptum by Firebeam]
Questa situazione dovrebbe spingerci a tenere a portata di mano delle copie
sicuramente pulite e affidabili di programmi e DLL di sistema, come winsock.dll,
wsock32.dll, la succitata inetmib1.dll, nonche' netstat.exe, explorer.exe e
cosi' via. Il modo? Floppy protetti da scrittura, o meglio ancora un CD-RW da
leggere all'occorrenza esclusivamente dal lettore (non dal masterizzatore, se si
hanno tutti e due).


[B37-W] Se ho il client di una backdoor, la mia vittima potrebbe a sua volta
entrarmi nel computer?

No. Il BOGUI non "interpreta" e non "esegue" quello che gli arriva dalla
porta che tiene aperta. Pero' vuole un pacchetto UDP onesto, questo si'.

Se su quella porta arriva un nuke - BOGUI e' li' a pigliarselo. Non puoi
neanche usare NukeNabber... perche' altrimenti non funzionerebbe piu' il
BOGUI! 8-)

Leonardo


[B38-W] Cos'e' il NETBEUI e il NETBIOS? Come li gestisco con Conseal?

Il NetBIOS (Network Basic Input/Output System) e' sostanzialmente
un'interfaccia di programmazione, una API (Application Programming
Interface). Anzi, per dirlo in termini piu' rigorosi possibili, e'
"un'interfaccia a livello di sessione", usata dalle applicazioni per
comunicare con protocolli basati su tale interfaccia, come NetBEUI
(NetBIOS Extended User Interface - introdotto da IBM nel 1985) o il
network redirector di Windows. Originariamente, il NetBIOS venne
sviluppato nel 1983 dalla Sytek Inc. per conto di IBM ed era incluso
come firmware nei chip ROM delle schede di rete. In seguito, Microsoft
sviluppo' un'interfaccia NetBIOS per Windows allo scopo di supportare
nei propri prodotti questo standard emergente.
Se ConSeal Firewall ti ha segnalato "outgoing data" (dati in uscita) via
NetBIOS, significa che hai il Client per le Reti installato con relativo
supporto per NetBT (NetBIOS su TCP/IP). Quest'ultimo apre le porte
UDP/TCP 137 e 138 (anche la 139, se si stabilisce una comunicazione),
che fanno parte delle "well known ports": la 137 e' dedicata al NetBIOS
Name Service, la 138 al NetBIOS Datagram Service e la 139 al NetBIOS
Session Service. In una delle "rules" di ConSeal viene specificato che
certi protocolli notificano la presenza del client connesso sulla rete
inviando dei pacchetti (UDP e ICMP) su indirizzi broadcast (*.*.*.0 o
*.*.*.255), questo comportamento e' utile in una rete locale, ma puo'
risultare pericoloso su Internet, oltre che inutile.

Grazie al filtro di un Virtual Device Driver dinamico (FW13.VXD) che
interagisce con VxD del NDIS (Network Driver Interface Specification),
ConSeal e' in grado di intercettare questa operazione, filtrata da una
"rule" impostata per default, e quindi la blocca impedendo al tuo PC (o,
meglio, al NetBT) di notificare la sua presenza sulla rete.

*** (C) Paolo Monti ***


[B01-M] E' possibile far piantare il Mac tramite la rete?

L'unica cosa che manda in bomba il System 8.1 con l'ultimo OpenTpt e' se
sta collegandosi (attivamente) a un server DDP e il server crasha. Resta
per un po' confuso, poi si pianta il Finder e tocca riavviare. Anzi, una
volta su cinque tocca pure resettare la P-RAM.
Il problema sembra essere piu' grave utilizzando una scheda di rete Dayna
10/100, evidentemente non molto affidabile. Un dispositivo comunque non
Apple.


[B01-X] Nella mia macchina Linux ho attivo il servizio di finger. E'
vero che ci sono rischi?

Forse. In realta' era un bug di vecchie versioni, che potevano essere
"indotte" a concedere una shell verso un client remoto se questo gli
inviava una particolare stringa, contenente quelli che finivano per
essere interpretati come comandi. Se il demone girava con diritti di
root, l'operatore all'altro capo della connessione aveva a disposizione
una shell con i diritti di root... In maniera piu' pedestre, il server
poteva essere fatto crashare mandando una stringa molto lunga.

In ogni caso, le versioni attuali non dovrebbero piu' essere affette
da questo problema. Il consiglio, pero', e' quello di disabilitare i
servizi che non sono necessari, come puo' essere il finger in una
Linux box per uso "domestico".


[B02-X] Con X-Window attivo netstat rileva qualcosa sulla porta 6000.

Facciamo un esperimento: da console (non come terminale di X-Window, ma
proprio in "modo testo") diamo il comando

netstat -a | grep LISTEN\\b | cut -f2 -d':'

un possibile risultato e':

auth *
printer *

Sulla stessa macchina, dando lo stesso comando da KDE, si ottiene:

auth *
printer *
6000 *

L'entita' misteriosa in ascolto sulla porta 6000 e' proprio il server
X-Window, che di default e` gia` chiuso agli estranei (vedere la
pagina di manuale relativa, comando "man xhost"). Si ricorda che a
differenza di Windows, il sistema grafico X-Window funziona secondo
il paradigma client-server, anche se abbiamo un semplice PC stand-
alone.


[B03-X] Ho sentito parlare di PHF, ma cos'e'? Una backdoor?

No, e' un CGI installato con Apache. A causa di un bug, se gli si
domandava con garbo, per esempio

http://www.victim.com/cgi-bin/phf?...

ti restituiva il contenuto di QUASI qualsiasi file del sistema,
compreso il file delle passwords di Unix.

Il "bug" consisteva nel FIDARSI che la richiesta inviata al PHF fosse
buona e lecita, e nel non elaborarla con la dovuta cautela.

<ESEMPIO NON FUNZIONANTE>
Diciamo che io prendo un parametro dall'esterno
QUERY=...(parametro)...

e poi costruisco una query formattata come

echo "<PRE>" $QUERY "</PRE>"

...se qualche furbacchione mi manda come query

QUERYLEGITTIMA; cat /etc/passwd; echo

il comando diventa, all'interno del CGI,

echo "<PRE>" QUERYLEGITTIMA; cat /etc/passwd; echo "</PRE>"

...che significa: "Invia la query normalmente. Invia anche
tutte le passwords di sistema. Grazie" ;-)
</ESEMPIO NON FUNZIONANTE>

Attualmente, il PHF standard controlla se la richiesta e' lecita... e
se lo e' risponde normalmente, altrimenti fa qualcos'altro (non saprei
cosa; come minimo logga l'accaduto).

Esistono stringhe di test che si possono usare con i vari CGI per
vedere se sono "sicuri" da questo punto di vista.

*** (C) Leonardo


[B04-X] Corro rischi ad ascoltare musica in formato MP3 sul mio
sistema Linux?

I files .MP3 possono contenere, con _alcuni_ lettori MP3, un exploit
per sistemi Linux su piattaforma x86. E' stato presentato un mini
virus realizzato con script bash, che si propaga via MP3, a patto di
eseguire il lettore del file con diritti di "root".

L'attacco avviene con un giro un po' complicato. Si basa su un
exploit di Erikson, un programma in C che crea un file MP3 bacato. Il
baco fuziona solo su Linux, solo su Intel x86. Secondo la descrizione
del programma, contenuta nel suo header, esso crea un file MP3 che
esegue un programma se suonato con il programma mpg123 versione 0.59k
(mentre la versione 0.59o sembra non affetta da questo problema).
Il suo autore dice che sarebbe anche possibile inserire del codice
che crei un nuovo account e far saltare l'esecuzione all'inizio di
quel codice.

Qualcuno e' riuscito ad eseguire una system(), che esegue uno script
ESTERNO, che di per se' sarebbe privo di diritti. Lo script contiene
dei commenti su come sarebbe possibile, a questo punto, compromettere
la sicurezza del sistema e propagare script ed MP3 impestato.
Naturalmente, un sistema dove root esegue file MP3 ha gia' problemi
di sicurezza, quindi in un caso del genere sarebbe da rivedere la
politica con cui viene gestito...
Per inciso, lo script di cui sopra non prevede l'infezione di altri
files MP3, ma forse cio' non sarebbe affatto difficile, vista la
natura dell'exploit.

<PROGRAMMATORI C>
L'exploit si basa sul seguente bug contenuto nel file "common.c":

if(newhead == ('R'<<24)+('I'<<16)+('F'<<8)+'F') {
char buf[40];
fprintf(stderr,"Skipped RIFF header\n");
fread(buf,1,68,filept);
goto read_again;
}

In sostanza, il vettore buf e' lungo 40 bytes, ma la fread() legge
68 bytes. La soluzione? Il buffer dovrebbe essere lungo 68, non 40. I
programmatori di mpg123 se ne sono gia' accorti, e l'ultima versione
e' quindi pulita.
</PROGRAMMATORI C>

[Adattato da un messaggio di L. Serni]


====================================


[C01-ALL] Proteggere il sistema - Info generali

La prima regola fondamentale e' di non eseguire __MAI__ alcun file che
non sia di provenienza piu' che accertata. Questo ancor di piu' se si e'
soliti, per esempio, chattare con mIRC o ICQ e qualche interlocutore vi
spedisca dei file. Non eseguiteli, neanche se promettono di farvi
materializzare dal modem una Pamela Anderson nuda e disponibile :-)) Il
pericolo puo' essere maggiore di quello costituito da un virus
"tradizionale". In ogni caso, poiche' prevenire e' meglio che curare, due
programmi di utilita' sono:

- Nuke Nabber (http://tucows.iol.it, http:/volftp.tin.it)
- AVP System Monitor (http://www.avp.it/utility)

Il primo e' un antinuke che pero' ha il difetto di aprire le porte per
controllarle; dovrebbe esistere pero' una patch che serve a chiuderle. Il
secondo e' un anti-BO/monitor di sistema, freeware, scritto da Paolo Monti
(l'autore e' reperibile su it.comp.irc). Per utilizzare NukeNabber bisogna
avere Winsock 2 o superiori (attualmente siamo alla 2.2), se si hanno
versioni precedenti l'aggiornamento e' scaricabile come al solito dal
sito Microsoft o da vari archivi ftp (con VOLftp si va tranquilli); la
versione 2 o superiore del Winsock e' necessaria per la scansione ICMP.

Questo introduce un'altra regola di base, che e' quella di tenere costantemente
aggiornato il sistema nelle sue componenti vitali come lo stack TCP/IP,
per evitare di esser vittime di vecchi bug corretti da versioni successive
del software.


[C01-W][9] Come si configura correttamente il Nuke Nabber ?

Come gia' indicato sono necessarie le winsock 2.x per utilizzare tutte le
funzioni dello stesso (per incisio, se lo si utilizza su di un sistema
winNT, oppure in rete locale con macchine UNIX e' possibilie configurare
le attivita' di logging rispettivamente nell' event monitor oppure verso
il demone syslogd).
Vi sono due filosofie d'utilizzo di questo sw:(a) Permettergli di
controllare tutto il controllabile, (b) Sintonizzarlo solo ed
esclusivamente dove e' utile; la seconda serve ad evitare che il sistema
sia vittima di attachi che richiedono "porte aperte" e che il Nabber non
e' in grado di gestire.
Quando il Nabber controlla una porta, questa viene lasciata aperta (vedi
sez. TCP/IP), dovrebbe esistere una patch per effettuare una chiusura
preventiva [[dove ?????]], solo dopo uno scan e/o attacco questa viene
chiusa.
Configurare il Nabber, in File -> Options -> General almeno due opzioni
devono essere selezionate: "Block port scan" (chiude le porte dopo uno
scan) e "Disable port for....." (evita di riaprirle per X secondi). Poi,
in File -> Options -> Advanced si possono controllare le attivita' di
monitoring sulle porte.
Se si decide per (a) (vedi sopra) indicare le porte segnate con (a) alla
voce monitoring nell'elenco presente in [PORT-Appendice] e riportate
anche qui per brevita'.
NukeNabber di default controlla le seguenti porte: 5001 (tcp), 5000 (tcp),
1080 (tcp), 1032 (tcp), 1029 (tcp), 1027 (tcp),
- 139 (tcp), 138 (tcp), 137 (tcp),
Queste devono restare, ma disinstallando NetBIOS o installando
WinNuke95 e selezionando "Patch against Nuke", le si puo' togliere.
- 129 (tcp), ma non e' un servizio standard.
- 53 (tcp),
si puo' togliere, a meno di non avere un DNS sul PC, accessibile
dall'esterno.
- 19 (udp).
su Windows 95 non c'e' il servizio chargen corrispondente alla porta.
Su WinNT, va elimitato, dal pannello di controllo "Small TCP Services",
perche' si puo' indurre NT a cortocircuitare le proprie porte 19 e 53,
con risultati non proprio esaltanti. Con Windows 95/98 no (non c'e' il
servizio).
Vanno aggiunte invece le seguenti:
- 31337 (udp), Porta di default del Bo.
- 61466 (tcp), 50505 (tcp)
- 12345 (tcp), 12346 (tcp), porte utilizzate da NetBus.
Se si segue la filosofia (b) ci si
limitera' a:
ICMP / 139 (TCP) / 19 (UDP)


Si tenga comunque presente che
- gli scan alla ricerca di backdoor/server vari non sono
pericolosi in quanto tali
- il Nabber e' veramente essenziale solo se si utilizza IRC, dal
momento che ci sono persone che attaccano sistematicamente tutti
quelli che si affacciano su di una canale


[C02-W][9] Le componenti di rete, ovvero: cosa tengo e cosa tolgo?

Anzitutto, se possibile. togliere assolutamente i protocolli NetBEUI e
IPX/SPX, o almeno il binding con Accesso Remoto (se si ha Windows).
Questi servono per reti locali e non per Internet; nel caso di un computer
a casa collegato a Internet con modem e accesso tramite provider su linea
telefonica, nelle proprieta' della Rete dovrebbe esserci solo Scheda di
Accesso Remoto e TCP/IP in binding con essa. Eliminare se possibile anche
il client per reti Microsoft.
Condivisioni: eliminare o, se necessarie, proteggere con password le
directory condivise. I protocolli NetBEUI e IPX/SPX non devono comunque
essere associati ad Accesso Remoto ma solo al driver della scheda di rete.


[C03-W][9] Ma se tolgo il Client per reti MS non mi memorizza piu' la password!!!

Meglio!!! ^__^ Ogni informazione memorizzata nell'hard disk e' a
disposizione dell'hacker oppure lamer di turno. Almeno gli si renda la
vita piu' difficile non facendogli trovare bello e pronto quel che
cercano. I file .pwl di Windows, poi, dove vengono memorizzate le
password, non sono certo difficili da decifrare (vedi patch per la
sicurezza che Microsoft ogni tanto emette). Ricordo che se qualcuno vi
frega la pass di accesso a Internet poi si puo' connettere e per il
provider (E PER L'AUTORITA' GIUDIZIARIA) sarete voi a esservi connessi e
ad aver commesso eventuali atti illeciti. A meno che riusciate a
dimostrare di essere stati craccati (della serie, campa cavallo...).


[C04-W][9] Quali porte controllare con NukeNabber?

NukeNabber di default controlla le seguenti porte:

- 5001 (tcp), 5000 (tcp), 1080 (tcp), 1032 (tcp), 1029 (tcp), 1027 (tcp),
Queste possono essere cancellate: le >1024 sono aperte in outbound.

- 139 (tcp), 138 (tcp), 137 (tcp),
Queste devono restare, ma disinstallando NetBIOS o installando
WinNuke95 e selezionando "Patch against Nuke", le si puo' togliere.

- 129 (tcp),
129 non e' un servizio standard.

- 53 (tcp),
si puo' togliere, a meno di non avere un name server sul PC,
accessibile dall'esterno.

- 19 (udp).
su Windows 95 non c'e' il servizio chargen corrispondente alla
porta. Su WinNT, va elimitato, dal pannello di controllo "Small TCP
Services", perche' si puo' indurre NT a cortocircuitare le proprie
porte 19 e 53, con risultati non proprio esaltanti. Con Windows
95/98 no (non c'e' il servizio).

Vanno aggiunte invece le seguenti:

- 31337 (udp),
Questa e' la porta di default del Bo.

- 61466 (tcp),
Master Paradise

- 50505 (tcp),
icqtrogen

- 12345 (tcp), 12346 (tcp).
Su queste porte puo' arrivare una connessione a NetBus.

Attenzione che NukeNabber e' un programma di monitoraggio e non una
protezione vera e propria. Esso consente di sapere se le porte sotto
controllo sono sotto attacco, ma non e' efficace contro attacchi
tipo Land, Boink, Teadrop I e II, Ssping ecc...


[C05-W] Cosa uso per controllare l'attivita' di rete del mio computer?

DOS Win95 Linux
===========================================
tracert tracert traceroute
ping ping ping
netstat netstat netstat
nbtstat nbtstat nbtstat
- NukeNabber tcplogd
- - tcpd
- NukeNabber(?) icmpd
- - strobed
- - -
route route (1) route
- aggressor aggressor
fdisk fdisk fdisk
- win startx ;-)
- office staroffice
pov pov32 povray
...

(1) Non funziona bene
(2) Children, DO NOT DO THIS AT HOME

(C) Leonardo Serni, da un post del quale ho brutalmente copy&past-ato
la tabella di cui sopra (siiii', anch'io lamer!)


[C06-W][9] Password mantenute in cache

Un piccolo suggerimento per tutti: e' possibile evitare l'uso delle
cached password modificando una chiave nel Registry. Basta impostare al
valore 1 la seguente chiave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\
Network\DisablePwdCaching


[C07-W] Ho il programma WinTOP dei Kernel Toys. Serve a qualcosa?

Si'. WinTOP (che si puo' lanciare da Avvio[Start]/Esegui, scrivere
wintop.exe<RETURN>) mostra un elenco di tutti i processi attivi nel
computer, con la possibilita' per ognuno di essi di avere l'elenco dei
thread generati. A differenza della finestra che appare premendo CTRL-
ALT-DEL, in WinTOP viene mostrato tutto quello che e' in esecuzione, e
quindi si possono individuare cose "non regolari".

Idle, kernel32, msgsrv32, mprexe, mmtask, explorer, rundll32 sono task
di sistema. Per vedere i dettagli di un processo, cliccate con il tasto
destro e scegliete Properties: qui in due schede sono mostrate, appunto,
le proprieta' del processo. Quello che interessa e' la seconda, dove puo'
essere presente un bottone "Terminate process now", che permette appunto
di uccidere il processo. Il bottone e' disponibile sui processi
contrassegnati dalla finestra, mentre quelli contrassegnati dalla ruota
dentata non possono essere terminati in questo modo.

Attenzione: WinTop non permette di effettuare la chiusura dei processi
con caratteristiche di servizi di sistema, mentre con AVP System Watch e'
possibile fare anche questa operazione.


[C08-W] E' vero che si possono far eseguire dei programmi dannosi allegandoli
a un messaggio e-mail?

Dipende da cosa si intende dire. In generale, una mail e' costituita da
una sequenza di caratteri ASCII, che vengono mostrati in una finestra del
programma di posta elettronica, ma non sono eseguiti. La mail puo' pero'
contenere un allegato di tipo qualunque, e ai fini della sicurezza del
sistema interessano due classi di file: eseguibili (.exe, .com) e binari
creati da applicazioni che hanno un certo livello di programmabilita'
per mezzo di macrolinguaggi (documenti Word o Excel, per esempio). Il testo
della mail non e' pericoloso, al contrario di quel che dicono dei messaggi
terroristici che periodicamente spammano i newsgroup.

Il discorso cambia per gli allegati suddetti. Un file di Winword puo'
contenere una macro che in realta' e' un macrovirus, e la sua apertura CON
WINWORD puo' infettare il computer col virus stesso. Un file eseguibile puo'
anch'esso essere infetto. Non si proseguira' qui sul discorso dei virus,
esistendo un newsgroup dedicato ad essi, cioe' it.comp.sicurezza.virus, e
le relative FAQ.

I pericoli che possono nascondersi negli eseguibili non sono pero' finiti.
Un eseguibile puo' nascondere un trojan o una backdoor, ed eseguendolo
vengono installati questi ultimi. Qui il trucco non sta solo nell'avere
programmi antivirus e di monitoraggio aggiornati e sofisticati, ma
soprattutto in un settaggio furbo del programma di posta. Questo deve
essere impostato in modo che gli allegati "sensibili" non vengano aperti
direttamente cliccandoci sopra, ma salvati su disco per poterli passare
con comodo all'antivirus e agli altri controlli. In poche parole, un .jpeg
puo' essere automaticamente aperto, un documento Word NO, NO, NO, NO, NO
(ripetere n volte, con n->oo) e neppure un eseguibile.


[C09-W][9] Posso proteggere un file o una directory sotto Windows da accessi
indesiderati?

Certo. Naturalmente, a causa della natura intrinsecamente insicura di Windows
(TUTTE le versioni dal 98 in giu') dovuta al fatto che si tratta di un
sistema sostanzialmente monoutente, questo e' impossibile in maniera nativa,
e i programmi che si possono trovare sono tutti piu' o meno aggirabili (basta
un boot da dischetto per accedere al sistema, anche se da DOS puro, a meno di
disabilitarlo dal BIOS).

Se la partizione in cui si trova il file/directory da proteggere e'
formattata FAT-16 (cosa facilmente verificabile con un click destro sulla
unita', scegliendo Proprieta'/Generale e controllando la presenza o meno
della dicitura FAT-32 accanto alla riga Tipo: Disco locale), c'e' pero'
un trucco semplice, che necessita di un programma come il buon vecchio
PC-tools.

Per facilitare le cose, si mettano i file in un'unica directory, chiamata ad
esempio "VARIEK". Riavviare in Modalita' MS-DOS (NON il prompt!!!), lanciare
PC-tools, localizzare la directory VARIEK e sostituire la K con ALT+255;
questo e' un carattere che sembra lo spazio, e l'effetto e' di rendere la
directory inaccessibile sia da DOS che da Windows. Per entrarvi, occorre
utilizzare di nuovo PC-tools e rimpiazzare ALT+255 con un carattere
alfanumerico. La cosa puo' sembrare macchinosa, ma e' possibile scrivere
un programma che faccia il cambio in automatico, cosicche' per entrare nella
directory e accedere ai file contenuti basta lanciare il programmino e una
volta finito rieseguirlo per compiere l'operazione opposta. Stessa cosa per
i nomi dei singoli file, per esempio per creare in dos dei file con spazi
inframezzati, o in Windows (3.1 o anche 95) scrivere file che windows non
puo' rileggere se non dopo accurata modifica del nome.


[C10-W] Ho messo sotto controllo la porta 31337. Sono al sicuro?

Non direi. Pe default, il BO apre in listening una sola porta TCP/UDP:
la 31337 (in realta' sono due, dal momento che le porte TCP sono diverse
da quelle UDP, anche se hanno lo stesso indirizzo). Volendo e' possibile
impedire/monitorare il flusso di dati da certe porte, i firewall servono
proprio a questo (ad es., Conseal o Green Dog). Il problema e' che il BO
puo' essere configurato per "ascoltare" anche da porte diverse da quella
di default.

(P.Monti)


[C11-W] Ho installato NukeNabber per controllare le porte "sensibili".
Sono al sicuro?

Con Nuke Nabber installato, ti possono straziare la macchina usando, per
esempio, Teardrop, Newdrop, Fraggle e Nestea (*). Per quanto ne so. E non so
se funziona anche Jolt (*), un altro attacco simile. C'e' un paio di note in
FAQ, http://www.linuxvalley.com/~lserni/glossary.cgi?ITEM=attacks, pero'
sono "in fieri" e lontanissime dall'essere complete. Mi raccomando, dite
se ci sono errori o inesattezze.

(*) Cercarli!!! Anche Land, Boink, Ssping


[C12-W][9] Back Orifice - Server: configurazione ed installazione

*** Nota: questo paragrafo non vuole essere un incitamento alla
boserverizzazione dei computer altrui. Dato che e' comunque bene
conoscere i propri nemici per poterli meglio sconfiggere, l'ho
ugualmente inserito nella FAQ. Potrete fare cosi' degli esperimenti
sul vostro PC (utilizzando l'indirizzo 127.0.0.1 sul BoClient) o su
quello di un vostro amico CONSENZIENTE ed INFORMATO DI TUTTI I
PERICOLI, che verra' IMMEDIATAMENTE RIPULITO DAL SERVER al termine
degli esperimenti. ***

Il server Back Orifice si puo' installare semplicemente lanciando il
file boserve.exe; una volta avviato, questo file copia il server (vero
e proprio) nella directory SYSTEM di Windows 95, aggiunge una chiave
nel registro di configurazione ed infine si cancella dalla directory
da cui e' stato lanciato.

Il BO server può essere configurato (prima di essere installato) per
impostare il nome dell'eseguibile del server, la porta su cui deve
ascoltare, la password, etc. ma funziona anche senza una particolare
configurazione utilizzando le seguenti impostazioni di default:

Nome eseguibile del server: " .exe" <spazio>.exe
Porta: "31337"
Password: (nessuna)

Per configurarlo, invece, va usata l'utility boconfig.exe nel seguente
modo:

Dopo aver estratto il pacchetto BO in una directory, dal prompt di
MS-DOS, posizionarsi in questa directory e digitare:

boconfig boserve.exe [Invio]

Ora viene chiesto di specificare le varie opzioni di configurazione:

Prompt di MS-DOS
C:\bo>boconfig boserve.exe
BOConfig 1.0 - Configures execution options for a Back
Orifice server

Runtime executable name: (does not necessarily have to end in
.exe)
server.exe
Exe description in registry:
ServerBO
Server port:
12345
Encryption password:
my_passwd
Default plugin to run on startup:
my_plugin.dll:_start
Arguments for plugin:
parametro1,parametro2
File to attach:
freeze.exe
Write file as:
my_plugin.dll

C:\bo>


Runtime executable filename: e' il nome con cui verra' chiamato il
file eseguibile del server; non e' necessario specificare l'estensione
.exe, ma se non lo si fa, BO non la aggiunge automaticamente;

Exe description in registry: e' il nome che si vuole dare alla chiave
che verra' creata nel registro di Windows 95 per far si' che il server
venga lanciato automaticamente ad ogni avvio del sistema. Questa
chiave si trova in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices.

Se non si specifica un nome, il riferimento al server verra' creato
nella chiave "(Predefinito)";

Server port: e' la porta su cui sara' attivo il server;

Encryption password: e' la password usata per la criptazione. Si puo'
anche scegliere di non usarla, digitando semplicemente Invio;

Default plugin to run on startup: qui va specificato un plugin da
lanciare all'avvio. La sintassi e' la seguente:

nome_plugin.dll:_funzione

Per ulteriori informazioni riguardo i plugin di BO, leggi il file
plugin.txt incluso nel pacchetto e visita il sito cDc. Se non si
vuole usare nessun plugin digitare Invio.

Argument for plugin: qui vanno specificati gli argomenti da passare
al plugin. Se hai scaricato dei plugin da Internet, questi parametri
li trovi nella loro documentazione;

File to attach: qui va inserito il percorso di un file che si vuole
attaccare al server. Questo potrebbe essere un plugin per BO, che puo'
essere attivato automaticamente. Se non si vuole attaccare nessun file,
digitare Invio;

Write file as: se si e' specificato di attaccare un file al server,
bisogna ora specificare il nome che si vuole dare al file attaccato.

A questo punto il file boserve.exe e' stato modificato per queste
impostazioni.

Nota: se vuoi fare un'altra configurazione, non usare il file
boserve.exe già configurato: cancellalo ed estrailo di nuovo
dall'archivio compresso.


×-h4ck3r - SPP member
Liberamente tratto dal sito di x-hacher
(by M.D'Itri)


[C13-W] Si puo' vedere se ho un file "Silkroppato"?

Dipende da come e' stato fatto il lavoro: se uno usa silkrope e basta,
gli antivirus attuali ti dicono che il file e' infetto da BO. Se,
invece, dopo aver fatto silkrope passi il tutto ad un compressore di
eseguibili, l'antivirus non vede niente.


[C14-W] Si puo' creare un file di log per netstat?

Dipende da cosa si intende per log. Si puo' fare in modo che l'output
di netstat venga scritto su un file piuttosto che sul video, basta
usare il pipe ">" o ">>". Per esempio potresti scrivere

netstat -na 30 > c:\dir\log.txt

oppure

netstat -pa TCP 30 > c:\dir\log.txt

scegliendo i parametri che vuoi passare al netstat e poi, invece di
mandare i risultati a video, ci si crea un bel file di log.

Bisogna fare attenzione a 2 cose:
1. il singolo ">" fa in modo che il log venga sovrascritto ogni volta
che si esegue il comando, mentre il doppio ">>" fa si' che i risultati
vengano di volta in volta aggiunti nel file in coda ai precedenti
(occhio alle dimensioni del file log!).
2. se si imposta un intervallo di tempo molto breve, e' sicuro che non
sfugge nulla ... o quasi ;-), ma si rischia di ritrovarsi con un log
immenso!

Poi si puo' scrivere un piccolo file batch in modo da non doverlo
digitare ogni volta: aprite il notepad, scrivete il comando in una
riga, sceglere Salva con nome (nella lista dei tipi dei file scegliere
"tutti i file") chiamandolo "nome_che_vuoi.BAT".

Poi per cercare qualcosa si va di grep... <hem!!!> si apre con Wordpad
e con <CTRL>+F si cerca, per esempio, "31337" (che originale!!!),
usando F3 per trovare tutte le connessioni loggate con la sottostringa
cercata.

*** (C) x-hacker
[con adattamenti]


[C15-W] Ho saputo che posso proteggere il mio computer con un programma
chiamato Conseal. Quando e' utile o inutile questo programma?

Conseal viene fornito con un semplice insieme di regole, o ruleset,
che impedisce gli attacchi piu' comuni. Le restrizioni devono essere
adattate caso per caso per avere un'efficacia piu' sicura, e l'help
del programma e' come al solito una lettura d'obbligo per avere
maggiori informazioni. Esiste anche il sito Internet

http://www.betatesters.com/firewall

dove si possono trovare utili indicazioni e consigli, fra cui varie
configurazioni del ruleset tutte documentate.

Un timore che si puo' avere e' che qualcuno dall'esterno possa in
qualche modo manomettere le regole impostate nel firewall. Ebbene,
questo non e' possibile farlo da remoto, a meno che ovviamente non
si possa entrare nel sistema con i soliti mezzi: backdoor, porte
aperte in eccesso (cioe' servizi attivi non necessari), condivisioni
magari non protette da password, IE4 bacato, ...
E' quindi importante assicurarsi di non avere un sistema aperto,
controllando prima tutto il controllabile di cio' che e' stato citato
nel paragrafo precedente, poi si installera' il Conseal configurando
il tutto secondo le specifiche necessità, dopodiche' si puo' stare
relativamente tranquilli in relazione alla configurazione adottata.
In altre parole, per tutte le porte che per necessità devono restare
aperte bisogna accertarsi che non possano venire attacchi da quella
direzione, per esempio aggiornando sempre il software e lasciando
il meno possibile del sistema visibile al mondo.


[C16-W] Si puo' disabilitare la funzione di autorun per tutte le unita'?

La chiave del registry che ci interessa si trova nella gerarchia
HKEY_CURRENT_USER che ha le impostazioni dell'utente di default (se
no si cerchi la gerarchia dell'utente interessato). In particolare,
il percorso e' il seguente:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer\"NoDriveTypeAutoRun"

(si cerchi con Regedit, Avvio -> Esegui -> regedit.exe).

Il valore per disabilitare l'autorun su tutti i tipi di unita' e'
"FF, 0, 0, 0". Ogni bit del primo byte rappresenta un certo tipo di
unita', se il bit e' impostato a 1, allora l'autorun e' disabilitato
per quel tipo di unita' cui il bit fa riferimento.


[C17-W][NT] Come impedisco ad altri di amministrare il server NT?

Per definizione, l'amministratore di un computer NT e' che ha i diritti di
amministratore. Se la macchina NT fa parte di una rete, e' possibile che piu'
utenti abbiano un account su quella macchina. Per accedere alle funzioni di
amministrazione, pero', quegli account ne devono avere i diritti, perche' a un
utente normale l'accesso viene negato. Per evidenti ragioni, e' sconsigliato
dare i privilegi di amministratore a tutti gli utenti della stazione NT. Invece,
usando la sicurezza di NT, se si vuole essere gli unici a mettere le mani sulle
funzioni delicate, bisogna fare in modo di essere gli unici amministratori.
D'altra parte un amministratore ha diritto ad avere accesso al server in ogni
condizione (per definizione), e se non si e' gli unici con tali prerogative non
si ha il diritto di bloccare il sistema in modo totalmente esclusivo e NT non lo
permette. Se quindi non e' possibile essere gli unici amministratori, non e'
possibile nemmeno bloccare l'accesso a certe funzioni.


[C01-X] Come posso rendere Linux piu' sicuro da intrusioni?

Regola generale e' di disabilitare tutti i servizi che non verranno
forniti ad altre macchine (vale anche per macchine effettivamente
usate come server). Esempi di tali servizi sono: httpd (server web),
telnet, ftp, pop3 e sendmail; ci sono inoltre time stream, time dgram,
shell, login, ntalk, systat, netstat, auth. Ancora, togliere
portmapper, nfsd e mountd.

In particolare, se la macchina Linux di cui si parla e' una stazione
di lavoro domestica o comunque non integrata in una rete (LAN oppure
Intranet/Internet), vanno tranquillamente disabilitati anche quelli.
Ricordate che piu' servizi sono attivi piu' grande e' il numero di
porte aperte, e maggiori sono quindi le possibilita' di attacco.


[C02-X] Come faccio a sapere che servizi ho attivi?

Si dia il comando:

grep -v "^#" /etc/inetd.conf

per vedere quali servizi ti serve di OFFRIRE. Di solito, nessuno. Forse non
sarebbe malvagio dare via un identd, ed a quel punto l'UNICA riga non #-ata
di /etc/inetd.conf sarebbe

ident stream tcp wait nobody /usr/sbin/in.identd in.identd -w -t120

dove l'utente nobody dovrebbe avere diritti molto ristretti, per usare un
eufemismo. Poi si dia:

killall -HUP inetd

per resettare inetd, e per sapere che servizi il proprio computer espone
all'esterno:

netstat -a | grep LISTEN\\b | cut -f2 -d':'

Bisogna anche tenere conto che smbd, netbios ed altri servizi non partono
sempre da inetd ma da un file in /etc/rc.d/...

Se invece in inetd.conf e' presente anche la seguente riga non commentata:

auth stream tcp wait root /usr/sbin/in.identd in.identd -w -t120 -l

se la macchina e' destinata all'uso personale e non devono essere offerti
servizi all'esterno, e' meglio togliere il flag -l. Questo perche' identd
serve al remoto solo finche' il sistema locale non e' stato compromesso;
ma in caso di macchina per uso personale, la distinzione e' inutile;
secondo perche' si potrebbe floodare il sistema con una serie di richieste
alla porta 113 facendo si' che il file di log o la consolle diventino
incomprensibili. Spesso l'opzione serve ai root di un sistema multiutente
per beccare i fake-mailer alle prime armi o i cretinotti su IRC che si fan
regalare la K.


[C03-X] Non posso disabilitare tutti i servizi di sistema. C'e' modo
di difendersi comunque?

Basta sfruttare la gestione dei permessi di Linux. Se lasci qualcosa
di attivo in inetd.conf, metti in /etc/hosts.deny:

ALL: ALL

e in etc/hosts.allow:

ALL: 127.0.0.1

[Ovviamente se non intendi fornire servizi ad altre macchine]. Il
significato (espresso in modo un po' pedestre) di tali istruzioni e'
il seguente: a tutte le macchine e' vietato tutto (ALL: ALL in
hosts.deny), alla macchina locale e' pero' permesso tutto (ALL:
127.0.0.1 in hosts.allow). In tal modo il sistema caccera' a pedate
qualunque intruso che tentasse di connettersi.

*** Attenzione***
Questi file vengono letti da tcp, quindi la riga in inetd.conf DEVE essere
del tipo

[ecc. ecc] /usr/bin/tcpd [path][demone][parametri]


[C04-X] E' necessario che sendmail venga lanciato al boot della
macchina?

Anzitutto ci sono demoni di posta piu' leggeri, come qmail. Se pero'
si usa sendmail allora non conviene farlo partire al boot, se sei
l'unico utente della macchina non ce n'e' bisogno ed e' un po' piu'
difficile controllarlo. Lo si faccia invece partire da inetd
mettendo in inetd.conf:

smtp stream tcp nowait mail /usr/sbin/tcpd /usr/sbin/sendmail -bs


[C05-X] Come posso sapere se e chi mi sta attaccando?

Tcpd permette di monitorare la connessione TCP. Si puo' affiancare
a tcpd i pacchetti iplogger (per controllare anche il traffico ICMP
e quello TCP non loggato da tcpd) e udplog di Leonardo Serni,
reperibili a: http://www.linuxvalley.com/~lserni.

Se poi al momento della connessione si lancia il comando:

xterm -e tail -f logfile

dove logfile e` il file di log usato dai programmi sopra citati, es.
/var/log/secure per tcpd (nella RH), /var/log/messages (nella Slack),
in caso vedi in syslog.conf dove vanno i messaggi con facility
authpriv, /var/log/messages per udplog ecc., si puo' disporre di un
vero e proprio monitor in tempo reale dei tentativi di attacco.

Nei primi due file citati ci sono sia i log del kernel (generati da
klogd) che i log per la rete (syslogd).


[C06-X] Pericolosita' dei commenti in host.equiv

Dal suddetto file e' necessario togliere tutte le righe commentate,
cioe' quelle che iniziano con il carattere "#". Esiste infatti un
modo di exploitare una macchina con un file host.equiv contenente dei
commenti. Infatti, pare che una riga del tipo

#
# Questa riga
#

affermi che lo host "#" puo' loggarsi senza password. Se cosi' e', e
se qualcuno riesce ad assumere abbastanza controllo DNS da rifarsi un
nome come "#", ha tutti i numeri per giocare un brutto tiro alla
macchina con tale buco.


[C07-X] Voglio stampare in locale, togliendo la disponibilita' del
server di stampa al "resto del mondo".

Si puo' fare lanciando lpd in /etc/inetd.conf, sotto tcpd, come qui
indicato:

printer stream tcp nowait root /usr/sbin/tcpd /usr/bin/lpd -i

A questo punto inserisci nel file /etc/hosts.deny la linea

ALL:ALL:spawn safe_finger -l @%h 2>& 1| mail -s "%d-%h %u" root

(se hai safe_finger, se no "ALL:ALL")

e inserisci in /etc/hosts.allow la linea

ALL:127.0.0.1
in.identd:ALL


[C08-X] Come posso sapere chi sta usando i miei servizi?

Il demone che serve si chiama auth. Esso in pratica fa un finger a chi
cerca di fare qualcosa, e comunica al sistemista (cioe' a te) il
risultato via mail. Naturalmente l'host che riceve il finger deve
avere questo servizio attivo, altrimenti non dara' la risposta che si
cerca.

Ecco come si puo' lanciare auth:

ident stream tcp wait nobody /usr/sbin/in.identd in.identd -w -t120 -o -e

questo fa si' che non venga usato syslog e che inetd non debba fare
troppa fatica per gestire le connessioni, dal momento che si limita ad
avviare identd. Questo impedisce di fare flooding troppo facilmente, e
in casi estremi e' possibile identificare chi fa flood con uno script e
tagliarlo fuori con route o ipfwadm.


[C09-X] Non mi va / non posso disabilitare tutti i servizi della mia
Linux box.

Soluzione alternativa: ricompilare il kernel con il supporto per
il firewall, lasciare tutti i servizi che occorrono ma bloccarli con
ipfwadm.


[C10-X] Se non voglio/posso fare a meno di usare X, posso almeno
renderlo sicuro?

Se si e' su una rete, bisogna controllare che il server X sia ben
protetto. Da un'altra macchina della rete si dia un comando di questo
tipo:

xterm -display tuo_IP:0

Se la macchina da controllare non fa parte di una rete, si puo' usare
un bounce o chi per lui, che permetta di connettersi alla porta 6000
di localhost. In ogni caso, se la connessione alla porta 6000 riesce
ed appare l'xterm sullo schermo, il server X e' aperto al mondo come
il back orifice di un BOservizzato. Il comando da dare e'

xhost -

mentre un rimedio duraturo consiste nel filtrare con ipfwadm ogni
connessione alla porta 6000 da proteggere, che non provenga dalla
interfaccia lo (ifconfig).


[C11-X] Quali servizi possono essere chiusi sulla mia Linux Box?

In un computer per uso domestico di solito non c'e' bisogno di alcun servizio di
rete attivo, a meno che esso non sia il server di una minirete (per esempio, con
il vecchio 486 ancora usato come client e/o per esperimenti sulle reti). Spesso,
puo' essere utile lasciare il demone identd, cosicche' nel file /etc/inetd.conf
l'unica riga non commentata sara':

ident stream tcp wait nobody /usr/sbin/in.identd in.identd -w -t120

dove l'utente nobody dovrebbe avere diritti molto ristretti, anzi quasi nulli.
Se la nostra Linux Box e' anche server di posta, dovra' essere lasciato attivo
anche il relativo demone. Nel caso di sendmail, la riga di idetd.conf sara' del
tipo:

smtp stream tcp nowait mail /usr/sbin/tcpd /usr/sbin/sendmail -bs

I apparenza, dendmail dovrebbe girare come root, altrimenti avrebbe problemi, per
esempio, a scrivere direttamente nelle directory degli utenti oppure a lanciare
procmail in maniera che scriva direttamente nei folder di posta con umask 300. In
realta' si puo' dare accesso ai maildrop al gruppo smtp, che non ha diritti su
nient'altro; i maildrops ovviamente avranno diritti 660, e saranno di tipo
username.smtp.


[C12-X] Che meccanismo usa inetd per lanciare i processi "di rete"?

Inetd esegue un binding sulla porta richiesta dal servizio, ma non attiva il
processo. Quando lo fa, gli passa il socket ma il processo gira con l'effective
userid specificato, e non puo' neanche aprire un nuovo socket nel range dei
servizi "Well Known" (<1024).


[C13-X] Come posso proteggere la mia Linux box senza pasticciare troppo con
pacchetti, protocolli e troiai vari?

Inserisci nel file /etc/hosts.deny la seguente regola:

ALL EXCEPT identd: ALL EXCEPT localhost'

[E dopo un'eternita' finalmente ho inserito nelle FAQ il giusto consiglio di MdI]


====================================


[D01-ALL] Un attacco sembra venire dall'indirizzo x.y.w.z. Posso essere
sicuro che provenga da veramente da li'?

Non e' detto. E' possibile fare in modo che i pacchetti trasmessi da
un certo indirizzo IP sembrino arrivare da un altro; la tecnica si
chiama __spoofing__. Quando si riceve un tentativo di attacco e il
programma usato per monitorare la rete riporta un certo indirizzo di
provenienza, e' bene non passare direttamente al contrattacco, perche'
si potrebbe colpire qualcuno che non c'entra niente, rendendolo la
seconda vittima dell'attacco (il suo indirizzo IP potrebbe essere
usato come indirizzo di provenienza dell'attacco per vari motivi, non
ultimo una forma di "ritorsione" contro il proprietario di tale
indirizzo).

*** (C) Leonardo Serni ***
Se uno proprio vuole assicurarsi (nei limiti del possibile) di chi
effettivamente ha fatto ping:
1) Risponde
2) Risponde a tono ai comandi piu' ovvi
3) Se, come nel 75% dei casi (esperienza mia) arriva il
comando di attivazione web server, dice di si'
4) Quando arriva una connessione TCP da quell'indirizzo
alla porta 80, _ALLORA_ l'identita' del tizio e' non
dico SICURA, pero' insomma abbastanza PROBABILE.
*** fine (C) ***


[D02-ALL] Riesco a beccare un attaccante che usa ICQ?

Pare che ICQ dia la possibilita' di nascondere l'IP. In realta' si puo' usare il
programma ICQ Sniffer, 85 Kb, per scoprire l'IP in "quasi" ogni caso. Questo
programma, pero', non sembra del tutto affidabile: infatti puo' fornire numeri
IP diversi se usato a distanza di qualche minuto, e sembra piu' attendibile nel
caso di IP statici.

Un metodo alternativo prevede l'uso di un programma come AtGuard. In tal caso
basta mandare un messaggio ad uno degli utenti della propria lista online, e,
anche se questo non risponde, andando a vedere nella lista delle connessioni si
trovano IP e porta di comunicazione del destinatario [funziona anche con
netstat?].

In conclusione un consiglio sempre valido e': fare attenzione a chi si da'
l'autorizzazione per la contact list.

*** Integrazione a cura di Enrico Gallesio ***

[D03-ALL] Ma e' proprio sicuro che l'IP che scopro e' quello
dell'attaccante?

Basta che l'attaccante utilizzi un proxy dedicato, per rendere
inefficaci i tentativi di scoprire il proprio IP. In questo caso,
il programma utilizzato, come ICQ sniffer, riporterebbe l'indirizzo IP
del proxy invece di quello effettivo. Percio' vale anche qui la regola
di pensarci bene prima di rispondere al fuoco...


[D04-ALL] Ci sono programmi con cui mi posso difendere in maniera piu'
"attiva" e magari rispondere per le rime? >:-]

La prima cosa che bisogna dire e' che se e' illegale che qualcuno
violi le nostre macchine, altrettanto lo e' rispondere al fuoco, o
meglio, lo e' se il nostro scopo e' quello di danneggiare a sua volta
l'attaccante. Cio' non vuol dire che non si possa "rispondere al
fuoco" in maniera innocua e lecita, ma tale da divertirci un po' alle
spalle dell'attaccante, cercando magari di fargli capire che forse e'
meglio che si cerchi altri svaghi.

Come primo tentativo, ci si procuri il client delle solite backdoor
(Bo, NetBus, TeleKommando, 'r tegame di su ma'). Piu' frequentemente
di quel che si pensa, infatti, i lamerini che vanno a caccia di
backdoor hanno a loro volta anche il server installato, o perche'
fanno esperimenti su se stessi senza proteggersi, o perche' hanno
scaricato versioni "non proprio affidabili" delle backdoor da siti
non ufficiali, e queste installano il server a loro insaputa. Senza
procurare loro danni, si puo' fargli apparire sul desktop un messaggio
di "avvertimento", da rendere via via piu' "deciso" se i tentativi
non cessano.

Esistono poi dei programmi che simulano i server delle backdoor, in
particolare NetBuster per NetBus e BoFake, BoSpy e NoBo per Back
Orifice. Tali server (perche' server sono a tutti gli effetti) si
mettono in ascolto sulle porte opportune, e all'arrivo di una
richiesta di connessione rispondono, permettendo fra l'altro di
loggare le azioni che l'attaccante richiede al server. E' possibile
(nel caso di BoSpy) far anche apparire al client un sistema virtuale
definito in appositi file di configurazione.

ATTENZIONE: L'USO DI TALI PROGRAMMI VA FATTO SOLO SE PERFETTAMENTE
CONSAPEVOLI DEL LORO FUNZIONAMENTO. Inoltre il loro utilizzo potrebbe
non essere lecito ai sensi delle leggi in vigore.


[D05-ALL] Come faccio a sapere chi mi attacca su IRC?

Sono disponibili i comandi /who e /whois. Al primo si deve passare l'IP di un
utente, ma puo' capitare che la risposta sia

xxx.xxx.xxx.xxx End of /who list?

Il problema e' che se l'utente si e' marcato "invisibile" non e' possibile
rintracciarlo con /who, tranne FORSE nel caso in cui si sia collegati nello
stesso canale dove è collegato lui.

Con /whois, invece, si raggiungono anche gli "invisibili", a patto di digitare
correttamente il nome del nick.


[D01-W] Ho installato un firewall fra il computer e la rete e Nuke
Nabber non vede piu' gli attacchi.

Significa che il firewall sta facendo il suo dovere. Se i nuke e i
tentativi di connessione non arrivano piu' al NN, vuol dire che sono
stati giustamente neutralizzati. Sappi che con questa configurazione
Nuke Nabber e' "ridondante", in quanto i suoi compiti (monitorare la
connessione su certe porte) sono svolti dal firewall, che fa anche
dell'altro; in particolare, il log di NN sara' sempre praticamente
vuoto. Per conoscere ugualmente eventuali attacchi, puoi far si' che
sia il firewall stesso a loggare i pacchetti che vengono intercettati,
l'effetto collaterale di questa configurazione sara' costituito da
eventuali DoS che ti faranno finire lo spazio su disco quando i
tentativi diventeranno troppo numerosi, e questi potrebbero essere
fatti proprio a questo scopo.

Con un firewall installato, Nuke Nabber puo' comunque essere utile,
infatti possiamo fargli monitorare la connessione con il firewall.
Perche'? Perche se NN dovesse vedere qualcosa nonostante il firewall
vuol dire che l'attaccante ha trovato il modo di crashare o bypassare
il firewall stesso arrivando fino alle tue porte, e a questo punto si
puo' gia' parlare di "intrusione" (anche ai sensi del codice penale).


[D02-W] Si puo', a chi usa NetBus, far vedere solo quel che voglio io?

Si', con un programma chiamato NetBuster, che simula il server netbus
dando l'illusione di essere dentro un sistema. In realta' quello che
vedi e che fai e' solo un illusione, l'attaccante sta solo vedendo e
facendo cio' che vuole NetBuster, che in quel momento sta monitorando
tutto quel che avviene scrivendo le azioni compiute in un file log
insieme all'ip e ad altri dati. L'indirizzo e':

http://fly.to/netbuster

E' possibile configurare il programma in modo tale che i lamers
pensino che sia un vero NetBus.


[D03-W] Esistono dei programmi che simulano Bo?

Si', ne esistono diversi. Uno di essi e' NoBo che si puo' trovare qui:

http://web.cip.com.br/nobo/

pero' non ha le stesse funzioni del netbuster, infatti NOBO si limita
a registrare cio' che fai dentro un sistema e ti consente di inviare
dei messaggi all'intruso, ma non impedisce l'accesso al sistema come
NetBuster (creando un sistema virtuale dove non è possibile fare
danni), ne' individua od elimina il server di BO. E' possibile avere
informazioni sull'intruso (ottenibili anche con NukeNabber settato
sulla 31337) ma non fornisce protezione contro attacchi vari. Secondo
gli autori di NOBO e' possibile che il BO possa essere usato su una
porta diversa dalla 31337 inficiando cosi' il controllo di NOBO.
In ogni caso, versioni >1.2 permettono di scegliersi la porta.

Un altro programma e' BoSpy, che sta a Bo come NetBuster sta a Netbus.
Con BoSpy si puo' loggare chiunque tenti di entrare dalla 31337; il
programma crea un fake server in tutto e per tutto, simulando le
varie risposte alle azioni del "visitatore", ed e' comodissimo per
vedere che intenzioni ha l'intruso e agire di conseguenza.
Molto carino e funzionale, supporta anche la funzione di invio
messaggi, facendoti vedere ip e porta da cui arriva il ping.

[TNX ChRoMe]


[D04-W] Ho un programma antiBo o anti-NetBus, e NukeNabber mi segnala
la backdoor!

Tranquilli, non e' successo niente. Quei programmi sono a tutti gli
effetti dei server delle relative backdoor, che per funzionare devono
stare in ascolto sulle opportune porte. Se NukeNabber controlla quelle
porte anche lui, si accorgera' che c'e' "qualcosa" in ascolto e, come
deve fare, lo segnalera' diligentemente. La soluzione e' di togliere
il monitoraggio della porta segnalata da parte di NN; se c'e' gia' un
programma che l'ascolta e' inutile che ce ne sia un altro.


[D05-W] E' possibile bypassare la pasword di NetBus???

Fai un copia-incolla con queste stringhe:

Password;1,Password

poi premi return, ti appare scritto

Access;1.60 ServerPwd;Password

in questo modo setti la pass del netbus su "Password"; poi dal client
del netbus, quando ti appare la richiesta inserimento password, metti
quella pass li'. Naturalmente la parola Password dopo ServerPwd e'
indicativa e la puoi cambiare a piacimento.
Da questo momento puoi usare il client nel modo che vuoi. Si rinnova
qui il consiglio, di non fare la carogna, e di limitarsi a mandare
avvertimenti.


[D06-W] E' possibile sfruttare nella direzione opposta la "connessione"
da parte di un BoClient?

In effetti, il BO funziona nelle due direzioni e con poca fatica si
puo' risalire la connessione al contrario. Bisogna utilizzare delle
versioni "sicure" di netstat e tracert, per esempio prendendo gli
eseguibili dal CD-ROM di installazione di Windows e comprimendole
con appositi programmi (NON NEL SENSO DEL WINZIP!!!). Questo, per
evitare che il boserverizzatore possa toglierci due strumenti molto
utili. Un consiglio ulteriore, se si ha un masterizzatore o un amico
che ce l'ha, e' quello di preparare un CD-ROM contenente programmi di
utilita' vari come i due succitati, in modo da poterli ripristinare
in caso di intrusioni distruttive.

Se il PC che attacca ha determinate caratteristiche, si puo' dedurre
che o e' un pirlone galattico, o e' un boserverizzato che fa da
relay. Possibili indizi: shares aperte, Back Orifice installato, e
simili... Con poca fatica si puo' (a) capire se c'e' Netbus o BO su
quel PC, e (b) entrare nonostante password varie (Netbus: istantaneo;
BO: pochi minuti).

Si lancia poi il NETSTAT sicuro sul PC boserverizzato, e si puo'
scoprire (in poco tempo o subito, a seconda, se il boserverizzatore
ha attivato servizi TCP) da quale IP viene controllato. Prima di
tutto si fa saltare il BOSERVER in modo da bonificare quel PC; si
prosegue nella catena nel caso si tratti di un BO multiplo, arrivando
cosi' al boserverizzatore. E qui, come dice l'autore del messaggio
originale, lo caa l'orso.


[D07-W] Perche' bisogna avere da parte delle versioni particolari di
netstat e tracert?

Perche', se si e' in caccia di intrusi telematici, e' necessario e
utile poter vedere che cosa dicono netstat e tracert. Niente di piu'
facile per questi figuri che impedire cio', rimpiazzando netstat e
tracert con due programmi che, per esempio facciano si' che la
connessione si interrompa appena vengono attivati (appena inizia la
caccia, in altre parole). Percio', anziche' usare netstat e tracert
del boserverizzato (per esempio), si usino i propri, che FORSE sono
sicuri.


[D08-W] Come faccio a divertirmi un po' con i pingatori senza troppa fatica?

[Info tratte con adattamenti da un messaggio di Master e correzione di L.Serni]

Se si ha un minimo di esperienza di programmazione, ci si puo' cimentare nella
creazione di un programma adatto all'uopo :-))

La libreria Windows che fa al caso nostro e' la winsock.ocx. Tutto quel che si
deve fare e' aprire un form con una connessione UDP, mettere il programma in
ascolto sulla porta 31337 UDP (nel caso si voglia intercettare i BO-seekers) con
UDPserver.localport 31337 e ricevere i dati. Ma come? Siamo sotto UDP, quindi
non disponiamo di qualcosa tipo UDPserver.listen. La soluzione consiste nel
settare sempre remotehost come se stessi (127.0.0.1, localhost) e localport
31337, e per la lettura dei dati si usa udpserver.getdata <p>, con p che punta a
un dato di tipo stringa associato all'evento DataArrival.

Alla ricezione di un ping su quella porta, basta che con UPDserver.senddata si
mandino sulla 31336 (la porta su cui riceve il client... quella giusta si puo'
comunque verificarle) la stessa stringa che invia il Boclient col ping, presa
per esempio con un copia/incolla dalla finestra di Nuke Nabber, seguita da un
testo a piacere. Ricordiamo che i caratteri strani che su vedono sul N.N. sono
l'header del protocollo di Back Orifice.

Quello sopra descritto e' il cuore del programma, che puo' essere dotato anche
di un'interfaccia piu' o meno ricca di opzioni (se gradite trastullarvi con il
Visual Basic). Un'alternativa e' costituita dall'uso di netcat, in modo simile
a quanto appena descritto: con un primo netcat si ricevono i dati su udp e si
registra l'ip del mittente, con un secondo si inviano i messaggi. Per realizzare
il tutto basta un file .bat, al massimo due righe di un qualunque linguaggio per
estrarre l'ip dalle videate info di netcat che purtroppo stravolge il pipe
'normale' per suoi specifici bisogni.

Per implementare il protocollo di Back Orifice si puo' usare un trucco. Per
prima cosa, si metta in ascolto Nuke Nabber sulla porta 31337 UDP, oppure si fa
la stessa cosa con netcat (netcat -l -u -v -v -p 31337), oppure ancora si fa il
il solito programmino in VB o in C con l'evento DataArrival che, quando arrivano
i dati del boclient, spedisce su una casella di testo il contenuto della stringa
che si grabba con UDP.GetData. Ecco il trucco:

Far partire il boclient e settare ad esempio Process Spawn. Nei parametri si
metta una frase a piacere ( suggeriva "OH ROTTO N'CULO! FINISCILA!"), dopodiche'
si da' SEND su nukenabber o sul programmino o su netcat (quello usato, insomma)
e viene fuori la frase gia' codificata. Nel caso in cui si sia usato il winsock,
su UDP.RemoteHostIp si avra' l'IP del tizio che ha mandato roba col boclient
(casualmente in questo caso sei tu, 127.0.0.1) mentre su UDP.RemotePort e'
settata la porta che ha usato il Boclient per mandare il tutto.

Se tu adesso su UDP alla stessa porta, e settando

UDP.remoteHost = UDP.RemoteHostIp,

mandi con UDP.SendData quella stessa stringa, sul BoClient esce una scritta come
se si fosse fatto il ping ad un boserverizzato e quello avesse risposto con

Pong .. ip found.. ecc..ecc..
-----------------------------------------------
OH ROTTO N'CULO! FINISCILA!
-----------------------------------------------

TRUCCHI BASTARDI:

Se al posto di <UDP.SendData stringa> si manda un bel

DO { UDP.SendData stringa } UNTIL (FALSE)

il nostro avra' di che meditare... :-DD

Ancora, dato che quello che scassa veramente l'anima e' lo scrolling della
finestra, il divertimento massimo consiste anche nel mandare una sequenza di CR
+ LF fino alla saturazione del buffer. Tra l'altro si puo' comprimere molto, e
si trasmette non malaccio.


[D09-W] A chi volesse contrattaccare usando BO.

Connessione a 192.168.0.119: "PONG!1.20!CHAPLIN" - SUCCESSO!
Connessione a 192.168.0.168: "PONG!1.20!TOWER" - SUCCESSO!

Se, connettendovi con BO a un computer remoto, ottenete una delle precedenti
risposte, desistete immediatamente dal tentativo.


[D01-X] E' possibile capire le intenzioni di chi pinga con BoClient?

I comandi in arrivo da un Bo client si possono in effetti riconoscere, cosa
che fa il programma udplog v. 1.7 disponibile per Linux. Esso distingue fra
ping BO "classici" e "buoni samaritani". Risponde come un PC boservizzato e
sta a vedere se invii un codice 0x09 (gruppo zero), 0x31/0x3F/0x26/0x2A/etc
(gruppo uno) oppure 0x02,0x03,0x04 (gruppo due).

Il gruppo zero sono i codici da buoni samaritani (appare la dialog box), il
gruppo uno sono codici da curiosi e FORSE buoni samaritani. Il primo codice
"gruppo due" che passa ti identifica per figlio di puttana e autorizza pure
l'intervento della magistratura 8-D, cosa che il ping non fa.

*** (C) Leonardo Serni


[D02-X] Non riesco a far lanciare programmi al BoClone!

In udplog.conf, nella sezione [Misc] dev'essere inserita una riga del tipo:

boclone=/usr/local/sbin/my-queSO

Poi bisogna creare e rendere eseguibile lo script my-queSO:

--------------------
#! /bin/sh
queSO $1 | mail root
--------------------

In questo modo l'output di my-que-SO arriva per e-mail. Ovviamente e' possibile
ridirigere l'output su file, ecc. Se neanche cosi' funziona c'e' un intoppo,
come per esempio se le prove avvengono in loopback. Infatti in udplog.conf
l'indirizzo 127.0.0.1, di default, e' risolto come localhost, quindi allo script
viene passato "localhost", ma se in /etc/hosts c'e' localhost.localdomain per
fare andare sendmail, queSO non trova l'host.

Un difetto e' che cosi' ad ogni comando inviato dal pingatore verrebbe lanciato
lo script (cmq, $2 e' l'IP risolto, mentre $1 e' quello non risolto): non ha
senso rifare ogni volta un queSO o uno stealth scan, per cui un'alternativa e'
la seguente.

##### (C) LEONARDO Serni #####
# Crea una log entry ordinabile per data ed IP

LOGENTRY="$( date +%Y-%m-%d-%H-%M ):$1"
LOGFILE=/var/log/boscript.log
LOGTEMP=/tmp/tmp-boscript.$RANDOM.$$

if [ ! -r $LOGFILE ]; then
touch $LOGFILE
fi

if ( grep "$LOGENTRY" $LOGFILE >/dev/null ); then
# L'amico e' conosciuto, si esce
exit 0;
fi

# Qui andrebbe altra roba per essere sicuri di non
# essersi ciucciati un UDP spoofato a bestia... sai
# che ganzo se uno manda un UDP da "127.0.0.1" ?

grep -v "$LOGENTRY" $LOGFILE > $LOGTEMP
OS=$( queso "$1:139" )
SHARES=$( nbtstat -W "$1" | grep "<" | tr -d "\t " | tr "\n" ":" )
echo "$LOGENTRY:$OS:$SHARES" >> $LOGTEMP
cat $LOGTEMP > $LOGFILE

#Eventualmente facciamo saltare la connessione per omnia saecula
#saeculorum. Un file contiene gli indirizzi "sani" che NON devono
#essere fatti saltare (ulteriore protezione antispoof).

if ( ! grep "^$1=\|^$2=" /etc/udplog-dontkill.conf >/dev/null); then
#ipfwadm ...
fi

rm -f $LOGTEMP


Altra soluzione:

Sezione [Misc] (versione 1.7d/1.7e):

script=/usr/local/bin/che/mi/frega/script-file

Sezione [Rules]
...una regola che invochi "script x", x=modificatore a caso, se
indifferente usare 'piano' ("script piano").

chmod +x /usr/local/bin/che/mi/frega/script-file

(altrimenti non viene eseguito), e script-file nella forma:

##### (C) Leonardo Serni #####
#!/bin/sh

# Let's play a sound
cat /usr/share/sounds/au/computer.au >/dev/audio

# Let's leave trace into system logs
logger "UDPScript[$5]: got UDP from $1 [$2], port $4, to local $3"
# (Vedi nota (1)

cat<<-MAIL | mail root

Someone is trying to access the machine.
Address: $1 [$2]
OS: $( queso $2:137 )
nbtstat:
$( nbtstat -W $2 )
host -a $2:
$( host -a $1 )
$( host -a $2 )
traceroute $2 2>/dev/null
$( traceroute $2 )

# DANGEROUS
# It is possible to SPOOF an UDP packet and force your PC
# to block ANY source subnet.
# Use ipfwadm only if confirmed in some other way (TCP if
# at all possible, with at least one GET from bo-http and
# a non-portable one at that _AND_ no misgets, see README
# for bo-http for details).
#
# /sbin/ipfwadm -I -i deny -S $2/24 -o

MAIL

exit 0;


Se il problema continua, verificare l'invocazione dei programmi nello script.
Infatti, anche se essi si trovano nella path della shell, nello script non
vengonono chiamati se non era indicata la path completa. Fatto questo, funziona
tutto.

(1) $4, in script, restituisce 'port 10xx' e non solo '10xx'... lo so che
e' una cosa di poco conto... ma... :))


[D03-X] E archiviare i tentativi di accesso con BO a fini statistici?

Occorre un server attivo 24h, un programma che logga i ping ed un altro che li
infila in una pagina web. [Sol. per udplog 1.7.] Mettere "boclone" come risposta
standard ad invii UDP su porta 31337 in /etc/udplog.conf, e nel file "boclone"
ci va, su una sola riga:

##### (C) Leonardo Serni #####
WEBLOG="lynx -dump
http://www.loggersite.com/cgi-bin/bologger.cgi?HOST=$1&PACKET=$3
>/dev/null"

...metodo semplice e brutale. Poi nel caso 1) (ping):

case "$TYPE" in
1) # He's pinging. We be good and reply in kind.
echo -n "!PONG!1.20!$HOSTNAME"
$WEBLOG &
;;

Naturalmente occorrerebbe prendere precauzioni contro possibili DOS ottenuti
mandando tempeste di PING spoofati... o con DNS contenenti shell metacharacters.
Eventualmente, nelle prime righe, si mette

HOST=$( echo "$1" | tr -cd "A-Za-z0-9-." )

anziche'

HOST="$1"

...stesso discorso o quasi per ARG1 ed ARG2 (anche passando parametri "carogna" a
a boclone, non ci sono effetti collaterali, ma non e' mai detto). Infine, per
ottenere le reti di origine (non gli IP! la 675 incombe!), una volta che si ha lo
host, il comando e' cut -f1-3 -d'.'. Notare che non e' possibile sapere a chi
corrisponde un IP, in generale, o chi sia. Di conseguenza, se violazione di
privacy c'e', la opera chi "mappa" l'IP sull'utente, e dunque il provider.


====================================


[E01] Il ping di BO si configura come sabotaggio informatico,
violazione della privacy o roba del genere?

Paradossalmente, no. La legge 23 dicembre 1993 n. 547 definisce i "reati
informatici", ma il semplice PING del Back Orifice non e', in se', reato
(non configura ne' la fattispecie di "alterazione di funzionamento", ne'
quella di "violenza sulle cose" in senso lato).

L'unica apparenza di punibilita' percio' (nel caso di un PING) deriva da
come tale PING e' stato inviato, i.e. usando un client Back Orifice? Nel
caso, il pingatore e' in possesso di uno strumento "atto a...", e quindi
(in teoria!) si configura la fattispecie di possesso di strumento idoneo
a introdursi in un sistema telematico od informatico (art. 615 quater).

Ma si tratta di una interpretazione piuttosto ambigua, perche' tale art.
e' nato con in mente il *traffico* delle *password*, non la *detenzione*
di *tools*. Appare tuttavia possibile una estensione per analogia. Cioe'
tutto dipende da quanto e' cazzuto il PM :-)

Inoltre ci si deve basare su una interpretazione relativa ad un reato di
pericolo; il ping viene cioe' visto come "attivita' ordinata ad ottenere
l'accesso ad un sistema informatico o telematico". Sara', in caso, onere
dello hacker dimostrare che questa attivita' (pur svolgendosi) non fosse
pero' ordinata ad un fine criminoso.

Per esempio il seguente script

...
for i in $ICMP_FOUND_HOSTS; do
if ( bo_ping $i 31337 "" ); then
cat <<-HERE | bo_send $i 31337 "" 9
Non dovrei essere qui. Lei ha
installato BACK ORIFICE sul suo
PC. Per rimuoverlo, consulti
SUBITO http://www.kazzimazzi.com
---
Finche' non lo fara', sara' possibile
a me o ad altri ENTRARE NEL SUO PC!
HERE
fi
done
...

genera una *tempesta* di PING su una sottorete, ma, qualora acquisito da
un inquirente, vale a dimostrare se non altro la buona fede - e il fatto
che l'attivita' non fosse ordinata all'accesso abusivo.

Completamente diverso e' invece il discorso, per chi si spinge al di la'
del semplice "ping":

Nov 2 20:28:48 jag BOCLONE: a-rm29-14.tin.it: <Send system passwords>
Nov 20 09:51:22 jag BOCLONE: [194.243.173.132]: <Send system passwords>

...in questo caso si procede a querela di parte. Io 'sti due non ho mica
intenzione di querelarli, anche perche' il secondo sta a 700 metri da me
e se proprio volessi potrei pingarlo con una spranga ;-). E l'unica pass
che hanno ricevuto e', credo, "gioppino".

Ma se li querelassi, il pretore acquisisce i dati di Telecom o di FOL, e
qui c'e' proprio una violazione del 615 quater: <Send System Passwords>,
infatti, configura la fattispecie di "... procurarsi abusivamente codici
di accesso a sistemi informatici o telematici". Reclusione fino a 1 anno
e multa fino a 10 milioni (il che vuol dire che puo' anche essere zero e
zero).

In piu' c'e' l'ingresso abusivo in un sistema informatico (e anche qui a
dire il vero c'e' da discuterci: "ingresso", significa shell?), art. 615
ter C.P., reclusione fino a tre anni. Se danneggia i dati od installa un
rootkit, reclusione da uno a cinque anni. Appare palese che per chi vada
ad installare il BOServer via NetBEUI si configuri appunto tale ipotesi.

Inoltre l'A.G. puo' acquisire ugualmente i dati, anche in assenza di una
denuncia: "...nella stragrande maggioranza dei casi l'interessato e' del
tutto ignaro della effettuazione di un illecito ai suoi danni [...] vero
e' che in tal caso trova applicazione l'art. 346 CPP per cui in mancanza
di una condizione di procedibilita' [la querela di parte, NdR], che puo'
ancora sopravvenire, possono essere compiuti gli atti di indagine preli-
minare necessari ad assicurare le fonti di prova..."


[E02] Ma il ping di BO comunque e' configurabile come tentativo?

Si', piu' che altro perche' il Back Orifice serve unicamente come backdoor
o come "amministrazione remota" -- ma ENTRAMBE queste attivita', se svolte
su PC di terzi senza il preventivo consenso, sono reati.

Pero' il tentativo in se' non e' un reato: e il fatto che POSSA essere una
attivita' ordinata a commettere un reato, non significa che lo SIA. Pero',
naturalmente, a quel punto tocca al pingatore dimostrare di essere onesto.

Per esempio, uno che giri intorno ad una casa osservando finestre, porte e
serrature *PUO'* essere un curioso... come un ladro che studia il colpo; e
infatti l'articolo 55 del CPP prevede fra i DOVERI della P.G.:

- prendere notizia di reati: attivita' informativa, diretta ad assumere la
conoscenza della perpetrazione di reati, gia' commessi od in fieri; puo'
essere svolta sia in forma tipica che in forma atipica. "Forma atipica",
in linguaggio tecnico, significa "post civetta, tcpdump e sniffers sulla
porta 31337 a tutti i providers; monitoraggio newsgroups; ecc.". (Non si
incazzi, Brigadiere: io mi limito a riportare l'ovvio).
Va da se' che le notizie cosi' acquisite non possono dare l'avvio ad una
indagine in mancanza di una precisa nozione di reato. In pratica, se uno
risulta originare o ricevere uno svagello di attivita' UDP:31337, questo
non autorizza a piombargli in casa fisicamente o telematicamente.
(Allo stesso modo, le pattuglie sul territorio _possono_ vedere per caso
il ragionier Brambilla con l'amante; e a questa violazione della privacy
il ragioniere deve sottostare. Purtroppo, per poter vedere un reato, uno
deve tenere gli occhi aperti, e se li tiene aperti vede _TUTTO_; ci sono
regole che stabiliscono che cosa uno deve far finta di non aver visto).

A dire il vero questo mi pare confligga con l'art. 13 della Costituzione
- ma in effetti, quello parla della sfera _personale_, mentre un tcpdump
sul provider e' quanto di piu' _impersonale_ ci possa essere :-) ... sul
merito c'e' una sentenza (n. 30, 27/03/1962) della Corte Costituzionale,
che in effetti ha compendiato l'art. 4 del testo unico sulle leggi di P.
S. e che con qualche fatica si potrebbe estendere all'ambito telematico.

- impedire che i reati giungano a conseguenze ulteriori
- ricerca degli autori dei reati: a reato commesso e stabilito, la P.G. si
dedica a individuare il reo, sia con atti atipici che con atti tipici (e
cioe' perquisizioni, fermi, arresti in flagranza, ecc. ecc.).
- individuazione ed assicurazione delle fonti di prova (qui ci si deve poi
rifare alla definizione di 'fonti di prova' telematica, data dalla legge
547/93; e le attivita' in ordine a questa sono poi governate dagli artt.
350,351 ("cat /var/log/messages"), 352 ("find / -[...]"), 353 ("tar czvf
/zip/mailboxes.tgz /var/spool/mail/*"), 354 ("toc toc! - chi e'? - apra,
Polizia").

In presenza di "comportamento sospetto" nel mondo fisico, la P.G. puo', di
iniziativa, sottoporre a misure limitative della liberta' personale.

Nello specifico (legge 22 maggio 1975 n. 152), coloro il cui atteggiamento
o la cui presenza, in relazione a specifiche circostanze di tempo e luogo,
non appaiono giustificabili, possono essere sottoposte a perquisizione, al
fine di individuare oggetti o strumenti atti a nuocere.

Poiche' la legge 23 dicembre 1996 n.547 ha esteso il concetto di domicilio
alla sfera telematica, si potrebbe altresi' estendere il concetto di "pura
presenza"; per esempio se io telnetto su www.nasa.org, "in un certo senso"
sono "telematicamente presente", alle porte di www.nasa.org. Ne' del resto
si potrebbe configurare una violazione di domicilio esteso in senso fisico
(altrimenti la legge mi punirebbe solo se io mi introducessi *FISICAMENTE*
nel computer di un altro, passando per es. dal buco del floppy!).

Ma questa e' una elucubrazione mia, che sostengo solo fino al rogo escluso
- la verita' e' che la legislazione in materia e' un gran casino, e basata
su "estensioni analogiche" - e mi viene in mente il diverbio fra i rabbini
chassidici (?) se l'elettricita' sia o meno "fuoco". Perche' se lo e', nel
giorno di sabato non si puo' accendere la luce; e se non lo e', si puo', a
patto che s'installi un condensatore in parallelo che elimina la scintilla
di apertura circuito, la quale sicuramente e' compartecipe della natura di
fuoco.

Fra un po' sentiremo discutere se un SYN scan sia "comportamento sospetto"
essendo "assimilabile analogicamente" ad un "agire furtivo" 8-D

La mia impressione generale e' che, se uno fa casino, lo prende nel ciocco
come sonare a predica; altrimenti, tutto dipende da chi e' e da chi ha nel
ruolo di avvocato. In pratica uno gia' cuccato a telnettare in casa altrui
e' bene che smetta di usare anche il normale "ping" di Windows :-)


[E03] Se installo Back Orifice via NetBIOS su Internet ad un tizio che
non sa niente, mi possono beccare? E cosa mi possono fare?

La risposta si articola nei seguenti punti:
1) L'installazione sopradetta configura la violazione dell'art 615
ter, comma due (violenza sulle cose, come da definizione ex art
392 comma due CP) del CP, e in aggiunta art 615 quinquies.
2) Si', ti possono beccare in un modo semplicissimo, che io (fossi
nel nucleo di Polizia delle Telecomunicazioni) avrei installato
da parecchio tempo (del resto, e' previsto dalla legge). Basta,
evidentemente, che tu ti colleghi dal telefono di casa tua, poi
avere l'indirizzo e' questione di due (2) ore.
3) Reclusione da un minimo di un anno a un massimo di cinque, piu'
multa sino a lire venti milioni.
Contrariamente a quanto io stesso credevo, NON e' necessaria la
denuncia del boserverizzato: si procede d'ufficio (50 CPP) e la
competenza e' pretorile (7 CPP). Non e' consentito il fermo di
indiziato del delitto, ne' l'arresto, o tantomeno l'adozione di
misure cautelari personali.


====================================


*** APPENDICI ***


[PORT-Appendice] - Elenco ragionato delle porte piu' utilizzate
by Maurizio Cimaschi
integrato da Marco Zani

Ecco un' elenco delle porte piu' utilizzate, alcune indicazioni
fanno riferimento a risposte date nella FAQ, e si rimanda ad
esse.


Legenda:
Porta (Prot) : Indica la porta ed il protocollo utilizzato
C/S : Se si tratta di un servzio lato server oppure
lato client, se non vi e' alcuna indicazione
significa che non e' rilevante
WKS : Indica il tipo di Well Known service (se presente).
Monitorig : Se deve essere monitorato dal programma
Nuke Nabber (o simili), il valore puo'
essere (a) o (b), sul significato si rimanda
alla domanda [C01a]
Poss. att. : Indica le possibilita' di attacco alla porta.
Note : Varie ed eventuali, come ad esempio possibilita'
di attacco ai servizi presenti su
quella porta, presenza di back door, ecc.


Sono elencati in ordine crescente rispetto al
numero di porta e non per importanza.


Porta (Prot) : ICMP detta anche porta zero.
C/S :
WKS :
Monitorig : (a) e (b)
Poss. att. : Possono essere ricevuti pacchetti formattati
in maniera anomala che mandano in
crash lo stack TCP/IP.
Note : E' la sezione relativa alla manutenzione
del protocollo IP
**
Porta (Prot) : 13 (TCP)
C/S : S
WKS : daytime
Monitorig :
Poss. att. :
Note
**
Porta (Prot) : 13 (UDP)
C/S : S
WKS : daytime
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 19 (TCP)
C/S : S
WKS : ttytst source
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 19 (UDP)
C/S : S
WKS : ttytst source
Monitorig : (a)
Poss. att. : In winNT e' possibile indurre la macchina a
cortocircuitare le porte 21 e 53,
mandando in crash lo stack TCP/IP
Note :
**
Porta (Prot) : 20 (TCP)
C/S : S
WKS : ftp-data
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 21 (TCP)
C/S : S
WKS : FTP
Monitorig : no
Poss. att. :
Note : Il monitoring, se presente, non deve essere
del tipo "chiudi porta", altrimenti
quella macchina non puo' essere usata
come server dal momento che rifiuterebbe
a priori tutte le connessioni.
**
Porta (Prot) : 23 (TCP)
C/S : S
WKS : Telnet
Monitorig : No
Poss. att. :
Note : vedi porta 21.
**
Porta (Prot) : 25 (TCP/UDP)
C/S : S
WKS : SMTP - invio della posta
Monitorig : No
Poss. att. : Bug di Sendmail (Unix)
Note : Scaricare sempre l'ultima versione di sendmail
(ftp://ftp.sendmail.org/pub/sendmail)
Vedi porta 21.
**
Porta (Prot) : 31
C/S : S
WKS : Message Authentication
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 37 (TCP)
C/S : S
WKS : timeserver
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 37 (UDP)
C/S : S
WKS : timeserver
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 39 (UDP)
C/S : S
WKS : resurce location
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 53 (TCP)
C/S : S
WKS : DNS / Domain
Monitorig : No
Poss. att. :
Note : vedi nota porta 21. per winNT vedi anche
nota porta 19
**
Porta (Prot) : 53 (UDP)
C/S : S
WKS : Domain
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 69 (TCP)
C/S : S
WKS : tftp
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 70 (TCP)
C/S : S
WKS : gopher
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 79 (TCP/UDP)
C/S : S
WKS : Finger
Monitorig : No
Poss. att. : Puo essere usato per un "denial of service" attack
Note : Disabilitare il finger o montare una versione aggiornata
**
Porta (Prot) : 80 (TCP/UDP)
C/S : S
WKS : Server WEB
Monitorig : No
Poss. att. : CGI/BIN attacks (PHF ecc.)
Note : Utilizzare sempre l'ultima versione del server Web
Vedi porta 21.
**
Porta (Prot) : 88 (TCP)
C/S : S
WKS : Kerberos
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 88 (UDP)
C/S : S
WKS : Kerberos
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 101 (TCP)
C/S : S
WKS : Hostname
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 103 (TCP)
C/S : S
WKS : X-400
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 104 (TCP)
C/S : S
WKS : X-400-send
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 109 (TCP)
C/S : S
WKS : POP2
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 110 (TCP/UDP)
C/S : S
WKS : POP3 - ricezione posta elettronica
Monitorig : No
Poss. att. : Possibile lettura file in posta
Note : vedi porta 21.
**
Porta (Prot) : 111 (TCP)
C/S : S
WKS : RPC
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 111 (UDP)
C/S : S
WKS : RPC
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 119 (TCP)
C/S : S
WKS : NNTP - Server News
Monitorig : No
Poss. att. :
Note : vedi nota porta 21.
**
Porta (Prot) : 129 (TCP)
C/S :
WKS :
Monitorig :
Poss. att. : (a)
Note :
**
Porta (Prot) : 137 (TCP)
C/S : S
WKS : netbios
Monitorig : (a) e (b)
Poss. att. :
Note : E' necessario disattivare NetBIOS (sempre
che non se ne abbia bisogno). Oppure
installare WinNuke95 e selezionare
"patch aganist Nuke"
**
Porta (Prot) : 137 (UDP)
C/S : S
WKS : Netbios (nbname)
Monitorig :
Poss. att. :
Note : vedi porta TCP
**
Porta (Prot) : 138 (TCP)
C/S :
WKS : Netbios (nbdatagram)
Monitorig : (a) e (b)
Poss. att. :
Note : vedi nota porta 137.
**
Porta (Prot) : 139 (TCP)
C/S :
WKS : Netbios (nbsession)
Monitorig : (a) e (b)
Poss. att. : si con WinNt
Note : C'e' un baco (??) nello stack
TCP/IP di winNT, che risulterebbe
vulnerabile a dati fuori banda.
vedi inoltre nota porta 137.
**
Porta (Prot) : 143 (TCP)
C/S : S
WKS : imap2 - Interim Mail Access Protocol v2
Monitorig : No
Poss. att. : Possibile lettura file in posta
Note : vedi porta 21.
**
Porta (Prot) : 555 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 666
C/S :
WKS : MDQS
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 1027 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 1029 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 1032 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 1080 (TCP)
C/S : C-S
WKS : proxy
Monitorig : server No (e comunque vedi nota porta 21)
client (a)
Poss. att. :
Note : Chi cerca una connessione sulla 1080
vuole mandare in giro per la rete
pacchetti a nome vostro, alcuni
ISP mettono a disposizione un server
proxy per velocizzare le comunicazioni,
ma un effetto collaterale e' che
tutti i pacchetti di uscita hanno
l'indirizzo IP del PROXY.
**
Porta (Prot) : 5000 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 5001 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note : Porta destinazione degli attacchi di Socket de Trois.
**
Porta (Prot) : 6667 (TCP)
C/S : S
WKS : IRC
Monitorig :
Poss. att. :
Note :
**
Porta (Prot) : 8080 (TCP)
C/S : S
WKS : Server WEB
Monitorig : No
Poss. att. :
Note : vedi nota 21, alcuni server web utilizzano
questa porta invece della standard (80).
**
Porta (Prot) : 12345 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note : E' una delle due porte del server NetBus,
si possono ricevere scan alla ricerca
di quel programma.
**
Porta (Prot) : 12346 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note : E' la seconda porta del server di NetBus,
vedi nota porta prec.
**
Porta (Prot) : 31337 (UDP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note : E' la porta standard del server di Back Orifice,
si possono ricevere scan alla ricerca di
Boserverizzati.
**
Porta (Prot) : 50505 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note :
**
Porta (Prot) : 61466 (TCP)
C/S :
WKS :
Monitorig : (a)
Poss. att. :
Note : Porta destinazione degli attacchi di TeleCommando.

[BD-Appendice] Appendice BD


Name: Back Orifice 1.20 S.O. : Win95,Win98,Win3.XX
Ports: 31337(TCP&UDP)
Reg Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices\(Predefinito)
Value : ".exe"
File: C:\WINDOWS\SYSTEM\EXE~1 (124.928)
C:\WINDOWS\WINDLL.DLL (8.192)
Note:


Name: Netbus 1.60 S.O. :Win95,Win98,WinNT
Ports: 12345&12346(TCP)
Reg Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\PATCH
Value: C:\WINDOWS\PATCH.EXE /nomsg
File: C:\WINDOWS\PATCH.EXE (472.576)
Note: non e' detto che il server si chiami patch.exe!!!! Quindi file e
chiave di registro variano a seconda... altri esempi: splat1, explore,
pamela, webaccel, icqupdate,... e molti altri!


Name : Phase S.O. :
Ports:
Reg Key:
Value:
File:
Note:

Name : Telecommando S.O. : Win95, Win98
Ports: 61466
Reg Key:
Value:
File: c:\windows\system\ODBC.EXE (~207 Kb)
Note:

Name : Sokets de Trois v1 S.O. : Win95, Win98
Ports: 5001
Reg Key:
Value:
File:
Note:

[WG-Appendice] WinGate, proxy casalingo

*** Da messaggi di Carlo e L.Serni ***

Wingate e' un programma che permette di accedere a Internet da tutte le
postazioni di una rete, pur essendo l'accesso fisico (a.k.a. modem) su un solo
ocmputer. Ne esiste una versione per win95 e una per NT; la versione demo
consente l'accesso ad un solo client per volta, ma la registrazione è veramente
economica. Il programma funziona; va installato prima sul server con opportuni
settaggi e poi sul client, dove offre una utilità che va a configurare in
automatico i vari applicativi (browser, email, ftp ecc). La cosa fondamentale e'
avere il supporto del protocollo TCP/IP sia sul server che sui client. L'help
del programma e' molto ben fatto ed assiste passo passo.

Per configurarlo e' semplicissimo:

1) Installare sul server e sui client i protocolli TCP/IP;

2) Configurare su tutte le maccihne il file hosts nella directory di sistema
(per esempio C:\windows, C:\win32, C:\winnt, ...);

3) Controllare che il TCP/IP funzioni (es.: ping server, ping client1 etc.);

4) Controllare che il server abbia una connessione ad internet funzionante;

5) Installare il wingate sul server rispondendo a tutte le domande del caso
(nome mailserver, nome newsserver etc. etc.);

6) In ogni client assicurati che il browser e qualsiasi altro prg. per internet
abbiano come riferimneto sotto la voce "proxy server" il nome dato al server
nel file hosts (se nel file hosts sul client c'e' scritto

192.168.0.1 server

allora nella voce "proxy server" va messa tale voce;

7) Configura wingate con le varie opzioni (es. che ad ogni richiesta faccia il
numero di telefono in automatico etc.);

8) Lanciare la connessione ad internet dal server e vedere se anche i client
funzionano.

ATTENZIONE:
Wingate non permette il gioco via TCP/IP e alcune applicazioni simili, per il
resto e' ottimo.......

Per reti di piu' di 5 computers, e' meglio un mini-server Linux. Basta una
macchina obsoleta (486 o anche 386), senza monitor, ed ha svariati altri
vantaggi - transparent proxying, firewalling, eccetera. OK, c'e' da configurarla,
e non e' poco, ma...

[LINK-Appendice] - Siti che trattano di sicurezza dei sistemi
informatici

Siti relativi a vari aspetti di sicurezza sotto Windows NT
http://www.nttoolbox.com
http://www.ntsecutity.net (Nella home page, notevole sulla sinistra
i link diretti a diversi articoli in
materia di sicurezza sotto NT)

Programmi di utilita'

http://www.hcvorg.com/ihu/welcome.html
Informazioni utili per ICQ

http://www.hack.cc/icq.html
Qualche utility per difendersi

http://surf.to/netbusprotector
A questo indirizzo si puo' scaricare il protector per
netbus, che serve a mandare un messaggio di errore al
client. Il messaggio puo' essere impostato, e in piu'
il programma fornisce l'indirizzo IP da cui si tenta
di controllare la macchina.

http://www.angelfire.com/id/chaplincorp/
BOSpy: un programma che finge di essere il server di
Bo, e permette di vedere cosa sta tentando di fare il
lamer di turno, e all'occorrenza "prendere provvedimenti"
(Avvertenza: non diventare lamer a tua volta, limitati
a rispondergli ^__^).

TORNA INDIETRO