Disk Forensic #24 (Please get my key back!)
주어진 문제 파일은 확장자가 존재하지 않아 어떤 파일인지 알 수 없습니다.
파일의 유형 확인을 위해 리눅스 환경으로 옮겨서 file 명령어를 사용하였습니다.
file 명령어로 확인 결과, data라는 정보만 나오고 어느 유형인지 내용을 알 수 없습니다.
어떤 문자열이 파일에 기록됐는지 HxD를 사용해서 확인하였습니다.
HxD를 실행하고 파일 내용을 확인해보면 type=firmware라는 문자열이 존재합니다.
여기서 중요한 것은, 이 파일은 펌웨어에 관한 파일로 추측할 수 있습니다.
펌웨어 데이터가 맞는지 확인을 위해, 다시 리눅스 환경으로 옮긴 다음 binwalk를 사용해서 확인하였습니다.
binwalk : 대표적인 펌웨어 분석 툴로, 펌웨어 분석뿐만 아니라 포렌식 시 파일 카빙 등에 사용할 수 있는 유용한 도구
참고 사이트 : https://github.com/ReFirmLabs/binwalk
binwalk로 파일을 분석하면 해당 파일이 LZMA 방식으로 압축된 SquashFS 데이터인 것을 확인할 수 있습니다.
LZMA : 데이터 압축에 쓰이는 알고리즘으로 최대 4GB의 가변 압축 시전 크기를 제공
SquashFS : 리눅스에서 사용되는 읽기 전용 파일 시스템으로 주로 임베디드 시스템에서 사용
펌웨어 이미지 파일 분석을 위해 Firmware-mod-kit 도구를 이용하였습니다.
Firmware-mod-kit : 리눅스 기반의 펌웨어 이미지를 다시 빌드하거나 추출하는 유틸리티와 스크립트로 구성된 소프트웨어
참조 사이트 : https://github.com/rampageX/firmware-mod-kit/wiki
extract-firmware.sh을 실행시켜 분석을 시작합니다.
실행이 종료되면 fmk 폴더에 결과가 만들어집니다.
펌웨어 이미지 내부에 있는 데이터들은 rootfs 폴더에 저장됩니다.
파일 경로 : Firmware-mod-kit\FMK\rootfs\home\dlink
dlink 폴더에 key.txt 파일이 존재합니다.
파일을 열면 문제에 대한 플래그 확인이 가능합니다.
# Reference
'Digital Forensics > CTF-D' 카테고리의 다른 글
[Network Forensic] Sans Network Forensic [Puzzle 4] #4, #5, #6 (0) | 2020.03.13 |
---|---|
[Network Forensic] Sans Network Forensic [Puzzle 4] #1, #2, #3 (0) | 2020.03.12 |
[Disk Forensic] IU는 악성코드에 의해 감염된... (0) | 2020.03.11 |
[Disk Forensic] 서울에 사는 IU가 특정 웹... (0) | 2020.03.11 |
[Disk Forensic] 파일에서 플래그를 찾아라. (0) | 2020.03.11 |