LINUX.ORG.RU

TeamPass - расшифровать пароль. Как?

 , decryption, ,


0

2

Всем привет!

Есть такая софтина как TeamPass (http://www.teampass.net/), которая хранит пароли от разных сервисов. Пароли она хранит в базе, в зашифрованном виде, шифруя их с помощью AES-256 + Salt.

Собственно вопрос: как с помощью bash (ну или perl, хотя с ним у меня туговато, но мало ли...) можно расшифровать вот этот зашифрованный пароль? И можно ли?

Пробовал с помощью openssl:

echo "8QYR33E8kZqv5Q6lIM4ol8uSiq6vS3Y1+c+H9U6+GTpMzA6G75rJh53gDu/k1q+EBnqjHGRVy8ofSh799dy9ag==" | openssl aes-256-cbc -d -salt
enter aes-256-cbc decryption password:
но после ввода пароля (который salt) получаю
bad magic number

Причем тип шифрования выбирал разный, но в итоге всё равно bad magic number

Может кто сталкиваля с похожей задачей, как правильно расшифровать в данном случае?

Спасибо.


но после ввода пароля (который salt)

что-то мне подсказывает, что пароль — это не просто соль. паролем должен быть мастер-пароль от программы + соль.

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)

Можно, запросто!

1) Пишешь простую программу, которая пытается подобрать пароль для расшифрации.

2) Проверяешь на более мелких паролях, которые придумал сам, 2 символа.

3) Арендуешь сервер, с процессором с 32 ядрами!

4) Лет 10-20 вичисляешь пароль.

5) Profit!?

ЗЫ: Другого способа ещё не придумали для такой мощьной шифрации, утверждённой ISO!

Human-source
()

О, подпишусь, самому интересно.

dvrts ★★★
()

Не знаком именно с TeamPass, но фраза:

Пароли она хранит в базе, в зашифрованном виде, шифруя их с помощью AES-256 + Salt

скорее всего правильно звучит так:

Пароли она хранит в базе, в зашифрованном виде, шифруя их с помощью СВОЕГО АЛГОРИТМА, используя AES-256 + Salt

Поэтому, чтобы сопоставить (не расшифровать!) пароли, нужно знать этот алгоритм.

Подобно действует юниксовая стандартная crypt(), вычисляя хеш $6$ sha512. Она мутит, переставляет байты биты, солит, xor'ит что-то, а потом делает из того, что получилось хеш sha512

Chumka ★★★
()

Может надо так?

echo "8QYR33E8kZqv5Q6lIM4ol8uSiq6vS3Y1+c+H9U6+GTpMzA6G75rJh53gDu/k1q+EBnqjHGRVy8ofSh799dy9ag==" | base64 -d | openssl aes-256-cbc -d -salt

i-rinat ★★★★★
()
Ответ на: комментарий от Linuxman

ТСу известен пароль, соль и вид шифрования, вы о чем?

Да, верно. Задача - сделать бекап паролей из TP простым списком, на случай аварии.

что-то мне подсказывает, что пароль — это не просто соль. паролем должен быть мастер-пароль от программы + соль.

Хм, возможно... Ща поищу в настройках, может найду.

Хотя судя по инфе на сайте (http://www.teampass.net/how-passwords-are-encrypted/), пароль из базы для показа расшифровывается только с помощью salt.Но возможно я не прав, буду дальше копать.

Если у кого-то есть идеи - буду рад выслушать )

Sirko
() автор топика
Ответ на: комментарий от Chumka

Поэтому, чтобы сопоставить (не расшифровать!) пароли, нужно знать этот алгоритм.

Хм, на сайте написано что

The encryption used is AES Cypher with Rijndael algorithm. AES is a ‘symmetric block cipher’ for encrypting texts which can be decrypted with the original encryption key. Each encryption is done using 256bits.

Это он, Rijndael? Если да, то как его использовать в этом случае?

Спасибо.

Sirko
() автор топика
Ответ на: комментарий от Sirko

Судя по картинкам на сайте, это не та соль, про которую знает openssl. Да и не видно её в зашифрованном сообщении. Если она есть, то первые байты будут чем-то вроде «Salted» и дально набор случайных байт.

Скорее всего так: два ключа, один у пользователя, другой у сервера. Пользователь шифрует, потом сервер шифрует своим ключом. Вот ключ сервера и называется «солью». Тебе надо -nosalt

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Если использовать -nosalt то получаю:

bad decrypt
140610160764608:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:evp_enc.c:532:
�=\�[X
      ~��hʩ��G11],�b��Y��7��>n]�c��*qWT�(~0���e��+Նc#��]2Rfe��`���D���[

Sirko
() автор топика
Ответ на: комментарий от Sirko

Там по-моему есть выгрузка в pdf, посмотри внимательнее. Не осилил как пользоваться этим, так что точнее сказать не могу.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Там по-моему есть выгрузка в pdf

Да, есть такое. Но для этого нужно создавать «суперпользователя», который будет иметь доступ ко всем разделам, не забывать добавлять этого пользователя к новым разделам и не забывать периодически заходить и формировать этот пдф. Всё это исключает автоматизацию, что с большой долей вероятности однажды вылезет боком, так как нужный пароль провтыкается.

Хотя в принципе, если с дешифровкой паролей с базы ничего не выйдет то буду смотреть в эту сторону, попробую с помощью curl etc автоматизировать получение pdf-ки.

Sirko
() автор топика
Ответ на: комментарий от i-rinat

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

Эх, я бы с радостью, но с пхп не дружен...

Sirko
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.