Digital Forensic44 NTFS의 $MFT(Master File Table) Entry End Marker 분석 MFT Entry End Marker End Marker는 Attributes(속성) 영역이 끝 경계를 알려주는 일종의 표시자 역할을 한다. 이전의 $MFT 개요 분석 글에서 다루었듯이, End Marker 영역은 0xFFFFFFFF값으로 이루어져 있고, 속성 영역의 끝을 나타낸다. 다르게 해석하면, 이 부분 이전 영역은 속성이라는 것을 알 수 있다. 2021. 11. 30. NTFS의 $MFT(Master File Table) Entry Attributes(속성) 분석 MFT Entry Attributes 이번에는 속성이라고도 할 수 있는, 'MFT Entry Attributes'에 대해서 알아보고자 한다. 모든 속성은 'Header'와 data stream이라고도 할 수 있는 'Content'로 이루어져 있다. 이러한 속성은 Fixup Arrary 이후 End Marker 앞까지 연속적으로 존재한다. 앞서 MFT Entry Header구조를 다루면서, 20~21바이트는 첫 attribute가 위치한 offset 값을 나타낸다고 하였다. 현재 다루고 있는 MFT 파일의 20~21바이트 주소엔 0x0038이라는 16진수 값이 있다. 즉, 화살표가 가리키는 38바이트('10')가 바로 첫 attribute의 시작이라는 것을 뜻한다. 위 표에서 알 수 있듯이, MFT Ent.. 2021. 11. 15. NTFS의 $MFT(Master File Table) Entry Fixup Array 분석 MFT Entry Fixup Array 이번엔 'MFT Entry Fixup Array'에 대해서 알아보고자 한다. 앞서 Fixup Array에 대해 오류나 비정상적인 변경을 찾음으로써 신뢰성을 높이고 무결성을 증명하기 위해 쓰인다고 간략하게만 설명하였는데, 이번엔 좀 더 자세히 다뤄볼 것이다. 결론부터 말하면 Fixup Array는 sector의 손상 및 이상 여부를 확인하기 위해 활용된다. 그렇다면 그 원리는 무엇일까. Header 분석 시 언급하였듯이, Fixup Array의 내용이 위치한 offset은 처음에서 4~5바이트 범위에 있다고 하였다. 초록색 상자로 표시된 것처럼 Fixup Array의 내용은 0x0030(리틀 엔디언 방식으로 표기) offset에 위치해 있다. 그리고 갈색 밑줄로 된 .. 2021. 11. 13. NTFS의 $MFT(Master File Table) Entry Header 분석 MFT Entry Header 이번 장에서는 엔트리 구조의 'MFT Entry Header'에 대해서 살펴보고자 한다. 위 그림은 외부에서 MFT 샘플 파일을 구해 HxD로 연 뒤 header 부분(총 42바이트만큼)을 표시한 것이다. (xp버전 이후라는 가정, 0x002A~0x002F는 잘 사용되지 않으므로 언급 x) * LSN: 로그 레코드 번호 ** Flags: - 0x00이면 사용 중이지 않음을, (-> 흔히 파일을 삭제하면 flag가 이렇게 바뀜) - 0x01이면 MFT Entry가 사용 중임을, - 0x02이면 디렉터리임을, - 0x03이면 MFT Entry가 디렉터리에 사용되고 있음을 뜻한다. *** Allocated size of MFT Entry: 할당된 MFT Entry의 크기를 뜻하며.. 2021. 11. 12. NTFS의 $MFT(Master File Table) 구조 분석 개요 MFT(Master File Table) 디지털포렌식을 하면서 자주 접하게 되는 것들 중 하나인 MFT는 무엇일까. MFT는 Master File Table의 약자로, Windows OS계열 NTFS 시스템에서 볼 수 있는데, 이 MFT는 파일의 위치, 속성, 시간정보, 이름, 크기 등의 메타 데이터를 저장하고 있다. MFT Entry 구조 그리고 MFT내부는 위처럼 여러 부분으로 나뉘어져 있다. 그리고 이것이 바로 'MFT Entry 구조'이다. - MFT Entry Header > MFT 엔트리의 기본적인 정보가 저장 - Fixup Array > 오류나 비정상적인 변경을 찾음으로써 신뢰성을 높이고 무결성을 증명하기 위해 쓰임 - Attributes > 파일, 속성의 메타 데이터가 저장 - End Ma.. 2021. 11. 8. [DigitalForensic with CTF] Sans Network Forensic [Puzzle 3] #8(23) 8번 문제는 Ann이 AppleTV을 통해 마지막으로 검색한 내용을 알아내는 것이다. Ann이 검색이라는 행위를 한 것이기에 NetworkMiner에서 Get을 이용한 기록만 검색했다. 마지막으로 검색을 한 내용을 찾기 위해 기록의 끝 부분을 살펴보았는데, 1766번 프레임을 보니 쿼리문 내용이 'iknowyourewatchingme'를 search한 내용인 듯 했다. 따라서 'iknowyourewatchingme'를 답으로 제출하였고, 통과가 되었다. 이로써 Puzzle 3에 대한 문제들을 전부 solve할 수 있었다. 2021. 9. 24. [DigitalForensic with CTF] Sans Network Forensic [Puzzle 3] #7(22) 7번 문제는 가격을 구하면 되는 문제이다. 처음에는 이것이 AppleTV의 가격이거나 'price-display'를 처음 검색할 때 나온 영화 'Hackers'의 가격인 줄 알았다. 근데 'Hackers'의 가격이 오답으로 떠서 고민을 했는데... 생각해보니 '그것'을 사는 가격이라고 한 것이 방금 6번 문제에서 거론된 2번째 영화인 것은 아닐까라는 생각을 했다. Wireshark에서 'price-display'를 검색한 결과, 300번대와 1100번대에서 검색이 되었는데 지금은 2번째 영화에 대한 가격을 구하려고 하는 것이므로 1186번에서 HTTP 스트림을 살펴보았다. 스트림 창에서 다시 'price-display'를 재검색하니 '$9.99'라는 가격을 찾을 수 있었다. 이를 제출하니 정답이었다. 2021. 9. 24. [DigitalForensic with CTF] Sans Network Forensic [Puzzle 3] #6(21) 6번 문제는 Ann이 클릭한 2번째 영화 제목을 알아내는 것이다. 4번 문제 푸는 것처럼 비슷하게 viewMovie를 NetworkMiner에서 검색하였고, 300번대 프레임이 Hackers였으니깐 그 다음인 1100번대 프레임을 Wireshark에서 살펴보기로 했다. 1181번 프레임에서 HTTP 스트림을 살펴본 결과, 제목명이 'Sneakers'인 것을 하나 발견했다. 이를 답으로 제출하였더니 정답이었다. 2021. 9. 24. [DigitalForensic with CTF] Sans Network Forensic [Puzzle 3] #5(20) 5번 문제는 영화 예고편의 전체 URL을 구하는 문제이다. 'preview-url'이 파라미터인 듯하다 우선 와이어샤크 내에서 [Ctrl]+[F]로 'preview-url'을 검색했다. 'Find'를 누르면 312번 프레임으로 표시되는데, 여기에서 HTTP 스트림을 살펴보았다. 패킷 내에서 다시 검색을 수행해 URL이 있는지 찾아보았는데, 해당 파라미터에 이와 같이 한 URL주소가 있었다. 이를 제출하니 정답이었다. 2021. 9. 24. 이전 1 2 3 4 5 다음