Forensic
-
Disk - 도와주십시오, 누군가…$ 포렌식 $/$ 디지털 포렌식 with CTF $ 2020. 4. 8. 01:38
문제를 해결하기 위해서 flag.torrent 파일을 HxD로 열어 보겠습니다. 이러한 데이터를 가지고 문제를 해결 해야 하는데 Hex 데이터에서 length 문자열을 확인 할 수 있습니다. 공유 파일 크기 : lengthi 28 e4 piece 조각의 크기 : lengthi 2 e6 위의 데이터를 기반으로 해서 "공유파일 크기" / "piece 조각 크기" = "piece 조각의 개수" 를 알 수 있습니다. piece 조각의 개수는 14개 인것을 확인 할 수 있습니다. 그리고 pieces280 를 보아 암호화 해서 전달하는 데이터의 크기는 280byte라는 것을 알 수 있습니다. 280바이트의 데이터를 확인해 보면 아래와 같습니다. 해당 데이터가 총 14조각이 되어야 하기 때문에 1조각당 20바이트 라..
-
SuSeC CTF 2020 write up$ Capture The Flag $ 2020. 3. 23. 10:54
Forensic Little 해당 문제의 첨부 파일을 확인해 보면 아래와 같이 little.img_hash값 파일에서 little.img 파일을 추출 할 수 있습니다. little.img 파일을 HxD 로 열어보면 mkfs.fat 파일 시스템의 VBR을 확인 할 수 있습니다. 이제 해당 파일이 디스크 이미지 파일이라는 것을 알 수 있기 때문에 FTK Imager 로 열어 볼 수 있습니다. secondf.png 파일이 있는 것을 알 수 있습니다. 해당 파일을 확인해 보면 중간 Flag를 알 수있습니다. Flag2 : t0_7h3_3nd_0f_ 를 찾았습니다. 이제 나머지 Flag를 찾아야 하는데 FTK Imager 에서 확인 할 수 없습니다. 또한 binwalk를 통해서도 파일 카빙이 되지 않습니다. li..
-
Memory - GrrCON 2015 #28$ 포렌식 $/$ 디지털 포렌식 with CTF $ 2020. 3. 17. 22:03
앞서 dump파일에서 난독화를 해제한 결과값을 확인해 봤었습니다. 위의 경로인 C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\ 에 어떤 파일이 있는지 확인해 보겠습니다. mftparser를 이용해서 위의 경로를 찾아보면 th3k3y.txt 파일을 찾을 수 있습니다. filescan을 이용해서 해당 파일의 가상 주소를 출력해 보겠습니다. 이제 출력된 0x000000006cb04d90을 dumpfiles 의 -Q 옵션으로 파일을 추출 해 보겠습니다. 추출된 파일을 확인해 보면 Base64 암호화 인코딩 된 문자열을 확인 할 수 있습니다. Flag : eNpzLypyzs/zyS9LLfYtCspPyi9xzEtxKzZIzkwt..
-
NeverLAN CTF Write up$ Capture The Flag $ 2020. 2. 14. 16:18
Forensic Listen to this 해당 문제를 다운해보면 mp3 파일이 하나 있는데 해당 파일을 Audacity 에 넣어 보겠습니다. 파일을 넣고 나서 스펙트럼으로 바꿔서 맨 앞부분을 보면 위와 같이 어떠한 값을 확인 할 수 있습니다. 2개의 채널을 보면 위에 채널은 특정값이 없는 부분이고, 아래의 채널은 특정 값이 있는 부분입니다. 그렇기 때문에 아래의 채널 - 위의 채널 을 해보면 모스부호만 추출할 수 있을 것 같습니다. sox 라는 프로그램을 이용해서 2개의 채널을 분리 한다음 차이점을 파일로 추출할 수 있습니다. 아래의 명령어로 sox 를 설치 할 수 있습니다. 2개의 파일을 추출 합니다. 그리고 아래의 명령어로 차이점을 추출해 낼수 있습니다. Audacity 를 확인해 보면 아래와 같이..
-
HackTMCTF Write up$ Capture The Flag $ 2020. 2. 6. 00:04
Forensic Strange PCAP 파일을 열어보면 Protocol이 USB로 나와있습니다. USB Protocol 이란? 로컬 컴퓨터와 USB 사이의 통신 내용을 패킷으로 잡을때 사용되는 Protocol 입니다. Info에 다양한 통신 기록이 존재 합니다. 그중에서 데이터를 담을 만한 Info 는 usb.transfer_type이 0x01 인 "URB_INTERRUPT in" 입니다. filter 에서 usb.transfer_type == 0x01 을 입력하면 Info 가 URB_INTERRUPT in 인 패킷만 출력이 되게 됩니다. 그리고 URB_INTERRUPT in 에 데이터를 담기 위해서는 Capture Data 에 들어있습니다. 위와 같이 Leftover Capture Data 에 값이 들..
-
[FileSystem] FILE Record - Fixup Array$ Wargame $/$ digital forensic $ 2020. 1. 29. 17:20
FILE Record에서 Fixup Array 부분에 대한 문제 인것 같습니다. 해당 파일의 hex값을 확인해 보면 아래와 같습니다. key{}의 Flag 형식은 확실하게 눈에 들어 옵니다. MFT Entry Header 의 구조를 확인해 보면 아래와 같습니다. 노란색 부분을 유심히 보면 Fixup Array 관련 데이터를 가지고 있습니다. 각각의 데이터가 어떤 의미를 가지는지 아래의 표를 확인해 보겠습니다. Offset to Fixup Array 는 Fixup Array의 시작위치를 의미합니다. 해당 값을 확인해 보면 0x30 이라는 것을 알 수 있고, 해당 값을 확인해 보겠습니다. Fixup은 MFT Entry의 데이터 무결성을 판단하기 위해 존재합니다. MFT Entry는 각 2개의 섹터(1024 ..
-
[FileSystem] FILE Record - Filename, Contents$ Wargame $/$ digital forensic $ 2020. 1. 29. 12:48
문제파일을 받아서 hex값을 확인해 보면 46 49 4c 45 의 FILE Header Signature 를 가지고 있습니다. 디스크 조각의 일부라고 하는데, MFT File 이라는 것을 알게 되었습니다. 실제 MFT 파일의 HEX값을 확인해보면 아래와 같습니다. 아래의 파일은 첨부된 File인 filerecord01의 Hex값을 확인해 보면 아래와 같습니다. 그렇기 때문에 첨부된 파일은 MFT File의 조각이라는 것을 알수 있습니다. MFT File 이란? NTFS 상의 모든 파일들의 MFT Entry 정보를 유지하고 있으며, MFT 영역의 크기, 위치, 할당 정보를 저장하고 있는 파일입니다. 또한 기본적으로 MFT 파일에 데이터를 저장하지는 않지만 파일의 용량이 700바이트 이하면 MFT Entry..