현재 Magniber 랜섬웨어는 한국을 타겟으로 유포되는 랜섬웨어 중 유포 건수가 가장 높다. 광고성 웹사이트의 정상적인 네트워크를 이용하는 멀버타이징 방식이 사용됨은 변함이 없지만, 최종적으로 랜섬웨어가 사용자 시스템에서 구동되는 방식은 주기적으로 변화하고 있다. 그리고 3월 15일, 유포 스크립트의 변화로 인해 TSWbPrxy.exe가 사용되는 새로운 구동방식 발견되었다. 이러한 유포 방식은 2016년 6월 CryptXXX 랜섬웨어 유포에서도 사용된 방법으로 동일한 제작자에 의해 만들어 지는 것으로 추정된다. TSWbPrxy.exe는 특정 응용 프로그램을 실행하는 데 사용되는 MS제공 윈도우즈의 정상 프로그램이다.

<그림 1>은 Magniber 랜섬웨어 유포에 사용되는 자바 스크립트 원본이다. Magniber 랜섬웨어를 사용자 시스템에 생성하고 실행하는 역할을 수행한다.

<그림 1. Magniber 랜섬웨어 유포 스크립트 원본>

<그림 2>는 원본 복호화된 스크립트이다. 복호화된 스크립트의 빨간 박스의 실행문에 의해서 TSWbPrxy.exe를 통해 사용자 로컬에 생성된 랜섬웨어 파일이 실행된다

GetObject("new:MSTSWebProxy.MSTSWebProxy.1").StartRemoteDesktop(%filepath%, "");


<그림 2. 복호화된 Magniber 랜섬웨어 유포 스크립트>


해당 기법으로 실행되면 <그림 3>과 같이 Magniber 랜섬웨어는 TSWbPrxy.exe 의 하위 프로세스로 생성되어 랜섬웨어의 파일 암호화 행위를 수행하게 된다.


<그림 3. TSWbPrxy.exe 로 실행된 Magniber 랜섬웨어>


현재 V3에서는 Magniber 랜섬웨어를 수동, 실시간 모두 진단이 가능하며, 다음의 진단명으로 진단하고 있다.


- 파일 진단 : Trojan/Win32.Magniber (엔진 반영 버전 : 2018.03.16.02)

- 행위 진단 : Malware/MDP.DriveByDownload.M1659 (엔진 반영 버전 : 2018.02.27.00)


Posted by 분석팀

'USB 전파기능의 JS 파일에서 확인된 모네로 채굴기' 에 사용 된 악성자바스크립트에서 자기 방어 기법이 확인 되었다. 방어기법은 wscript.exe 프로세스를 강제종료 시, 스크립트 코드에 의해 시스템을 강제로 종료하는 기능이 확인되었다. 악성 스크립트가 어떻게 자기방어를 하는지 알기 위해서는 악성 스크립트 동작 방법을 이해해야 한다. 악성 스크립트가 실행되면 인자(Arguments)에 따라 USB감염, 특정 프로세스들을 강제종료하는 하위 스크립트가 실행된다. 그리고 C2에서 추가 스크립트를 전달 받으면 wscript.exe 가 다시 실행된다. 즉, 악성 자바스크립트는 총 세번의 하위 스크립트 실행이 존재하며 C2에서 전송되는 파일에 따라 추가 악성행위가 달라 질 수 있다. powershell을 통해 모네로 채굴기를 다운로드한 것이 이에 해당한다.

[그림 1] wscript.exe 프로세스 별 인자와 파일 핸들

최상위 프로세스인 wscript.exe는 물론 하위 랜덤명의 wscript.exe 프로세스는 %appdata%[random] 폴더에 생성된 파일에 대한 핸들을 가지고 있다. 이 를 통해 각 스크립트가 정상 동작함을 확인 할 수 있다.

그리고, 랜덤명의 하위 프로세스는 while(ture) 문으로 지속적으로 USB감염 행위와, Process 종료를 수행하며 shutdown 기능을 가진 zBTf 함수를 호출한다.

[그림 2] wscript.exe 프로세스 별 기능

아래 [그림 3]은 zBTf 함수 코드로 특정 파일의 핸들을 얻어, 파일 닫기, 시스템을 강제로 종료한다는 의미이다. 악성 스크립트가 정상적으로 수행 시, 'ylijoukud' 파일의 핸들은 최상위 wscript.exe가 갖고 있어 다른 프로세스가 파일에 대한 핸들을 얻으려고 하여도 실패하게 된다. 따라서, 일반적으로는 시스템 강제종료 행위가 발생되지 않는다. 파일 핸들은 [그림 1]을 통해 확인 할 수 있다.

[그림 3] 난독화가 풀린 자바스크립트 코드 내 shutdown 코드

그러나, 강제적으로 wscript.exe를 종료(kill) 하게 되면 이 파일이 갖고 있던 핸들이 놓아지고, 하위 프로세스가 핸들을 얻어 시스템 강제종료 코드가 실행된다.

[그림 4] shutdown 코드가 실행되는 화면

하위 프로세스를 종료하여도 최상위 wscript.exe가 하위프로세스를 재생성 하고, 최상위 wscript.exe를 종료하면 시스템을 강제종료시켜 자기 방어를 한다. 이러한 자기 방어를 통해 지속적인 감염행위가 발생하게 된다.

아래 방법을 통해 사용자가 시스템 강제종료 없이 수동 치료가 가능하다.

1. 시작프로그램에 생성된 바로가기(*.lnk) 파일 삭제 

2. %appdata%랜덤명 경로에 생성된 악성 JS 파일 삭제

3. 하위 프로세스 2개 모두 종료 후 최상위 wscript.exe 종료

Posted by 분석팀

최근 USB 이동식 디스크를 통해 전파되는 자바스크립트 파일(JS) 악성코드에서 모네로 채굴관련 파일을 다운로드하는 기능이 확인되었다. 전파기능에 의해 웜(Worm) 유형의 악성코드로 분류되는 이러한 유형은 과거에도 많이 알려진 형태이며, 아래의 [그림 1]에서 처럼 난독화된 형태를 갖는다. 감염 시, USB 내부의 폴더들이 모두 숨김속성으로 변경되며, 동일이름의 바로가기’(*.LNK) 링크파일을 생성하고 사용자로 하여금 클릭을 유도한다. 폴더로 착각하여 클릭한 바로가기 링크파일에 의해 자바스크립트 파일이 실행되는 구조이다.

[그림 1] 난독화 된 악성 자바스크립트

악성 자바스크립트가 실행되면 [그림 2]와 같이 C:\Users\vmuser\AppData\Roaming\[랜덤명] 폴더에 원본 JS 파일을 사하고, 시작 프로그램에 바로가기링크파일(*.LNK)을 생성한다. "mbxbw64.exe" 파일은 JS파일을 실행하기 위한 윈도우 정상 "wscript.exe" 파일이다.

[그림 2] C:\Users\vmuser\AppData\Roaming\[랜덤명] 생성된 파일들


재부팅 후에도 자동으로 실행되기 위해 시작프로그램에 Start 이름의 바로가기 링크파일을 생성한다. 실행대상이 JS 파일임을 알 수 있다.

[그림 3] 시작프로그램에 생성된 바로가기 파일


악성코드는 감염된 사용자 PC 정보를 전송하는 악성행위를 한다전파 방법은 USB가 존재할 경우, 폴더들을 바로가기 링크파일로 모두 변경하고, 최상위 경로에 ".Trashes" 폴더를 만들어 변경한 폴더의 원본 폴더 전체(하위파일 포함)을 백업하여 둔다여기까지는 기존에 알려진 행위와 동일하다. 주목해야 할 악성 행위는 Powershell.exe을 이용하여 miner를 다운로드 받는 것이다.


분석팀 악성코드 자동분석 시스템(RAPIT)을 통해 보면, 아래 Process Tree 에서 "powershell.exe"가 동작한 것을 확인할 수 있다.

[그림 4] RAPIT 프로세스 그래프


[그림 5] RAPIT (프로세스 트리)


다운로드한 파일 "xmr.zip" 내부에는 아래와 같이 모네로 채굴기능의 파일들이 존재함을 알 수 있다.

[그림 6] xmr.zip 파일


현재 V3에서 해당 파일들을 다음 진단명으로 진단하고 있다.

(1) JS/Bondat (2018.03.08.05) - MD5: A81B4D4971F2FCB739B384E33E6053E6

(2) Trojan/Win64.BitCoinMiner (2017.08.30.04) - MD5: d55a997592340e6a10dbfc1a33c18466


Posted by 분석팀

금일 안랩 시큐리티 대응 센터(ASEC)는 불특정 다수의 사용자에게 스팸메일을 통해 인터넷 바로가기 파일(확장자: URL)이 다수 유포된 것을 확인하였다.


 

[그림-1] 스팸 메일 내용

해당 메일은 상기 [그림-1]과 같이 ZIP으로 압축된 파일을 첨부하여 유포되었으며, 압축을 해제할 경우 아래의 [그림-2]와 같이 인터넷 바로가기파일이 존재함을 확인 할 수 있다

 

[그림-2] 첨부 파일 압축 해제 시

[그림-3] 정상적인 인터넷 바로가기 아이콘 및 구조

정상적으로 생성된 인터넷 바로가기의 아이콘은 상기 [그림-3]과 같이 사용자의 기본 사용 브라우저 아이콘을 갖고 있으나, 악의적으로 제작된 인터넷 바로가기는 [그림-4]와 같이 shell32.dll 아이콘을 사용하여 폴더 형태 아이콘으로 사용자로 하여금 클릭을 유도하고 있다.

[그림-4] 악의적으로 제작된 인터넷 바로가기 아이콘 및 구조

해당 파일을 클릭할 경우, 내부에 제작자가 유도한 URL로 접속하는 기능이 있으나 현재는 접속은 이루어 지지 않아 어떠한 파일이 다운로드 되는지 확인되지 않았다. 발신자가 불분명한 의심스러운 이메일에 첨부된 파일은 열어보지 않도록 각별한 주의가 요구된다.

현재 V3에서 이러한 URL 파일을 다음의 진단명으로 진단하고 있다.

- URL/Downloader (V3 엔진버전: 2018.03.06.08)

- URL/Downloader.S1 (V3 엔진버전: 2018.03.07.00)

- URL/Downloader.S2 (V3 엔진버전: 2018.03.07.02)

 

 금일 추가 변형이 접수 되었으며, V3는 이러한 유형을 URL/Downloader.S2로 진단하고 있다

[그림 -5] 추가 접수된 인터넷 바로가기 파일 구조

악의적인 목적으로 변형이 지속적으로 제작될 것으로 보여 사용자의 주의가 필요하다.

Posted by JYP

이력서를 가장한 모네로 코인 채굴 악성코드(이하 마이너)가 지난 11월부터 이메일을 통해 불특정 다수에게 꾸준히 유포되고 있다. 이에 따라 아래 본문에서 언급할 내용의 메일을 수신한 사용자는 코인 마이너가 담긴 첨부파일을 실행하지 않도록 각별한 주의가 필요하다.

 

모네로 코인 마이너는 [그림 1]과 같은 메일 내용에 첨부 파일 형태로 유포된 것으로 추정된다.

 


[그림 1] 메일 본문 중 일부

 

마이너 악성코드가 첨부된 압축 파일은 .egg 확장자를 사용하며, 압축된 파일 목록은 [그림 2]와 같다.

 

[그림 2] 압축 파일 목록

 

압축된 파일의 종류에는 바로 가기(*.lnk) 파일과 마이너(facebook.exe) 파일 두 종류가 있는데, 이 중 바로 가기 파일의 경우 이전 ASEC 블로그(http://asec.ahnlab.com/1083, 랜섬웨어에서 비트코인 실행으로 변경된 LNK(바로 가기)파일 주의)에서 다룬 바 있다.

 

마이너(facebook.exe) 파일은 파일 속성에 숨김 속성이 부여되어 있어 윈도우 기본 폴더 구성 옵션을 사용하는 일반 사용자는 [그림 3]과 같이 압축 해제 시 마이너 파일의 존재 여부를 확인할 수 없다. 이러한 특징은 사용자가 이력서 바로 가기 파일을 실행하도록 유도함으로써 최종적으로 사용자 PC에 마이너 악성코드를 감염 시키고자 하는 공격자의 의도를 파악할 수 있다.

 

[그림 3] 압축 해제 된 폴더

 

[그림 4] 이력서(사진첨부)_180220.doc.lnk의 바로 가기 대상

 

실행된 마이너의 주요 특징으로는 비교적 최근에 컴파일된 점, 윈도우 정상 프로세스에 채굴 프로그램을 인젝션하여 동작하는 것이 특징이다.

 

[그림 5] 모네로 악성코드의 전체적인 동작 과정

 

분석 당시 유포되었던 마이너는 2018/2/20일에 제작되었으며, 이 컴파일 시간은 지난 11월 이후로도 공격자는 꾸준히 마이너를 제작해오고 있다는 것을 알 수 있다.

 

[그림 6] facebook.exe의 컴파일 시간

 

여기서 주목할 점은 [그림 5]의 전체 동작 과정에서 윈도우 관련 정상 파일의 복사본인 svhost.exe에 인젝션되는 악성 PE가 지난 11월에 제작된 것으로 보아 공격자는 최근까지 파일의 외형만 바꾼 채로 마이너 악성코드를 그대로 사용하고 있는 것을 확인할 수 있다.

 

[그림 7] 인젝션되는 악성 PE의 컴파일 시간

 

마이너(facebook.exe)가 실행되면 vbc.exe(visual basic command line compiler)의 복사본인 svhost.exeXMRig(모네로 채굴 프로그램)를 포함한 악성 PE를 인젝션한다.

 

이후 인젝션된 svhost.exe는 로컬 시스템의 운영체제 환경에 따라 특정 정상 프로세스에 모네로 채굴 프로그램을 인젝션하여 동작한다.

 

모네로 채굴 프로그램은 UPX로 실행 압축되어 있는 형태로 악성 PE에 포함되어 있다.

 

[그림 8] UPX로 실행 압축된 XMRig(모네로 채굴 프로그램)

 

[그림 9] 실행되는 XMRig의 버전 정보

 

채굴 프로그램을 정상 프로세스에 인젝션 하면서 악성코드 제작자는 자신의 모네로 코인 월렛 주소 정보를 실행 인자로 전달하여 동작시키는데, 전달된 인자 정보는 ASEC 내부에서 사용하는 자동 분석 인프라인 라피트(Rapit)에서도 확인할 수 있다.

 

[그림 10] ASEC 자동 분석 인프라 Rapit의 프로세스 트리 정보

 

마이너 실행 인자 값 의미

-o

마이닝 서버의 URL

-u

공격자의 모네로 코인 월렛 정보

-p

마이닝 서버의 패스워드

-v

알고리즘

-t

사용자 cpu 코어 수에 따라 바뀌는 값

[1] XMRig 실행 인자 정보

 

또한, 공격자는 사용자의 PC에서 마이너를 지속적으로 실행시키기 위해서 특이한 기법을 사용하고 있는데, 해당 기법은 [그림 10]의 프로세스 트리 정보에서 채굴 프로그램(wuapp.exe)이 동작하는 중에 사용자가 작업 관리자(taskmgr.exe)를 실행하면 wuapp.exe의 부모 프로세스인 svhost.exe에서는 현재 프로세스 목록 중 작업 관리자 프로세스의 존재 여부를 확인하여, 작업 관리자가 실행 중일 경우에 일시적으로 채굴 프로그램(wuapp.exe)을 종료한다.

 

, svhost.exe taskmgr.exe 프로세스에 대한 감시 기능이 있어 taskmgr.exe 프로세스가 실행 중일 경우에는 채굴 프로그램(wuapp.exe)을 실행시키지 않는다.

 

이후 작업 관리자 프로세스가 종료되면 다시 정상 프로세스(wuapp.exe)에 채굴 프로그램을 인젝션 하여 마이너 행위를 수행한다. 이러한 과정은 부모 프로세스인 svhost.exe가 종료될 때까지 수행된다.

 

따라서, 확실한 치료를 위해 사용자는 마이너가 인젝션된 부모 프로세스(svhost.exe)와 자식 프로세스(wuapp.exe)를 찾아 함께 종료 해야한다. 운영체제 환경에 따라 모네로 채굴 프로그램(XMRig)가 인젝션되는 정상 프로세스는 [ 2]와 같다.

 

운영체제 환경

인젝션 되는 정상 프로세스

32Bit 환경 OS

C:\Windows\notepad.exe

C:\Windows\explorer.exe

64Bit Windows XP

C:\Windows\SysWOW64\wuapp.exe

C:\Windows\SysWOW64\svchost.exe

Windows Vista 이상의 64Bit 환경 OS

C:\Windows\System32\wuapp.exe

C:\Windows\System32\svchost.exe

[2] 운영체제 환경에 따라 인젝션되는 정상 프로세스 종류

 

현재 V3 제품에서는 본문 내용과 같은 마이너 악성코드가 탐지될 경우에 V3의 행위 진단에 의해서 부모 프로세스도 함께 종료된다.

 

V3 제품군에서는 모네로 마이너 악성코드를 다음의 진단명으로 탐지 및 차단하고 있다.

 

파일 진단 - Trojan/Win32.CoinMiner.C2414884

(엔진 반영 일자 : 2018.03.03.00)

(MD5 : ec02c65f24ac8faa2179bffe8f49d331)

행위 진단 - Malware/MDP.CoinMiner.M1845


Posted by 분석팀

최근 Magniber 랜섬웨어는 멀버타이징을 통해 활발히 유포되고 있다. 멀버타이징(Malvertising)은 광고 서비스의 정상적인 네트워크를 이용하여 악성코드를 유포 및 감염시키는 방법이다.  

유포 건수가 증가하는 만큼, 랜섬웨어 유포 방식 또한 활발하게 변화되고 있다. 사용자 시스템에 랜섬웨어 파일을 숨기는 ADS Data Hiding 기법이 사용된 지 일주일이 채 지나지 않아, Windows 정상 프로그램인 "forfiles.exe"를 이용하는 실행방식으로 변하였다. 그리고 최근에 들어 파일 은폐 방식이 사라지고 "rundll32.exe"를 이용한 실행 방식으로 변하였다.

Magniber 랜섬웨어를 사용자 시스템에 유포하는 자바 스크립트의 기간별 변화는 다음과 같다. 

<그림 1. 복호화된 2월 7일 Magniber 랜섬웨어 유포 스크립트>

(샘플 MD5 : 6f4753b9629eecebbf15d1afe9ea4bb5)

 2월 7일 : ADS 스트림에 숨겨진 랜섬웨어 데이터를 WMI 쿼리를 통해 실행


<그림 2. 복호화된 2월 20일 Magniber 랜섬웨어 유포 스크립트>

(샘플 MD5 : b82a0a91130751fdb0e6b535c7e186d3)

2월 20일 : 기존 실행방식에 "forfiles.exe"를 통해 실행하는 방식이 추가됨.


<그림 3. 복호화된 2월 28일 Magniber 랜섬웨어 유포 스크립트>

(샘플 MD5 : 3b570cefa9908a796e2dc6f0fa3d176f)

 2월 28일 : ADS 파일 은폐 방식이 사라지고 %appdata% 경로에 ".com" 확장자로 생성 후, WMI 쿼리를 통해 실행


<그림 4. 복호화된 3월 5일 Magniber 랜섬웨어 유포 스크립트>

(샘플 MD5 : 4388df3ea6bf2cd9b3c450bf088ab420)

3월 5일 : 이전과 마찬가지로  %appdata% 경로에 ".com" 확장자로 생성 후,  WMI 쿼리를 통해 직접 실행하지 않고 "rundll32.exe"를 통해 랜섬웨어 파일을 실행하며, 실행이 실패할 경우  "wscript.exe"를 통해 실행


현재 V3에서는 Magniber 랜섬웨어를 수동, 실시간 모두 진단이 가능하며, 다음의 진단명으로 진단하고 있다.

- 파일 진단 : Trojan/Win32.Magniber

(엔진 반영 버전 : 2018.03.05.03)

- 행위 진단 : Malware/MDP.Ransome.M1659

(엔진 반영 버전 : 2018.02.27.00)

Posted by 분석팀

멀버타이징을 통해 유포되는 Magniber 랜섬웨어는 최근 파일 은폐 기법(ADS Data Hiding)을 이용해 파일을 생성한 후 WMI 쿼리를 통해 사용자 시스템에서 실행된다는 사실이 하기 URL의 게시글을 통해 공유되었다.   

Magniber 랜섬웨어 파일 생성 방식의 변화(파일은폐) (URL : http://asec.ahnlab.com/1090)

이어서 금일 수집된 Magniber 랜섬웨어를 유포하는 자바 스크립트에서 ADS 스트림에 생성한 파일을 forfiles.exe를 통해 실행하는 기법이 새롭게 추가되었다.


[그림 1] 난독화된 Magniber 랜섬웨어 유포 스크립트

(샘플 MD5 : b82a0a91130751fdb0e6b535c7e186d3)


[그림 2] 복호화된 Magniber 랜섬웨어 유포 스크립트


[그림 2] 는 금일 접수된 [그림 1]의 난독화된 Magniber 랜섬웨어 유포 스크립트를 복호화한 스크립트이다. [그림 2] 의 빨간색 박스의 실행문이 새롭게 추가되었고, 해당 실행문은 사용자 시스템의 ADS 스트림에 생성된 랜섬웨어 파일을 forfiles.exe를 통해 실행하는 기능이다. 

forfiles.exe 는 Windows 운영체제에서 제공되는 프로그램으로서, 선택적인 파일을 대상으로 커맨드 명령을 수행하게 하는 기능을 가지고 있다. forfiles.exe를 통하면 ADS 스트림에 저장된 파일이 Window 7, Windows 10에서도 실행 가능하였고, 이는 WMI 쿼리가 비활성화된 시스템을 감염하기 위한 목적으로 보인다.


forfiles /p c:\\windows\\system32 /m notepad.exe /c \""+ FilePath + "\"" 

[표 1] Magniber 랜섬웨어를 실행하는 forfiles.exe 커맨드


[표 1]의 커맨드 내용을 보면, forfiles.exe의 명령 반복 횟수를 한 번으로 제한하기 위해 앞단의 명령 인자("/p c:\\windows\\system32 /m notepad.exe)가 사용되었다. 

따라서 이어지는 명령 인자(/c \"" + FilePath + "\"") 가 한 번 실행되며, 공격자는 해당 명령을 통해 forfiles.exe를 단일 파일을 실행하기 위한 목적으로 사용하였다.

  

현재 V3에서는 Alternate Data Stream(ADS)에 쓰여지는 파일이 수동, 실시간 모두 진단이 가능하며, 다음의 진단명으로 진단하고 있다.

- 파일 진단 : Trojan/Win32.Magniber

(엔진 반영 버전 : 2018.02.20.03)

- 행위 진단 : Malware/MDP.Ransome.M1171

(엔진 반영 버전 : 2016.12.03.01)

Posted by 분석팀

한글 파일 취약점은 주로 APT 공격에 사용 되었으며 파일명과 본문 내용은 정치,외교 관련 내용을 포함한 경우가 많았다.

그러나, 최근 특수한 내용이 아닌 일반적인 내용을 담은 한글 EPS 취약점이 발견되었다.


[그림 1] 한글문서 취약점 (1)

[그림 2] 한글 문서 취약점 (2)

[그림 3] 한글 문서 취약점 (3)


CVE-2017-8291 취약점이 발생하는 Encapsulated PostScript 파일이 포함 된 한글 문서가 [그림 1~3]과 같이 다양한 내용을 포함하여 악의적으로 제작되고 있다.

따라서, 한글 문서를 사용하는 시스템에서는 프로그램을 최신 버전으로 업데이트하여 취약점이 발생되지 않게 해야하며, 또한 발신자가 불분명한 의심스러운 이메일에 첨부된 문서는 열어보지 않도록 각별한 주의가 요구된다.


현재 V3에서는 한글 취약점 문서파일을 다음 진단명으로 진단하고 있다.

- 파일 진단 : EPS/Dropper.Gen (2017.12.14.04)


실제 악성행위를 하는 PE는 Explorer.exe에 인젝션되어 동작하며 메모리상에만 존재한다.

현재 V3에서 다음 진단명으로 진단하고 있다.

- 파일 진단 32bit : Trojan/Win32.Navepry.R215554 (2017.12.15.02)

- 파일 진단 64bit: Trojan/Win64.Navepry.R215553 (2017.12.15.02)


Posted by 분석팀

최근 알려진 신종 랜섬웨어인 GandCrab이 국내에서 유포되고 있다. 해당 랜섬웨어는 Exploit Kit에 의해 취약한 웹사이트에 방문 시 감염된다. 최초 발견된 이후 부터 현재까지 지속적으로 유포가 되고 있다.

을 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)에서 확인되었다.

출처: http://asec.ahnlab.com/1066?category=342979 [ASEC Threat Research & Response blog]

이 랜섬웨어에 감염될 경우 파일의 확장자가 .GDCB 로 변경되고 GDCB-DECRYPT.txt 파일이 생성된다.

[그림 1. 랜섬웨어 감염 시 확장자 변경]

GandCrab 랜섬웨어가 실행 될 시 자기 자신을 %appdata%\Microsoft\[Randomstr{6}].exe 로 복사 한 뒤 레지스트리 등록을 통해 PC에 남아 지속적으로 실행되도록 한다.


파일 생성 경로 

 %appdata%\Microsoft\[Randomstr{6}].exe


 레지스트리

 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

[ 표 1. 지속적으로 실행하기 위한 파일 복사 및 자동 실행 등록 ]


이 후 특정 프로세스가 동작 중인지 확인하고 동작 중 일 경우 해당 프로세스를 종료한다.

프로세스 종료 대상 

msftesql.exe
sqlagent.exe
sqlbrowser.exe
sqlservr.exe
sqlwriter.exe
oracle.exe
ocssd.exe
dbsnmp.exe
synctime.exe
mydesktopqos.exe
agntsvc.exeisqlplussvc.exe
xfssvccon.exe
mydesktopservice.exe
ocautoupds.exe
agntsvc.exeagntsvc.exe
agntsvc.exeencsvc.exe
firefoxconfig.exe
tbirdconfig.exe
ocomm.exe
mysqld.exe
mysqld-nt.exe
mysqld-opt.exe
dbeng50.exe
sqbcoreservice.exe
excel.exe
infopath.exe
msaccess.exe
mspub.exe
onenote.exe
outlook.exe
powerpnt.exe
steam.exe
thebat.exe
thebat64.exe
thunderbird.exe
visio.exe
winword.exe
wordpad.exe

[ 표 2. 프로세스 종료 대상 목록 ]


또한 C&C 연결을 통해 사용자의 정보를 수집하여 전송한다. 수집하는 사용자 정보 중 현재 실행 중인 프로세스 목록을 확인하여 AntiVirus 제품을 사용 중일 경우 해당 제품을 목록화 하여 함께 전송한다. 이 때 확인하는 프로세스 목록은 아래와 같다.

사용 중인 AntiVirus 제품 확인 목록

AVP.EXE
ekrn.exe
avgnt.exe
ashDisp.exe
NortonAntiBot.exe
Mcshield.exe
avengine.exe
cmdagent.exe
smc.exe
persfw.exe
pccpfw.exe
fsguiexe.exe
cfp.exe
msmpeng.exe

[ 표 3. 사용자가 사용 중인 AntiVirus 제품 확인 대상 ]

그 외에도 IP, PC_USER, PC_NAME, PC_GROUP, 언어, OS version, OS bit, 식별자, 저장장치 정보를 함께 전송한다.

C&C 도메인 

no****ra***m.bit
em***o*t.bit
ga****ab.bit

[ 표 4. C&C 도메인 ]


이 후 암호화를 진행하는데 암호화 대상은 아래와 같다.

암호화 대상 확장자 (456개)

 .1cd, .3dm, .3ds, .3fr, .3g2, .3gp, .3pr, .7z, .7zip, .aac, .ab4, .abd, .acc, .accdb, .accde, .accdr, .accdt, .ach, .acr, .act, .adb, .adp, .ads, .agdl, .ai, .aiff, .ait, .al, .aoi, .apj, .apk, .arw, .ascx, .asf, .asm, .asp, .aspx, .asset, .asx, .atb, .avi, .awg, .back, .backup, .backupdb, .bak, .bank, .bay, .bdb, .bgt, .bik, .bin, .bkp, .blend, .bmp, .bpw, .bsa, .c, .cash, .cdb, .cdf, .cdr, .cdr3, .cdr4, .cdr5, .cdr6, .cdrw, .cdx, .ce1, .ce2, .cer, .cfg, .cfn, .cgm, .cib, .class, .cls, .cmt, .config, .contact, .cpi, .cpp, .cr2, .craw, .crt, .crw, .cry, .cs, .csh, .csl, .css, .csv, .d3dbsp, .dac, .das, .dat, .db, .db_journal, .db3, .dbf, .dbx, .dc2, .dcr, .dcs, .ddd, .ddoc, .ddrw, .dds, .def, .der, .des, .design, .dgc, .dgn, .dit, .djvu, .dng, .doc, .docm, .docx, .dot, .dotm, .dotx, .drf, .drw, .dtd, .dwg, .dxb, .dxf, .dxg, .edb, .eml, .eps, .erbsql, .erf, .exf, .fdb, .ffd, .fff, .fh, .fhd, .fla, .flac, .flb, .flf, .flv, .flvv, .forge, .fpx, .fxg, .gbr, .gho, .gif, .gray, .grey, .groups, .gry, .h, .hbk, .hdd, .hpp, .html, .ibank, .ibd, .ibz, .idx, .iif, .iiq, .incpas, .indd, .info, .info_, .ini, .iwi, .jar, .java, .jnt, .jpe, .jpeg, .jpg, .js, .json, .k2p, .kc2, .kdbx, .kdc, .key, .kpdx, .kwm, .laccdb, .lbf, .lck, .ldf, .lit, .litemod, .litesql, .lock, .log, .ltx, .lua, .m, .m2ts, .m3u, .m4a, .m4p, .m4v, .ma, .mab, .mapimail, .max, .mbx, .md, .mdb, .mdc, .mdf, .mef, .mfw, .mid, .mkv, .mlb, .mmw, .mny, .money, .moneywell, .mos, .mov, .mp3, .mp4, .mpeg, .mpg, .mrw, .msf, .msg, .myd, .nd, .ndd, .ndf, .nef, .nk2, .nop, .nrw, .ns2, .ns3, .ns4, .nsd, .nsf, .nsg, .nsh, .nvram, .nwb, .nx2, .nxl, .nyf, .oab, .obj, .odb, .odc, .odf, .odg, .odm, .odp, .ods, .odt, .ogg, .oil, .omg, .one, .orf, .ost, .otg, .oth, .otp, .ots, .ott, .p12, .p7b, .p7c, .pab, .pages, .pas, .pat, .pbf, .pcd, .pct, .pdb, .pdd, .pdf, .pef, .pem, .pfx, .php, .pif, .pl, .plc, .plus_muhd, .pm!, .pm, .pmi, .pmj, .pml, .pmm, .pmo, .pmr, .pnc, .pnd, .png, .pnx, .pot, .potm, .potx, .ppam, .pps, .ppsm, .ppsx,.ppt, .pptm, .pptx, .prf, .private, .ps, .psafe3, .psd, .pspimage, .pst, .ptx, .pub, .pwm, .py, .qba, .qbb, .qbm, .qbr, .qbw, .qbx, .qby, .qcow, .qcow2, .qed, .qtb, .r3d, .raf, .rar, .rat, .raw, .rdb, .re4, .rm, .rtf, .rvt, .rw2, .rwl, .rwz, .s3db, .safe, .sas7bdat, .sav, .save, .say, .sd0, .sda, .sdb, .sdf, .sh, .sldm, .sldx, .slm, .sql, .sqlite, .sqlite3, .sqlitedb, .sqlite-shm, .sqlite-wal, .sr2, .srb, .srf, .srs, .srt, .srw, .st4, .st5, .st6, .st7, .st8, .stc, .std, .sti, .stl, .stm, .stw, .stx, .svg, .swf, .sxc, .sxd, .sxg, .sxi, .sxm, .sxw, .tax, .tbb, .tbk, .tbn, .tex, .tga, .thm, .tif, .tiff, .tlg, .tlx, .txt, .upk, .usr, .vbox, .vdi, .vhd, .vhdx, .vmdk, .vmsd, .vmx, .vmxf, .vob, .vpd, .vsd, .wab, .wad, .wallet, .war, .wav, .wb2, .wma, .wmf, .wmv, .wpd, .wps, .x11, .x3f, .xis, .xla, .xlam, .xlk, .xlm, .xlr, .xls, .xlsb, .xlsm, .xlsx, .xlt, .xltm, .xltx, .xlw, .xml, .xps, .xxx, .ycbcra, .yuv, .zip

[ 표 5. 암호화 대상 확장자 ]

일부 경로 및 파일명은 암호화 대상에서 제외한다.

암호화 제외 경로 

 암호화 제외 파일명

\ProgramData\
\Program Files\
\Tor Browser\
\Ransomware\
\All Users\
\Local Settings\
%ProgramFiles%
%CommonProgramFiles%
%windir%
%LOCALAPPDATA%

desktop.ini
autorun.inf
ntuser.dat
iconcache.db
bootsect.bak
boot.ini
ntuser.dat.log
thumbs.db
GDCB-DECRYPT.txt

[ 표 6. 암호화 제외 대상 ]

암호화 완료 후 복원을 불가능 하도록 하기 위해 wmic, vssadmin 등을 활용하여 Volumn Shadow Copy를 삭제한다.

[ 그림 2. 랜섬노트 ]

랜섬웨어의 특성상 완벽한 복구 방법이나 예방법은 없지만, 피해를 최소화하기 위해서 항상 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 중요하다.

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 및 확인되지 않은 웹 페이지 방문 시 사용자의 각별한 주의와 플래시 취약점을 이용함으로 플래시 보안 업데이트도 최신으로 유지가 필요하다.

현재 V3에서는 GandCrab 랜섬웨어를 다음 진단명으로 진단 하고 있다.

- 파일 진단 : Trojan/Win32.GandCrypt(2018.02.05.07)
- 행위 진단 : Malware/MDP.Ransom.M1171



Posted by 분석팀

멀버타이징(Malvertising)을 통해 유포되는 Magniber 랜섬웨어의 최근 유포방식에서 사용자 시스템에 랜섬웨어 파일을 생성할때 Alternate Data Stream(ADS)를 활용한 파일 은폐 기법이 사용되었다. 멀버타이징(Malvertising)은 광고 서비스의 정상적인 네트워크를 이용하여 악성코드를 유포 및 감염 시키는 방법이다.

[그림 1], [그림 2]는 각각 암/복호화된 유포 스크립트를 나타낸다. [그림 2]의 복호화된 Magniber 유포 스크립트를 보면, %temp% 경로에 생성하는 파일명이 “wa0flL0Y: wa0flL0Y” 임을 확인할 수 있다.

[그림 1] 난독화된 Magniber 랜섬웨어 유포 스크립트

(샘플 MD5 : 6f4753b9629eecebbf15d1afe9ea4bb5)


[그림 2] 복호화된 Magniber 랜섬웨어 유포 스크립트


해당 기법을 통해 로컬에 저장된 파일은 디렉터리에서 확인하면 [그림 3]과 같이 파일의 크기가 0byte 로 보여진다하지만 [그림 4]와 같이 커맨드 명령(dir /r)을 통해 해당 경로를 확인해 보면 “wa0flL0Y: wa0flL0Y” 라는 이름의 Alternate Data Stream(ADS)에 실제 랜섬웨어 파일이 쓰여진다.


[그림 3] temp 폴더에 생성된 파일


[그림 4] 커맨드 명령을 통해 확인한 실제 폴더구조


Alternate Data Stream(ADS) 에 쓰인 실제 랜섬웨어 파일은  [그림 2]의 복호화된 유포 스크립트의 마지막 줄의 실행문에 의해 실행되며, [표 1]의 WMIC 쿼리를 통해 실행한다.

windows xp 이후, ADS에 생성된 파일은 "start [파일명]" 과 같은 커맨드 명령으로는 실행되지 않지만 WMIC 쿼리를 통하면 windows 7 환경에서도 ADS에 생성된 파일이 실행 가능함을 확인하였다.

WMIC process call create "%temp%\\wa0f1LoY:wa0f1LoY 

[표 1] 실행되는 WMIC 쿼리


현재 V3에서는 Alternate Data Stream(ADS)에 쓰여지는 파일이 수동, 실시간 모두 진단이 가능하며다음의 진단명으로 진단하고 있다.

- 파일 진단 : Trojan/Win32.Magniber

(엔진 반영 버전 : 2018.02.07.01)

- 행위 진단 : Malware/MDP.Ransome.M1171

(엔진 반영 버전 : 2016.12.03.01)


Posted by 분석팀