Disk Forensic #16 (Find Key(slack))

 

디스크 포렌식 16번 문제

 

주어진 문제 파일은 gz 확장자의 파일이다.

 

편하게 압축을 풀기 위해, 리눅스 환경으로 옮겨서 gunzip 명령어로 압축을 해제하였다.

 

[그림 1] gunzip 명령어 사용

 

압축을 해제하면, 아무 확장자도 없는 파일이 생성된다.

 

파일 유형을 확인하기 위해 file 명령어를 사용하였다.

 

[그림 2] file 명령어 사용

 

파일 유형 확인 결과, 똑같은 gz 파일로 보이지만 압축이 풀리지 않아 FTK Imager로 파일을 마운트하여 확인하였다.

 

FTK Imager : 포렌식의 가장 기본 도구로, 디스크 이미징 작업에 많이 활용

 

다운로드 사이트 : https://accessdata.com/product-download/ftk-imager-version-4-2-1

 

FTK Imager version 4.2.1

AccessData provides digital forensics software solutions for law enforcement and government agencies, including the Forensic Toolkit (FTK) Product.

accessdata.com

 

[그림 3] FTK Imager - Add Evidence Item 선택

 

 

다운받은 FTK Imager를 실행하고, [File]에서 [Add Evidence Item]을 선택한다.

 

[그림 4] Image File 선택

 

파일 선택 화면에서 Image File을 선택하고, 문제 파일을 마운트한다.

 

[그림 5] 이미지 마운트 - Untitled0 파일

 

위 화면과 같이 Untitled0 파일이 존재한다.

 

상세 분석을 위해 파일을 추출하여 분석하였다.

 

[그림 6] Export Files...

 

Untitled0 파일을 마우스 우클릭한 다음, Export Files를 눌러 파일을 추출할 수 있다.

 

다시 추출된 파일을 리눅스 환경으로 옮겨 file 명령어로 파일 유형을 분석하였다.

 

[그림 7] file 명령어 사용

 

Untitled0 파일을 file 명령어로 확인하면 문제 파일이 ext3 파일 시스템 데이터인 것을 확인할 수 있다.

 

다시 FTK Imager로 Untitled0 파일을 마운트하여 분석하였다.

 

[그림 8] Untitled0 마운트

 

위에서 마운트한 방법대로, Untitled0 파일도 마운트하면 여러 운영체제나 언어와 관련된 파일들이 존재한다.

 

분석 결과, 플래그와 관련된 파일은 찾을 수 없었다.

 

하지만 한 가지 방법을 생각해볼 수 있다.

 

파일 시스템 데이터에 Key를 숨겨두는 방법으로 슬랙 공간을 이용하는 방법이 있다.

 

슬랙 공간 : 디스크 섹터에 데이터가 저장되고 남은 데이터 공간으로, 다른 데이터가 디스크에 기록되어도 슬랙 공간에 저장되지 않고 다른 섹터에 저장된다.

 

그러므로 이 슬랙 공간은 악성코드나 특정 데이터들을 숨기거나 기록하는데 악용될 확률이 매우 높다.

 

슬랙 공간에 숨겨진 데이터가 존재하는지 알아보기 위한 디지털 포렌식 도구로 SleuthKit이라는 도구가 존재한다.

 

SleuthKit : 파일 시스템을 분석하는데 사용되는 디지털 포렌식 도구

 

참조 사이트 : https://www.sleuthkit.org/sleuthkit/download.php

 

The Sleuth Kit: Download

 

www.sleuthkit.org

저는 리눅스 환경에서 SleuthKit의 blkls 명령어로 파일을 분석하였다.

 

blkls 명령어 : 슬랙 공간에 존재하는 모든 데이터 정보 출력하는 명령어

 

[그림 9]플래그 확인

 

명령어를 실행하면 슬랙 공간에 숨겨져 있던 플래그가 출력된다.

 

위 과정대로 문제를 해결할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

Disk Forensic #38 (서울에 위치한 X 에너지 기업이...)

 

디스크 포렌식 38번 문제

 

주어진 문제 파일은 확장자가 존재하지 않아 어떤 유형의 파일인지 알 수 없다.

 

우선 리눅스 환경으로 옮겨 file 명령어를 통해 파일 유형을 확인하였다.

 

[그림 1] file 명령어 사용

 

확인 결과, 7z 압축 파일인 것을 확인하였다.

 

이름 뒤에 .7z를 붙여 확장자를 7z로 지정하고 압축을 풀면 MFT 파일이 생성된다.

 

[그림 2] MFT 파일 생성

 

지문에서 포렌식 전문가인 IU가 MFT를 분석해서 공격자의 흔적을 찾았다고 하였다.

 

그러니 AnalyzeMFT 도구를 사용해서 MFT 파일을 분석하였다.

 

AnalyzeMFT : NTFS 파일 시스템에서 가장 중요한 파일이며, 여러 파일에 대한 메타 데이터 정보가 들어 있는 MFT를 분석할 수 있는 도구

 

참조 사이트 : https://github.com/dkovar/analyzeMFT

 

dkovar/analyzeMFT

Contribute to dkovar/analyzeMFT development by creating an account on GitHub.

github.com

[그림 3] AnalyzeMFT 실행

 

위 화면대로 명령어 입력 시, MFT 파일을 분석한 정보가 들어 있는 텍스트 파일이 생성된다.

 

이제 본격적으로 파일을 분석한다.

 

일단 악성 파일의 특성상 실행 파일(.exe)일 확률이 매우 높다.

 

데이터가 매우 많기 때문에 먼저 exe 확장자를 검색해서 수상한 파일이 있는지 확인하였다.

 

[그림 4] 수상한 파일 발견

 

exe 문자열로 검색하면 많은 실행 파일이 검색되면서 소프트웨어 설치, 포렌식 도구 등이 존재한다.

 

하지만 이 중에서 다른 파일들과 다르게 이름이 직관적이지 않고 특이한 파일 하나를 발견하였다.

 

위 화면에서 내용을 보면 r32.exe 파일은 휴지통에 버려진 파일임을 확인할 수 있다.

 

그리고 지문에서 공격자는 악성 파일과 다른 흔적들을 지우려고 노력했다는 것을 언급한 내용과 r32.exe 파일이 휴지통에 들어 있다는 것을 바탕으로 악성 파일은 r32.exe 파일이 맞다.

 

이제 플래그를 구하는 일만 남았다.

 

플래그는 r32.exe 파일의 생성 시간이지만, 지문에서 UTC + 09:00를 요구하였으니 위 화면에서 확인한 생성 시간에서 9시간을 더해준 다음 플래그로 입력하면 문제를 해결할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

Disk Forensic #18 (제 드라이브에 catz 사진이 몇 장 있습니다!)

 

디스크 포렌식 18번 문제

 

문제 파일로 img 확장자의 파일이 주어진다.

 

우선 리눅스 환경으로 옮긴 뒤, file 명령어를 통해 문제 파일의 유형을 확인한다.

 

[그림 1] file 명령어 사용

 

확인 결과, catz.img 파일은 ext4 파일시스템이라는 것을 확인하였다.

 

좀 더 상세 분석을 위해 catz.img 파일을 FTK Imager 도구를 통해 마운트한다.

 

FTK Imager : 포렌식의 가장 기본 도구로, 디스크 이미징 작업에 많이 활용

 

다운로드 사이트 : https://accessdata.com/product-download/ftk-imager-version-4-2-1

 

FTK Imager version 4.2.1

AccessData provides digital forensics software solutions for law enforcement and government agencies, including the Forensic Toolkit (FTK) Product.

accessdata.com

 

[그림 2] FTK Imager - Add Evidence Item

 

다운받은 FTK Imager를 실행하고, [File]에서 [Add Evidence Item]을 선택한다.

 

[그림 3] Image File 선택

 

파일 선택 화면에서 Image File을 선택하고, 문제 파일을 마운트한다.

 

[그림 4] 문제 파일 마운트 화면

 

문제 파일을 마운트하면 여러 고양이 사진 파일들을 확인할 수 있다.

 

모든 파일들을 분석해봤지만, 플래그와 관련된 정보는 확인할 수 없다.

 

여기서 중요한 것은 문제에서 파일을 삭제했다는 힌트가 있다.

 

img 파일은 ext4 파일 시스템이다.

 

ext4 파일 시스템의 삭제된 데이터를 복구하기 위해 사용하는 도구로 extundelete가 있다.

 

extundelete : ext3, ext4 파일 시스템에서 삭제된 파일을 복구해주는 기능을 제공

 

다운로드 사이트 : https://sourceforge.net/projects/extundelete/

 

extundelete

Download extundelete for free. Extundelete is a utility to undelete files from an ext3 or ext4 partition.

sourceforge.net

 

[그림 5] extundelete 명령어 실행

 

위 화면에서 쓰인 --restore-all 옵션은 모든 파일을 복구한다는 의미이다.

 

[그림 6] 삭제 파일 복구 성공

 

명령을 통해 RECOVERED_FILES 라는 폴더에 파일이 복구됐음을 확인하였다.

 

복구를 확인한 다음,  .cat.jpg파일을 확인하였다.

 

[그림 7] 플래그 확인

 

cat 명령어를 통해 jpg 파일을 확인해보면 플래그를 확인할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

Network Forensic #49 (나는 힉스 입자가 발견되지 않을 것이라고...)

 

네트워크 포렌식 49번 문제

 

주어진 문제 파일은 확장자가 존재하지 않아 어떤 유형의 파일인지 알 수 없다.

 

리눅스 환경으로 옮겨 file 명령어를 사용하여 파일 유형을 확인하였다.

 

[그림 1] file 명령어 사용

 

결과를 확인해보면 문제 파일은 xz 압축 알고리즘으로 압축된 파일임을 확인할 수 있다. (문제 이름은 너무 길어 123으로 변경)

 

파일의 이름 뒤에 .xz를 추가하고 unxz 명령어를 사용해서 압축을 풀어준다.

 

[그림 2] unxz 명령어

 

압축을 풀면 위 파일과 마찬가지로 확장자가 없다.

 

다시 한 번 file 명령어를 사용해서 파일 유형을 확인한다.

 

[그림 3] 다시 한 번 file 명령어 사용

 

압축을 풀면 이번엔 tar 압축 알고리즘으로 압축된 파일을 확인할 수 있다.

 

tar 명령어를 사용해서 해당 파일의 압축을 풀어준다.

 

[그림 4] tar 명령어 사용 - 압축 풀기

 

압축을 풀면 패킷 덤프 파일이 나타난다. 

 

윈도우 환경으로 옮겨서 Wireshark 도구로 패킷을 분석한다.

 

Wireshark : 오픈 소스 패킷 분석 프로그램으로 pcap을 이용하여 패킷을 잡아내는 것이 주요 기능

 

다운로드 사이트 : https://www.wireshark.org/download.html

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Rich perfor

www.wireshark.org

 

[그림 5] Wireshark 도구 실행 - 문제 파일 오픈

 

Wireshark 도구로 문제 파일을 오픈한 화면이다.

 

Wireshark의 [Statics] - [Conversations] 기능을 사용하여 패킷에서 TCP 통신이 이루어졌던 흔적을 확인한다.

 

[그림 6]Statics - Conversations 기능

 

이제 어떤 데이터가 담겨 있는지 [Follow TCP Stream] 기능으로 확인한다.

 

[그림 7] tcp.stream eq 0

 

위 화면과 같이 TCP Stream 0번을 보면 Particles라는 이름의 파일이 어디로 전송된 흔적을 확인할 수 있다.

 

또한 파일의 정보 중 Hash값이 존재한다.

 

다른 파일들도 전송된 흔적이 있는지 확인하기 위해 패킷의 Hash값을 이용하여 리눅스 환경으로 옮겨 strings 명령어로 SHA-1 문자열을 필터링하였다.

 

[그림 8] Strings 명령어 사용

 

결과를 확인해보면 총 6개의 Hash값이 있다.

 

Hash값만 통해 어떤 기능을 하는 파일인지는 알 수가 없으니 구글링(검색)을 통해 확인하였다.

 

[그림 9] SHA-1 Hash값 검색 결과

 

6개의 SHA-1 Hash값을 모두 검색한 결과, 5개의 Hash값은 특별한 내용이 없었지만 마지막 Hash값을 검색하면 악성코드를 분석해주는 사이트인 Hybrid Analysis에서 파일의 분석한 결과를 알려준다.

 

자세한 정보 확인을 위해 사이트로 접속하여 내용을 확인하였다.

 

[그림 10] 해당 사이트 정보

 

위험 평가 내용을 확인해보면 이 파일은 원격 액세스, Windows 계정 이름 조회 등의 기능을 수행한다고 한다.

 

이를 통해 이 Hash값에 매칭 되는 파일은 악성파일이란 것을 확인할 수 있다.

 

이제 플래그 확인을 위해 더 자세한 내용을 분석하였다.

 

[그림 11] 파일 실행 결과 (플래그)

 

악성코드 분석 페이지의 [Screenshots] 항목을 보면 파일에 대한 파일 실행 결과를 확인할 수 있다.

 

실행 결과로 해당하는 Hash값 문자열이 나타나 있으며 해당 값이 이번 문제의 플래그이다.

 

※ 주의사항

문제에서는 플래그 포맷인 ASIS{}가 적혀 있지 않다...

필자도 플래그 포맷이 없어서 당황했었고, 책 내용을 확인한 후에 알게 되었다.

플래그 입력 시에 꼭 ASIS{} 포맷을 넣어주세요!!


# Reference

 

http://www.yes24.com/Product/Goods/59156934 

Network Forensic #44 (살인을 확인할 수 있습니까?)

 

네트워크 포렌식 44번 문제

 

문제 파일로 pcapng 파일이 주어진다.

 

해당 파일을 Wireshark로 열려고 시도하면, 손상되어 열리지 않는다.

 

손상된 pcapng 파일을 복구하기 위해 pcapfix 도구를 통해 손상된 부분을 복구하였다.

 

pcapfix : 손상된 pcap, pcapng 파일을 복구시켜주는 도구

 

설치 참조 사이트 : https://f00l.de/pcapfix/

 

pcapfix - repair corrupted pcap / pcapng files

pcapfix pcapfix tries to repair your broken pcap and pcapng files. To fix your pcap files the tool first checks for an intact pcap global header and repairs it if there are some corrupted bytes. It there seems to be no global header at all, pcapfix adds a

f00l.de

다운받은 파일의 압축을 풀어주면 폴더가 생성되며, 안에는 여러 파일들이 있다.

 

폴더 안에 문제 파일을 같이 넣어준 다음, 명령어를 통해 pcapng 파일을 복구할 수 있다.

 

[그림 1] pcapfix 명령어 -> 손상된 파일 복구

 

위와 같이 명령을 수행하면 복구된 fixed_kill.pcapng 파일이 생성된다.

 

이제 Wireshark 도구를 통해 분석할 수 있다.

 

Wireshark : 오픈 소스 패킷 분석 프로그램으로 pcap을 이용하여 패킷을 잡아내는 것이 주요 기능

 

다운로드 사이트 : https://www.wireshark.org/download.html

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Rich perfor

www.wireshark.org

 

[그림 2] Wireshark 도구 실행 - 문제 파일 오픈

 

Wireshark 도구로 문제 파일을 오픈한 화면이다.

 

상세 분석을 위해 [Statics] - [Conversations] 기능을 통해 두 호스트 간의 연결 정보나 내용을 간략히 정리해서 볼 수 있다.

 

[그림 3] Statics - Conversations 기능

 

 

[그림 4] Conversations 화면

 

TCP 탭의 내용을 살펴보면 위 화면과 같이 21번 포트의 정보를 확인할 수 있다.

 

21번 포트는 FTP에 사용되는 포트번호이다.

 

FTP (File Transfer Protocol) : 파일 전송에 사용되는 프로토콜

 

상세 내용 확인을 위해 [Follow TCP Stream] 기능으로 확인하였다.

 

[그림 5] tcp.stream eq 0

 

TCP Stream 0번에서 jpg 파일과 mp4 파일들을 주고 받은 것을 확인할 수 있다.

 

jpg 파일의 시그니처는 [FF D8 FF E0]으로, Wireshark의 Find Packet(Ctrl + F)에서 Hex Value로 설정하고 jpg 파일 시그니처를 검색하면 jpg 파일들의 데이터를 확인할 수 있다.

 

[그림 6] FF D8 FF E0 검색

 

[그림 7] 플래그 발견

 

데이터를 검색, 분석하던 도중 위 화면과 같이 696번 패킷에서 플래그 문자열을 확인하였다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

Network Forensic #54 (하늘은 왜 푸른색입니까?)

 

네트워크 포렌식 54번 문제

 

문제 파일로 txz 압축 파일이 주어진다.

 

압축을 풀게 되면 blue.tar 파일이 생성되며, 한번 더 압축을 풀면 blue.pcap 파일이 생성된다.

 

pcap 파일을 바로 분석하려고 했지만, 중요한 것은 pcap 파일 안에 다른 파일이 은닉되어 있었다.

 

리눅스 환경에서 binwalk 도구를 통해 은닉된 데이터를 확인하였다.

 

binwalk : 대표적인 펌웨어 분석 툴로, 펌웨어 분석뿐만 아니라 포렌식 시 파일 카빙 등에 사용할 수 있는 유용한 도구 

 

참고 사이트 : https://github.com/ReFirmLabs/binwalk

 

ReFirmLabs/binwalk

Firmware Analysis Tool. Contribute to ReFirmLabs/binwalk development by creating an account on GitHub.

github.com

 

[그림 1] PNG 파일 은닉 확인

 

binwalk를 통해 분석하면 png 파일이 은닉 되어있음을 확인할 수 있다.

 

상세 분석을 위해 Wireshark 도구로 blue.pcap 파일을 열어 확인하였다.

 

Wireshark : 오픈 소스 패킷 분석 프로그램으로 pcap을 이용하여 패킷을 잡아내는 것이 주요 기능

 

다운로드 사이트 : https://www.wireshark.org/download.html

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Rich perfor

www.wireshark.org

[그림 2] Wireshark 도구 실행 - 문제 파일 오픈

 

png 파일을 찾기 위해 Find Packet(Ctrl + F) 기능으로 Packet Bytes에 png를 검색한 결과, 이상한 부분을 발견하였다.

 

[그림 3] Find Packet 기능

 

[그림 4] 283번 패킷

 

283번 패킷의 헤더를 확인해보면 [02 0c 20]으로 시작하는 것으로 확인된다.

 

[그림 5] 02 0c 20 Hex값 검색

 

추가적 분석을 위해 Find Packet 기능을 통해 Hex 값을 검색해보면 283번 패킷 이후에 [02 0c 20] 의 헤더를 가진 의심스러운 데이터를 분석하면 6개의 패킷 (288번, 293번, 298번, 303번, 308번, 313번)을 추가적으로 찾을 수 있다.

 

 

[그림 6] File - Export Selected Packet Bytes 기능

 

Wireshark 도구에는 [File] 탭에 [Export Selected Packet Bytes] 기능이 있다.

 

이 기능을 통해 패킷의 Bytes 데이터를 추출할 수 있으며, 위에서 확인한 7개의 패킷을 추출하여 순서대로 조합하면 은닉된 png 파일을 확인할 수 있다.

 

[그림 7] 7개의 패킷 -> bin 파일 추출

 

283번 패킷은 1.bin, 288번 패킷은 2.bin 이런 방법으로 313번 패킷 7.bin까지 추출하였다.

 

7개의 파일을 조합하기 전에, HxD를 실행하여 bin 파일의 헤더를 제거해야 한다.

 

[그림 8] bin 파일  헤더 Hex 값 제거

 

[그림 9] bin 파일 마지막 Hex 값 제거

 

[그림 10] 283번 패킷 헤더 Hex 값 제거

 

283번 bin 파일을 제외한 6개의 파일 헤더의 Hex값은 맨 위 화면대로 제거한다.

 

그리고 마지막 0E Hex 값 제거는 7개의 파일 모두 동일하게 제거한다.

 

마지막으로 283번 bin 파일만 png의 헤더 시그니처가 맨 앞으로 와야 하므로 283번 패킷만 특정하게 제거한다.

 

이제 7개의 파일을 조합시키면 png 파일이 완성된다.

 

[그림 11] HxD 기타 설정 - 파일 도구 - 연결 기능

 

HxD의 [기타 설정(Extra)] - [파일 도구(File tools)] - [연결(Concatenate)] 기능을 통해 7개의 bin 파일을 조합할 수 있다.

 

[그림 12] 파일 연결

 

1.bin 파일부터 7.bin 파일까지 순서대로 조합하여, 하나의 png 파일을 만들 수 있다.

 

출력하는 png 파일 명은 flag로 지정하여 파일을 출력하였다.

 

[그림 13] png 파일 확인 (플래그)

 

출력된 png 파일을 확인하면 플래그를 확인할 수 있다.

 


# Reference

 

http://www.yes24.com/Product/Goods/59156934

+ Recent posts