Digital Forensics

디지털 포렌식이란?

burrri 2023. 5. 9. 20:09

1. 디지털포렌식이란?

: 디지털 디바이스를 대상으로 자료를 수집하고 추출하여 조사하는 법과학의 한 분야 

2. 디지털 포렌식의 필요성

: 해킹 등 컴퓨터 관련 범죄 뿐만 아니라 일반 범죄에서도 디지털 포렌식으로 획득할 수 있는 증거가 주요 단서가 되는 경우가 많아짐
: e.g.  스마트폰 내 GPS 동선, 온라인 협박 

: 범죄 수사 이외의 분야에서 활용도 증가
: e.g. 민사사건, 일반기업(내부 정보 유출, 회계감사 등) 

3. 디지털 포렌식의 유형과 대상

(유형) 
1. 침해사고대응
: 실시간, 사태 파악 및 수습, 엄격한 입증 필요X

2. 증거 추출
: 사후조사, 범죄 증거 수집, 엄격한 입증 필요O 

(대상)
1. 디스크 포렌식 : (OS/ 개인,서버 클라우드 등에 따른) 컴퓨터 디스크
2. 메모리 포렌식 : 컴퓨터 메모리(RAM) ( 프로그램이 실행되는 공간) 
3. 네트워크 포렌식 : 네트워크 패킷, 네트워크 장비 로그,  네트워크 관련 설정 들 
4. 모바일 포렌식 : 모바일 디바이스(저장소, 메모리) / IoT 디바이스 
5. 기타 : 데이터베이스, 암호, 회계, 소스코드 등등... 

 

디지털 포렌식 기초 

디스크 이미징

: 하나의 드라이브를 파일로 

: FTK imager - create physical drive

: 이미지 타입 (E01 : 압축된 타입) - destination 지정( image fragment size을 0으로 하면 쪼개서 저장하지 x)

+ C드라이브를 이미징하려면  C이외의 드라이브에 저장 가능

 

기초 도구 

더보기

hxd: 파일의 hex값 확인 (hex값을 통해 파일의 형태 파악)
everything: 컴퓨터 전체를 인덱스화 -> 파일 검색
7 zip: zip파일의 압축해제 (+7z,rar...)
sysinternal suite: 도구들의 모임( strings, proexcp, procmon..)
ftk-imager: 디스크 이미지 관리
autopsy: 디스크 이미지 관리 + 추가적인 기능

 

디스크 마운트 

: 하나의 파일을 하나의 드라이브로 인식 

필수적인 과정은 아님

 

 

메모리 덤프 

: capture memory

: 윈도우의 메모리의 한 시점을 캡쳐 

 

삭제 파일 복구 

 

 

 

침해사고 대응

 

메모리 포렌식

메모리 : 프로그램이 올라갈 수 있는 공간

 

Volatility : 메모리 관련 데이터를 수집해주는 도구

 

(명령어)
$ volatilty(tab) -f <이미지 파일> imageinfo : 이미지에 대한 정보(어떤 운영체제의 메모리인지 알려줌)

$ volatility  -f  <이미지 파일>  --profile=<이미지정보에서 profile>  pslist : process들의 list를 출력

$ <위의 명령어> > pslist.log : 출력되는 값들이 pslist.log라는 파일로 저장

(process들의 list를 출력)
pslist : 시간 순서대로 출력
psscan : memory dump file의 주소 순서대로 출력 -> 숨김 	process들을 볼 수 있다
pstree : PID(processid)와 PPID(parent's PID)를 기반으로 	process가 구조화되어서 출력
psxview : pslist와 psscan을 한눈에 볼 수 있는 도구
 -> 의심스러운 process의 목록! 
 -> 각각의 process를 검색을 통해서 확인

 

 cmdline: 프로세스가 실행될 때의 인자값
 +) svchoat.exe.는  악성코드들이 많이 변조되는 대상 
 +) reader_si.exe는 adobe의 소프트웨어 구성요소
 	(adobe는 PDF를 읽는 도구 -> PDF를 통한 악성코드 다수 -> 의심대상)
  • filescan
    : 메모리 내에 존재하는 모든 파일에 대한 정보inform
    : 찾기를 통해 의심스러운 process검색 - offset(헥사..?) 값을 복사
  • $ volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 dumpfiles -Q 0x00000000023ccf90 -D .\files\ -n
    : dumpfiles로 reader_si.exe를 추출
    : n option = file의 이름이 포함된 option
    : virus total에 파일을 던져버리면 여러 백신들의 바이러스 판단
  • connections
    : 현재 연결된 TCP 통신 정보를 출력

    : local address와 remote adress가 8080 port를 통해 1484라는 process에서 통신
    -> 1484를 쓰는 process가 의심대상 (PID, PPID)
  • sockets
    : 응답받기를 기다리고 있는 모든 프로토콜에 대한 socket정보
  • memdump
    : -p 사용중인 process / -D 저장공간
  • reader_sl.exe -> 악성PDF문서 -> 취약점 -> URL 접속 -> 은행관련피싱
    dumpfiles: file offset에서 뽑아내기
    prodcump : process 내부에서 뽑아내기 (실제로 실행되었던 process대상)
  • cmdline
    : 프로세스가 실행될 때 인자값
  • cmdscan
    : 콘솔에 입력한 값들을 실제로 볼 수 있다
  • consoles
    : 콘솔에서 입력, 출력한 값들을 실제로 볼 수 있다

 

CTF-d, GrrCon 2015

: pslist, psscan, pstree, psxview, connections, netscan,cmdline,cmdscan, consoles을 실행
: 첫접근은 pstree가 가장 좋다

:이후에 plist를 통해 시간순으로 파악 
:cmdline에서 의심스러운 대상 파악 -> memory dump 

$runas /profile /user:Administrator
$wce.exe -w > w.tmp 
: 관리자로 권한 상승 후 실행 -> 의심대상 (cmdscan) 

:filescan에서 의심대상의 offset값을 찾은 후 memory dump 
	-> 파일에서 virustotal에서 바이러스 여부 확인 
  • iexplore.exe
  • OUTLOOK.EXE
    : 메일이므로 메모리덤프 시에 메일 원본
    : memdump 후 strings를 통해 메모리덤프
    : url이 담긴 메일(피싱메일) -> .exe .pdf .docx .xlsx 검색
    : AnyConnectinstaller.exe -> wce.exe w.tmp(관리자 패스워드) -> mstsc.exe
  • TeamViewer.exe / tv_w32.exe
    : virustotal 1개 -> 깨끗

 

'Digital Forensics' 카테고리의 다른 글

303-recovery and restoration | DFC 2022  (0) 2023.11.19
prob24 | xcz  (0) 2023.10.12
Window Search | Dreamhack  (0) 2023.09.25
game 14 | suninatas  (0) 2023.09.19
volatility정리 및 Volatility Cridex, Olympic Destroyer 풀이  (0) 2023.05.09