8 способов взломать крипто кошелек и как сберечь свои денежки
Криптовалюту на рекордные $14 млрд украли хакеры в 2021 году. Это на 79% больше, чем в 2020. Аппетиты бандитов растут, поэтому мы и написали эту статью. В прошлой статье мы рассказали, как создать криптокошелек, а сегодня собрали самые популярные способы выкрасть вашу крипту и рассказали, как этого избежать.
Другими словами это сайты клоны, которые создают киберпреступники с одной лишь целью — выудить ваши персональные данные. В случае с криптовалютой — это приватные ключи от кошельков. Сегодня это один из самых распространенных и прибыльных типов мошенничества в криптомире. Хотя сейчас его доля в общем количестве кибер преступлений снижается: в 2017 году цифра эта равнялась 88%, а в 2018 уже была менее 39%. Но опасность все еще есть, так что будьте во всеоружии. Криптопреступники атакуют кошельки на биржах, а также платформах покупки криптовалюты.
Что делать, чтобы не попасться на фишинг: быть внимательным и проверять протокол HTTPS, а еще с недоверием относиться к бесплатным раздачам крипты.
Или по другому вирус, который проникает в систему под видом лицензированного программного обеспечения. Как это применимо к криптовалюте? Есть такой вирус — Win32.Rakhni, который находит в вашем компе крипто кошелек, шифрует ваш комп, а создатели позже клянчат с вас деньги за разблокировку. Что еще может сделать этот вредитель? Похитить вычислительные мощности компа для скрытого майнинга. Распространяется вирус через электронные письма, где содержится пдф-файл. Открыли и все, вирус ваш.
Как и в случае с фишингом, выход один — не открывать подозрительные письма и быть крайне внимательным к любым вложениям.
Их еще называют кейлоггерами. Этот инструмент записывает все, что вы набиваете на клаве. Соответственно пароли и явки такой шпион тоже пишет — и ключи к кошельку в том числе. В вашу антивирусную программу уже добавлена защита от всех известных кейлоггеров, только вот они плодятся, как грибы после дождя.
Чтобы они вам не навредили используйте специальный софт.
Один из самых популярных инструментов кибермошенников. Ведь авторизованные пользователи фактически получают доступ к вашей информации. Хакеры пошли дальше и научились переподключать устройства на свои собственные сети wi-fi. Им и все карты в руки: что у вас происходит, какие у вас там пароли и ключи — все это становится им известно.
Как себя обезопасить? Перепрошивать роутер и никогда не проводить транзакций с задействованием общественного Wi-Fi.
А точнее slack-боты. Они рассылают пользователю уведомления с информацией о том, что его с кошельком что-то произошло. Главная цель — чтобы пользователь нажал на кнопочку и ввел приватный код. По рекомендациям тут все логично: не нажимайте куда не следует и шлите жалобы на подобные боты.
Производится она по SMS и это один из самых популярных способов верификации транзакций. С помощью перенаправления подобных сообщений на собственный номер мошенники могут получить, сбросить и установить свой пароль на почте, а там и до ключа к кошельку недалеко. Также преступники могут взломать ваш персональный кабинет в приложении сотового оператора или даже выпустить дубликат вашей SIM-карты, чтобы потом использовать ее для воровства данных.
Чтобы этого избежать, откажитесь от верификации по SMS, лучше используйте спец программы двухфакторной аутентификации.
Это касается прежде всего пользователей Андроидов. Злоумышленники создают свои приложения и размещают их в Google Play — здесь проверка более лояльна, чем в App Store. Приложения имитируют крипто кошельки или биржи, с помощью которых мошенники получают личные данные владельцев. И уже позже на официальных ресурсах — настоящих биржах и в настоящих кошельках, которые они подделали — они снимают все сливки. Бывают такие приложение, которые запускают скрытый майнинг на вашем устройстве.
Что же делать, чтобы не попасться на такие вот фейки? Не устанавливать приложения, которые вам особо не нужны. И обязательно сверяйте ссылки на приложения на официальных сайтах компании.
Их бывает очень много и все они нужны, чтобы вам было проще обращаться с крипто кошельками. При этом почти всегда они крайне уязвимы перед хакерскими атаками. Как справиться с этой угрозой? Установить отдельный браузер для трейдинга и почаще обновлять антивирусные программы. И да, не скачивайте непроверенные плагины и расширения.
Как я хакнул Ethereum кошелек друга за 26 минут на MacBook M1 Pro

Я отправил сообщение на новый адрес Алекса с его взломанного кошелька.
В сентябре 2022 года я решил создать себе новый hot wallet для ежедневного использования. Хотелось сгенерировать себе что-то легко узнаваемое, например 0x0000. aced . Мой друг Алекс сказал мне, что он использовал для таких целей Profanity, инструмент для создания Ethereum кошельков с красивыми адресами. Когда я открыл их GitHub репозиторий, то я увидел в README файле, что была найдена критическая ошибка. Кроме того, в тот же день была опубликована статья в блоге 1inch с некоторыми идеями по её использованию.
У меня было свободное время, поэтому я решил погрузиться в тему и самостоятельно реализовать взлом. В этой статье я объясню, как можно взломать адреса, сгенерированные с помощью Profanity, и как я смог подобрать приватный ключ к кошельку моего друга на MacBook M1 Pro (16 Гб) за 26 минут. Погнали!
Как получить публичный ключ?
Если у вас есть закрытый ключ k (случайное число длиной 256 бит), то вам нужно немного «пошаманить» с криптографией на эллиптической кривой, чтобы получить ваш открытый ключ. Более конкретно, ваш открытый ключ K = k * G , где G — точка генератор на эллиптической кривой. Затем вы берете 5 младших байт хеша keccak256 от открытого ключа, чтобы получить адрес, на который вам обычно и кидают эфиры. Как можно догадаться, вы не можете обратить этот процесс. Таким образом, единственный способ получить адрес с множеством ведущих нулей — это перебрать много различных приватных ключей.
Как работает Profanity?
Profanity использует OpenCL ядра для параллельного запуска большого количества GPU потоков, которые генерируют миллионы адресов в секунду с помощью простого алгоритма:
Profanity генерирует случайный сид S , который используется при генерации закрытого ключа k .
Затем он создает примерно 4 миллиона воркеров, где i-й воркер принимает K[i, 0] = (k + i * 2^192) * G в качестве начального открытого ключа.
После этого каждый воркер увеличивает свой открытый ключ на G , пока адрес, полученный из него, не будет соответствовать требованиям пользователя. Когда он будет найден, вы можете легко вычислить закрытый ключ, зная номер воркера, который его нашел, и сколько итераций он совершил.
Что здесь не так?
Описанный метод прост и эффективен, но в его реализации есть небольшая проблема, которая имеет значительные последствия. Случайный сид S , который используется для генерации закрытого ключа k , является 32-разрядным числом вместо 64-разрядного. Обратите внимание, что если вы знаете S , который Profanity использовал в процессе генерации, вы знаете все закрытые ключи, которые он генерировал.
Мы собираемся использовать тот факт, что количество всех сидов всего 2^32 .

Вот и ошибочка.
И как хакнуть-то?
Идея алгоритма
Если у вас есть адрес, который был сгенерирован с помощью Profanity, вы можете найти соответствующий закрытый ключ, выполнив обратный процесс генерации:
Сначала вам нужно восстановить открытый ключ K_t соответствующий адресу. Вы можете это сделать, если есть любая транзакция подписанная жертвой. Например, вы можете попробовать найти её на Etherscan.
Если открытый ключ K_t был сгенерирован из начального открытого ключа K при помощи добавления необходимого количества G ( +2^192 * G для каждой строки и +G для каждого столбца), то можно инициализировать воркеров таким образом, чтобы i-й воркер начинал с открытого ключа K_t — i * 2^192 * G , а затем уменьшал его на G на каждой итерации, пока K не будет найден кем-либо из них.
Если вы знаете, какой закрытый ключ соответствует K , вы можете вычислить и закрытый ключ жертвы (опять же, потому что вы знаете строку и столбец, где его нашли).
Вроде бы все просто! Но есть один нюанс! Мы не знаем начальный открытый ключ K .
Уязвимость
Да, мы не знаем, какой начальный открытый ключ K был использован при генерации кошелька жертвы. Но мы знаем, что он был получен из одного из 2^32 сидов (примерно 4 миллиарда). Таким образом, мы можем проитерироваться через все и предварительно вычислить все соответствующие закрытые и открытые ключи.
Теперь, когда мы запускаем обратный процесс, на каждой итерации мы должны проверять, принадлежит ли новый открытый ключ нашему предварительно вычисленному набору. Если мы находим ключ, который находится в множестве, то кошелек взломан!
Если бы сид имел 64 бит, то мы были бы должны предварительно вычислить 2^64 открытых ключей. Это очень много! В 4 миллиарда раз больше!
Задача поиска
Эта часть алгоритма самая нетривиальная.
Еще разок. Мы должны уметь проверять элемент на принадлежность множеству из 2^32 открытых ключей. В идеале бы, чтобы каждый воркер выполнял эту проверку на GPU, чтобы CPU не был бы узким горлышком.
У нас есть 2^32 открытых ключей. На самом деле это не выглядит огромным количеством для современных компьютеров. Но каждый открытый ключ занимает 32 байта в сжатом виде. Поэтому, если вы решите хранить их все на диске, то потребуется 128Gb памяти. Более того, скорее всего ваш компьютер не имеет 128Gb RAM для загрузки их в память.
Проще говоря, 128Gb это слишком много. Если мы используем только 12 байт для каждого открытого ключа, то потребуется 48GB памяти для их хранения, и вероятность коллизий будет низкой. Так и поступим. Когда я использовал только 8 байт, то коллизии происходили.
Разделение
Если у вас есть видеокарта с 48Gb и более, то вы можете загрузить все ключи в память, чтобы каждый воркер мог искать их с помощью двоичного поиска или используя какую-то другую структуры данных.
Я хотел взломать Алекса с помощью моего MacBook Pro M1 с 16Gb памяти, поэтому я выбрал 8Gb в качестве ограничения и попробовал несколько разных подходов.
Бинарный поиск
Я поделил множество всех открытых ключей на 4 части по 2^30 ключей в каждой. Затем взял только 8 байт от каждого открытого ключа, отсортировал их и загрузил в память. Это ровно 8Gb памяти видеокарты.
Теперь каждый воркер может выполнять бинарный поиск, чтобы проверить, принадлежит ли его открытый ключ множеству.
Как вы помните, я уже упомянул, что коллизии случаются, если использовались только 8 байт. Но это не большая проблема, потому что они случаются редко, и когда это происходит, я сравниваю эти открытые ключи на CPU используя 12 байт.
Хеш-таблица
Двоичный поиск — отличный алгоритм, но есть ли способ найти элемент еще быстрее? Конечно. Мы можем использовать хеш-таблицу. Однако есть одно ограничение. Все слоты использовать нельзя. Как правило, большинство реализаций хеш-таблиц с открытой адресацией имеют коэффициенты загрузки 50%. Таким образом, если у нас выделено 8Gb для хеш-таблицы, то мы можем хранить только 2^29 открытых ключей (8 байт каждый). Поэтому нам нужно разбить наш набор на 8 частей, а не на 4.
Стоит ли это того? С одной стороны, чем больше у нас частей, тем больше мы тратим вычислительных ресурсов на повторное прохождение по одним и тем же ключам. С другой стороны, проверка элемента на принадлежность в хеш-таблице работает за O(1) вместо O(log N) для двоичного поиска.
Сравнение
Реализации с хеш-таблицей потребовалось 64 минуты для выполнения 10 000 итераций, а двоичному поиску — почти 4 часа. Даже несмотря на повторные вычисления для 8 частей, вместо 4, первый подход работает гораздо быстрее.
Вот и самая вкусная часть! Я потратил 7,5 часов на предподсчет открытых ключей на своем Macbook Pro, а также 26 минут на сам взлом закрытого ключа Алекса. Это просто безумие!
Profanity уже почти 5 лет, а эта уязвимость всегда была там, ожидая пока её кто-нибудь найдет. Интересно, сколько еще мелких ошибок и опечаток скрыто в мире крипты, которые могут иметь существенные последствия.
Что тут сказать? Будьте осторожны, всегда проверяйте свой код и подписывайтесь на мой аккаунт в Twitter и блог в Telegram
Disclaimer
Этот пост был подготовлен исключительно в образовательных и развлекательных целях.
Как брутить криптовалютные кошельки Metamask и Exodus
В этой статье я покажу вам способ брута криптовалютных кошельков Metamask и Exodus.
- Для начала скачиваем hashcat отсюда -> github + github (скрипты) и кидаем все в одну папку.
Перед тем, как брутить, нужно получить хеш из ваулта:
1. Переходим в директорию: ЛОГ/Wallets/*браузер*_Metamask
2. Открываем "000***.log" и копируем следующую строку:
- Нужно создать отдельный .txt файл и поместить туда содержимое, при этом удалив символ "\':
4. Открываем через CMD файл metamask2hashcat.py и пишем следующую команду:
metamask2hashcat.py —vault ТЕКСТОВИК С ВАУЛТОМ
- Получаем хеш в виде: $metamask$. Копируем его и вставляем в тхт для удобства:

- Далее, возвращаемся в папку с хешкетом и открываем его через CMD и пишем команду:
Пример: hashcat -a 0 -m 26600 hash.txt passwords.txt

- -a 0 — тип атаки брутфорс через словарь
- -m 26600 — тип хеша (метамаск)
- ?a — подбор пароля путем перебора всех символов (буквы, спец. символы, цифры и т.д.)
- количество "?a" зависит от длины пароля
- если известны первые две буквы пароля: SI?a?a?a?a?a?a
- если последние 6 символов в пароле цифры: SI?d?d?d?d?d?d
- если известна примерная длина пароля (допустим от 5 до 10): hashcat -a 3 -m 26600 хеш.txt-i —increment-min=5 —increment-max=10 SI?a?a?a?a?a?a?a?a

SKELETON
- 26 Янв 2023
- #2
Strange
- 30 Май 2023
- #3
ну статья годная как минимум для даунов. Но всё равно отпишу: hashcat это уиверсальная программа для перебора по словарю или бруту (ннет это не одно и тоже, удались из всех чатов, где не чувствуют разницы). ОТличительная черта: использует GPU, поэтому позаботься о драйверах и перед использованием проверь работу с помощью hashcat -b . На новых (<8 лет) видеокартах проблем нет вообще, если у тебя ноутбук, то перед использованием отключи зашиту от спектрум, мельдаун и вытекающие из них.
Любитель Биткоина подобрал комбинацию от криптовалютного кошелька всего за 25 минут. Как ему это удалось?
Получить доступ к содержимому криптовалютного кошелька проще простого, если вы знаете все слова из его сид-фразы. Именно такой вызов был опубликован в Твиттере пользователем под ником Wicked. Он выложил скриншот с комбинацией слов в случайном порядке и предложил подписчикам подобрать секретную фразу к кошельку. Как оказалось, этот процесс не занимает много времени – с заданием быстро справился системный архитектор Эндрю Фрейзер из Бостона. В итоге журналисты взяли у него интервью, чтобы лучше разобраться в деталях происходящего. Вот они.
Напомним, сид или мнемоническая фраза – это секретная комбинация, которая используется для восстановления доступа к криптовалютному кошельку. Она может состоять из 12, 18 или 24 слов, что напрямую влияет на безопасность активов.
Наличие сид-фразы означает полный контроль над криптовалютным кошельком его владельцем. Например, данная уникальная комбинация отображается при создании счёта в знакомом нам кошельке Phantom.
В то же время криптовалютные биржи, централизованные кошельки и прочие подобные платформы не раскрывают сиды своим пользователям, ведь активы на бирже контролируют сотрудники компании. Это значит, что для проведения какой-либо операции по типу вывода монет на сторонний кошелёк юзеры вынуждены дожидаться разрешения от представителей платформы.
Отображение сид-фразы в кошельке Phantom
Каждый сид является уникальным, а его потеря или случайное раскрытие означает утрату криптоактивов. Всё же восстановить доступ к кошельку, введя сид в интерфейсе приложения — проще простого.
Как взломать криптокошелёк?
Wicked выложил в Твиттере фото двенадцати слов на листочках, расположенных по кругу в случайном порядке. Если ввести слова не в той последовательности, доступ к кошельку не откроется. Исходя из этого сам автор загадки отметил, что всего есть около 9 триллионов способов ввести представленную им сид-фразу, сообщает Cointelegraph.
Сид-фраза, предложенная Wicked
Приз для разгадавшего комбинацию – 100 тысяч сатоши, то есть 0.001 BTC или около 30 долларов на кошельке. Сумма досталась победителю уже спустя 25 минут после публикации сид-фразы. В данном случае Эндрю Фрейзер воспользовался программой BTCrecover, которую можно найти на GitHub. Речь идёт о программном обеспечении, которое рассчитано на восстановление секретной комбинации по известным словам.
БОЛЬШЕ ИНТЕРЕСНОГО МОЖНО НАЙТИ У НАС В ЯНДЕКС.ДЗЕНЕ!
В интервью журналистам Фрейзер прокомментировал свои действия, которые помогли ему добиться результата.
Моя игровая видеокарта смогла определить правильный порядок сид-фразы примерно за 25 минут. Хотя более мощная система сделала бы это гораздо быстрее.
Он отметил, что любой человек, обладающий базовыми знаниями о выполнении скриптов Python, использовании командной оболочки Windows и понимании протокола Биткоина, смог бы повторить то же самое. При этом Фрейзер полностью уверен в безопасности самой сид-фразы, когда мошеннику не известны хотя бы несколько слов из её набора.
В то же время эксперт подчеркнул исключительную безопасность сид-фраз из 24 слов.
Даже если злоумышленник знает все 24 слова вашей сид-фразы без корректной последовательности, у него нет шанса получить доступ к криптокошельку.
Напомним, сид-фразы из 24 слов используются в уже знакомых нам аппаратных кошельках Ledger. Подробнее о настройке подобного устройства и отправке на него криптоактивов мы рассказывали в этом материале.
Фрейзер также объяснил разницу в безопасности между двумя типами сид-фраз с помощью расчётов. Комбинация из 12 слов имеет приблизительно 128 бит энтропии, в то время как фраза из 24 слов достигает 256 бит энтропии. Когда злоумышленник знает неупорядоченные слова из более короткой фразы, существует всего около полумиллиарда возможных комбинаций ввода, что относительно легко проверить с помощью приличного графического процессора. А вот у сид-фразы из 24 слов есть примерно 6.24^24 возможных комбинаций – а это очень много нулей. И заодно очень низкая вероятность взлома.
Всё это является важным напоминанием о необходимости следить за тем, чтобы сид-фразы никогда не публиковались и не передавались через интернет. Это означает, что секретные комбинации не должны храниться в менеджере паролей или облачном хранилище, а также точно не должны набираться в телефоне. Особенно важно избегать создания скриншотов при отображении мнемонической фразы во время настройки мобильного кошелька. Взлом iCloud или другая подобная неприятность может закончиться потерей денег.
Ещё Фрейзер подчеркнул важность сохранения сид-фраз в тайне и использования контрольной секретной комбинации, которая функционирует как часть ключа для разблокировки кошелька. Что касается 100 тысяч сатоши, которые Фрейзер забрал домой, то в тот вечер он потратил их на ужин – курицу марсала.
Данная история наглядно демонстрирует, что криптовалютных инвесторов в первую очередь должны беспокоить не курсы монет, а сохранность их сид-фразы. Если последняя окажется в чужих руках, тогда злоумышленник может очень быстро отправить криптоактивы на свои кошельки, после чего добраться до них уже не получится. Соответственно, каждый держатель немалой суммы монет на частных некастодиальных кошельках должен как следует подумать, где хранить важнейшую комбинацию. Как отмечают эксперты, в идеале она должна находиться не в той же локации, где лежит аппаратный кошелёк.
Ещё больше интересного ищите в нашем крипточате бывших богачей. Там обсуждаем происходящее на рынке цифровых активов и заодно ждём наступления буллрана.