• XSS.stack #1 – первый литературный журнал от юзеров форума

ICQ схема логина

DASM32

(L2) cache
Пользователь
Регистрация
14.05.2008
Сообщения
451
Реакции
5
товарищи, начал ковырять новую для меня тему - ICQ и ее схему логина :P

естессно наткнулся на IcqMsgLogger, в ридми которого

Если в логе login.txt есть запись вида Secure login то это безопасный вход.
Но есть возможность пробрутить пароль. В логе первое значение - уин, второе хэщ,
третье - соль. Есть два варианта брута:
const="AOL Instant Messenger (SM)"
1) md5(salt.pass.const)
- тут всё просто, брутим по маске
2)md5(salt.md5(pass).const)
- тут намного сложнее. md5(pass) представляеться в 16 байтовом виде.

было все написано. провел тест, и с инфиума и с icq6 - все эти значения норм получались и записывались.
потом пошел этап проверки - а все ли сходится?
решил проверить по пункту 1 и 2 - не сходится хеш с отснифаным!
т.к. целью сего исследования было научиться ловить все эти значения вручную wireshark'ом, полез в него и добыл нужные значения сам.
соединил строки, захешировал обоими способами - опять не сходится с отправленным клиентом хешем!

решил проверить - слазил в сорцы миранды 0.8.1. нашел там {client.cpp}
Код:
#define AIM_MD5_STRING    	"AOL Instant Messenger (SM)"
#define MD5_HASH_LENGTH    	16

mir_md5_init(&state);
    mir_md5_append(&state,(const mir_md5_byte_t *)password, (int)strlen(password));
    mir_md5_finish(&state,pass_hash);
    mir_md5_init(&state);
    mir_md5_append(&state,(mir_md5_byte_t*)key, (int)strlen(key));
    mir_md5_append(&state,(mir_md5_byte_t*)pass_hash,MD5_HASH_LENGTH);
    mir_md5_append(&state,(mir_md5_byte_t*)AIM_MD5_STRING, sizeof(AIM_MD5_STRING)-1);
    mir_md5_finish(&state,auth_hash);
вижу - все вроде так как и написано в ридми.
смутило лишь 16байтовое представление хеша md5. но с этим справился, хоть и по наркомански:
вставил нужные значения хексом в пустой файл, а потом в него блокнотом все дописывал остальное(challenge-соль и строку эту 'AOL Instant Messenger (SM)') и брал хеш от получившегося файла - все равно не то выходит!(
(например, берем строку 123. ее хеш - 202cb962ac59075b964b07152d234b70. вставляем хексом и открываем блокнотом этот хеш: ,№b¬Y[–K-#Kp )

пробовал их копировать и в passwords pro hash generator - и опять не сходится.

господа, разъясните, что делаю не так и почему хеш все-таки не сходится? может что-то не так делаю, туплю где? :)
мб ошибаюсь как раз с этим 16байтовым представлением?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх