우선 해당 REUQ.001을 FTK Image로 열었을때 보이는 화면 입니다. 인식되지 않는 파티션이 보이며 파티션의 크기 또한 정상적이 않은 것을 알 수 있습니다. 그런데 NTFS형식의 debtest를 보면 passwd폴더를 확인 할 수 있습니다.
해당 폴더를 열면 gun_gang이라는 텍스트를 확인 할 수 있습니다.
CTF서버 로그 모니터링 결과 gun_gang까지는 찾으신 분들이 여럿 있는 것을 확인 할 수 있었습니다.
그럼 이제 이 텍스트를 어디에 쓸까 고민하면 정상적이지 않은 크기의 파티션을 의심해 볼 수 있습니다.
HxD를 통해 열어보면 EFI PART를 확인할 수 있고 이를 통해 GPT 형식인 것을 확인 할 수 있습니다.
2번 섹터에서 여러 Partition을 확인 확인할 수 있는데 1번 Partition은 MSR Partition임을 확인할 수 잇고 2번째 Paritition은 시작위치로 가보면 NTFS파일 시스템임을 확인 할 수 있습니다.
그럼 이제 3번째 Partition을 확인해야 하는데 시작위치에 공백문자가 들어 있는 것을 확인 할 수 있습니다.
그럼 이 3번째 Partition의 위치를 찾아야 하는데 NTFS의 끝 위치를 확인할수 있어 해당 위치로 가보겠습니다.
해당 위치에서 NTFS의 백업본을 확인 할 수 있고 그 후에는 다음과 같은 섹터를 확인 할 수 있습니다.
다음 파일시스템을 확인할 수 있고 시작위치는 5734272 섹터, 57 7F 80 섹터임을 확인하고 파티션 정보를 수정 할 수 있습니다.
형식을 통해 FAT32임을 알 수 있고 FAT32는 6섹터 뒤 백업이 존재 한다는 것을 인지하고 해당 섹터로 가보면 다음과 같은 섹터를 볼 수 있습니다.
백업에는 3,4번째 라인이 공백으로 채워져있고 이를 합치면 정상적인 파일시스템 구조가 나오게 됩니다.
해당 작업까지 완료하면 다음과 FTK Imager에서 다음과 같은 화면을 확인 할 수 있습니다.
정상적으로 파티션이 인식됨을 확인하고 3번 파티션으로 들어가면 다음과 같은 파일을 확인 할 수 있습니다.
Zip파일인것 같은 문자열이지만 Hex값중 50 4B(PK)로 시작해야 하는 문자들이 모두 4B 50(KP)로 바뀌어 있는걸 확인 할 수 있습니다.
해당 문자를 모두 바꾸어 줍시다.
그후 파일을 저장하고 z1p로 되어있던 확장자도 zip로 바꾸어 주게 되면 정상적인 zip파일을 획득 할 수 있습니다.
안에 flag.txt가 있는데 암호가 걸려있는걸 확인 할 수 있습니다.
해당 암호는 전 NTFS파티션에서 확인 가능한 gun_gang이고 해당 암호를 입력하면 flag를 얻을 수 있는 문제였습니다.
이 문제를 기획하면서 아쉬웠던 점은 USB를 직접 나누어 드리지 못한 점이였습니다. USB인식시 파티션 하나가 아예 안보이는걸 목표로 했는데 인터넷 상으로 진행되는 CTF상 직접 USB를 나누어 드릴수 없어 이미징된 파일을 배포하다보니 변조한 파티션이 있다는것을 바로 확인 할 수 있는 것이 아쉬운 문제였습니다.
그래도 다행인지는 모르겠지만 0 Solve를 기록하며 약 60시간의 CTF기간동안 풀리지 않아 내심 기대한 문제였던 것 같습니다.
'forensic > File System' 카테고리의 다른 글
GPT 구조 및 실습 (0) | 2023.01.11 |
---|---|
NTFS 파일 시스템 구조 및 파일 Carving (0) | 2022.10.04 |
Ext4 파일시스템구조와 Ext4에서 사용되는 inode에 관한 공부 (0) | 2022.04.30 |
Forensic -2 FAT32 File System 3 직접 FAT32 만들어서 해보기 (0) | 2021.10.28 |
Forensic - 2 FAT32 FileSystem 2 실습 (0) | 2021.10.12 |