Сейчас на форуме: Adler, asfa, bartolomeo (+8 невидимых)

 eXeL@B —› Вопросы новичков —› QIP 2012 - снова начудили с шифрованием паролей как в старом QIP 2005
Посл.ответ Сообщение

Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 19 октября 2012 20:48
· Личное сообщение · #1

Сегодня ради любопытства скачал свежий QIP 2012 и даже зарегился на qip.ru ))
Попытался воспользоваться утилитами, достающими пароль из QUDF-файла (DecryptICQ и UFR 3). Не получилось.
Лезу в файл и вижу:
1) формат файла сменили с 4 на 5 (в заголовке)
2) сигнатуры, по которым ищет UFR, уже другие
3) логин и пароль снова стали шифроваться набором "хитрых" алгосов (поверх накрыто Base64)

В qip 2005 что то похожее было. С выходом Infium обычный NOT применяли для "скрытия".
Но вот снова вернулись с истокам.

Полазив немного в IDA не нашёл место дешифрации, а с отладчиками не очень дружу.

Помогите найти функцию дешифрации этих полей. Дальше я уже сам справлюсь.



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 19 октября 2012 21:08
· Личное сообщение · #2

А зачем это надо? Стилер?



Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 19 октября 2012 21:11
· Личное сообщение · #3

Спортивный интерес. Да и жалко 2 часа поиска через IDA.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 20 октября 2012 13:11
· Личное сообщение · #4

Воровать чужие пароли нехорошо, пнятненько?





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 20 октября 2012 13:26
· Личное сообщение · #5

TryAga1n, может он их и не собирается воровать, так, подправить алго шифрации, что б засранчики сперли не то ☺

-----
-=истина где-то рядом=-




Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 20 октября 2012 18:33 · Поправил: ressa
· Личное сообщение · #6

TryAga1n
Что ты за человек такой?) Ну что не скажешь - все нe в тему)))
KingSise
Ты кстати так не и раскрыл эту тему))Может здесь продолжим? На примере обычного qip, а не 2012 и тд.



Ранг: 11.4 (новичок), 8thx
Активность: 0.010
Статус: Участник

Создано: 20 октября 2012 19:35
· Личное сообщение · #7

инжект кода вот и вся тема хуле там раскрыватъ



Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 20 октября 2012 21:09 · Поправил: ressa
· Личное сообщение · #8

Johnny Mnemonic
Слушай, ну так давай на примере, не_все_же_такие_умные,_как_ты... Покажи наглядно и тд.

Johnny Mnemonic пишет:
хуле там раскрыватъ

А то греметь "медалями" - мастеров полно..




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 20 октября 2012 21:19
· Личное сообщение · #9

ressa
Да Johnny Mnemonic правильно говорит, раскрывать там нечего, т.к. как таковой технологии там нет. К примеру, вы знаете, что некая программа (любая, не обязательно квик-клиент или аська) хранит ваш пасс в зашифрованном виде в каком-то ключе реестра. Вам хочется сделать так, чтоб малварь, пробравшаяся к вам на комп, даже сперев пароли, не могла ими воспользоваться. Концепт в том, чтоб дать ей спереть неправильный пароль. Для этого в вашем софте находим место, где происходит чтение пошифрованного пароля из реетра, после этого места вставляем код, который будет проводить дополнительное дешифрование, а потом передавать дешифрованный пасс на дальнейшую дешифровку программе. Поясню на примере: у вас есть пасс ressaisthebest, например. Ваш софт как-то его шифрует (даже не надо знать, как) и получается после шифрования на выходе 134234560. Вы думаете, что в качестве бонуса нужно получившийся пасс обработать, пусть самым простым способом, и к каждой цифре добавляете 1, тогда всё выглядит так:

ressaisthebest -> 134234560 -> 245345671

Дальше прога считывает из реестра пасс 245345671, она изначально ничего не знает про то, что вы применили дополнительное шифрование, потому вы встраиваете код, который отнимает единицу из каждой цифры, а потом результат суёте программе:

245345671 -> 134234560 -> ressaisthebest

Вот в обеспечении функционала это последней жирной стрелки и состоит задача заинжекченного кода.

-----
Stuck to the plan, always think that we would stand up, never ran.


| Сообщение посчитали полезным: ressa

Ранг: 20.8 (новичок), 7thx
Активность: 0.010.02
Статус: Участник

Создано: 20 октября 2012 21:58
· Личное сообщение · #10

QIP Состоит из быдлокода, саморекламы, свистелок и перделок чуть менее, чем полностью. Тем не менее (скорее, наоборот, - благодаря этому), пользуется значительной популярностью среди быдла и офисного планктона, на которых и рассчитан.
(c) lurkmore



Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 20 октября 2012 22:13
· Личное сообщение · #11

KingSise пишет:
может он их и не собирается воровать, так, подправить алго шифрации, что б засранчики сперли не то ☺

А хорошую идею подкнул. Уже есть мысля пропатчить бинарь QIP 2005, которым сам пользуюсь. Но придётся сначала и там найти адрес функции шифрования.
Меня пока QIP 2012 озадачил. Просто интересен тамошний набор применяемых чудо алгосов.



Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 20 октября 2012 22:15
· Личное сообщение · #12

Хотя кодес в QIP 2005 легко найти по используемым ключам шифрования (в теории).



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 20 октября 2012 22:32
· Личное сообщение · #13

Правильные посоны юзают жабер и опен сорс клиенты, а там уже дописываешь какое хочешь шифрование, как и места хранения паролей, а профит, все стайлеры идут лесом и никакой рекламы.

| Сообщение посчитали полезным: ressa, nick8606

Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 20 октября 2012 23:02
· Личное сообщение · #14

ARCHANGEL
Спасибо за подробное разъяснение.

F_a_u_s_t
Сам сижу на Пси+ и дико рад этому. На счет квипа узнал для примера, периодически нужно использовать и так редко и внезапно - что проще скачать старый квип, чем настраивать Миранду или держать любой icq-клиент на компе постоянно.




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 20 октября 2012 23:27
· Личное сообщение · #15

ressa пишет:
Сам сижу на Пси+ и дико рад этому



не оно?

-----
Nulla aetas ad discendum sera




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 20 октября 2012 23:50
· Личное сообщение · #16

Flint
Оно, но есть:
Code:
  1. QString psi::decodePassword(const QString &pass, const QString &key) {
  2.     QString result;
  3.     int n1, n2;
  4.     if(key.length() == 0)
  5.         return pass;
  6.     for(n1 = 0, n2 = 0; n1 < pass.length(); n1 += 4) {
  7.         ushort x = 0;
  8.         if(n1 + 4 > pass.length())
  9.             break;
  10.         x += QString(pass.at(n1)).toInt(NULL, 16) * 4096;
  11.         x += QString(pass.at(n1 + 1)).toInt(NULL, 16) * 256;
  12.         x += QString(pass.at(n1 + 2)).toInt(NULL, 16) * 16;
  13.         x += QString(pass.at(n1 + 3)).toInt(NULL, 16);
  14.         QChar c(x ^ key.at(n2++).unicode());
  15.         result += c;
  16.         if(n2 >= key.length())
  17.             n2 = 0;
  18.     }
  19.     return result;
  20. }

Заменить эту функцию на свою и стайлер идет лесом.

| Сообщение посчитали полезным: ressa

Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 21 октября 2012 11:01
· Личное сообщение · #17

Flint
Почти, PsiDev (psi+) основана на PSI, достаточно много допилено и изменено. От прежней Пси только название
F_a_u_s_t
Фауст, а разве алнгоритм шифрования у Psi и Psi+ одинаков?



Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 22 октября 2012 18:37 · Поправил: OSA
· Личное сообщение · #18

Странно, что никто не захотел помочь.
При помощи IDA + Olly нашёл место дешифрации (вроде как оно).
Для шифрования используется компонент DCPCrypt2.
Алгоритм rijndael-128 CFB.
Сейчаз определяю откуда берётся ключ, т.к. в бинаре оный не находится. Вдруг они его в профиле хранят.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 22 октября 2012 20:47 · Поправил: KingSise
· Личное сообщение · #19

OSA пишет:
Вдруг они его в профиле хранят.

у меня в профиле \QIP 2012\Profiles\o2273781@rtrtr.com

в памяти в расшифрованном виде отсутствует, что не может не радовать ;)

-----
-=истина где-то рядом=-




Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 23 октября 2012 00:59
· Личное сообщение · #20

Я говорил про ключ, на котором шифруется логин и пароль.
Но кажется я ошибся. Завтра наверняка всё проверю.



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 октября 2012 09:14
· Личное сообщение · #21

ressa пишет:
Фауст, а разве алнгоритм шифрования у Psi и Psi+ одинаков?

Раньше был одинаков, а сейчас отличается и тут дело даже не в самом пароле, можно утянуть и не расшифровывая, проблема в пути профиля, он у них отличается в том же UFR там вшиты пути:
PsiData\profiles\



Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 23 октября 2012 09:24
· Личное сообщение · #22

F_a_u_s_t
Вопрос. Если тоже юзаешь Пси, там же есть достоный конфиг - тонкая настройка. Может там можно сделать рандомное шифрование. Или чтобы каждый юзер при тонкой настройке мог вставить функцию шифрования, подобную твоей, но не перекомпиллируя и не реверся программу. Как думаешь, возможно ли такое? Если да - то может сможешь мою мысль как-нить обернуть в понятный и читабельный вид, а я отпишу разрабам? Потому, что Пси+ - лучший клиент, в вряд ли его кто-нить сможет переплюнуть.



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 октября 2012 09:52
· Личное сообщение · #23

ressa пишет:
Или чтобы каждый юзер при тонкой настройке мог вставить функцию шифрования, подобную твоей, но не перекомпиллируя и не реверся программу.

В данный момент это не возможно сделать средствами самого psi, функция шифрования захардкоржина, только перекомпиляция, нужны скрипты что бы алгоритм менять, а сами константы что с них толку, выдерут их из памяти, можно допилить webkit и использовать js как скриптовый движек, ка у того же chrome.



Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 23 октября 2012 10:01
· Личное сообщение · #24

F_a_u_s_t
Жаль. Мне кажется, что webkit никто допиливать из за этого не будет. Хотя вопрос безопасности очень важен, но все же. Забили же на интеграцию gpg-ключей. Ну и Бог с ним, значит разберусь в перекомпилляции.



Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 23 октября 2012 14:29
· Личное сообщение · #25

Всё так и оказалось. Действительно rijndael-128 CFB (нулевой вектор).
Ключ расчитывается на основании имени профиля и GUID профиля.

ЗЫ. Поблагодарю сам себя за настройчивость.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 23 октября 2012 14:55
· Личное сообщение · #26

Ну теперь тебе осталась адреса и участки кода запостить, что бы остальным, кому интересно посмотреть, попроще было

-----
-=истина где-то рядом=-




Ранг: 19.1 (новичок), 4thx
Активность: 0.010
Статус: Участник

Создано: 23 октября 2012 15:00 · Поправил: Модератор
· Личное сообщение · #27

А смысл в адресах? Алгос то стандартный.
Ну если очень надо, то скачивай сурцы DCPCrypt2 и подгружай в иду это: 1157_05.04.2012_EXELAB.rU.tgz
Ну а алгос создания ключа, оставлю вам на откуп.
Кстати, разрабы QIP ещё раз подтвердили свою никчёмность.
В расчёте ключа шифрования участвует имя профиля, которое представлено в ANSI кодировке.
При смене текущей кодировки в системе не возможно открыть ни один из созданных профилей, т.к. производится преобразование имени профиля из UTF-16 в ANSI.


 eXeL@B —› Вопросы новичков —› QIP 2012 - снова начудили с шифрованием паролей как в старом QIP 2005
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати