관리 메뉴

IT창고

리눅스 디스크포렌식 본문

보안/Digital forensic

리눅스 디스크포렌식

방구석여포 2018. 7. 4. 21:26

리눅스의 하드디스크를 조사하기 위하여 디스크 덤프 파일이 필요합니다.

리눅스에는 명령어 dd가 있는데 이 명령어는 파일 변환 및 복사에 사용되는 명령어로 디스크 백업 이나 덤프파일을 생성 시 사용합니다. dd명령어는 Disk Duplicator라고도 하지만 Disk Destroyer라고도 불립니다. 명령어를 잘못하용하면 하드디스크가 손상될수있기 때문입니다.

dump파일이란 디버깅 및 오류 진단이나 테스트 목적으로 사용합니다.


옵션에 대해 알아보겠습니다.

if=[file]  // Input File

of=[file]  // Output File

bs=[Byte]  //Block Size (기본값512)



테스트를 위하여 가상머신에 하드디스크 1GB를 추가하겠습니다.

파티션은 200MB, 300MB, 나머지로 3개로 나눠보겠습니다.

리눅스의 파티션 나누는법은 2017/08/30 - [서버운영/Linux] - 리눅스 파일시스템 를 참고합니다.


추가한 하드디스크에 파티션 분할을 합니다.


파티션 분할이 끝났다면 ext4 파일시스템을 설정합니다.


 

200MB되는 sdb1파티션에 bin디렉토리에 있는 파일을 복사해서 넣어두었습니다.


300MB되는 sdb2파티션을 testHD-2에 마운트하고 dd명령어를 사용하여 sdb1파티션을 덤프파일로 만들었습니다.

if가 INPUT파일이고 of가 OUTPUT파일인걸 꼭 명심하고 사용해야합니다. 만약 dd if=/dev/sdb1 of=/dev/sdb2 이런식으로 사용하게 되면 sdb1파티션을 sdb2파티션에 덮어쓰게 됩니다. sdb2안에 있던 고유의 파일들은 모두 사라지게되고 sdb1의 파티션이 그대로 복사되게 됩니다. 백업용으로 사용합니다. fdisk -l 명령어로 하드디스크의 파티션 상태를 살펴볼수있습니다.


위에서 만든 덤프파일을 HxD에디터로 확인해보면 sdb1의 하드디스크를 조사할수있습니다.


마지막으로 NetCat을 이용한 원격 백업 및 덤프파일 생성에 대해 알아보겠습니다.

리눅스에서 NetCat툴은 ymu -y install nc로 패키지를 설치할수있습니다.


실습전에 iptables는 실습리눅스2개 전부 stop상태입니다.

test1 리눅스에서 test2리눅스에게 백업파일을 넘겨보겠습니다.

백업 및 덤프파일을 넘겨줄 리눅스는 dd명령어의 준비와 파이프라인을 사용하여 nc의 -l옵션으로 12345포트를 열어둡니다.

netstat로 확인해보면 실제로 12345포트가 열려있는걸 확인할수있고 덤프파일을 받을 리눅스에서는 해당 리눅스의 ip와포트를 입력하고 받을 파일이름을 설정한후에 받을수있습니다. 덤프파일을 받으면 용량을 확인봐서 제대로 받은걸 확인할수있습니다. 

받은 덤프파일은 HxD에디터로 조사하거나 sdb1파티션이 망가질경우 지금 받은 덤프파일로 복구할수있게 됩니다.

'보안 > Digital forensic' 카테고리의 다른 글

FAT32 파일시스템  (0) 2018.07.06
FAT32 파티션 복구  (0) 2018.07.06
디스크 주소 표현 방식, MBR  (0) 2018.07.05
포렌식 개념  (0) 2018.07.04
하드디스크의 구조  (0) 2018.07.03
Comments