Digital Forensics

volatility정리 및 Volatility Cridex, Olympic Destroyer 풀이

burrri 2023. 5. 9. 20:12

volatility란?

  • 메모리 포렌식 도구, 오픈소스, CLI인터페이스

volatility 명령어 정리

운영체제 식별

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

프로세스 검색

  • plist : 시간 순서대로 보여줌
  • psscan : 숨겨진 프로세스 출력 가능
  • pstree: PID, PPID 기준으로 구조화하여 보여줌
  • psxview : pslist, psscan을 포함한 도구의 결과를 한 눈에 볼 수 있음 

네트워크 분석

  • netscan
    : Window 7이상
    : TCP/UDP로 통신하는 모든 프로토콜 조회, IPv4와 IPv6지원
    : listening(소켓을 열고있음), established(통신중), closed(소켓 닫음)의 상태가 있음
  • conections
    : Window 7미만
    : 현재 연결된(established) TCP통신에 대한 정보만 출력
  • sockets
    : Windows 7미만
    : TCP,UDP를 포함한 모든 프로토콜
    : 현재 Listening 상태에 있는 소켓을 출력

CMD분석

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

파일 분석 및 덤프

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

프로세스 세부분석

  • memdump: 특정 프로세스의 메모리 영역을 덤프 ( strings를 통해 덤프한 dmp파일을 log파일로 정리 ) 
  • procdump: 프로세스의 실행파일을 추출

악성 프로그램 식별

  • VirusTotal 주로 사용
  • windows defender도 정확한 편 ( 기본 프로그램 )

 

Volatility Cridex 풀이

 

- imageinfo 플러그인을 통해 운영체제 확인 ( -f : filename 설정 ) 

운영체제 : WinXPSP2x86

 

- pslist 플러그인을 통해 process list를 시간순서대로 출력 

 

 

- psscan 플러그인을 통해서 숨긴 프로세스 확인 

 

- pstree 플러그인을 통해 PID, PPID를 구조화된 형태로 확인가능 

svchost.exe는 기본 서비스를 관할하기 위한 프로세스의 이름이지만 다수의 악성코드들이 이름을 동일하게 설정하여 위장하는 경우가 있다. 

reader_sl.exe는 Adobe Systems에서 제공하는 PDF뷰어로써 최근 PDF를 통한 악성코드 공격이 많기에 의심대상! 

pslist를 통해 의심대상 이후의 프로세스들도 확인해주어야 한다.

 

 

-psxview 플러그인을 통해 pslist, psscan등의 결과를 한눈에 확인

pslist-false, pstree-true면 숨김처리된 프로세스로써 의심대상으로 취급할 수 있다.

 

- cmdline 플러그인을 통해 console을 통한 명령과 인자값 확인

딱히 얻을 수 있는 게 없음

 

 

- filescan 플러그앤을 통해 offset list에서  존재하는 파일들을 확인

의심스러운 대상의 offset을 확인 (추후에 추출가능) 

 

 

- dumpfile 플러그인을 통해서 의심대상exe를 추출

( -Q : offset 설정 / -D : 저장할 폴더지정 / -n : name이 포함되도록 저장 ) 

 

 

- 추출한 의심 exe파일을 VirusTotal에 넣어 파악

애매...

 

- connection 플러그인을 통해서 연결된 TCP 확인을 통해 네트워크 확인 

pid 1484가 remote address와 통신중

pid 1484 : explorer.exe => 의심대상 !

explorer.exe의 child process인 reader_sl.exe가 또 의심대상!

 

 

 

- memdump를 통해 프로세스의 메모리 부분을 추출 

-D로 설정한 폴더에 '[PID].dmp'로 생성 

 

 

- sysinternal의 strings를 통해 쓰레기 데이터를 정리한 log파일로 정리 ( 관리자모드로 실행해야 strings 명령어 적용됨...;; )

 

이전 connections 과정에서 해당 exe파일과 통신하는 ip주소를 겟했으니 그 부분을 확인해보자

 

zb/v_01_a/in/이 반복적으로 등장하여 검색해보면 다음과 같이 20개의 일치결과가 등장하며 다양한 은행 사이트가 나오는 것을 보아 은행관련 피싱인 것을 추측할 수 있다. 

 

- prodump 플러그인을 통해 실행 가능한 프로세스를 덤프해보자 ( -p : PID 지정 )

 

 

추출된 exe파일을 VirusTotal에 넣어보자 

relation

확실하게 악성프로세스임을 확인할 수 있다. 

 

 

Olympic Destroyer 풀이

<시나리오>

18.09.23 /&nbsp; 메일의 첨부파일 &ldquo;Olympic_Session_V10&rdquo;을 통해 감염

 

 

<분석> 

- 운영체제 : Win7SP0x86 (Windows 7 이상)

 

 

- pstree

예측 : WmiPrvSE.exe 가 cmd 실행 후 OlympicDestroyer를 실행하여 아래 3개의 실행파일이 악성행위를 실행

 

taskeng.exe는 작업 스케쥴러

악성코드가 본인 파일을 작업 스케쥴러에 등록하고 지속적으로 실행하기 위해 본인의 파일을 작업 스케쥴러에 등록

 => 작업스케쥴러도 의심대상!

 

 

- netscan

powershell에서 ip가 생략 -> 얻을 수 있는 게 별로 없음

침해 대상 pc의 IP가 192.168.111.130임을 추측 (원격IP)

+ 뒤에 보면 같은 내트워크망을 공유하는 192.168.111.128의 IP가 발견됨 => 

 

- psxview 

숨겨진 4개의 프로세스를 확인 => 의심 대상!

 

 

- pslist

 

 

-cmdline

C:\Windows\System32\OlympicDestroyer3.exe      C:\Users\VM\AppData\Local\Temp\_xut.exe

 

 

- filescan

OlympicDestroyer
xut

의심 파일의 offset을 확인 =>  추출해보자 

 

 

- dumpfiles

악성코드를 인지하여 백신 프로그램이 막음

 

생성된 해당 파일들은 VirusTotal에 넣어보자

 

4개의 악성 프로세스 확인  

xut.exe
OlympicDestroyer.exe
teikv.exe
ocxiv.exe

 

+ 분석 
1. 공격 경로 : 어떻게 들어와서 
2. 공격 행위 : 어떤 행위를 하고 
3. 추가 공격 : 어떻게 추가 공격하고 나가는 지 

 

(1) 공격 경로 분석

단서 - Olympic_Session_V10 (.xls 파일) => osppvc.exe  (확실한 증거x)

 

 

(2) 공격 행위 분석

앞에서 확인한 4개의 위험 프로세스를 분석하면 행위를 분석가능 

   => 추출한 4개의 프로세스를 strings를 사용하여 분석 (procdump 내용을 분석) 

 

( memdump의 경우 strings하면 너무 파일이 커서 키워드 없이는 분석이 어려움

procdump의 경우 memdump 보다는 키워드 없는 분석에 용이 )

OlympicDestroyer의 strings log

olympicdestroyer의 프로세스에서 공격 스크립트가 존재하는 것을 확인할 수 있다. 

LDAP : 내부네트워크 정보를 추출
계정 및 패스워드 확인

xut.exe에서 안티포렌식 행위 진행 

xut exe의 log

 

 

(3) 추가 공격 및 나가기 

LDAP, 계정, 패스워드 -> 같은 네트워크에 있는 컴퓨터 공격 예상 

 

+ 추가 분석 가능 부분

memdump -> strings 

    - 공격에 사용되는 payload (base64) 

네트워크 -> LDAP 

'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
디지털 포렌식이란?  (0) 2023.05.09