Всего несколько дней назад началась охота за биткоинами на сумму миллион долларов, однако один изобретательный хакер уже смог пройти первый этап, потратив на это пару минут, не выходя из дома.
Satoshi's Treasure — это игра в альтернативной реальности, призывающая игроков объединиться для поиска ключей, спрятанных в реальных местах. Время от времени подсказки распространяются через рассылку. Списки лидеров, наиболее близких к получению приза, постоянно транслируются в игре. Всего существует 1000 фрагментов приватного ключа; $ 1 млн в биткоинах разблокируется после того, как будут найдены первые 400 частей.
Подсказки к первым трем ключам были распространены через биткоин-спутник Blockstream 15 апреля. Они должны были заставить игроков искать QR-коды, спрятанных в Сан-Франциско, Лондоне, Уганде, Китае и Австралии.
Received a new message over @Blockstream Satellite. It appears to be a treasure hunt for $1,000,000 in #bitcoin, with included GPS coordinates for the first part of the hunt! ??️??️ https://t.co/M4mKMbQ8KU pic.twitter.com/HzkEJ8RFXc
— grubles (@notgrubles) April 15, 2019
Вместо того, чтобы мотаться по всему миру, игрок Джон Кантрелл завершил первый этап, просто взломав эту информацию.
Чтобы доказать результат, он выложил проделанную работу на github и написал об этом в Твиттере:
«Я просто объяснил, как получить три первых фрагмента ключа за несколько минут».
Just wrote up an explanation of how I obtained the first three key shards in a few minutes today. @wheatpond @martybent https://t.co/0Mrvzbiu80
— John Cantrell (@JohnCantrell97) April 16, 2019
Кантрелл начал с использования QR-кода, найденного и загруженного таким же охотником за сокровищами. Поскольку это была первая подсказка, дальше было относительно просто – сканирование обеспечивало игроку ключ с паролем, включенный в сам QR-код.
«Потом нужно было дождаться 17 апреля, чтобы получить ключи от следующих городов №2 и №3. Но я не стал ждать и копался в той информации, которая уже имелась, – написал Кантрелл. – В этом мне помог мой богатый опыт игры в«Notpron».
Кантрелл проверил исходный код сайтов Satoshi's Treasure и обнаружил в нем зашифрованные пароли для следующих двух ключей.
«После того, как я увидел исходный код, я понял, что проверка пароля на правильность может быть сделана локально. В итоге я провел атаку подбором слов, – добавил он. – Мой вывод состоял в том, что паролем для ключа №2 и ключа №3 будут английские слова».
Для взлома шифрования использовался скрипт Ruby, который обнаружил слова, необходимые для разблокировки 2-го и 3-го ключей за сутки до их релиза.
В ответ на эти сообщения Дави Вэн (Dovey Wan) из Wheatpond (одной из фирм, занимающихся разработкой Satoshi's Treasure) написал:
«Все верно, мы сделали это специально, чтобы проверить уровень умений игроков. Чем быстрее это случилось бы, тем быстрее возрос уровень сложности».
Для тех, кто хочет сыграть в Satoshi's Treasure так же как и Кантрелл, то есть не выходя из квартиры, полное описание методики находится здесь.