RegRipper 3.0은 윈도우 레지스트리 파일(.hive)을 분석하여 시스템 정보, 사용자 활동 및 보안 증거를 추출하는 디지털 포렌식 도구입니다. 이 도구는 200개 이상의 플러그인을 자동으로 실행하여 악성코드 지속성, 설정 변경 및 사용자 행동 패턴을 식별하는 데 도움을 줍니다.
주요 특징
- 자동화 플러그인 시스템: 시스템, 사용자, 보안 등 다양한 레지스트리 영역을 분석하는 플러그인 내장
- 타임라인 생성: TLN 형식으로 타임라인 데이터를 출력하여 사건 재구성 지원
- 이중 모드: GUI(rr.exe)와 CLI(rip.exe) 제공
- 일괄 처리: 여러 레지스트리 파일을 동시에 분석
- 오픈소스 확장성: Perl 기반으로 사용자 정의 플러그인 작성 가능
설치 및 설정
GitHub에서 프로젝트를 클론한 후, Perl 환경이 필요하면 필요한 모듈을 설치합니다. Windows 사용자는 rip.exe와 rr.exe 실행 파일을 바로 사용할 수 있습니다.
git clone https://github.com/example/RegRipper3.0
cd RegRipper3.0
# Perl 모듈 설치 (필요시)
sudo cp Base.pm File.pm Key.pm /usr/local/lib/perl/5.XX.X/Parse/Win32Registry/WinNT/
CLI 버전 확인:
./rip.exe -h
기본 사용법
전체 분석:
-a 옵션으로 모든 플러그인을 실행합니다.
./rip.exe -r SYSTEM.hive -a -o ./output/
타임라인 분석:
-aT 옵션으로 TLN 타임라인을 생성합니다.
./rip.exe -r NTUSER.DAT -aT -o ./timeline/
특정 플러그인 실행:
-p 옵션으로 필요한 플러그인만 선택합니다.
# 사용자 활동 분석
./rip.exe -r NTUSER.DAT -p userassist.pl -o ./user_activity/
# 실행 기록 확인
./rip.exe -r SOFTWARE.hive -p runmru.pl -o ./run_history/
실전 활용 사례
악성코드 분석:
레지스트리의 Run, RunOnce, Services 키를 분석하여 악성코드의 자동 실행 설정을 찾습니다. NetworkList, RecentDocs 플러그인으로 네트워크 활동과 파일 접근 기록을 확인할 수 있습니다.
사고 대응 워크플로우:
다음 스크립트로 주요 하이브 파일을 일괄 분석합니다.
for hive in SYSTEM SOFTWARE SAM SECURITY NTUSER.DAT; do
./rip.exe -r $hive -a -o ./case_$(date +%Y%m%d)/
done
고급 설정
플러그인 개발:
Perl로 사용자 정의 플러그인을 작성할 수 있습니다.
package myplugin;
use strict;
my %config = (hive => "Software",
hasShortDescr => 1,
hasDescr => 0,
hasRefs => 0,
category => "malware",
version => "20240404");
sub getConfig{return %config}
sub getShortDescr {return "맞춤형 악성코드 탐지 플러그인"}
sub pluginmain {
my $class = shift;
my $hive = shift;
# 분석 로직
}
1;
일괄 처리:
@echo off
set OUTPUT_DIR=analysis_%date:~0,4%%date:~5,2%%date:~8,2%
mkdir %OUTPUT_DIR%
for %%f in (*.hive) do (
echo 분석 중: %%~nf...
rip.exe -r %%f -a -o %OUTPUT_DIR%\%%~nf\
)
echo 완료!
출력 형식:
| 형식 | 명령 | 용도 |
|---|---|---|
| 표준 출력 | 기본 | 빠른 확인 |
| 파일 출력 | -o 디렉토리 | 분석 결과 저장 |
| CSV | 플러그인 종속 | 데이터 가져오기 |
| TLN | -aT | 타임라인 분석 |
도구 통합
RegRipper 3.0은 Eric Zimmerman의 Registry Explorer와 함께 사용하면 더욱 효과적입니다. Registry Explorer는 대화형 탐색에, RegRipper는 자동 분석에 적합합니다. 트랜잭션 로그 처리는 yarp, registryFlush.py, rla.exe 등의 도구와 연계합니다.
#!/bin/bash
# yarp로 트랜잭션 로그 병합
yarp -merge transaction_logs/
# RegRipper 분석
./rip.exe -r merged.hive -a -o ./analysis/
# 보고서 생성
python generate_report.py ./analysis/
실제 사례: 랜섬웨어 조사
상황: 기업 랜섬웨어 감염.
단계:
- 영향받은 시스템의 SYSTEM, SOFTWARE, SAM, NTUSER.DAT 파일 수집
- 전체 플러그인으로 초기 분석
- 자동 실행 항목(run.pl), 파일 연결(exefile.pl), 암호화 활동(crypt.pl) 집중 분석
- 타임라인 생성으로 공격 시간 파악
발견 사항:
- 레지스트리 Run 키를 통한 지속성
- 파일 암호화 시간 범위
- 네트워크 연결 기록
- 비정상 사용자 활동
문제 해결
| 문제 | 원인 | 해결 |
|---|---|---|
| 플러그인 오류 | Perl 모듈 누락 | Base.pm, File.pm, Key.pm 설치 확인 |
| 출력 없음 | 레지스트리 파일 손상 | 다른 도구로 무결성 확인 |
| 메모리 부족 | 대용량 파일 | 메모리 증설 또는 분할 처리 |
| 인코딩 문제 | 비영어 문자 | 로케일 및 인코딩 설정 확인 |
성능 최적화:
GNU parallel로 병렬 처리:
find . -name "*.hive" | parallel ./rip.exe -r {} -a -o ./output/{/.}
모범 사례
- 원본 파일은 그대로 두고 사본으로 분석
- 표준 워크플로우: 수집 → 전체 분석 → 심층 조사 → 타임라인 → 보고
- 새 플러그인과 연구 동향 지속 파악
- Registry Explorer, RECmd, RegRipper를 조합하여 사용