Forensics/DFC

[2021 DFC] 2021 디지털포렌식 챌린지 - 204 - Slack Off

pental 2021. 10. 29. 02:13

1. What are the names of mobile games installed by the user and their initial execution time? (40 points)

먼저 주어진 이미지에 확장자가 없기 때문에 HxD 프로그램을 통해 시그니쳐를 확인한다.

[ 그림 1 HxD 를 통한 이미지 파일 시그니쳐 확인 ]

주어진 시그니쳐는 ADSEGMENTEDFILE 임으로 Access Data에서 지원하는 File Format 으로 FTK Imager 를 통해 Dump를 수행했을 때 확장자를 AD1으로 진행할 경우 만들어지는 파일이다.

주어진 이미지에 확장자 .ad1 를 추가해 FTK Imager에 탑재후 분석을 시작한다.

[ 그림 2 FTK Imager 폴더 디렉터리 구조 ]

폴더 디렉터리 구조를 확인해 보면 일반적으로 안드로이드에서 사용되는 android. ~ 폴더를 확인할 수 있으며 이를 통해 안드로이드 구조의 이미지임을 추측해서 문제를 해결 할 수 있다.

1번 문제에서는 사용자가 설치한 게임의 게임명과 처음으로 시작한 시간은 언제인지 확인하는 문제이다. 확인하기 위해 \data\com.android.vending\databases\library.db 파일을 확인한다.

[ 그림 3 library.db – ownership 테이블 ]

그중 게임으로 볼수 있는 doc_id를 확인하면 7,8번 행이다.

[ 그림 4 게임으로 볼수 있는 레코드 ]

7행의 com.coc.kr.cocmsl.google멸망록: 14일간의 종말 MMORPG 이라는 게임명을 가지고 있으며 com.monawa.chosun 조선협객전M 이라는 게임명을 가지고 있다.

[ 그림 5 com.coc.kr.cocmsl.google 검색 결과 ]
[ 그림 6 com.monawa.chosun 검색 결과 ]

게임들의 최초 실행 시간을 확인하기 위해서 com.google.android.gms.measurement.prefs.xml 파일을 확인한다.

\data\com.coc.kr.cocmsl.google\shared_prefs\com.google.android.gms.measurement.prefs.xml

[ 1 | 멸망록 게임의 최초 시간 기록 ]

[ 그림 7 멸망록 게임의 최초 실행 시간 ]

\data\com.monawa.chosun\shared_prefs\com.google.android.gms.measurement.prefs.xml

[ 2 | 조선협객전M 게임의 최초 시간 기록 ]

[ 그림 8 조선협객전M 게임의 최초 실행 시간 ]

Question 1 Answer
게임 첫 실행시각
멸망록 2021 4 12 월요일 오후 10:56:41 GMT+09:00
조선협객전M 2021 4 26 월요일 오후 6:44:29 GMT+09:00

2. What is the user’s account of Google Play and an IP address used to run the games? (40 points)

\data\com.android.vending\databases\localappstate.db

[ 3 | 구글 플레이 스토어 데이터베이스]

[ 그림 9 localappstate.db 내 계정 정보 ]

주어진 localappstate.db 파일 내 appstate 테이블중 account 칼럼을 확인해 보면 dfc202n@gmail.com 이라는 구글 계정을 확인 할 수 있다. 

멸망록 게임의 로그를 확인 한 결과 사용자가 멸망록 게임을 하기 위해 이용한 계정과 IP 주소를 확인 할 수 있다.

\data\com.coc.kr.cocmsl.google\app_webview\Local Storage\leveldb\000003.log

[ 3-1 | 멸망록 게임의 로그 ]

[ 그림 9-1 | 000003.log 내용 중 일부 (IP Address, Email Address) ]

주어진 멸망록 게임 로그에서 게임에 사용된 ip 주소는 218.50.143.55 임을 확인 할 수 있었고, 계정을 확인 하기 위해서 EncryptEmail 부분의 8209755ddb0eed1f6f4b704cec41bace 해시를 MD5 복호화 기법을 사용해 복호화 한 결과 dfc202n@gmail.com 을 확인 할 수 있다.

또한 1번 문제에서 library.db 파일에서 account를 확인해 사용한 계정이 동일한 것을 확인 할 수 있다. <그림 3, 4 참조.>

사용자가 사용한 애뮬레이터의 ip를 확인하기 위해서는 아래 파일들을 확인한다.

\data\com.google.android.gms\cache\cronet-cache\com.google.android.gms\prefs\local_prefs.json

[  표  3-1,  그림  9-2   애뮬레이터  IP  정보 확인을 위한 파일  ]

\data\com.vphone.googlesign\databases\sensorsdata

[  표  3-2,  그림  9-3   애뮬레이터  IP  정보 확인을 위한 파일  ]

 

\data\com.vphone.googlesign\shared_prefs\com.sensorsdata.analytics.android.sdk.SensorsDataAPI.xml

[  표  3-2,  그림  9-4   애뮬레이터  IP  정보 확인을 위한 파일  ]

하나는 애뮬레이터 아이피 172.16.58.15 는 사설 IPv4 172.16.0.0 ~ 172.31.255.255 에 이용되는 내부 아이피로 확인 되며 다른 하나는 멸망록 게임의 로그를 확인 한 결과 애뮬레이터의 외부 ip로 추정되는 218.50.143.55를 사용하고 있다.

Question 2 Answer
Google Play Account dfc202n@gmail.com
Emulator IP 172.16.58.15
Emulator 외부 IP 218.50.143.55

3. Identify the payment history in the games and then list them in chronological order. (80 points)

결제 내역을 확인하기 위해서 다음과 같은 파일을 확인한다.

\data\com.monawa.chosun\shared_prefs\com.facebook.internal.PURCHASE.xml
\data\com.monawa.chosun\shared_prefs\com.facebook.internal.SKU_DETAILS.xml
\data\com.monawa.chosun\files\kakaoad_cache\event_journal
\data\com.android.vending\databases\library.db

[ 4 | 결제 내역 검색을 위한 파일 ]

해당 파일에서는 결제 기록과 같은 내역을 확인 할 수 있는데 이중 게임 내에서 구매 즉 인앱구매를 살펴보면 다음과 같은 내역들을 확인 할 수 있다.

[  그림  10   /data/com.monawa.chosun/shared_prefs/com.facebook.internal.PURCHASE.xml ]
[ 그림 11   /data/com.monawa.chosun/shared_prefs/com.facebook.internal.SKU_DETAILS.xml ]

Question 3 Answer
Time ( GMT +9:00 ) KRW Title Description
2021-04-26 19:01:24 \ 55,000 성장 패키지 (조선협객전M) 성장 패키지
2021-04-26 19:01:39 \ 55,000 승려 장비 패키지 (조선협객전M) 승려 장비 패키지
2021-04-28 21:16:49 5,900 590다이아몬드 (조선협객전M) 590다이아몬드
2021-04-29 22:46:13 109,000 10900 다이아몬드 (조선협객전M) 10900 다이아몬드

[ [ 5 | 결제 내역 정리 (GMT +9:00) ]

4. Check out the character ID, level, VIP level, and combat power of the game character played first by the user. (40 points)

\data\com.coc.kr.cocmsl.google\shared_prefs\com.coc.kr.cocmsl.google.v2.playerprefs.xml

[ 6 | 사용자 캐릭터의 정보 확인을 위한 xml ]

해당 파일에서 URL Encode가 된 부분을 확인 할 수 있는데, 평문으로 바꿔준후 분석한다.

[ 그림 12 platerprefs.xml 파일 중 일부 ]

빨간색으로 표시한 부분에서 케릭터의 ID, 레벨, 전투력을 확인 할 수 있다.

[ 그림 13 캐릭터의 ID, 레벨, 전투력 등 정보 ]

같은 파일에서 채팅을 주고 받는 부분을 확인 할 수 있으며, 그 부분에서 VIP 레벨을 확인 할 수 있다.

[ 그림 14 사용자가 다른 사용자와 나눈 채팅 내역 ]
[ 그림 15 채팅내역에서 발견 할 수 있는 VIP Level ]

Question 4 Answer
Character ID 14681248
Character Name 멸망
Level 339
VIP Level 5
Combat Power 14993792