2024. 4. 27. 04:30ㆍ보안/포렌식
ext4 파일 시스템은 전체 파티션을 block 그룹으로 나누고, 각각의 block 그룹에는 super blcok, group discriptor table, data block bitmap, inode bitmap, inode table, data 영역이 존재한다.
ext4파일 시스템은 저널링(Journaling)기능 - 파일 변경사항 추적 을 통해 삭제된 파일을 복구한다.
저널영역(Journal Area)
저널영역은 inode 8번에 저장되어 있다.(주소값)
Super Block 하나와, 여러개의 트랜잭션으로 구성되어 있다.
이 Super Block에는 block type, block size, 총 블록 수 등 전체적인 정보에 대해 기록되어 있다.
이 트랜잭션은 Descriptor Block or Revocation block, Data block(실제 데이터), Commit block(트랜잭션의 끝)으로 이루어져 있다.
1) Descriptor Block
뒤에 이어질 데이터 정보를 담고 있다.(Journal Tag) -> 하나의 디스크립터 블록에는 여러개의 저널 태그
저널 태그에 적힌 주소값을 통해 해당 주소값의 삭제 이전 데이터를 디스크립터 블록 이후에 나오는 Data block에서 확인할 수 있다.
2) Data Block
저널 태그에 해당하는 위치의 수정되기 이전 데이터 값을 담고 있는 영역이다. -> 이 영역을 통해 삭제된 파일 복구
3) Commit Block
트랜잭션의 끝. 커밋된 시각 정보가 담겨져 있다.
삭제된 파일 복구
ext4에서 삭제된 파일을 복구하려면 NTFS와 마찬가지로 실제 데이터가 삭제되는 것이 아니라, inode파일과 실제 데이터 사이의 연결이 끊어지는 것이다. (주소값 0으로 초기화) -> 다시 연결시켜주면 된다 ! 실제 데이터의 위치는 저널영역을 통해 찾으면 된다.
1) 삭제된 파일의 inode 파일을 찾는다. (inode 파일이 가리키는 데이터의 주소값은 0으로 초기화된 상태일 것이다.)
2) inode 파일의 위치에 해당하는 주소값과 일치하는 저널영역의 저널 태그를 찾는다.
3) 저널 태그를 따라 저널 데이터 영역을 찾아보면, 삭제되기 이전의 inode 파일 정보가 담겨있다.
4) 삭제되기 이전의 inode 파일 정보에서 inode 파일이 가리키는 데이터 주소값을 확인한다.
5) 확인한 파일의 주소값으로 이동하여 실제 파일의 데이터를 추출한다.
'보안 > 포렌식' 카테고리의 다른 글
[CyberDefenders] Insider Blue Team Challenge (1) | 2024.05.01 |
---|---|
Linux 아티팩트 (1) | 2024.05.01 |
[CyberDefenders] Szechuan Sauce Blue Team Lab Write-up (0) | 2024.04.18 |
[Dreamhack] lolololologfile Write-up (0) | 2024.04.17 |
[Dreamhack] Enc-JPG (0) | 2024.04.11 |