Security & Forensic

반응형

웹 분석-Chrome

 

아티팩트 저장 경로

Cache

%USERPROFILE%\AppData\Local\google\chrome\user data\default\cache 폴더

 

History
%USERPROFILE%\AppData\Local\google\chrome\user data\default\history 파일

History파일에는 사용자가 방문한 URL 및 접속 시간, 다운로드 내역 등이 기록됩니다. 
Chrome브라우저의 방문기록은 urls 테이블과 visits 테이블에 의해 방문 url과 방문 기록을 분리하여 관리합니다. 
urls 테이블에는 방문했던 사이트 고유의 url들이 저장되고, visits 테이블에는 urls 테이블을 참조하여 방문 이력이 
관리 됩니다. 다운로드 기록은 downloads 테이블과 downloads_url_chains 테이블에 의해 관리되며 downloads에는 
다운로드 받은 파일에 대한 내역이 기록되고 downloads_url_chains테이블에는 다운로드 받은 url들이 기록됩니다.
활용성이 높은 데이터가 들어있는 Table은 downloads, downloads_url_chains, urls, visits가 있습니다.

History DB Table List

downloads Table
다운로드 받은 파일을 관리, 저장경로, 다운로드 시작 시간, 용량 등의 항목이 기록됩니다.


downloads_url_chains Table
다운로드 받은 파일의 원래 URL 관리

 

urls Table 
사용자의 접속 URL을 관리, 접속 URL, 최근 접속 시간, 총 접속 수 등을 기록


visits Table
접속 URL, 접속 시간 등 접속 기록은 urls 테이블을 포함하여 visits 테이블에 저장 

 

keyword_search_terms
크롬 검색 키워드

 

Cookie
%USERPROFILE%\AppData\Local\google\chrome\user data\default\Cookies 파일

쿠키는 일반적으로 웹마다 남기는 형태가 다르기 때문에 그 형식을 정확히 알기란 어렵거나 쿠키를 암호화 등을 통해

관리한다면 정확한 의미나 값을 파악하는게 쉽지 않다.

 

Download

%USERPROFILE%\AppData\Local\google\chrome\user data\default\history 파일

 

Typed URL

%USERPROFILE%\AppData\Local\google\chrome\user data\default\shortcuts 파일

검색어를 포함하여 주소창에서 직접 입력한 후 접근한 사이트. 그러므로 keyword_search_terms 보다 폭넓은
데이터 포함

New Tab

%USERPROFILE%\AppData\Local\google\chrome\user data\default\top sites 파일

최근 접근 Top 10 Web URL


Bookmarks

%USERPROFILE%\AppData\Local\google\chrome\user data\default\Bookmarks 파일
Privacy 관련 자료로 암호화되어 있어 DB를 직접 열 수 없다. 


Visited Link

%USERPROFILE%\AppData\Local\google\chrome\user data\default\Visited Links 파일
Privacy 관련 자료로 암호화되어 있어 DB를 직접 열 수 없다. 


Preferences

%USERPROFILE%\AppData\Local\google\chrome\user data\default\Preferences 파일

백업, 북마크, 브라우저, 검색 엔진, 다운로드, 확장 기능, 플러그인, 세션, 싱크 설정 정보, 클라우드 프린트,
DNS 프리패칭 정보

 

이러한 정보들의 관리 방법이나 경로는 크롬 버전이 달라질 때 마다 변경될 수 있다.


위 정보 중 백업, 북마크, 검색 엔진, 다운로드 설정 정보를 통해서도 사용자의 행위를 프로파일링 해볼 수 있다. 하지만, 특정인의 특징이라고 보기에는 다소 보편적인 내용이기 때문에 효과가 크지 않다. 
반면, 클라우드 프린트, DNS 프리패칭, 줌 레벨은 사용자의 인터넷 사용 패턴을 알려주기 때문에 프로파일링하는데 큰 도움이 된다. 해당 정보는 넓은 의미에서 프라이버시로 볼 수 있지만, 일반 사용자 입장에서는 딱히 삭제할 방법이 없다.

 

분석

SQLite 
크롬 브라우저에서는 Sqlite db 형태로 파일을 관리하므로 손쉽게 Sqlite Browser를 통해 분석이 가능

F:\temp>sqlite3.exe "%USERPROFILE%\AppData\Local\google\chrome\user data\default\history"
sqlite> .table
Error: database is locked

 

F:\temp>dir "%USERPROFILE%\AppData\Local\google\chrome\user data\default\history" 
2020-03-10  오후 05:11        11,239,424 History 

F:\temp>forecopy.exe -f "%USERPROFILE%\AppData\Local\google\chrome\user data\default\history" "f:\temp"

F:\temp>dir "f:\temp\history"
2020-03-10  오후 05:19        11,239,424 history

F:\temp>sqlite3.exe "f:\temp\history"
sqlite> .database
main: f:\temp\history
sqlite> .table
downloads                meta                     urls
downloads_slices         segment_usage            visit_source
downloads_url_chains     segments                 visits
keyword_search_terms     typed_url_sync_metadata


History

sqlite> pragma table_info(urls);
0|id|INTEGER|0||1
1|url|LONGVARCHAR|0||0
2|title|LONGVARCHAR|0||0
3|visit_count|INTEGER|1|0|0
4|typed_count|INTEGER|1|0|0
5|last_visit_time|INTEGER|1||0
6|hidden|INTEGER|1|0|0


sqlite> SELECT datetime(last_visit_time / 1000000 - 11644473600, 'unixepoch', 'localtime') last_visit_time,url,title 

FROM urls ORDER BY last_visit_time DESC [limit 10];

 

Download

sqlite> SELECT datetime(end_time / 1000000 - 11644473600, 'unixepoch', 'localtime') end_time, target_path, tab_url

FROM downloads ORDER BY end_time DESC limit 10;

Keyword Search
select b.url, a.term, datetime(b.last_visit_time / 1000000 - 11644473600, 'unixepoch', 'localtime')

from keyword_search_terms a, urls b  where a.url_id = b.id;

 

기타 Cookies, Typed URL, New Tab도 동일한 방식으로 분석하면 된다. 다만 각 SQLite DB 내 Table 구조 및 Field에

대한 이해가 선행되어야 한다.

 

DB Browser for SQLite Tool

BrowsingHistoryView Tool

Internet Explorer, MicroSoft Edge, Mozilla Firefox, Google Chrome, Opera and Safari 통합 히스토리 분석

 

GUI

CLI

F:\>BrowsingHistoryView.exe /LoadIE 0 /LoadFirefox 0 /LoadSafari 0 /LoadChrome 1 /HistorySource 1 /scomma "f:\test\chrome-back.csv"

F:\tool\forensic\browsinghistoryview-x64>dir "f:\test\chrome-back.csv"
2020-03-10  오후 02:05         1,585,621 chrome-back.csv


F:\temp>F:\tool\forensic\LogParser\LogParser.exe -h -i:csv "f:\test\chrome-back.csv" -headerRow:on

Fields:
  Filename (S)    RowNumber (I)    URL (S)          Title (S)
  Visit Time (S)  Visit Count (I)  Visited From (S) Visit Type (S)
  Web Browser (S) History File (S) User Profile (S) Browser Profile (S)
  URL Length (I)  Typed Count (I)  Record ID (I)

F:\temp>F:\tool\forensic\LogParser\LogParser.exe -i:csv -iDQuotes:auto "select * from 'f:\test\chrome-back.csv'"

<참고>

Visit Type

Hindsight
Chrome 모든 아티팩트를 대상으로 TimeLine 구성

 

TimeLine 생성

C:\Temp>hindsight.exe -i "C:\Users\chohb\AppData\Local\Google\Chrome\User Data\Default" -b Chrome -f sqlite -o "c:\temp\chrome_forensic"

DB Browser for SQLite로 TimeLine 조회

SNSS(Server Session) 파일 분석
다음 두 가지 파일이 SNSS 포맷을 가진 크롬 관련 파일이다.

- Current Session / Current Tabs
- Last Session / Last Tabs

 

위 파일은 현재 탭을 포함한 탭 및 세션 상태와 관련된 모든 것을 저장합니다. 가장 최근의 정보이므로 포렌식에서 

매우 민김한 정보일 수 있다.

분석 시에는 해당 파일들이 Shared read/write 권한이 없어서 실기간으로 접근이 불가능하며 권한을 임의로 부여해도

크롬 실행 시 다시 초기의 권한으로 변경한다.


Current Tab/Session, Last Tab/Session 분석  - Current Web URL 확인

C:\>forecopy.exe -f "C:\Users\chohb\AppData\Local\Google\Chrome\User Data\Default\Current Session" c:\test

C:\>forecopy.exe -f "C:\Users\chohb\AppData\Local\Google\Chrome\User Data\Default\Current Tabs" c:\test

C:\>forecopy.exe -f "C:\Users\chohb\AppData\Local\Google\Chrome\User Data\Default\Last Tabs" c:\test

C:\>forecopy.exe -f "C:\Users\chohb\AppData\Local\Google\Chrome\User Data\Default\Last Session" c:\test

 

Tab 분석

C:\Tools\Forensic\Chromagnon\dist>chromagnonTab.exe "c:\test\Current Tabs"

SelectedNavigationInTab - Tab: 16, Index: 0, Time: 13228317039685565

UpdateTabNavigation - Tab: 16, Index: 0, Url: https://chrome-apps-doc2.appspot.com/extensions/tabs.html

SelectedNavigationInTab - Tab: 20, Index: 0, Time: 13228319147209300

UpdateTabNavigation - Tab: 20, Index: 0, Url: https://secuworld.tistory.com/34

 

C:\Tools\Forensic\Chromagnon\dist>chromagnonTab.exe "c:\test\Last Tabs"

......

UpdateTabNavigation - Tab: 21, Index: 0, Url: chrome://newtab/

UpdateTabNavigation - Tab: 21, Index: 1, Url: https://www.google.com/search?q=chrome+cookie+forensic&oq=chrome+cookie+forensic&aqs=chrome..69i57j0.34298j0j7&sourceid=chrome&ie=UTF-8

UpdateTabNavigation - Tab: 21, Index: 2, Url: https://www.google.com/search?ei=j3lnXq6VI4y2mAW3mozoBQ&q=chrome+cookie+forensic+sqlite+query&oq=chrome+cookie+forensic+sqlite+query&gs_l=psy-ab.3...2404.6489..6866...0.0..0.136.1767.1j14......0....1..gws-wiz.......0i30j0i13i30j33i160j33i21.GPMZ9fq-5Z8&ved=0ahUKEwjumPy05o_oAhUMG6YKHTcNA10Q4dUDCAs&uact=5

UpdateTabNavigation - Tab: 21, Index: 3, Url: https://digitalisx.tistory.com/entry/Google-Chrome-History-with-Python

SelectedNavigationInTab - Tab: 23, Index: 6, Time: 13228315714799040

UpdateTabNavigation - Tab: 23, Index: 3, Url: https://secuworld.tistory.com/

UpdateTabNavigation - Tab: 23, Index: 4, Url: https://secuworld.tistory.com/manage

UpdateTabNavigation - Tab: 23, Index: 5, Url: https://secuworld.tistory.com/manage/posts

UpdateTabNavigation - Tab: 23, Index: 6, Url: https://secuworld.tistory.com/manage/newpost/34?type=post&returnURL=https%3A%2F%2Fsecuworld.tistory.com%2Fmanage%2Fposts

UpdateTabNavigation - Tab: 23, Index: 7, Url: https://secuworld.tistory.com/manage/posts

UpdateTabNavigation - Tab: 23, Index: 8, Url: https://secuworld.tistory.com/manage/newpost/34?type=post&returnURL=https%3A%2F%2Fsecuworld.tistory.com%2Fmanage%2Fposts

UpdateTabNavigation - Tab: 23, Index: 9, Url: https://secuworld.tistory.com/manage/posts

Session 분석

C:\Tools\Forensic\Chromagnon\dist>chromagnonSession.exe "c:\test\Current Session"

......

UpdateTabNavigation - Tab: 19, Index: 0, Url: https://secuworld.tistory.com/34

......

SetSelectedTabInIndex - Window: 13, Index: 0

SetTabIndexInWindow - Tab: 14, Index: 0

SetPinnedState - Tab: 14, Pinned: 0


C:\Tools\Forensic\Chromagnon\dist>chromagnonSession.exe "c:\test\Last Session"

......

SetTabIndexInWindow - Tab: 8, Index: 1

SetPinnedState - Tab: 8, Pinned: 0

SetSelectedNavigationIndex - Tab: 2, Index: 9

UpdateTabNavigation - Tab: 2, Index: 9, Url: https://secuworld.tistory.com/manage/posts

SetSelectedTabInIndex - Window: 1, Index: 1

......

UpdateTabNavigation - Tab: 2, Index: 9, Url: https://secuworld.tistory.com/manage/posts

......

 

Chromagnon
2020년 3월 현재 아직 Python v3.x 는 지원하지 않지만 Python v2.x에서 exe로 만들어 실행하면 된다.

이 또한 크롬이 실행중일 경우 Access Denied가 발생하여 분석이 안된다.

 

E:\Tools\Chromagnon>py -2 chromagnonCache.py "C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\Cache" [ -o c:\temp\ ]

--------------------------------------------------------------------------------
Hash: 0x3ac547ab
Usage Counter: 0
Reuse Counter: 0
Creation Time: 2020-01-15 04:42:01.214355
Key: https://images.contentstack.io/v3/assets/bltefdd0b53724fa2ce/bltfe1709fd28e63c7e/5d07f061b0b16b1c530d1197/logo-maps-24-color.svg
State: Normal
Data (6848 bytes) at 0xc1031126 : HTTP Header image/svg+xml
Data (883 bytes) at 0xa30113d8 : Data
--------------------------------------------------------------------------------
......

 

E:\Tools\Chromagnon>py -2 chromagnonDownload.py "C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\history"
2019-12-11 00:08:53.688932      https://github.com/packetzero/dnsparser E:\temp\dnsparser-master.zip
2019-12-11 00:27:13.877036      https://bitbucket.org/paulc/dnslib/downloads/   E:\temp\paulc-dnslib-9b80cd497f3d.zip
2019-12-11 01:28:54.747286      http://www.dnspython.org/kits/1.16.0/   E:\temp\dnspython-1.16.0.zip

 

E:\Tools\Chromagnon>py -2 chromagnonHistory.py "C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\history"
2019-12-10 07:45:50.957715      35      https://www.daum.net/
2019-12-10 07:46:35.677765      1       https://sports.media.daum.net/sports

E:\Tools\Chromagnon>py -2 chromagnonVisitedLinks.py "C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\Visited Links" "http://www.naver.com"
http://www.naver.com False

반응형