Обучение Руководство по расследованию преступлений по транзакциям Bitcoin

BlackFoxService

Начинающий
Подтвержденный
Регистрация
21.07.20
Сообщения
21
Реакции
2
Telegram
Тут я не буду вставлять скрины, что бы не нагружать статью. Просто попытюсь максимально подробно и просто расписать



Для начала рассмотрим виды ключей Bitcoin:

1. Открытый — открытый ключ (он же хеш) — доступен абсолютно для кадого пользователя сети. В последствии открытый ключ преобразовывается в адрес, по которому осуществляется получение криптовалюты.

2. Закрытый ключ — это хеш, доступный только владельцу кошелька. Закрытый ключ дает безграничный доступ к кошельку, благодаря которому можно выводить деньги с кошелька.



Закрытый ключ обычно храниться в файле wallet.dat, и может быть импортирован на переносное и другие устройства, в следствии чего — импортирован в другой кошелек для управление криптоактивами.



Получить открытый ключ из закрытого достаточно просто, а вот обратный реверс — из открытого в закрытый практически не возможно, так как требуется определенная последовательность алгоритмов хеширования



Существует 3 вида закрытого ключа:

1. Шестнадцатеричный: 1E79423A4ED27608A15A2616A2B0E5E52CED330AC530EDCC32C8FFC6A520AED1



2. Закрытый ключ, который длиннее обычного адреса и начинается с цифры 5: 5J3hzQ41KoJX64H5YRTqS9YB9LVGacU2qusL37Ys1eVpJTgnr4u



3. Сжатый закрытый ключ может выглядеть аналогично, но начинается либо с K, либо с L:

KyoPrwwmvSZymMrJLRhePV6jTFFpGU6uMVLv5nQhkMM4dpDKaMgG





Поиск биткоин кошельков на ПК:



В данном случае — лучшим инструментом для поиска кошельков являетcя BTCscan




Внимание! Работает только с версией питона 3.0 и выше!



Этот инструмент разработан на Питоне и имеет открытый исходный код.

Имеет интерфейс командной строки.

Единственным обязательным аргументом является -i/--input, который используется для указания диска, каталога или файла, по которым будет выполняться



> python BTCscan.py –input=”C:\(внимание! Переде input два знака «-»)



После выполнения команды исследователю предлагается указать имя дела, которое будет являться частью
выходного файла



В последствии скрипт создает .csv файл, который показывает нам открытый и закрытый ключи.



Обратите внимание, что инструмент не выполняет поиск
зашифрованных или сжатых элементов, поэтому подозрительно выглядящие сжатые файлы, возможно, придется вручную
распаковать перед запуском BTCscan



Сеть Биткоин

Оришинальным клиентом для биткоин является — Bitcoin Core https://bitcoin.org/ru/choose-your-wallet


Требует, чтобы пользователь загрузил полный блокчейн для правильной работы.

В настоящее время клиенту может потребоваться несколько дней, чтобы загрузить громоздкий блокчейн и обновить его



Установка такого клиента инициирует запуск узла.



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



Когда узел запускается, он пытается установить соединение с другими узлами в сети. Во-первых,
узел либо пытается подключиться к IP-адресам так называемых начальных узлов, которые жестко закодированы в
клиенте. Пользователи также могут вручную подключиться к узлу по своему выбору, когда они запускают свой узел с
bitcoind –addnode=<IP-адрес>. После установления соединения узел запрашивает IP
-адреса других узлов, к которым он впоследствии подключается.



Затем процедура обнаружения повторяется с пользователем, связывающимся с узлами B и H, которые будут совместно
использовать другой набор узлов, к которым они подключены, и этот процесс повторяется столько, сколько требуется. В
конце концов, клиент может быть подключен к определенному по умолчанию числу узлов, состоящему из восьми.



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

IP-адреса узлов, к которым подключается клиент, можно найти в стандартном
клиенте Bitcoin Core (Справка -> Окно отладки -> Одноранговые узлы как на ПК, так и на Mac wallet).



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

Те, кто использует Wireshark, могут попытаться извлечь биткойн-сообщения из сетевых
передач. Передача данных, проходящая через порт 8333, используемый биткойнами, может быть перехвачена любым
анализатором пакетов, а Wireshark даже идентифицирует трафик биткойнов на вкладке ‘Протокол’.



Можно предположить, что можно обнаружить
IP-адреса плательщика путем анализа интернет-трафика. Чтобы провести деанонимизацию, необходимо было
бы открыть соединение со всеми биткойн-узлами, активными в сети, и для каждой
транзакции находить IP-адрес клиента, который первым транслировал транзакцию в сеть.



Исходя из того, как работает биткойн, плательщиком должен быть первый человек, который отправляет транзакцию в остальную часть сети биткойн
Следовательно, обнаружение первого узла, который транслирует транзакцию, должно выявить IP-адрес владельца входных биткойн-адресов. Эта логика должна привести к
идентификации плательщика, если только он или она не использует технологию обфускации, такую как прокси-сервер,
VPN или Tor, не поддерживает NAT или не использует веб-кошелек Bitcoin.





Блокчеин кошельки и конфискация

Обычно в расследованиях биткойнов преследуются две ключевые цели: идентифицировать подозреваемого и изъять биткойны
, которые были украдены или использованы для содействия преступной деятельности. В этой главе будут рассмотрены различные типы методов
хранения, с которыми могут столкнуться правоохранительные органы.

Обратите внимание, что биткойны на самом деле не хранятся "на" устройстве; вместо этого устройство хранит кошелек,
содержащий закрытый ключ, который позволяет тратить биткойны. Это проиллюстрировано приведенным ниже рисунком.
Таким образом, получение доступа к чьему-либо закрытому ключу означает получение доступа к чьим-либо биткойнам.



Программные кошельки.

Существует множество настольных биткойн-кошельков, доступных для распространенных операционных систем
Эти кошельки предоставляют графический пользовательский интерфейс (GUI), который позволяет пользователям
удобно проверять баланс на своих биткойн-адресах и список последних транзакций, а также
отправлять / получать биткойны.

Ключевое отличие оригинального клиентского Bitcoin Core (ранее также известного как Bitcoin-QT) от
многих других программных кошельков заключается в том, что для первого требуется загрузка полной цепочки блоков. Баланс
не обновляется должным образом до тех пор, пока не будет загружен полный блокчейн, что может занять несколько дней
Большинство других кошельков - это так называемые облегченные кошельки, которые загружают только ту
часть блокчейна, которая актуальна для пользователя, а не весь блокчейн.



Программные кошельки хранят файл wallet.dat на локальном диске. Файл кошелька, содержащий закрытые ключи, может
храниться либо в незашифрованном, либо в зашифрованном виде. В первом случае доступ к компьютеру подозреваемого - это
все, что требуется для доступа к биткойнам и перевода их на кошелек, контролируемый файлом. Однако на
практике подавляющее большинство пользователей — независимо от того, используют ли они биткойны в законных или незаконных
целях — шифруют свои кошельки.



Облегченные клиенты.

Эти ‘легкие’ клиенты не загружают блокчейн и, следовательно, не имеют возможности проверять
транзакции для сети. Это экономит пользователям десятки гигабайт на их жестких дисках и достаточное
количество вычислительных ресурсов. По этой причине легкие кошельки особенно популярны на мобильных
устройствах и смартфонах, которым не хватает места на диске, вычислительных ресурсов и батареи.



Мобильные устройства.

Доступ к закрытым ключам для мобильных кошельков требует:

1. Разблокировка телефона;
2. Открытие приложения кошелька, которое может быть заблокирован с помощью PIN-кода / проверки отпечатков пальцев.
Как и в случае с настольными кошельками, доступ требует либо сотрудничества подозреваемого, либо обхода защиты телефона с последующей проверкой с использованием Cellebrite, XRY, Paraben или аналогичного продукта.



Веб-кошельки
Для доступа к веб-кошелькам требуется знание имени пользователя или идентификатора кошелька, пароля и, возможно, двухфакторных кодов аутентификации.

Большинство веб-кошельков позволяют пользователям загружать свой кошелек или
экспортировать свой закрытый ключ, чтобы пользователи могли хранить их локально.



Бумажные кошельки
Бумажные кошельки хранят секретные ключи полностью автономно. Все, что требуется для доступа к биткойнам, - это закрытый ключ, который можно распечатать и хранить исключительно на бумаге.
Закрытый ключ часто сопровождается открытым ключом и соответствующими QR-кодами.

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

Бумажный кошелек относительно неудобен для регулярного использования, и те, кто решает его создать, обычно хранят значительную часть своего биткойн-богатства на этом типе кошелька. Если
во время расследования на месте будет обнаружен бумажный кошелек, это позволит получить немедленный доступ к средствам
, связанным с этим закрытым ключом, путем импорта закрытого ключа в любое существующее программное обеспечение кошелька. Большинство
кошельков позволяют импортировать закрытые ключи, и эту опцию обычно можно увидеть в меню Файл -> Импорт.



Детерминированные кошельки

Так называемые детерминированные кошельки, которые могут быть программными, онлайн-кошельками, бумажными или аппаратными кошельками, хранят секретные ключи из начального файла, довольно часто в виде 10-15 слов, которые могут составлять или не составлять предложение.



Яркий пример: MetaMask



Аппаратные кошельки.
Аппаратный кошелек - это особый тип биткойн-кошелька, который хранит личные ключи пользователя на защищенном аппаратном устройстве. Этот кошелек надежно хранит закрытые ключи, так что они не могут быть переданы с устройства в виде открытого текста.



Вероятно, самым интересным аппаратным кошельком для тех, кто заинтересован в конфиденциальности / анонимности, является специальный кошелек размером с кредитную карту Битлокс . Поскольку устройство продается по цене от 200 до
400 долларов США — в зависимости от предлагаемых функций — оно, вероятно , будет использоваться для хранения большого количества биткойнов. BitLox позволяет своему владельцу создавать до 50 невидимых кошельков , которые не отображаются до тех пор, пока владелец не введет номер кошелька и его PIN-код в устройство. Таким образом, следователь никогда не будет уверен, были ли изъяты все кошельки подозреваемого. Кроме того, устройство хорошо работает с операционной системой Tor и Tails (после подключения к ПК с помощью USB-кабеля)



Изъятие Биткоинов

Если следователь идентифицирует биткойн-адреса подозреваемого в блокчейне, важно
иметь в виду, что невозможно изъять биткойны удаленно (если только подозреваемый не хранит свои средства на онлайн-бирже). Чтобы изъять биткоины в помещении подозреваемого, следователи должны найти:

1. Биткойн—кошелек на жестком диске подозреваемого
2. Закрытый ключ подозреваемого — в этом случае необходимо импортировать его в кошелек;
3. Исходное значение восстановления подозреваемого (обычно 12-24 случайных слова).



Чтобы захватить биткойны, недостаточно просто скопировать файл wallet.dat, импортировать закрытый ключ или ввести начальное значение восстановления в программное обеспечение, управляемое файлом. Это просто позволило бы исследователю обнаружить соответствующие открытые ключи вместе с количеством неизрасходованных биткоинов. На данный момент биткойны нельзя считать "изъятыми", поскольку сам подозреваемый или другое лицо, контролирующее закрытый ключ, может переместить средства на другой адрес. Для того чтобы завладеть биткоинами, требуется дополнительный шаг для завершения перевода средств. Следователь должен перевести их на биткойн-адрес, контролируемый правоохранительными органами. В идеале безопасный кошелек должен иметь собственный блокчейн и хорошо проверяться сообществом, поэтому кошелек Bitcoin Core является очень хорошим кандидатом. Само собой разумеется, что официальный биткойн-адрес
должен быть на месте до изъятия, и персонал, проводящий обыск / изъятие, должен иметь его на бумаге или USB-ключе, чтобы они могли переводить биткойны без каких-либо задержек. Поэтому, если это не в этом случае или если есть требование изъять биткойны на месте происшествия, а почтовый биткойн-адрес неизвестен, следователь должен использовать следующее наилучшее доступное решение — создание биткойн-адреса на
лету. Вероятно, самый быстрый и относительно безопасный способ сделать это — использовать bitaddress.org. Сайт на чистом JavaScript, который генерирует закрытый ключ и соответствующий биткойн-адрес на основе движения мыши пользователя, тем самым создавая очень хороший источник случайности. В идеале доступ к веб-сайту должен осуществляться с доверенного компьютера по защищенному соединению, а веб-сайт должен сохраняться в автономном режиме и только после этого использоваться для создания закрытого ключа и соответствующих адресов. Захват будет завершен путем перемещения биткойнов на недавно сгенерированный биткойн-адрес.



Экспорт и импорт закрытых ключей (на примере Bitcoin Core. Все команды вводятся в консоль программы (debug windows))



Закрытый ключ может быть распечатан на бумаге или сохранен в файле wallet.dat на компьютере, телефоне или USB-ключе подозреваемого. Если последнее из них имеет место, ключ можно извлечь с помощью dumpprivkey команда, за которой следует определенный биткойн-адрес. Эта команда раскрывает соответствующий закрытый ключ в формате импорта кошелька (WIP). Обратите внимание, что на зашифрованных кошельках должен быть указан пароль подозреваемого, чтобы раскрыть секретный ключ. Также обратите внимание, что команда dumpprivkey



Когда секретный ключ подозреваемого извлекается, он должен быть импортирован в кошелек, чтобы биткойны можно было перевести на адрес, который находится в исключительном распоряжении правоохранительных органов. Процедура импорта отличается для каждого кошелька. Для стандартного кошелька Bitcoin Core необходимо выбрать Help -> Debug Window и ввести importprivkey, за которым следует закрытый ключ.



Извлечение всех биткойн-адресов, хранящихся в кошельке

Независимо от того, был ли захват успешным или нет, следователь должен извлечь список всех биткойн - адресов, которые хранились в кошельке подозреваемого. Команда listaddressgroupings может использоваться для перечисления всех биткойн-адресов вместе с их потраченными или неизрасходованными остатками. Важно получить этот список, чтобы все биткойн-адреса можно было отследить позже с помощью бесплатных или коммерческих инструментов отслеживания транзакций. Обратите внимание, что эта команда не требует знания пароля пользователя и поэтому может быть выполнена даже на зашифрованном кошельке. Список транзакций также можно получить, не зная пароля. Это можно сделать с помощью графического интерфейса кошелька Bitcoin Core на вкладке транзакции, который экспортирует все транзакции вместе с датами, суммами, метками и идентификаторами транзакций в аккуратный CSV-файл.



Работа с зашифрованными кошельками. Использование криминалистики данных в реальном времени

1. При открытии консоли bitcoin (в кошельке Bitcoin Core он скрыт в Справка -> Раздел окна отладки), в командной строке консоли будут показаны недавно выполненные команды. Нажатие клавиши ‘вверх курсором’ - это все, что необходимо для просмотра истории. Каждое
нажатие клавиши может открывать команду, которая была ранее введена пользователем.

2. В системах Linux команда ‘история’, введенная без каких-либо параметров, выводит список последних выполняемые команды, введенные пользователем. Даже если пароль к кошельку отсутствует, есть вероятность, что недавно был введен какой-то другой пароль. Поскольку люди склонны повторно использовать варианты своих паролей, их можно сохранить для последующего использования в целях словарной атаки.

3. Там, где это возможно, желательно сделать дамп памяти перед выключением компьютера.
Существует несколько доступных инструментов для захвата оперативной памяти; одним из самых популярных и простых в использовании является FTK Imager, который может
делать снимки как оперативной памяти, так и жесткого диска. FTK Imager доступен как в виде графического интерфейса пользователя, так и в виде инструмента командной строки.

Дамп памяти затем может быть проанализирован позже с помощью инструмента Volatility, который может успешно извлечь соответствующий пароль биткойн-кошелька. Альтернативой может быть использование команды strings для поиска всех текстовых строк в памяти. Все соответствующие строки могут быть сохранены в файл, который будет служить словарем для атаки методом перебора. Обратите внимание, что пароли хранятся в оперативной памяти в незашифрованном



Как исследовать биткойн-транзакции в двух словах.

Все биткойн-транзакции, начиная с самого начала 2009 года, записываются в биткойн блокчейне, большой общедоступной базе данных, хранящей все данные в незашифрованном виде. Блокчейн не хранится централизованно — он хранится тысячами частных лиц и компаний по всему миру, использующих биткойн -клиентов. Любой желающий может загрузить файлы блокчейна и попытаться проанализировать данные, импортировать их в базу данных и запросить их. Однако, поскольку это было бы громоздкой задачей, большинство исследователей полагаются на общедоступные и бесплатные в использовании блокчейн-исследователи.



Определение биржы.

Для определения биржы можно использовать инструмент https://www.walletexplorer.com/
К сожалению, обновление инструмента прекратилось, но он так же продолжает «слушать» сеть.



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