관리 메뉴

ilovechoonsik

Volatility - Olympic Destroyer 본문

Mentoring 🧙/🍎

Volatility - Olympic Destroyer

춘시기좋아 2022. 4. 14. 00:26

0. 분석에 들어가기 전 Olympic Destroyer란?

올림픽을 방해하기 위한 해커의 사이버 공격으로, 최초 감염 경로는 스피어 피싱 이메일을 통한 감염으로 밝혀졌다.

공격 수단은 파괴형 악성코드로 시스템을 망가뜨려 IT 기반 서비스 가동이나 운영을 방해하려는 의도로 예상된다.

 

1. 기본 plugin - imageinfo

1. imageinfo

profile=Win7SP1x86_234718

2. 프로세스 관련 plugin - pslist, pstree, psscan, psxview

(1) pslist 

OlympicDestory 3528를 PPID로 갖는 하위 프로세스

ocxip.exe 3340

teikv.exe 1640

_xut.exe 2432

전부 의심

 

추가로 실행되자마자 종료되는 

cmd.exe 152

conhost.exe 2588

의심?

 

(2) pstree

WmiPrvSE.exe (wmi provider host) : 

Windows Management Instrumentation Provider Service로 나타낼 수 있는데 윈도우 상에서 프로그램 및 프로세스들을 모니터링하고 관리해주는 호스트 서비스

 

해당 프로세스 아래서 

OlympicDestroy 3528 실행되는데

시간 상 9월 23일로 묶여있는 powershell.exe까지 의심

 

powershell.exe는 explorer.exe 아래서 실행되는거 아닌가

보면 부모 프로세스가 WmiPrvSE.exe 296이다! 의심?

 

WmiPrvSE.exe 296

ㄴ powershell.exe    596
ㄴㄴ OlympicDestroy  3528
ㄴㄴㄴ _xut.exe             2432
ㄴㄴㄴ teikv.exe            1648
ㄴㄴㄴ ocxip.exe           3340

 

(3) psscan 

(profile = Win7SP1x86_23418 로 진행하지 않으면 리스트 출력되지 않음)

 

(4) psxview

프로필 Win7SP1x86_234718 사용하지 않아 psscan이 전부 False

Win7SP1x86_234718 외의 2개 프로필은 psscan이 정상적으로 출력되지 않는다

 

일단 확실한 녀석들

powershell.exe    596
ㄴ OlympicDestroy  3528
ㄴㄴ _xut.exe             2432
ㄴㄴ teikv.exe            1648
ㄴㄴ ocxip.exe           3340

 

3. 악성 프로세스 식별을 위한 plugin - malfind, netscan

(1) malfind

malfind를 이용해 찾은 malware로 의심되는 프로세스

svchost.exe  2096 
explorer.exe  2184 
powershell.exe  596 

malfind는 정확도가 많이 낮다고 한다,, 100% 신뢰하기 어려움

(2) netscan

powershell.exe PID 596 any로 연결된 것을 확인할 수 있다

 

사실 대놓고 OlympicDestroy라고 써져있어서 관련된 아이들 전부 분석하면 될 거 같다

 

4. _xut.exe, OlympicDestroy 분석 - procdump

WmiPrvSE.exe 296

 powershell.exe    596
ㄴㄴ OlympicDestroy  3528
ㄴㄴㄴ _xut.exe             2432
ㄴㄴㄴ teikv.exe            1648
ㄴㄴㄴ ocxip.exe           3340

요기서 손지훈 멘토님이 주신 자료를 보면 _xut.exe만 현재 실행 중인 상태라 먼저 분석을 진행한다!

똑같이 해보자

 

(1) _xut.exe - procdump

디펜더가 바로 보내버린다..! 다시 추출!

 

바이러스 토탈에 던져보니 무조건 악성! (OlympicDestroyer라는 명칭으로 등록해놓은 백신도 있다..!)

추가로 멘토님께서 알려주신 BEHAVIOR 탭에서 이 친구는 WmiPrvSE.exe로 tree를 구성한다는 것을 확인할 수 있었다

 

이제 _xut.exe가 어떤 일을 하는 녀석인지 알아보자 (멘토님께서 주신 PDF 참고)

1. vssadmin.exe을 사용하여 모든 볼륨 섀도 복사본을 삭제
2. 모든 윈도우즈 백업 카탈로그를 wbadmin.exe을 사용하여 삭제
3. bcdedit.exe을 사용하여 윈도우즈 오류 복구 경고 및 복구 모드를 사용하지 않도록 설정
4. wevtutil.exe을 사용하여 시스템 및 보안 로그를 삭제

 

-> 스냅샷 삭제, 오류 복구 못하게 만들어 가용성 떨구는 녀석

 

(2) OlympicDestroy.exe - procdump

완전 악성!

 

1. ping 0.0.0.0 > nul : 시간을 지연시키는 명령

2. evtchk.txt 삭제
3. LDAP(Lightweight directory access protocol) 및 WQL(Windows Management Instrumentation Query Language)를 사용하여 횡방향 이동을 시도 (SELECT ds_cn FROM ds_computer : 액티브 디렉터리에 대한 값을 보여준다.)

 

-> LDAP를 통해 묶여있는 사용자들에게 접근하려고 한 거 같다

 

 

추가로 ID, PW로 보이는 정보들이 있는데, 공격자가 이미 가지고 있던 정보인 것으로 추정됨

5. powershell 네트워크 흔적 조사 - netscan

WmiPrvSE.exe 296

 powershell.exe    596
ㄴㄴ OlympicDestroy  3528
ㄴㄴㄴ _xut.exe             2432
ㄴㄴㄴ teikv.exe            1648
ㄴㄴㄴ ocxip.exe           3340

powershell을 통한 원격 제어 등이 이루어졌을 가능성을 고려하여 네트워크 흔적 조사

 

powershell.exe의 실행 시각인 2018-09-23 07:25:51 UTC+0000 이후 8초 후 네트워크 연결이 되었습니다.

> OlympicDestroy.exe는 공격자가 powershell.exe를 통해 설치했다는 것을 알 수 있습니다.

 

6. vmtoolsd.exe 하위에 cmd.exe - consolse

conhost.exe는 명령 프롬프트에서 입력 명령을 처리하는 역할을 합니다.

consoles를 통해 명령 프롬프트에서 실행 중인 파워 셸의 흔적을 확인할 수 있습니다.

 

7. powershell.exe 실행 직전에 실행된 OSPPSVC.EXE - procdump

OSPPSVC.EXEMicrosoft Office 서비스를 제공하는 프로세스입니다.

 

pslist를 보면 OSPPSVC.EXE 실행 이후에 powershell.exe가 실행되는 것을 알 수 있고
OSPPSVC.EXE가 powershell.exe을 실행시킨다고 가정할 수 있습니다 (문서형 악성코드 사례 통한 추측)

 

따라서 OSPPSVC.EXE를 procdump 하여 분석을 진행~

 

알아보기 어려운 엄청난 길이의 데이터가 존재하는데 일반적이지 않은 상황!!

OSPPSVC.EXE - POWERSHELL.EXE - 네트워크 연결

요 순서인데 저 데이터는 C&C 서버로 암호화된 데이터를 넘기는 것일 수 있다는 추측해볼 수 있슴니다!

 

8. OlympicDestroy.exe 추가 동작 조사 - apihooks

추가 동작을 조사하기 위해 apihooks 사용

 

사용자 모드 IAT가 훅 된 것을 확인할 수 있으며, NetGetDCName 함수를 후크하여 네트워크 도메인 컨트롤러의 이름을 가져오는 기능을 수행

 

pdf 결론
1. 2018-09-2307:25:32 사무용 문서 유형 악성코드 실행
2. 실행 중에 powershell.exe가 생성되어 올림픽 디스트로이어가 다운로드됩니다.
3. 올림픽 디스트로이어가 실행되면, ocxip.exe, teikv.exe 및 _xut.exe 생성됩니다.
4. _xut.exe를 분석한 결과, 모든 백업 관련 정보 파일을 삭제하는 악의적인 동작을 확인할 수 있습니다.
5. Olympic Destroyer의 string 값을 조사한 결과 측방 운동으로 추정되는 흔적을 확인하였습니다. 
6. OSPPSVC.EXE의 문자열을 살펴본 후, C&C가 해커와 연결한 암호화된 데이터를 볼 수 있습니다.

 

9. 정리

1. 사용자가 피싱 메일 열람, 문서형 악성코드 첨부파일 다운로드

2. 문서형 악성코드 실행되며 OSPPSVC.EXE를 통한 악성 행위 (powershell.exe 실행 및 C&C 서버와 통신)

3. powershell.exe를 통해 OlympicDestroyer.exe 떨굼!

4. OlympicDestroyer.exe는 LDAP 및 WQL 이용하여 네트워크의 다른 PC로 이동 시도하며

5. 추가로 하위 프로세스들(_xut.exe, teikv.exe, ocxip.exe)을 생성하여 볼륨 섀도 복사본, 백업 카탈로그 삭제, 오류 복구 못하게 만들어 가용성을 떨어뜨립니다.

 

 

 

# 헷갈리는 점 : 

- 악성 프로세스를 구분하는 건 플러그인 숙지하는 것으로 가능한 거 같은데, 해당 프로세스가 정확히 어떤 악의적인 행위들을 하는지 판단하기 너무 어렵습니다.. (어떤 식으로 공부하면 좋을지 조언을 구하고 싶습니다..!)


참조 : 

멘토님이 주신 PDF

 

https://ko.nex-software.com/what-is-osppsvc-exe

 

osppsvc.exe 란 무엇입니까?

정품 osppsvc.exe 파일은 Microsoft Corporation 의 Microsoft Office 소프트웨어 구성 요소입니다. "Osppsvc.exe"는 Office 2010 서비스 팩 1에서 처음 소개되었으며 현재 모든 Office 2010, 2013 및 2016 버전에서 사용되는

ko.nex-software.com

https://www.sharedit.co.kr/qnaboards/22877

 

백업 용어에 관해서 설명해주실 분 계실까요?

백업 용어 몇 가지에 대해서 공부하려 하는데 설명서에 나와있는 내용은 아무리 생각해도 너무 이상하게 적혀있는 것 같기도 하고 실질적으로 도움이 되지 않는 내용인 것 같습니다....

www.sharedit.co.kr

https://stackoverflow.com/questions/44152913/working-with-ping-localhost-in-batch

 

Working with ping localhost in Batch

We use ping localhost -n 2 >nul to delay its following executions. We can change 2 to the number of seconds needed. How can I control this in a much broader way? I tried using 1.5 instead of 2 ...

stackoverflow.com

https://docs.microsoft.com/ko-kr/windows/win32/cimwin32prov/create-method-in-class-win32-process

 

Win32_Process 클래스의 메서드 만들기 - Win32 apps

Create&\# 8194; WMI 클래스 메서드는 새 프로세스를 만듭니다.

docs.microsoft.com

http://www.inetcs.co.kr/home/wp-content/uploads/2018/03/Talos-Blog_Who-Wasn%E2%80%99t-Responsible-for-Olympic-Destroyer_final.pdf

https://jabcholove.tistory.com/89

 

LDAP 란 무엇인가.? +_+

구시대의 오래된 문서이지만 참고하기는 더좋을게 없네요 짧게 설명 - LDAP (Lightweight Directory Access Protocol) LDAP는 조직이나, 개체, 그리고 인터넷이나 기업 내의 인트라넷 등 네트웍 상에 있는 파일

jabcholove.tistory.com

https://hec-ker.tistory.com/319

 

LDAP이란 무엇인가

LDAP LDAP(Lightweight Directory Access Protocol)은 네트워크 상에서 조직이나, 조직 내 파일/개인정보/디바이스 정보 등을 찾아볼 수 있도록 하는 프로토콜이다. 이름에서 알 수 있듯이, LDAP은 디렉터리 서

hec-ker.tistory.com

 

https://www.ired.team/offensive-security/code-injection-process-injection/import-adress-table-iat-hooking

 

Import Adress Table (IAT) Hooking - Red Teaming Experiments

Once the function pointers are swapped, we can see that calling the MessageBoxA with an argument Hello after Hooking does not print Hello after Hooking, rather, the message text is that seen in the hookedMessageBox routine, confirming that the IAT hook was

www.ired.team

https://liveyourit.tistory.com/119

 

DLL 인젝션을 통한 지뢰찾기 IAT 후킹 (Hooking) 구현

지뢰찾기.exe를 사용해서 단순 DLL 인젝션부터 코드 후킹 (Code Hooking), API 후킹 (API Hooking)까지 구현을 해봤는데 오늘은 마지막으로 IAT 후킹 (IAT Hooking)을 구현해보려 한다. IAT 후킹은 사실 큰개념으.

liveyourit.tistory.com

https://docs.microsoft.com/ko-kr/windows/win32/netmgmt/looking-up-a-users-full-name

 

사용자의 전체 이름 조회 - Win32 apps

컴퓨터는 컴퓨터 네트워크 컬렉션인 도메인으로 구성 될 수 있습니다. 도메인 관리자는 중앙 집중식 사용자 및 그룹 계정 정보를 유지 관리 합니다.

docs.microsoft.com

https://docs.microsoft.com/ko-kr/windows/win32/netmgmt/get-functions

 

함수를 얻습니다. - Win32 apps

네트워크 관리 get 함수는 도메인에 대한 정보를 검색합니다. 이러한 함수를 호출하여 로컬, 전역, 워크스테이션 및 서버 사용자 계정에 대한 정보를 검색할 수도 있습니다.

docs.microsoft.com

 

 

저번에 윈도우 터미널, 알캡쳐 알려주신 이후로 계속 사용하고 있는데 너무 편하고 이쁩니다..! 감사합니다 멘토님 :)

'Mentoring 🧙 > 🍎' 카테고리의 다른 글

# 3  (0) 2022.04.14
# 2  (0) 2022.04.14
# 1  (0) 2022.04.14
Volatility - Cridex  (0) 2022.04.01
Comments