SECURITY FAQ v.2.2

Indice:


Distribuzione

Revisore: Massimiliano Baldinelli

Ultima revisione: 20/08/1999

e-mail: M.Baldinelli@agora.stm.it

Distribuzione: http://www.linuxvalley.com/~lserni (con motore di ricerca)

http://members.xoom.com/gouldukat (versione testo)

http://w3.to/citati/ (versione testo)

http://www.freeweb.org/personali/paolapandolfini/ (versione testo)

http://www.freeweb.org/risorse/Pericoli/download.htm (versione zip)

http://pericoli.freeweb.org (versione testo)

http://maxxxxx.cjb.net/informatica/securityIdx.htm (versione html)

http://vene.tsx.org (versione testo, html e zip)

http://space.tin.it/io/ptentare/in.html (versione html)

ftp://ftp.olisys.it/ComputerVille/faq/securfaq.txt (versione testo)

http://utenti.tripod.it/notes/ (versione testo)

http://utenti.tripod.it/cry/ (versione zip)

ftp://ftp.computerville.it/pub/faq/ (versione testo e zip)

http://merlino.ghostbbs.cx/

http://genius.allnet.it/merlino/ (versione testo)

http://www.manuali.net/sicurezza.htm (versione testo)

 Torna all'indice 


Credits

Diego Ravarotto (per alcuni svarioni da lui segnalati)
Francesca
Frankj
Giulio
invy
Krmel
Leonardo Serni (per la sezione E e un'infinita' di altri post)
Marco D'Itri
Marco Zani (per [PORT-Appendice])
Master
Maurizio Cimaschi (per [PORT-Appendice] e [C01a])
Paolo Monti (per [B24])
x-hacker
(e altri che ho certamente dimenticato) per contributi diretti e/o indiretti al materiale qui riportato. Contributi diretti = correzioni, citazioni e materiale diretto a me (tramite e-mail o risposte a miei post su it.comp.sicurezza.varie).
Contributi indiretti = tutto il resto che e' stato postato su ics.varie e sul quale questa FAQ e' basata.

 Torna all'indice 


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]
0/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]

 Torna all'indice 


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 BASEPER 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.

 Torna all'indice 


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> >:-]

 Torna all'indice 


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.

 Torna all'indice 


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

 Torna all'indice 


Sezione 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?

 Torna all'indice 


Sezione b - Le minacce dell'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?

 Torna all'indice 


Sezione 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?

 Torna all'indice 


Sezione 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?

 Torna all'indice 


Sezione 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?

 Torna all'indice 


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

 Torna all'indice

Sezione A

[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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/

 Torna all'indice 


[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.

 Torna all'indice 


[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

 Torna all'indice 


[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.

 Torna all'indice 

Sezione B

[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.

 Torna all'indice 


[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).

Torna all'indice 


[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).

 Torna all'indice 


[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.

 Torna all'indice 


[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

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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).

 Torna all'indice 


[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

 Torna all'indice 


[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.

  Torna all'indice 


[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 ==================

 Torna all'indice 


[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

 Torna all'indice 


[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.

 Torna all'indice 


[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) }

Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

Torna all'indice 

[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...

 Torna all'indice 


[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]

 Torna all'indice 


[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

 

 Torna all'indice 


[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.

 Torna all'indice 


[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]

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.*] [Aggiunta mia: Lo script funziona sostituendo # con < e * con >. Non mi sembrava il caso di farlo funzionare..]

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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.  

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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 ***

 Torna all'indice 


[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.

 Torna all'indice 


[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).

 Torna all'indice 


[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

 Torna all'indice 

[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 ***

Torna all'indice 


[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.

 Torna all'indice 


[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".

 Torna all'indice 


[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.

 Torna all'indice 


[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

 Torna all'indice 


[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]

Sezione C

[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.

 Torna all'indice 

[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

 Torna all'indice 


[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.

Torna all'indice 


[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...).

 Torna all'indice 


[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...

 Torna all'indice 


[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!)

 Torna all'indice 


[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

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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)

Torna all'indice 


[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

 Torna all'indice 


[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)

 Torna all'indice 


[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.

 Torna all'indice 


[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]

 Torna all'indice 


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

(cercare info su Conseal)

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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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]

 Torna all'indice 


[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

 Torna all'indice 


[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).

 Torna all'indice 


[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.

 Torna all'indice 


[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

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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).

 Torna all'indice 


[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.

 Torna all'indice 


 [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).

Torna all'indice 


[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]

  Torna all'indice
Sezione D

[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) ***

 Torna all'indice 


[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 ***

 Torna all'indice 


[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...

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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).

 Torna all'indice 


[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.

 Torna all'indice 


[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.

tro 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]

 Torna all'indice 


[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.

 Torna all'indice 

[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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.

 Torna all'indice 


[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

 Torna all'indice 


[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... :))

 Torna all'indice 


[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  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..."

Torna all'indice


[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 :-)

Torna all'indice


[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.

Torna all'indice