Forensics/Iphone Forensics

[ios Forensics] 아이폰 문자 포렌식 (SMS Forensics)

pental 2019. 12. 20. 12:20

아이폰 SMS 포렌식이다.

DB 를 추출하는 방법은 아래를 참고 하면 된다.

https://blog.system32.kr/66

 

[ios Forensics] 아이폰 Safari 포렌식 (히스토리, 북마크)

아이폰 Safari 포렌식이다. (그닥 어렵지 않다.) [ Requirement ] iphone with jailbreak (필자는 iphone6 / 12.3.1 사용중이며 Checkra1n으로 탈옥하였다.) ifunbox (필자는 ifunbox 를 사용하였지만 그냥 scp를..

blog.system32.kr

아이폰 SMS 경로는 https://blog.system32.kr/65에 상세히 적혀 있으니 참고 하도록 하자.

주요 경로

/var/mobile/Library/SMS <- 문자메시지 저장 DB이다. 추출 하도록 하자. (추출 하는 방법은 https://blog.system32.kr/66 에 적혀 있으니 참고하자.)

SMS DB

sms 데이터 베이스에는 CloudKitMetaData 폴더, Drafts 폴더, EmergencyAlerts 폴더와 charRenderMetaData.db, replayDB.db, sms.db 로 이루어져 있다.

파일 명으로 알수 있듯이 sms.db 는 문자 메시지를 저장 하고 있을 것이다.

DB Browser for SQLite 프로그램을 통해서 열어보자.

DB Browser for SQLite - sms.db

sms.db 파일에는 16개의 테이블과 23개의 인덱스로 이루어져 있습니다.

테이블 명을 봐서 알수 있듯이 아마 문자 메시지 기록은 chat 테이블 또는 message 테이블에 있을거라고 예상 됩니다.

DB Browser for SQLite - sms.db -Table - chat

chat 테이블에는 누구와 연락을 했는지 알려주는 테이블로 추축이 됩니다. 

저는 pental@kakao.com 과 연락을 했네요.

그럼 message 테이블에는 뭐가 있을까요?

DB Browser for SQLite - sms.db -Table - message

message 테이블에는 평문으로 저장된 문자 메시지를 확인 할 수 있습니다.

저는 이렇게 문자를 보냈습니다

1. Hello

2. My Name is Pental

3. This is Secrect Message..

4. Answer : SMS_FORENSICS

총 4개의 문자를 확인 할 수 있습니다.

DB Browser for SQLite - sms.db -Table - sqlite_sequence

sqlite_sequence 테이블에서는 지금 까지 나눈 chat, handle, message, sync_deleted_attachments, sync_deleted_messages, deleted_messages 등의 통계를 알려줍니다.

저는 11개의 메시지를 보냈지만 7개의 메시지를 지웠습니다. 그래서 남은 4개의 문자 메시지는 위에 알려드린 것과 같습니다.

DB Browser for SQLite - sms.db -Table - chat_message_join

chat_message_join 테이블에서는 메시지를 보낸 시간을 확인 할수 있는걸로 추측됩니다.

하지만 message_data 에 있는 데이터 값은 UNIX 시간은 아닙니다. 조금더 확인을 해봐야 할 거 같습니다.

아시는 분은,, 댓글로 알려주시면 감사하겠습니다.

2019-12-20 P.M 1:19 문제 해결,

chat_message_join의 timestamp 는 Apple Cocoa Core Data Timestamp 를 따르고 있다.

epochconverter.com/coredata

 

Cocoa Core Data Timestamp Converter

Apple Cocoa Core Data timestamp to human-readable date Core Data is a data storage framework to manage objects in iOS and OS X applications. Core Data is part of the Cocoa API. These timestamps are sometimes labeled 'Mac absolute time'. A Core Data timesta

www.epochconverter.com

coredata Timestamp -> DATE 로 바꾸는 사이트 입니다.

먼저 추출된 598503588956724992 시간을 9자리로 짤라준다.

598503588 로 짜를수 있는데 이 time을 위의 사이트에 넣어서 decode 해보자.

Decode Core Data Timestamp to Human Date

GMT 기준 2019/12/20/02:59:48 입니다. 하지만 한국의 경우는 GMT+9 시간이므로

2019/12/20/11:59:48 입니다.

Iphone SMS Time

정확하게 맞는것을 확인 할 수 있습니다. 

도움을 주신 분들께 모두 감사의 말을 전합니다. :)

다른 추가적인 문의나 오탈자는 pental@kakao.com 로 보내주시면 감사하겠습니다. :)