이번에는 web log와 관련된 포렌식 문제 유형을 살펴볼 것이다.
이런 문제는 사용자가 웹 브라우저를 사용하고 남은 아키택쳐 파일을 분석하면 된다.
웹 브라우저에서는 다음과 같은 정보를 획득할 수 있다.
Cache정보 : 방문사이트 접속 시 자동으로 받는 정보
History 정보 : 사용자가 방문한 웹사이트 주소 정보
Cookie 정보 : 웹사이트에서 사용자의 HDD에 저장 시켜놓는 사용자 데이터
Download 정보 : 사용자가 웹 상에서 받은 파일에 대한 정보
1. Location of history file
이제 각 브라우저 별 history파일이 어딨는지 살펴보겠다.
chrome
브라우저 점유율 1위
sqlite3 사용
-추가 자료
https://www.foxtonforensics.com/browser-history-examiner/chrome-history-location
firefox
sqlite3을 이용한다.
<random>은 profile에서 변경 가능
-추가 자료
https://www.foxtonforensics.com/browser-history-examiner/firefox-history-location
Internet Explorer(Edge)
9 버전 밑으로는 여러 개의 파일로 저장했고, 10 버전 이상으로는 하나의 파일로 저장한다.
-추가 자료
-> edge : https://www.foxtonforensics.com/browser-history-examiner/microsoft-edge-history-location
-> IE : https://www.foxtonforensics.com/browser-history-examiner/internet-explorer-history-location
2. Example to analyze web log file
1. chrome
첫 번째로 chrome의 history 파일을 분석해보겠다.
mac은 아래와 같은 경로에 history파일이 있다.
/Users/<username>/Library/Application\ Support/Google/Chrome/Default/History
이걸 DB for sqlite3을 이용해서 열면 다음과 같이 나온다.
다운로드, 방문한 url 등의 정보들을 확인할 수 있다.
2. IE(Edge)
이번에는 Internet Explorer 히스토리 파일을 분석해 볼 것이다.
먼저 internet explorer는 분석 파일 경로가 아래와 같다.
%Profile%₩AppData₩Local₩Microsoft₩Windows₩WebCache₩WebCacheV*.dat
이 파일은 전용 IE분석 프로그램을 사용해야 한다(IE10 analyze.exe)
프로그램을 열면 아래처럼 나온다.
how to open 부분에 첫 번째 옵션은 local의 히스토리 파일을 여는 것이고, 두 번째 옵션은 다른 곳에서 온 파일을 분석할 때 사용한다.
첫 번째 옵션은 프로그램이 알아서 분석할 파일을 찾아준다.
이제 open 하면 다음과 같이 뜬다.
한국은 utc+9이니 선택해주고 넘어간다.
그러면 다음과 같이 분석이 된 것을 확인할 수 있다.
3.Example challenge
이제 마지막으로 예제 문제를 풀어볼 것이다.
문제는 다음과 같다.
- 구해야 할 것
1. SQL 공격구문
2. 갑자기 닫힌 시점(utc+9)
갑자기 닫힌 것은 정보들이 session에 남게 된다.
따라서 session 위주로 분석을 진행하면 된다.
먼저 chrome 브라우저를 분석해보자.
chrome 브라우저 로그파일은 다음과 같은 경로에 있다.(unix기준)
/Users/proneer/AppData/Local/Google/Chrome/User\ Data/Default/
아래처럼 많은 로그파일이 있는 걸 확인할 수 있다.
위 중 갑자기 닫힌 시점이니 마지막 session, history를 확인하면 될 거라고 생각했다.
DB for sqlite3으로 열려면 비밀번호가 필요해서 그냥 strings로 확인했다.
chrome log를 보면 sql injection을 한 부분은 없는 것 같다.
아까 local에 chrome대신 mozilla(firefox)가 있는 걸 확인했다.
Local의 mozilla파일에는 정보가 없어서 Roaming으로 이동했다.(/Users/proneer/AppData/Roaming/Mozilla/Firefox/Profiles/075lfxbt.default)
이중 오른쪽 밑에 쪽에 sessionstore.js라는 파일이 있다.
이걸 이용해서 분석하면 아래와 같이 sql구문, lastupdate 즉 마지막으로 닫힌 시간이 확인된다.
이제 lastupdate 시간을 unix time decoder에 넣으면 다음과 같이 시간이 나오는 걸 확인할 수 있다.
- 마무리
Sun Feb 12 2012 10:23:17
1_UNI/**/ON_SELECT
'Forensics' 카테고리의 다른 글
[대회 문제 풀이로 이해하는 디스크 포렌식 분석] - P2P + $Logfile (0) | 2022.03.27 |
---|---|
UMDCTF(writeup) - HHJ (0) | 2022.03.07 |
[대회 문제 풀이로 이해하는 디스크 포렌식 분석 2강] - Linkfile analyis (0) | 2022.03.04 |
[대회 문제 풀이로 이해하는 디스크 포렌식 분석 1강] - ZipBomb 분석 문제유형 (0) | 2022.03.04 |
FAT32 파티션 복구(Forensics) (0) | 2021.09.12 |