- 27 Marzo 2008
- 6.251
- 0
- Miglior risposta
- 0
CREARE UN KEYLOGGER TROJAN IN VB6
Prefazione
La creazione di un keylogger in Visual Basic 6 è molto semplice, bastano davvero poche righe di codice per poterne creare uno basico, ma comunque funzionante. Questa guida è mirata ad approfondire concetti teorici la quale applicazione può causare delle conseguenze che unicamente l'utente interessato dovrà affrontare. Né io né il forum si assume la responsabilità di uno scorretto utilizzo della guida fornita.
Cosa è un "Trojan" Keylogger?
La guida in questione mostra ed esplica la creazione di un "Trojan" Keylogger, ovvero un Keylogger formato di due eseguibili. Uno è il vero e proprio Keylogger, che andrà inviato alla vittima, questo viene chiamato gergalmente Client e si occupa di prendere i dati e inviarli. I dati inviati vengono ricevuti dal Server, che li gestisce, e questi non è altro che l'applicazione che ci permetterà di ricevere i dati e gestirli al meglio. Questo viene chiamato Trojan Keylogger in quanto strutturalmente uguale a un qualsiasi Trojan.
Guida alla creazione
Per comodità affronteremo la creazione del Keylogger dividendola in due sezioni fondamentali: CLIENT & SERVER.
Il Client
Il Client dovrà essere dotato di (nome nel progetto affiancato e in parentesi):
2 Timer (Timer1 & Timer2)
1 Winsock (SckSend)
1 Textbox (txtLog)
E si presenterà così:
Il Timer Timer1
Il primo Timer (Timer1) serverà per dare il tempo necessario per connettersi al server all'applicazione. Quindi settiamo un intervallo a piacimento (modificando la proprietà "Interval" del Timer1). Generalmente si scrive - in millisecondi - la metà del tempo che si vuole far trascorrere, in quanto l'esecuzione dell'applicazione è spesso soggetta a rallentamenti. Quindi se vogliamo far passare due secondi per permettere la connessione del Client al Server setteremo la proprietà Interval del Timer1 a 1000 ms. Al termine di questo countdown vogliamo che si attivi il Timer2, che contiene le istruzioni del Keylogger vero e proprio. Per fare ciò basta sfruttare la proprietà tipica dei Timer in Visual Basic 6 chiamata "Enabled" per attivare/disattivare un determinato timer. Quindi in questo caso scriveremo nell'evento Timer:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
In questo modo disattiveremo il Timer1 che ormai non ci serve più, avendo già adempito correttamente ai propri compiti, mentre attiveremo il Timer2.
Il Timer Timer2
Il Timer2, come abbiamo già detto, deve racchiudere in se tutte le istruzioni tipiche del Keylogger. Il suo Interval dovrà essere il minore possibile, in modo da captare ogni minima pulsazione della tastiera senza errori dovuti a eventuali ritardi. Settiamo la sua proprietà "Interval" a 1 ms. Queso è il codice che va inserito all'interno dell'evento Timer:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Questo codice si occupa di captare le pulsazioni della tastiera in maniera basilare, di riportare l'equivalente alfabetico della determinata pulsazione e stamparlo in una TextBox che ancora dobbiamo inserire nel nostro progetto, chiamata "txtLog". Successivamente il contenuto di questa TextBox verrà inviato al server dal Winsock "sck.Send"
Per far funzionare il codice abbiamo bisogno di dichiarare tra le dichiarazioni generali la funzione "GetAsyncKeyState" e la variabile di tipo Integer "result" tramite questo codice:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Il TextBox txtLog
Non abbiamo bisogno di inserire alcun codice per quanto riguarda gli eventi propri di questo componente, tuttavia per comodità ne modifichiamo alcune proprietà, quali "Multiline" da impostare su "True" e ovviamente il nome, che deve essere "txtLog".
Il Winsock sckSend
Questo componente è fondamentale per lo scambio dei dati tra Client e Server. Per utilizzarlo dobbiamo importarlo, per fare ciò basta premere "CTRL+T" e nella lista che appare spuntare la casella relativa a "Microsoft Winsock Control 6.0". In questo modo l'icona del componente verrà aggiunta alle altre, dunque la inseriamo nel progetto. Il Winsock nel Client deve adempiere a sole due funzioni:
- connettersi al server
- inviare i dati
L'invio dei dati avviene nel Timer1, ora manca solo la connessione. Per permettere al Winsock "sckSend" di connettersi dobbiamo settare le sue proprietà "RemoteHost"e "RemotePort". La proprietà RemoteHost andrà modificata a seconda dell'IP del server, mentre la proprietà RemotePort dovrà restituire un valore pari a quello della LocalPort del Winsock del Server che è in ascolto. Per attuare la connessione inseriamo questo codice nell'evento "Load", ovvero all'apertura, del Form1:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Adesso il nostro Client è completo!
Il Server
Il nostro Server sarà composto di:
1 Label (lblPort)
2 TextBox (txtPort & txtLog)
2 Command Buttons (cmdConnect & cmdSave)
1 Winsock (sck)
E si presenterà così:
Il Label lblPort
Utilizzeremo questo label modificandone, ovviamente oltre al nome, unicamente la proprietà "Caption" in "Port:" in modo da rendere l'interfaccia grafica più semplice ed esplicativa.
Il TextBox txtPort
Di questo TextBox modificheremo, ovviamente oltre al nome, unicamente la proprietà "Text" che andrà svuotata. Questo TextBox serve per la scrittura della porta del server, che dovrà essere uguale a quella impostata come RemotePort nel Client!
Il TextBox txtLog
Di questo TextBox modificheremo, oltre al nome, la proprietà "Multiline" che andrà impostata su "True" e la proprietà "ScrollBars" che andrà impostata su "2 - Vertical", in modo da permettere un'appropriata formattazione del testo. Questo sarà il TextBox che ospiterà i dati ricevuti dal Client.
Il Command Button cmdConnect
Questo Command Button dovrà permettere l'apertura del server, ovvero impostare il Winsock in ascolto su una determinata porta. Il codice da inserire relativamente all'evento "Click" di questo componente è:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Questo codice chiude la connessione del Winsock se già aperto, setta la porta locale e mette il Winsock in ascolto su quella porta. La porta viene attinta dalla proprietà "Text" del TextBox "txtPort"
Il Command Button cmdSave
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Questo codice crea un nuovo file di testo intitolato "logs" e con estensione "txt" nel quale stampa il contenuto del TextBox "txtLog".
Il Winsock sck
Nell'evento "ConnectionRequest" inseriremo il seguente codice:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Per accettare la richiesta di connessione.
Nell'evento "DataArrival" inseriremo il seguente codice:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Questo codice dichiara la variabile "data", le fa assumere il valore dei dati ricevuti e la stampa nel TextBox "txtLog".
Conclusione
Adesso non vi resta che sbizzarrirvi nel personalizzare il vostro Trojan Keylogger, arricchendolo di altre utili funzioni (vedi "esecuzione automatica", "invisibilità al task manager", "multi-connessione con winsock in array" etc..). Eccovi allegato un progetto già completo e modificabile!
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Perfavore,
Entra
oppure
Registrati
per vedere i Link!