Bitcoin Forum

Local => Кодеры => Topic started by: Ninazu on February 17, 2012, 08:39:28 PM



Title: Wallet.dat перебор по словарю
Post by: Ninazu on February 17, 2012, 08:39:28 PM
Случилось самое ужасное. Не принимает пароль от кошелька. Видимо когда устанавливал, допустил ошибку. Интуитивно понимаю что пароль мог поставить только определённый. Скорее всего либо раскладка была не та, либо капс, либо символ пропустил. Длина пароля до 9 символов. Да и алфавит не весь используется в предполагаемых паролях. Попробовал простым путём пойти. С разными раскладками, капсом клацать. Не заходит. Может есть софт для брута у кого-то.


Title: Re: Wallet.dat перебор по словарю
Post by: LZ on February 17, 2012, 10:00:30 PM
Длина пароля до 9 символов.
Много. Необходимо, чтобы Вы точно вспомнили все использованные в пароле символы.
Судя по количеству времени, которое уходит на зашифровку/расшифровку кошелька,
эта процедура требует большой производительности, что очень снижает наши шансы.

Примерный план подготовки.
1. Выявить шаблон, по которому будем сверять, что данные расшифрованы правильно.
2. Узнать, как именно добавляется соль (http://ru.wikipedia.org/w/index.php?oldid=37685165) в шифр, и как она используется в алгоритме.

Примерный план разработки.
1. Вытащить из wallet.dat данные в зашифрованном виде.
2. Написать генератор для этого алгоритма шифрования.
3. Переписать на OpenCL/CUDA для повышения скорости.

Демотиватор.
Если окажется, что брутфорс пароля экономически более оправдан, чем покупка
биткоинов на бирже, то наши наработки будут применяться в очень плохих целях.

Может есть софт для брута у кого-то.
И еще квантовый компьютер в кладовке. :)

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


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on February 18, 2012, 08:54:44 AM
Смещение: 0xF530
Размер: 64 байта
Вкусняшки хранятся в этом куске wallet.dat

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




Title: Re: Wallet.dat перебор по словарю
Post by: coraz on February 18, 2012, 09:27:07 AM
Посмотрел исходники, вот релевантные файлы:
https://github.com/bitcoin/bitcoin/blob/master/src/wallet.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/crypter.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/crypter.h


Для шифрования там используется AES-256, для деривации ключа - SHA-512. Скорость брута упрется именно в SHA, т.к. количество раундов деривации зависит от скорости процессора, но как минимум 25000.

Зная сколько мегахешей выдает видюха для майнинга можно примерно посчитать с какой скоростью она будет перебирать пароли  ;D

В протоколе биткойна используется SHA-256, это навскидку раз в 5 быстрее на ГПУ чем SHA-512 (из-за 64-битных операций в последнем).
Т.е 400 MH/s SHA-256 это 80 MH/s SHA-512 или 3200 паролей в секунду (при 25к раундах).

Если пароль не состоит только из цифр, то брутить 9 символов с такой скоростью бесполезно, разве что по словарю можно попробовать.

P.S. wallet.dat - файл базы данных berkeley db


Title: Re: Wallet.dat перебор по словарю
Post by: Aion2n on February 18, 2012, 10:12:39 AM
Ага помогайте, и потом на бирже опять будет курс падать из за тотального слива :)  ;D


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on February 18, 2012, 12:18:53 PM
Забыл сказать кошель не битковый. А MMMCoin) Но судя по тому что они переделывали LiteCoin, алгоритм должен быть похожий. Сорцов пока нет, так что наверняка сказать трудно. О полном переборе речь и не идёт. Знаю что это долго очень. Написал прогу, которая создаёт самые частые ошибки при наборе пароля)) Вот пример её работы. Мутации слова "пароль"
Code:
gFHJKM
GFHJKM
Gfhjkm
gfhjkm
пАРОЛЬ
ПАРОЛЬ
Пароль
пароль
К сожалению в моём случае это не помогло((
Значит очепятка была в другом. Скорее пропустил или не дописал букву какую-то. Набирал в слепую, и так как пароль не отображается, мог промахнуться по кнопках, неправильно расположив руки


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on February 18, 2012, 04:01:34 PM
Может кто-то скомпилит отдельно чекер паролей? Я бы сам сделал, и вам голову не морочил, если бы руки росли с того места и хоть немного понимал в Си сорцах. Можно и на CPU, мне спешить особо некуда. Просто жалко монеток. Да и словарь будет небольшой до миллиона самых вероятных комбинаций. Даже со скоростью 300п/с.


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on February 18, 2012, 04:16:34 PM
Всё! Хакнул свой кошелёк))))
Аццким методом, которого и врагу не пожелаешь. Через GUI) Модифицировал свой автокликер немного. Потребоваться 243 комбинации. Можно сказать повезло) Промахнулся по букве К, и нажал Е. Странно что это два раза при вводе и подтверждении накосячил так)) Нет слепому набору, при вводе пароля


Title: Re: Wallet.dat перебор по словарю
Post by: LZ on February 18, 2012, 05:05:20 PM
Ну, круто, что тут сказать. Где наша не пропадала! ;D


Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 15, 2013, 08:03:07 PM
Ага, а теперь вопрос - осталось что от этого софта? Я следующий в очереди - тоже не могу кошель разлочить...


Title: Re: Wallet.dat перебор по словарю
Post by: suppp on April 16, 2013, 07:06:37 PM
сколько монет было?


Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 17, 2013, 10:53:22 AM
сколько монет было?
Для меня достаточно :)


Title: Re: Wallet.dat перебор по словарю
Post by: fsb4000 on April 17, 2013, 02:03:55 PM
сколько монет было?
Для меня достаточно :)
Пароль забыт целиком, или помнишь частично пароль?


Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 17, 2013, 02:55:55 PM
Не, ну ведь эту "анкету" все уже заполняли. Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

сколько монет было?
Для меня достаточно :)
Пароль забыт целиком, или помнишь частично пароль?


Title: Re: Wallet.dat перебор по словарю
Post by: fsb4000 on April 17, 2013, 03:09:09 PM
Не, ну ведь эту "анкету" все уже заполняли. Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

А словарь уже создал?


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on April 18, 2013, 10:58:18 AM
Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

Есть:
-софт для вытаскивания шифрованных ключей из кошелька
-чекер паролей(около 20 паролей в секунду, у меня на компе)
-генератор словаря из возможных паролей (раскладка, капс, соседние клавиши, пропущенные клавиши, повтор клавиш)
Не обладает магическими способностями угадывания забытых паролей, паролей к чужим кошелькам, поможет лишь при ошибочном вводе своего пароля, как это бывает)

Всё вместе 10 BTC. Сразу извиняюсь за меркантильность. Жизнь вынуждает.


Title: Re: Wallet.dat перебор по словарю
Post by: fsb4000 on April 18, 2013, 11:04:55 AM
Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

Есть:
-софт для вытаскивания шифрованных ключей из кошелька
-чекер паролей(около 20 паролей в секунду, у меня на компе)
-генератор словаря из возможных паролей (раскладка, капс, соседние клавиши, пропущенные клавиши, повтор клавиш)
Не обладает магическими способностями угадывания забытых паролей, паролей к чужим кошелькам, поможет лишь при ошибочном вводе своего пароля, как это бывает)

Всё вместе 10 BTC. Сразу извиняюсь за меркантильность. Жизнь вынуждает.
без обид, но 20 паролей/секунду за 10BTC это чушь(Ты сам бы купил для своего случая в начале? Я очень сомневаюсь...).Хотя может и найдутся, те кому это будет полезно...


Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 18, 2013, 11:07:03 AM
На чем чекер написан, и сколько потоков? "у меня на компе" значит что сам чекер не предоставляете?
Словарь у меня и самого есть, правда генератор с мутациями возможно составит более полный. Перечислите пожалуйста мутации которые он может делать (помимо тривиальных).
И 10 BTC все равно много.
Кстати кошелек - Litecoin, а не Bitcoin...
Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

Есть:
-чекер паролей(около 20 паролей в секунду, у меня на компе)
Всё вместе 10 BTC. Сразу извиняюсь за меркантильность. Жизнь вынуждает.


Title: Re: Wallet.dat перебор по словарю
Post by: Ninazu on April 18, 2013, 11:13:48 AM
На чем чекер написан, и сколько потоков? "у меня на компе" значит что сам чекер не предоставляете?
Словарь у меня и самого есть, правда генератор с мутациями возможно составит более полный. Перечислите пожалуйста мутации которые он может делать (помимо тривиальных).
И 10 BTC все равно много.
Кстати кошелек - Litecoin, а не Bitcoin...
FASM, cколько угодно потоков. Я 4 ставил, так как 4 ядра. Больше не вижу смысла быстрее не будет) Мутации написал. Можно добавить, конечно, но мне кажется что всё остальное это уже ближе к бруту. Основные ошибки которые могли возникнуть при вводе я реализовал.
Всего лишь предложил). Насчёт лайтов думаю можно было бы адаптировать. Но коль вопрос упёрся в цену, то не вижу смысла.

без обид, но 20 паролей/секунду за 10BTC это чушь....Хотя может и найдутся, те кому это будет полезно...
20 пасов в секунду - достаточно, чтобы восстановить СВОЙ пароль. Мы ведь не говорим сейчас о GPU бруте.


Title: Re: Wallet.dat перебор по словарю
Post by: fsb4000 on April 18, 2013, 10:34:22 PM
Vezunchik
Вот написал довольно простую программу, которая возможно тебе поможет.
Программа читает пароли из файла Пароли.txt (Каждый пароль с новой строки, чтение с диска происходит один раз, весь файл копируется в оперативную память)
Затем ищет окно с именем "Сменить пароль", делает его активным, и заносит туда пароль, затем снова и снова. Пока либо не закончатся пароли, либо не исчезнет окно "сменить пароль" (оно исчезнет при верном пароле)
( То есть мы пишем руками "новый пароль" и "повторите новый пароль", устанавливаем курсор на "Введите пароль" и запускаем программу)
Производительность примерно 5 паролей в секунду  :-\
Примерно работает так: http://ru.twitch.tv/fsb4000/b/392632404
(В видео верный пароль был 309, но так "сменить пароль" исчезает не моментально, то программа послала еще 3 пароля :) )
Требуется .Net 4.(Если вдруг ещё не установлен http://www.microsoft.com/ru-ru/download/details.aspx?id=17851)
Процессор почти не загружает, можно например оставить программу на ночь  вместе с работающим майнингом...
Ссылка на программу: http://yadi.sk/d/X48_EGMv4ABA6




Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 20, 2013, 07:59:42 PM
Спасибо конечно за доброту. Но мне не хочется бинарник не совсем понятный на машине запускать. (Не вникал, может Вы уважаемый человек, но бинарник все равно не возьму :) )
Кроме того я уже начал писать brute-force программу с генератором словарей для GPU и возможно ASIC майнеров. Писать конечно долго буду, на это опыт, и есть хороший стимул + возможность с разрабами кошелька пообщаться по тех. деталям.
И чтоб учесть все опечатки в моем пароле (+еще регистр и язык + пароль у меня из двух частей смешанных через один символ +я люблю NUM pad, а на нем 2+Shift = ничего) надо 50-500 в секунду чтоб за неделю - 2 словарь перебрать.

Vezunchik
Вот написал довольно простую программу, которая возможно тебе поможет.
Программа читает пароли из файла Пароли.txt (Каждый пароль с новой строки, чтение с диска происходит один раз, весь файл копируется в оперативную память)
Затем ищет окно с именем "Сменить пароль", делает его активным, и заносит туда пароль, затем снова и снова. Пока либо не закончатся пароли, либо не исчезнет окно "сменить пароль" (оно исчезнет при верном пароле)
( То есть мы пишем руками "новый пароль" и "повторите новый пароль", устанавливаем курсор на "Введите пароль" и запускаем программу)
Производительность примерно 5 паролей в секунду  :-\
Примерно работает так: http://ru.twitch.tv/fsb4000/b/392632404
(В видео верный пароль был 309, но так "сменить пароль" исчезает не моментально, то программа послала еще 3 пароля :) )
Требуется .Net 4.(Если вдруг ещё не установлен http://www.microsoft.com/ru-ru/download/details.aspx?id=17851)
Процессор почти не загружает, можно например оставить программу на ночь  вместе с работающим майнингом...
Ссылка на программу: http://yadi.sk/d/X48_EGMv4ABA6





Title: Re: Wallet.dat перебор по словарю
Post by: Vezunchik on April 20, 2013, 08:01:52 PM
Кстати да, как напишу продавать буду. Или народ будет слать файл с 1 шагом хеширования словаря, а я брутить. Уж точно не за 10 BTC - за % от содержимого кошелька.

Разумеется не полностью - перебор по словарю. Просто не знаю как реализовать.

Есть:
-софт для вытаскивания шифрованных ключей из кошелька
-чекер паролей(около 20 паролей в секунду, у меня на компе)
-генератор словаря из возможных паролей (раскладка, капс, соседние клавиши, пропущенные клавиши, повтор клавиш)
Не обладает магическими способностями угадывания забытых паролей, паролей к чужим кошелькам, поможет лишь при ошибочном вводе своего пароля, как это бывает)

Всё вместе 10 BTC. Сразу извиняюсь за меркантильность. Жизнь вынуждает.

Нифига себе цены. Мягко говоря неадекватные. Тут максимум в 1 BTC.


Title: Re: Wallet.dat перебор по словарю
Post by: airesp on January 18, 2017, 12:58:54 PM
Есть FPGA железки для перебора, и софт для генерации метаморфных словарей. Цена мне понравилась)) 10BTC)

P.S. Cвой 10-ти значный пароль всплыл в 17Gb словаре)


Title: Re: Wallet.dat перебор по словарю
Post by: novikov433 on January 05, 2018, 10:33:10 PM
Есть FPGA железки для перебора, и софт для генерации метаморфных словарей. Цена мне понравилась)) 10BTC)

P.S. Cвой 10-ти значный пароль всплыл в 17Gb словаре)
Что это вообще такое?