디스크를 암호화한 후 디스크의 알려진 일반 텍스트가 왜곡되었는지 확인하는 방법은 무엇입니까? [폐쇄]

디스크를 암호화한 후 디스크의 알려진 일반 텍스트가 왜곡되었는지 확인하는 방법은 무엇입니까? [폐쇄]

cryptsetup을 사용하여 디스크를 암호화했습니다. 디스크를 암호화하기 전 알려진 텍스트가 암호화 후에는 횡설수설로 바뀌는 것을 시각적으로 확인할 수 있었으면 좋겠습니다.

어떻게 그런 비교를 할 수 있습니까?

다음은 최상의 시나리오의 예입니다.

해독된 디스크에서 "test string"이라는 단어가 포함된 텍스트 파일을 생성한다고 가정해 보겠습니다. 어떻게든 암호화 전의 "테스트 문자열"을 시각화할 수 있을 것이고, 암호화 후에는 "테스트 문자열"이 횡설수설되는 것을 시각화할 수 있을 것입니다. 동일한 방법을 사용하여 "테스트 문자열"과 횡설수설을 시각화하여 횡설수설이 된 "테스트 문자열"인지 확인할 수 있도록 하고 싶습니다. 이것이 16진수로 "테스트 문자열"을 찾아야 한다는 것을 의미한다면 그렇게 하십시오. "테스트 문자열"이 있는지 확인할 수 있어야 하는데 "테스트 문자열"을 찾을 수 없습니다(대신 다른 횡설수설이 있습니다).

"테스트 문자열"을 찾기 위해 디스크를 조사하기 위해 어떤 방법을 사용해야 하는지 아시나요?

답변1

예를 들어 내가 작업하는 서버를 생각해 보세요. 하드 드라이브에는 반드시 암호화되지 않은 작은 /boot파티션 과 LUKS 컨테이너를 호스팅하는 /dev/sda1큰 암호화 파티션이 있습니다./dev/sda2비밀번호 설정비밀번호를 입력하면 시작 시 자동으로 표시됩니다 /dev/mapper/Serverax. 컨테이너에는 LVM 물리 볼륨이 있고 LVM 볼륨 그룹은 여기에 상주합니다. 볼륨 그룹에는 논리 볼륨 및 가 포함 됩니다 Root.HomeSrvSwap

$ lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                   8:0    0   20G  0 disk  
├─sda1                8:1    0  294M  0 part  /boot
└─sda2                8:2    0 19.7G  0 part  
  └─Serverax        252:0    0 19.7G  0 crypt 
    ├─Serverax-Root 252:1    0 10.7G  0 lvm   /
    ├─Serverax-Swap 252:2    0    1G  0 lvm   [SWAP]
    ├─Serverax-Srv  252:3    0    6G  0 lvm   /srv
    └─Serverax-Home 252:4    0    2G  0 lvm   /home

디스크의 원시 데이터를 보려면 에서 직접 일부 블록을 읽으십시오 /dev/sda2. 이 예에서는 skip=$((2*1024))2MiB LUKS 헤더를 건너뛰고 LVM 헤더로 이동합니다.

$ sudo dd if=/dev/sda2 bs=1K count=1 skip=$((2*1024)) 2>/dev/null | hd
00000000  33 b2 f7 1b 03 ce a6 3a  87 b4 03 98 7d a7 b1 cc  |3......:....}...|
00000010  1a c9 99 80 01 19 c0 db  f0 54 a7 4c 1c 2b 9c ea  |.........T.L.+..|
00000020  f3 84 b0 d8 0c 54 c0 fe  ec c0 06 a8 8c c0 6b 10  |.....T........k.|
...
00000200  d4 0b 67 3b ba d1 21 06  58 ce 84 b4 3b 3b e0 f2  |..g;..!.X...;;..|
00000210  4d eb 99 d3 15 63 81 f3  92 b7 ff c2 17 95 ed b3  |M....c..........|
00000220  92 51 ab dc 29 84 9b 6f  68 cc a9 fe 35 cd e0 08  |.Q..)..oh...5...|
00000230  1f d1 e0 52 34 46 13 90  38 c4 3d 18 30 1a 1d c8  |...R4F..8.=.0...|
00000240  1c 05 2f 17 0b ad 39 6f  56 9c 28 71 e3 f7 78 10  |../...9oV.(q..x.|
00000250  97 09 cb 49 50 f5 b1 06  a1 8a e0 4d 7a 0e 39 94  |...IP......Mz.9.|
00000260  15 2d 05 b5 94 75 c0 a2  d1 bf 78 3d ba 30 06 61  |.-...u....x=.0.a|
00000270  e6 82 8d 4a 60 90 81 e7  0a 34 5a f8 03 fc a6 89  |...J`....4Z.....|
00000280  12 11 19 b2 2b 44 9b 0a  07 c1 40 d9 4b df bd 54  |[email protected]|
00000290  0a 40 2b 4f 1f 55 f5 e2  fa 10 41 3b f9 58 5a 2f  |.@+O.U....A;.XZ/|
...

암호 해독 후 동일한 데이터를 읽을 수 있습니다 /dev/mapper/Serverax. 이번에는 다음이 없습니다 skip=.

$ sudo dd if=/dev/mapper/Serverax bs=1K count=1 2>/dev/null | hd
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200  4c 41 42 45 4c 4f 4e 45  01 00 00 00 00 00 00 00  |LABELONE........|
00000210  be af fb 35 20 00 00 00  4c 56 4d 32 20 30 30 31  |...5 ...LVM2 001|
00000220  47 41 70 58 43 62 74 55  65 6b 33 41 6b 53 54 73  |GApXCbtUek3AkSTs|
00000230  4f 6b 6a 49 49 72 6e 53  66 54 41 77 6e 31 53 6e  |OkjIIrnSfTAwn1Sn|
00000240  00 00 60 ed 04 00 00 00  00 00 20 00 00 00 00 00  |..`....... .....|
00000250  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000260  00 00 00 00 00 00 00 00  00 10 00 00 00 00 00 00  |................|
00000270  00 f0 1f 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000280  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
00000290  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400

답변2

암호화된 데이터를 보려면 원시 장치에서 읽으십시오. 이는 일반적으로 Linux의 경우입니다 /dev/sdX(일부 사람들의 경우 X).

내 상자의 예:

grove@mary> ll /dev/mapper/luks_crypto_*
lrwxrwxrwx 1 root root 7 nov  7 08:32 /dev/mapper/luks_crypto_58cf05c2-a296-46ff-80f4-70476ee06ae0 -> ../dm-3
lrwxrwxrwx 1 root root 7 nov  7 08:32 /dev/mapper/luks_crypto_ff052855-76f5-48cd-bf11-e4af60126484 -> ../dm-2
grove@mary> ll /dev/disk/by-uuid/ff052855-76f5-48cd-bf11-e4af60126484
lrwxrwxrwx 1 root root 9 nov  7 08:32 /dev/disk/by-uuid/ff052855-76f5-48cd-bf11-e4af60126484 -> ../../sdg
grove@mary> sudo file -s /dev/dm-2
/dev/dm-2: Linux rev 1.0 ext4 filesystem data, UUID=e33a9842-a597-4311-a37b-10adfca1eabd (needs journal recovery) (extents) (large files) (huge files)
grove@mary> sudo file -s /dev/sdg
/dev/sdg: LUKS encrypted file, ver 1 [aes, cbc-essiv:sha256, sha1] UUID: ff052855-76f5-48cd-bf11-e4af60126484

관련 정보