,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::::::, .::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::,. 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/?]