Study/Forensics

[Forensic]GRR

seomj 2022. 11. 7. 13:33

GRR이란?

Google Rapid Response의 약자

원격 라이브 포렌식에 중점을 둔 사고 대응 프레임 워크

대상 시스템에 설치되는 파이썬 클라이언트(에이전트)이며, 클라이언트를 관리하고 통신할 수 있는 파이썬 서버 인프라

 

GRR 프레임워크 기능 동작

  1. 클라이언트의 활성 메모리 덤프파일을 추출하기 위해서 GRR 웹서버에 관리자 모드로 접속
  2. 활성 메모리 덤프파일 요청 메시지를 엔드포인트에 설치된 바이너리 파일에 송신
  3. 바이너리 파일은 활성 메모리 추출 API를 활용해 덤프 파일 생성
  4. 바이너리 파일은 생성된 덤프파일을 Message queue 형태로 서버의 데이터베이스로 송신
  5. 서버 관리자는 데이터베이스에 저장된 덤프파일을 명령 프롬포트를 통해서 획득하고 분석
  6. 데이터베이스에 저장된 덤프파일은 프론트 엔드 서버를 통해 원격지에서 다운로드

 

클라이언트 주요 기능

바이너리 파일을 활용해 활성 메모리 덤프파일을 생성한 뒤 서버로 송신

인터넷 기반으로 데이터를 송수신 할 때 암호화하여 기밀성 제공

리눅스, 맥, 윈도우 환경에서 메모리를 분석할 수 있는 Rekall 프레임워크를 사용하여, 원격지에서 활성 메모리 분석 가능

 

서버 주요 기능

클라이언트에 바이너리 파일을 배포하고 관리, 설치된 바이너리 파일로부터 활성 메모리 덤프파일을 수집

슬루스킷(Sleuthkit, TSK)을 사용하여 운영체제 수준이나 파일 시스템 영역 등에 접근 가능

다수의 클라이언트에 대한 통합 관리(일괄 검색 등) 기능 제공

기본적인 보고서 생성 가능


환경

Server: Ubuntu Server 18.04의 64bit

Client: Windows 11 (본인 로컬)

 

설치

Server

https://grr-doc.readthedocs.io/en/latest/installing-grr-server/from-release-deb.html

 

Installing from a release server deb (recommended) — GRR documentation

© Copyright 2021, GRR team. Revision 3764c1fb.

grr-doc.readthedocs.io

해당 공식자료를 참고함

 

ip가 나중에 필요하므로 미리 알아두기

ifconfig

sudo apt update
sudo apt upgrade

 

mysql 설정

su root
apt install -y mysql-server
vim /etc/mysql/my.cnf

(추가)
[mysqld]
max_allowed_packet=40M

systemctl restart mysql
mysql -u root -p

mysql> CREATE USER 'grr'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE grr;
mysql> GRANT ALL ON grr.* TO 'grr'@'localhost';
mysql> CREATE USER 'fleetspeak'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE fleetspeak;
mysql> GRANT ALL ON fleetspeak.* TO 'fleetspeak'@'localhost';

mysql> exit

 

설치

mkdir /home/grr
cd /home/grr
wget https://storage.googleapis.com/releases.grr-response.com/grr-server_3.4.6-0_amd64.deb
sudo apt install -y ./grr-server_3.4.6-0_amd64.deb

 

설치 후 ip:8000 으로 접속하여 admin 계정으로 로그인하면 된다.

 

 

Client

 

Binaries에 접속하여 각자 환경에 맞게 exe를 다운받으면 된다.

나는 windows/installers/GRR_3.4.6.0_amd64.exe 를 다운받았다.

 

그 후 해당 exe 파일을 실행하면 백그라운드에서 작동하는 것을 확인할 수 있다.

 

GRR로 돌아가 상단의 검색창에 enter를 치면 서버에 등록된 클라이언트들을 확인할 수 있다.

 

 

테스트

C 드라이브 아래에 '테스트'라는 이름으로 폴더를 새로 만들고 이를 서버에서 확인해 보도록 하자.

 

따로 GRR 서버에서 이를 확인하기 위해 설정을 지정해주면 된다.

 

 

 

출처

https://github.com/google/grr

https://jeongsecu17.tistory.com/17

https://cpuu.postype.com/post/177743