,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ::::::::::::, .:::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::,. i@@@@@@#. .:::::, .,:::::::::, ,rs: :: ,,,,,,,,;,: ::::::, r@@@@@@@@@@@@@; ,:: rM@@Hs. .:::::::. @@@i,:@@ ;@@@@@@@s.,: :::::. 2@@@ :@@@@@@@H .:, @@@@@@@@@@: .:::::. s@@H @@# ;Mr ,:: :::: i@@@5 ,,, M@@@@@@r :,:@@@@@@@@@@@; ,:::, ;@@@ #@@S GH;AAA@@2 ,:: :::, A@@@@ :::::, @@@@@@@ :, #@@@@@@@@ :::, @@@, s@@A :@@@,,::: ::: .@@@@@ ,:::::. S@@@@@S :::, 5@@@@@@@@@: ,::, H@@ r@@9 , . ;@@@, ,:: ::: i@@@@@h .::::. r@@@@r .::: @@@@@@@@@@@ ,:: @@:,@@@. @@i;r@@@A .::: ::: i@@@@@@B @@@@ .::, G@@@@@@@@@@@; ., ;r: . ,rSr, ,:::: ::: @@@@@@@@@Gr,2@@@s ,::. r@@@@@@@@@@@@@@# .,...,,:::,,....,,::::::: :::, .@@@@@@@@@@@@@, ,::, .@@@@@@@@@@@@@@@@@@@H ,:::::::::::::::::::::: ::::, X@@@@@@r .::::: @@@@@@@@@@@@@@@@@@@@@@@5 ,::::::::::::::::::::: ::::::. .,::::, H@@@@@@@@@@@@@@@@@@@@@@@@# .:::::::::::::::::::: ::::::::. ,:. @@@@@@@@@@@@@@@@@@@@@@@@@@@; .:::::::::::::::::: :::::. ;@@@@@@@@@@@i .. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .::::::::::::::::: :::, @@@r .M@@@@@@@9 . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@s .:::::::::::::::: ::. @@@H .,. @@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@r ,::::::::::::::: :, ,@@@@ :::::. @@@@@@S , 9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ::::::::::::::: : @@@@2 ,::::::. ;@@@@@r :, 2@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,:::::::::::::: : 5@@@@H ::::::: .@@@@@ .:::, @@@@@@@@@@@@@@@@@@@@@@@@@H.3,,:::::::::::::: : H@@@@@r ,,,, 5@@@A ::::: @@@@@@@@@@@@@@@@@@@@@@@@@@2 ,:::::::::::::: : i@@@@@@@, @@@A ,:::::. @@@@@@@@@@@@@@@@@@@@@@@@@@@, ::::::::::::::: :. A@@@@@@@@@@@@@@5 ,:::::::, @@@@@@@@@@@@@@@@@@@@@@@@@@@2 ::::::::::::::: :: 2@@@@@@@@@X ,:::::, M@@;s@@,@@@@@@@@@@@@@@@@@@@; ::::::::::::::: :::, M@: .,,.A#AB@@@@; &@@@@@@@@@@@@@@@@@@ ::::::::::::::: :::, ;G@@@@@@@@@@@@@s. :r#@B25@@SH@@@@ 9@@@@@@@@@@@@@@@. .:::::::::::::: :::,;@@@@@@@@@@@@@@@@@@@@#; ,A@@rs@@@@@@@@@@@@@@. .::::::::::::: :::, r@@@@@@@@@@@@@@@@A, .@@@@@@@@@@@@@@@B :::::,. ,:: ::::::::::,. ,B@@@@@@@@@@@@@@@@#r ;G@@@@@@@@@@@: . A@h,:: :::::::::::::::,. :G@@@@@@@@@@@@@@@@@9: i@@@@@#. r@@@@@r ,:: ::::::::::::::::::::,. rM@@@@@@@@@@@@@@@@@@9s 2@@@@@@M, ,::: :::::::::::::::::::::::::,, .i#@@@@@@@@@@@@@@@@@@@@@@@S. ,,:::::: :::::::::::::::::::::::::::::::,,. .,::::::::::: ::::::::::::::::::::::::::::::::::::::,,,...............,,:::::::::::::::::: +--------------------------------------------------------------------------+ | ONDAQUADRA #05 - 14/01/2002 | +--------------------------------------------------------------------------+ | Tutto nel ciberspazio | | E' scandito dalla squarewave | | Dei micro-processori | | Il clock dei micro | | E' come | | Un battito cardiaco | | Elettronico... | +--------------------------------------------------------------------------+ | http://ondaquadra.cjb.net | | mail@ondaquadra.cjb.net ~ articoli@ondaquadra.cjb.net | +--------------------------------------------------------------------------+ <--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--> +--------------------------------------------------------------------------+ | LEGAL DISCLAIMER | +--------------------------------------------------------------------------+ | | | Nessuna persona dello staff di OndaQuadra si assume responsibilita' | | per l'uso improprio dell'utilizzo dei testi e dei programmi presenti | | nella e-zine, ne' per danni a terzi derivanti da esso. | | OndaQuadra non contravviene in alcun modo alle aggiunte/modificazioni | | effettuate con la legge 23 dicembre 1993, n.547 ed in particolare | | agli artt. 615-quater- e 615-quinques-. | | Lo scopo di OndaQuadra e' solo quello di spiegare quali sono e come | | avvengono le tecniche di intrusione al fine di far comprendere come | | sia possibile difendersi da esse, rendere piu' sicura la propria box e | | in generale approfondire le proprie conoscenze in campo informatico. | | I programmi allegati sono semplici esempi di programmazione che hanno | | il solo scopo di permettere una migliore comprensione di quanto | | discusso e spiegato nei testi. | | Non e' soggetta peraltro agli obblighi imposti dalla legge 7 marzo 2001, | | n. 62 in quanto non diffusa al pubblico con "periodicita' regolare" ex | | art. 1 e pertanto non inclusa nella previsione dell'art.5 della legge | | 8 febbraio 1948, n.47. | | | +--------------------------------------------------------------------------+ <--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--> +--------------------------------------------------------------------------+ | COSTITUZIONE DELLA REPUBBLICA ITALIANA | +--------------------------------------------------------------------------+ | Diritti e doveri dei cittadini: Rapporti civili | | | | Articolo 21 | | Tutti hanno diritto di manifestare liberamente il proprio pensiero | | con la parola, lo scritto e ogni altro mezzo di diffusione. [...] | +--------------------------------------------------------------------------+ <--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--> +--------------------------------------------------------------------------+ | INDICE | +--------------------------------------------------------------------------+ | [L0GiN] | | 0x01 iNTR0 AL NUMER0 05 ................................... [oq ~ staff] | | 0x02 CR0NACHE DAL BULK .................................... [oq ~ staff] | | 0x03 RETR: LA P0STA Di 0Q ................................. [oq ~ staff] | | 0x04 iPSE DiXiT ........................................... [oq ~ staff] | | 0x05 MiSSi0N .............................................. [oq ~ staff] | +--------------------------------------------------------------------------+ | [HACKiNG] | | 0x06 MP3 SHARiNG CLiENT VULNERABiLiTY ........................... [E4zy] | | 0x07 SiCUREZZA FiSiCA DEi SiSTEMi ............................... [E4zy] | | 0x08 PR0TEGGiAM0 iL N0STR0 SERVER ....................... [-=Quequero=-] | +--------------------------------------------------------------------------+ | [NETW0RKiNG] | | 0x09 iNTR0DUZi0NE ALL'iP MASQUERADiNG .................... [Master Kain] | | 0x0A iP TABLES .................................................. [E4zy] | | 0x0B R0UTiNG E ViAGGi0 Di PACCHETTi V 2.0 .................... [XanTHic] | +--------------------------------------------------------------------------+ | [LiNUX] | | 0x0C iN SHELL WE TRUST - PARTE 1 .................... [MigthyInquisitor] | | 0x0D VPN - ViRTUAL PRiVATE NETW0RK ............................. [goony] | | 0x0E LA LUNGA ST0RiA DELL'EXPL0iT DEL DEM0NE RPC.STATD ......... [xyzzy] | +--------------------------------------------------------------------------+ | [C0DiNG] | | 0x0F C0RS0 Di C [PARTE QUARTA] ................................ [JEYoNE] | | 0x10 0S FR0M ZER0 CHAPTER 2 ...................... [Alexander The Great] | | 0x11 WiNS0CK e ViSUAL BASiC .............................. [Screener_it] | +--------------------------------------------------------------------------+ | [MiSC] | | 0x12 GUiDA ALLA CRiTT0GRAFiA ................................ [SonGoten] | | 0x13 CUTH .................................................... [warfare] | | 0x14 Ti FACCi0 A FETTE L'ACCADi ................................ [bondo] | | 0x15 i SiSTEMi 0PERATiVi iN P0CHi SEMPLiCi PASSAGGi .......... [BaBBeuZ] | | 0x16 CRACKiNG iN WiNDOWS (TRADUZi0NE) ...................... [True-love] | +--------------------------------------------------------------------------+ | [L0 SCiAMAN0] | | 0x17 APELL0 ALL'0NU ............................................ [Erman] | | 0x18 CAiN0 ViV0 0 M0RT0 ................................ [Bruno Franchi] | | 0x19 UN GR0SS0 DUBBi0 ..................................... [Il Magnano] | | 0x1A iNF0RMAZi0NE E C0N0SCENZA PER iL NU0V0 MiLLENNi0 . [Virgilio Violo] | +--------------------------------------------------------------------------+ | [L'APPRENDiSTA STREG0NE] | | 0x1B GUiDA SUL MiRC SCRiPTiNG [PARTE TERZA] .......... [[]_CyBeRPuNK_[]] | | 0x1C GAB0LE iN iRC ..................................... [Xp Terminator] | | 0x1D iNTERFACCiA GRAFiCA PER iL MEM0SERV ............... [Master^Shadow] | | 0x1E i META TAGS .............................................. [inquis] | | 0x1F SED ...................................................... [Domin3] | | 0x20 0PERAZi0Ni iN C0NS0LE S0TT0 WiN32 ...................... [_d31m0s_] | | 0x21 KRY0 ..................................................... [lesion] | +--------------------------------------------------------------------------+ | [SHUTD0WN] | | 0x22 DiVAGAZi0Ni N0TTURNE .................................. [Malkavian] | +--------------------------------------------------------------------------+ | [C0NTATTi] | | 0x23 D0VE TR0VARCi ........................................ [oq ~ staff] | +--------------------------------------------------------------------------+ | [ALLEGATi] | | 0x01 WiNS0CK_e_VB.ZiP .................................... [Screener_it] | | 0x02 SED.L0GiC.TXT ............................................ [Domin3] | | 0x03 MSGUi.MRC ......................................... [Master^Shadow] | | 0x04 CUTH.C .................................................. [warfare] | | 0x05 iSWT1.TAR.GZ ................................... [MigthyInquisitor] | | 0x06 C0NS0LEN.ASM ........................................... [_d31m0s_] | | 0x07 C0NS0LET.ASM ........................................... [_d31m0s_] | | 0x08 iPTABLES.TXT ............................................... [E4zy] | | 0x09 BUGTRAQ-P0ST.TXT ........................................... [E4zy] | | 0x0A KRY0.TGZ ................................................. [lesion] | | 0x0B AR0M.EXE .................................... [Alexander The Great] | +--------------------------------------------------------------------------+ <--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--> +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [L0GiN] #05 - 14/01/2002 | | iNTR0 AL NUMER0 05 [oq ~ staff] 0x01/0x23 | +--------------------------------------------------------------------------+ | | | Cari lettori, | | | | Eccoci giunti al sesto numero di questa e-zine, proprio cosi', siamo al | | numero #05! | | Siamo ai primi giorni dell'anno 2002 e per cominciare con il piede | | giusto vi abbiamo sfornato questo nuovo numero. | | Questo editoriale e' quello che fra tutti porta piu' innovazioni, | | cambiamenti e perfezionamenti nell'evoluzione di questo progetto che ad | | ogni numero aumenta la sua popolarita'. | | | | Tanto per cominciare e' bene ribadire la filosofia che sta alla base del | | progetto stesso: | | | | "OndaQuadra e' un progetto fondato da JEYoNE e da Tritemius. E' formato | | e portato avanti, oltre che dai membri che compongono lo staff, dagli | | scrittori e da coloro che ci sostengono moralmente, ovvero VOI!" | | | | Ci teniamo a ribadire questo perche' e' successo che alcuni ci hanno | | posto domande del tipo: | | "OQ e' una crew ristretta?", "OQ da quanti membri e' formata?", "come | | faccio per entrare?" e via scorrendo... | | | | Detto questo cominciamo con le novita', che non sono poche! | | | | Come alcuni di voi gia' sapranno, e' in fase di sviluppo il portale di | | OndaQuadra, eh si avete letto bene, non piu' una semplice pagina in | | html, ma un vero e proprio angolo digitale dedicato esclusivamente | | all'e-zine e usufruibile e visitabile da tutti! | | E' ancora in fase di perfezionamento quindi per l'uscita di questo | | numero non sara' pronto. | | Lo stiamo realizzando con le nuove tecnologie messeci a disposizione da | | gente che ne sa sicuramente piu' di noi, ovvero con il PHP e con il | | database MySQL...insomma un buon presagio per un portale dinamico, che | | ne pensate? | | Tutto questo facilitera' notevolmente la lettura degli articoli on-line, | | l'archiviazione degli stessi, il post di messaggi nel forum, la gestione | | della mailing list, i contatti tra i lettori, gli scrittori e noi dello | | staff e cosi' avanti... | | | | Per quanto riguarda la versione standard dell'e-zine, quella nel formato | | txt, abbiamo deciso che oltre a comprimerla nel solito formato oqXX.zip | | (ormai decomprimibile anche con il comando 'unzip oqXX.zip' dalla shell | | di sistemi Unix like), la comprimeremo anche come oqXX.tar.gz, formato | | sicuramente piu' simpatico ai Linuxiani. | | Oltretutto ci saranno diversi archivi da poter scaricare, il primo e | | completo oqXX.estensione che conterra' la rivista in formato txt e gli | | allegati, il secondo oqXXtxt.estensione che conterra' soltanto la | | rivista in formato txt e il terzo, oqXXatt.estensione che conterra' solo | | gli allegati. | | Questo perche' siamo venuti a conoscenza che alcuni lettori leggono OQ | | senza tener conto degli allegati, e quindi perche' appesantire | | l'archivio quando si puo' scaricare solo il testo? | | | | Un'altra novita' di molto rilievo e' sicuramente il fatto che abbiamo | | deciso di rendere la rivista completamente aperiodica, ovvero senza una | | data di uscita piu' o meno stabile come e' stato finora. | | Questa scelta e' dovuta principalmente al fatto che marcare l'uscita | | ogni due (o tre che siano) mesi in anticipo e' un fattore che tende a | | mettere fretta agli autori nella stesura dei propri articoli, ma | | soprattutto che da un gran da fare a noi dello staff e visto che | | preferiamo (almeno cerchiamo di preferire) la qualita' alla rigidita' | | siamo giunti a questa decisione. | | Spero la condividiate, altrimenti mandateci una mail e fateci sapere | | come la pensate a riguardo! | | | | Altra innovazione che molti di voi avranno notato e' l'impaginazione | | dell'e-zine, ebbene si, finalmente ci siamo dati un tono e siamo giunti | | a un buon livello di impaginazione; non piu' come nei primissimi numeri | | dove un testo poteva avere fino a 150 (o addirittura di piu') caratteri | | per riga. | | Nello scorso numero (#04) l'e-zine era impaginata a 80 caratteri, mentre | | da questo numero e' impaginata a 76 caratteri, pipe '|' e spazi ' ' | | compresi. Questa decisione l'abbiamo presa per rendere piu' semplice la | | lettura on-line da parte di chi ha un monitor con risoluzione inferiore | | alla 1024x768, vale a dire 800x600 o addirittura 640x480 pixel in modo | | da rendere OndaQuadra un progetto aperto, ancora una volta, a tutti, | | bello, con uno schema fisso, ma allo stesso tempo con un look flessibile | | a ogni esigenza dei lettori! | | Per tutti i lettori che utilizzano un palmare per leggerci (spiacente | | +MaLaTTiA :P) non c'e' niente da fare, non credo che riusciremo a fare | | anche la versione a 33 caratteri. | | | | Ora, ai lettori piu' attenti, potrebbe venire un dubbio: | | "Ma se l'e-zine e' cosi' ben impaginata, i sorgenti che riportate | | all'interno degli articoli piu' tecnici, me li devo ricostruire a mano | | togliendoci tutti i pipe, gli spazi e riformattando le righe che | | superano i 72 caratteri di testo effettivo per poterli testare?" | | Semplice, a questo problema abbiamo ovviato, dove possibile, aggiungendo | | al file allegati.estensione i sorgenti in questione pronti per essere | | testati o quanto meno studiati! | | | | L'ultimo meeting di OndaQuadra si e' svolto nelle giornate di sabato 15 | | e domenica 16 dicembre 2001 al BULK, ovvero lo stabilimento dove ha sede | | il LOA, cioe' l'HackLab di Milano. | | Cogliamo l'occasione per ringraziare infinitamente i LOAniani per la | | fredda accoglienza (a causa del clima, cosa pensavate... ;)) e per | | l'enorme ospitalita' che ci hanno dato. | | Un ringraziamento particolare a c1cc1o e a bomboclat per essersi | | impegnati a far si che questo incontro fra noi di OQ e loro, LOAniani, | | abbia preso vita. | | Un altro ringraziamento a tutti coloro che hanno preso la parola e che | | hanno partecipato al seminario sul kernel tenutosi, sempre presso il | | BULK, nella giornata di domenica 16. Siete forti ragazzi, ottimi i talk | | e le risposte a tutte le domande, continuate cosi'!!! | | | | Purtroppo e' giunta l'ora di parlare di una notizia al quanto sgradevole | | a tutti; ovvero del rippaggio di alcuni articoli comparsi sullo scorso | | numero...si avete capito bene, proprio cosi'. Ci e' giunta voce, da piu' | | persone, che alcuni testi sono stati rippati e spacciati per propri da | | coloro i quali li hanno firmati e inviati a noi. Abbiamo provveduto a | | controllare la fonte dell'articolo e l'articolo rippato apparso | | sull'e-zine e le voci, almeno questa volta, erano fondate! | | Ora, noi della redazione non intendiamo entrare in ambito di un discorso | | etico, anche perche' richiederebbe piu' tempo e non e' questa la sede, | | ma ci sembra del tutto scorretto quest'atteggiamento a dir poco | | anti-etico e ben poco morale quindi da ora in poi tutti gli articoli che | | ci manderete subiranno un controllo piu' approfondito sull'originalita' | | e se riterremo che siano, anche in parte, rippati non li pubblicheremo. | | Questa e' una decisione inapellabile ed e' stata presa per la | | salvaguardia dell'originalita' e del buon nome dell'e-zine, del suo | | staff e dei suoi scrittori autentici. | | Coloro i quali ci hanno mandato e coloro i quali ci manderanno articoli, | | anche in parte, rippati (senza i riferimenti dell'originalita' del pezzo | | di testo) non vedranno piu' apparire nessun "loro" articolo su questa | | e-zine! Speriamo di essere stati chiari, certo pero' e' da tener | | presente, che dato che negli ultimi tre anni in Italia sono nate | | svariate e-zine e molti nuovi scrittori, il controllo della qualita' | | sugli articoli non e' certo una cosa semplice da fare per noi dello | | staff quindi se voi lettori vi accorgete di eventuali rippaggi nei testi | | pubblicati sui prossimi numeri dell'e-zine, siete pregati di rendercelo | | noto via mail o in irc, ve ne saremo davvero grati. | | | | Bene, anche questo editoriale e' concluso, non ci resta altro che | | augurare una buona lettura a tutti, approfittando anche per augurare un | | felice e sereno 2002! | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [L0GiN] #05 - 14/01/2002 | | CR0NACHE DAL BULK [oq ~ staff] 0x02/0x23 | +--------------------------------------------------------------------------+ | | | Il meeting di OndaQuadra si e' tenuto a Milano nelle giornate di sabato | | 15 e domenica 16 dicembre e non ha avuto un afflusso di gente come si | | era pensato all'inizio. | | Hanno preso parte a questa iniziativa JEYoNE, Sensos, E4zy, xian, TheMR, | | embyte, io (inquis), goony, bitflesh, _FlatMary_ e xyzzy piu' | | tutti i LOAniani, ovvero i facenti parte del LOA HackLab di Milano che | | ha sede in Via Nicolini presso lo stabilimento BULK. | | | | SABAT0 15 DiCEMBRE | | Alle 11.00 circa ci siamo incontrati io (inquis), E4zy, JEYoNE | | e TheMR nel centro di Milano, siamo passati a casa di uno di noi a | | recuperare del "materiale" (!!!) e ci siamo recati al BULK dove ci siamo | | incontrati con goony. Erano gia' le 13.00 e il nostro stomaco | | brontolava, quindi ci siamo messi alla ricerca del McDonalds piu' vicino | | e quando ci siamo arrivati, abbiamo finalmente riempito lo stomaco! | | Dopo aver "pranzato" ci siamo rediretti al BULK e nel percorso abbiamo | | incontrato un losco personaggio di nome bitflesh che si e' unito a noi | | in questa fredda camminata (quasi) invernale. | | Arrivati al BULK si e' unito a noi xyzzy e finalmente siamo entrati. | | Wow, che bel posto, davvero bello, un po' freddino, ma bello. | | Dopo un po' sono arrivati xian, Sensos, embyte e _FlatMary_. | | Fino a sera siamo rimasti la' al cazzeggio con i LOAniani. | | Bene, arrivata ora di cena (finalmente si mangia di nuovo...) siamo | | andati per una via mezza buia (sembrava di essere a China Town!) in un | | ristorante (se cosi' si puo' chiamare) "poco accogliente", quindi | | qual'e' stata la nostra azione subito dopo che ci siamo seduti? | | Semplice, ci siamo alzati e ce ne siamo andati. | | Alla ricerca di un posto caldo dove sedersi e mangiare, siamo capitati a | | due passi dal ristorante in un bel ristorantino cinese molto piu' | | accogliente. | | Ecco, qui e' cominciata la lunghissima disquisizione riguardo il futuro | | di OndaQuadra. Sono emersi un sacco di progetti nuovi quali il futuro | | portale dell'e-zine e la nuova impaginazione dell'e-zine stessa. | | In un batter d'occhio si era fatto tardi, era mezzanotte quindi ci siamo | | auto-cacciati dal ristorante alla volta della casa di uno di noi: | | finalmente un posto davvero caldo, caminetto a legna rulez ;) !!! | | Qui siamo rimasti (tanto per cambiare...) a parlare di OndaQuadra fino | | alle 3.20, ora letale per me, ho cominciato a delirare, non ce la facevo | | piu' quindi, prima che mi prendessero a calci, me la sono squagliata | | sotto le coperte. | | Gli altri acari se ne sono rimasti svegli ancora un po', poi tutti a | | letto, chi in albergo e chi in questa casa calda. | | | | DOMENiCA 16 DiCEMBRE | | La mattina seguente il buon vecchio JEYoNE mi ha svegliato alle 11.00, | | che bella dormita, ero davvero stanco, "ero ACCES0 da 25 ore..."!!! | | Ci si lava, si fa colazione e sgattaioliamo in auto alla volta | | dell'albergo dove alloggiavano il signor xian e il signor E4zy. | | E' gia' ora di pranzo e cosa si fa? | | Si cerca un posto dove mangiare nei pressi del BULK. Stavolta capitiamo | | in una pizzeria...mmm che buona la pizza, e di nuovo giu' a parlare di | | OndaQuadra. Si fanno le 14, andiamo al BULK e ci incontriamo con | | bitflesh che era gia' la che ci aspettava smanettando su una "bella" Red | | Hat 7.1! | | Cazzeggiamo una mezz'oretta e comincia il seminario sul kernel | | nell'altra sala del LOA: la HACKLEASS! Bel nome vero?!?!?! | | Arrivano poi anche TheMR e embyte e continuiamo tutti, chi piu', chi | | meno, a seguire i vari talk. | | Ottimo lavoro, davvero un bel seminario, ci voleva. | | Sono ormai le 17. E' ora di lasciarci. Salutiamo e ringraziamo come si | | deve tutti i LOAniani e ce ne andiamo. | | Purtroppo ci si saluta anche tra di noi con la speranza di rivederci il | | prima possibile... | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [L0GiN] #05 - 14/01/2002 | | RETR: LA P0STA Di 0Q [oq ~ staff] 0x03/0x23 | +--------------------------------------------------------------------------+ | | | Purtroppo per un problema tecnico (ci si e' fottuto un disco!) su | | questo numero non ci saranno le risposte alle mail dei lettori. | | Ci dispiace perche' c'erano alcune domande interessanti, anzi proprio | | per questo la redazione invita tutti i lettori che hanno inviato una | | mail a mail@ondaquadra.cjb.net a riscriverci. | | La prossima volta ci impegneremo ad effettuare un backup della mail | | ricevute! :) | | Un saluto a tutti, il vostro postino. | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [L0GiN] #05 - 14/01/2002 | | iPSE DiXiT [oq ~ staff] 0x04/0x23 | +--------------------------------------------------------------------------+ | | | "E' piu' facile trovare un amministratore di sistema cretino che | | un hacker intelligente" | | Andrea Aparo | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [L0GiN] #05 - 14/01/2002 | | MiSSi0N [oq ~ staff] 0x05/0x23 | +--------------------------------------------------------------------------+ | | | OndaQuadra, l'inaudito battito elettronico di cui avvertiamo | | l'esistenza quando il bagliore del monitor ci illumina, e | | l'informazione trasportata dalla luce si proietta giu' nella | | nostra coscienza. | | | | OndaQuadra vuole trovare la Bellezza nei cicli di clock, la | | Poesia tra i datagrammi, e come l'albatro di Baudelaire e' | | incurante degli scherni. | | | | OndaQuadra e' la volonta' di fuggire dall'alienazione industriale | | e dallo sradicamento metropolitano, dalla solitudine esistenziale | | dell'epoca che conosce il prezzo di tutto e il valore di nulla, | | l'epoca in cui abbiamo tutto ma abbiamo perso noi stessi. | | | | Un tuffo nella realta' digitale come una Catarsi, dalla quale | | riemergere trasfigurati, pronti a intrecciare nuovi rapporti umani | | piu' veri della realta' mediocre e banale che il destino ci riserva. | | | | L'OndaQuadra e' quindi un sogno da affrontare con umilta' e | | meraviglia, rinunciando ai pregiudizi e ai luoghi comuni, camminando | | verso il sole, facendo cadere le ombre dell'insulsa polemica e | | dell'invidia alle nostre spalle. | | | | OndaQuadra, l'urlo del nostro cuore di silicio! Un urlo assordante, | | un monito tremendo ai nemici della liberta', del sopruso, della | | prepotenza, nel ciberspazio e nella vita reale. | | | | Straordinari sono gli strumenti che la tecnologia ci mette a | | disposizione. | | Possibilita' infinite di comunicazione. Facciamo che questi | | strumenti servano per creare una nuova visione del mondo. Utopia e | | realismo, sogno e concretezza. Iniziamo Noi, qui e ora, ad ascoltare, | | e ad aiutare in modo disinteressato chi non conosce questo mondo, | | a non farlo sentire un idiota, un emarginato. | | | | Che miseria, la divisione tra clan, tra fazioni. Misero chi | | cerca un nuovo potere nel ciberspazio! Nuovi sacerdoti, con | | paraocchi infiniti e cravatte mentali, tornate nei vostri templi, | | nelle accademie. Nuovi burocrati, conquistadores, qui non | | siete graditi. | | Cosi' come non sono graditi i furfanti, i teppisti, gli arrivisti, i | | fanatici di tutte le risme, gli autoritari, gli amanti delle grandi | | firme e delle cose per gente di un certo livello. | | | | OndaQuadra aspetta chi vuole lavorare, creare, giocare con entusiasmo, | | chi vede nella tecnologia la possibilita' di un uso non banale; chi | | non vuole servire le macchine, ma vuole servirsene per rendere meno | | idiota la propria permanenza sul globo terracqueo; chi comprende | | che l'infosfera ha un'importanza chiave nel nostro futuro, dal punto di | | vista sociale e culturale. | | | | Questa e' OndaQuadra. E molto altro: cosa,devi dirlo Tu lettore, con | | le tue idee, con la tua voglia di partecipare, di metterti in gioco, | | di rischiare. Con la tua volonta' di combattere quei polli che si | | credono aquile che fanno di tutto per controllarti, per esercitare il | | loro misero potere, per distruggere i tuoi sogni. | | | | Noi apparteniamo alla stirpe dei senza re: scivoliamo nella Rete come | | ombre, traiamo ispirazione dal lampeggio del cursore, conosciamo il | | sistema nervoso della modernita', ascoltiamo l'urlo assordante e | | silenzioso del cuore di silicio, la fuori e dentro di noi: OndaQuadra! | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [HACKiNG] #05 - 14/01/2002 | | MP3 SHARiNG CLiENT VULNERABiLiTY [E4zy] 0x06/0x23 | +--------------------------------------------------------------------------+ | | | Indice: | | | | 1. Intro | | | | 2. Mp3Mystic | | 2.1 Double Dot Bug | | 2.2 Exploit | | 2.3 Log file | | 2.4 Fix | | | | 3. Gnutella | | 3.1 HTML Tags Vulnerability | | 3.2 Exploit | | 3.3 Fix | | | | 4. Audiogalaxy | | 4.1 Clear Text Password | | 4.2 Exploit | | 4.3 Fix | | | | 5. Napster | | 5.1 String Format Attack | | 5.2 Bugtraq Post | | 5.3 Fix | | | | 6. Morpheus | | 6.1 Denial of Service | | 6.2 Client Information | | 6.3 Fix | | | | 7. Risorse | | | | | | 1. Intro | | Dal 27 luglio 2000, data di chiusura di Napster, nulla e' piu' stato | | uguale a prima, la rete e' stata invasa da un numero non ben precisato | | di software cloni del programma Napster che da qualche tempo ha smesso | | di cantare :( | | Con l'esponenziale aumento di questi tool che permettono la condivisione | | di brani musicali in formato mp3 sono cresciute di pari passo le | | vulnerabilita' che affliggono molti di questi programmi. | | Addentriamoci a questo punto nell'analisi dei potenziali rischi | | associati ad alcuni di questi programmi. | | Le vulnerabilita' qui di seguito descritte fanno riferimento ai post | | originali comparsi su Bagtraq qualche tempo fa, lo scopo del presente | | articolo consiste nella descrizione delle tecniche che permettono di | | sfruttare ed eliminare i problemi derivanti da un uso di un software non | | sicuro. | | | | 2. Mp3Mystic | | Easy to hack, flexible, free Personal Streaming music server :D Si | | tratta di un vero e proprio personal web server per Windows9x che | | permette di fornire un servizio di condivisione e streaming di file mp3 | | verso la rete Internet. | | | | 2.1 Double Dot Bug | | Un utente remoto e' in grado di risalire la cartella condivisa e | | sfogliare l'intero HD al file di prelevare dati riservati dell'utente. | | | | 2.2 Exploit | | E' possibile risalire le directory remote riferendosi alla directory | | genitore attraverso l'url (../), questo ci consente l'accesso in lettura | | sull'intero HD remoto, esempio: | | | | http://127.0.0.1/../file | | inserendo tale url nel vostro browser vi connetterete all'utente con IP | | address 127.0.0.1, che in questo caso rappresenta l'interfaccia di | | loopback del sistema locale, e sarete in grado di scaricare il file di | | nome "file" che si trova nella directory genitore. | | Una puntualizzazione dovuta, il numero di ../ necessari all'interno | | dell'url dipende dalla directory condivisa dall'utente remoto, ogni ../ | | corrispondera' a risalire di una directory genitore l'albero del | | filesystem remoto. | | I piu' attenti si saranno accorti che affinche' tale operazione abbia | | successo e' necessario essere a conoscenza del path(1) relativo del file | | che vogliamo scaricare, in quanto il programma ci permette di | | visualizzare l'albero delle directory sul sistema remoto ma non i file | | che non rispondano alle specifiche del formato mp3. | | | | (1)path: percorso di un file o di una directory, esso puo' essere | | assoluto (es. c:\windows) oppure relativo (es. ..\windows) | | | | Ecco l'elenco dei file che ritengo a rischio in caso di intrusione: | | | | System.ini: | | Contiene dati sensibili riguardo alla configurazione del sistema tra cui | | il percorso assoluto dei file delle password di Windows che possono in | | tal modo essere prelevati. | | | | | | ----------- System.ini ----------- | | | | [boot] | | system.drv=system.drv | | drivers=mmsystem.dll power.drv | | shell=Explorer.exe | | user.exe=user.exe | | gdi.exe=gdi.exe | | sound.drv=mmsound.drv | | dibeng.drv=dibeng.dll | | comm.drv=comm.drv | | mouse.drv=lmouse.drv | | keyboard.drv=keyboard.drv | | | | .... | | | | [Password Lists] | | USER=C:\WINDOWS\USER.PWL | | | | ----------- System.ini ----------- | | | | Pwl Files: | | Sono i file delle password di Windows e possono contenere la password | | utilizzata dall'utente in formato criptato (a volte la password e' | | rappresentata da stringa vuota), possono essere facilmente crackati con | | un brute force attack grazie alla debolezza dell'algoritmo di | | criptazione. | | | | User.dat: | | Rappresenta la sede del registro di configurazione di Windows e contiene | | molte delle password utilizzate dal sistema tra cui quelle di | | connessione a internet, l'applicazione regedit ne consente la | | navigazione attraverso il complesso albero di directory. | | | | Mp3server.ini: | | File generato da Mp3Mystic stesso, contiene la password di | | amministrazione del programma in testo in chiaro :) | | | | | | ----------- Mp3server.ini ----------- | | | | [admin] | | RegCode= | | user=username | | pass=password | | RequirePW=0 | | AccessUser= | | AccessPW= | | | | .... | | | | ----------- Mp3server.ini ----------- | | | | Un possibile scenario di attacco puo' essere rappresentato da quanto | | segue: | | | | 1) http://127.0.0.1/../windows/system.ini | | l'attacker scarica il system.ini dal sistema remoto utilizzando il path | | malizioso, da tale file e' in grado di risalire al path dei file pwl | | presenti nel sistema. | | | | 2) http://127.0.0.1/../windows/user.pwl | | l'attacker preleva il file contenente la password criptata dell'user | | remoto. | | | | 2.3 Log file | | Ogni trasferimento sara' loggato dal web server compreso l'ip | | dell'attacker, le voci relative ai log sono memorizzate nel file | | Mp3server.log, i lamer sono avvisati :) | | Ecco come appare una voce di tale file: | | | | 13/12/01|13.49.27|127.0.0.1|\file.mp3 | | | | 2.4 Fix | | Tale problema e' stato fixato dalla versione 1.04b3 di Mp3Mystic, | | scaricate sempre la versione piu' aggiornata del programma in modo da | | prevenire le vulnerabilita' conosciute. | | | | 3. Gnutella | | Gnut e' un client per Linux che permette la condivisione di file mp3 con | | altri utenti della rete, lavora da console e implementa il protocollo | | utilizzato dagli altri client Gnutella. | | | | 3.1 HTML Tags Vulnerability | | A differenza dei suoi colleghi questo client e' afflitto da un bug che | | permette ad un attacker di manipolare i nomi dei propri file inserendo | | dei tag html nascosti al fine di causare l'elaborazione di codice | | malizioso da parte di utenti remoti. | | | | 3.2 Exploit | | Inizialmente ero indeciso se rilasciare degli esempi pratici di utilizzo | | di tale bug, mi affido al vostro buon senso sperando che nessuno abusi | | di quanto verra' descritto in seguito... | | | | Per provare questa vulnerabilita' in locale ho generato un file mp3 dal | | nome: | | | | Song.mp3 | | | | Questo nome file contiene al suo interno un meta tag che causa il crash | | di ogni sistema Windows9x in cui tale file compaia all'interno dei | | risultati della propria ricerca e che utilizzi un client vulnerabile per | | accedere alla visualizzazione (esempio Internet Explorer non patchato | | contro il dos device in path name). | | | | Le possibilita' di generare altri file che sfruttino tale vulnerabilita' | | e' limitata solo dai caratteri consentiti nei nomi di file dal vostro | | sistema operativo, tutto sta alla vostra fantasia. | | | | 3.3 Fix | | Il problema e' stato fixato dalla versione 0.4.26 in poi del programma | | Gnut per Linux, aggiornate regolarmente il vostro software e scaricate | | la versione piu' recente disponibile al momento per il programma. | | | | 4. Audiogalaxy | | Il software al momento piu' utilizzato per la condivisione dei file mp3 | | in rete, e' composto da un'interfaccia web based un po' meno intuitiva | | rispetto ai programmi analizzati in precedenza ma offre un panorama di | | canzoni sicuramente superiore ad ogni altro clone. | | | | 4.1 Clear Text Password | | L'applicazione conserva i dati atti al login sotto forma di testo in | | chiaro, permettendo ad un eventuale attacker di entrare in possesso di | | password che potrebbero rappresentare un pericolo per l'integrita' del | | sistema stesso. La malsana abitudine di molti utenti nell'utilizzare la | | medesima password per molteplici applicazioni amplifica il fattore di | | rischio. | | | | (Tratto dal README di Audiogalaxy Linux version 0.520) | | Linux users must create account.txt and shares.txt in their favorite | | text editor before the Satellite will run. The format of account.txt is | | simply email that you used to create an account from the web site on the | | first line. The second line will be your password | | >account.txt | | email | | password | | | | 4.2 Exploit | | E' possibile utilizzare un exploit sul sistema che monta una versione | | vulnerabile di Audiogalaxy al fine di ottenere i permessi necessari per | | prelevare il file account.txt. | | | | 4.3 Fix | | La vulnerabilita' relativa alla versione Win32 del client e' stata | | fissata dalla versione .601W in poi, mentre la versione del client per | | Linux 0.520 (la piu' recente disponibile al momento) resta tutt'ora | | vulnerabile. | | Per limitare il piu' possibile i rischi derivanti dall'uso di tale | | applicazione e' buona regola restringere i permessi associati al file | | account.txt limitandone il solo accesso all'utente root. | | Utilizzare, inoltre, tale password unicamente per Audiogalaxy in modo da | | circoscrivere il problema alla sola applicazione a rischio. | | | | 5. Napster | | Nap e' un client che permette la condivisione di file mp3 con il resto | | della rete, la versione 1.4.4 in particolare presenta una vulnerabilita' | | che risulta al momento fissata. | | Non mi e' stato possibile in alcun modo testare o approfondire tale | | vulnerabilita' a causa della mancata compatibilita' del client di | | vecchia versione con il protocollo utilizzato attualmente sul lato | | server, per tanto mi limitero' a riportare le informazioni reperibili su | | Bugtraq. La funzione sendpack() e' vulnerabile ad un attacco string | | format che permetterebbe ad un eventuale attacker di ideare un file name | | appositamente studiato al fine di guadagnare l'accesso al sistema | | remoto. | | | | 5.1 String Format Attack | | E' possibile sfruttare tale vulnerabilita', dovuta ad un'errata | | dichiarazione della funzione sendpack(), ideando un file name che | | contenga al suo interno uno o piu' caratteri % al fine di alterare la | | normale esecuzione del processo, in tal modo e' possibile accedere allo | | stack associato al fine di reperire i dati relativi al login. | | La funzione incriminata viene richiamata ogni qual volta il programma | | client voglia fornire il database dei file condivisi al server Napster | | remoto. In tal modo al successivo avvio (durante il refresh del | | database) il client che dovesse aver ricevuto un file malizioso | | eseguira' il codice nascosto all'interno dello stesso. | | | | 5.2 Bugtraq Post | | Riporto qui di seguito il post originale comparso su Bugtraq: | | | | [NdR: Vedi allegato 0x09] | | | | 5.3 Fix | | Il problema e' stato fissato dalla versione immediatamente successiva | | alla 1.4.4, e' possibile fare riferimento al ChangeLog per maggiori | | informazioni, ne riporto qui di seguito una parte: | | | | "(2001/01/20) PS1 - fixed a security bug (string format attack): | | calls to sendpack(a, b, c), where c is not a constant string, | | must be replaced by sendpack(a, b, "%s", c). This is because in | | some contexts, c may contain arbitrary data (such as filenames), | | and by embedding '%' characters in c, a cracker could gain | | access to any data on this process's evaluation stack, including | | passwords etc. I found this bug in a posting by gregory duchemin | | to BUGTRAQ@SECURITYFOCUS.COM, archived at | | http://www.shmoo.com/mail/bugtraq/sep00/msg00942.shtml." | | | | 6. Morpheus | | Sono state riscontrate alcune falle nella sicurezza di questo programma | | che permettono un attacco di tipo denial of service atto a consumare la | | banda della vittima, l'applicazione non fornisce alcuna funzione di log | | al fine di riscontrare tali violazioni. | | Inoltre permette ad un utente di reperire informazioni agendo da una | | postazione remota. | | | | 6.1 Denial of Service | | Una volta avviato il programma di sharing verra' posta in listening la | | porta 1214, Morpheus non offre alcun controllo per quanto riguarda il | | numero simultaneo di richieste remote, questo permette ad un attacker di | | occupare l'intera banda della vittima con traffico superfluo. | | Potete trovare il sorgente dell'exploit su Packet Storm | | (http://www.packetstormsecurity.org), il nome dello script e' "km.pl". | | | | 6.2 Client Information | | Il client remoto rivela informazioni sensibili riguardo l'utente. | | E' possibile ricavare tali informazioni telnettandosi all'host sulla | | porta 1214 e fornendo come input la seguente stringa: | | | | GET HTTP/1.0 | | | | l'output fornira' diverse informazioni sul programma server tra cui | | l'username dell'utente remoto. | | | | 6.3 Fix | | Il problema al momento non e' ancora stato fissato, e' consigliabile | | l'uso di un firewall per negare l'accesso alla porta 1214 agli utenti | | indesiderati. In questo caso specifico agli utenti Windows torna utile | | il Conseal PC Firewall che permette una gestione dinamica delle rules. | | | | 7. Risorse | | Packet Storm www.packetstormsecurity.org | | Bugtraq www.securityfocus.com | | New Order www.neworder.box.sk | | Audiogalaxy README | | Nap ChangeLog | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [HACKiNG] #05 - 14/01/2002 | | SiCUREZZA FiSiCA DEi SiSTEMi [E4zy] 0x07/0x23 | +--------------------------------------------------------------------------+ | | | Indice: | | | | 0. Intro | | | | 1. Remote Power up | | 1.1 Requisiti | | 1.2 Teoria | | 1.3 Pratica | | 1.4 Trucchi e suggerimenti | | | | 2. Invalidazione della CMOS | | 2.1 Metodi hardware | | 2.2 Metodi software | | 2.3 Sequenza di boot | | | | 3. LILO | | 3.1 Modalita' singola | | 3.2 Opzione password | | 3.3 Opzione restricted | | | | 4. Blocco della console | | 4.1 Windows screen saver | | 4.2 Linux xlock | | | | 5. Risorse | | | | | | 0. Intro | | In questo articolo intendo illustrare le politiche di protezione che | | vengono comunemente implementate per garantire la sicurezza di sistemi | | che siano esposti fisicamente ad un rischio di intrusione. | | | | 1. Remote Power up | | La celebre frase "un computer sicuro e' un computer spento" rappresenta | | uno dei tanti miti da sfatare in campo di sicurezza informatica, | | avvalendoci di un tool che permetta il packet forging(1) abbiamo la | | possibilita' di assemblare un pacchetto in grado di adempiere a funzioni | | a molti sconosciute, tra queste quella di forzare l'accensione di | | determinate macchine agendo da una postazione remota. | | | | (1)packet forging: ci si riferisce in generale ad una tecnica che | | permette di forgiare pacchetti ad hoc al fine di | | adempiere ad uno scopo preciso | | | | 1.1 Requisiti | | La scheda madre e il BIOS in dotazione sul sistema devono supportare il | | protocollo di "wake-up" e tale opzione deve essere abilitata (sezione | | Power Management nel BIOS Award), i BIOS Award di nuova generazione | | offrono tale funzione. | | La scheda di rete deve essere compatibile con tale protocollo, se e' | | possibile rilevare la presenza di tensione sulla scheda anche a PC | | spento e' probabile che la vostra periferica fornisca tale | | funzionalita', molti dispositivi quali Hub segnalano la presenza di | | tensione su una determinata porta mediante l'accensione di led luminosi | | rendendo ancora piu' semplice tale verifica. | | | | 1.2 Teoria | | E' possibile causare l'accensione di un PC remoto, requisiti permettendo | | (vedi sopra), forgiando un pacchetto che rispecchi la seguente | | struttura: | | | | [ethernet header][IP header][UDP header][Magic sequence][CRCS] | | (dal README del programma Wakeonlan-0.40) | | | | dove il campo indicato come "Magic sequence" verra' assemblato con le | | seguenti modalita': | | | | - un preambolo composto da 6 byte di FFh; | | - almeno sedici ripetizione del MAC address del sistema destinatario; | | | | Mettiamo che il sistema che vogliamo avviare monti una scheda di rete il | | cui indirizzo fisico e' 00:11:22:33:44:55, il campo "Magic sequence" | | sara' cosi' | | composto: | | | | FFFFFFFFFFFF001122334455001122334455001122334455001122334455 | | 001122334455001122334455001122334455001122334455001122334455 | | 001122334455001122334455001122334455001122334455001122334455 | | 001122334455001122334455 | | | | L'interfaccia di rete a cui e' destinato il pacchetto sara' in grado di | | ricevere e interpretare i byte del frame che causeranno l'avvio | | incondizionato del sistema interessato. | | | | 1.3 Pratica | | Per mettere in pratica quanto descritto ho utilizzato il tool | | Wakeonlan-0.40 per Linux, ecco la sintassi fornita a run time dallo | | script stesso: | | | | $ ./wakeonlan | | Usage | | wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] | | [[hardware_address] ...] | | | | Options | | -h | | this information | | -v | | dislpays the script version | | -i ip_address | | set the destination IP address | | default: 255.255.255.255 (the limited broadcast address) | | -p port | | set the destination port | | default: 9 (discard port) | | -f file | | uses file as a source of hardware addresses | | | | See also | | wakelan(1) | | | | La rete su cui ho avuto modo di testare questo tool adottava BIOS Award | | di ultima generazione e schede di rete Realtek 8139-series PCI NIC, | | l'indirizzo IP del sistema destinatario era 192.168.1.36: | | | | $ ./wakeonlan -i 192.168.1.36 00:01:02:03:04:05 | | Sending magic packet to 192.168.1.36:9 with 00:01:02:03:04:05 | | | | l'indirizzo MAC e' stato volutamente modificato con uno di fantasia. | | | | 1.4 Trucchi e suggerimenti | | Per permettere l'avvio di tutti gli host facenti parte della rete locale | | interessata si utilizzi l'indirizzo di broadcast della rete, esso varia | | a seconda della classe di riferimento, per l'indirizzo di rete riservato | | utilizzato in precedenza (192.168.0.0) l'indirizzo di broadcast | | corrisponde a 192.168.255.255 | | | | E' possibile instradare un pacchetto verso un host che si trova su una | | rete remota riferendosi all'indirizzo di broadcast della rete stessa, in | | molti casi questo e' impedito dalla maggior parte dei router che non | | instradano il traffico diretto all'indirizzo di broadcast. | | In alternativa possiamo inviare tale pacchetto ad uno degli host attivi | | sulla rete remota, causeremo l'accensione del sistema presente sul | | medesimo segmento di rete il cui indirizzo MAC si trova all'interno del | | nostro frame di wakeup. | | | | 2. Invalidazione della CMOS | | Uno dei metodi piu' comuni consiste nel garantirsi in qualche maniera | | l'accesso al BIOS al fine di manipolare la sequenza di boot del sistema, | | molto spesso tale operazione viene impedita da una password. | | | | 2.1 Metodi hardware | | Tale password e' conservata nella memoria CMOS della scheda madre, una | | batteria permette la permanenza di tali dati nella memoria anche in | | seguito allo spegnimento del sistema, uno dei metodi piu' vecchi | | consiste nella rimozione della batteria della CMOS al fine di causare il | | ripristino dei valori di fabbrica della stessa. | | A mio parere tale metodo risulta quanto meno di difficile attuazione in | | quanto necessita la rimozione del case il che rappresenta nella maggior | | parte dei casi un buon deterrente. | | | | 2.2 Metodi software | | Il seguente esempio e' tratto da un testo scritto da Elf Qrin | | (http://www.ElfQrin.com), questa tecnica permette l'invalidazione | | software del segmento di memoria della CMOS interessato, nel nostro caso | | dell'area intesa alla memorizzazione della password del BIOS. | | A tale scopo ci viene in aiuto il tool Debug di MS-DOS, una volta | | avviato ci serviremo dell'opzione "O" per invalidare l'area di memoria, | | tale procedura varia a seconda della versione del BIOS in vostro | | possesso. Qui di seguito riporto alcuni esempi: | | | | | | ---------------------------------------------------------- | | | BIOS Award | BIOS Phoenix | BIOS generico | | | |------------------|------------------|------------------| | | | C:\>debug | C:\>debug | C:\>debug | | | | -O 70 17 | -O 70 FF | -O 70 2E | | | | -O 71 17 | -O 71 17 | -O 71 FF | | | | -Q | -Q | -Q | | | | | | | | | | | E' consigliabile effettuare tale operazione da MS-DOS puro, sempre che | | le impostazioni permettano il reboot del sistema. | | | | 2.3 Sequenza di boot | | Una volta aggirata tale protezione sara' possibile accedere alle | | impostazione del BIOS e settare una differente sequenza di boot al fine | | di bootare il sistema da un supporto differente (quale il floppy) e | | accedere al filesystem del sistema senza dover sottostare alle | | limitazioni imposte dai permessi. | | Nel caso in cui il sistema in questione sia NT bastera' utilizzare un | | disco di ripristino per bootare in ambiente MS-DOS, a questo punto e' | | necessario utilizzare il driver NTFSDOS per accedere alle partizioni | | NTFS(1) da MS-DOS e prelevare qualsiasi file compreso il SAM(2). | | | | (1)NTFS: e' il filesystem proprietario dei sistemi NT | | (2)SAM: il database che contiene gli hash delle password di un sistema | | NT, e' equivalente al file /etc/passwd (o /etc/shadow) in | | ambiente Unix | | | | 3. LILO | | Un'ulteriore sicurezza ci viene fornita da alcune opzioni che riguardano | | il boot loader, queste impediscono il boot del sistema o eventualmente | | richiedono l'inserimento della password per avviare l'immagine nel qual | | caso si specifichino delle opzioni al prompt del programma LILO. | | | | 3.1 Modalita' singola | | E' possibile infatti, avendo accesso fisico al sistema, fare uso di | | opzioni quali "single" per avviare il sistema in modalita' singolo | | utente ed ottenere la shell di root senza bisogno di dover specificare | | password alcuna. | | Ecco un esempio di quanto ho appena descritto: | | | | LILO boot: [tab] | | linux | | boot: linux single | | Loading linux.... | | | | Dove linux e' il nome dell'immagine che si desidera avviare. | | Per ovviare a tale problema sono state introdotte alcune opzioni che ci | | vengono in aiuto e ci permettono di proteggerci da questo genere di | | problemi. | | | | 3.2 Opzione password | | Possiamo utilizzare tale opzione all'intero del file lilo.conf al fine | | di impedire l'avvio dell'immagine a chi non sia in possesso della | | password; basta aggiungere al file lilo.conf quanto segue: | | | | password= | | | | Dove e' una password scelta da voi. | | Ricordate a questo punto di avviare /sbin/lilo per fare in modo che le | | modifiche abbiano effetto. | | | | NOTA BENE: sarebbe una cosa alquanto stupida dare permessi in lettura al | | file lilo.conf ad utenti che non siano root in quanto la password in | | questione e' conservata senza alcuna criptazione :D Ecco come appare il | | prompt del LILO in seguito alle modifiche apportate: | | | | LILO boot: | | Password: | | | | 3.3 Opzione restricted | | Questa opzione va utilizzata insieme all'opzione password e richiede | | l'inserimento di una password nel caso in cui vengano specificate delle | | opzioni al prompt di LILO, evitando in tal modo spiacevoli sorprese | | dovute all'uso di opzioni quali "single" come descritto precedentemente | | nel corso | | dell'articolo. | | Si aggiunga al file lilo.conf le righe seguenti: | | | | password= | | restricted | | | | Dove e' una password scelta da voi. | | Ancora una volta, prestate attenzione ai permessi del file lilo.conf, | | date accesso in lettura solo e soltanto a root! | | Infine avviare /sbin/lilo per fare in modo che le modifiche abbiano | | effetto. | | | | 4. Blocco della console | | Molto utile nel caso in cui l'utente manifesti il bisogno di abbandonare | | momentaneamente la postazione di lavoro senza necessariamente fare | | logout dal sistema. | | | | 4.1 Windows screen saver | | Molti di voi avranno presente la password dello screen saver di Windows, | | non fidatevi di tale applicazione (non fidatevi di Windows in generale | | :)), e' possibile aggirare tale protezione semplicemente sfruttando | | l'autorun nel caso in cui "Notifica inserimento automatico" sia attivo | | su almeno uno dei lettoti CD-ROM del sistema (impostazione attiva per | | default). | | | | *Vi rimando a un mio precedente articolo comparso su OQ02 - Autorun.inf* | | | | [...]Dobbiamo come prima cosa procurarci un programma in grado di | | decifrare la password dello screensaver e disattivarlo automaticamente | | ad esempio SS-Unlock (http://www.ips-corp.com) oppure SSBypass | | reperibile al sito http://www.amecisco.com/ssbypass.htm. | | A questo punto siamo pronti per masterizzare il nostro cd-rom che | | conterra' nella directory radice il nostro programma e il file | | autorun.inf alla cui voce "open=" sara' specificato il file da eseguire, | | inseriamo il nostro cd-rom nel lettore del pc che desideriamo bypassare | | e come per magia il programma presente sul cd-rom verra' eseguito | | nonostante la presenza dello screensaver e disattivera' lo stesso | | (questo funziona per qualsiasi sistema Windows9x, almeno che non sia | | stata disattivata la voce relativa alla notifica inserimento | | automatico). | | | | 4.2 Linux xlock | | Si comporta analogamente alla password dello screen saver di Windows, | | blocca momentaneamente l'account in modo da impedire ad un | | malintenzionato di usufruire delle credenziale dell'utente. | | Vi sono alcuni problemi legati all'uso di tale programma, in | | particolare: | | | | - vulnerabilita' legate a buffer overflow locali; | | - di default e' setuid root; | | - puo' essere facilmente bypassato nel caso in cui non sia setuid root | | a causa di un comportamento anomalo del programma stesso. | | | | Nel caso in cui xlock non abbia accesso al database shadowato delle | | password, infatti, la sola pressione del tasto enter durante | | l'esecuzione di xlock causera' l'immissione, da parte dello stesso, di | | una stringa vuota all'interno di ~/.xlockrc che sara' considerata | | password valida per lo sblocco di X. | | Per diminuire i rischi dovuti all'uso di xlock e' bene prendere alcuni | | accorgimenti, ovvero creare un gruppo xlock e dare i permessi di accesso | | necessari al file /etc/shadow a tale gruppo, impostare il programma | | setgid xlock che non e' altro che il nome del gruppo che abbiamo appena | | creato, infine togliere il setuid root. | | In questo modo circoscriviamo i problemi legati ad eventuali exploits | | locali e evitiamo che xlock sia facilmente bypassabile. | | | | 5. Risorse | | Security-HOWTO | | Wakeonlan-0.40 README | | How To Bypass BIOS Passwords by Elf Qrin (http://www.ElfQrin.com) | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [HACKiNG] #05 - 14/01/2002 | | PR0TEGGiAM0 iL N0STR0 SERVER [-=Quequero=-] 0x08/0x23 | +--------------------------------------------------------------------------+ | | | Cerchiamo di rendere piu' sicuro il nostro server | | | | Sono pessimista? No, pero' sappiamo tutti che l'unico computer sicuro | | e' quello spento e con la spina staccata, quindi.... | | Il sistema sicuro non esiste, pero' esiste spesso un falso senso di | | sicurezza che e' piu' dannoso di un sistema vulnerabile :) | | Dopo queste perle di saggezza possiamo introdurre qualche buona tecnica | | per aumentare il grado di sicurezza del nostro caro server :)))) | | La prima scelta e' sicuramente il sistema operativo, scarterei | | sicuramente windows in favore di un piu' stabile *BSD o di un piu' | | versatile e comodo Linux, ma tutto e' dettato dalla priorita': se avete | | bisogno di un server che sia stabile come il granito e che non si puo' | | permettere di crashare dopo 2 mesi di uptime, beh, a quel punto OpenBSD | | e FreeBSD (opportunamente patchati per evitare di essere rootati da | | remoto tramite telnet :) faranno egregiamente il loro bel lavoro, se | | invece potete permettervi un eventuale crash ogni due mesi, a quel | | punto possiamo mirare su una comoda linux box. | | Per quella poca esperienza che posso vantare, sceglierei una Slackware | | o una Debian, se il vostro pc deve essere un server allora | | probabilmente non avra' un grande workload e quindi tutti i dieci cd | | bonus della RedHat sarebbero solo superflui, inoltre ricordate che piu' | | e' il software installato sul pc, meno e' la sicurezza. | | La prima cosa da fare e' installare una qualche distribuzione con il | | minor numero di programmi possibile, quindi evitate tutte quelle cose | | che possono sembrare carine ma che di fatto non usereste mai :), | | evitate di installare sendmail e mettete su un bel postfix, per il | | resto possiamo lasciare tutto cosi', poi upgraderemo in seguito. | | Una volta messa su la nostra bella distribuzione dobbiamo fare due cose | | fondamentali: aggiornare il kernel ad una versione stabile (ora siamo | | alla 2.5.1 si presume quindi che il 2.4.x sia in fase di | | stabilizzazione ma anche il 2.2.x e' davvero ottimo) e patcharlo con | | qualcosa per aumentarne la sicurezza...Ma cosa? Ho trovato davvero | | strabilianti la patch della grsecurity (grsecurity.net). Questo gruppo | | ha riunito in un comodo file il lavoro svolto dai ragazzi della PaX e | | quello svolto dai programmatori della OpenWall, l'autore ha anche | | inserito ulteriori migliorie e dopo aver patchato il nostro kernel | | avremo queste features in piu': | | - Lo stack non sara' piu' eseguibile rendendo pertanto estremamente | | difficili da portare a termine tutti i tentativi di Buffer Overflow (o | | cmq andrebbero modificati gli exploit cosa che la maggior parte delle | | persone non sa fare, oltretutto in condizioni _delicate_ non e' proprio | | possibile modificare l'exploit senza minarne il corretto funzionamento) | | - Non sara' possibile inserire codice esterno nella memoria in cui sta | | girando un processo (il free exploit ad esempio) pertanto i propri | | privilegi non potranno esser elevati tramite questa tecnica :) | | - Insieme allo stack non eseguibile avremo anche il supporto per il | | trampoline code e questo ci dara' un'ulteriore difesa | | - La base degli indirizzi che alloca mmap sara' completamente random | | quindi il sistema sara' ulteriormente difficile da exploitare anche | | tramite address-guessing | | - Si ha una comoda protezione verso le temp race conditions (youhuu :P) | | - I PID sono randomizzati :) | | - Tante restrizioni sull'accesso alle directory | | - La macchina non risponde agli ICMP e gli OS Guessing sono | | letteralmente impossibili... | | ....Tanto altro, ma vi rimando al readme di questa splendida patch | | perche' l'autore armato di buona voglia ha fatto anche tanti piccoli | | esempi sicuramente utilissimi. | | Una volta patchato il kernel siamo discretamente piu' sicuri...Ci resta | | da prendere ancora qualche piccolo accorgimento. | | Tanto per cominciare eliminiamo fisicamente telnet e telnetd dal | | sistema, leviamo sendmail se l'avete messo :) togliamo tutti i bit suid | | se non utilizziamo determinati programmi (ad esempio, lpd suid e' | | inutile se non si usa lpd). | | Mettiamo su la release piu' recente di OpenSSH/OpenSSL (mai utilizzare | | versioni vecchie visto che sono quasi tutte vulnerabili anche se gli | | exploit non sono released), installiamo un buon demone ftp (sempre se | | ci serve), io opterei per un ProFTPd anche se le obiezioni potrebbero | | essere tante. Tuteliamoci levando l'accesso anonymous a meno che non | | vogliate metter su un server warez :) o un qualche mirror. | | Disabilitiamo l'accesso remoto da root su tutte le console ad eccezione | | della stty (se invece non avete bisogno di loggarvi come root da remoto | | allora blindatele tutte) aprite /etc/login.defs (per le Slackware): | | | | # If defined, either full pathname of a file containing device names or | | # a ":" delimited list of device names. Root logins will be | | allowed only | | # upon these devices. | | # | | # Inserite questa linea per consentire l'accesso root sulla stty | | o commentatelo | | # per disabilitarla | | CONSOLE /etc/securetty | | #CONSOLE console:tty01:tty02:tty03:tty04 | | | | Sempre smanettando su questo file, fate in modo che non venga mostrata | | la versione del kernel al login, non e' molto, ma e' qualcosa :) | | | | Fatto questo passiamo alla configurazione del firewall, per kernel 2.4 | | e superiori avremo iptables, una configurazione di base potrebbe | | essere questa: | | | | iptables -A INPUT -i eth0 -p tcp -m state --state INVALID -j DROP | | iptables -A INPUT -i eth0 -p udp -m state --state INVALID -j DROP | | iptables -A INPUT -i eth0 -p tcp --syn -m limit 1/second -j ACCEPT | | | | Le prime due rules sono chiare, la terza invece serve per evitare i | | synflood, ovvio che se dovete gestire 100.000 connessioni al giorno su | | un grosso server allora non potete inserire l'ultima rule. | | Se il vostro server non deve accettare connessioni dall'esterno potete | | chiudere tutte le porte, se invece i vostri utenti sono limitati potete | | configurare iptables per accettare solo determinate mask, al contrario, | | se i vostri utenti sono molti, non potete far altro che limitare le | | mask che NON vi piacciono :P, usare i programmi reputati _sicuri_, | | utilizzare meno servizi possibili e limitare pesantemente i permessi di | | accesso (la patch di grsecurity permette tra le tante cose, anche di | | settare una ACL che e' comodissima dal momento che potete decidere | | anche quanta memoria puo' utilizzare per i propri processi un singolo | | utente, cosi da evitare fork bomb). | | Blindate ovviamente la porta delle RPC (111 per chi non lo sapesse) e | | commentate tutto cio' che non vi serve in /etc/inetd.conf (ftp ed altre | | cose e' meglio che le fate partire come standalone). | | Un'ottima idea e' quella di metter su snort (www.snort.org) e | | configurarlo in modo da sniffare tutte le stringhe _caratteristiche_ | | degli exploit (lo shellcode ad esempio). | | Mentre verso l'interno della LAN io metterei uno sniffer tipo ettercap | | (ciao ALoR :)) che ci consente rapidamente di vedere tutto cio' che | | puo' essere anomalo. | | Se avete fatto tutto come descritto, ora dovreste avere uno sistema | | cosi configurato: | | Kernel Patchato, servizi opportunamente filtrati, sniffer verso la rete | | internet e verso l'interno, possibilita' limitata di login root su | | console....Vi pare abbastanza? | | Io dico di no, possiamo fare di meglio, innanzitutto dobbiamo loggare | | tutto quello che avviene sul nostro sistema, opterei per un clone del | | syslog come ad esempio syslog-ng che mi e' sembrato davvero buono, se | | proprio siete paranoici fate come me, mi sono fatto uno scriptino che | | ogni due tre ore mi critta i log cosi' li leggo e li modifico solo | | io :) | | Loggate pesantemente l'attivita' su tutti i servizi piu' usati (come | | ftp) magari utilizzando anche semplicemente iptables in questo modo: | | | | iptables -A INPUT -p tcp -s ! 10.0.0.0/24 --dport 21 -j LOG | | --log-prefix "FTP TCP Access Attempt!" | | | | Dove 10.0.0.0/24 e' la nostra lan, questa rule logga tutti gli accessi | | su ftp, guardate un esempio sulla mia macchina: | | | | Dec 26 11:48:21 xxxxx kernel: FTP TCP Access Attempt! IN=ppp0 OUT= MAC= | | SRC=203.78.94.131 DST=xx.xxx.xx.xxx LEN=40 TOS=0x00 PREC=0x00 TTL=51 | | ID=9927 PROTO=TCP SPT=49853 DPT=21 WINDOW=4096 RES=0x00 SYN URGP=0 | | | | Nel caso invece si logghi una macchina della LAN, si ottiene qualcosa | | come: | | | | Dec 26 21:34:09 xxxxx kernel: FTP Connection AttemptIN=eth0 OUT= | | MAC=00:e0:3c:56:32:27:00:e0:3c:89:14:6b:05:00 SRC=10.0.0.9 DST=10.0.0.1 | | LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=31415 DF PROTO=TCP SPT=1401 DPT=21 | | WINDOW=16484 RES=0x00 SYN URGP=0 | | | | Questo ci da una panoramica globale su quello che avviene dentro e | | fuori la rete, ora possiamo gia stare poco piu' tranquilli :). | | Se proprio vi va, potete fare una cosa utilissima, i BSD ogni tot ore | | mandano al root una mail con il report di tutti i file suid del | | sistema, l'ideale sarebbe farsi un semplicissimo scriptino che ogni | | 12-24 ore vi manda un report di tutti questi spostamenti su una casella | | esterna (tipo yahoo o hotmail). | | Un esempio potrebbe essere questo, fatto sul momento: | | | | ------------------8<---CUT HERE-----8<--------------------------- | | #!/bin/sh | | find / -type f \( -perm -04000 -o -perm -02000 \) -ls > /tmp/suid | | md5sum /tmp/suid >> /tmp/suid | | cat /tmp/suid | mail root | | ------------------8<---CUT HERE-----8<--------------------------- | | | | Mettetelo nel cron ogni 12 ore e via.... :) | | | | E' stato fatto tutto il possibile per rendere sicuro il nostro | | bel server? | | Naaaa non credo proprio, in realta' si potrebbe fare qualcosa di | | seriamente bello, ovvero rendere il nostro server un MAC (Mandatory | | Access Control), e' un tipo di organizzazione utilizzato sui sistemi | | militari, e' una soluzione un po' laboriosa ma e' davvero strastupenda, | | credo che ne scrivero' presto un tutorial, quindi, antenne dritte | | ragazzi :PPP | | | | Saludosssss | | | | -=Quequero=- | | SpP/Member http://www.spippolatori.org | | UIC Founder http://quequero.cjb.net | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ [NETW0RKiNG] #05 - 14/01/2002 | | iNTR0DUZi0NE ALL'iP MASQUERADiNG [Master Kain] 0x09/0x23 | +--------------------------------------------------------------------------+ | | | Salve a tutti, | | mi presento, il mio nome e' Kain, fondatore del kuht, crew che esiste | | dal 'lontano' 1999, la quale e' sempre rimasta anonima, per motivi che | | ora non mi dilungo a spiegare. | | Visto che mi sono licenziato da lavoro il 31, giorno di halloween, e ora | | non ho nulla da fare se non aspettare di andare a lavorare nella grande | | citta' che risponde al nome di Milano, mi sarebbe piaciuto 'raccontare' | | un interessante esperimento, chiamato IP Masquerading. | | | | Molti di voi sapranno gia' di cosa si tratta, detto in parola | | poverissime, si tratta di usare una linux box come router. | | Non sapete cosa sia un router? Beh.. diciamo che e' un 'apparecchietto' | | che messo su una lan, e' dotato di proprio indirizzo IP e viene usato | | come gateway, altamente configurabile (letteralmente 'cancello') per far | | si' che le macchine che fanno parte della nostra lan, navighino | | anch'esse su internet. | | Quando questo avviene potremmo dire che le nostre macchine escono quindi | | 'mascherate' (visto che avranno lo stesso indirizzo IP del nostro | | router, ovviamente). | | Scenderemo in dettaglio sui termini specifici e sulle tecniche piu' | | tardi. | | | | L'IP Masquerading e' ottenuto attraverso le funzionalita' di firewall a | | filtro di pacchetto (PACKET_FILTERING) dei moderni kernel linux. | | In questo mini how-to spieghero' infatti come abilitare l'IP | | Masquerading sotto kernel recenti, vale a dire la serie 2.4.x, mentre se | | avro' tempo e voglia potro' espanderlo anche con i 2.2.x (molta gente | | preferisce la serie 2.2.x alla 2.4.x, ma se usate una moderna | | distribuzione di linux, sicuramente avrete il 2.4.x). | | | | # Ip Masquerading in breve ed esempio teorico | | | | Nei kernel recenti, linux utilizza il programma NETFILTER, attraverso | | una interfaccia chiamata IPTABLES (gia' sentita eh ;) per eseguire il | | packet filtering, la traduzione degli indirizzi di rete (NA , network | | address translation), il masquerading e il port forwarding, molto | | importante. | | | | A chi serve IP Masquerading? | | Beh.. diciamo che serve a gente come me :), poniamo il caso di avere DUE | | computer e una connessione PPP o SLIP di qualsiasi tipo, come modem, | | ADSL, o quanto altro. | | Solo uno di essi puo' essere collegato alla rete, giusto? Bene, facciamo | | una cosa. | | | | > occorrente: 2 schede ethernet (3 per modem adsl o quanto altro), linux | | box che fungera' da server, un client (faremo l'esempio di winzoz), | | connessione internet. | | | | Molto bene, supponiamo che la linux box sia collegata in rete con il | | client windows e possa navigare su internet. | | Noi vogliamo che anche il nostro windows 98, riesca a navigare, | | sfruttando la banda che usa linux, di conseguenza, dovremo attivare una | | sorta di 'condivisione' della connessione internet di linux. | | Questo e' l'esempio della piu' comune LAN casalinga, pero' come potete | | vedere l'IP Masquerading e' MOLTO utile se non si vogliono spendere | | soldi e tempo per fare navigare i nostri client. | | | | Questo esempio non e' che l'UNITA' minima di quello che possiamo fare | | con IP Masquerading, infatti il progetto spazia dalla piu' piccola e | | insignificante LAN (come da esempio sopra) a quella piu' grosse | | professionale che possiamo costruire. | | Vedremo in seguito come fare, se siete arrivati fino qui sono certo che | | la cosa vi interessa ;) (perche' non riprendere in mano quel vecchio 486 | | che sta in cantina........) | | | | Un server di questo tipo solitamente potrebbe venire tenuto come un vero | | e proprio rottame, senza mouse, senza monitor, basta che sia acceso e | | che faccia il proprio dovere (e spesso non e' nemmeno un macchina | | potente, anzi), cosi' possiamo considerare la macchina che andremo a | | configurare e costruire. | | | | # Ip Masquerading a basso livello e altro (NAT, SNAT, DNAT) | | | | Alcuni di voi non avranno familiarita' con il concetto di NAT. | | Vi posso dire che esso vi consente di riscrivere le intestazioni dei | | pacchetti quando essi passano attraverso il firewall. | | Queste intestazioni possono essere riscritte quando lasciano il firewall | | (post-routing) e causano la modifica dell'indirizzo sorgente del sistema | | che ha iniziato la connessione con l'indirizzo esterno del firewall. | | Di conseguenza il server su internet vede una connessione come originata | | dal firewall o dal sistema NAT. | | Detto in termini semplici, le macchine della nostra rete, escono su | | internet tutte con lo stesso IP. | | indirizzo IP. | | Poiche' l'indirizzo sorgente viene cambiato, netfilter chiama questa | | traduzione Source NAT (SNAT); potete usare SNAT per proteggere una rete | | con indirizzo IP pubblici. | | L'IP Masquerading e' una forma specializzata di SNAT, ed e' comunemente | | usata per consentire a una rete con indirizzi IP privati (quindi | | indirizzi ip NON accessibili da internet) di essere in grado di accedere | | a internet, come spiegato sopra nel nostro esempio. | | Solitamente l'IP Masquerading e' riservato per gli account telefonici | | con indirizzi IP dinamici. | | Se non conoscete l'indirizzo IP che vi viene assegnato nel momento che | | vi collegate con il vostro ISP (o provider) di fiducia, questa e' | | probabilmente la vostra situazione e dovrete utilizzare IP Mas uerading | | invece di SNAT. | | | | Un altro tipo di traduzione degli indirizzi (packet mangling, andra' | | abilitato nel kernel successivamente ;) che netfilter consente, e' | | chiamato Destination NAT (DNAT). | | Questa forma di mangling degli indirizzi e' eseguita PRIMA dal routing | | ed e' usata per ottenere una connessione iniziale al sistema NAT che | | viene poi rediretta ad un sistema interno. | | Generalmente e' chiamato PORT-FORWARDING (forward = portare | | avanti,inoltrare, in questo caso), visto che il forwarding generalmente | | si basa sulla porta di connessione iniziale. | | Questo allora vi consentira' di avere sistemi SEPARATI sulla vostra rete | | trusted (in fiducia) per la gestione di servizi, i soliti HTTP, DNS, | | MAIL, FTP e via dicendo, ma che pero' appaiono al mondo come se avessero | | origine dallo stesso sistema NAT. | | Questa forma di mangling richiede che abbiate un indirizzo IP | | accessibile da internet, se dovete usare l'IP Masquerading, non sarete | | in grado di usare DNAT. | | | | > due reti, due mondi | | | | il software dei firewall a packet filtering e' usato per NASCONDERE una | | rete pubblica interna e per consentire l'ingresso solo al traffico | | determinato. | | | | ------------- | | | 62.211.17.2 |--| | | ------------- /---\ /-----------------------------\ | | | 62.211.17.1 |-|HUB|-| SERVER/GATEWAY (62.211.17.1)|-{ISP}-[INTERNET] | | ------------- \---/ \-----------------------------/| | | | 62.211.17.3 |--| | | | ------------- | | | tutte le macchine devono usare | | un indirizzo IP valido per navigare | | | | | | lo schema di rete che non segue queste regole, sono le reti domestiche, | | come nel nostro caso e delle piccole reti aziendali, le quali non | | hanno miriadi di indirizzi ip accessibili da internet, ma ne hanno uno | | solo, che gli viene assegnato all'isp tramite un collegamento | | telefonico. | | | | ------------- | | | 192.168.0.2 |--| | | ------------- /----\ /----------------\ | | | 192.168.0.3 |-|HUB|--| SERVER/GATEWAY |-{ISP}-[INTERNET] | | ------------- \----/ \----------------/| | | | 192.168.0.4 |--| | -----------| | | ------------- | | | | ip assegnato dal provider ad le macchine usano ip fittizi | | esempio 62.211.17.128, e fa per accedere a internet | | uscire le macchine della lan | | con questo indirizzo ip | | | | Quindi, ricapitolando, l'IP Masquerading offre a tutte le macchine | | connesse alla nostra LAN, l'accesso ad una rete esterna, usando un solo | | indirizzo IP sulla nostra macchina server :) | | Tutti i pacchetti di rete associati a internet sono mascherati come se | | fossero inviati dal server che esegue il masquerading ed il server | | mantiene tutte le informazioni necessarie per INSTRADARE alle | | macchine interne i pacchetti che vengono restituiti dalla rete. | | | | Qualcuno potrebbe pensare che ogni connessione e' sia SNAT che DNAT, in | | funzione della direzione nella quale i pacchetti stanno andando. | | Rispondo che e' il pacchetto iniziale della connessione, cioe' il | | pacchetto di sincronizzazione (vale a dire pacchetto con impostato solo | | il bit di SYN), che determina il tipo di connessione, dopodiche' | | il tracking delle connessioni consente che i pacchetti di ritorno | | arrivino al sistema che ha originato la connessione. | | | | # IP Masquerading in pratica, applicazione per i kernel 2.4.x | | | | Assicuratevi di avere le sorgenti del vostro kernel preferito, ed | | entrate nella directory, sperando che sappiate quello che state facendo | | (questo documento NON vuole spiegare come si compilano il ke | | nel, esistono ottimi HOWTO). | | Solitamente sono in /usr/src/linux, entrate ed eseguite un: | | | | per attivare IP Masquerading avrete bisogno di: | | > un computer (beh..) | | > linux (ovviamente..) | | > sorgenti del kernel (http://www.kernel.org) ed un LKM | | (http://www.pi.se/blox/modutils/index.html) | | > una configurazione TCP/IP funzionante (affronteremo il discorso | | nel nostro esperimento fisico) | | > connettivita' a internet | | > iptables (2.4.x) / ipchains (2.2.x) / ipfwadm (2.0.x) | | > supporto del kernel per IP forwarding, IP masquerading, IP | | Firewalling, eccetera | | | | alcune distribuzioni sono PRONTE per fare ip-masquerading, ma altre no, | | quindi e' bene dare una occhiata prima di attuare qualsiasi | | procedimento. | | | | eseguite questo comando: | | | | # ls /proc/sys/net/ipv4 | | | | se compaiono anche | | | | ip_dynaddr | | ip_forward | | | | allora non avrete bisogno di ricompilare il kernel, visto che sara' gia' | | pronto per ip masquerading e potrete saltare oltre questo capitolo. | | | | Se invece non appare nulla del genere, allora dovrete seguire questi | | passi. | | | | | | ### Compilazione e installazione del kernel NON Ip Masquerading ready | | | | Prima di tutto, avete bisogno dei sorgenti del kernel (spero li abbiate | | gia' e che abbiate anche il supporto per IPTABLES, come in tutti i | | kernel recenti) | | | | Prossimo passo, avete bisogno di IPTABLES per applicare le patch sul | | kernel, per esempio l'archivio IPTABLES abilita il mascheramento per il | | traffico FTP (anche IRC, in qualche kernel tree). | | http://netfilter.filewatcher.org/ | | | | Non e' consigliato mettere le nuove sorgenti del kernel in | | /usr/sr/linux, lascia questa cartella (contiene i sorgenti originali del | | kernel della tua distribuzione di linux) cosi' com'e', creeremo un'altra | | cartella per compilare. | | | | Crea una cartella chiamata /usr/src/kernel, entra in questa directory e | | scarica le sorgenti del kernel qua dentro. | | Una volta scaricato, se il file e' un tar.gz | | # tar xvzf linux-2.4.x.tar.gz | | o se finisce per bz2 | | # tar xyvf linux-2.4.x.tar.bz2 | | | | sostituisci la x nel file del kernel con la versione che hai scaricato. | | Alcune distribuzioni di linux usano il flag 'I' invece del 'y' per | | scompattare gli archivi bzip2. | | | | Una volta decompresso, rinomina la directory da linux a linux-2.4.x per | | chiarezza, per farlo: | | # mv linux linux-2.4.x | | assicurati poi che c'e' una cartella o un link simbolico che punta a | | /usr/src/kernel/linux, vale a dire: | | # ln -s /usr/src/kernel/linux-2.4.x /usr/src/kernel/linux | | | | E' raccomando installare ogni appropriata o patch opzionale alle | | sorgenti del kernel PRIMA di compilarlo. | | Ad esempio installare le patch puo' servire ad abilitare particolari | | moduli che supportano applicazioni come IRC, FTP e quando altro. | | | | > applicare i patch IPTABLES al kernel | | | | scarica i pacchetti iptables dall'url che vi ho proposto sopra e | | piazzatelo in una directory, chiamata | | /usr/src/archive/netfilter. | | Andate in questa directory e decomprimete l'archivio iptables con il | | comando: | | | | # tar xyvf iptables-1.2.x.tar.bz2 | | | | ora andate nella nuova directory iptables-1.2.x ed eseguite | | | | # make pending-patches KERNEL_DIR=/usr/src/kernel/linux | | nota: questo fa si' che le sorgenti del kernel 2.4.x sono in | | /usr/src/kernel/linux nota #2: se inserisci un '/' alla fine della riga | | di comando, ti ritornera' un errore dicendo: | | | | # make: *** [/usr/src/kernel/linux/include/asm/socket.h] Error 1". | | | | Rimuovi la '/' e riprova. | | | | Ecco un esempio del prompt che potresti ricevere per il kernel 2.4.4 | | (nota che questo potrebbe cambiare con il tempo). | | | | | | Making dependencies: please wait... | | ----------------------------------------------------------------- | | Welcome to Rusty's Patch-o-matic! | | | | Each patch is a new feature: many have minimal impact, some do not. | | Almost every one has bugs, so I don't recommend applying them all! | | ------------------------------------------------------- | | Already applied: 2.4.1 tos-fix tcp-MSS | | | | Testing... 2.4.4.patch ALREADY APPLIED (4 rejects out of 96 hunks). | | | | Excellent! Kernel is now ready for compilation. | | ----------------------------------------------------------------- | | | | Giusto per essere completi, questo e' il prompt che potresti ricevere | | per il kernel 2.4.3 | | | | | | | | Making dependencies: please wait... | | ----------------------------------------------------------------- | | Testing... 2.4.1.patch ALREADY APPLIED (0 rejects out of 6 hunks). | | ----------------------------------------------------------------- | | Testing... tos-fix.patch ALREADY APPLIED (0 rejects out of 1 hunks). | | ----------------------------------------------------------------- | | Testing... tcp-MSS.patch ALREADY APPLIED (0 rejects out of 4 hunks). | | ----------------------------------------------------------------- | | Testing... 2.4.4.patch NOT APPLIED ( 2 missing files) | | The 2.4.4 patch: | | Author: Rusty Russell and others. | | Status: Recommended (Already in 2.4.4 and above). | | | | This contains numerous fixes: | | | | 1) FTP cleanup: | | o Fixes for bugtraq-announced FTP security problems. | | o Understanding of EPSV and EPRT FTP extensions. | | o Servers with unusual PASV responses are supported. | | o FTP connection tracking and NAT on unusual ports. | | o Core "helper" code moved to ip_nat_helper.c. | | 2) NAT now doesn't drop untracked packets (eg. multicast, nmap, etc). | | 3) SMP race with connection tracking is fixed. | | 4) NAT now spreads more evenly, if given a range of IP addresses. | | 5) Masquerading now cooperates with diald better. | | 6) DNAT and SNAT rules can only be inserted in the "nat" table. | | 7) mtr through a connection tracking box will no longer drop 90% of | | packets. | | 8) Reloading the iptable_nat module won't get old, stale NAT | | information. | | 9) First packet of a connection is seen by the helper functions. | | 10) "hashsize" parameter to ip_conntrack module. | | | | Do you want to apply this patch [N/y/t/f/q/?] y | | | | Testing patch 2.4.4.patch... | | Patch 2.4.4.patch applied cleanly. | | Applying patch 2.4.4.patch... | | Patch 2.4.4.patch applied cleanly. | | ----------------------------------------------------------------- | | | | Excellent! Kernel is now ready for compilation. | | | | | | Se tutto e' andato bene, dovresti vedere qualcosa come "Excellent!" | | Il kernel e' pronto per la compilazione. | | | | OK, il kernel e' pronto, ma dovresti essere sicuro che hai anche il | | programma iptables sulla tua macchina. | | Esegui: | | | | # whereis iptables | | | | e assicurati che e' installato (la cartella di default e' piazzata in | | /usr/local/sbin/iptables) | | | | Se non trova nulla, raccomando semplicemente di compilare. | | Siccome hai gia' patchato il kernel con il patch di IPTABLES, compilare | | IPTABLES dovrebbe essere semplice, segui questi passi: | | | | # make KERNEL_DIR=/usr/src/kernel/linux | | # make install KERNEL_DIR=/usr/src/kernel/linux | | | | | | ### Configurazione per i kernel Ip Masquerading ready | | | | andate nella directory che contiene la sorgente del kernel e fate un | | | | # make menuconfig | | | | o se preferite, e se siete in ambiente X: | | | | # make xconfig | | | | una volta che siete nel menu dovremo andare a verificare queste cosucce: | | | | [ Code maturity level options ] | | | | * Prompt for development and/or incomplete code/drivers | | (CONFIG_EXPERIMENTAL) [Y/n/?] | | - YES: non e' richiesto per ip masquerading, ma abilita il kernel | | per creare i moduli MASQ e abilitare l'opzione per il port | | forwarding | | | | * Enable loadable module support (CONFIG_MODULES) [Y/n/?] | | - YES: permette al kernel di abilitare i moduli IP MASQ | | | | * Set version information on all module symbols | | (CONFIG_MODVERSIONS) [Y/n/?] | | - YES: permette al kernel di caricare vecchi moduli se possibile | | | | * Kernel module loader (CONFIG_KMOD) [Y/n/?] | | - OPTIONAL: Raccomandato : permette al kernel di caricare vari | | moduli se e quando ne ha bisogno | | | | == Opzioni Non-MASQ saltate | | == (CPU , memoria, SMP, FPU, specific stuff) | | | | | | [ General setup ] | | | | * Networking support (CONFIG_NET) [Y/n/?] | | - YES: Abilita il sistema networking | | | | == Opzioni Non-MASQ saltate | | == (specific hardware, PCI, kernel binaries, PCMCIA, etc.) | | | | | | * Sysctl support (CONFIG_SYSCTL) [Y/n/?]