Использование DD для получения хеша не системного раздела, зашифрованного VeraCrypt

Вопрос или проблема

Я пытаюсь использовать DD для Windows, чтобы получить хеш не системного раздела, который был зашифрован с помощью Veracrypt, но столкнулся с небольшой проблемой.

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

dd if=\\?\Device\HarddiskVolume11 of=hash_output.txt bs=512 count=1

И эта команда (в теории) должна создать файл с именем hash_output.txt, который содержит зашифрованный хеш, который, например, должен выглядеть примерно так:

(Šö÷…o¢–n[¨hìùlŒ‡¬»J`<Q›þIšê1ªCúÍbÔcN„ÐŒ3+d.dWr€-¡tä66¶ˆÎ 

Однако вывод, который я получаю при выполнении вышеуказанной команды DD, выглядит больше так:

fb55 d397 2879 2f55 7653 24a3 c250 14d3
3711 7109 e563 617f ab73 f11a 3469 33bb

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

Некоторые моменты, которые стоит отметить:

  • Я на 100% уверен, что диск, который я выбираю в команде DD, является правильным диском.
  • На диске есть только 1 зашифрованный раздел, который занимает весь размер диска.
  • На диске нет физического / функционального повреждения, которое могло бы вызвать эту проблему.
  • Это внешний диск на 1 ТБ, который подключен через USB 3.0 (я пробовал другие кабели и порты).
  • Та же команда DD прекрасно сработала для тестового диска, который я зашифровал с использованием тех же параметров, что и для этого диска.

Ваша команда dd просто копирует 512 байт в выходной файл. Если вы хотите получить хеш, вам нужно пропустить его через хеш-функцию, такую как:

dd if=\\?\Device\HarddiskVolume11 bs=512 count=1 | md5sum

Например, на моем компьютере с Linux (с нормальными слэшеми вместо обратных слэшей Windows):

dd if=/dev/sdb bs=512 count=1 | md5sum
1+0 records in
1+0 records out
512 bytes copied, 0.00163753 s, 313 kB/s
5b31a7aa24ccde6a44083cb30e33db4d

——– редактирование ——–

Я понимаю; вы пытаетесь получить заголовок тома, а не произвести хеш.

Во-первых, вам нужно убедиться, что вы просматриваете данные последовательным образом. Я не знаю, какие команды и инструменты Windows у вас доступны, но я рекомендую отображать ваши данные в каноническом формате. Один из способов – пропустить ваши данные через hexdump, например:

dd if=veracryptcontainer bs=512 count=1 | hexdump -C
1+0 records in
1+0 records out
512 bytes copied, 0.0578936 s, 8.8 kB/s
00000000  21 09 b4 29 58 67 31 ca  22 f3 8f bb c9 65 33 63  |!..)Xg1."....e3c|
00000010  54 de 18 44 2e 95 2e 7b  74 6b cc 4a dd 80 77 8b  |T..D...{tk.J..w.|
00000020  e8 c3 fb 5f ec 44 ea 67  1a de 9a 21 2a e9 06 c8  |..._.D.g...!*...|
00000030  bb 5a b8 c0 79 ad 66 c2  6b 51 03 03 8c ba 74 94  |.Z..y.f.kQ....t.|
00000040  96 de 57 8f 34 6b 65 e0  92 56 bf 14 71 0b 37 43  |..W.4ke..V..q.7C|
00000050  f3 dd d2 cd 06 aa 50 ee  46 20 c9 2d 55 4b a5 df  |......P.F .-UK..|
00000060  73 cf a3 d3 a3 d3 b2 86  07 a0 d0 1b 4f ea 68 ce  |s...........O.h.|
00000070  77 01 98 e0 5b ea e5 22  be ff 09 0b ef 6e f9 ce  |w...[..".....n..|
00000080  c9 e6 6a 15 30 85 ff e5  bc 7b 5e b8 2f 35 f1 4a  |..j.0....{^./5.J|
00000090  ac 1a 76 e5 33 e2 37 8d  fd a0 b8 e5 ad e2 85 58  |..v.3.7........X|
000000a0  0f 8a 1a 42 85 f5 23 2b  b9 be ef 8e a8 68 82 b0  |...B..#+.....h..|
000000b0  63 a5 91 1d 7c 74 b4 c9  bc 9f fe 4e a1 e8 63 17  |c...|t.....N..c.|
000000c0  af 77 0d 73 70 7d 27 12  a6 48 3d 82 bc e2 ba 08  |.w.sp}'..H=.....|
000000d0  be c5 2d 4a a9 86 d6 e6  1f 9c 5e da d1 0e c9 e6  |..-J......^.....|
000000e0  0b 94 47 df 3a 21 f3 73  3a d4 56 d3 a2 cb 0c de  |..G.:!.s:.V.....|
000000f0  ca 20 64 bb f0 c9 1a f4  b4 a7 78 c1 d9 3a 85 7a  |. d.......x..:.z|
00000100  51 f8 27 02 c6 4c f3 03  e1 69 b7 5f a2 9d 6f 10  |Q.'..L...i._..o.|
00000110  c2 dd ac 1f 39 5c 76 e6  44 15 f7 12 7c 25 42 6a  |....9\v.D...|%Bj|
00000120  d9 68 91 2b b5 9b 79 be  70 c7 07 a4 97 2f 53 57  |.h.+..y.p..../SW|
00000130  1c 62 22 89 7a fd f0 66  e8 ce 4e 33 78 9a 6a 2c  |.b".z..f..N3x.j,|
00000140  7d b3 d1 3a bc dd a7 2b  bf 7a 5f ce 93 55 c7 2e  |}..:...+.z_..U..|
00000150  41 b2 24 9e fe 94 17 8a  34 17 2f 8a 3b d0 b9 d1  |A.$.....4./.;...|
00000160  ca 6b 07 1f 3c 40 66 88  f9 38 b2 d1 2a 07 b3 01  |.k..<@f..8..*...|
00000170  10 3c a8 5a 8c 62 42 fa  37 df 4f 16 3d 73 f5 9d  |.<.Z.bB.7.O.=s..|
00000180  08 3b 22 d0 a0 58 b7 fa  f1 0c f8 0e 6f c0 eb ce  |.;"..X......o...|
00000190  2f 7f a5 36 12 3f 14 52  28 97 c9 42 e3 71 66 81  |/..6.?.R(..B.qf.|
000001a0  92 90 6f 74 ee 42 df 49  1a 08 77 53 83 0c bc e2  |..ot.B.I..wS....|
000001b0  13 a5 76 49 96 50 b4 e2  66 17 95 b4 6f f4 7b 9b  |..vI.P..f...o.{.|
000001c0  73 72 ae da ed 4e 2a 82  2d b4 7b c8 1d b4 f4 9e  |sr...N*.-.{.....|
000001d0  8f f9 30 ee f1 50 db 3d  bc 55 25 27 0b 62 78 15  |..0..P.=.U%'.bx.|
000001e0  bb 6b 9a f0 ac 3c e1 b4  e3 9f 00 8d 5e b3 aa bd  |.k...<......^...|
000001f0  72 55 6c 2e c5 34 ff 48  4c 18 41 e2 2b ca 20 17  |rUl..4.HL.A.+. .|
00000200

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

Структура заголовка тома Veracrypt задокументирована здесь: Формат тома Veracrypt

Если вам это удастся, пожалуйста, сообщите нам!

—- Второе редактирование —–

Я запустил виртуальную машину с Windows и попробовал “DD для Windows“, который я никогда не использовал.

Когда вы выполняете dd –list, внимательно смотрите на целевое устройство. Показывает ли оно более одного раздела? Я подключил простой USB-накопитель FAT32 с только одним разделом, но DD для Windows показал его как два раздела так:

\\?\Device\Harddisk1\Partition0
  link to \\?\Device\Harddisk1\DR2
  Removable media other than floppy. Block size = 512
  size is 4089446400 bytes
\\?\Device\Harddisk1\Partition1
  link to \\?\Device\HarddiskVolume5
  Removable media other than floppy. Block size = 512
  size is 4089069568 bytes

Изучение этого в Linux с помощью fdisk показывает, что начало единственного раздела не ноль. Похоже, DD для Windows представляет это смещение как раздел.

В результате разница в размерах двух разделов, деленная на 512, является skip=value, который вам нужен для вашей команды dd, если вы выбрали сырой диск вместо раздела.

Ответ или решение

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

dd if=\\?\Device\HarddiskVolume11 of=hash_output.txt bs=512 count=1

копирует лишь 512 байт данных с устройства, а не создает хеш. Чтобы получить хеш, необходимо использовать инструмент, который способен вычислять хеш-значение на основе прочитанных данных.

Как получить хеш зашифрованного раздела

  1. Проверка исходных данных: Убедитесь, что вы делаете запрос к правильному устройству. Выполните команду dd --list, чтобы убедиться, что корректно идентифицировали нужный раздел. Обратите внимание на то, что если вы выбираете весь диск, он может содержать несколько разделов. Например, DD в Windows может отображать разделы так:

    \\?\Device\Harddisk1\Partition0
    \\?\Device\Harddisk1\Partition1

    В этом случае вам нужно использовать именно тот раздел, который соответствует вашему зашифрованному объему.

  2. Чтение заголовка Volume: Если ваша цель заключается в извлечении заголовка зашифрованного объема для дальнейшего анализа или другой работы, вам нужно использовать dd в сочетании с hexdump (или аналогичным), чтобы корректно представить содержимое. Попробуйте следующую команду:

    dd if=\\?\Device\HarddiskVolume11 bs=512 count=1 | hexdump -C

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

  3. Получение хеша: Чтобы получить конкретный хеш, вы можете использовать md5sum или другой инструмент для хеширования. В этом случае вам следует сделать так:

    dd if=\\?\Device\HarddiskVolume11 bs=512 count=1 | <ваш_инструмент_для_хеширования>

    Например, чтобы использовать MD5:

    dd if=\\?\Device\HarddiskVolume11 bs=512 count=1 | md5sum

Важные замечания

  • Шифрование VeraCrypt: Убедитесь, что вы правильно понимаете работу VeraCrypt. Заголовок обрабатывается определенным образом, и для доступа к данным вам потребуется правильно его расшифровать, зная использованные параметры.

  • Структура заголовка: Структура заголовка шифрованного объема VeraCrypt задокументирована. Изучите документацию VeraCrypt для понимания того, какие данные вам нужны и как их интерпретировать.

  • Анализ данных: Если вы собираетесь проводить дальнейший анализ, вам может потребоваться знания по методам криптоанализа, так как в VeraCrypt используются сложные методы шифрования, которые могут потребовать значительных усилий для взлома.

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

Оцените материал
Добавить комментарий

Капча загружается...