• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Creare un Keylogger Trojan in VB6

#Joker

Utente Esperto
Autore del topic
9 Aprile 2012
1.213
73
Miglior risposta
0
Ce ne sono molte di queste guide ma vi posto questa perchè a mio parere mi sembra utile...

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ì:
Perfavore, Entra oppure Registrati per vedere i Link!


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ì:
Perfavore, Entra oppure Registrati per vedere i Link!


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 crea un nuovo file di testo intitolato "logs" e con estensione "txt" nel quale stampa il contenuto del TextBox "txtLog".

Il Winsock sck



Questo si occuperà di accettare le richieste di connessione, ricevere i dati e stamparli nel TextBox "txtLog".

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".

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..).

FONTE:
Perfavore, Entra oppure Registrati per vedere i Link!
 
Ultima modifica:
Riferimento: Creare un Keylogger Trojan in VB6

Rejocker hai 24h per inserire il link esatto della fonte!

Sposto in Programmazione > VB.
 
Riferimento: Creare un Keylogger Trojan in VB6

ma i codici li devo salvare in che estensione sul notepad? .cmd .bat o .exe?
 
Riferimento: Creare un Keylogger Trojan in VB6

ma i codici li devo salvare in che estensione sul notepad? .cmd .bat o .exe?

Per compilare questo progettohai bisogno di Visual Basic, precisamente questa guida si riferisce alla versione 6, non ti basta un semplice notepad. :P