WSL에 SIFT Workstation 설치하기

J4HM1LLi·2023년 2월 1일
0
post-thumbnail

WSL(Windows Subsystem for Linux)는 말그대로 Linux를 위한 Windows 하위 시스템이다.

WSL의 목표는 Windows에서 ELF64 Linux 이진 파일을 실행할 수 있게 하며, 윈도우에서 리눅스 환경을 사용할 때 가상머신이나 듀얼부팅을 사용하는 것보다 높은 성능을 뽑아내는 것이다.

DFIR을 할 때 일반적으로 윈도우 환경에서 분석을 수행하는 경우가 많다. 그 이유는 포렌식에 활용되는 도구나 서드파티 프로그램이 리눅스보다는 윈도우에서 훨씬 많고 다양하기 때문이다.
또한, GUI 환경에서 윈도우가 제공하는 사용자 편의성은 무시할 수 없다.

하지만 오히려 웹 로그처럼 텍스트 파일을 분석할 경우 리눅스의 쉘 커맨드 환경이 그립기도 하다.

SANS Institute에서 제작한 SIFT Workstation과 WSL이라면 이러한 분석가의 니즈을 완벽히 만족시킬 수 있다.

Ubuntu 20.04 LTS 배포판 설치하기

윈도우 빌드 버전에 따라 조금씩 차이는 존재하지만 WSL은 기본적으로 윈도우 시스템에 이미 설치되어있다. 따라서, 별도의 설치과정 없이 파워셸을 실행하여 다음 명령어를 입력하면 설치 가능한 배포(이미지) 목록을 확인할 수 있다.

> wsl --list --online
다음은 설치할 수 있는 유효한 배포 목록입니다.
'wsl --install -d <배포>'를 사용하여 설치하세요.

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

SIFT Workstation을 구축하려면 Ubuntu 20.04 LTS 버전을 다운로드 받아야 한다. 배포 이미지를 다운로드 받는 명령어는 다음과 같다.

> wsl --install -d Ubuntu-20.04
다운로드 중: Ubuntu 20.04 LTS
설치 중: Ubuntu 20.04 LTS
Ubuntu 20.04 LTS이(가) 설치되었습니다.

설치된 이미지를 확인해보면 현재 사용중인 WSL 버전을 알 수 있다. 만약 버전이 WSL 1일 경우 해당 링크에서 커널 패키지를 설치하고 재부팅한 후 WSL 2로 변경하자.

> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         1

> wsl --set-version Ubuntu-20.04 2
변환이 진행 중입니다. 몇 분 정도 걸릴 수 있습니다...
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요
변환이 완료되었습니다.

참고로 설치한 배포 이미지를 삭제하는 방법은 다음과 같다.

wslconfig.exe /u Ubuntu-20.04

SIFT Workstation 설치

SIFT는 SANS Investigative Forensics Toolkit의 약자로 SANS Institute에서 제작한 포렌식 분석용 가상 워크스테이션 환경이다. 공식 레퍼런스에서는 SIFT를 설치하는 3가지 방법이 존재하며, 그 중 WSL에 SIFT를 설치하기 위해서는 SIFT-CLI에서 제공하는 설치 가이드를 따라야 한다고 소개한다.

WSL로 설치한 우분투를 실행하고 총 4개의 파일을 윈도우 호스트에서 다운로드한다.

  1. 최신 릴리즈 파일 다운로드
    • sift-cli-linux
    • sift-cli-linux.sig
    • sift-cli.pub
  2. cosign 다운로드
    • cosign_x.xx.x_amd64.deb

참고로 WSL로 설치한 우분투의 경우 /mnt/c 경로에 접근하면 윈도우의 루트 경로에 접근할 수 있다. 따라서, 윈도우 호스트에 파일을 다운받은 경우 리눅스 명령어를 이용해 파일의 복사나 이동이 가능하다.

또한, 지금부터는 설치과정에서 발생하는 잡다한 문제를 피하기 위해 sudo su 명령을 이용해 root 유저로 전환한 후 설치를 진행한다.

$ mv /mnt/c/Users/사용자명/Downloads/sift* .
$ mv /mnt/c/Users/사용자명/Downloads/cosign* .

이후, dpkg -i 옵션을 사용하여 cosign 패키지를 설치하고 아래 명령어를 실행하여 sift-cli 시그니처를 검증한다.

$ cosign verify-blob --key sift-cli.pub --signature sift-cli-linux.sig sift-cli-linux

다운로드한 sift-cli-linux 바이너리를 /bin 폴더로 이동하고 적절한 권한을 부여한다.

$ mv sift-cli-linux /usr/local/bin/sift
$ chmod 755 /usr/local/bin/sift

sift --help 명령어를 입력해서 정상적으로 실행되는지 확인하고 SIFT Workstation에 포함된 패키지를 다운로드한다.
여기서 주의할 점은 꼭 --mode=server 옵션을 포함해서 설치 명령을 실행해야한다.

$ sift install --mode=server

SIFT 사용하기

SIFT에는 포렌식 분석을 위한 여러 도구들 대부분이 설치되어 있다.
만약 자신이 익숙하게 사용하는 도구셋이 따로 존재하지 않다면 SIFT 제작자 Rob Lee가 소개하는 강의 비디오를 시청하거나 해당 비디오를 정리한 SIFT Workstation에 익숙해지기를 참고하자

SIFT 업데이트하기

2023년 2월 3일 기준으로 WSL2에 SIFT를 설치하면 salt 프레임 워크의 이슈로 인해 sift update명령이 수행되지 않는다.

해결 방법importlib_metadata 패키지를 다운그레이드한 후 sift upgrade --mode=server 명령을 수행하자.

pip3 install 'importlib_metadata==4.13.0'

Remnux와 함께 사용하기

SIFT와 Remnux는 제작자들간의 협업으로 인해 함께 구동되도록 디자인되었다. 자세한 설치 방법은 설치 방법을 참고하자. 필자는 SIFT Workstation에 Remnux를 함께 설치하여 사용중이다.

remnux install --mode=addon

참고

https://www.sans.org/tools/sift-workstation/
https://learn.microsoft.com/en-us/windows/wsl/install
https://github.com/teamdfir/sift-cli#installation

0개의 댓글