• 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!

FireFox

Utente Mitico
Autore del topic
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ì:
2apwf9.png




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ì:
16bwo5z.png




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

Questo Command Button deve permettere il processo di salvataggio dei logs, ovvero del complesso delle pulsazioni ricevute dal Client. Il codice da inserire nell'evento "Click" è:

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



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!
 
  • Like
Reactions: 2 people
Grazie xd Ho perso più tempo a fare la guida che a terminare il progetto...
 
Ottimo ma come sai preferisco quelli multiconnessione,perciò è ovvio che ti darò come consiglio quello di aggiungere qualche altro codice :emoji_smiley:
Comunque bravo,come sempre.
 


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ì:
2apwf9.png




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ì:
16bwo5z.png




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

Questo Command Button deve permettere il processo di salvataggio dei logs, ovvero del complesso delle pulsazioni ricevute dal Client. Il codice da inserire nell'evento "Click" è:

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



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!

Hai confuso server con client.Il client è quello con cui invii comandi e il server quello che ti dà i dati e li riceve dal client.
 
Ottima guida Doppia_F >_>

Quando avrò più esprienza col VB.NET farò la stessa cosa tua, così ci sarà la possibilità di fare la stessa cosa in un altro linguaggio ( non che il VB.NET sia diverso dal VB6, ma la sintassi cambia abbastanza ). Aumento rep. :look:
 
Riferimento: [VB6]Creare un Trojan Keylogger

Uff... ho provato, correggendo anche alcuni errori, ma quando clicco qualche tasto della tastiera compare l'errore 40006 e mi segnala la stringa SckSend.SendData (txtLog.Text), perchè?

Spero rispondiate al più presto perchè ne ho molto bisogno.

P.S.:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Al posto delle "x" dovrei mettere l'IP del mio computer?
 
Riferimento: [VB6]Creare un Trojan Keylogger

Io non me ne intendo molto di questo linguaggio comunque, credo di si ;)
 
Riferimento: [VB6]Creare un Trojan Keylogger

Mettendo il mio IP al posto delle x nn funziona ç_ç Funziona solo con hamachi, se qualcuno è collegato alla mia rete col mio IP (di hamachi)
Mi aiutate???
--------------- AGGIUNTA AL POST ---------------
Ah una cosa, ho intuito ke devo mettere l'indirizzo IP della connessione, non pc, ma devo mettere prorpio "Indirizzo IP" o "Gateway predefinito"? Perchè l'IP finisce con .100, il gateway con .1... non so ditemi voi v prego
--------------- AGGIUNTA AL POST ---------------
Altro ps... nel mio pc funziona con Indirizzo IP, dagli altri pc no <.<
 
Ultima modifica:
Riferimento: [VB6]Creare un Trojan Keylogger

Perche quando metto il winsock mi dice '' license information not found you dont have as appropriate license to use fuctionality in the design ''????????????????????