티스토리 뷰

Digital Forensics

해당 포스트에서는 Volatility Contest2018에서의 OlympicDestroyer 문제에 대한 분석입니다.

이전편을 보고오시는 것을 추천드립니다.

https://infosec-noh.tistory.com/16#comment15701002

 

OlympicDestroyer - Volatility Contest 2018 #1

해당 포스트에서는 Volatility Contest2018에서의 OlympicDestroyer 문제에 대한 분석입니다. 0. 배경 1. 운영체제 식별 해당 파일을 다운로드하여 이미지의 정보를 확인 명령어:volatility_2.6_win64_standalone.exe -f

infosec-noh.tistory.com


이전 글에서  _xut.exe와 OlympicDestoryer가 악성 프로그램인것을 확인했으므로 이어서 분석해보겠다.

하지만 OlympicDestroy의 자식 프로세스는 _xut.exe 말고도 teikv.exe와 ocxip.exe가 있기에

 

이것들을 procdump를 통해 추출을 해보겠다.

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 procdump -p 1648 -D .\files\

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 procdump -p 3340 -D .\files\

 

근데 여기서 아래와 같이 문제가 생겼는데 페이징에 관련된 문제인것으로 보인다.

그래서 teikv.exe와 ocxip.exe 추출은 dumpfiles를 해주겠다.

error

일단 위 프로세스들은 에러가 났지만 우린 OSPPSVC.EXE(1700), teskeng.exe(2192), conhost(620)를 procdump 해주자

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 procdump -p 1700 -D .\files\

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 procdump -p 2192 -D .\files\

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 procdump -p 620 -D .\files\

 

procdump

 

다시 아까 에러가 난 프로세스들을 filescan에서 오프셋 값을 찾아 dumpfiles를 진행해주자

filescan
filescan

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 dumpfiles -Q 0x000000007f7640d0 -n -D .\files\

명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 dumpfiles -Q 0x000000007fdcb548 -n -D .\files\

 

이제 추출된 것들을 Virustotal에서 바이러스 유무를 검증해보자.

OSPPSVC.EXE
teskeng.exe
tekiv.exe
ocxip.exe
conhost.exe

우리는 이걸로 tekiv.exe, ocxip.exe외엔 특별히 바이러스가 있는 프로그램이라는 것을 느끼지 못했다.

다만 해당 프로그램에 바이러스가 없는것이지 그 프로세스가 악성 행위를 안했는지는 확인하지 못했다.

 

이것은 나중에 memdump를 추출해서 확인해보자

일단 대충 악성 프로세스까진 발견했으니 이 악성 프로세스가 어디서 들어왔는지를 확인해야한다.

해당 문제의 침해분석 시나리오 부분을 보면 아래와 같이 나와있다.

침해사고 시나리오

그렇다면 메일을 수신한 뒤 해당 메일의 첨부된 Olympic_Session_V10을 확인하고 일정을 업데이트 한 뒤 다음날 서버가 중단되었다고 하니 저 첨부파일을 열면 악성프로세스가 자동실행되는 것으로 추측된다.

 

첨부파일이라하면 대표적으로 엑셀, 파워포인트 등과 같은 마이크로소프트 오피스를 가장 먼저 생각하게 된다.

아까 우린 마이크로소프트 오피스 관련 프로세스인 OSPPSVE.EXE가 악성 프로세스가 아닌것을 확인은 했다.

하지만 어떠한 행위까지 알기 위해 memdump와 strings를 해보겠다. 

 명령어: volatility_2.6_win64_standalone.exe -f '.\Windows 7-1a1299dc.vmem' --profile=Win7SP1x86 memdump -p 1700 -D .\dump

명령어: strings .\dump\1700.dmp > OSPPSVC.exe.log

 

추가로 악성프로세스로 확인된 것들이 어떠한 악성행위를 하는지 알아야하기에 모두 strings를 해준다.

명령어:
strings .\file.None.0x85404c20.OlympicDestroyer3.exe.img > OlympicDestroyer.log
strings .\files\file.None.0x85aa41a0.teikv.exe.img > teikv.exe.log
strings .\files\file.None.0x857b34e8.ocxip.exe.img > ocxip.exe.log

후에 OlympicDestroyer.log 파일을 열어 확인해보니 아래와 같은 공격코드를 발견할 수 있었고, admin계정과 패스워드 정보를 확인할 수 있었다.

OlympicDestroyer.log
OlympicDestroyer.log

다음은 ocxip.exe.log, teikv.exe.log를 확인해 봤지만 딱히 특별 정보는 없었다.

xut.exe.log를 확인해보니 아래와 같이 복구관련 기능과 이벤트로그를 삭제하고 부팅 관련 기능을 못하게 하는 공격 코드가 있었다.

xut.exe.log

이제 어떤 행위를 하는지까지는 확인했으니 어디서 들어왔는지 확인을 하기위해 아까 strings를 해준 OSPPSVC.exe.log를 확인해보자

해당 파일은 너무 크기에 하나씩 보기 힘드므로 메일의 첨부파일로 검색을 해보면 145개 정도가 나오는 것을 볼 수 있다.

OSPPSVC.exe.log

하지만 Desktop아래인 것과 lnk, zip파일, xls파일정도만 생각나게하게 그외 명확하게 들어왔다고 단정할만한 정보는 없었다.

그렇다면 filescan.log에서 Olympic_session_v10을 검색해 다른 단서가 있을지 확인해보자.

filescan.log

lnk를 제외한 3개를 확인할 수 있었다. 이것들을 추출을 했지만 아래와 같이 한글 때문에 추출이 안되는 것을 볼 수 있었다.

dumpfiles

 음 그래도 Olympic_Session_V10 첨부파일을 통해 들어온것은 사실이니 굳이 안찾아도 될 것 같다.

 

총정리하면

- Olympic_Session_V10를 통해 OlympicDestroy가 실행됐다.
- OlympicDestroy가 _xut.exe, teikv.exe, ocxip.exe를 실행시켰다. 
- 해당 프로그램들은 모두 악성프로그램이였고 그중 OlympicDestroy는 공격코드와 함꼐 admin정보와 패스워드가 적혀있었고 xue.exe는 복구관련 기능과 이벤트로그를 삭제하고 부팅 관련 기능을 못하게 하는 공격 코드가 있었다.

'Forensic > Memory Forensic' 카테고리의 다른 글

Memory Forensics 개념 및 volatility 사용  (0) 2025.03.17
OlympicDestroyer - Volatility Contest 2018 #1  (2) 2024.03.12
Volatility 정리  (0) 2024.03.09