Forensics/Magnet AXIOM

[Magnet] 카카오톡 포렌식 (윈도우 / Kakaotalk) #2 증거 분석

pental 2020. 4. 25. 00:10

#1 - Logo

이번 포스팅에서는 저번 포스팅에서 생성한 케이스를 분석해 보도록 하겠습니다.

#1 증거 수집 - [Magnet] 카카오톡 포렌식 (윈도우 / Kakaotalk) #1 증거 수집

#2 증거 분석 - [Magnet] 카카오톡 포렌식 (윈도우 / Kakaotalk) #2 증거 분석


#2 - Evidence

먼저 수집된 증거는 총 9,309개입니다.

이 증거들에는 현재 카카오톡 PC버전에서 사용한 내용들이 나와 있는데요, 먼저 저는 카카오톡 대화방이 총 56개이며, 연락처는 2001개, 주고받은 메시지는 4,673개입니다.

(컴퓨터를 새로 사고 진행했을 때 당시 대략 4일 정도 지난 량 / 아마 1년 이상 사용한 PC라면 수만 개의 대화가 있을 거라고 추측됨)


1. 카카오톡 대화방

 

#3 - Kakaotalk Chat Room

먼저 카카오톡 대화방입니다. 위에 보이는 사진과 같이 채팅 ID, 방 이름, 마지막 메시지 날짜 / 시간, 마지막 메시지, 채팅 유형, 참가자 수, 참가자 ID, 링크 ID, 방 상태, 방 상태 작성자, 업데이트한 날짜 / 시간 등을 추출해줍니다.

#4 - Kakaotalk Artifacts Detail

먼저 마지막 메시지의 경우 첫 번째 글자와 마지막 글자에서 오류가 발생하고 있습니다. 언젠가 고쳐질 거라 생각하고 있습니다.

그다음 칼럼인 Type Chat입니다. 오픈 채팅의 경우 O, 1대 1 대화인 경우 Direct Chat, 플러스 친구의 대화의 경우 PlusChat입니다. 하지만 iO, EO 등등은 뭔가 이상해서 분석을 진행할 수 없었습니다.

그리고 다음 칼럼인 Number of Participants입니다. 정확한 수치를 나타내진 않고 있습니다.

#5 - Number of Participants


2. 카카오톡 연락처

 

#6 - Kakaotalk Contact

카카오톡 연락처의 경우, 등록되어 있는 친구뿐만 아니라, 오픈 채팅, 그룹채팅에서 등록하지 않은 친구 마저, 친구로 Count를 해버리기 때문에 수치가 높게 잡힙니다. 

#7 - Real Kakaotalk Friends

실제 카카오톡의 친구수는 313개입니다. 하지막 대략 1700개의 연락처가 추가로 수집이 되었습니다.

※ 차단된 친구와 숨겨진 친구 또한 연락처에 포함되어서 수집이 됩니다. 

 


다시 본론으로 돌아와서 카카오톡 연락처에는 어떤 정보를 수집했는지 확인해 보도록 하겠습니다.

먼저 사용자 ID, 계정 유형, 화면 이름, 프로필 이미지 URL, 상태 메시지, 전화번호, 사용자 이름, 애칭, 숨김, 즐겨찾기, 링크 ID 등을 수집하고 있습니다.

계정 유형의 경우 아직 잘 모르겠습니다.. (추후에 조금 더 분석해 볼 예정입니다.

화면 이름의 경우 상대방이 카카오톡에 설정해둔 이름을 나타냅니다.

#8 - Screen Name

물론 한글이라서 그런지 이름이 깨집니다.

다음은 프로필 이미지 URL입니다. 상대방이 지정해준 프로필 사진의 cdn 서버의 사진을 다운로드할 수 있습니다.

상태 메시지는 말 그대로 상대방이 설정해둔 상태 메시지입니다.


전화번호의 경우 약간의 오류가 많은 거 같습니다.

오픈 채팅의 경우, 상대방의 전화번호를 파악할 수는 없고, 또한 카카오톡에 친구로 등록할 때, 전화번호로 등록된 경우만 전화번호가 수집됩니다.

#9 Phone Number

데이터베이스에서 대략 11자리만 자르는 거 같습니다. 그래서 애칭 칸으로 전화번호가 넘어가고 있습니다.

오픈 채팅과, 친구로 등록할 때 전화번호를 통해서 등록하지 않았다면, 전화번호를 수집할 수 없습니다.

애칭의 경우, 상대방이 등록해둔 프로필상의 이름이 아닌, 전화번호를 저장할 때 사용하였던 이름, 또는 카카오톡에서 임의적으로 변경한 경우에 애칭이 등록됩니다.


숨김과 즐겨찾기는 말 그대로, 친구를 숨겼거나, 즐겨찾기로 등록됐을 경우, 해당 필드가 Yes나 No로 출력됩니다.


3. 카카오톡 메시지

#10 - Kakaotalk Message

카카오톡 메시지의 경우, 보낸 사람 ID, 메시지 ID, 메시지를 보낸 날짜와 시간, 메시지, 메시지 유형, 첨부파일, 삭제됨 등을 수집할 수 있습니다.

메시지를 보낸 날짜와 시간은 약간의 오류가 존재합니다.

#11 - Date

시간이 알맞지 않은 경우가 존재합니다. 

메시지가 가려진 경우 메시지 유형 칼럼이 Attachment로 변경됩니다.

#12 - Attachment

또한 #(검색) 기능을 통해서 메시지를 전송한 경우 

#13 - 23(not parsed)

23 (not parsed)로 메시지 유형이 출력됩니다.

#14 - 27 (not parsed)

사진을 여러 장 한 번에 전송할 경우 27(not parsed)로 출력됩니다.

#15 - Announcement

공지의 경우 메시지 유형이 Announcement로 출력됩니다.

이모티콘의 경우 메시지 유형이 Emotion으로 출력됩니다.

#16 - Emotion


여기서 잠깐, 첫 번째 칼럼인 보낸 사람 ID를 검색하면 과연 상대방을 찾을 수 있을까?

검색 기능을 통해서 "225384438" 보낸 사람 ID를 찾아보도록 하겠습니다.

#17 - Search Message

이상하게 카카오톡 연락처에서는 찾을 수 없었습니다.

#18 - Search Contact

메시지를 보낸 사용자의 ID와 연락처에 저장되는 사용자 ID가 다름을 알 수 있습니다.


#19 - Photo

사진의 경우 메시지 유형이 Photo로 출력됩니다. 또한 사진은 첨부파일로 인식되어서 카카오톡 cdn 서버에 저장됩니다.

하지만 첨부파일의 다운 기간이 지나면 다운로드할 수 없습니다.


4. 미디어

미디어의 경우 사진만 존재합니다.

#20 - Media

파일 이름, 파일 확장자, 생성한 날짜/시간, 마지막으로 액세스 한 날짜/시간, 마지막 수정 날짜/시간, 크기(바이트), 스킨톤 분석 비율(%), 원래 너비, 원래 높이, Exif 추출 상태, 생성한 날짜/시간 (현지시간) 등을 수집하고

중요한 것은 원본 사진을 보낼 경우, 소프트 웨어와 제조사, 모델, 카메라 일련번호, Lens 모델, Lens 일렬 번호, 위도, 경도, 고도 등을 수집합니다.

 

#21 - Deatil of Photo

원본 사진을 보낸 경우, 제조사, 모델명, Lens 모델 등에 대해서 수집할 수 있습니다.


지금까지 Magnet Axiom으로 카카오톡 포렌식을 진행해 보았습니다.

추가적인 문의나 오탈자는 아래 댓글에 남겨주시면 감사하겠습니다.