분석 정보/랜섬웨어 분석 정보

[악성코드 분석] 피해자를 가해자로, PopcornTime 랜섬웨어

TACHYON & ISARC 2017. 1. 25. 16:31

피해자를 가해자로, PopcornTime 랜섬웨어 분석




1. 개요 


랜섬웨어는 시스템을 잠그거나 데이터를 암호화해 사용할 수 없도록 하고 이를 인질로 사용자에게 금전을 요구하는 악성 프로그램을 말한다. 대부분의 랜섬웨어는 사용자의 파일을 암호화한 뒤 비트코인을 보내면 복호화를 해준다며 금전을 요구하는데 최근 복호화 방법으로 비트코인 지불 외에 다른 방법을 거론하는 ‘PopcornTime’ 랜섬웨어가 발견되었다. 


PopcornTime 랜섬웨어는 파일을 복호화 하기 위해 타 랜섬웨어와 같이 비트코인을 요구하지만 또 다른 복호화 방법을 사용자에게 알려준다. 그 방법은 랜섬웨어 피해자가 랜섬웨어를 유포하게 만드는 것이다. 랜섬웨어 감염자에게 무료 복호화 방안으로 본인을 제외한 다른 이 2명을 감염시키고 비트코인을 지불하게 할 것을 부추긴다. 


이번 보고서에서는 피해자가 또 다른 피해자를 낳게 하는 PopcornTime 랜섬웨어에 대해 자세히 알아보고자 한다.






2. 분석 정보


2-1. 파일 정보

구분

내용

파일명

setup.exe

파일크기

100,864 byte

진단명

Ransom/W32.PopcornTime.100864

악성동작

파일 암호화, 금전 요구

 



2-2. 유포 경로

정확한 유포 경로는 밝혀지지 않았지만, 랜섬웨어에 감염된 사용자가 비트코인을 지불하지 않고 다른 사람을 감염 시키기 위해 직접 유포할 수도 있어 출처가 불분명한 링크나 첨부 파일은 주의하여야 한다.




2-3. 실행 과정

해당 랜섬웨어가 실행되면 아래와 같은 화면이 출력된다. 이는 어떠한 파일을 다운로드하고 설치하는 것처럼 보이지만, 사실 파일 암호화가 진행되고 있는 것이다.


[그림 1] 랜섬웨어 실행 후 나타나는 화면[그림 1] 랜섬웨어 실행 후 나타나는 화면






3. 악성 동작


3-1. 자동 실행 등록

해당 랜섬웨어는 자기 자신을 자동 실행 레지스트리에 등록한다. 이를 통해 파일 암호화 도중 사용자가 PC 를 강제로 종료하더라도 다시 사용자가 PC 에 로그온하면 실행되어 암호화를 재개한다.


[그림 2] 자동 실행 등록[그림 2] 자동 실행 등록





3-2. 파일 암호화

지정된 경로에 있는 파일을 찾아 암호화를 진행한다. 암호화 된 파일에는 ‘.filock’ 이라는 확장자가 덧붙여지며, ‘save_your_files’ 라는 이름의 랜섬노트를 생성한다. 아래는 암호화 된 사용자 파일과 랜섬노트를 보여준다.

[그림 3] 암호화 된 파일과 랜섬노트[그림 3] 암호화 된 파일과 랜섬노트


암호화 대상이 되는 파일의 확장자는 다음과 같다. 

구분

내용

암호화 대상

파일 확장자

.1cd .3dm .3ds .3fr .3g2 .3gp .3pr .7z .7zip .aac .aaf .ab4 .accdb .accde .accdr .accdt
.ach .acr .act .adb .adp .ads .aep .aepx .aes .aet .agdl .ai .aif .aiff .ait .al .amr .aoi .apj
.apk .arch00 .arw .as .as3 .asf .asm .asp .aspx .asset .asx .atr .avi .awg .back .backup
.backupdb .bak .bar .bay .bc6 .bc7 .bdb .bgt .big .bik .bin .bkf .bkp .blend .blob .bmd
.bmp .bpw .bsa .c .cas .cdc .cdf .cdr .cdr3 .cdr4 .cdr5 .cdr6 .cdrw .cdx .ce1 .ce2 .cer
.cfg .cfr .cgm .cib .class .cls .cmt .config .contact .cpi .cpp .cr2 .craw .crt .crw .cs .csh
.csl .css .csv .d3dbsp .dac .dar .das .dat .dazip .db .db0 .db3 .dba .dbf .dbx .db_journal
.dc2 .dcr .dcs .ddd .ddoc .ddrw .dds .der .des .desc .design .dgc .dir .dit .djvu .dmp
.dng .doc .docb .docm .docx .dot .dotm .dotx .drf .drw .dtd .dwg .dxb .dxf .dxg .easm
.edb .efx .eml .epk .eps .erbsql .erf .esm .exf .fdb .ff .ffd .fff .fh .fhd .fla .flac .flf .flv .flvv
.forge .fos .fpk .fpx .fsh .fxg .gdb .gdoc .gho .gif .gmap .gray .grey .groups .gry .gsheet
.h .hbk .hdd .hkdb .hkx .hplg .hpp .htm .html .hvpl .ibank .ibd .ibz .icxs .idml .idx .iff .iif
.iiq .incpas .indb .indd .indl .indt .inx .itdb .itl .itm .iwd .iwi .jar .java .jnt .jpe .jpeg .jpg
.js .kc2 .kdb .kdbx .kdc .key .kf .kpdx .kwm .laccdb .layout .lbf .lck .ldf .lit .litemod .log
.lrf .ltx .lua .lvl .m .m2 .m2ts .m3u .m3u8 .m4a .m4p .m4u .m4v .map .max .mbx
.mcmeta .md .mdb .mdbackup .mdc .mddata .mdf .mdi .mef .menu .mfw .mid .mkv
.mlb .mlx .mmw .mny .mos .mov .mp3 .mp4 .mpa .mpeg .mpg .mpp .mpqge .mrw
.mrwref .msg .myd .nc .ncf .nd .ndd .ndf .nef .nk2 .nop .nrw .ns2 .ns3 .ns4 .nsd .nsf
.nsg .nsh .ntl .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 .pak .pas .pat
.pcd .pct .pdb .pdd .pdf .pef .pem .pfx .php .pif .pkpass .pl .plb .plc .plt .plus_muhd
.pmd .png .po .pot .potm .potx .ppam .ppj .ppk .pps .ppsm .ppsx .ppt .pptm .pptx
.prel .prf .prproj .ps .psafe3 .psd .psk .pst .ptx .pwm .py .qba .qbb .qbm .qbr .qbw
.qbx .qby .qcow .qcow2 .qdf .qed .qic .r3d .ra .raf .rar .rat .raw .rb .rdb .re4 .rgss3a
.rim .rm .rofl .rtf .rvt .rw2 .rwl .rwz .s3db .safe .sas7bdat .sav .save .say .sb .sd0 .sda
.sdf .ses .shx .sid .sidd .sidn .sie .sis .sldasm .sldblk .sldm .sldprt .sldx .slm .snx .sql
.sqlite .sqlite3 .sqlitedb .sr2 .srf .srt .srw .st4 .st5 .st6 .st7 .st8 .stc .std .sti .stl .stm
.stw .stx .sum .svg .swf .sxc .sxd .sxg .sxi .sxm .sxw .syncdb .t12 .t13 .tap .tax .tex
.tga .thm .tif .tlg .tor .txt .upk .v3d .vbox .vcf .vdf .vdi .vfs0 .vhd .vhdx .vmdk .vmsd
.vmx .vmxf .vob .vpk .vpp_pc .vtf .w3x .wab .wad .wallet .wav .wb2 .wma .wmo .wmv
.wotreplay .wpd .wps .x11 .x3f .xf .xis .xla .xlam .xlk .xll .xlm .xlr .xls .xlsb .xlsb3dm
.xlsm .xlsx .xlt .xltm .xltx .xlw .xml .xqx .xxx .ycbcra .yuv .zip .ztmp

[1] 암호화 대상 파일 확장자


파일 암호화가 완료된 후 아래와 같은 화면을 띄워 사용자가 랜섬웨어에 감염되었음을 알린다.

[그림 4] 파일 암호화 완료 후 출력되는 화면[그림 4] 파일 암호화 완료 후 출력되는 화면




3-3. 금액 요구 및 복호화 안내

랜섬노트에는 사용자의 파일이 암호화 되었음을 알려준다. 그리고 사용자에게 개인 ID 와 비트코인 주소를 알려주며 1 비트코인을 요구한다.

[그림 5] 랜섬노트[그림 5] 랜섬노트


랜섬노트에는 파일 복호화를 위한 두 가지 방안을 제시한다. 하나는 위에서와 언급한 바와 같이 비트코인을 지불하는 것이며, 다른 하나는 특정 링크를 다른 사람에게 보내라는 것이다. 이 링크를 통해 다른 2명 이상의 사용자가 감염되어 비트코인을 지불하면 무료로 복호화 해준다고 제시한다.

[그림 6] 복호화 방법 안내[그림 6] 복호화 방법 안내



4. 결론


PopcornTime 랜섬웨어는 피해를 입은 사용자가 랜섬웨어 유포에 동참하게끔 한다. 비트코인을 지불하는 것보다 비용 없이 복호화 해준다는 제안에 직접 악성코드를 유포 할 수 있지만, 악성코드 유포는 엄연한 위법 행위로 범죄자가 될 수 있다. 다행히 현재 유포된 PopcornTime 랜섬웨어는 복호화 키가 파일에 존재하고 있어 복호화가 가능하다. 하지만 변종이나 유사한 방식의 다른 랜섬웨어가 나타날 경우 복호화는 어려우며 사용자는 선택의 기로에 놓일 것이다.


더 이상 랜섬웨어는 특정 캠페인이나 취약점 등을 이용하는 것만 아니라 사용자를 직접 랜섬웨어 유포 경로로 사용하는 등 변화하고 있다. 따라서 개인, 기업 사용자는 랜섬웨어 감염을 피하기 위해 각별한 주의를 기울여야 한다. 랜섬웨어 피해를 예방하기 위해선 불분명한 링크나 첨부 파일은 열어보지 말고, 안티바이러스 제품을 설치, 최신 업데이트를 유지해야 한다.


해당 랜섬웨어는 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


[그림 7] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면[그림 7] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면


[그림 8] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면[그림 8] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면