본문 바로가기
악성코드 정보

음성으로 돈을 요구하는 Cerber 랜섬웨어

by 알 수 없는 사용자 2016. 4. 8.

컴퓨터 파일을 인질로 삼은 후 돈(비트코인)을 요구하는 랜섬웨어(Ransomware)의 기세가 올해에도 식을 줄을 모르고 있다. 

2월부터 꾸준히 유포되고 있는 Locky 랜섬웨어에 이어 파일을 암호화한  스크립트를 이용해 목소리로 사용자에게 친절하게 비트코인을 요구하는 "Cerber 랜섬웨어"(이하 Cerber)의 감염 사례가 최근 꾸준히 접수되었다. Cerber 유포경로는 주로 광고 서비스의 정상적인 네트워크를 이용하여 악성코드를 유포하는 멀버타이징(Malvertising)”으로 알려져 있으며, 러시아 지하 시장”에서는 Cerber가 해커들에게 활발하게 판매되고 있는 것으로 파악된다

Malvertising 에 사용된 도메인 일부는 다음 [표-1]과 같다.

Malvertising에 사용된 도메인

angryfire.top

angrypack.top

asidewait.top

asklists.top

bidgood.top

bulkask.top

byfails.top

darkwoman.top

daysis.top

doubtnext.top

fewpieces.top

fitforget.top

flattank.top

fliedman.top

hostdoors.top

joinsseen.top

losefate.top

mapquote.top

mixplanet.top

quickwise.top

sadshame.top

thatan.top

turnedway.top

vagueland.top

wifestood.top

[-1Malvertising에 사용된 도메인


아래의 [그림-1] Cerber 동작을 보여준다.


[그림-1] 악성코드 주요기능 동작과정


이전에 유포 되었던 Cryptowall, Teslacrypt, Locky 랜섬웨어와 Cerber와의 가장 큰 차이점은 PE 파일의 리소스 영역 안에 미리 RSA 공개키를 보관해 둔다는 것이다. RSA 공개키 뿐만 아니라 감염 대상, 감염 방법 등도 함께 저장되어 있어 시스템 감염을 위해 따로 C&C와의 실시간 통신을 할 필요가 없다. 공격자 입장에서는 편의성이 좋아진 것이다. 

또한 Cerber에 감염되면 암호화한 파일의 확장자를 ".cerber"로 변경하며, [그림-2]와 같이 “# DECRYPT MY FILES #.vbs” 라는 이름의 비주얼 베이직 스크립트를 생성하여 당신의 파일이 암호화 되었습니다.”라는 경고문구를 직접 읽어주는 방법을 사용한다.


[그림-2] Cerber 음성 안내문


“# DECRYPT MY FILES #.vbs” 파일과 함께 생성되는 "# DECRYPT MY FILES #.html"과 # DECRYPT MY FILES #.txt" 파일은 암호화된 복호화를 위한 페이지 URL을 제공해 주는데, 파일 복호화 및 비트코인 결제 진행하기 위해서는 익명성을 보장해 주는 토르 브라우저 설치한 [그림-3] 빨간색 주소(“http://비트코인 결제 페이지/PC_ID” 형식이다.) 접속하라는 안내가 되어 있다.


[그림-3] Cerber Bitcoin 안내 페이지


접속 시에는 간단한 국가 확인  인증 후에 파일 복구를 위해 0.75.BTC( 36만원)에서 2.48BTC(약 120만원)의 비트코인을 지불하라는 문구가 게시되어 있다.


[그림-4] Cerber Bitcoin 결제 페이지


다음으로 Cerber가 어떠한 동작기능을 가지고 있는지 간단히 알아보자.


UAC 우회

Cerber 암호화를 진행하기 UAC(User Access Control) 우회여부를 확인한다. UAC Windows Vista이상 운영체제의 보안기능 하나로써 관리자 수준 권한이 필요한 작업이 수행될 경우 사용자에게 알려주는 기능이다. Vista 이상 운영체제에는 사용자의 동의과정을 거친 프로세스가 관리자 권한을 가질 있다

Cerber 과정을 회피하기 위하여 UAC 우회를 시도하는데, [표-2]와 같이 레지스트리 값을 확인하여 UAC 기능이 존재하는 확인한다.

UAC 레지스트리 존재 유무 확인

HKLM\Software\Microsoft\Windows\CurrentVersion\policies\system

- Value: EnableLUA

[-2] 암호화 대상 드라이브

레지스트리를 확인한 다음으로 UAC 우회가 가능한 PE 파일을 “%windir%\system32\“ 경로에서 찾아 임시폴더에 복사한 후, 프로그램 코드 진입점에 Cerber를 실행 시키는 코드를 삽입 하여 UAC를 우회한다. 또한 동작 중인 프로세스에 SeDebugPrivilege API 호출하 코드를 삽입하여 모든 프로세스에 대한 접근권한을 획득한다.


[그림- 5] 관리자 권한을 사용하는 PE파일의 매니페스트 정보

[그림- 6] 동작중인 프로세스 진입점에 SeDebugPrivilege API를 호출하는 코드 인젝션


파일 생성 및 레지스트리 등록

다음과 같은 파일 생성 및 레지스트리를 등록하여 시스템 재부팅 시 동작되게 한다파일명은 %windir%\system32\ 폴더 내에 있는 윈도우 실행 파일  하나를 선택하여 이름을 변경한다. 여기서 cerber의 파일명은 “mmc.exe”가 아닌 다른 파일명일 수 있다.

파일 생성  레지스트리 등록


파일 생성        : %APPDATA%\[RANDOM CLSID]\mmc.exe

                    C:\Documents and Settings\...\프로그램\시작프로그램\mmc.lnk

레지스트리 생성 : HKCU\Software\Microsoft\Windows\CurrentVersion\Run\

                    - Value: mmc

                    - Data: “%appdata%\[RANDOM CLSID]\mmc

                    HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

                    - Value: mmc

                    - Data: “%appdata%\[RANDOM CLSID]\mmc

                    HKCU\Software\Microsoft\Command Processor\AutoRun

                    - Value: mmc

                    - Data: “%appdata%\[RANDOM CLSID]\mmc

                    HKCU\Printers\Defaults\[RANDOM CLSID]

                    - Value: Component_00, Component_01

                    - Data: base64 바이너리 데이터

[-3] 파일 생성  레지스트리 등록


볼륨 쉐도우(Windows Volume Shadow) 삭제

Cerber는 감염 동작 중 윈도우즈 볼륨 쉐도우(Windows Volume Shadow)를 삭제하여 윈도우 시스템 복구가 불가능하도록 한다.


파일 암호화

Cerber RSA 공개키는 Cerber 리소스 영역의 RCDATA 디렉토리 존재한다. 암호화 되어 있는 상태로 존재하기 때문에 Cerber는 내부에서 복호화 과정을 거쳐 RSA 공개키를 복구한다. 복호화된 데이터에는 RSA 공개키와 파일 암호화 대상, 암호화 제외 대상, C&C 정보, Anti-Virus 여부, 기타 옵션 설정 및 "# DECRYPT MY FILES #"의 파일 본체 등이 저장되어 있다.


[그림- 6] 리소스 영역의 RCDATA 디렉토리 검색

[그림- 7] 공개키가 포함된 리소스 영역 저장 정보


Cerber 암호화대상

Cerber가 감염시키는 대상을 [표-4], [표-5], [표-6]에 정리해 보았다.

암호화 대상 드라이브

고정식 드라이브, 이동식 드라이브, RAM 드라이브

[-4] Cerber 암호화 대상 드라이브


다음은 암호화 대상으로 하는 파일이다. 공격자가 RCDATA 데이터의 옵션 수정을 통해 암호화 대상 확장자를 추가할 수 있다.

1cd 3dm 3ds 3fr 3g2 3gp 3pr 7z 7zip aac ab4 accdb accde
accdr accdt ach acr act adb adp ads agdl ai aiff ait al
aoi apj arw asf asm asp aspx asx avi awg back bak bank
bay bdb bgt bik bin bkp blend bmp bpw c cdf cdr cdr3
cdr4 cdr5 cdr6 cdrw cdx ce1 ce2 cer cfg cgm cib class cls
cmt cpi cpp cr2 craw crt crw cs csh csl css csv dac
dat db db3 dbf dbx dc2 dcr dcs ddd ddoc ddrw dds der
des dgc dit djvu dng doc docm docx dot dotm dotx drf drw
dtd dwg dxb dxf dxg edb eml eps erf exf fdb ffd fff
fh fhd fla flac flf flv flvv fpx fxg gif gray grey gry
h hbk hdd hpp html ibank ibd ibz idx iif iiq indd java
jnt jpe jpeg jpg js kc2 kdbx kdc key kpdx kwm ldf lit
log lua m m2ts m3u m4p m4v max mbx md mdb mdc mdf
mef mfw mid mkv mlb mmw mny mos mov mp3 mp4 mpeg mpg
mrw 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 orf ost otg oth otp
ots ott p12 p7b p7c pab pages pas pat pcd pct pdb pdd
pdf pef pem pfx php pif pl plc png pot potm potx ppam
pps ppsm ppsm ppsx ppt pptm pptm pptx prf ps psd pst ptx
pwm py qba qbb qbm qbr qbw qbx qby qcow qcow2 qed r3d
raf rar rat raw rdb rm rtf rvt rw2 rwl rwz s3db safe
sav save say sd0 sda sdf sldm sldx sql sr2 srf srt srw
st4 st5 st6 st7 st8 stc std sti stm stw stx svg swf
sxc sxd sxg sxi sxm sxw tex tga thm tlg txt vbox vdi
vhd vhdx vmdk vmsd vmx vmxf vob wab wad wallet wav wb2 wma
wmv wpd wps x11 x3f xis xla xlam xlk xlm xlr xls xlsb
xlsm xlsx xlt xltm xltx xlw xml yuv zip ycbcra backup
backupdb config contact db_journal design erbsql
groups incpas laccdb mapimail moneywell plus_muhd
psafe3 pspimage sas7bdat sqlite sqlite3 sqlitedb

[-5] Cerber 암호화 대상 - 확장자

암호화 대상 파일


%appdata%\....\qmgr0.dat


%appdata%\....\qmgr1.dat

C:\Document and setting\...\NTUSER.DAT.LOG

C:\Document and setting\...\History\IE5\index.dat

C:\Document and setting\...\Cookies\index.dat

C:\Document and setting\...\Content\IE5\index.dat

C:\Document and setting\...\IETldCache\index.dat


[-6] Cerber 암호화 대상 - 파일


또한 Cerber는 암호화 제외 대상이 존재한. [표-7]에 정리해 두었으며 특징으로는 시스템 폴더 및 비트코인 클라이언트 파일은 암호화 하지 않고, 러시아권 국가 및 언어권 시스템들도 감염시키지 않는다는 것이다. 

암호화 제외 대상(문자열 비교)

국가 및 특정 언어 사용 시스템

파일

폴더

아르메니아

아제르바이잔

벨라루스

조지아

타지키스탄

몰도바

러시아

투르크메니스탄

타지키스탄

우크라이나

우즈베키스탄

bootsect.bak

iconcache.db

thumbs.db

wallet.dat

$recycle.bin

Boot

program files

users\\all users

windows

appdata\\local

$windows.~bt

Drivers

program files (x86)

programdata

appdata\\locallow

appdata\\roaming

public\\music\\sample music

public\\pictures\\sample pictures

public\\videos\\sample videos

tor browser

[-7] 암호화 제외 대상


암호화되어 생성되는 파일은 "[랜덤숫자,영문10글자].cerber" 형식으로 저장되며 원본 데이터, 파일의 이름 정보 등이 암호화하여 저장된다

[그림- 8] 암호화 파일명 변경


암호화가 완료되면 시스템 종료 명령을 실행시켜 강제로 시스템을 재부팅 시킨 , 재부팅 시에 결제 안내문을 띄어 비트코인 결제를 유도한다.


[그림- 9] 시스템 재부팅 경고 메시지


해당 Cerber 랜섬웨어 파일은 V3 제품에서 다음 진단명으로 진단 가능하며, [그림-5]와 같이 랜섬웨어의 악의적인 동작을 탐지하여 추가 감염이 발생하지 않도록 차단하고 있다. 행위기반 진단은 시그니처 업데이트 없이 특정 행위만으로 진단하기에 효과적인 보안 기능을 제공할 수 있다.

- Trojan/Win32.Cerber


[그림- 10] Cerber 랜섬웨어 행위기반 진단


최근 급증하는 랜섬웨어 감염을 예방하기 위해 사용자의 각별한 주의가 요구되며, 발신자가 불분명한 이메일이나 의심스러운 첨부파일은 열어보지 않도록 주의를 기울일 필요가 있다.


APT 전문 대응 솔루션 ‘안랩 MDS’에 포함된 실행보류 기능(execution holding, 네트워크에서 발견된 의심파일을 분석이 끝나기 전까지 PC에서 실행되는 것을 막아주는 기능)으로 예방이 가능하다

또한안랩은 최근 이슈되고 있는 랜섬웨어와 랜섬웨어 변종에 대한 정보를 ‘랜섬웨어 보안센터 (www.ahnlab.com/kr/site/securityinfo/ransomware/index.do#cont2) 에서 제공 중이다.


댓글