ilovechoonsik
Volatility - Olympic Destroyer 본문
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.EXE는 Microsoft 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
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
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 |