최근 국내 관공서 등에 사회공학적 기법을 이용한 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' 이지만 [표 1] 과 같이 VenusLocker 랜섬웨어마다 다양한 값을 가진다.

[그림 10] 날짜 비교


[표 2] 다양한 기준 날짜


4. 사용자 정보 전송

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

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


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


5. 키 생성

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

[그림 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)


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