Представьте, что в 2013 году вы заблокировали 43,6 биткоина в своем биткоин-кошельке, надежно спрятали пароль, чтобы обнаружить спустя десять лет, что ваш пароль больше не работает. К кому бы вы обратились, если стоит на кону почти $3 миллиона? Ответ – хакер по имени Джо Гранд.
Как сообщила Ким Зеттер для Wired, Джо Гранд и его команда смогли восстановить биткоины благодаря уязвимости в версии менеджера паролей RoboForm, которая использовалась для генерации безопасного пароля десять лет назад.
История началась в 2022 году, когда владелец кошелька, который попросил остаться анонимным, обратился к Джо Гранду, известному своими успехами в восстановлении биткоинов из кошельков с потерянными паролями. По словам Зеттер, изначально Гранд отказал европейскому владельцу, известному только как Михаил.
На самом деле, Гранд, или Кингпин, как его зовут хакеры, отказывает большинству людей, обращающихся к нему за такой услугой. Его основная работа – консультировать разработчиков систем, чтобы помочь им предотвратить взломы, такие как тот, что он проводит. Хотя наиболее известный случай восстановления биткоинов Гранда был с аппаратным кошельком в 2022 году, Михаил использовал программный кошелек, поэтому навыки взлома аппаратного обеспечения были бесполезны.
Когда Михаил обратился к Гранду снова через год, Гранд решил попробовать с помощью немецкого коллеги по имени Бруно.
Похоже, проблема заключалась в том, что Михаил создал сложный пароль с помощью менеджера паролей RoboForm, который затем был зашифрован с использованием TrueCrypt. Вы, возможно, уже догадались, что произошло дальше: этот зашифрованный файл с паролем был поврежден, и резервной копии не было. Михаил не хранил пароль в RoboForm, потому что боялся, что кто-то мог взломать его компьютер и получить к нему доступ к своему биткоиновому состоянию. О, этот парадокс.
После многих месяцев упорного труда хакеры провели реверс-инжиниринг той очень старой версии программного обеспечения RoboForm и обнаружили уязвимость в использованном им псевдослучайном генераторе чисел. Оказалось, что пароль был не таким случайным, как предполагалось, поскольку он был связан с датой и временем его генерации. “Если вы знали бы дату и время и другие параметры, вы могли бы вычислить любой пароль, который был сгенерирован в определенную дату и время в прошлом”, – сказала Зеттер.
К сожалению, вы, возможно, уже догадались: Михаил не мог вспомнить ни то, ни другое.
Мозг хакера работает по-другому, и отсутствие такого важного деталя не было достаточным для их отпугивания. Вместо этого они проанализировали журналы его программного кошелька для даты, когда биткоины были переведены в него. Анализируя параметры других сгенерированных паролей RoboForm, дуэт хакеров смог определить тип пароля, который должен был быть сгенерирован, и использовал диапазон дат с 1 марта по 20 апреля 2013 года. Когда это не сработало, или скорее, сгенерированные пароли не сработали, временной интервал был изменен на 1 июня, но безрезультатно.
В конечном итоге, однако, путем настройки параметров после получения большего количества информации от Михаила был найден пароль, сгенерированный 15 мая 2013 года в 16:10 по Гринвичу.
Разработчик RoboForm – Siber Systems – подтвердил, что проблема с генератором случайных чисел была исправлена еще в 2015 году.
Михаил продал часть своих биткоинов, когда пароль был взломан к концу 2023 года, после того как Гранд и Бруно получили свою долю вознаграждения за восстановление. У Михаила осталось 30 биткоина в кошельке, и у него есть примерно $3 миллиона на игру. Согласно истории в Wired, он планирует подождать, пока курс достигнет $100 000, чтобы вывести деньги.