[iOS Forensics] iPhone 캘린더 포렌식
iPhone에 저장되어있는 캘린더를 포렌식 해보도록 하겠습니다.
먼저 아이폰의 백업 파일을 추출해서 사용하겠습니다. 상황에 따라 본인에 맡게 사용하시면 될거 같습니다.
백업 파일 추출에 관해서 연락이 많은데, 이 부분에 대해서는 현재 아이폰 포렌식 도구를 만들고 있습니다.
github.com/kim-do-hyeon/iphone-forensics
해당 도구를 사용하시면 추출이 가능합니다.
먼저 캘린더가 저장되어 있는 데이터베이스의 위치는 다음과 같습니다.
\HomeDomain\Library\Calendar\Calendar.sqlitedb
해당 위치를 찾아가보면 다음과 같은 파일들이 있습니다.
이중에서도 Calendar.sqlitedb 파일을 사용할 예정입니다. 먼저 DB Browser for SQLite 프로그램을 사용해 확인해 보도록 하겠습니다.
살펴보아야 할 테이블은 CalendarItem 테이블입니다.
summary 컬럼에는 캘린더의 제목, description에는 해당 일자의 설명이 있습니다.
start_date와 end_date는 각각 시작과 끝나는 일정입니다.
다른 부연설명은 하지 않고, 바로 소스를 작성하겠습니다.
def calendar_event_artifact():
# Calendar Event Artifact
# C:\Users\pental\Desktop\iphone-forensics\extract_file\HomeDomain\Library\Calendar\Calendar.sqlitedb
calendar_location = pathlib.Path(str(pathlib.Path(os.getcwd() + "/extract_file/HomeDomain/Library/Calendar")) + "\\Calendar.sqlitedb")
conn = sqlite3.connect(calendar_location)
cur_calendaritem = conn.cursor()
cur_calendaritem.execute("SELECT summary, start_date, end_date FROM CalendarItem")
calendaritem = cur_calendaritem.fetchall()
calendar = []
print("\n========== PRINT_TYPE ==========")
print("'Calendar Item' , 'Start Date & Time', 'End Date & Time'")
print("================================\n")
for i in range(len(calendaritem)) :
value = [calendaritem[i][0], util.cocoa_date_to_human_date(calendaritem[i][1]), util.cocoa_date_to_human_date(calendaritem[i][2])]
print(value)
calendar.append(value)
start_date와 end_date는 cocoa core date timestamp를 사용하기 때문에 Human 시간으로 변경하는 함수를 작성해서 사용하였습니다.
def cocoa_date_to_human_date(cocoatime) :
cocoatime = int(cocoatime)
from datetime import datetime
unix = datetime(1970, 1, 1) # UTC
cocoa = datetime(2001, 1, 1) # UTC
delta = cocoa - unix # timedelta instance
timestamp = datetime.fromtimestamp(cocoatime) + delta
value = (timestamp.strftime('%Y-%m-%d %H:%M:%S'))
return value
읽어 주셔서 감사합니다. 다른 문의나 오탈자는 아래 댓글을 통해서 남겨주시면 감사하겠습니다!
'Forensics > Iphone Forensics' 카테고리의 다른 글
[iOS Forensics] iPhone Wallet Pass (지갑) 포렌식 (0) | 2021.02.12 |
---|---|
[iOS Forensics] iPhone SMS (문자) 포렌식 (0) | 2021.02.10 |
[iOS Forensics] iPhone 연락쳐 포렌식 (0) | 2021.02.09 |
[ios Forensics] 아이폰 카카오톡 포렌식 - 멀티프로필 분석하기 (1) | 2021.02.04 |
[ios Forensics] 아이폰 카카오톡 포렌식 - #2 DB 복호화 (11) | 2020.10.05 |
댓글
이 글 공유하기
다른 글
-
[iOS Forensics] iPhone Wallet Pass (지갑) 포렌식
[iOS Forensics] iPhone Wallet Pass (지갑) 포렌식
2021.02.12 -
[iOS Forensics] iPhone SMS (문자) 포렌식
[iOS Forensics] iPhone SMS (문자) 포렌식
2021.02.10 -
[iOS Forensics] iPhone 연락쳐 포렌식
[iOS Forensics] iPhone 연락쳐 포렌식
2021.02.09 -
[ios Forensics] 아이폰 카카오톡 포렌식 - 멀티프로필 분석하기
[ios Forensics] 아이폰 카카오톡 포렌식 - 멀티프로필 분석하기
2021.02.04