슈포스/디지털 포렌식 개론

[강의]인프런 : 기초부터 따라하는 디지털 포렌식 섹션3(2)

haerim9.9 2024. 11. 11. 18:09

GrrCon2015 풀이

*편의상 대부분은 경로를 생략하고 디렉토리명이나 파일명만 적었다.

 

 

역시 terminal(Windows Powershell)을 이용해야 한다.

cd ./desktop/GrrCon2015
volatility -f Target1 imageinfo

Suggested Profile : Win7SP1x86_23418, Win7SP0x86, Win7SP1x86

 

중 아무거나 임의로 뽑아서 실습에 사용해 본다.

 

volatility -f Target1 --profile=Win7SP1x86 pslist > pslist.log
volatility -f Target1 --profile=Win7SP1x86 psscan > psscan.log
volatility -f Target1 --profile=Win7SP1x86 pstree > pstree.log
volatility -f Target1 --profile=Win7SP1x86 psxview > psxview.log

 

 

네트워크 정보 출력 명령어

volatility -f Target1 --profile=Win7SP1x86 netscan > netscan.log

connections : 현재 연결된 TCP 통신에 대한 정보

sockets : 응답받기를 기다리고 있는 모든 프로토콜에 대한 socket 정보

->Windows xp까지만 가능

 

netscan : Windows 7 이후 버전에서 가능

 

volatility -f Target1 --profile=Win7SP1x86 cmdline > cmdline.log
volatility -f Target1 --profile=Win7SP1x86 cmdscan > cmdscan.log
volatility -f Target1 --profile=Win7SP1x86 consoles > consoles.log

cmdline : 프로세스가 실행될 때 인자값

cmdscan : 콘솔에 입력한 값들을 실제로 볼 수 있음

consoles : 콘솔에서 입력 & 출력한 값들을 실제로 볼 수 있음

 

volatility -f Target1 --profile=Win7SP1x86 filescan > filescan.log

filecan 명령어 실행 시, 오랜 시간이 소요되므로 먼저 filescan 명령어를 입력하고 notepad++를 켜준다.

 


 

notepad++ 실행 후, 프로세스 정보를 먼저 확인해 본다.

프로세스 정보 확인 시, pstree를 먼저 확인해주는 것이 좋다. Pid와 PPid 정보 때문이다.

 

<의심스러운 프로세스 목록>

TeamViewer.exe, TeamViewer_Des, tv_w32.exe -> TeamViewer 관련 프로세스 -> 살짝 의심스러움.

mstsc.exe -> 원격 데스크톱 -> 완전 의심스러움.

explorer.exe -> 윈도우 탐색기, 그런데 탐색기에서 cmd(명령 프롬프트)를 실행 -> 완전 의심스러움.

OUTLOOK.EXE  -> 메일 관련, 악성코드 유포多 -> 의심스러움.

iexplore.exe  -> 인터넷 익스플로어, 그런데 마찬가지로 cmd를 실행 -> 완전 의심스러움.

 

pslist로 해당 프로세스들을 실행된 시간 순서로 확인해 본다. 

iexplore.exe - OUTLOOK.EXE - TeamViewer.exe - tv_w32.exe - TeamViewer_Des - mstsc.exe 순서로 실행됐고, OUTLOOK.EXE부터 침입된 것으로 추정됨.

 

 

cmdline 확인

Command line : "C:\Users\FRONTD~1\AppData\Local\Temp\TeamViewer\tv_w32.exe" --action hooks  --log C:\Users\frontdesk\AppData\Roaming\TeamViewer\TeamViewer10_Logfile.log  
Command line : "c:\users\frontd~1\appdata\local\temp\teamviewer\TeamViewer_Desktop.exe" --IPCport 6039

TeamViewer 관련 수상한 커맨드가 존재한다.

 

notepad++로 cmdscan을 확인, 관리자로 cmd를 실행해서 명령어를 입력한 것이 보임. w.tmp 수상함.

 

netscan 확인해보면 192.168.은 공유기 주소라 수상X, 그런데 iexplore와 TeamViewer.exe 모두 해당 주소가 X임. 그러므로 수상함.

 


<확인할 목록>

  • OUTLOOK.EXE
  • tv_w32.exe
  • C:/Windows/Temp>wce.exe, w.tmp
  • iexplore.exe

 

 

OUTLOOK.EXE

더보기

OUTLOOK.EXE = 메일 -> 메모리 덤프 -> 메일 원본 확인 가능

OUTLOOK.EXE의 PID = 3196
mkdir dumps
volatility  -f Target1 profile=Win7SP1x86 memdump -p 3196 -D dumps
strings.exe .\dumps\3196.dmp > strings_3196.log

strings_3196 파일을 notepad++에서 열어준다. http:// 검색 - 찾기 결과들에서 .exe 검색

http://180.76.254.120/AnyConnectInstaller.exe

 

AnyConnectInstaller를 filescan에서 검색, Downloads 경로 아래에 있는 오프셋 복사 후 추출

mkdir files
volatility -f Target1 profile=Win7SP1x86 dumpfiles -Q 0x000000003e0bc5e0 -D files -n

 추출한 파일을 virustotal에 업로드, 악성 코드임을 확인할 수 있음.

wce.exe, w.tmp

더보기
filescan notepad++로 열어서 wce.exe, w.tmp 오프셋 확인
volatility -f Target1 profile=Win7SP1x86 dumpfiles -Q 0x000000003df31038 -D files -n
volatility -f Target1 profile=Win7SP1x86 dumpfiles -Q 0x000000003eca37f8 -D files -n
추출한 w.tmp 파일 virustotal 사이트에 올려놓으면 악성 파일인 것이 확인됨.

tv_w32.exe

더보기

filescan에서 tv_w32.exe 오프셋 확인

volatility -f Target1 profile=Win7SP1x86 dumpfiles -Q 0x000000003fa4f5d0 -D files -n

추출 후 virustotal에 넣어보면, 애매하다. -> 아무것도 나오지 않음..

iexplore.exe

더보기

메모리 덤프

iexplore PID = 2996

volatility  -f Target1 profile=Win7SP1x86 memdump -p 2996 -D dumps
strings.exe .\dumps\2996.dmp > strings_2996.log

netscan에서 iexplore.exe 주소 확인 = 180.76.254.120:22

해당 주소(180.76.254.120)를 strings_2996.log 파일에 검색(notepad++)

경로 추정 : OUTLOOK 메일 -> AnyConnectInstaller.exe -> wce.exe w.tmp(관리자 패스워드) -> mstsc.exe

 


Volatility 정리

 

Volatility

  • 메모리 포렌식 도구. 오픈소스. CLI 인터페이스(명령어를 치는, GUI X)
  • 버전3까지 공개되어 있으나, 아직까지는 2를 많이 사용함.
  • Volatility에서 증거를 획득할 수 있는 이유

 

명령어 총정리

더보기

운영체제 식별

imageinfo : 메모리 덤프의 운영체제를 식별

 

프로세스 검색

pslist : 시간 순서대로 보여줌

psscan : 숨겨진 프로세스 출력 가능

pstree : PID, PPID 기준으로 구조화하여 보여줌

psxview : pslist, psscan을 포함한 도구들의 결과를 한 눈에 볼 수 있음

 

네트워크 분석

netscan :

  • Windows 7 이상
  • TCP, UDP / IPv4, IPv6
  • Listening(소켓 열린 상태), Established(소켓이 열려서 통신 중인 상태), Closed(소켓이 닫힌 상태)
Connections : 
  • Windows 7 미만
  • 현재 연결된 TCP 통신에 대한 정보

Sockets : 

  • Windows 7 미만
  • TCP, UDP를 포함한 모든 프로토콜
  • 현재 Listening 상태에 있는 소켓을 출력

 

CMD 분석

cmdscan, consoles : 콘솔에 입력한 값들을 볼 수 있음(consoles는 출력된 값도 볼 수 있음)cmdline : 프로세스가실행될 때의 인자값을 확인할 수 있음 

 

파일 분석 및 덤프

filescan : 메모리 내에 존재하는 모든 파일들의 리스트 출력dumpfiles : 파일을 덤프. 옵션으로 메모리 주소, 프로세스 줄 수 있음

 

프로세스 세부 분석

memdump : 특정 프로세스의 메모리 영역을 덤프 -> strings 사용procdump : 프로세스의 실행 파일을 추출

본 게시글은 아래의 강의를 시청하고 공부 목적으로 작성됨.

https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D/dashboard

 

[지금 무료]기초부터 따라하는 디지털포렌식 강의 | 훈지손 - 인프런

훈지손 | 기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 '물 흐르듯, 자연스럽게' 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털

www.inflearn.com