Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - tittyTwister

#1
Hacking / Drivers kernel de teclado
25 Mayo 2013, 06:54 AM
Hola, estoy buscando la forma de crearme un Driver para poder comunicar el KBDCLASS con una aplicacion que yo defina y asi poder rutear todo el trafico de mensajes de teclado cifrados para evitar los keyloggers.

Alguien tiene una idea de donde puedo aprender de esto? o si alguien le interesa para que me ayude con un proyecto y puedo darle participacion en las utilidades que genere :)

gracias!!!
#2
Bugs y Exploits / kernel keyloggers
25 Mayo 2013, 06:45 AM
hola gente  ::)

Estoy buscando hacer un penetration testing y encontramos una solucion de seguridad que es capaz de evadir los keyloggers como el: peferctKeylogger y otros mas, pero estamos seguros que a nivel de kernel no pueden evitar nada, hasta ahora solo conozco uno comercial llamado Elite Keylogger pero queremos hacer pruebas con otros mas y preferiblemente no tan comerciales. Si conocen algunos listarlos para saber :)
#3
coulegas, esto puede ser amazing!
>:D  les quiero compartir un script que me baje por ahi y lo aplique para el siguiente tema: Me he topado con malignas aplicaciones siempre que tratan de robarme los datos cuando estaba en la prepa, seguramente mi viejo queria saber que diablos hacia en la PC, talves mi novia se las ingenio y me inyecto en la PC su propio espia el caso es que me ha dado lia que mucha info se me ha escurrido entre los dedos por culpa de estos fastidiosos keyloggers. me he topado con antivirus y esas cosas pero la verdad no es que funcionen de maravilla, asi que me di a la tarea de escribir mi propia solución y aunque esta lejos de ser algo infalible me ha servido para bloquear varias de esas pestes de loggers. ok va el punto: recuerdan los viejos escritorios virtuales de windows? ok muy sencillo os bajais un codigo que abundan de como crear un proceso de escritorio virtual, por ejemplo esto servira:
int WINAPI ejecutar(char *szDesktopName, char *szPath)
{
   HDESK   hOriginalThread;
   HDESK   hOriginalInput;
   HDESK   hNewDesktop;


   hOriginalThread = GetThreadDesktop(GetCurrentThreadId());
   hOriginalInput = OpenInputDesktop(0, FALSE, DESKTOP_SWITCHDESKTOP);

   
   hNewDesktop = CreateDesktop(szDesktopName, NULL, NULL, 0, GENERIC_ALL, NULL);
   SetThreadDesktop(hNewDesktop);
   SwitchDesktop(hNewDesktop);

       //aca en este punto enviamos nuestro proceso dentro del escritorio virtual previamente creado, este proceso por ejemplo puede ser ejecutar una instancia de Internet explorer y pasarle parametro URL para abrirla dentro de ese escritorio:
   incrustarElProceso(szDesktopName, szPath);


   SwitchDesktop(hOriginalInput);
   SetThreadDesktop(hOriginalThread);

   
   CloseDesktop(hNewDesktop);

   return 0;
}

Y la función complementaria al proceso quedaria:
BOOL incrustarElProceso(char *nombreEscritorio, char *szPath)
{
   STARTUPINFO         si;
   PROCESS_INFORMATION pi;

   // Zero these structs
   ZeroMemory(&si, sizeof(si));
   si.cb = sizeof(si);
   si.lpTitle = nombreEscritorio;
   si.lpDesktop = nombreEscritorio;
   ZeroMemory(&pi, sizeof(pi));

   // Start the child process
   if (!CreateProcess(NULL,    // No module name (use command line).
                      szPath,  // Command line.
                      NULL,    // Process handle not inheritable.
                      NULL,    // Thread handle not inheritable.
                      FALSE,   // Set handle inheritance to FALSE.
                      0,       // No creation flags.
                      NULL,    // Use parent's environment block.
                      NULL,    // Use parent's starting directory.
                      &si,     // Pointer to STARTUPINFO structure.
                      &pi))    // Pointer to PROCESS_INFORMATION structure.
   {
       return FALSE;
   }

   // Wait until process exits
   WaitForSingleObject(pi.hProcess, INFINITE);

   // Close process and thread handles
   CloseHandle(pi.hProcess);
   CloseHandle(pi.hThread);

   return TRUE;
}

podeis usar el visual C++ o el Visual Studio para crearte una pequeña app con un boton de iniciar para arrancar la funcion ejecutar, de ahi ya metido en el escritorio virtual pues nada quedas encerrado y te toca salir a la fuerza con el boton de apagado, pero ando tratando de escribir un hook que detecte la tecla esc o alguna tecla de funcion para obligar la terminacion del proceso  :-*   la verdad que hice la prueba y ejecutando un keylogger y me meto dentro del escritorio virtual y el keylogger pues no alcanza a coger nada aunque creo que es por estar trabajando a nivel de aplicacion Win32 pero si os instalais un keylogger de kernel pos nada te jodes porque esto no es capaz de saltarselo, alguna duda escribanme y que os aproveche.

esto es codigo libre y pueden ver un demo funcionando aca:http://www.codeproject.com/Articles/7392/Lock-Windows-Desktop?msg=3139662#xx3139662xx