информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsСетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Серьезная уязвимость в Apache Log4j 
 Крупный взлом GoDaddy 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Здесь 11.12.02 02:38  Число просмотров: 2793
Автор: Renkvil <Boris> Статус: Member
Отредактировано 11.12.02 02:43  Количество правок: 1
<"чистая" ссылка>
From: "Andras" <andras@sekom.com>
Newsgroups: fido7.ru.nethack
Subject: Re: Outlook паролеизвлекатель
Date: Fri, 28 Dec 2001 12:53:56 +0000 (UTC)

//////////////////////////////////////////////////////////////////
//
// pop3.c
// usage: ./pop3
//
// will print email servers name, login name and password
//
// /////////////////////////////////////////////////////////////////
// Be sure to link this with Wsock32.lib, rasapi32.dll and NOT to
cygwin1.dll !!
// gcc pop3.c -o
pop3.com -lWsock32 -lrasapi32 -s -mno-cygwin -Wl,--subsystem,windows
// or to debug: gcc -ggdb pop3.c -o
pop3.exe -lWsock32 -lrasapi32 -mno-cygwin
/////////////////////////////////////////////////////////////////

//#define DEBUG_MODE
#define NAMESIZE 64
#define BUFFERSIZE 512

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

#ifdef DEBUG_MODE
void errmsg(char *message)
{
LPVOID lpMsgBuf;

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
0, // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);

// Process any inserts in lpMsgBuf.
strcat( lpMsgBuf, message);

// Display the string.
// MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK |
MB_ICONINFORMATION );

MessageBox( NULL, (LPCTSTR) &message, "Error", MB_OK |
MB_ICONINFORMATION );

// Free the buffer.
LocalFree( lpMsgBuf );
}
#else
__inline void errmsg(char *message)
{
return;
}
#endif

///////////////////////////////////////////////////////////////
// just extract the pop3 data from key number 0000000i

int pop3(int i, char *pop3server, char *pop3login, char *pop3password)
{
HKEY key;
DWORD type;
TCHAR buffer[BUFFERSIZE];
DWORD buffersize = sizeof(buffer);
char keyname[NAMESIZE];
int j;
char line[8];

strcpy( pop3server, "" );
strcpy( pop3login, "" );
strcpy( pop3password, "" );

sprintf( keyname, "Software\\Microsoft\\Internet Account
Manager\\Accounts\\0000000%u",i);

if ( RegOpenKeyEx( HKEY_CURRENT_USER, keyname, 0, KEY_READ, &key )
!= ERROR_SUCCESS)
{
return 0;
}

// Read the value = it is a nullterminated string.
// If unsuccessful, it probably doesn't
// exist, so poke a zero into our undefined variable.

RegQueryValueEx(key, "POP3 Server", 0, &type, pop3server, &buffersize );

RegQueryValueEx(key, "POP3 User Name", 0, &type, pop3login,
&buffersize );

// The pop3 pass is a binary string. So first let's get the size
RegQueryValueEx(key, "POP3 Password2", 0, &type, NULL, &buffersize );
// and it's value
RegQueryValueEx(key, "POP3 Password2", 0, &type, buffer, &buffersize );
// let's format it to be usable
for( j=0; j < buffersize; j++)
{
if( buffer[j] == 0 ) sprintf( line, "_");
else if( buffer[j] == 1 ) sprintf( line, "%%x01 ");
else if( buffer[j] == 2 ) sprintf( line, "%%x02 ");
else if( buffer[j] < ' '|buffer[j] > '~' ) sprintf( line, "%%x%X ",
buffer[j]);
else sprintf( line, "%c ", buffer[j]);
strcat( pop3password, line );
}
RegCloseKey(key);
return 1;
}
////////////////////////////////////////////////////////////////////////////
/////////
int main(int argc, char *argv[], char *envp[] )
{
char pop3server[NAMESIZE];
char pop3login[NAMESIZE];
char pop3password[BUFFERSIZE];
DWORD length;
char message[BUFFERSIZE];
char tempstring[NAMESIZE];
int i;

for( i=1; i < 10 && pop3( i, pop3server, pop3login, pop3password); i++)
{
// printf("Server: %s\nLogin: %s\nPassword:
%s\n", pop3server, pop3login, pop3password);
sprintf( message, "Server: %s\nLogin: %s\nPassword:
%s\n", pop3server, pop3login, pop3password);
MessageBox( NULL, message, "POP3", MB_OK|MB_ICONINFORMATION );
}
return 1;
}
<hacking>
Правда что Outlook Express хранит пароли в открытом виде ????? 03.07.01 23:43  
Автор: Djimi Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Слышал несколько раз что Outlook Express
хранит пароли от мыла в открытом виде

подскажите где он их так хранит ???
проверить хотется :))
Правда что Outlook Express хранит пароли в открытом виде ????? 04.07.01 05:02  
Автор: NiFi... <NiFiGaSebe!> Статус: Member
<"чистая" ссылка>
30/06/2001
Новый, достаточно интересный продукт от ElcomSoft - Advanced Outlook Express Password Recovery. Данная программа является первой в своем роде и служит для восстановления ВСЕХ паролей от почтового клиента OutLook. Подробнее здесь:
http://www.elcomsoft.com/aoepr.html

http://www.uinc.ru
Не важно, в открытом или зашифрованом, лучше скажите где можно про алгоритм вытаскивания паролей почитать или где исходник скачать можно. 11.12.02 02:17  
Автор: BoredOfBytes Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Здесь 11.12.02 02:38  
Автор: Renkvil <Boris> Статус: Member
Отредактировано 11.12.02 02:43  Количество правок: 1
<"чистая" ссылка>
From: "Andras" <andras@sekom.com>
Newsgroups: fido7.ru.nethack
Subject: Re: Outlook паролеизвлекатель
Date: Fri, 28 Dec 2001 12:53:56 +0000 (UTC)

//////////////////////////////////////////////////////////////////
//
// pop3.c
// usage: ./pop3
//
// will print email servers name, login name and password
//
// /////////////////////////////////////////////////////////////////
// Be sure to link this with Wsock32.lib, rasapi32.dll and NOT to
cygwin1.dll !!
// gcc pop3.c -o
pop3.com -lWsock32 -lrasapi32 -s -mno-cygwin -Wl,--subsystem,windows
// or to debug: gcc -ggdb pop3.c -o
pop3.exe -lWsock32 -lrasapi32 -mno-cygwin
/////////////////////////////////////////////////////////////////

//#define DEBUG_MODE
#define NAMESIZE 64
#define BUFFERSIZE 512

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

#ifdef DEBUG_MODE
void errmsg(char *message)
{
LPVOID lpMsgBuf;

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
0, // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);

// Process any inserts in lpMsgBuf.
strcat( lpMsgBuf, message);

// Display the string.
// MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK |
MB_ICONINFORMATION );

MessageBox( NULL, (LPCTSTR) &message, "Error", MB_OK |
MB_ICONINFORMATION );

// Free the buffer.
LocalFree( lpMsgBuf );
}
#else
__inline void errmsg(char *message)
{
return;
}
#endif

///////////////////////////////////////////////////////////////
// just extract the pop3 data from key number 0000000i

int pop3(int i, char *pop3server, char *pop3login, char *pop3password)
{
HKEY key;
DWORD type;
TCHAR buffer[BUFFERSIZE];
DWORD buffersize = sizeof(buffer);
char keyname[NAMESIZE];
int j;
char line[8];

strcpy( pop3server, "" );
strcpy( pop3login, "" );
strcpy( pop3password, "" );

sprintf( keyname, "Software\\Microsoft\\Internet Account
Manager\\Accounts\\0000000%u",i);

if ( RegOpenKeyEx( HKEY_CURRENT_USER, keyname, 0, KEY_READ, &key )
!= ERROR_SUCCESS)
{
return 0;
}

// Read the value = it is a nullterminated string.
// If unsuccessful, it probably doesn't
// exist, so poke a zero into our undefined variable.

RegQueryValueEx(key, "POP3 Server", 0, &type, pop3server, &buffersize );

RegQueryValueEx(key, "POP3 User Name", 0, &type, pop3login,
&buffersize );

// The pop3 pass is a binary string. So first let's get the size
RegQueryValueEx(key, "POP3 Password2", 0, &type, NULL, &buffersize );
// and it's value
RegQueryValueEx(key, "POP3 Password2", 0, &type, buffer, &buffersize );
// let's format it to be usable
for( j=0; j < buffersize; j++)
{
if( buffer[j] == 0 ) sprintf( line, "_");
else if( buffer[j] == 1 ) sprintf( line, "%%x01 ");
else if( buffer[j] == 2 ) sprintf( line, "%%x02 ");
else if( buffer[j] < ' '|buffer[j] > '~' ) sprintf( line, "%%x%X ",
buffer[j]);
else sprintf( line, "%c ", buffer[j]);
strcat( pop3password, line );
}
RegCloseKey(key);
return 1;
}
////////////////////////////////////////////////////////////////////////////
/////////
int main(int argc, char *argv[], char *envp[] )
{
char pop3server[NAMESIZE];
char pop3login[NAMESIZE];
char pop3password[BUFFERSIZE];
DWORD length;
char message[BUFFERSIZE];
char tempstring[NAMESIZE];
int i;

for( i=1; i < 10 && pop3( i, pop3server, pop3login, pop3password); i++)
{
// printf("Server: %s\nLogin: %s\nPassword:
%s\n", pop3server, pop3login, pop3password);
sprintf( message, "Server: %s\nLogin: %s\nPassword:
%s\n", pop3server, pop3login, pop3password);
MessageBox( NULL, message, "POP3", MB_OK|MB_ICONINFORMATION );
}
return 1;
}
Похоже это лажа 13.12.02 03:52  
Автор: Tamas Статус: Member
Отредактировано 13.12.02 03:54  Количество правок: 1
<"чистая" ссылка>
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001\POP3 Password2

тут как мне кажится содержится структура в формате уникод (16 бит один символ) толко пароля тут нет это походу указатель

у меня Outlook Express 6 и POP3 Password2 выгледет так

это походу имя ящика localhost а это указател 86FE2B

посколько при смене пароля эта строчь ка не меняется
Согласен! Лажа! 14.12.02 01:53  
Автор: BoredOfBytes Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> тут как мне кажится содержится структура в формате уникод
> (16 бит один символ) толко пароля тут нет это походу
> указатель
> у меня Outlook Express 6 и POP3 Password2 выгледет так
> это походу имя ящика localhost а это указател 86FE2B
> посколько при смене пароля эта строчь ка не меняется
По моему то же самое! Когда я перенес всю эту ветвь на другой компутер, вместо пасворда лажа какая то была! Надо будет, наверное, проверять весь реестр на изменение при смене пароля.............. =(
Че то оно не работает....... =( 13.12.02 01:43  
Автор: BoredOfBytes Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Не знаю как у вас, но мой Аутлуук НЕ хранит пароли В ОТКРЫТОМ ВИДЕ! Поэтому в результате работы данной программы вместо нормального (настоящего) пароля получается абракадабра...... =( Конечно можно было бы ее перенести на другой комп и через Аутлук расшифровать, но хотелось бы чтобы сразу........... Можж кто знает?

ЗЫ А что значит строка else sprintf( line, "%%x%X ", buffer[j]); ? Я на си как то не очень..........
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach