brunch

매거진 침해대응

You can make anything
by writing

C.S.Lewis

by Moai Oct 15. 2022

plaso 설치 및 log2timeline 사용하기

디스크 이미지에서 아티팩트를 분석할 때 가장 중요한 정보가 시간정보이다. 각 아티팩트로부터 특정 시간에 발생한 기록을 확인한 뒤 시간 순서대로 정렬하여 상관 관계를 파악해야 한다. 그런데 포렌식 분석 도구가 모두 다르기 때문에 시간 순서대로 분석하는 것이 매우 힘들다. 한 화면에 여러개의 도구를 실행시키고 돌아가면서 특정 시간에 발생한 사건을 확인해야 한다. 이러한 문제를 해결하기 위해 하나의 프로그램으로 전체의 아티팩트를 분석하도록 하자


plaso를 이용하면 이미지에 있는 모든 아티팩트로부터 사용 기록을 추출해서 시간순으로 분석할 수 있다. 데이터 결과를 저장하는 방식은 csv 또는 db 등 여러가지 형식이 될 수 있다. 문제점은 중간에 파싱하다가 에러가 발생할 경우 전체적으로 꼬일 수 있다는 점이다.


예전에는 윈도우즈 실행파일을 배포했었는데 어느 순간부터 파이썬 스크립트 또는 docker image만 배포하고 있는 것 같다. 파이썬 코드를 이용해서 분석하는 방법은 아래와 같다. docker를 이용해서 분석하는 방법은 하단에 작성했다.



plaso python 스크립트를 이용해 분석


https://github.com/log2timeline/plaso/releases

에서 release된 파일을 다운받고 압축을 해제한다. ex) plaso-20220930.tar.gz


파이썬을 컴퓨터에 설치한 뒤 필수 라이브러리를 설치한다.

python -m pip install --upgrade pip

pip install virtualenv virtualenvwrapper-win


plaso를 위한 환경을 설정한다.

mkvirtualenv plaso_env (환경 설정)

deactivate (탈출)

workon plaso_env (재진입)

deactivate


참고로 이후 필요없어지면 다음명령어로 환경을 삭제할 수 있다.

rmvirtualenv plaso_env


plaso_env 환경에 진입 후 plaso 설치를 계속한다.

pip install -r requirements.txt

python setup.py build

python setup.py install


설치가 완료되었으면 지난 글에서 다운받은 pc이미지를 log2timeline을 이용해 분석해보자

https://cfreds.nist.gov/all/NIST/DataLeakageCase




plaso docker 이미지를 이용해 분석


VirtualBox에 Ubuntu를 먼저 설치해주었다.

https://releases.ubuntu.com/focal/ 에서 서버 이미지를 다운받아서 설치하면 된다. 설치 중간에 docker를 추가로 설치해줄 수 있다.


https://plaso.readthedocs.io/en/latest/sources/user/Installing-with-docker.html

링크를 참고해서 docker image를 다운받고 log2timeline를 실행해본다.


이제 윈도우즈 환경과 폴더를 공유하기 위해 /data 폴더를 생성해주고 VirtualBox에 공유폴더를 설정한다


이 폴더에 추출한 아티팩트를 넣어주고 log2time도구로 분석결과를 추출해보자


~/temp/artifact 폴더에 분석할 아티팩트 파일들을 넣고 다음 명령어를 실행한다.


sudo docker run -v ~/temp/:/data log2timeline/plaso log2timeline --storage-file /data/evidences.plaso /data/artifact


mv ~/temp/evidences.plaso /data/



참고로 윈도우 환경에서는 다음과 같이 명령어를 실행한다.

c:\forensic\evidences 폴더에 아티팩트를 넣고 다음과 같이 명령어를 실행한다. 


docker run -v C:/forensic/:/data log2timeline/plaso log2timeline --storage-file /data/evidences.plaso /data/evidences


정렬을 위해 psort도 진행해준다.

docker run -v C:/forensic/:/data log2timeline/plaso psort -w /data/timeline.log /data/evidences.plaso



추출한 evidences.plaso 파일을 timesketch로 분석해본다.


매거진의 이전글 Word (OLE) 파일 취약점
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari