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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 55
111  Programación / Programación C/C++ / Re: WH_CALLWNDPROC llamada de forma rara en: 8 Julio 2015, 11:33 am
Ahora compruebo el timeout que me dijiste pero mientras pongo lo que estuve comprobando:

Código
  1. MessageBox(0, "data", "g++", 0);
  2. msgSend = true;
  3. g++;
  4. MessageBox(0, "data", "char msg[100]", 0);
  5. char msg[100];
  6. MessageBox(0, "data", "CWPSTRUCT *data = (CWPSTRUCT *)lparam;", 0);
  7. CWPSTRUCT *data = (CWPSTRUCT *)lparam;
  8. MessageBox(0, "data", "sprintf", 0);
  9.  
  10. sprintf(msg, "%d -> %x", g, data->message);
  11. MessageBox(0, msg, "Window title", 0);

Lo mismo que antes pero esta empieza desde 1 hasta 30 y el primer conjunto de  dialogboxes siempre se buquea y se queda sin texto como si msg estuviera vació. (Esto también pasaba antes)

Si pongo el msgSend antes de un messagebox todo perfecto.
Luego hice un log en un txt:

Código
  1. LRESULT CALLBACK getPw(int code,WPARAM wparam,LPARAM lparam){
  2. if (code != HC_ACTION){
  3. return (CallNextHookEx(hook, code, wparam, lparam));
  4. }
  5. else if(!wparam){
  6. if (!msgSend){
  7. if (file == NULL){
  8. file = fopen("holaholahola", "w");
  9. }
  10. w("\n\n ---- New call ----");
  11. w("g++");
  12. MessageBox(0, "data", "g++", 0);
  13. g++;
  14. w("char msg[100]");
  15. MessageBox(0, "data", "char msg[100]", 0);
  16. char msg[100];
  17. w("CWPSTRUCT *data = (CWPSTRUCT *)lparam;");
  18. MessageBox(0, "data", "CWPSTRUCT *data = (CWPSTRUCT *)lparam;", 0);
  19. CWPSTRUCT *data = (CWPSTRUCT *)lparam;
  20. w("sprintf");
  21. MessageBox(0, "data", "sprintf", 0);
  22.  
  23. sprintf(msg, "%d -> %x", g, data->message);
  24. w("msgSend = true;");
  25. MessageBox(0, msg, "MsgSend", 0);
  26. msgSend = true;
  27.  
  28. }
  29. }
  30. return 1;
  31. }
  32.  
  33. void w(char *str){
  34. fwrite(str, 1, strlen(str), file);
  35. fwrite("\n", 1, 2, file);
  36. fflush(file);
  37. }

Resultado:

Citar

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 

 ---- New call ----
 g++
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 char msg[100]
 CWPSTRUCT *data = (CWPSTRUCT *)lparam;
 sprintf
 msgSend = true;
 

@Edit: Usando el debugger while (!GetMessage(&msg, 0, 0, 0)) nunca entra en el bucle ni al pulsar al botón X de cerrar la consola.

@Editx2: Cambie el código para comprobar si el hook sigue activo y parece que no:

Código
  1. LRESULT CALLBACK getPw(int code,WPARAM wparam,LPARAM lparam){
  2. if (code != HC_ACTION){
  3. return (CallNextHookEx(hook, code, wparam, lparam));
  4. }
  5. else if(!wparam){
  6. if (!msgSend){
  7. if (file == NULL){
  8. file = fopen("holaholahola", "w");
  9. }
  10. w("\n\n ---- New call ----");
  11. ...
  12. msgSend = true;
  13. }
  14. else{
  15. CWPSTRUCT *data = (CWPSTRUCT *)lparam;
  16. if (data->message == WM_LBUTTONDOWN){
  17. MessageBox(0, "El hook sigue activo", "Buenos dias senior X!!", 0);
  18. }
  19. }
  20. }
  21. return 1;
  22. }

Después de los dialogbox del principio espero unos segundos y pulso con el ratón pero el evento parce que no se recibe porque no se muestra el dialogbox
112  Programación / Programación C/C++ / Re: WH_CALLWNDPROC llamada de forma rara en: 8 Julio 2015, 01:39 am
Solo por si acaso, ¿despues del MessageBox se sigue ejecutando código? Pon otro MessageBox a ver.

Si, en ambos casos (msgSend primero y ultimo).
113  Programación / Programación C/C++ / WH_CALLWNDPROC llamada de forma rara en: 8 Julio 2015, 01:18 am
Hola estuve probando cositas y en este codigo:

Código
  1. //Main.cpp
  2. typedef void(_MakeHook)(DWORD threadID, int dlgID);
  3.  
  4. int _tmain(int argc, _TCHAR* argv[])
  5. {
  6. HWND hwnd = FindWindow("wxWindowNR", "FileZilla");
  7. if (hwnd == 0){
  8. printf("FileZilla not found\n");
  9. getchar();
  10. return 0;
  11. }
  12.  
  13. HMODULE library = LoadLibrary("C:\\Users\\User\\Documents\\Visual Studio 2013\\Projects\\stealPwDll_real\\x64\\Debug\\stealPwDll_dll.dll");
  14. if (library == NULL){
  15. printf("error library %d\n",GetLastError());
  16. }
  17. _MakeHook * MakeHook = (_MakeHook *)GetProcAddress(library, "MakeHook");
  18. if (MakeHook == 0){
  19. printf("getpw error\n");
  20. }
  21. MakeHook(GetWindowThreadProcessId(hwnd, 0), 0xFFFF83C4);
  22.  
  23. MSG msg;
  24. while (!GetMessage(&msg, 0, 0, 0)){
  25. TranslateMessage(&msg);
  26. DispatchMessage(&msg);
  27. }
  28.  
  29. getchar();
  30. return 0;
  31. }


Código
  1. //Código del main_dll.cpp
  2. #include <Windows.h>
  3. #include "main.h"
  4. #include <stdio.h>
  5.  
  6. #pragma warning(disable:4996)
  7.  
  8. HMODULE hmodule;
  9. HHOOK hook;
  10. bool msgSend = false;
  11. int g = 0;
  12.  
  13. BOOL WINAPI DllMain(HMODULE hmodule,DWORD reason,LPVOID){
  14. if (reason == DLL_PROCESS_ATTACH){
  15. ::hmodule = hmodule;
  16. }
  17. return 1;
  18. }
  19.  
  20.  
  21.  
  22.  
  23. void MakeHook(DWORD id, int dlgID){
  24. hook = SetWindowsHookEx(WH_CALLWNDPROC, getPw, hmodule, id);
  25. if (hook == NULL){
  26. char msg[100];
  27. sprintf(msg, "Hook error -> %d", GetLastError());
  28. MessageBox(0, msg, "Hook error", MB_ICONERROR);
  29. }
  30. }
  31.  
  32.  
  33. LRESULT CALLBACK getPw(int code,WPARAM wparam,LPARAM lparam){
  34. if (code != HC_ACTION){
  35. return (CallNextHookEx(hook, code, wparam, lparam));
  36. }
  37. else if(!wparam){
  38. if (!msgSend){
  39. g++;
  40. char msg[100];
  41. sprintf(msg, "%d", g);
  42. MessageBox(0, "Not current thread call", msg, MB_ICONINFORMATION); //  ----------- Parte rara --------
  43. msgSend = true;
  44. }
  45. }
  46. return 1;
  47. }

Si utilizo el código del main_dll.cpp me muestra 30 MessageBox empezando desde g = 30
Si cambio el código:
Código
  1. LRESULT CALLBACK getPw(int code,WPARAM wparam,LPARAM lparam){
  2. if (code != HC_ACTION){
  3. return (CallNextHookEx(hook, code, wparam, lparam));
  4. }
  5. else if(!wparam){
  6. if (!msgSend){
  7. msgSend = true; // ----- Parte cambiada -> msgSend = true; sube primero
  8. g++;
  9. char msg[100];
  10. sprintf(msg, "%d", g);
  11. MessageBox(0, "Not current thread call", msg, MB_ICONINFORMATION);
  12.  
  13. }
  14. }
  15. return 1;
  16. }

Me muestra solo un MessageBox como debe ser.

Porque???

Un saludo
114  Seguridad Informática / Análisis y Diseño de Malware / Re: Distintas formas de obtener datos de troyanos de manera indetectable. en: 8 Julio 2015, 00:54 am
hostinger.es + tor para conectarte a una pagina http que servirá de cliente te basta, creo yo. El troyano envia los datos directamente a la pagina a la que accede solamente el infectado porque tu usas tor para mandar ordenes.
115  Foros Generales / Foro Libre / Re: Buscando Grupo Hacker, o buscando gente noob, avanzada, etc para formar uno? en: 8 Julio 2015, 00:25 am
Creo que el usuario de la propuesta no va a contestar así que si alguien quiere y tiene tiempo se me ocurrió hacer una pequeña pagina web con usuarios, sistema de archivos para los programas y una especie de "tareas" que serán crear programas y mas tarde cosas como realizar un ataque o utilizar ingeniera inversa para x cosa...  y un lugar para libros aunque para esto esta el foro
La idea seria algo así:

1 - Usuario propone idea
2 - Todos los usuario que quieran crean su código y lo suben en el sistema de archivos (ftp supongo del hosting) al final en un irc o teamspeaker cada uno comenta que tal le ha parecido los códigos de los demás participantes en la propuesta y podríamos crear un programa final (de la propuesta, habrá muchas) juntando las ideas de todos.
3 - Podría existir un sistema de puntos.
4 - NO hay mensajes privados, todo es publico
5 - Si hay gente mas avanzada creamos pc virtuales y atacamos  ;D


Bueno al final creo que va pasar algo como esto:
Gente que se une: muchoooos
Gente que se une y hace algo: [0,0] (sin incluirme)

Que os parece  ;D
Anonimo: Se le habrá ido la pinta  :o
116  Foros Generales / Noticias / Re: Hacking Team, responsable de programas espía para Gobiernos, hackeado y 400GB... en: 7 Julio 2015, 14:50 pm
Aun estoy descargando los metadatos XDDDDD

A mi directamente se me bloquea :DD
Sabes cual de los dos es el source ?
117  Foros Generales / Noticias / Re: Hacking Team, responsable de programas espía para Gobiernos, hackeado y 400GB... en: 7 Julio 2015, 14:14 pm
Alguien consiguió descargar los torrents?
118  Seguridad Informática / Hacking / Re: ¿Que sería capaz de hacer un cracker con mi cuenta de mail? en: 7 Julio 2015, 13:11 pm
dudo que la pueda conseguir, si la tiene es poco lo que puede hacer, menos si tienes router

Que cambia el router ? El ataque no sigue siendo el mismo ? Puertos abiertos vulnerabilidades etc... ?
119  Programación / Programación C/C++ / Interceptar paquetes de un programa y cambiar sus datos | Windows en: 2 Julio 2015, 10:47 am
Hola es posible media la inyección de una dll y luego un hook hacia la recv función o la que use captar los datos y cambiarlos antes de llamar a la función que tenia asignada ?

Si no que alternativas queda?

Saludos
120  Programación / Desarrollo Web / Interceptar archivo js de una web y cambiar su contenido firefox addon en: 30 Junio 2015, 23:27 pm
Hola quiero crear una extensión para firefox en la que puedo captar la carga de un archivo js por parte de una web y reemplazar su contenido por otro y cargar mi código.
Como un ataque MitM.

No encuentro una API o función para para la ejecución y reemplazar el contenido.

Alguna idea?
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 55
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines