Вопрос или проблема
Я пытаюсь использовать 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 байт данных с устройства, а не создает хеш. Чтобы получить хеш, необходимо использовать инструмент, который способен вычислять хеш-значение на основе прочитанных данных.
Как получить хеш зашифрованного раздела
-
Проверка исходных данных: Убедитесь, что вы делаете запрос к правильному устройству. Выполните команду
dd --list
, чтобы убедиться, что корректно идентифицировали нужный раздел. Обратите внимание на то, что если вы выбираете весь диск, он может содержать несколько разделов. Например, DD в Windows может отображать разделы так:\\?\Device\Harddisk1\Partition0 \\?\Device\Harddisk1\Partition1
В этом случае вам нужно использовать именно тот раздел, который соответствует вашему зашифрованному объему.
-
Чтение заголовка Volume: Если ваша цель заключается в извлечении заголовка зашифрованного объема для дальнейшего анализа или другой работы, вам нужно использовать
dd
в сочетании сhexdump
(или аналогичным), чтобы корректно представить содержимое. Попробуйте следующую команду:dd if=\\?\Device\HarddiskVolume11 bs=512 count=1 | hexdump -C
Эта команда выведет содержимое заголовка в шестнадцатеричном формате, позволяя вам увидеть именно те байты, которые хранятся в заголовке.
-
Получение хеша: Чтобы получить конкретный хеш, вы можете использовать
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
сопровождаемой проверкой и правильным хеширование позволит вам получить необходимые данные без путаницы. Если у вас останутся вопросы или понадобится помощь, не стесняйтесь задать их!